Closed akremkhadhraoui closed 4 months ago
#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
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
include <ti/drivers/GPIO.h>
include
include
include <ti/drivers/ADC.h>
include <ti/sysbios/knl/Clock.h>
include
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();
}
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);
}
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();
}
int main() { setup();
}![Capture1](https://github.com/nothings/stb/assets/160123301/8c2d6c78-4f1b-4fbe-8e14-6f786983f0a8)