Add wake word to xmini-c3 (#730)

* esp-hi: MCP protocol is not ready yet

* Add wake word to xmini-c3
This commit is contained in:
Xiaoxia
2025-05-31 22:21:03 +08:00
committed by GitHub
parent 6cb025859f
commit ae57131c15
27 changed files with 399 additions and 155 deletions

View File

@ -30,7 +30,8 @@
"CONFIG_MBEDTLS_DYNAMIC_FREE_CONFIG_DATA=y",
"CONFIG_NEWLIB_NANO_FORMAT=y",
"CONFIG_MMAP_FILE_NAME_LENGTH=25",
"CONFIG_ESP_CONSOLE_NONE=y"
"CONFIG_ESP_CONSOLE_NONE=y",
"CONFIG_IOT_PROTOCOL_XIAOZHI=y"
]
}
]

View File

@ -70,7 +70,7 @@ private:
}
void InitializePowerSaveTimer() {
power_save_timer_ = new PowerSaveTimer(160, 60);
power_save_timer_ = new PowerSaveTimer(240, 60);
power_save_timer_->OnEnterSleepMode([this]() {
ESP_LOGI(TAG, "Enabling sleep mode");
auto display = GetDisplay();

View File

@ -5,7 +5,9 @@
"name": "lichuang-c3-dev",
"sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_8M.csv\""
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_8M.csv\"",
"CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=n",
"CONFIG_LWIP_IPV6=n"
]
}
]

View File

@ -5,7 +5,8 @@
"name": "magiclick-c3-v2",
"sdkconfig_append": [
"CONFIG_PM_ENABLE=y",
"CONFIG_FREERTOS_USE_TICKLESS_IDLE=y"
"CONFIG_FREERTOS_USE_TICKLESS_IDLE=y",
"CONFIG_USE_ESP_WAKE_WORD=n"
]
}
]

View File

@ -5,7 +5,8 @@
"name": "magiclick-c3",
"sdkconfig_append": [
"CONFIG_PM_ENABLE=y",
"CONFIG_FREERTOS_USE_TICKLESS_IDLE=y"
"CONFIG_FREERTOS_USE_TICKLESS_IDLE=y",
"CONFIG_USE_ESP_WAKE_WORD=n"
]
}
]

View File

@ -5,7 +5,8 @@
"name": "xmini-c3",
"sdkconfig_append": [
"CONFIG_PM_ENABLE=y",
"CONFIG_FREERTOS_USE_TICKLESS_IDLE=y"
"CONFIG_FREERTOS_USE_TICKLESS_IDLE=y",
"CONFIG_USE_ESP_WAKE_WORD=y"
]
}
]

View File

@ -30,10 +30,10 @@ private:
Display* display_ = nullptr;
Button boot_button_;
bool press_to_talk_enabled_ = false;
PowerSaveTimer* power_save_timer_;
PowerSaveTimer* power_save_timer_ = nullptr;
void InitializePowerSaveTimer() {
power_save_timer_ = new PowerSaveTimer(160, 60);
power_save_timer_ = new PowerSaveTimer(160, 600);
power_save_timer_->OnEnterSleepMode([this]() {
ESP_LOGI(TAG, "Enabling sleep mode");
auto display = GetDisplay();
@ -130,7 +130,9 @@ private:
}
});
boot_button_.OnPressDown([this]() {
power_save_timer_->WakeUp();
if (power_save_timer_) {
power_save_timer_->WakeUp();
}
if (press_to_talk_enabled_) {
Application::GetInstance().StartListening();
}