From b7ed4ca16059e94cd1f297eb932e3f7624e9995f Mon Sep 17 00:00:00 2001 From: Markus Birth Date: Sat, 15 Aug 2026 01:51:15 +0100 Subject: [PATCH] Output time of last brush Signed-off-by: Markus Birth --- scenes/sonicare_scene_read_complete.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/scenes/sonicare_scene_read_complete.c b/scenes/sonicare_scene_read_complete.c index 2964e06..49b8354 100644 --- a/scenes/sonicare_scene_read_complete.c +++ b/scenes/sonicare_scene_read_complete.c @@ -5,6 +5,7 @@ #include #include #include +#include #include #include @@ -137,6 +138,29 @@ void sonicare_scene_read_complete_on_enter(void* context) { furi_string_cat_printf(temp_str, "Unknown last intensity: 0x%02x", brush_intensity); } + // Last brush timestamp + uint32_t unixtime = + ul_data->page[0x26].data[3] * 16777216 + + ul_data->page[0x26].data[2] * 65536 + + ul_data->page[0x26].data[1] * 256 + + ul_data->page[0x26].data[0]; + furi_string_cat_printf(temp_str, "Last brush: %li\n", unixtime); + + if (unixtime > 0) { + DateTime brush_dt; + datetime_timestamp_to_datetime(unixtime, &brush_dt); + furi_string_cat_printf( + temp_str, + "%04i-%02i-%02i %02i:%02i:%02i UTC\n", + brush_dt.year, + brush_dt.month, + brush_dt.day, + brush_dt.hour, + brush_dt.minute, + brush_dt.second + ); + } + furi_string_cat_str(temp_str, "____________________\n"); // UID