fix: Enhance UI setup across multiple boards (#1753)

* chore: Update component versions and enhance UI setup across multiple boards

- Bumped uart-eth-modem version from ~0.3.2 to ~0.3.3 in idf_component.yml.
- Added SetupUI method to various display classes to ensure proper UI initialization before usage.
- Improved error handling in display classes to prevent issues when UI is not set up.
- Ensured UI customization is performed in SetupUI rather than constructors for better reliability.

* remove pm config code
This commit is contained in:
Xiaoxia
2026-02-09 19:13:14 +08:00
committed by GitHub
parent 9215a04a7e
commit d9447ad060
30 changed files with 231 additions and 24 deletions

View File

@ -70,8 +70,14 @@ LvglDisplay::~LvglDisplay() {
}
void LvglDisplay::SetStatus(const char* status) {
if (!setup_ui_called_) {
ESP_LOGW(TAG, "SetStatus('%s') called before SetupUI() - message will be lost!", status);
}
DisplayLockGuard lock(this);
if (status_label_ == nullptr) {
if (setup_ui_called_) {
ESP_LOGW(TAG, "SetStatus('%s') failed: status_label_ is nullptr (SetupUI() was called but label not created)", status);
}
return;
}
lv_label_set_text(status_label_, status);
@ -86,8 +92,14 @@ void LvglDisplay::ShowNotification(const std::string &notification, int duration
}
void LvglDisplay::ShowNotification(const char* notification, int duration_ms) {
if (!setup_ui_called_) {
ESP_LOGW(TAG, "ShowNotification('%s') called before SetupUI() - message will be lost!", notification);
}
DisplayLockGuard lock(this);
if (notification_label_ == nullptr) {
if (setup_ui_called_) {
ESP_LOGW(TAG, "ShowNotification('%s') failed: notification_label_ is nullptr (SetupUI() was called but label not created)", notification);
}
return;
}
lv_label_set_text(notification_label_, notification);