diff --git a/epicardium/modules/leds.c b/epicardium/modules/leds.c index 6e450a859038dc8d123a537eb405e075620da896..16c696d8c2db3bf719bcc3364cc38b1dbd2d4aa7 100644 --- a/epicardium/modules/leds.c +++ b/epicardium/modules/leds.c @@ -129,6 +129,7 @@ int epic_leds_get_rocket(int led) return ret; } +static StaticTimer_t blink_timer_data[3]; static TimerHandle_t blink_timer[] = { NULL, NULL, NULL }; static void rocket_timer_callback(TimerHandle_t blink_timer) @@ -142,12 +143,13 @@ void epic_leds_blink_rocket(int led, uint8_t value, int millis) int ticks = millis * (configTICK_RATE_HZ / 1000); int32_t id = led; if (blink_timer[id] == NULL) { - blink_timer[id] = xTimerCreate( + blink_timer[id] = xTimerCreateStatic( "blinktimer", ticks, pdFALSE, (void *)id, - rocket_timer_callback + rocket_timer_callback, + &blink_timer_data[id] ); epic_leds_set_rocket(led, value); }