Some NotificationSrv optimizations

This commit is contained in:
Willy-JL
2024-02-14 18:03:47 +00:00
parent 0f7cf15e2d
commit 216baf1958

View File

@@ -400,23 +400,12 @@ static void
app, notification_message->data.led.value)); app, notification_message->data.led.value));
break; break;
case NotificationMessageTypeLedRed: case NotificationMessageTypeLedRed:
app->led[0].value_last[LayerInternal] = notification_message->data.led.value;
notification_apply_internal_led_layer(
&app->led[0],
notification_settings_get_rgb_led_brightness(
app, notification_message->data.led.value));
break;
case NotificationMessageTypeLedGreen: case NotificationMessageTypeLedGreen:
app->led[1].value_last[LayerInternal] = notification_message->data.led.value;
notification_apply_internal_led_layer(
&app->led[1],
notification_settings_get_rgb_led_brightness(
app, notification_message->data.led.value));
break;
case NotificationMessageTypeLedBlue: case NotificationMessageTypeLedBlue:
app->led[2].value_last[LayerInternal] = notification_message->data.led.value; uint8_t i = notification_message->type - NotificationMessageTypeLedRed;
app->led[i].value_last[LayerInternal] = notification_message->data.led.value;
notification_apply_internal_led_layer( notification_apply_internal_led_layer(
&app->led[2], &app->led[i],
notification_settings_get_rgb_led_brightness( notification_settings_get_rgb_led_brightness(
app, notification_message->data.led.value)); app, notification_message->data.led.value));
break; break;
@@ -483,24 +472,26 @@ static NotificationApp* notification_app_alloc() {
app->settings.display_off_delay_ms = 30000; app->settings.display_off_delay_ms = 30000;
app->settings.vibro_on = true; app->settings.vibro_on = true;
app->display.value[LayerInternal] = 0x00; // malloc() also does memset(0), no need to init 0 values
app->display.value[LayerNotification] = 0x00; _Static_assert(LayerInternal == 0, "need to init layer values");
app->display.index = LayerInternal; // app->display.value[LayerInternal] = 0x00;
// app->display.value[LayerNotification] = 0x00;
// app->display.index = LayerInternal;
app->display.light = LightBacklight; app->display.light = LightBacklight;
app->led[0].value[LayerInternal] = 0x00; // app->led[0].value[LayerInternal] = 0x00;
app->led[0].value[LayerNotification] = 0x00; // app->led[0].value[LayerNotification] = 0x00;
app->led[0].index = LayerInternal; // app->led[0].index = LayerInternal;
app->led[0].light = LightRed; app->led[0].light = LightRed;
app->led[1].value[LayerInternal] = 0x00; // app->led[1].value[LayerInternal] = 0x00;
app->led[1].value[LayerNotification] = 0x00; // app->led[1].value[LayerNotification] = 0x00;
app->led[1].index = LayerInternal; // app->led[1].index = LayerInternal;
app->led[1].light = LightGreen; app->led[1].light = LightGreen;
app->led[2].value[LayerInternal] = 0x00; // app->led[2].value[LayerInternal] = 0x00;
app->led[2].value[LayerNotification] = 0x00; // app->led[2].value[LayerNotification] = 0x00;
app->led[2].index = LayerInternal; // app->led[2].index = LayerInternal;
app->led[2].light = LightBlue; app->led[2].light = LightBlue;
app->settings.version = NOTIFICATION_SETTINGS_VERSION; app->settings.version = NOTIFICATION_SETTINGS_VERSION;