v1.8.0: Audio 代码重构与低功耗优化 (#943)

* Reconstruct Audio Code

* Remove old IoT implementation

* Add MQTT-UDP documentation

* OTA升级失败时,可以继续使用
This commit is contained in:
Xiaoxia
2025-07-19 22:45:22 +08:00
committed by GitHub
parent 0621578f55
commit 3c71558a5f
173 changed files with 2099 additions and 3265 deletions

View File

@@ -1,5 +1,5 @@
#include "wifi_board.h"
#include "audio_codecs/es8311_audio_codec.h"
#include "codecs/es8311_audio_codec.h"
#include "application.h"
#include "button.h"
#include "config.h"
@@ -34,6 +34,14 @@ private:
},
};
ESP_ERROR_CHECK(i2c_new_master_bus(&i2c_bus_cfg, &codec_i2c_bus_));
// Print I2C bus info
if (i2c_master_probe(codec_i2c_bus_, 0x18, 1000) != ESP_OK) {
while (true) {
ESP_LOGE(TAG, "Failed to probe I2C bus, please check if you have installed the correct firmware");
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
}
void InitializeButtons() {
@@ -52,19 +60,19 @@ private:
}
// 物联网初始化,添加对 AI 可见设备
void InitializeIot() {
void InitializeTools() {
led_strip_ = new CircularStrip(BUILTIN_LED_GPIO, 8);
new LedStripControl(led_strip_);
}
public:
KevinBoxBoard() : boot_button_(BOOT_BUTTON_GPIO) {
// 把 ESP32C3 的 VDD SPI 引脚作为普通 GPIO 口使用
esp_efuse_write_field_bit(ESP_EFUSE_VDD_SPI_AS_GPIO);
KevinBoxBoard() : boot_button_(BOOT_BUTTON_GPIO) {
InitializeCodecI2c();
InitializeButtons();
InitializeIot();
InitializeTools();
// 把 ESP32C3 的 VDD SPI 引脚作为普通 GPIO 口使用
esp_efuse_write_field_bit(ESP_EFUSE_VDD_SPI_AS_GPIO);
}
virtual Led* GetLed() override {