forked from xiaozhi/xiaozhi-esp32
update version to 1.1.2
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.1.1")
|
set(PROJECT_VER "1.1.2")
|
||||||
|
|
||||||
# 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)
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ endif()
|
|||||||
file(GLOB BOARD_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/boards/${BOARD_TYPE}/*.cc)
|
file(GLOB BOARD_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/boards/${BOARD_TYPE}/*.cc)
|
||||||
list(APPEND SOURCES ${BOARD_SOURCES})
|
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")
|
list(APPEND SOURCES "audio_processing/audio_processor.cc" "audio_processing/wake_word_detect.cc")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -118,6 +118,12 @@ choice DISPLAY_LCD_TYPE
|
|||||||
bool "ILI9341, 分辨率240*320, 非IPS"
|
bool "ILI9341, 分辨率240*320, 非IPS"
|
||||||
config LCD_CUSTOM
|
config LCD_CUSTOM
|
||||||
bool "自定义屏幕参数"
|
bool "自定义屏幕参数"
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
config USE_AUDIO_PROCESSING
|
||||||
|
bool "启用语音唤醒与音频处理"
|
||||||
|
default y
|
||||||
|
depends on IDF_TARGET_ESP32S3 && USE_AFE
|
||||||
|
help
|
||||||
|
需要 ESP32 S3 与 AFE 支持
|
||||||
endmenu
|
endmenu
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ void Application::CheckNewVersion() {
|
|||||||
display->SetStatus("新版本 " + ota_.GetFirmwareVersion());
|
display->SetStatus("新版本 " + ota_.GetFirmwareVersion());
|
||||||
|
|
||||||
board.SetPowerSaveMode(false);
|
board.SetPowerSaveMode(false);
|
||||||
#if CONFIG_IDF_TARGET_ESP32S3
|
#if CONFIG_USE_AUDIO_PROCESSING
|
||||||
wake_word_detect_.StopDetection();
|
wake_word_detect_.StopDetection();
|
||||||
#endif
|
#endif
|
||||||
// 预先关闭音频输出,避免升级过程有音频操作
|
// 预先关闭音频输出,避免升级过程有音频操作
|
||||||
@@ -365,7 +365,7 @@ void Application::Start() {
|
|||||||
}, "check_new_version", 4096 * 2, this, 1, nullptr);
|
}, "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_.Initialize(codec->input_channels(), codec->input_reference());
|
||||||
audio_processor_.OnOutput([this](std::vector<int16_t>&& data) {
|
audio_processor_.OnOutput([this](std::vector<int16_t>&& data) {
|
||||||
background_task_->Schedule([this, data = std::move(data)]() mutable {
|
background_task_->Schedule([this, data = std::move(data)]() mutable {
|
||||||
@@ -551,7 +551,7 @@ void Application::InputAudio() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_IDF_TARGET_ESP32S3
|
#if CONFIG_USE_AUDIO_PROCESSING
|
||||||
if (audio_processor_.IsRunning()) {
|
if (audio_processor_.IsRunning()) {
|
||||||
audio_processor_.Input(data);
|
audio_processor_.Input(data);
|
||||||
}
|
}
|
||||||
@@ -595,7 +595,7 @@ void Application::SetDeviceState(DeviceState state) {
|
|||||||
case kDeviceStateIdle:
|
case kDeviceStateIdle:
|
||||||
display->SetStatus("待命");
|
display->SetStatus("待命");
|
||||||
display->SetEmotion("neutral");
|
display->SetEmotion("neutral");
|
||||||
#ifdef CONFIG_IDF_TARGET_ESP32S3
|
#ifdef CONFIG_USE_AUDIO_PROCESSING
|
||||||
audio_processor_.Stop();
|
audio_processor_.Stop();
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
@@ -607,7 +607,7 @@ void Application::SetDeviceState(DeviceState state) {
|
|||||||
display->SetEmotion("neutral");
|
display->SetEmotion("neutral");
|
||||||
ResetDecoder();
|
ResetDecoder();
|
||||||
opus_encoder_->ResetState();
|
opus_encoder_->ResetState();
|
||||||
#if CONFIG_IDF_TARGET_ESP32S3
|
#if CONFIG_USE_AUDIO_PROCESSING
|
||||||
audio_processor_.Start();
|
audio_processor_.Start();
|
||||||
#endif
|
#endif
|
||||||
UpdateIotStates();
|
UpdateIotStates();
|
||||||
@@ -615,7 +615,7 @@ void Application::SetDeviceState(DeviceState state) {
|
|||||||
case kDeviceStateSpeaking:
|
case kDeviceStateSpeaking:
|
||||||
display->SetStatus("说话中...");
|
display->SetStatus("说话中...");
|
||||||
ResetDecoder();
|
ResetDecoder();
|
||||||
#if CONFIG_IDF_TARGET_ESP32S3
|
#if CONFIG_USE_AUDIO_PROCESSING
|
||||||
audio_processor_.Stop();
|
audio_processor_.Stop();
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
#include "ota.h"
|
#include "ota.h"
|
||||||
#include "background_task.h"
|
#include "background_task.h"
|
||||||
|
|
||||||
#if CONFIG_IDF_TARGET_ESP32S3
|
#if CONFIG_USE_AUDIO_PROCESSING
|
||||||
#include "wake_word_detect.h"
|
#include "wake_word_detect.h"
|
||||||
#include "audio_processor.h"
|
#include "audio_processor.h"
|
||||||
#endif
|
#endif
|
||||||
@@ -66,7 +66,7 @@ private:
|
|||||||
Application();
|
Application();
|
||||||
~Application();
|
~Application();
|
||||||
|
|
||||||
#if CONFIG_IDF_TARGET_ESP32S3
|
#if CONFIG_USE_AUDIO_PROCESSING
|
||||||
WakeWordDetect wake_word_detect_;
|
WakeWordDetect wake_word_detect_;
|
||||||
AudioProcessor audio_processor_;
|
AudioProcessor audio_processor_;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -162,13 +162,20 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual AudioCodec* GetAudioCodec() override {
|
virtual AudioCodec* GetAudioCodec() override {
|
||||||
static Es8388AudioCodec* audio_codec = nullptr;
|
static Es8388AudioCodec audio_codec(
|
||||||
if (audio_codec == nullptr) {
|
i2c_bus_,
|
||||||
audio_codec = new Es8388AudioCodec(i2c_bus_, I2C_NUM_0, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
|
I2C_NUM_0,
|
||||||
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
|
AUDIO_INPUT_SAMPLE_RATE,
|
||||||
GPIO_NUM_NC, AUDIO_CODEC_ES8388_ADDR);
|
AUDIO_OUTPUT_SAMPLE_RATE,
|
||||||
}
|
AUDIO_I2S_GPIO_MCLK,
|
||||||
return audio_codec;
|
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 {
|
virtual Display* GetDisplay() override {
|
||||||
|
|||||||
@@ -122,13 +122,20 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual AudioCodec* GetAudioCodec() override {
|
virtual AudioCodec* GetAudioCodec() override {
|
||||||
static Es8311AudioCodec* audio_codec = nullptr;
|
static Es8311AudioCodec audio_codec(
|
||||||
if (audio_codec == nullptr) {
|
i2c_bus_,
|
||||||
audio_codec = new Es8311AudioCodec(i2c_bus_, I2C_NUM_1, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
|
I2C_NUM_1,
|
||||||
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
|
AUDIO_INPUT_SAMPLE_RATE,
|
||||||
AUDIO_CODEC_GPIO_PA, AUDIO_CODEC_ES8311_ADDR, false);
|
AUDIO_OUTPUT_SAMPLE_RATE,
|
||||||
}
|
AUDIO_I2S_GPIO_MCLK,
|
||||||
return audio_codec;
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -233,13 +233,20 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual AudioCodec* GetAudioCodec() override {
|
virtual AudioCodec* GetAudioCodec() override {
|
||||||
static Es8311AudioCodec* audio_codec = nullptr;
|
static Es8311AudioCodec audio_codec(
|
||||||
if (audio_codec == nullptr) {
|
i2c_bus_,
|
||||||
audio_codec = new Es8311AudioCodec(i2c_bus_, I2C_NUM_1, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
|
I2C_NUM_1,
|
||||||
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
|
AUDIO_INPUT_SAMPLE_RATE,
|
||||||
AUDIO_CODEC_GPIO_PA, AUDIO_CODEC_ES8311_ADDR, false);
|
AUDIO_OUTPUT_SAMPLE_RATE,
|
||||||
}
|
AUDIO_I2S_GPIO_MCLK,
|
||||||
return audio_codec;
|
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 {
|
virtual Display* GetDisplay() override {
|
||||||
|
|||||||
@@ -23,10 +23,7 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
static Board& GetInstance() {
|
static Board& GetInstance() {
|
||||||
static Board* instance = nullptr;
|
static Board* instance = static_cast<Board*>(create_board());
|
||||||
if (nullptr == instance) {
|
|
||||||
instance = static_cast<Board*>(create_board());
|
|
||||||
}
|
|
||||||
return *instance;
|
return *instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -146,13 +146,20 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual AudioCodec* GetAudioCodec() override {
|
virtual AudioCodec* GetAudioCodec() override {
|
||||||
static BoxAudioCodec* audio_codec = nullptr;
|
static BoxAudioCodec audio_codec(
|
||||||
if (audio_codec == nullptr) {
|
i2c_bus_,
|
||||||
audio_codec = new BoxAudioCodec(i2c_bus_, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
|
AUDIO_INPUT_SAMPLE_RATE,
|
||||||
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
|
AUDIO_OUTPUT_SAMPLE_RATE,
|
||||||
AUDIO_CODEC_PA_PIN, AUDIO_CODEC_ES8311_ADDR, AUDIO_CODEC_ES7210_ADDR, AUDIO_INPUT_REFERENCE);
|
AUDIO_I2S_GPIO_MCLK,
|
||||||
}
|
AUDIO_I2S_GPIO_BCLK,
|
||||||
return audio_codec;
|
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 {
|
virtual Display* GetDisplay() override {
|
||||||
|
|||||||
@@ -125,13 +125,20 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual AudioCodec* GetAudioCodec() override {
|
virtual AudioCodec* GetAudioCodec() override {
|
||||||
static BoxAudioCodec* audio_codec = nullptr;
|
static BoxAudioCodec audio_codec(
|
||||||
if (audio_codec == nullptr) {
|
i2c_bus_,
|
||||||
audio_codec = new BoxAudioCodec(i2c_bus_, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
|
AUDIO_INPUT_SAMPLE_RATE,
|
||||||
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
|
AUDIO_OUTPUT_SAMPLE_RATE,
|
||||||
AUDIO_CODEC_PA_PIN, AUDIO_CODEC_ES8311_ADDR, AUDIO_CODEC_ES7210_ADDR, AUDIO_INPUT_REFERENCE);
|
AUDIO_I2S_GPIO_MCLK,
|
||||||
}
|
AUDIO_I2S_GPIO_BCLK,
|
||||||
return audio_codec;
|
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
|
virtual Display *GetDisplay() override
|
||||||
|
|||||||
@@ -116,13 +116,19 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual AudioCodec* GetAudioCodec() override {
|
virtual AudioCodec* GetAudioCodec() override {
|
||||||
static Es8311AudioCodec* audio_codec = nullptr;
|
static Es8311AudioCodec audio_codec(
|
||||||
if (audio_codec == nullptr) {
|
codec_i2c_bus_,
|
||||||
audio_codec = new Es8311AudioCodec(codec_i2c_bus_, I2C_NUM_0, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
|
I2C_NUM_0,
|
||||||
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
|
AUDIO_INPUT_SAMPLE_RATE,
|
||||||
AUDIO_CODEC_PA_PIN, AUDIO_CODEC_ES8311_ADDR);
|
AUDIO_OUTPUT_SAMPLE_RATE,
|
||||||
}
|
AUDIO_I2S_GPIO_MCLK,
|
||||||
return audio_codec;
|
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 {
|
virtual Display* GetDisplay() override {
|
||||||
|
|||||||
@@ -142,13 +142,20 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual AudioCodec* GetAudioCodec() override {
|
virtual AudioCodec* GetAudioCodec() override {
|
||||||
static BoxAudioCodec* audio_codec = nullptr;
|
static BoxAudioCodec audio_codec(
|
||||||
if (audio_codec == nullptr) {
|
i2c_bus_,
|
||||||
audio_codec = new BoxAudioCodec(i2c_bus_, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
|
AUDIO_INPUT_SAMPLE_RATE,
|
||||||
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
|
AUDIO_OUTPUT_SAMPLE_RATE,
|
||||||
GPIO_NUM_NC, AUDIO_CODEC_ES8311_ADDR, AUDIO_CODEC_ES7210_ADDR, AUDIO_INPUT_REFERENCE);
|
AUDIO_I2S_GPIO_MCLK,
|
||||||
}
|
AUDIO_I2S_GPIO_BCLK,
|
||||||
return audio_codec;
|
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 {
|
virtual Display* GetDisplay() override {
|
||||||
|
|||||||
@@ -219,14 +219,17 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual AudioCodec *GetAudioCodec() override {
|
virtual AudioCodec *GetAudioCodec() override {
|
||||||
static Tcircles3AudioCodec *audio_codec = nullptr;
|
static Tcircles3AudioCodec audio_codec(
|
||||||
if (audio_codec == nullptr){
|
AUDIO_INPUT_SAMPLE_RATE,
|
||||||
audio_codec = new Tcircles3AudioCodec(AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
|
AUDIO_OUTPUT_SAMPLE_RATE,
|
||||||
AUDIO_MIC_I2S_GPIO_BCLK, AUDIO_MIC_I2S_GPIO_WS, AUDIO_MIC_I2S_GPIO_DATA,
|
AUDIO_MIC_I2S_GPIO_BCLK,
|
||||||
AUDIO_SPKR_I2S_GPIO_BCLK, AUDIO_SPKR_I2S_GPIO_LRCLK, AUDIO_SPKR_I2S_GPIO_DATA,
|
AUDIO_MIC_I2S_GPIO_WS,
|
||||||
AUDIO_INPUT_REFERENCE);
|
AUDIO_MIC_I2S_GPIO_DATA,
|
||||||
}
|
AUDIO_SPKR_I2S_GPIO_BCLK,
|
||||||
return audio_codec;
|
AUDIO_SPKR_I2S_GPIO_LRCLK,
|
||||||
|
AUDIO_SPKR_I2S_GPIO_DATA,
|
||||||
|
AUDIO_INPUT_REFERENCE);
|
||||||
|
return &audio_codec;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual Display *GetDisplay() override{
|
virtual Display *GetDisplay() override{
|
||||||
|
|||||||
@@ -303,14 +303,18 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual AudioCodec* GetAudioCodec() override {
|
virtual AudioCodec* GetAudioCodec() override {
|
||||||
static CoreS3AudioCodec* audio_codec = nullptr;
|
static CoreS3AudioCodec audio_codec(i2c_bus_,
|
||||||
if (audio_codec == nullptr) {
|
AUDIO_INPUT_SAMPLE_RATE,
|
||||||
aw9523_->ResetAw88298();
|
AUDIO_OUTPUT_SAMPLE_RATE,
|
||||||
audio_codec = new CoreS3AudioCodec(i2c_bus_, AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
|
AUDIO_I2S_GPIO_MCLK,
|
||||||
AUDIO_I2S_GPIO_MCLK, AUDIO_I2S_GPIO_BCLK, AUDIO_I2S_GPIO_WS, AUDIO_I2S_GPIO_DOUT, AUDIO_I2S_GPIO_DIN,
|
AUDIO_I2S_GPIO_BCLK,
|
||||||
AUDIO_CODEC_AW88298_ADDR, AUDIO_CODEC_ES7210_ADDR, AUDIO_INPUT_REFERENCE);
|
AUDIO_I2S_GPIO_WS,
|
||||||
}
|
AUDIO_I2S_GPIO_DOUT,
|
||||||
return audio_codec;
|
AUDIO_I2S_GPIO_DIN,
|
||||||
|
AUDIO_CODEC_AW88298_ADDR,
|
||||||
|
AUDIO_CODEC_ES7210_ADDR,
|
||||||
|
AUDIO_INPUT_REFERENCE);
|
||||||
|
return &audio_codec;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual Display* GetDisplay() override {
|
virtual Display* GetDisplay() override {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ LcdDisplay::LcdDisplay(esp_lcd_panel_io_handle_t panel_io, esp_lcd_panel_handle_
|
|||||||
.panel_handle = panel_,
|
.panel_handle = panel_,
|
||||||
.control_handle = nullptr,
|
.control_handle = nullptr,
|
||||||
.buffer_size = static_cast<uint32_t>(width_ * 10),
|
.buffer_size = static_cast<uint32_t>(width_ * 10),
|
||||||
.double_buffer = true,
|
.double_buffer = false,
|
||||||
.trans_size = 0,
|
.trans_size = 0,
|
||||||
.hres = static_cast<uint32_t>(width_),
|
.hres = static_cast<uint32_t>(width_),
|
||||||
.vres = static_cast<uint32_t>(height_),
|
.vres = static_cast<uint32_t>(height_),
|
||||||
|
|||||||
Reference in New Issue
Block a user