diff --git a/CMakeLists.txt b/CMakeLists.txt index 2170655e..216282ac 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.2") +set(PROJECT_VER "1.8.3") # Add this line to disable the specific warning add_compile_options(-Wno-missing-field-initializers) diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index a4b8f2b2..448eb0df 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -257,6 +257,7 @@ file(GLOB COMMON_SOUNDS ${CMAKE_CURRENT_SOURCE_DIR}/assets/common/*.p3) if(CONFIG_IDF_TARGET_ESP32) list(REMOVE_ITEM SOURCES "audio/codecs/box_audio_codec.cc" "audio/codecs/es8388_audio_codec.cc" + "audio/codecs/es8389_audio_codec.cc" "led/gpio_led.cc" ) endif() diff --git a/main/audio/audio_service.cc b/main/audio/audio_service.cc index ec6b5931..e564ec92 100644 --- a/main/audio/audio_service.cc +++ b/main/audio/audio_service.cc @@ -97,34 +97,42 @@ void AudioService::Start() { esp_timer_start_periodic(audio_power_timer_, 1000000); - /* Start the audio input task */ #if CONFIG_USE_AUDIO_PROCESSOR + /* Start the audio input task */ xTaskCreatePinnedToCore([](void* arg) { AudioService* audio_service = (AudioService*)arg; audio_service->AudioInputTask(); vTaskDelete(NULL); }, "audio_input", 2048 * 3, this, 8, &audio_input_task_handle_, 1); -#else - xTaskCreate([](void* arg) { - AudioService* audio_service = (AudioService*)arg; - audio_service->AudioInputTask(); - vTaskDelete(NULL); - }, "audio_input", 2048 * 3, this, 8, &audio_input_task_handle_); -#endif /* Start the audio output task */ xTaskCreate([](void* arg) { AudioService* audio_service = (AudioService*)arg; audio_service->AudioOutputTask(); vTaskDelete(NULL); - }, "audio_output", 4096, this, 3, &audio_output_task_handle_); + }, "audio_output", 2048 * 2, this, 3, &audio_output_task_handle_); +#else + /* Start the audio input task */ + xTaskCreate([](void* arg) { + AudioService* audio_service = (AudioService*)arg; + audio_service->AudioInputTask(); + vTaskDelete(NULL); + }, "audio_input", 2048 * 2, this, 8, &audio_input_task_handle_); + + /* Start the audio output task */ + xTaskCreate([](void* arg) { + AudioService* audio_service = (AudioService*)arg; + audio_service->AudioOutputTask(); + vTaskDelete(NULL); + }, "audio_output", 2048, this, 3, &audio_output_task_handle_); +#endif /* Start the opus codec task */ xTaskCreate([](void* arg) { AudioService* audio_service = (AudioService*)arg; audio_service->OpusCodecTask(); vTaskDelete(NULL); - }, "opus_codec", 4096 * 7, this, 2, &opus_codec_task_handle_); + }, "opus_codec", 2048 * 13, this, 2, &opus_codec_task_handle_); } void AudioService::Stop() { diff --git a/main/display/oled_display.cc b/main/display/oled_display.cc index 5a52d703..fc3eb191 100644 --- a/main/display/oled_display.cc +++ b/main/display/oled_display.cc @@ -22,6 +22,7 @@ OledDisplay::OledDisplay(esp_lcd_panel_io_handle_t panel_io, esp_lcd_panel_handl ESP_LOGI(TAG, "Initialize LVGL"); 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; lvgl_port_init(&port_cfg);