diff --git a/main/Kconfig.projbuild b/main/Kconfig.projbuild index ecd9d215..ebf30ae1 100644 --- a/main/Kconfig.projbuild +++ b/main/Kconfig.projbuild @@ -619,6 +619,19 @@ choice DISPLAY_ESP32S3_AUDIO_BOARD bool "ST7789 240*320" endchoice +choice DISPLAY_ESP32S3_TOUCH_LCD_1_85C + depends on BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85C + prompt "ESP32S3_TOUCH_LCD_1_85C version" + default VERSION_2_0 + help + hardware version + config VERSION_1_0 + bool "version 1.0" + config VERSION_2_0 + bool "version 2.0" +endchoice + + choice DISPLAY_STYLE prompt "Select display style" default USE_DEFAULT_MESSAGE_STYLE diff --git a/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/config.h b/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/config.h index dfd5a891..d7d8cf0f 100644 --- a/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/config.h +++ b/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/config.h @@ -4,11 +4,14 @@ #include #include -#define AUDIO_INPUT_SAMPLE_RATE 16000 -#define AUDIO_OUTPUT_SAMPLE_RATE 24000 + #define BOOT_BUTTON_GPIO GPIO_NUM_0 +#ifdef CONFIG_VERSION_1_0 +#define AUDIO_INPUT_SAMPLE_RATE 16000 +#define AUDIO_OUTPUT_SAMPLE_RATE 24000 + #define AUDIO_I2S_MIC_GPIO_WS GPIO_NUM_2 #define AUDIO_I2S_MIC_GPIO_SCK GPIO_NUM_15 #define AUDIO_I2S_MIC_GPIO_DIN GPIO_NUM_39 @@ -16,6 +19,26 @@ #define AUDIO_I2S_SPK_GPIO_BCLK GPIO_NUM_48 #define AUDIO_I2S_SPK_GPIO_LRCK GPIO_NUM_38 +#endif + +#ifdef CONFIG_VERSION_2_0 +#define AUDIO_INPUT_SAMPLE_RATE 24000 +#define AUDIO_OUTPUT_SAMPLE_RATE 24000 + +#define AUDIO_I2S_GPIO_MCLK GPIO_NUM_2 +#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_48 +#define AUDIO_I2S_GPIO_WS GPIO_NUM_38 +#define AUDIO_I2S_GPIO_DIN GPIO_NUM_39 +#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_47 +#define AUDIO_CODEC_PA_PIN GPIO_NUM_15 +#define AUDIO_INPUT_REFERENCE true +#define AUDIO_CODEC_ES8311_ADDR ES8311_CODEC_DEFAULT_ADDR +#define AUDIO_CODEC_ES7210_ADDR ES7210_CODEC_DEFAULT_ADDR + +#endif + + + #define I2C_SCL_IO GPIO_NUM_10 #define I2C_SDA_IO GPIO_NUM_11 diff --git a/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/esp32-s3-touch-lcd-1.85c.cc b/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/esp32-s3-touch-lcd-1.85c.cc index 6706879b..b73abb3d 100644 --- a/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/esp32-s3-touch-lcd-1.85c.cc +++ b/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/esp32-s3-touch-lcd-1.85c.cc @@ -1,5 +1,6 @@ #include "wifi_board.h" #include "codecs/no_audio_codec.h" +#include "codecs/box_audio_codec.h" #include "display/lcd_display.h" #include "system_reset.h" #include "application.h" @@ -376,12 +377,22 @@ public: GetBacklight()->RestoreBrightness(); } + #ifdef CONFIG_VERSION_1_0 virtual AudioCodec* GetAudioCodec() override { static NoAudioCodecSimplex audio_codec(AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE, AUDIO_I2S_SPK_GPIO_BCLK, AUDIO_I2S_SPK_GPIO_LRCK, AUDIO_I2S_SPK_GPIO_DOUT, I2S_STD_SLOT_LEFT, AUDIO_I2S_MIC_GPIO_SCK, AUDIO_I2S_MIC_GPIO_WS, AUDIO_I2S_MIC_GPIO_DIN, I2S_STD_SLOT_RIGHT); // I2S_STD_SLOT_LEFT / I2S_STD_SLOT_RIGHT / I2S_STD_SLOT_BOTH return &audio_codec; } + #endif + + #ifdef CONFIG_VERSION_2_0 + virtual AudioCodec* GetAudioCodec() override { + 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; + } + #endif virtual Display* GetDisplay() override { return display_;