problem in reading libraries
akremkhadhraoui opened this issue · comments
#include <ti/drivers/GPIO.h>
#include <stdint.h>
#include <stdbool.h>
#include <ti/drivers/ADC.h>
#include <ti/sysbios/knl/Clock.h>
#include <stdio.h>
#define LED1_PIN IOID_9
#define LED2_PIN IOID_10
#define LED3_PIN IOID_11
#define POT1_PIN IOID_4
#define POT2_PIN IOID_5
#define BUTTON_PIN IOID_2
#define MAX_PATTERN 3
uint32_t blink_speed = 100;
uint8_t brightness;
uint8_t pattern = 1;
bool previousButtonState = false;
uint32_t previousButtonTime = 0;
ADC_Handle adc;
void setup() {
GPIO_init();
ADC_init();
GPIO_setConfig(LED1_PIN, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
GPIO_setConfig(LED2_PIN, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
GPIO_setConfig(LED3_PIN, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
GPIO_setConfig(BUTTON_PIN, GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_FALLING);
GPIO_setCallback(BUTTON_PIN, changePattern);
ADC_Params adcParams;
ADC_Params_init(&adcParams);
adc = ADC_open(POT1_PIN, &adcParams);
GPIO_enableInt(BUTTON_PIN);
startClock(); // Start the clock
}
void startClock() {
Clock_Params clockParams;
Clock_Params_init(&clockParams);
clockParams.period = 0; // One-shot clock
clockParams.startFlag = TRUE; // Start the clock immediately
Clock_Handle hClock;
Clock_construct(&hClock, NULL, 0, &clockParams);
}
void loop() {
blink_speed = map(ADC_convertToMicroVolts(ADC_convert(adc, NULL)), 0, 3300, 1000, 100);
brightness = map(ADC_convertToMicroVolts(ADC_convert(adc, NULL)), 0, 3300, 0, 255);
switch (pattern) {
case 1:
pattern1();
break;
case 2:
pattern2();
break;
case 3:
pattern3();
break;
}
printf("Blink Speed: %d ms, Brightness: %d, Pattern: %d\n", blink_speed, brightness, pattern);
Clock_sleep(blink_speed * 1000); // Delay in milliseconds
}
void pattern1() {
GPIO_write(LED1_PIN, brightness);
GPIO_write(LED2_PIN, brightness);
GPIO_write(LED3_PIN, brightness);
Clock_sleep(blink_speed * 1000);
GPIO_write(LED1_PIN, 0);
GPIO_write(LED2_PIN, 0);
GPIO_write(LED3_PIN, 0);
}
void pattern2() {
GPIO_write(LED1_PIN, brightness);
Clock_sleep(blink_speed * 1000);
GPIO_write(LED1_PIN, 0);
GPIO_write(LED2_PIN, brightness);
Clock_sleep(blink_speed * 1000);
GPIO_write(LED2_PIN, 0);
GPIO_write(LED3_PIN, brightness);
Clock_sleep(blink_speed * 1000);
GPIO_write(LED3_PIN, 0);
}
void pattern3() {
GPIO_write(LED1_PIN, brightness);
GPIO_write(LED3_PIN, brightness);
Clock_sleep(blink_speed * 1000);
GPIO_write(LED1_PIN, 0);
GPIO_write(LED2_PIN, brightness);
GPIO_write(LED3_PIN, 0);
Clock_sleep(blink_speed * 1000);
}
void changePattern(uint_least8_t index) {
bool buttonState = GPIO_read(BUTTON_PIN);
uint32_t currentTime = Clock_getTicks();
if (buttonState != previousButtonState && currentTime - previousButtonTime > 50) {
if (buttonState == false) {
pattern++;
if (pattern > MAX_PATTERN) {
pattern = 1;
}
}
previousButtonTime = currentTime;
}
previousButtonState = buttonState;
}
int main() {
setup();
while (1) {
loop();
}
return 0;
wrong repository