diff --git a/stm32/aioc-fw/Src/led.c b/stm32/aioc-fw/Src/led.c index 00e6cdf..da8a7bb 100644 --- a/stm32/aioc-fw/Src/led.c +++ b/stm32/aioc-fw/Src/led.c @@ -2,6 +2,7 @@ #include "stm32f3xx_hal.h" #include +uint8_t LedIdleLevels[2] = {LED_IDLE_LEVEL, LED_OFF_LEVEL}; uint8_t LedStates[2] = {0, 0}; uint8_t LedModes[2] = {LED_MODE_SOLID, LED_MODE_SOLID}; uint8_t LedLevels[2] = {LED_IDLE_LEVEL, LED_IDLE_LEVEL}; @@ -28,9 +29,9 @@ void LED_TIMER_IRQ(void) LedLevels[i] = LED_FULL_LEVEL; } else if ( (LedCounterPrev & 0x200) && !(LedCounter & 0x200) ) { /* Falling Edge */ - if (LedLevels[i] != LED_IDLE_LEVEL) { + if (LedLevels[i] != LedIdleLevels[i]) { /* Only reset colors and mode when a pulse has been carried out */ - LedLevels[i] = LED_IDLE_LEVEL; + LedLevels[i] = LedIdleLevels[i]; LedModes[i] = mode > LED_MODE_SLOWPULSE ? mode - 1 : LED_MODE_SOLID; } } @@ -45,15 +46,15 @@ void LED_TIMER_IRQ(void) LedLevels[i] = LED_FULL_LEVEL; } else if ( (LedCounterPrev & 0x40) && !(LedCounter & 0x40) ) { /* Falling Edge */ - if (LedLevels[i] != LED_IDLE_LEVEL) { - LedLevels[i] = LED_IDLE_LEVEL; + if (LedLevels[i] != LedIdleLevels[i]) { + LedLevels[i] = LedIdleLevels[i]; LedModes[i] = mode > LED_MODE_FASTPULSE ? mode - 1 : LED_MODE_SOLID; } } break; case LED_MODE_SOLID: - LedLevels[i] = LedStates[i] ? LED_FULL_LEVEL : LED_IDLE_LEVEL; + LedLevels[i] = LedStates[i] ? LED_FULL_LEVEL : LedIdleLevels[i]; break; default: diff --git a/stm32/aioc-fw/Src/led.h b/stm32/aioc-fw/Src/led.h index 0ca80ba..8b9b8b6 100644 --- a/stm32/aioc-fw/Src/led.h +++ b/stm32/aioc-fw/Src/led.h @@ -9,6 +9,7 @@ #define LED_GPIO_PIN1 GPIO_PIN_8 #define LED_GPIO_PIN2 GPIO_PIN_9 +#define LED_OFF_LEVEL 0 #define LED_IDLE_LEVEL 25 #define LED_FULL_LEVEL 255 diff --git a/stm32/aioc-fw/Src/main.c b/stm32/aioc-fw/Src/main.c index bf343c1..5f8b52d 100644 --- a/stm32/aioc-fw/Src/main.c +++ b/stm32/aioc-fw/Src/main.c @@ -65,9 +65,8 @@ int main(void) __HAL_RCC_SYSCFG_CLK_ENABLE(); LED_Init(); - - LED_MODE(0, LED_MODE_SLOWPULSE3X); - LED_MODE(1, LED_MODE_SLOWPULSE3X); + LED_MODE(0, LED_MODE_SLOWPULSE2X); + LED_MODE(1, LED_MODE_SLOWPULSE2X); USB_Init();