forked from xiaozhi/xiaozhi-esp32
v1.8.9: Upgrade component versions (#1118)
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
# CMakeLists in this exact order for cmake to work correctly
|
# CMakeLists in this exact order for cmake to work correctly
|
||||||
cmake_minimum_required(VERSION 3.16)
|
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 this line to disable the specific warning
|
||||||
add_compile_options(-Wno-missing-field-initializers)
|
add_compile_options(-Wno-missing-field-initializers)
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ BoxAudioCodec::BoxAudioCodec(void* i2c_master_handle, int input_sample_rate, int
|
|||||||
|
|
||||||
es7210_codec_cfg_t es7210_cfg = {};
|
es7210_codec_cfg_t es7210_cfg = {};
|
||||||
es7210_cfg.ctrl_if = in_ctrl_if_;
|
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);
|
in_codec_if_ = es7210_codec_new(&es7210_cfg);
|
||||||
assert(in_codec_if_ != NULL);
|
assert(in_codec_if_ != NULL);
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ Esp32Camera::Esp32Camera(const camera_config_t& config) {
|
|||||||
memset(&preview_image_, 0, sizeof(preview_image_));
|
memset(&preview_image_, 0, sizeof(preview_image_));
|
||||||
preview_image_.header.magic = LV_IMAGE_HEADER_MAGIC;
|
preview_image_.header.magic = LV_IMAGE_HEADER_MAGIC;
|
||||||
preview_image_.header.cf = LV_COLOR_FORMAT_RGB565;
|
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) {
|
switch (config.frame_size) {
|
||||||
case FRAMESIZE_SVGA:
|
case FRAMESIZE_SVGA:
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ void ElectronEmojiDisplay::SetChatMessage(const char* role, const char* content)
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_label_set_text(chat_message_label_, 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);
|
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_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);
|
ESP_LOGI(TAG, "设置图标: %s", icon);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ void OttoEmojiDisplay::SetChatMessage(const char* role, const char* content) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_label_set_text(chat_message_label_, 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);
|
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_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);
|
ESP_LOGI(TAG, "设置图标: %s", icon);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public:
|
|||||||
|
|
||||||
void SetupHighTempWarningPopup() {
|
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_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_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);
|
lv_obj_align(high_temp_popup_, LV_ALIGN_BOTTOM_MID, 0, 0);
|
||||||
@@ -47,7 +47,7 @@ public:
|
|||||||
|
|
||||||
void ShowHighTempWarning() {
|
void ShowHighTempWarning() {
|
||||||
if (high_temp_popup_ && lv_obj_has_flag(high_temp_popup_, LV_OBJ_FLAG_HIDDEN)) {
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ Display::Display() {
|
|||||||
Display *display = static_cast<Display*>(arg);
|
Display *display = static_cast<Display*>(arg);
|
||||||
DisplayLockGuard lock(display);
|
DisplayLockGuard lock(display);
|
||||||
lv_obj_add_flag(display->notification_label_, LV_OBJ_FLAG_HIDDEN);
|
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,
|
.arg = this,
|
||||||
.dispatch_method = ESP_TIMER_TASK,
|
.dispatch_method = ESP_TIMER_TASK,
|
||||||
@@ -67,7 +67,7 @@ void Display::SetStatus(const char* status) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
lv_label_set_text(status_label_, status);
|
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);
|
lv_obj_add_flag(notification_label_, LV_OBJ_FLAG_HIDDEN);
|
||||||
|
|
||||||
last_status_update_time_ = std::chrono::system_clock::now();
|
last_status_update_time_ = std::chrono::system_clock::now();
|
||||||
@@ -83,7 +83,7 @@ void Display::ShowNotification(const char* notification, int duration_ms) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
lv_label_set_text(notification_label_, notification);
|
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);
|
lv_obj_add_flag(status_label_, LV_OBJ_FLAG_HIDDEN);
|
||||||
|
|
||||||
esp_timer_stop(notification_timer_);
|
esp_timer_stop(notification_timer_);
|
||||||
@@ -157,7 +157,7 @@ void Display::UpdateStatusBar(bool update_all) {
|
|||||||
if (low_battery_popup_ != nullptr) {
|
if (low_battery_popup_ != nullptr) {
|
||||||
if (strcmp(icon, FONT_AWESOME_BATTERY_EMPTY) == 0 && discharging) {
|
if (strcmp(icon, FONT_AWESOME_BATTERY_EMPTY) == 0 && discharging) {
|
||||||
if (lv_obj_has_flag(low_battery_popup_, LV_OBJ_FLAG_HIDDEN)) { // 如果低电量提示框隐藏,则显示
|
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);
|
app.PlaySound(Lang::Sounds::OGG_LOW_BATTERY);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ SpiLcdDisplay::SpiLcdDisplay(esp_lcd_panel_io_handle_t panel_io, esp_lcd_panel_h
|
|||||||
ESP_LOGI(TAG, "Initialize LVGL port");
|
ESP_LOGI(TAG, "Initialize LVGL port");
|
||||||
lvgl_port_cfg_t port_cfg = ESP_LVGL_PORT_INIT_CONFIG();
|
lvgl_port_cfg_t port_cfg = ESP_LVGL_PORT_INIT_CONFIG();
|
||||||
port_cfg.task_priority = 1;
|
port_cfg.task_priority = 1;
|
||||||
port_cfg.timer_period_ms = 50;
|
port_cfg.timer_period_ms = 40;
|
||||||
lvgl_port_init(&port_cfg);
|
lvgl_port_init(&port_cfg);
|
||||||
|
|
||||||
ESP_LOGI(TAG, "Adding LCD display");
|
ESP_LOGI(TAG, "Adding LCD display");
|
||||||
@@ -814,11 +814,11 @@ void LcdDisplay::SetPreviewImage(const lv_img_dsc_t* img_dsc) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (img_dsc != nullptr) {
|
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_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_
|
// 隐藏emotion_label_
|
||||||
if (emotion_label_ != nullptr) {
|
if (emotion_label_ != nullptr) {
|
||||||
lv_obj_add_flag(emotion_label_, LV_OBJ_FLAG_HIDDEN);
|
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_
|
// 隐藏预览图片并显示emotion_label_
|
||||||
lv_obj_add_flag(preview_image_, LV_OBJ_FLAG_HIDDEN);
|
lv_obj_add_flag(preview_image_, LV_OBJ_FLAG_HIDDEN);
|
||||||
if (emotion_label_ != nullptr) {
|
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
|
#if !CONFIG_USE_WECHAT_MESSAGE_STYLE
|
||||||
// 显示emotion_label_,隐藏preview_image_
|
// 显示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) {
|
if (preview_image_ != nullptr) {
|
||||||
lv_obj_add_flag(preview_image_, LV_OBJ_FLAG_HIDDEN);
|
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
|
#if !CONFIG_USE_WECHAT_MESSAGE_STYLE
|
||||||
// 显示emotion_label_,隐藏preview_image_
|
// 显示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) {
|
if (preview_image_ != nullptr) {
|
||||||
lv_obj_add_flag(preview_image_, LV_OBJ_FLAG_HIDDEN);
|
lv_obj_add_flag(preview_image_, LV_OBJ_FLAG_HIDDEN);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
lvgl_port_cfg_t port_cfg = ESP_LVGL_PORT_INIT_CONFIG();
|
||||||
port_cfg.task_priority = 1;
|
port_cfg.task_priority = 1;
|
||||||
port_cfg.task_stack = 6144;
|
port_cfg.task_stack = 6144;
|
||||||
port_cfg.timer_period_ms = 50;
|
port_cfg.timer_period_ms = 40;
|
||||||
lvgl_port_init(&port_cfg);
|
lvgl_port_init(&port_cfg);
|
||||||
|
|
||||||
ESP_LOGI(TAG, "Adding OLED display");
|
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);
|
lv_obj_add_flag(content_right_, LV_OBJ_FLAG_HIDDEN);
|
||||||
} else {
|
} else {
|
||||||
lv_label_set_text(chat_message_label_, content_str.c_str());
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,22 +13,22 @@ dependencies:
|
|||||||
espressif/esp_io_expander_tca9554: ==2.0.0
|
espressif/esp_io_expander_tca9554: ==2.0.0
|
||||||
espressif/esp_lcd_panel_io_additions: ^1.0.1
|
espressif/esp_lcd_panel_io_additions: ^1.0.1
|
||||||
78/esp_lcd_nv3023: ~1.0.0
|
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-opus-encoder: ~2.4.1
|
||||||
78/esp-ml307: ~3.2.6
|
78/esp-ml307: ~3.2.8
|
||||||
78/xiaozhi-fonts: ~1.4.0
|
78/xiaozhi-fonts: ~1.4.0
|
||||||
espressif/led_strip: ^2.5.5
|
espressif/led_strip: ~3.0.1
|
||||||
espressif/esp_codec_dev: ~1.3.6
|
espressif/esp_codec_dev: ~1.4.0
|
||||||
espressif/esp-sr: ==2.1.4
|
espressif/esp-sr: ~2.1.5
|
||||||
espressif/button: ~4.1.3
|
espressif/button: ~4.1.3
|
||||||
espressif/knob: ^1.0.0
|
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_ft5x06: ~1.0.7
|
||||||
espressif/esp_lcd_touch_gt911: ^1
|
espressif/esp_lcd_touch_gt911: ^1
|
||||||
espressif/esp_lcd_touch_gt1151: ^1
|
espressif/esp_lcd_touch_gt1151: ^1
|
||||||
waveshare/esp_lcd_touch_cst9217: ^1.0.3
|
waveshare/esp_lcd_touch_cst9217: ^1.0.3
|
||||||
espressif/esp_lcd_touch_cst816s: ^1.0.6
|
espressif/esp_lcd_touch_cst816s: ^1.0.6
|
||||||
lvgl/lvgl: ~9.2.2
|
lvgl/lvgl: ~9.3.0
|
||||||
esp_lvgl_port: ~2.6.0
|
esp_lvgl_port: ~2.6.0
|
||||||
espressif/esp_io_expander_tca95xx_16bit: ^2.0.0
|
espressif/esp_io_expander_tca95xx_16bit: ^2.0.0
|
||||||
espressif2022/image_player: ==1.1.0~1
|
espressif2022/image_player: ==1.1.0~1
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ CircularStrip::CircularStrip(gpio_num_t gpio, uint8_t max_leds) : max_leds_(max_
|
|||||||
led_strip_config_t strip_config = {};
|
led_strip_config_t strip_config = {};
|
||||||
strip_config.strip_gpio_num = gpio;
|
strip_config.strip_gpio_num = gpio;
|
||||||
strip_config.max_leds = max_leds_;
|
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;
|
strip_config.led_model = LED_MODEL_WS2812;
|
||||||
|
|
||||||
led_strip_rmt_config_t rmt_config = {};
|
led_strip_rmt_config_t rmt_config = {};
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ SingleLed::SingleLed(gpio_num_t gpio) {
|
|||||||
led_strip_config_t strip_config = {};
|
led_strip_config_t strip_config = {};
|
||||||
strip_config.strip_gpio_num = gpio;
|
strip_config.strip_gpio_num = gpio;
|
||||||
strip_config.max_leds = 1;
|
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;
|
strip_config.led_model = LED_MODEL_WS2812;
|
||||||
|
|
||||||
led_strip_rmt_config_t rmt_config = {};
|
led_strip_rmt_config_t rmt_config = {};
|
||||||
|
|||||||
@@ -55,13 +55,15 @@ std::unique_ptr<Http> Ota::SetupHttp() {
|
|||||||
|
|
||||||
auto network = board.GetNetwork();
|
auto network = board.GetNetwork();
|
||||||
auto http = network->CreateHttp(0);
|
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("Activation-Version", has_serial_number_ ? "2" : "1");
|
||||||
http->SetHeader("Device-Id", SystemInfo::GetMacAddress().c_str());
|
http->SetHeader("Device-Id", SystemInfo::GetMacAddress().c_str());
|
||||||
http->SetHeader("Client-Id", board.GetUuid());
|
http->SetHeader("Client-Id", board.GetUuid());
|
||||||
if (has_serial_number_) {
|
if (has_serial_number_) {
|
||||||
http->SetHeader("Serial-Number", serial_number_.c_str());
|
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("Accept-Language", Lang::CODE);
|
||||||
http->SetHeader("Content-Type", "application/json");
|
http->SetHeader("Content-Type", "application/json");
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,8 @@ CONFIG_LV_USE_CLIB_MALLOC=y
|
|||||||
CONFIG_LV_USE_CLIB_STRING=y
|
CONFIG_LV_USE_CLIB_STRING=y
|
||||||
CONFIG_LV_USE_CLIB_SPRINTF=y
|
CONFIG_LV_USE_CLIB_SPRINTF=y
|
||||||
CONFIG_LV_USE_IMGFONT=y
|
CONFIG_LV_USE_IMGFONT=y
|
||||||
|
CONFIG_LV_USE_ASSERT_STYLE=y
|
||||||
|
CONFIG_LV_USE_GIF=y
|
||||||
|
|
||||||
# Use compressed font
|
# Use compressed font
|
||||||
CONFIG_LV_FONT_FMT_TXT_LARGE=y
|
CONFIG_LV_FONT_FMT_TXT_LARGE=y
|
||||||
|
|||||||
Reference in New Issue
Block a user