From ddbb24942d8dd4dceba10f835ad05c6c9257d837 Mon Sep 17 00:00:00 2001 From: Xiaoxia Date: Sat, 23 Aug 2025 07:12:14 +0800 Subject: [PATCH] v1.8.9: Upgrade component versions (#1118) --- CMakeLists.txt | 2 +- main/audio/codecs/box_audio_codec.cc | 2 +- main/boards/common/esp32_camera.cc | 2 +- main/boards/electron-bot/electron_emoji_display.cc | 4 ++-- main/boards/otto-robot/otto_emoji_display.cc | 4 ++-- .../zhengchen-1.54tft-wifi/zhengchen_lcd_display.h | 4 ++-- main/display/display.cc | 8 ++++---- main/display/lcd_display.cc | 14 +++++++------- main/display/oled_display.cc | 4 ++-- main/idf_component.yml | 14 +++++++------- main/led/circular_strip.cc | 2 +- main/led/single_led.cc | 2 +- main/ota.cc | 4 +++- sdkconfig.defaults | 2 ++ 14 files changed, 36 insertions(+), 32 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f850a1be..0d964d61 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ # CMakeLists in this exact order for cmake to work correctly cmake_minimum_required(VERSION 3.16) -set(PROJECT_VER "1.8.8") +set(PROJECT_VER "1.8.9") # Add this line to disable the specific warning add_compile_options(-Wno-missing-field-initializers) diff --git a/main/audio/codecs/box_audio_codec.cc b/main/audio/codecs/box_audio_codec.cc index 7a5b46a3..a4a3eeef 100644 --- a/main/audio/codecs/box_audio_codec.cc +++ b/main/audio/codecs/box_audio_codec.cc @@ -64,7 +64,7 @@ BoxAudioCodec::BoxAudioCodec(void* i2c_master_handle, int input_sample_rate, int es7210_codec_cfg_t es7210_cfg = {}; es7210_cfg.ctrl_if = in_ctrl_if_; - es7210_cfg.mic_selected = ES7120_SEL_MIC1 | ES7120_SEL_MIC2 | ES7120_SEL_MIC3 | ES7120_SEL_MIC4; + es7210_cfg.mic_selected = ES7210_SEL_MIC1 | ES7210_SEL_MIC2 | ES7210_SEL_MIC3 | ES7210_SEL_MIC4; in_codec_if_ = es7210_codec_new(&es7210_cfg); assert(in_codec_if_ != NULL); diff --git a/main/boards/common/esp32_camera.cc b/main/boards/common/esp32_camera.cc index 40d02edd..38cd0bf7 100644 --- a/main/boards/common/esp32_camera.cc +++ b/main/boards/common/esp32_camera.cc @@ -28,7 +28,7 @@ Esp32Camera::Esp32Camera(const camera_config_t& config) { memset(&preview_image_, 0, sizeof(preview_image_)); preview_image_.header.magic = LV_IMAGE_HEADER_MAGIC; preview_image_.header.cf = LV_COLOR_FORMAT_RGB565; - preview_image_.header.flags = LV_IMAGE_FLAGS_ALLOCATED | LV_IMAGE_FLAGS_MODIFIABLE; + preview_image_.header.flags = 0; switch (config.frame_size) { case FRAMESIZE_SVGA: diff --git a/main/boards/electron-bot/electron_emoji_display.cc b/main/boards/electron-bot/electron_emoji_display.cc index fda0fac3..f467bf9a 100644 --- a/main/boards/electron-bot/electron_emoji_display.cc +++ b/main/boards/electron-bot/electron_emoji_display.cc @@ -141,7 +141,7 @@ void ElectronEmojiDisplay::SetChatMessage(const char* role, const char* content) } lv_label_set_text(chat_message_label_, content); - lv_obj_clear_flag(chat_message_label_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(chat_message_label_, LV_OBJ_FLAG_HIDDEN); ESP_LOGI(TAG, "设置聊天消息 [%s]: %s", role, content); } @@ -163,7 +163,7 @@ void ElectronEmojiDisplay::SetIcon(const char* icon) { } lv_label_set_text(chat_message_label_, icon_message.c_str()); - lv_obj_clear_flag(chat_message_label_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(chat_message_label_, LV_OBJ_FLAG_HIDDEN); ESP_LOGI(TAG, "设置图标: %s", icon); } diff --git a/main/boards/otto-robot/otto_emoji_display.cc b/main/boards/otto-robot/otto_emoji_display.cc index 06215d90..a461f18a 100644 --- a/main/boards/otto-robot/otto_emoji_display.cc +++ b/main/boards/otto-robot/otto_emoji_display.cc @@ -142,7 +142,7 @@ void OttoEmojiDisplay::SetChatMessage(const char* role, const char* content) { } lv_label_set_text(chat_message_label_, content); - lv_obj_clear_flag(chat_message_label_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(chat_message_label_, LV_OBJ_FLAG_HIDDEN); ESP_LOGI(TAG, "设置聊天消息 [%s]: %s", role, content); } @@ -164,7 +164,7 @@ void OttoEmojiDisplay::SetIcon(const char* icon) { } lv_label_set_text(chat_message_label_, icon_message.c_str()); - lv_obj_clear_flag(chat_message_label_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(chat_message_label_, LV_OBJ_FLAG_HIDDEN); ESP_LOGI(TAG, "设置图标: %s", icon); } diff --git a/main/boards/zhengchen-1.54tft-wifi/zhengchen_lcd_display.h b/main/boards/zhengchen-1.54tft-wifi/zhengchen_lcd_display.h index 4966d716..7926f18c 100644 --- a/main/boards/zhengchen-1.54tft-wifi/zhengchen_lcd_display.h +++ b/main/boards/zhengchen-1.54tft-wifi/zhengchen_lcd_display.h @@ -15,7 +15,7 @@ public: void SetupHighTempWarningPopup() { // 创建高温警告弹窗 - high_temp_popup_ = lv_obj_create(lv_scr_act()); // 使用当前屏幕 + high_temp_popup_ = lv_obj_create(lv_screen_active()); // 使用当前屏幕 lv_obj_set_scrollbar_mode(high_temp_popup_, LV_SCROLLBAR_MODE_OFF); lv_obj_set_size(high_temp_popup_, LV_HOR_RES * 0.9, fonts_.text_font->line_height * 2); lv_obj_align(high_temp_popup_, LV_ALIGN_BOTTOM_MID, 0, 0); @@ -47,7 +47,7 @@ public: void ShowHighTempWarning() { if (high_temp_popup_ && lv_obj_has_flag(high_temp_popup_, LV_OBJ_FLAG_HIDDEN)) { - lv_obj_clear_flag(high_temp_popup_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(high_temp_popup_, LV_OBJ_FLAG_HIDDEN); } } diff --git a/main/display/display.cc b/main/display/display.cc index db4b0ee2..b97256fc 100644 --- a/main/display/display.cc +++ b/main/display/display.cc @@ -21,7 +21,7 @@ Display::Display() { Display *display = static_cast(arg); DisplayLockGuard lock(display); lv_obj_add_flag(display->notification_label_, LV_OBJ_FLAG_HIDDEN); - lv_obj_clear_flag(display->status_label_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(display->status_label_, LV_OBJ_FLAG_HIDDEN); }, .arg = this, .dispatch_method = ESP_TIMER_TASK, @@ -67,7 +67,7 @@ void Display::SetStatus(const char* status) { return; } lv_label_set_text(status_label_, status); - lv_obj_clear_flag(status_label_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(status_label_, LV_OBJ_FLAG_HIDDEN); lv_obj_add_flag(notification_label_, LV_OBJ_FLAG_HIDDEN); last_status_update_time_ = std::chrono::system_clock::now(); @@ -83,7 +83,7 @@ void Display::ShowNotification(const char* notification, int duration_ms) { return; } lv_label_set_text(notification_label_, notification); - lv_obj_clear_flag(notification_label_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(notification_label_, LV_OBJ_FLAG_HIDDEN); lv_obj_add_flag(status_label_, LV_OBJ_FLAG_HIDDEN); esp_timer_stop(notification_timer_); @@ -157,7 +157,7 @@ void Display::UpdateStatusBar(bool update_all) { if (low_battery_popup_ != nullptr) { if (strcmp(icon, FONT_AWESOME_BATTERY_EMPTY) == 0 && discharging) { if (lv_obj_has_flag(low_battery_popup_, LV_OBJ_FLAG_HIDDEN)) { // 如果低电量提示框隐藏,则显示 - lv_obj_clear_flag(low_battery_popup_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(low_battery_popup_, LV_OBJ_FLAG_HIDDEN); app.PlaySound(Lang::Sounds::OGG_LOW_BATTERY); } } else { diff --git a/main/display/lcd_display.cc b/main/display/lcd_display.cc index 7ccee775..309d214d 100644 --- a/main/display/lcd_display.cc +++ b/main/display/lcd_display.cc @@ -105,7 +105,7 @@ SpiLcdDisplay::SpiLcdDisplay(esp_lcd_panel_io_handle_t panel_io, esp_lcd_panel_h ESP_LOGI(TAG, "Initialize LVGL port"); lvgl_port_cfg_t port_cfg = ESP_LVGL_PORT_INIT_CONFIG(); port_cfg.task_priority = 1; - port_cfg.timer_period_ms = 50; + port_cfg.timer_period_ms = 40; lvgl_port_init(&port_cfg); ESP_LOGI(TAG, "Adding LCD display"); @@ -814,11 +814,11 @@ void LcdDisplay::SetPreviewImage(const lv_img_dsc_t* img_dsc) { } if (img_dsc != nullptr) { - // zoom factor 0.5 - lv_image_set_scale(preview_image_, 128 * width_ / img_dsc->header.w); // 设置图片源并显示预览图片 lv_image_set_src(preview_image_, img_dsc); - lv_obj_clear_flag(preview_image_, LV_OBJ_FLAG_HIDDEN); + // zoom factor 0.5 + lv_image_set_scale(preview_image_, 128 * width_ / img_dsc->header.w); + lv_obj_remove_flag(preview_image_, LV_OBJ_FLAG_HIDDEN); // 隐藏emotion_label_ if (emotion_label_ != nullptr) { lv_obj_add_flag(emotion_label_, LV_OBJ_FLAG_HIDDEN); @@ -827,7 +827,7 @@ void LcdDisplay::SetPreviewImage(const lv_img_dsc_t* img_dsc) { // 隐藏预览图片并显示emotion_label_ lv_obj_add_flag(preview_image_, LV_OBJ_FLAG_HIDDEN); if (emotion_label_ != nullptr) { - lv_obj_clear_flag(emotion_label_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(emotion_label_, LV_OBJ_FLAG_HIDDEN); } } } @@ -883,7 +883,7 @@ void LcdDisplay::SetEmotion(const char* emotion) { #if !CONFIG_USE_WECHAT_MESSAGE_STYLE // 显示emotion_label_,隐藏preview_image_ - lv_obj_clear_flag(emotion_label_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(emotion_label_, LV_OBJ_FLAG_HIDDEN); if (preview_image_ != nullptr) { lv_obj_add_flag(preview_image_, LV_OBJ_FLAG_HIDDEN); } @@ -900,7 +900,7 @@ void LcdDisplay::SetIcon(const char* icon) { #if !CONFIG_USE_WECHAT_MESSAGE_STYLE // 显示emotion_label_,隐藏preview_image_ - lv_obj_clear_flag(emotion_label_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(emotion_label_, LV_OBJ_FLAG_HIDDEN); if (preview_image_ != nullptr) { lv_obj_add_flag(preview_image_, LV_OBJ_FLAG_HIDDEN); } diff --git a/main/display/oled_display.cc b/main/display/oled_display.cc index fc3eb191..828fdac5 100644 --- a/main/display/oled_display.cc +++ b/main/display/oled_display.cc @@ -23,7 +23,7 @@ OledDisplay::OledDisplay(esp_lcd_panel_io_handle_t panel_io, esp_lcd_panel_handl lvgl_port_cfg_t port_cfg = ESP_LVGL_PORT_INIT_CONFIG(); port_cfg.task_priority = 1; port_cfg.task_stack = 6144; - port_cfg.timer_period_ms = 50; + port_cfg.timer_period_ms = 40; lvgl_port_init(&port_cfg); ESP_LOGI(TAG, "Adding OLED display"); @@ -112,7 +112,7 @@ void OledDisplay::SetChatMessage(const char* role, const char* content) { lv_obj_add_flag(content_right_, LV_OBJ_FLAG_HIDDEN); } else { lv_label_set_text(chat_message_label_, content_str.c_str()); - lv_obj_clear_flag(content_right_, LV_OBJ_FLAG_HIDDEN); + lv_obj_remove_flag(content_right_, LV_OBJ_FLAG_HIDDEN); } } } diff --git a/main/idf_component.yml b/main/idf_component.yml index 3077e983..6a2899ba 100644 --- a/main/idf_component.yml +++ b/main/idf_component.yml @@ -13,22 +13,22 @@ dependencies: espressif/esp_io_expander_tca9554: ==2.0.0 espressif/esp_lcd_panel_io_additions: ^1.0.1 78/esp_lcd_nv3023: ~1.0.0 - 78/esp-wifi-connect: ~2.5.0 + 78/esp-wifi-connect: ~2.5.1 78/esp-opus-encoder: ~2.4.1 - 78/esp-ml307: ~3.2.6 + 78/esp-ml307: ~3.2.8 78/xiaozhi-fonts: ~1.4.0 - espressif/led_strip: ^2.5.5 - espressif/esp_codec_dev: ~1.3.6 - espressif/esp-sr: ==2.1.4 + espressif/led_strip: ~3.0.1 + espressif/esp_codec_dev: ~1.4.0 + espressif/esp-sr: ~2.1.5 espressif/button: ~4.1.3 espressif/knob: ^1.0.0 - espressif/esp32-camera: ^2.0.15 + espressif/esp32-camera: ~2.1.2 espressif/esp_lcd_touch_ft5x06: ~1.0.7 espressif/esp_lcd_touch_gt911: ^1 espressif/esp_lcd_touch_gt1151: ^1 waveshare/esp_lcd_touch_cst9217: ^1.0.3 espressif/esp_lcd_touch_cst816s: ^1.0.6 - lvgl/lvgl: ~9.2.2 + lvgl/lvgl: ~9.3.0 esp_lvgl_port: ~2.6.0 espressif/esp_io_expander_tca95xx_16bit: ^2.0.0 espressif2022/image_player: ==1.1.0~1 diff --git a/main/led/circular_strip.cc b/main/led/circular_strip.cc index c9f0439f..cb428ad3 100644 --- a/main/led/circular_strip.cc +++ b/main/led/circular_strip.cc @@ -15,7 +15,7 @@ CircularStrip::CircularStrip(gpio_num_t gpio, uint8_t max_leds) : max_leds_(max_ led_strip_config_t strip_config = {}; strip_config.strip_gpio_num = gpio; strip_config.max_leds = max_leds_; - strip_config.led_pixel_format = LED_PIXEL_FORMAT_GRB; + strip_config.color_component_format = LED_STRIP_COLOR_COMPONENT_FMT_GRB; strip_config.led_model = LED_MODEL_WS2812; led_strip_rmt_config_t rmt_config = {}; diff --git a/main/led/single_led.cc b/main/led/single_led.cc index e6e6fb60..338af0ab 100644 --- a/main/led/single_led.cc +++ b/main/led/single_led.cc @@ -18,7 +18,7 @@ SingleLed::SingleLed(gpio_num_t gpio) { led_strip_config_t strip_config = {}; strip_config.strip_gpio_num = gpio; strip_config.max_leds = 1; - strip_config.led_pixel_format = LED_PIXEL_FORMAT_GRB; + strip_config.color_component_format = LED_STRIP_COLOR_COMPONENT_FMT_GRB; strip_config.led_model = LED_MODEL_WS2812; led_strip_rmt_config_t rmt_config = {}; diff --git a/main/ota.cc b/main/ota.cc index 2cc82152..e3a086e7 100644 --- a/main/ota.cc +++ b/main/ota.cc @@ -55,13 +55,15 @@ std::unique_ptr Ota::SetupHttp() { auto network = board.GetNetwork(); auto http = network->CreateHttp(0); + auto user_agent = std::string(BOARD_NAME "/") + app_desc->version; http->SetHeader("Activation-Version", has_serial_number_ ? "2" : "1"); http->SetHeader("Device-Id", SystemInfo::GetMacAddress().c_str()); http->SetHeader("Client-Id", board.GetUuid()); if (has_serial_number_) { http->SetHeader("Serial-Number", serial_number_.c_str()); + ESP_LOGI(TAG, "Setup HTTP, User-Agent: %s, Serial-Number: %s", user_agent.c_str(), serial_number_.c_str()); } - http->SetHeader("User-Agent", std::string(BOARD_NAME "/") + app_desc->version); + http->SetHeader("User-Agent", user_agent); http->SetHeader("Accept-Language", Lang::CODE); http->SetHeader("Content-Type", "application/json"); diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 4c11cac6..93a47d1f 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -47,6 +47,8 @@ CONFIG_LV_USE_CLIB_MALLOC=y CONFIG_LV_USE_CLIB_STRING=y CONFIG_LV_USE_CLIB_SPRINTF=y CONFIG_LV_USE_IMGFONT=y +CONFIG_LV_USE_ASSERT_STYLE=y +CONFIG_LV_USE_GIF=y # Use compressed font CONFIG_LV_FONT_FMT_TXT_LARGE=y