From 6ee3b1885520b511d028c6d31bff19801d9ded6f Mon Sep 17 00:00:00 2001 From: Andrii Pavlenko Date: Tue, 21 Jul 2026 17:31:26 +0300 Subject: [PATCH] Fix messageWidth calculation for messages displayed in large font --- source/Core/Src/ScrollMessage.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/Core/Src/ScrollMessage.cpp b/source/Core/Src/ScrollMessage.cpp index 5fbaf8dc97..cef8c02686 100644 --- a/source/Core/Src/ScrollMessage.cpp +++ b/source/Core/Src/ScrollMessage.cpp @@ -35,6 +35,11 @@ static uint16_t str_display_len(const char *const str) { * @param message The null-terminated message string. */ static uint16_t messageWidth(const char *message) { + const uint8_t *msgBytes = reinterpret_cast(message); + if (msgBytes[0] == 0x01) { + // Leading 0x01 selects large font (see OLED::print) + return FONT_12_WIDTH * str_display_len(message + 1); + } #ifdef OLED_128x32 return 8 * str_display_len(message); // descriptions use the 8x16 small font on 128x32 #else