Skip to content

Commit

Permalink
update version to 1.1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
78 committed Feb 8, 2025
1 parent bc80092 commit 4aef3d2
Show file tree
Hide file tree
Showing 16 changed files with 139 additions and 81 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.16)

set(PROJECT_VER "1.1.1")
set(PROJECT_VER "1.1.2")

# Add this line to disable the specific warning
add_compile_options(-Wno-missing-field-initializers)
Expand Down
2 changes: 1 addition & 1 deletion main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ endif()
file(GLOB BOARD_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/boards/${BOARD_TYPE}/*.cc)
list(APPEND SOURCES ${BOARD_SOURCES})

if(CONFIG_IDF_TARGET_ESP32S3)
if(CONFIG_USE_AUDIO_PROCESSING)
list(APPEND SOURCES "audio_processing/audio_processor.cc" "audio_processing/wake_word_detect.cc")
endif()

Expand Down
8 changes: 7 additions & 1 deletion main/Kconfig.projbuild
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,12 @@ choice DISPLAY_LCD_TYPE
bool "ILI9341, 分辨率240*320, 非IPS"
config LCD_CUSTOM
bool "自定义屏幕参数"
endchoice
endchoice

config USE_AUDIO_PROCESSING
bool "启用语音唤醒与音频处理"
default y
depends on IDF_TARGET_ESP32S3 && USE_AFE
help
需要 ESP32 S3 与 AFE 支持
endmenu
12 changes: 6 additions & 6 deletions main/application.cc
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ void Application::CheckNewVersion() {
display->SetStatus("新版本 " + ota_.GetFirmwareVersion());

board.SetPowerSaveMode(false);
#if CONFIG_IDF_TARGET_ESP32S3
#if CONFIG_USE_AUDIO_PROCESSING
wake_word_detect_.StopDetection();
#endif
// 预先关闭音频输出,避免升级过程有音频操作
Expand Down Expand Up @@ -365,7 +365,7 @@ void Application::Start() {
}, "check_new_version", 4096 * 2, this, 1, nullptr);


#if CONFIG_IDF_TARGET_ESP32S3
#if CONFIG_USE_AUDIO_PROCESSING
audio_processor_.Initialize(codec->input_channels(), codec->input_reference());
audio_processor_.OnOutput([this](std::vector<int16_t>&& data) {
background_task_->Schedule([this, data = std::move(data)]() mutable {
Expand Down Expand Up @@ -551,7 +551,7 @@ void Application::InputAudio() {
}
}

#if CONFIG_IDF_TARGET_ESP32S3
#if CONFIG_USE_AUDIO_PROCESSING
if (audio_processor_.IsRunning()) {
audio_processor_.Input(data);
}
Expand Down Expand Up @@ -595,7 +595,7 @@ void Application::SetDeviceState(DeviceState state) {
case kDeviceStateIdle:
display->SetStatus("待命");
display->SetEmotion("neutral");
#ifdef CONFIG_IDF_TARGET_ESP32S3
#ifdef CONFIG_USE_AUDIO_PROCESSING
audio_processor_.Stop();
#endif
break;
Expand All @@ -607,15 +607,15 @@ void Application::SetDeviceState(DeviceState state) {
display->SetEmotion("neutral");
ResetDecoder();
opus_encoder_->ResetState();
#if CONFIG_IDF_TARGET_ESP32S3
#if CONFIG_USE_AUDIO_PROCESSING
audio_processor_.Start();
#endif
UpdateIotStates();
break;
case kDeviceStateSpeaking:
display->SetStatus("说话中...");
ResetDecoder();
#if CONFIG_IDF_TARGET_ESP32S3
#if CONFIG_USE_AUDIO_PROCESSING
audio_processor_.Stop();
#endif
break;
Expand Down
4 changes: 2 additions & 2 deletions main/application.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#include "ota.h"
#include "background_task.h"

#if CONFIG_IDF_TARGET_ESP32S3
#if CONFIG_USE_AUDIO_PROCESSING
#include "wake_word_detect.h"
#include "audio_processor.h"
#endif
Expand Down Expand Up @@ -66,7 +66,7 @@ class Application {
Application();
~Application();

#if CONFIG_IDF_TARGET_ESP32S3
#if CONFIG_USE_AUDIO_PROCESSING
WakeWordDetect wake_word_detect_;
AudioProcessor audio_processor_;
#endif
Expand Down
21 changes: 14 additions & 7 deletions main/boards/atk-dnesp32s3/atk_dnesp32s3.cc
Original file line number Diff line number Diff line change
Expand Up @@ -162,13 +162,20 @@ class atk_dnesp32s3 : public WifiBoard {
}

virtual AudioCodec* GetAudioCodec() override {
static Es8388AudioCodec* audio_codec = nullptr;
if (audio_codec == nullptr) {
audio_codec = new Es8388AudioCodec(i2c_bus_, I2C_NUM_0, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
GPIO_NUM_NC, AUDIO_CODEC_ES8388_ADDR);
}
return audio_codec;
static Es8388AudioCodec audio_codec(
i2c_bus_,
I2C_NUM_0,
AUDIO_INPUT_SAMPLE_RATE,
AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK,
AUDIO_I2S_GPIO_BCLK,
AUDIO_I2S_GPIO_WS,
AUDIO_I2S_GPIO_DOUT,
AUDIO_I2S_GPIO_DIN,
GPIO_NUM_NC,
AUDIO_CODEC_ES8388_ADDR
);
return &audio_codec;
}

virtual Display* GetDisplay() override {
Expand Down
21 changes: 14 additions & 7 deletions main/boards/atommatrix-echo-base/atommatrix_echo_base.cc
Original file line number Diff line number Diff line change
Expand Up @@ -122,13 +122,20 @@ class AtomMatrixEchoBaseBoard : public WifiBoard {
}

virtual AudioCodec* GetAudioCodec() override {
static Es8311AudioCodec* audio_codec = nullptr;
if (audio_codec == nullptr) {
audio_codec = new Es8311AudioCodec(i2c_bus_, I2C_NUM_1, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_GPIO_PA, AUDIO_CODEC_ES8311_ADDR, false);
}
return audio_codec;
static Es8311AudioCodec audio_codec(
i2c_bus_,
I2C_NUM_1,
AUDIO_INPUT_SAMPLE_RATE,
AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK,
AUDIO_I2S_GPIO_BCLK,
AUDIO_I2S_GPIO_WS,
AUDIO_I2S_GPIO_DOUT,
AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_GPIO_PA,
AUDIO_CODEC_ES8311_ADDR,
false);
return &audio_codec;
}

};
Expand Down
21 changes: 14 additions & 7 deletions main/boards/atoms3r-echo-base/atoms3r_echo_base.cc
Original file line number Diff line number Diff line change
Expand Up @@ -233,13 +233,20 @@ class AtomS3rEchoBaseBoard : public WifiBoard {
}

virtual AudioCodec* GetAudioCodec() override {
static Es8311AudioCodec* audio_codec = nullptr;
if (audio_codec == nullptr) {
audio_codec = new Es8311AudioCodec(i2c_bus_, I2C_NUM_1, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_GPIO_PA, AUDIO_CODEC_ES8311_ADDR, false);
}
return audio_codec;
static Es8311AudioCodec audio_codec(
i2c_bus_,
I2C_NUM_1,
AUDIO_INPUT_SAMPLE_RATE,
AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK,
AUDIO_I2S_GPIO_BCLK,
AUDIO_I2S_GPIO_WS,
AUDIO_I2S_GPIO_DOUT,
AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_GPIO_PA,
AUDIO_CODEC_ES8311_ADDR,
false);
return &audio_codec;
}

virtual Display* GetDisplay() override {
Expand Down
5 changes: 1 addition & 4 deletions main/boards/common/board.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,7 @@ class Board {

public:
static Board& GetInstance() {
static Board* instance = nullptr;
if (nullptr == instance) {
instance = static_cast<Board*>(create_board());
}
static Board* instance = static_cast<Board*>(create_board());
return *instance;
}

Expand Down
21 changes: 14 additions & 7 deletions main/boards/esp-box-3/esp_box3_board.cc
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,20 @@ class EspBox3Board : public WifiBoard {
}

virtual AudioCodec* GetAudioCodec() override {
static BoxAudioCodec* audio_codec = nullptr;
if (audio_codec == nullptr) {
audio_codec = new BoxAudioCodec(i2c_bus_, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_PA_PIN, AUDIO_CODEC_ES8311_ADDR, AUDIO_CODEC_ES7210_ADDR, AUDIO_INPUT_REFERENCE);
}
return audio_codec;
static BoxAudioCodec audio_codec(
i2c_bus_,
AUDIO_INPUT_SAMPLE_RATE,
AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK,
AUDIO_I2S_GPIO_BCLK,
AUDIO_I2S_GPIO_WS,
AUDIO_I2S_GPIO_DOUT,
AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_PA_PIN,
AUDIO_CODEC_ES8311_ADDR,
AUDIO_CODEC_ES7210_ADDR,
AUDIO_INPUT_REFERENCE);
return &audio_codec;
}

virtual Display* GetDisplay() override {
Expand Down
21 changes: 14 additions & 7 deletions main/boards/esp32s3-korvo2-v3/esp32s3_korvo2_v3_board.cc
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,20 @@ class esp32s3_korvo2_v3_board : public WifiBoard
}

virtual AudioCodec* GetAudioCodec() override {
static BoxAudioCodec* audio_codec = nullptr;
if (audio_codec == nullptr) {
audio_codec = new BoxAudioCodec(i2c_bus_, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_PA_PIN, AUDIO_CODEC_ES8311_ADDR, AUDIO_CODEC_ES7210_ADDR, AUDIO_INPUT_REFERENCE);
}
return audio_codec;
static BoxAudioCodec audio_codec(
i2c_bus_,
AUDIO_INPUT_SAMPLE_RATE,
AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK,
AUDIO_I2S_GPIO_BCLK,
AUDIO_I2S_GPIO_WS,
AUDIO_I2S_GPIO_DOUT,
AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_PA_PIN,
AUDIO_CODEC_ES8311_ADDR,
AUDIO_CODEC_ES7210_ADDR,
AUDIO_INPUT_REFERENCE);
return &audio_codec;
}

virtual Display *GetDisplay() override
Expand Down
20 changes: 13 additions & 7 deletions main/boards/lichuang-c3-dev/lichuang_c3_dev_board.cc
Original file line number Diff line number Diff line change
Expand Up @@ -116,13 +116,19 @@ class LichuangC3DevBoard : public WifiBoard {
}

virtual AudioCodec* GetAudioCodec() override {
static Es8311AudioCodec* audio_codec = nullptr;
if (audio_codec == nullptr) {
audio_codec = new Es8311AudioCodec(codec_i2c_bus_, I2C_NUM_0, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_PA_PIN, AUDIO_CODEC_ES8311_ADDR);
}
return audio_codec;
static Es8311AudioCodec audio_codec(
codec_i2c_bus_,
I2C_NUM_0,
AUDIO_INPUT_SAMPLE_RATE,
AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK,
AUDIO_I2S_GPIO_BCLK,
AUDIO_I2S_GPIO_WS,
AUDIO_I2S_GPIO_DOUT,
AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_PA_PIN,
AUDIO_CODEC_ES8311_ADDR);
return &audio_codec;
}

virtual Display* GetDisplay() override {
Expand Down
21 changes: 14 additions & 7 deletions main/boards/lichuang-dev/lichuang_dev_board.cc
Original file line number Diff line number Diff line change
Expand Up @@ -142,13 +142,20 @@ class LichuangDevBoard : public WifiBoard {
}

virtual AudioCodec* GetAudioCodec() override {
static BoxAudioCodec* audio_codec = nullptr;
if (audio_codec == nullptr) {
audio_codec = new BoxAudioCodec(i2c_bus_, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
GPIO_NUM_NC, AUDIO_CODEC_ES8311_ADDR, AUDIO_CODEC_ES7210_ADDR, AUDIO_INPUT_REFERENCE);
}
return audio_codec;
static BoxAudioCodec audio_codec(
i2c_bus_,
AUDIO_INPUT_SAMPLE_RATE,
AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK,
AUDIO_I2S_GPIO_BCLK,
AUDIO_I2S_GPIO_WS,
AUDIO_I2S_GPIO_DOUT,
AUDIO_I2S_GPIO_DIN,
GPIO_NUM_NC,
AUDIO_CODEC_ES8311_ADDR,
AUDIO_CODEC_ES7210_ADDR,
AUDIO_INPUT_REFERENCE);
return &audio_codec;
}

virtual Display* GetDisplay() override {
Expand Down
19 changes: 11 additions & 8 deletions main/boards/lilygo-t-circle-s3/lilygo-t-circle-s3.cc
Original file line number Diff line number Diff line change
Expand Up @@ -219,14 +219,17 @@ class LilygoTCircleS3Board : public WifiBoard {
}

virtual AudioCodec *GetAudioCodec() override {
static Tcircles3AudioCodec *audio_codec = nullptr;
if (audio_codec == nullptr){
audio_codec = new Tcircles3AudioCodec(AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_MIC_I2S_GPIO_BCLK, AUDIO_MIC_I2S_GPIO_WS, AUDIO_MIC_I2S_GPIO_DATA,
AUDIO_SPKR_I2S_GPIO_BCLK, AUDIO_SPKR_I2S_GPIO_LRCLK, AUDIO_SPKR_I2S_GPIO_DATA,
AUDIO_INPUT_REFERENCE);
}
return audio_codec;
static Tcircles3AudioCodec audio_codec(
AUDIO_INPUT_SAMPLE_RATE,
AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_MIC_I2S_GPIO_BCLK,
AUDIO_MIC_I2S_GPIO_WS,
AUDIO_MIC_I2S_GPIO_DATA,
AUDIO_SPKR_I2S_GPIO_BCLK,
AUDIO_SPKR_I2S_GPIO_LRCLK,
AUDIO_SPKR_I2S_GPIO_DATA,
AUDIO_INPUT_REFERENCE);
return &audio_codec;
}

virtual Display *GetDisplay() override{
Expand Down
20 changes: 12 additions & 8 deletions main/boards/m5stack-core-s3/m5stack_core_s3.cc
Original file line number Diff line number Diff line change
Expand Up @@ -303,14 +303,18 @@ class M5StackCoreS3Board : public WifiBoard {
}

virtual AudioCodec* GetAudioCodec() override {
static CoreS3AudioCodec* audio_codec = nullptr;
if (audio_codec == nullptr) {
aw9523_->ResetAw88298();
audio_codec = new CoreS3AudioCodec(i2c_bus_, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_AW88298_ADDR, AUDIO_CODEC_ES7210_ADDR, AUDIO_INPUT_REFERENCE);
}
return audio_codec;
static CoreS3AudioCodec audio_codec(i2c_bus_,
AUDIO_INPUT_SAMPLE_RATE,
AUDIO_OUTPUT_SAMPLE_RATE,
AUDIO_I2S_GPIO_MCLK,
AUDIO_I2S_GPIO_BCLK,
AUDIO_I2S_GPIO_WS,
AUDIO_I2S_GPIO_DOUT,
AUDIO_I2S_GPIO_DIN,
AUDIO_CODEC_AW88298_ADDR,
AUDIO_CODEC_ES7210_ADDR,
AUDIO_INPUT_REFERENCE);
return &audio_codec;
}

virtual Display* GetDisplay() override {
Expand Down
2 changes: 1 addition & 1 deletion main/display/lcd_display.cc
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ LcdDisplay::LcdDisplay(esp_lcd_panel_io_handle_t panel_io, esp_lcd_panel_handle_
.panel_handle = panel_,
.control_handle = nullptr,
.buffer_size = static_cast<uint32_t>(width_ * 10),
.double_buffer = true,
.double_buffer = false,
.trans_size = 0,
.hres = static_cast<uint32_t>(width_),
.vres = static_cast<uint32_t>(height_),
Expand Down

0 comments on commit 4aef3d2

Please sign in to comment.