diff --git a/epicardium/modules/leds.c b/epicardium/modules/leds.c index db7157d09777d0aebcada086f932de32c146d763..dd2c20cafd1019200592abe528266c6a0e54f46b 100644 --- a/epicardium/modules/leds.c +++ b/epicardium/modules/leds.c @@ -17,10 +17,12 @@ static void do_update(void) { hwlock_acquire(HWLOCK_LED); + hwlock_acquire(HWLOCK_I2C); leds_update_power(); leds_update(); + hwlock_release(HWLOCK_I2C); hwlock_release(HWLOCK_LED); } diff --git a/epicardium/modules/personal_state.c b/epicardium/modules/personal_state.c index 3aa5138ab52be9ba4fbbc1f9118249a32d4902c9..e9390bf82cef029e4210931818f102ff7e14bfdf 100644 --- a/epicardium/modules/personal_state.c +++ b/epicardium/modules/personal_state.c @@ -125,9 +125,13 @@ void vLedTask(void *pvParameters) (float)(1000 / led_animation_rate)))); } + + hwlock_acquire(HWLOCK_I2C); + leds_update_power(); leds_update(); + hwlock_release(HWLOCK_I2C); hwlock_release(HWLOCK_LED); }