From 8659087f5dcd9a588d74e79c0935c792bcbdc7d1 Mon Sep 17 00:00:00 2001 From: Terrence Date: Thu, 20 Feb 2025 14:21:41 +0800 Subject: [PATCH] fix oled not displaying text --- main/display/ssd1306_display.cc | 8 ++++---- main/display/ssd1306_display.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/main/display/ssd1306_display.cc b/main/display/ssd1306_display.cc index d6214d9d..6af24a6c 100644 --- a/main/display/ssd1306_display.cc +++ b/main/display/ssd1306_display.cc @@ -133,18 +133,18 @@ void Ssd1306Display::Unlock() { lvgl_port_unlock(); } -void Ssd1306Display::SetChatMessage(const std::string &role, const std::string &content) { +void Ssd1306Display::SetChatMessage(const char* role, const char* content) { DisplayLockGuard lock(this); if (chat_message_label_ == nullptr) { return; } if (content_right_ == nullptr) { - lv_label_set_text(chat_message_label_, content.c_str()); + lv_label_set_text(chat_message_label_, content); } else { - if (content.empty()) { + if (content == nullptr || content[0] == '\0') { lv_obj_add_flag(content_right_, LV_OBJ_FLAG_HIDDEN); } else { - lv_label_set_text(chat_message_label_, content.c_str()); + lv_label_set_text(chat_message_label_, content); lv_obj_clear_flag(content_right_, LV_OBJ_FLAG_HIDDEN); } } diff --git a/main/display/ssd1306_display.h b/main/display/ssd1306_display.h index 70f09d31..047f7ece 100644 --- a/main/display/ssd1306_display.h +++ b/main/display/ssd1306_display.h @@ -32,7 +32,7 @@ public: const lv_font_t* text_font, const lv_font_t* icon_font); ~Ssd1306Display(); - virtual void SetChatMessage(const std::string &role, const std::string &content); + virtual void SetChatMessage(const char* role, const char* content) override; }; #endif // SSD1306_DISPLAY_H