diff --git a/epicardium/modules/leds.c b/epicardium/modules/leds.c index dd2c20cafd1019200592abe528266c6a0e54f46b..ffe5969e103c1e736d502a2c79d8933fc5e5cf6b 100644 --- a/epicardium/modules/leds.c +++ b/epicardium/modules/leds.c @@ -99,9 +99,7 @@ void epic_leds_dim_top(uint8_t value) { leds_set_dim_top(value); if (personal_state_enabled() == 0) { - hwlock_acquire(HWLOCK_I2C); - leds_update(); - hwlock_release(HWLOCK_I2C); + do_update(); } } @@ -109,9 +107,7 @@ void epic_leds_dim_bottom(uint8_t value) { leds_set_dim_bottom(value); if (personal_state_enabled() == 0) { - hwlock_acquire(HWLOCK_I2C); - leds_update(); - hwlock_release(HWLOCK_I2C); + do_update(); } } diff --git a/epicardium/modules/personal_state.c b/epicardium/modules/personal_state.c index e9390bf82cef029e4210931818f102ff7e14bfdf..285cb872dd37315bf1bb5fd227e6cab3bd968f74 100644 --- a/epicardium/modules/personal_state.c +++ b/epicardium/modules/personal_state.c @@ -31,13 +31,8 @@ int epic_personal_state_set(uint8_t state, bool persistent) personal_state_persistent = persistent; if (was_enabled && !_personal_state_enabled) { - hwlock_acquire(HWLOCK_LED); - leds_prep(PERSONAL_STATE_LED, 0, 0, 0); - leds_update_power(); - leds_update(); - - hwlock_release(HWLOCK_LED); + epic_leds_update(); } return 0; @@ -58,8 +53,6 @@ void vLedTask(void *pvParameters) const int led_animation_rate = 1000 / 25; /* 25Hz -> 40ms*/ while (1) { if (_personal_state_enabled) { - hwlock_acquire(HWLOCK_LED); - led_animation_ticks++; if (personal_state == STATE_NO_CONTACT) { leds_prep(PERSONAL_STATE_LED, 255, 0, 0); @@ -126,13 +119,7 @@ void vLedTask(void *pvParameters) led_animation_rate)))); } - hwlock_acquire(HWLOCK_I2C); - - leds_update_power(); - leds_update(); - - hwlock_release(HWLOCK_I2C); - hwlock_release(HWLOCK_LED); + epic_leds_update(); } vTaskDelay(led_animation_rate / portTICK_PERIOD_MS);