From 637d915e831da2fefa975cad60c79a40cc92e260 Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Wed, 24 Jan 2024 07:34:13 +0000 Subject: [PATCH] Enable backlight on ascii event --nobuild --- applications/services/input/input_cli.c | 6 +----- applications/services/notification/notification_app.c | 10 ++++++++++ applications/services/notification/notification_app.h | 1 + 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/applications/services/input/input_cli.c b/applications/services/input/input_cli.c index f090060b51..c625532e38 100644 --- a/applications/services/input/input_cli.c +++ b/applications/services/input/input_cli.c @@ -60,8 +60,6 @@ static void fake_input(Input* input, InputKey key, InputType type) { static void input_cli_keyboard(Cli* cli, FuriString* args, Input* input) { UNUSED(args); - FuriPubSub* ascii_events = furi_record_open(RECORD_ASCII_EVENTS); - printf("Using console keyboard feedback for flipper input\r\n"); printf("\r\nUsage:\r\n"); @@ -130,12 +128,10 @@ static void input_cli_keyboard(Cli* cli, FuriString* args, Input* input) { } if(send_ascii != AsciiValueNUL) { AsciiEvent event = {.value = send_ascii}; - furi_pubsub_publish(ascii_events, &event); + furi_pubsub_publish(input->ascii_pubsub, &event); hold = false; } } - - furi_record_close(RECORD_ASCII_EVENTS); } static void input_cli_send_print_usage() { diff --git a/applications/services/notification/notification_app.c b/applications/services/notification/notification_app.c index 9d28ffb1dc..9f4a790db9 100644 --- a/applications/services/notification/notification_app.c +++ b/applications/services/notification/notification_app.c @@ -463,6 +463,14 @@ static void input_event_callback(const void* value, void* context) { } } +static void ascii_event_callback(const void* value, void* context) { + furi_assert(value); + furi_assert(context); + UNUSED(value); + NotificationApp* app = context; + notification_message(app, &sequence_display_backlight_on); +} + // App alloc static NotificationApp* notification_app_alloc() { NotificationApp* app = malloc(sizeof(NotificationApp)); @@ -500,6 +508,8 @@ static NotificationApp* notification_app_alloc() { // display backlight control app->event_record = furi_record_open(RECORD_INPUT_EVENTS); furi_pubsub_subscribe(app->event_record, input_event_callback, app); + app->ascii_record = furi_record_open(RECORD_ASCII_EVENTS); + furi_pubsub_subscribe(app->ascii_record, ascii_event_callback, app); notification_message(app, &sequence_display_backlight_on); return app; diff --git a/applications/services/notification/notification_app.h b/applications/services/notification/notification_app.h index fe315ef88a..40594fd47b 100644 --- a/applications/services/notification/notification_app.h +++ b/applications/services/notification/notification_app.h @@ -49,6 +49,7 @@ typedef struct { struct NotificationApp { FuriMessageQueue* queue; FuriPubSub* event_record; + FuriPubSub* ascii_record; FuriTimer* display_timer; NotificationLedLayer display;