1. 完成了PWR按键相关的测试,测试通过

2. 完成了语言识别测试,测试基本通过,后续需要修改从sd卡导入模型以配合ota
This commit is contained in:
Misaki
2025-09-01 00:11:00 +08:00
parent f13bb5a230
commit ce0998c1c6
17 changed files with 980 additions and 60 deletions
+240
View File
@@ -0,0 +1,240 @@
#include "MIC_Speech.h"
#include "driver/gpio.h"
#include "driver/i2s_std.h"
#include "driver/i2s_tdm.h"
#include "soc/soc_caps.h"
#include "esp_err.h"
#include "esp_log.h"
#include "esp_wn_iface.h"
#include "esp_wn_models.h"
#include "esp_afe_sr_models.h"
#include "esp_mn_iface.h"
#include "esp_mn_models.h"
#define I2S_CHANNEL_NUM 1
static const char *TAG = "App/Speech";
static i2s_chan_handle_t rx_handle = NULL; // I2S rx channel handler
static AppSpeech MIC_Speech;
bool play_Music_Flag = 0;
uint8_t LCD_Backlight_original = 0;
static esp_err_t i2s_init(i2s_port_t i2s_num, uint32_t sample_rate, int channel_format, int bits_per_chan)
{
esp_err_t ret_val = ESP_OK;
i2s_chan_config_t chan_cfg = I2S_CHANNEL_DEFAULT_CONFIG(i2s_num, I2S_ROLE_MASTER);
ret_val |= i2s_new_channel(&chan_cfg, NULL, &rx_handle);
i2s_std_config_t std_cfg = I2S_CONFIG_DEFAULT(16000, I2S_SLOT_MODE_MONO, I2S_DATA_BIT_WIDTH_32BIT);
// std_cfg.slot_cfg.slot_mask = I2S_STD_SLOT_LEFT;
std_cfg.slot_cfg.slot_mask = I2S_STD_SLOT_RIGHT;
// std_cfg.clk_cfg.mclk_multiple = EXAMPLE_MCLK_MULTIPLE; //The default is I2S_MCLK_MULTIPLE_256. If not using 24-bit data width, 256 should be enough
ret_val |= i2s_channel_init_std_mode(rx_handle, &std_cfg);
ret_val |= i2s_channel_enable(rx_handle);
return ret_val;
}
static void feed_handler(AppSpeech *self)
{
esp_afe_sr_data_t *afe_data = self->afe_data;
int audio_chunksize = self->afe_handle->get_feed_chunksize(afe_data);
int nch = self->afe_handle->get_channel_num(afe_data);
(void)nch;
size_t samp_len = audio_chunksize;
size_t samp_len_bytes = samp_len * I2S_CHANNEL_NUM * sizeof(int32_t);
int32_t *i2s_buff = (int32_t *)malloc(samp_len_bytes);
assert(i2s_buff);
size_t bytes_read;
// FILE *fp = fopen("/sdcard/out", "a+");
// if (fp == NULL) ESP_LOGE(TAG,"can not open file\n");
while (true)
{
i2s_channel_read(rx_handle, i2s_buff, samp_len_bytes, &bytes_read, portMAX_DELAY);
for (int i = 0; i < samp_len; ++i)
{
i2s_buff[i] = i2s_buff[i] >> 14; // 32:8 is the significant bit, 8:0 is the low 8 bits, all 0, the AFE input is 16 bits of voice data, the 29:13 bit is to amplify the voice signal.
}
// FatfsComboWrite(i2s_buff, audio_chunksize * I2S_CHANNEL_NUM * sizeof(int16_t), 1, fp);
self->afe_handle->feed(afe_data, (int16_t *)i2s_buff);
}
self->afe_handle->destroy(afe_data);
if (i2s_buff) {
free(i2s_buff);
i2s_buff = NULL;
}
vTaskDelete(NULL);
}
static void detect_hander(AppSpeech *self)
{
esp_afe_sr_data_t *afe_data = self->afe_data;
int afe_chunksize = self->afe_handle->get_fetch_chunksize(afe_data);
#if defined(CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8) || defined(CONFIG_SR_MN_CN_MULTINET6_QUANT) || defined(CONFIG_SR_MN_CN_MULTINET6_AC_QUANT)
char *mn_name = esp_srmodel_filter(self->models, ESP_MN_PREFIX, ESP_MN_CHINESE);
#else
char *mn_name = esp_srmodel_filter(self->models, ESP_MN_PREFIX, ESP_MN_ENGLISH);
#endif // CONFIG_IDF_TARGET_ESP32S3
ESP_LOGI(TAG, "multinet:%s\n", mn_name);
esp_mn_iface_t *multinet = esp_mn_handle_from_name(mn_name);
model_iface_data_t *model_data = multinet->create(mn_name, 6000);
esp_mn_commands_update_from_sdkconfig(multinet, model_data); // Add speech commands from sdkconfig
int mu_chunksize = multinet->get_samp_chunksize(model_data);
assert(mu_chunksize == afe_chunksize);
// FILE *fp = fopen("/sdcard/out", "w");
// if (fp == NULL) ESP_LOGE(TAG,"can not open file\n");
//print active speech commands
multinet->print_active_speech_commands(model_data);
ESP_LOGI(TAG, "Ready");
self->detected = false;
while (true)
{
afe_fetch_result_t* res = self->afe_handle->fetch(afe_data);
if (!res || res->ret_value == ESP_FAIL) {
ESP_LOGE(TAG, "fetch error!\n");
break;
}
if (res->wakeup_state == WAKENET_DETECTED) {
ESP_LOGI(TAG, "WAKEWORD DETECTED\n");
multinet->clean(model_data); // clean all status of multinet
LCD_Backlight_original = LCD_Backlight;
} else if (res->wakeup_state == WAKENET_CHANNEL_VERIFIED) {
ESP_LOGI(TAG, "AFE_FETCH_CHANNEL_VERIFIED, channel index: %d\n", res->trigger_channel_id);
ESP_LOGI(TAG, ">>> Say your command <<<");
self->detected = true;
self->afe_handle->disable_wakenet(afe_data);
LCD_Backlight = 35;
}
if (self->detected) {
esp_mn_state_t mn_state = multinet->detect(model_data, res->data);
if (mn_state == ESP_MN_STATE_DETECTING) {
self->command = COMMAND_NOT_DETECTED;
continue;
} else if (mn_state == ESP_MN_STATE_DETECTED) {
esp_mn_results_t *mn_result = multinet->get_results(model_data);
// for (int i = 0; i < mn_result->num; i++) {
// ESP_LOGI(TAG, "TOP %d, command_id: %d, phrase_id: %d, string:%s prob: %f\n",
// i+1, mn_result->command_id[i], mn_result->phrase_id[i], mn_result->string, mn_result->prob[i]);
// }
ESP_LOGI(TAG, "TOP %d, command_id: %d, phrase_id: %d, string:%s prob: %f\n",
1, mn_result->command_id[0], mn_result->phrase_id[0], mn_result->string, mn_result->prob[0]);
switch (mn_result->command_id[0]) {
case 0:
LCD_Backlight = 100;
break;
case 1:
LCD_Backlight = 30;
break;
case 2:
LCD_Backlight = 0;
break;
case 3:
LCD_Backlight = 100;
break;
case 4:
play_Music_Flag = 1;
break;
default: printf("Unknown Command!\r\n"); break;
}
self->command = (command_word_t)mn_result->command_id[0];
// self->afe_handle->enable_wakenet(afe_data);
// self->detected = false;
self->afe_handle->disable_wakenet(afe_data);
self->detected = true;
ESP_LOGI(TAG, ">>> Say your command <<<");
self->command = COMMAND_TIMEOUT;
} else if (mn_state == ESP_MN_STATE_TIMEOUT) {
esp_mn_results_t *mn_result = multinet->get_results(model_data);
ESP_LOGI(TAG, "timeout, string:%s\n", mn_result->string);
self->command = COMMAND_TIMEOUT;
self->afe_handle->enable_wakenet(afe_data);
self->detected = false;
ESP_LOGI(TAG, ">>> Waiting to be waken up <<<");
LCD_Backlight = LCD_Backlight_original;
if(play_Music_Flag){
play_Music_Flag = 0;
if(ACTIVE_TRACK_CNT)
_lv_demo_music_resume();
else
printf("No MP3 file found in SD card!\r\n");
}
}
}
}
if (model_data) {
multinet->destroy(model_data);
model_data = NULL;
}
self->afe_handle->destroy(afe_data);
vTaskDelete(NULL);
}
void MIC_Speech_init()
{
MIC_Speech.afe_handle = &ESP_AFE_SR_HANDLE;
MIC_Speech.detected = false;
MIC_Speech.command = COMMAND_TIMEOUT;
MIC_Speech.models = esp_srmodel_init("model"); // 这边配置为SD卡当中的文件路径
i2s_init(I2S_NUM_1, 16000, 2, 32);
// sd_card_mount("/sdcard");
afe_config_t afe_config = {
.aec_init = true,
.se_init = true,
.vad_init = true,
.wakenet_init = true,
.voice_communication_init = false,
.voice_communication_agc_init = false,
.voice_communication_agc_gain = 15,
.vad_mode = VAD_MODE_3,
.wakenet_model_name = NULL,
.wakenet_model_name_2 = NULL,
.wakenet_mode = DET_MODE_2CH_90,
.afe_mode = SR_MODE_LOW_COST,
.afe_perferred_core = 0,
.afe_perferred_priority = 5,
.afe_ringbuf_size = 50,
.memory_alloc_mode = AFE_MEMORY_ALLOC_MORE_PSRAM,
.afe_linear_gain = 1.0,
.agc_mode = AFE_MN_PEAK_AGC_MODE_2,
.pcm_config = {
.total_ch_num = 3,
.mic_num = 2,
.ref_num = 1,
.sample_rate = 16000,
},
.debug_init = false,
.debug_hook = {{AFE_DEBUG_HOOK_MASE_TASK_IN, NULL}, {AFE_DEBUG_HOOK_FETCH_TASK_IN, NULL}},
};
afe_config.aec_init = false;
afe_config.se_init = false;
afe_config.vad_init = false;
afe_config.afe_ringbuf_size = 10;
afe_config.pcm_config.total_ch_num = 2;
afe_config.pcm_config.mic_num = 1;
afe_config.pcm_config.ref_num = 1;
afe_config.pcm_config.sample_rate = 16000;
afe_config.wakenet_model_name = esp_srmodel_filter(MIC_Speech.models, ESP_WN_PREFIX, NULL);
MIC_Speech.afe_data = MIC_Speech.afe_handle->create_from_config(&afe_config);
xTaskCreatePinnedToCore((TaskFunction_t)feed_handler, "App/SR/Feed", 4 * 1024, &MIC_Speech, 5, NULL, 1);
xTaskCreatePinnedToCore((TaskFunction_t)detect_hander, "App/SR/Detect", 5 * 1024, &MIC_Speech, 5, NULL, 1);
}
+47
View File
@@ -0,0 +1,47 @@
#pragma once
#include "esp_afe_sr_iface.h"
#include "esp_process_sdkconfig.h"
#include "model_path.h"
#include "ST77916.h"
#include "LVGL_Music.h"
#define I2S_CONFIG_DEFAULT(sample_rate, channel_fmt, bits_per_chan) { \
.clk_cfg = I2S_STD_CLK_DEFAULT_CONFIG(sample_rate), \
.slot_cfg = I2S_STD_PHILIPS_SLOT_DEFAULT_CONFIG(bits_per_chan, channel_fmt), \
.gpio_cfg = { \
.mclk = GPIO_NUM_NC, \
.bclk = GPIO_NUM_15, \
.ws = GPIO_NUM_2, \
.dout = GPIO_NUM_NC, \
.din = GPIO_NUM_39, \
.invert_flags = { \
.mclk_inv = false, \
.bclk_inv = false, \
.ws_inv = false, \
}, \
}, \
}
typedef enum
{
COMMAND_TIMEOUT = -2,
COMMAND_NOT_DETECTED = -1,
COMMAND_ID1 = 0,
COMMAND_ID2 = 1,
COMMAND_ID3 = 2,
COMMAND_ID4 = 3,
COMMAND_ID5 = 4,
COMMAND_ID6 = 5,
} command_word_t;
typedef struct {
const esp_afe_sr_iface_t *afe_handle;
esp_afe_sr_data_t *afe_data;
srmodel_list_t *models;
bool detected;
command_word_t command;
} AppSpeech;
void MIC_Speech_init();
+58
View File
@@ -0,0 +1,58 @@
#include "PWR_Key.h"
static uint8_t BAT_State = 0; // 电池/电源状态标志
static uint8_t Device_State = 0; // 设备状态标志
static uint16_t Long_Press = 0; // 按键按下持续时间计数器
void PWR_Loop(void)
{
if(BAT_State){
if(!gpio_get_level(PWR_KEY_Input_PIN)){
if(BAT_State == 2){
Long_Press ++;
if(Long_Press >= Device_Sleep_Time){
if(Long_Press >= Device_Sleep_Time && Long_Press < Device_Restart_Time)
Device_State = 1;
else if(Long_Press >= Device_Restart_Time && Long_Press < Device_Shutdown_Time)
Device_State = 2;
else if(Long_Press >= Device_Shutdown_Time)
Shutdown();
}
}
}
else{
if(BAT_State == 1)
BAT_State = 2;
Long_Press = 0;
}
}
}
void Fall_Asleep(void)
{
}
void Restart(void)
{
}
void Shutdown(void)
{
gpio_set_level(PWR_Control_PIN, false);
LCD_Backlight = 0;
}
void configure_GPIO(int pin, gpio_mode_t Mode)
{
gpio_reset_pin(pin);
gpio_set_direction(pin, Mode);
}
void PWR_Init(void) {
configure_GPIO(PWR_KEY_Input_PIN, GPIO_MODE_INPUT);
configure_GPIO(PWR_Control_PIN, GPIO_MODE_OUTPUT);
gpio_set_level(PWR_Control_PIN, false);
vTaskDelay(100);
if(!gpio_get_level(PWR_KEY_Input_PIN)) {
BAT_State = 1;
gpio_set_level(PWR_Control_PIN, true);
}
}
+16
View File
@@ -0,0 +1,16 @@
#pragma once
#include "ST77916.h"
#define PWR_KEY_Input_PIN 6 // 电源按键输入引脚(GPIO6)
#define PWR_Control_PIN 7 // 电源控制输出引脚(GPIO7)
#define Device_Sleep_Time 10 // 进入睡眠模式的按键时长阈值
#define Device_Restart_Time 15 // 重启设备的按键时长阈值
#define Device_Shutdown_Time 20 // 关机操作的按键时长阈值
void Fall_Asleep(void);
void Shutdown(void);
void Restart(void);
void PWR_Init(void);
void PWR_Loop(void);
+26
View File
@@ -0,0 +1,26 @@
//
// Created by misaki on 2025/8/28.
//
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#include <stdio.h>
#include <esp_heap_caps.h>
void print_sys_memory(void)
{
size_t internal = heap_caps_get_free_size(MALLOC_CAP_INTERNAL);
size_t spiram = heap_caps_get_free_size(MALLOC_CAP_SPIRAM);
printf("Internal(内部): %zu kB, SPIRAM(外部): %zu kB\n", internal/1024, spiram/1024);
}
void print_sys_memory_task(void* pvParameters)
{
while(1) {
print_sys_memory();
vTaskDelay(pdMS_TO_TICKS(1000)); // 每1秒打印一次
}
}
void create_print_sys_memory_task() {
xTaskCreatePinnedToCore(print_sys_memory_task, "print_sys_memory", 1024, NULL, 2, NULL, 0);
}
+19
View File
@@ -0,0 +1,19 @@
//
// Created by misaki on 2025/8/28.
//
/**
* @brief 杂项工具类,存放一些工具函数
*/
#ifndef BIONIC_SPHERE_TOOLS_H
#define BIONIC_SPHERE_TOOLS_H
// 打印系统内存使用情况
void print_sys_memory(void);
// 创建一个定时任务,每x秒打印一次系统内存使用情况
void create_print_sys_memory_task();
#endif //BIONIC_SPHERE_TOOLS_H
+7 -1
View File
@@ -27,7 +27,13 @@ void app_main(void)
// lcd_touch_lvgl_test(); // lcd_touch_lvgl_test();
gif_test(); // gif_test();
// pwr_key_test();
// mic_speech_test();
mic_speech_and_gif_and_music_test();
ESP_GOTO(err); ESP_GOTO(err);
err: err:
ESP_LOGI("app_main", "app_main error"); ESP_LOGI("app_main", "app_main error");
+13 -7
View File
@@ -4,6 +4,7 @@ idf_component_register(SRCS "Bionic_sphere.c"
"../test/audio_test/audio_test.c" # 测试用例 "../test/audio_test/audio_test.c" # 测试用例
"../test/gif_displat_test/gif_test.c" # 测试用例 "../test/gif_displat_test/gif_test.c" # 测试用例
"../Util/general_err_handle/err_handle.c" # 错误处理库 "../Util/general_err_handle/err_handle.c" # 错误处理库
"../Util/tools/tools.c" # 工具库
"../Lib/I2C_Driver/I2C_Driver.c" # IIC底层驱动库 "../Lib/I2C_Driver/I2C_Driver.c" # IIC底层驱动库
"../Lib/QMI8658/QMI8658.c" # IMU驱动库 "../Lib/QMI8658/QMI8658.c" # IMU驱动库
"../Lib/BAT_Driver/BAT_Driver.c" # 电池adc驱动库 "../Lib/BAT_Driver/BAT_Driver.c" # 电池adc驱动库
@@ -12,19 +13,22 @@ idf_component_register(SRCS "Bionic_sphere.c"
"../Lib/PCF85063/PCF85063.c" # RTC驱动库 "../Lib/PCF85063/PCF85063.c" # RTC驱动库
"../Lib/EXIO/TCA9554PWR.c" # IO拓展库 "../Lib/EXIO/TCA9554PWR.c" # IO拓展库
"../Lib/Audio_Driver/PCM5101.c" # 音频驱动库(播放) "../Lib/Audio_Driver/PCM5101.c" # 音频驱动库(播放)
"../Lib/Display/LCD_Driver/ST77916.c" "../Lib/Display/LCD_Driver/ST77916.c" # LCD驱动库
"../Lib/Display/LCD_Driver/esp_lcd_st77916/esp_lcd_st77916.c" "../Lib/Display/LCD_Driver/esp_lcd_st77916/esp_lcd_st77916.c" # LCD驱动库
"../Lib/Display/LVGL_Driver/LVGL_Driver.c" "../Lib/Display/LVGL_Driver/LVGL_Driver.c" # LVGL驱动库
"../Lib/Display/LVGL_UI/LVGL_Music.c" "../Lib/Display/LVGL_UI/LVGL_Music.c" # LVGL UI库
"../Lib/Display/LVGL_UI/LVGL_Example.c" "../Lib/Display/LVGL_UI/LVGL_Example.c" # LVGL UI库
"../Lib/Display/Touch_Driver/CST816.c" "../Lib/Display/Touch_Driver/CST816.c" # 触摸屏驱动库
"../Lib/Display/Touch_Driver/esp_lcd_touch/esp_lcd_touch.c" "../Lib/Display/Touch_Driver/esp_lcd_touch/esp_lcd_touch.c" # 触摸屏驱动库
"../Lib/PWR_Key/PWR_Key.c" # PWR按键驱动库
"../Lib/MIC_Driver/MIC_Speech.c" # 录音驱动库
INCLUDE_DIRS "." INCLUDE_DIRS "."
"../test/driver_test" "../test/driver_test"
"../test/EXIO_Test" "../test/EXIO_Test"
"../test/audio_test" "../test/audio_test"
"../test/gif_displat_test" "../test/gif_displat_test"
"../Util/general_err_handle" "../Util/general_err_handle"
"../Util/tools"
"../Lib/I2C_Driver" "../Lib/I2C_Driver"
"../Lib/QMI8658" "../Lib/QMI8658"
"../Lib/BAT_Driver" "../Lib/BAT_Driver"
@@ -40,6 +44,8 @@ idf_component_register(SRCS "Bionic_sphere.c"
"../Lib/Display/LVGL_UI" "../Lib/Display/LVGL_UI"
"../Lib/Display/Touch_Driver" "../Lib/Display/Touch_Driver"
"../Lib/Display/Touch_Driver/esp_lcd_touch" "../Lib/Display/Touch_Driver/esp_lcd_touch"
"../Lib/PWR_Key"
"../Lib/MIC_Driver"
PRIV_REQUIRES # 私有依赖 PRIV_REQUIRES # 私有依赖
driver driver
bt bt
+3 -3
View File
@@ -13,7 +13,7 @@
nvs, data, nvs, , 0x6000, nvs, data, nvs, , 0x6000,
otadata, data, ota, , 0x2000, otadata, data, ota, , 0x2000,
phy_init, data, phy, , 0x1000, phy_init, data, phy, , 0x1000,
ota_0, app, ota_0, , 6M, ota_0, app, ota_0, , 4M,
ota_1, app, ota_1, , 6M, ota_1, app, ota_1, , 4M,
storage, data, spiffs, , 3M, model, data, , , 6000K
coredump, data, coredump,, 64K, coredump, data, coredump,, 64K,
1 # ESP32-S3 16 MB Flash, OTA + 文件系统
13 otadata, data, ota, , 0x2000,
14 phy_init, data, phy, , 0x1000,
15 ota_0, app, ota_0, , 6M, ota_0, app, ota_0, , 4M,
16 ota_1, app, ota_1, , 6M, ota_1, app, ota_1, , 4M,
17 storage, data, spiffs, , 3M, model, data, , , 6000K
18 coredump, data, coredump,, 64K,
19
+219 -5
View File
@@ -546,7 +546,7 @@ CONFIG_AFE_INTERFACE_V1=y
# CONFIG_USE_NSNET is not set # CONFIG_USE_NSNET is not set
CONFIG_USE_WAKENET=y CONFIG_USE_WAKENET=y
# CONFIG_SR_WN_WN8_ALEXA is not set # CONFIG_SR_WN_WN8_ALEXA is not set
CONFIG_SR_WN_WN9_HILEXIN=y # CONFIG_SR_WN_WN9_HILEXIN is not set
# CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set # CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set
# CONFIG_SR_WN_WN9_ALEXA is not set # CONFIG_SR_WN_WN9_ALEXA is not set
# CONFIG_SR_WN_WN9_HIESP is not set # CONFIG_SR_WN_WN9_HIESP is not set
@@ -556,7 +556,7 @@ CONFIG_SR_WN_WN9_HILEXIN=y
# CONFIG_SR_WN_WN9_COMPUTER_TTS is not set # CONFIG_SR_WN_WN9_COMPUTER_TTS is not set
# CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set # CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set
# CONFIG_SR_WN_WN9_SOPHIA_TTS is not set # CONFIG_SR_WN_WN9_SOPHIA_TTS is not set
# CONFIG_SR_WN_WN9_NIHAOXIAOXIN_TTS is not set CONFIG_SR_WN_WN9_NIHAOXIAOXIN_TTS=y
# CONFIG_SR_WN_WN9_XIAOMEITONGXUE_TTS is not set # CONFIG_SR_WN_WN9_XIAOMEITONGXUE_TTS is not set
# CONFIG_SR_WN_WN9_HIXIAOXING_TTS is not set # CONFIG_SR_WN_WN9_HIXIAOXING_TTS is not set
# CONFIG_SR_WN_WN9_MYCROFT_TTS is not set # CONFIG_SR_WN_WN9_MYCROFT_TTS is not set
@@ -578,8 +578,8 @@ CONFIG_SR_WN_WN9_HILEXIN=y
# CONFIG_SR_WN_LOAD_MULIT_WORD is not set # CONFIG_SR_WN_LOAD_MULIT_WORD is not set
CONFIG_USE_MULTINET=y CONFIG_USE_MULTINET=y
# CONFIG_SR_MN_CN_NONE is not set # CONFIG_SR_MN_CN_NONE is not set
# CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8 is not set CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8=y
CONFIG_SR_MN_CN_MULTINET6_QUANT=y # CONFIG_SR_MN_CN_MULTINET6_QUANT is not set
# CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set # CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set
# CONFIG_SR_MN_CN_MULTINET7_QUANT is not set # CONFIG_SR_MN_CN_MULTINET7_QUANT is not set
# CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set # CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set
@@ -587,6 +587,211 @@ CONFIG_SR_MN_EN_NONE=y
# CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set # CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set
# CONFIG_SR_MN_EN_MULTINET6_QUANT is not set # CONFIG_SR_MN_EN_MULTINET6_QUANT is not set
# CONFIG_SR_MN_EN_MULTINET7_QUANT is not set # CONFIG_SR_MN_EN_MULTINET7_QUANT is not set
#
# Add Chinese speech commands
#
CONFIG_CN_SPEECH_COMMAND_ID0="da kai kong tiao"
CONFIG_CN_SPEECH_COMMAND_ID1="guan bi kong tiao"
CONFIG_CN_SPEECH_COMMAND_ID2="zeng da feng su"
CONFIG_CN_SPEECH_COMMAND_ID3="jian xiao feng su"
CONFIG_CN_SPEECH_COMMAND_ID4="sheng gao yi du"
CONFIG_CN_SPEECH_COMMAND_ID5="jiang di yi du"
CONFIG_CN_SPEECH_COMMAND_ID6="zhi re mo shi"
CONFIG_CN_SPEECH_COMMAND_ID7="zhi leng mo shi"
CONFIG_CN_SPEECH_COMMAND_ID8="song feng mo shi"
CONFIG_CN_SPEECH_COMMAND_ID9="jie neng mo shi"
CONFIG_CN_SPEECH_COMMAND_ID10="chu shi mo shi"
CONFIG_CN_SPEECH_COMMAND_ID11="jian kang mo shi"
CONFIG_CN_SPEECH_COMMAND_ID12="shui mian mo shi"
CONFIG_CN_SPEECH_COMMAND_ID13="da kai lan ya"
CONFIG_CN_SPEECH_COMMAND_ID14="guan bi lan ya"
CONFIG_CN_SPEECH_COMMAND_ID15="kai shi bo fang"
CONFIG_CN_SPEECH_COMMAND_ID16="zan ting bo fang"
CONFIG_CN_SPEECH_COMMAND_ID17="ding shi yi xiao shi"
CONFIG_CN_SPEECH_COMMAND_ID18="da kai dian deng"
CONFIG_CN_SPEECH_COMMAND_ID19="guan bi dian deng"
CONFIG_CN_SPEECH_COMMAND_ID20=""
CONFIG_CN_SPEECH_COMMAND_ID21=""
CONFIG_CN_SPEECH_COMMAND_ID22=""
CONFIG_CN_SPEECH_COMMAND_ID23=""
CONFIG_CN_SPEECH_COMMAND_ID24=""
CONFIG_CN_SPEECH_COMMAND_ID25=""
CONFIG_CN_SPEECH_COMMAND_ID26=""
CONFIG_CN_SPEECH_COMMAND_ID27=""
CONFIG_CN_SPEECH_COMMAND_ID28=""
CONFIG_CN_SPEECH_COMMAND_ID29=""
CONFIG_CN_SPEECH_COMMAND_ID30=""
CONFIG_CN_SPEECH_COMMAND_ID31=""
CONFIG_CN_SPEECH_COMMAND_ID32=""
CONFIG_CN_SPEECH_COMMAND_ID33=""
CONFIG_CN_SPEECH_COMMAND_ID34=""
CONFIG_CN_SPEECH_COMMAND_ID35=""
CONFIG_CN_SPEECH_COMMAND_ID36=""
CONFIG_CN_SPEECH_COMMAND_ID37=""
CONFIG_CN_SPEECH_COMMAND_ID38=""
CONFIG_CN_SPEECH_COMMAND_ID39=""
CONFIG_CN_SPEECH_COMMAND_ID40=""
CONFIG_CN_SPEECH_COMMAND_ID41=""
CONFIG_CN_SPEECH_COMMAND_ID42=""
CONFIG_CN_SPEECH_COMMAND_ID43=""
CONFIG_CN_SPEECH_COMMAND_ID44=""
CONFIG_CN_SPEECH_COMMAND_ID45=""
CONFIG_CN_SPEECH_COMMAND_ID46=""
CONFIG_CN_SPEECH_COMMAND_ID47=""
CONFIG_CN_SPEECH_COMMAND_ID48=""
CONFIG_CN_SPEECH_COMMAND_ID49=""
CONFIG_CN_SPEECH_COMMAND_ID50=""
CONFIG_CN_SPEECH_COMMAND_ID51=""
CONFIG_CN_SPEECH_COMMAND_ID52=""
CONFIG_CN_SPEECH_COMMAND_ID53=""
CONFIG_CN_SPEECH_COMMAND_ID54=""
CONFIG_CN_SPEECH_COMMAND_ID55=""
CONFIG_CN_SPEECH_COMMAND_ID56=""
CONFIG_CN_SPEECH_COMMAND_ID57=""
CONFIG_CN_SPEECH_COMMAND_ID58=""
CONFIG_CN_SPEECH_COMMAND_ID59=""
CONFIG_CN_SPEECH_COMMAND_ID60=""
CONFIG_CN_SPEECH_COMMAND_ID61=""
CONFIG_CN_SPEECH_COMMAND_ID62=""
CONFIG_CN_SPEECH_COMMAND_ID63=""
CONFIG_CN_SPEECH_COMMAND_ID64=""
CONFIG_CN_SPEECH_COMMAND_ID65=""
CONFIG_CN_SPEECH_COMMAND_ID66=""
CONFIG_CN_SPEECH_COMMAND_ID67=""
CONFIG_CN_SPEECH_COMMAND_ID68=""
CONFIG_CN_SPEECH_COMMAND_ID69=""
CONFIG_CN_SPEECH_COMMAND_ID70=""
CONFIG_CN_SPEECH_COMMAND_ID71=""
CONFIG_CN_SPEECH_COMMAND_ID72=""
CONFIG_CN_SPEECH_COMMAND_ID73=""
CONFIG_CN_SPEECH_COMMAND_ID74=""
CONFIG_CN_SPEECH_COMMAND_ID75=""
CONFIG_CN_SPEECH_COMMAND_ID76=""
CONFIG_CN_SPEECH_COMMAND_ID77=""
CONFIG_CN_SPEECH_COMMAND_ID78=""
CONFIG_CN_SPEECH_COMMAND_ID79=""
CONFIG_CN_SPEECH_COMMAND_ID80=""
CONFIG_CN_SPEECH_COMMAND_ID81=""
CONFIG_CN_SPEECH_COMMAND_ID82=""
CONFIG_CN_SPEECH_COMMAND_ID83=""
CONFIG_CN_SPEECH_COMMAND_ID84=""
CONFIG_CN_SPEECH_COMMAND_ID85=""
CONFIG_CN_SPEECH_COMMAND_ID86=""
CONFIG_CN_SPEECH_COMMAND_ID87=""
CONFIG_CN_SPEECH_COMMAND_ID88=""
CONFIG_CN_SPEECH_COMMAND_ID89=""
CONFIG_CN_SPEECH_COMMAND_ID90=""
CONFIG_CN_SPEECH_COMMAND_ID91=""
CONFIG_CN_SPEECH_COMMAND_ID92=""
CONFIG_CN_SPEECH_COMMAND_ID93=""
CONFIG_CN_SPEECH_COMMAND_ID94=""
CONFIG_CN_SPEECH_COMMAND_ID95=""
CONFIG_CN_SPEECH_COMMAND_ID96=""
CONFIG_CN_SPEECH_COMMAND_ID97=""
CONFIG_CN_SPEECH_COMMAND_ID98=""
CONFIG_CN_SPEECH_COMMAND_ID99=""
CONFIG_CN_SPEECH_COMMAND_ID100=""
CONFIG_CN_SPEECH_COMMAND_ID101=""
CONFIG_CN_SPEECH_COMMAND_ID102=""
CONFIG_CN_SPEECH_COMMAND_ID103=""
CONFIG_CN_SPEECH_COMMAND_ID104=""
CONFIG_CN_SPEECH_COMMAND_ID105=""
CONFIG_CN_SPEECH_COMMAND_ID106=""
CONFIG_CN_SPEECH_COMMAND_ID107=""
CONFIG_CN_SPEECH_COMMAND_ID108=""
CONFIG_CN_SPEECH_COMMAND_ID109=""
CONFIG_CN_SPEECH_COMMAND_ID110=""
CONFIG_CN_SPEECH_COMMAND_ID111=""
CONFIG_CN_SPEECH_COMMAND_ID112=""
CONFIG_CN_SPEECH_COMMAND_ID113=""
CONFIG_CN_SPEECH_COMMAND_ID114=""
CONFIG_CN_SPEECH_COMMAND_ID115=""
CONFIG_CN_SPEECH_COMMAND_ID116=""
CONFIG_CN_SPEECH_COMMAND_ID117=""
CONFIG_CN_SPEECH_COMMAND_ID118=""
CONFIG_CN_SPEECH_COMMAND_ID119=""
CONFIG_CN_SPEECH_COMMAND_ID120=""
CONFIG_CN_SPEECH_COMMAND_ID121=""
CONFIG_CN_SPEECH_COMMAND_ID122=""
CONFIG_CN_SPEECH_COMMAND_ID123=""
CONFIG_CN_SPEECH_COMMAND_ID124=""
CONFIG_CN_SPEECH_COMMAND_ID125=""
CONFIG_CN_SPEECH_COMMAND_ID126=""
CONFIG_CN_SPEECH_COMMAND_ID127=""
CONFIG_CN_SPEECH_COMMAND_ID128=""
CONFIG_CN_SPEECH_COMMAND_ID129=""
CONFIG_CN_SPEECH_COMMAND_ID130=""
CONFIG_CN_SPEECH_COMMAND_ID131=""
CONFIG_CN_SPEECH_COMMAND_ID132=""
CONFIG_CN_SPEECH_COMMAND_ID133=""
CONFIG_CN_SPEECH_COMMAND_ID134=""
CONFIG_CN_SPEECH_COMMAND_ID135=""
CONFIG_CN_SPEECH_COMMAND_ID136=""
CONFIG_CN_SPEECH_COMMAND_ID137=""
CONFIG_CN_SPEECH_COMMAND_ID138=""
CONFIG_CN_SPEECH_COMMAND_ID139=""
CONFIG_CN_SPEECH_COMMAND_ID140=""
CONFIG_CN_SPEECH_COMMAND_ID141=""
CONFIG_CN_SPEECH_COMMAND_ID142=""
CONFIG_CN_SPEECH_COMMAND_ID143=""
CONFIG_CN_SPEECH_COMMAND_ID144=""
CONFIG_CN_SPEECH_COMMAND_ID145=""
CONFIG_CN_SPEECH_COMMAND_ID146=""
CONFIG_CN_SPEECH_COMMAND_ID147=""
CONFIG_CN_SPEECH_COMMAND_ID148=""
CONFIG_CN_SPEECH_COMMAND_ID149=""
CONFIG_CN_SPEECH_COMMAND_ID150=""
CONFIG_CN_SPEECH_COMMAND_ID151=""
CONFIG_CN_SPEECH_COMMAND_ID152=""
CONFIG_CN_SPEECH_COMMAND_ID153=""
CONFIG_CN_SPEECH_COMMAND_ID154=""
CONFIG_CN_SPEECH_COMMAND_ID155=""
CONFIG_CN_SPEECH_COMMAND_ID156=""
CONFIG_CN_SPEECH_COMMAND_ID157=""
CONFIG_CN_SPEECH_COMMAND_ID158=""
CONFIG_CN_SPEECH_COMMAND_ID159=""
CONFIG_CN_SPEECH_COMMAND_ID160=""
CONFIG_CN_SPEECH_COMMAND_ID161=""
CONFIG_CN_SPEECH_COMMAND_ID162=""
CONFIG_CN_SPEECH_COMMAND_ID163=""
CONFIG_CN_SPEECH_COMMAND_ID164=""
CONFIG_CN_SPEECH_COMMAND_ID165=""
CONFIG_CN_SPEECH_COMMAND_ID166=""
CONFIG_CN_SPEECH_COMMAND_ID167=""
CONFIG_CN_SPEECH_COMMAND_ID168=""
CONFIG_CN_SPEECH_COMMAND_ID169=""
CONFIG_CN_SPEECH_COMMAND_ID170=""
CONFIG_CN_SPEECH_COMMAND_ID171=""
CONFIG_CN_SPEECH_COMMAND_ID172=""
CONFIG_CN_SPEECH_COMMAND_ID173=""
CONFIG_CN_SPEECH_COMMAND_ID174=""
CONFIG_CN_SPEECH_COMMAND_ID175=""
CONFIG_CN_SPEECH_COMMAND_ID176=""
CONFIG_CN_SPEECH_COMMAND_ID177=""
CONFIG_CN_SPEECH_COMMAND_ID178=""
CONFIG_CN_SPEECH_COMMAND_ID179=""
CONFIG_CN_SPEECH_COMMAND_ID180=""
CONFIG_CN_SPEECH_COMMAND_ID181=""
CONFIG_CN_SPEECH_COMMAND_ID182=""
CONFIG_CN_SPEECH_COMMAND_ID183=""
CONFIG_CN_SPEECH_COMMAND_ID184=""
CONFIG_CN_SPEECH_COMMAND_ID185=""
CONFIG_CN_SPEECH_COMMAND_ID186=""
CONFIG_CN_SPEECH_COMMAND_ID187=""
CONFIG_CN_SPEECH_COMMAND_ID188=""
CONFIG_CN_SPEECH_COMMAND_ID189=""
CONFIG_CN_SPEECH_COMMAND_ID190=""
CONFIG_CN_SPEECH_COMMAND_ID191=""
CONFIG_CN_SPEECH_COMMAND_ID192=""
CONFIG_CN_SPEECH_COMMAND_ID193=""
CONFIG_CN_SPEECH_COMMAND_ID194=""
CONFIG_CN_SPEECH_COMMAND_ID195=""
CONFIG_CN_SPEECH_COMMAND_ID196=""
CONFIG_CN_SPEECH_COMMAND_ID197=""
CONFIG_CN_SPEECH_COMMAND_ID198=""
CONFIG_CN_SPEECH_COMMAND_ID199=""
# end of Add Chinese speech commands
# end of ESP Speech Recognition # end of ESP Speech Recognition
# #
@@ -2549,7 +2754,16 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h"
# #
# Others # Others
# #
# CONFIG_LV_USE_PERF_MONITOR is not set CONFIG_LV_USE_PERF_MONITOR=y
# CONFIG_LV_PERF_MONITOR_ALIGN_TOP_LEFT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_TOP_MID is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_TOP_RIGHT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_LEFT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_MID is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_LEFT_MID is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_RIGHT_MID is not set
CONFIG_LV_PERF_MONITOR_ALIGN_CENTER=y
# CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_USE_REFR_DEBUG is not set
# CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_CUSTOM is not set
# CONFIG_LV_SPRINTF_USE_FLOAT is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set
+220 -39
View File
@@ -544,42 +544,11 @@ CONFIG_MODEL_IN_FLASH=y
CONFIG_USE_AFE=y CONFIG_USE_AFE=y
CONFIG_AFE_INTERFACE_V1=y CONFIG_AFE_INTERFACE_V1=y
# CONFIG_USE_NSNET is not set # CONFIG_USE_NSNET is not set
CONFIG_USE_WAKENET=y # CONFIG_USE_WAKENET is not set
# CONFIG_SR_WN_WN8_ALEXA is not set
CONFIG_SR_WN_WN9_HILEXIN=y
# CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set
# CONFIG_SR_WN_WN9_ALEXA is not set
# CONFIG_SR_WN_WN9_HIESP is not set
# CONFIG_SR_WN_WN9_HIMFIVE is not set
# CONFIG_SR_WN_WN9_NIHAOXIAOZHI_TTS is not set
# CONFIG_SR_WN_WN9_JARVIS_TTS is not set
# CONFIG_SR_WN_WN9_COMPUTER_TTS is not set
# CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set
# CONFIG_SR_WN_WN9_SOPHIA_TTS is not set
# CONFIG_SR_WN_WN9_NIHAOXIAOXIN_TTS is not set
# CONFIG_SR_WN_WN9_XIAOMEITONGXUE_TTS is not set
# CONFIG_SR_WN_WN9_HIXIAOXING_TTS is not set
# CONFIG_SR_WN_WN9_MYCROFT_TTS is not set
# CONFIG_SR_WN_WN9_HEYPRINTER_TTS is not set
# CONFIG_SR_WN_WN9_XIAOLONGXIAOLONG_TTS is not set
# CONFIG_SR_WN_WN9_MIAOMIAOTONGXUE_TTS is not set
# CONFIG_SR_WN_WN9_HIJOY_TTS is not set
# CONFIG_SR_WN_WN9_HILILI_TTS is not set
# CONFIG_SR_WN_WN9_HITELLY_TTS is not set
# CONFIG_SR_WN_WN9_HEYWANDA_TTS is not set
# CONFIG_SR_WN_WN9_HIMIAOMIAO_TTS is not set
# CONFIG_SR_WN_WN9_XIAOBINXIAOBIN_TTS is not set
# CONFIG_SR_WN_WN9_HAIXIAOWU_TTS is not set
# CONFIG_SR_WN_WN9_ASTROLABE_TTS is not set
# CONFIG_SR_WN_WN9_XIAOYAXIAOYA_TTS2 is not set
# CONFIG_SR_WN_WN9_HIJASON_TTS2 is not set
# CONFIG_SR_WN_WN9_LINAIBAN_TTS2 is not set
# CONFIG_SR_WN_WN9_CUSTOMWORD is not set
# CONFIG_SR_WN_LOAD_MULIT_WORD is not set
CONFIG_USE_MULTINET=y CONFIG_USE_MULTINET=y
# CONFIG_SR_MN_CN_NONE is not set # CONFIG_SR_MN_CN_NONE is not set
# CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8 is not set CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8=y
CONFIG_SR_MN_CN_MULTINET6_QUANT=y # CONFIG_SR_MN_CN_MULTINET6_QUANT is not set
# CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set # CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set
# CONFIG_SR_MN_CN_MULTINET7_QUANT is not set # CONFIG_SR_MN_CN_MULTINET7_QUANT is not set
# CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set # CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set
@@ -587,6 +556,211 @@ CONFIG_SR_MN_EN_NONE=y
# CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set # CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set
# CONFIG_SR_MN_EN_MULTINET6_QUANT is not set # CONFIG_SR_MN_EN_MULTINET6_QUANT is not set
# CONFIG_SR_MN_EN_MULTINET7_QUANT is not set # CONFIG_SR_MN_EN_MULTINET7_QUANT is not set
#
# Add Chinese speech commands
#
CONFIG_CN_SPEECH_COMMAND_ID0="da kai kong tiao"
CONFIG_CN_SPEECH_COMMAND_ID1="guan bi kong tiao"
CONFIG_CN_SPEECH_COMMAND_ID2="zeng da feng su"
CONFIG_CN_SPEECH_COMMAND_ID3="jian xiao feng su"
CONFIG_CN_SPEECH_COMMAND_ID4="sheng gao yi du"
CONFIG_CN_SPEECH_COMMAND_ID5="jiang di yi du"
CONFIG_CN_SPEECH_COMMAND_ID6="zhi re mo shi"
CONFIG_CN_SPEECH_COMMAND_ID7="zhi leng mo shi"
CONFIG_CN_SPEECH_COMMAND_ID8="song feng mo shi"
CONFIG_CN_SPEECH_COMMAND_ID9="jie neng mo shi"
CONFIG_CN_SPEECH_COMMAND_ID10="chu shi mo shi"
CONFIG_CN_SPEECH_COMMAND_ID11="jian kang mo shi"
CONFIG_CN_SPEECH_COMMAND_ID12="shui mian mo shi"
CONFIG_CN_SPEECH_COMMAND_ID13="da kai lan ya"
CONFIG_CN_SPEECH_COMMAND_ID14="guan bi lan ya"
CONFIG_CN_SPEECH_COMMAND_ID15="kai shi bo fang"
CONFIG_CN_SPEECH_COMMAND_ID16="zan ting bo fang"
CONFIG_CN_SPEECH_COMMAND_ID17="ding shi yi xiao shi"
CONFIG_CN_SPEECH_COMMAND_ID18="da kai dian deng"
CONFIG_CN_SPEECH_COMMAND_ID19="guan bi dian deng"
CONFIG_CN_SPEECH_COMMAND_ID20=""
CONFIG_CN_SPEECH_COMMAND_ID21=""
CONFIG_CN_SPEECH_COMMAND_ID22=""
CONFIG_CN_SPEECH_COMMAND_ID23=""
CONFIG_CN_SPEECH_COMMAND_ID24=""
CONFIG_CN_SPEECH_COMMAND_ID25=""
CONFIG_CN_SPEECH_COMMAND_ID26=""
CONFIG_CN_SPEECH_COMMAND_ID27=""
CONFIG_CN_SPEECH_COMMAND_ID28=""
CONFIG_CN_SPEECH_COMMAND_ID29=""
CONFIG_CN_SPEECH_COMMAND_ID30=""
CONFIG_CN_SPEECH_COMMAND_ID31=""
CONFIG_CN_SPEECH_COMMAND_ID32=""
CONFIG_CN_SPEECH_COMMAND_ID33=""
CONFIG_CN_SPEECH_COMMAND_ID34=""
CONFIG_CN_SPEECH_COMMAND_ID35=""
CONFIG_CN_SPEECH_COMMAND_ID36=""
CONFIG_CN_SPEECH_COMMAND_ID37=""
CONFIG_CN_SPEECH_COMMAND_ID38=""
CONFIG_CN_SPEECH_COMMAND_ID39=""
CONFIG_CN_SPEECH_COMMAND_ID40=""
CONFIG_CN_SPEECH_COMMAND_ID41=""
CONFIG_CN_SPEECH_COMMAND_ID42=""
CONFIG_CN_SPEECH_COMMAND_ID43=""
CONFIG_CN_SPEECH_COMMAND_ID44=""
CONFIG_CN_SPEECH_COMMAND_ID45=""
CONFIG_CN_SPEECH_COMMAND_ID46=""
CONFIG_CN_SPEECH_COMMAND_ID47=""
CONFIG_CN_SPEECH_COMMAND_ID48=""
CONFIG_CN_SPEECH_COMMAND_ID49=""
CONFIG_CN_SPEECH_COMMAND_ID50=""
CONFIG_CN_SPEECH_COMMAND_ID51=""
CONFIG_CN_SPEECH_COMMAND_ID52=""
CONFIG_CN_SPEECH_COMMAND_ID53=""
CONFIG_CN_SPEECH_COMMAND_ID54=""
CONFIG_CN_SPEECH_COMMAND_ID55=""
CONFIG_CN_SPEECH_COMMAND_ID56=""
CONFIG_CN_SPEECH_COMMAND_ID57=""
CONFIG_CN_SPEECH_COMMAND_ID58=""
CONFIG_CN_SPEECH_COMMAND_ID59=""
CONFIG_CN_SPEECH_COMMAND_ID60=""
CONFIG_CN_SPEECH_COMMAND_ID61=""
CONFIG_CN_SPEECH_COMMAND_ID62=""
CONFIG_CN_SPEECH_COMMAND_ID63=""
CONFIG_CN_SPEECH_COMMAND_ID64=""
CONFIG_CN_SPEECH_COMMAND_ID65=""
CONFIG_CN_SPEECH_COMMAND_ID66=""
CONFIG_CN_SPEECH_COMMAND_ID67=""
CONFIG_CN_SPEECH_COMMAND_ID68=""
CONFIG_CN_SPEECH_COMMAND_ID69=""
CONFIG_CN_SPEECH_COMMAND_ID70=""
CONFIG_CN_SPEECH_COMMAND_ID71=""
CONFIG_CN_SPEECH_COMMAND_ID72=""
CONFIG_CN_SPEECH_COMMAND_ID73=""
CONFIG_CN_SPEECH_COMMAND_ID74=""
CONFIG_CN_SPEECH_COMMAND_ID75=""
CONFIG_CN_SPEECH_COMMAND_ID76=""
CONFIG_CN_SPEECH_COMMAND_ID77=""
CONFIG_CN_SPEECH_COMMAND_ID78=""
CONFIG_CN_SPEECH_COMMAND_ID79=""
CONFIG_CN_SPEECH_COMMAND_ID80=""
CONFIG_CN_SPEECH_COMMAND_ID81=""
CONFIG_CN_SPEECH_COMMAND_ID82=""
CONFIG_CN_SPEECH_COMMAND_ID83=""
CONFIG_CN_SPEECH_COMMAND_ID84=""
CONFIG_CN_SPEECH_COMMAND_ID85=""
CONFIG_CN_SPEECH_COMMAND_ID86=""
CONFIG_CN_SPEECH_COMMAND_ID87=""
CONFIG_CN_SPEECH_COMMAND_ID88=""
CONFIG_CN_SPEECH_COMMAND_ID89=""
CONFIG_CN_SPEECH_COMMAND_ID90=""
CONFIG_CN_SPEECH_COMMAND_ID91=""
CONFIG_CN_SPEECH_COMMAND_ID92=""
CONFIG_CN_SPEECH_COMMAND_ID93=""
CONFIG_CN_SPEECH_COMMAND_ID94=""
CONFIG_CN_SPEECH_COMMAND_ID95=""
CONFIG_CN_SPEECH_COMMAND_ID96=""
CONFIG_CN_SPEECH_COMMAND_ID97=""
CONFIG_CN_SPEECH_COMMAND_ID98=""
CONFIG_CN_SPEECH_COMMAND_ID99=""
CONFIG_CN_SPEECH_COMMAND_ID100=""
CONFIG_CN_SPEECH_COMMAND_ID101=""
CONFIG_CN_SPEECH_COMMAND_ID102=""
CONFIG_CN_SPEECH_COMMAND_ID103=""
CONFIG_CN_SPEECH_COMMAND_ID104=""
CONFIG_CN_SPEECH_COMMAND_ID105=""
CONFIG_CN_SPEECH_COMMAND_ID106=""
CONFIG_CN_SPEECH_COMMAND_ID107=""
CONFIG_CN_SPEECH_COMMAND_ID108=""
CONFIG_CN_SPEECH_COMMAND_ID109=""
CONFIG_CN_SPEECH_COMMAND_ID110=""
CONFIG_CN_SPEECH_COMMAND_ID111=""
CONFIG_CN_SPEECH_COMMAND_ID112=""
CONFIG_CN_SPEECH_COMMAND_ID113=""
CONFIG_CN_SPEECH_COMMAND_ID114=""
CONFIG_CN_SPEECH_COMMAND_ID115=""
CONFIG_CN_SPEECH_COMMAND_ID116=""
CONFIG_CN_SPEECH_COMMAND_ID117=""
CONFIG_CN_SPEECH_COMMAND_ID118=""
CONFIG_CN_SPEECH_COMMAND_ID119=""
CONFIG_CN_SPEECH_COMMAND_ID120=""
CONFIG_CN_SPEECH_COMMAND_ID121=""
CONFIG_CN_SPEECH_COMMAND_ID122=""
CONFIG_CN_SPEECH_COMMAND_ID123=""
CONFIG_CN_SPEECH_COMMAND_ID124=""
CONFIG_CN_SPEECH_COMMAND_ID125=""
CONFIG_CN_SPEECH_COMMAND_ID126=""
CONFIG_CN_SPEECH_COMMAND_ID127=""
CONFIG_CN_SPEECH_COMMAND_ID128=""
CONFIG_CN_SPEECH_COMMAND_ID129=""
CONFIG_CN_SPEECH_COMMAND_ID130=""
CONFIG_CN_SPEECH_COMMAND_ID131=""
CONFIG_CN_SPEECH_COMMAND_ID132=""
CONFIG_CN_SPEECH_COMMAND_ID133=""
CONFIG_CN_SPEECH_COMMAND_ID134=""
CONFIG_CN_SPEECH_COMMAND_ID135=""
CONFIG_CN_SPEECH_COMMAND_ID136=""
CONFIG_CN_SPEECH_COMMAND_ID137=""
CONFIG_CN_SPEECH_COMMAND_ID138=""
CONFIG_CN_SPEECH_COMMAND_ID139=""
CONFIG_CN_SPEECH_COMMAND_ID140=""
CONFIG_CN_SPEECH_COMMAND_ID141=""
CONFIG_CN_SPEECH_COMMAND_ID142=""
CONFIG_CN_SPEECH_COMMAND_ID143=""
CONFIG_CN_SPEECH_COMMAND_ID144=""
CONFIG_CN_SPEECH_COMMAND_ID145=""
CONFIG_CN_SPEECH_COMMAND_ID146=""
CONFIG_CN_SPEECH_COMMAND_ID147=""
CONFIG_CN_SPEECH_COMMAND_ID148=""
CONFIG_CN_SPEECH_COMMAND_ID149=""
CONFIG_CN_SPEECH_COMMAND_ID150=""
CONFIG_CN_SPEECH_COMMAND_ID151=""
CONFIG_CN_SPEECH_COMMAND_ID152=""
CONFIG_CN_SPEECH_COMMAND_ID153=""
CONFIG_CN_SPEECH_COMMAND_ID154=""
CONFIG_CN_SPEECH_COMMAND_ID155=""
CONFIG_CN_SPEECH_COMMAND_ID156=""
CONFIG_CN_SPEECH_COMMAND_ID157=""
CONFIG_CN_SPEECH_COMMAND_ID158=""
CONFIG_CN_SPEECH_COMMAND_ID159=""
CONFIG_CN_SPEECH_COMMAND_ID160=""
CONFIG_CN_SPEECH_COMMAND_ID161=""
CONFIG_CN_SPEECH_COMMAND_ID162=""
CONFIG_CN_SPEECH_COMMAND_ID163=""
CONFIG_CN_SPEECH_COMMAND_ID164=""
CONFIG_CN_SPEECH_COMMAND_ID165=""
CONFIG_CN_SPEECH_COMMAND_ID166=""
CONFIG_CN_SPEECH_COMMAND_ID167=""
CONFIG_CN_SPEECH_COMMAND_ID168=""
CONFIG_CN_SPEECH_COMMAND_ID169=""
CONFIG_CN_SPEECH_COMMAND_ID170=""
CONFIG_CN_SPEECH_COMMAND_ID171=""
CONFIG_CN_SPEECH_COMMAND_ID172=""
CONFIG_CN_SPEECH_COMMAND_ID173=""
CONFIG_CN_SPEECH_COMMAND_ID174=""
CONFIG_CN_SPEECH_COMMAND_ID175=""
CONFIG_CN_SPEECH_COMMAND_ID176=""
CONFIG_CN_SPEECH_COMMAND_ID177=""
CONFIG_CN_SPEECH_COMMAND_ID178=""
CONFIG_CN_SPEECH_COMMAND_ID179=""
CONFIG_CN_SPEECH_COMMAND_ID180=""
CONFIG_CN_SPEECH_COMMAND_ID181=""
CONFIG_CN_SPEECH_COMMAND_ID182=""
CONFIG_CN_SPEECH_COMMAND_ID183=""
CONFIG_CN_SPEECH_COMMAND_ID184=""
CONFIG_CN_SPEECH_COMMAND_ID185=""
CONFIG_CN_SPEECH_COMMAND_ID186=""
CONFIG_CN_SPEECH_COMMAND_ID187=""
CONFIG_CN_SPEECH_COMMAND_ID188=""
CONFIG_CN_SPEECH_COMMAND_ID189=""
CONFIG_CN_SPEECH_COMMAND_ID190=""
CONFIG_CN_SPEECH_COMMAND_ID191=""
CONFIG_CN_SPEECH_COMMAND_ID192=""
CONFIG_CN_SPEECH_COMMAND_ID193=""
CONFIG_CN_SPEECH_COMMAND_ID194=""
CONFIG_CN_SPEECH_COMMAND_ID195=""
CONFIG_CN_SPEECH_COMMAND_ID196=""
CONFIG_CN_SPEECH_COMMAND_ID197=""
CONFIG_CN_SPEECH_COMMAND_ID198=""
CONFIG_CN_SPEECH_COMMAND_ID199=""
# end of Add Chinese speech commands
# end of ESP Speech Recognition # end of ESP Speech Recognition
# #
@@ -2484,9 +2658,8 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00
# #
# Memory settings # Memory settings
# #
# CONFIG_LV_MEM_CUSTOM is not set CONFIG_LV_MEM_CUSTOM=y
CONFIG_LV_MEM_SIZE_KILOBYTES=128 CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h"
CONFIG_LV_MEM_ADDR=0x0
CONFIG_LV_MEM_BUF_MAX_NUM=16 CONFIG_LV_MEM_BUF_MAX_NUM=16
# CONFIG_LV_MEMCPY_MEMSET_STD is not set # CONFIG_LV_MEMCPY_MEMSET_STD is not set
# end of Memory settings # end of Memory settings
@@ -2550,8 +2723,16 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h"
# #
# Others # Others
# #
# CONFIG_LV_USE_PERF_MONITOR is not set CONFIG_LV_USE_PERF_MONITOR=y
# CONFIG_LV_USE_MEM_MONITOR is not set # CONFIG_LV_PERF_MONITOR_ALIGN_TOP_LEFT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_TOP_MID is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_TOP_RIGHT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_LEFT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_MID is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_LEFT_MID is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_RIGHT_MID is not set
CONFIG_LV_PERF_MONITOR_ALIGN_CENTER=y
# CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_USE_REFR_DEBUG is not set
# CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_CUSTOM is not set
# CONFIG_LV_SPRINTF_USE_FLOAT is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set
+2 -1
View File
@@ -100,12 +100,13 @@ void test_play_one(const char *dir, const char *file)
Music_pause(); Music_pause();
ESP_LOGI(TEST_TAG, "测试结束,停止播放"); ESP_LOGI(TEST_TAG, "测试结束,停止播放");
} }
#include "tools.h"
/*------------------------------------------------- /*-------------------------------------------------
* 测试入口 * 测试入口
*------------------------------------------------*/ *------------------------------------------------*/
void run_audio_test(void) void run_audio_test(void)
{ {
create_print_sys_memory_task();
/* 1. 初始化外设 */ /* 1. 初始化外设 */
ESP_LOGI(TEST_TAG, "=== 音频测试开始 ==="); ESP_LOGI(TEST_TAG, "=== 音频测试开始 ===");
SD_Init(); // 挂载 SD 卡 SD_Init(); // 挂载 SD 卡
+76 -1
View File
@@ -3,7 +3,7 @@
// //
#include <esp_log.h> #include <esp_log.h>
#include "tools.h"
#include "I2C_Driver.h" #include "I2C_Driver.h"
#include "QMI8658.h" #include "QMI8658.h"
@@ -250,3 +250,78 @@ void gif_test(void)
{ {
gif_display_test(); gif_display_test();
} }
#include "PWR_Key.h"
static void pwr_task(void *arg)
{
while (true) {
PWR_Loop(); // 电源键扫描
vTaskDelay(pdMS_TO_TICKS(100)); // 让出 CPU,防止 WDT
}
}
void pwr_key_test(void)
{
ESP_LOGI("PWR_KEY_TEST", "正在创建内存使用信息打印任务");
create_print_sys_memory_task();
PWR_Init(); // 电源键初始化
I2C_Init();
LCD_Init(); // 屏幕初始化
LVGL_Init();
/* 创建独立任务 */
xTaskCreate(pwr_task, "pwr_task", 2048, NULL, 5, NULL);
/* 主任务到这里就可以退出,进入 idle,WDT 不会再触发 */
ESP_LOGI("PWR_KEY_TEST", "pwr_key_test task created");
while (1) {
// raise the task priority of LVGL and/or reduce the handler period can improve the performance
vTaskDelay(pdMS_TO_TICKS(10));
// The task running lv_timer_handler should have lower priority than that running `lv_tick_inc`
lv_timer_handler();
}
}
#include "MIC_Speech.h"
void mic_speech_test(void)
{
I2C_Init();
LCD_Init(); // 屏幕初始化
SD_Init(); // 初始化 SD 卡以方便读出模型文件
LVGL_Init();
MIC_Speech_init();
while (1) {
print_sys_memory();
// raise the task priority of LVGL and/or reduce the handler period can improve the performance
vTaskDelay(pdMS_TO_TICKS(100));
// The task running lv_timer_handler should have lower priority than that running `lv_tick_inc`
lv_timer_handler();
}
}
void mic_speech_and_gif_and_music_test(void)
{
I2C_Init();
LCD_Init(); // 屏幕初始化
SD_Init(); // 初始化 SD 卡以方便读出模型文件
LVGL_Init();
gif_display_test_1();
MIC_Speech_init();
while (1) {
print_sys_memory();
// raise the task priority of LVGL and/or reduce the handler period can improve the performance
vTaskDelay(pdMS_TO_TICKS(100));
// The task running lv_timer_handler should have lower priority than that running `lv_tick_inc`
lv_timer_handler();
}
}
+9
View File
@@ -32,5 +32,14 @@ void lcd_touch_lvgl_test(void);
// GIF测试 // GIF测试
void gif_test(void); void gif_test(void);
// PWR按键测试
void pwr_key_test(void);
// 语音识别测试
void mic_speech_test(void);
// 语音识别+GIF+音乐测试
void mic_speech_and_gif_and_music_test(void);
#endif //BIONIC_SPHERE_DRIVERS_TEST_H #endif //BIONIC_SPHERE_DRIVERS_TEST_H
+10
View File
@@ -7,6 +7,7 @@
#include "SD_MMC.h" #include "SD_MMC.h"
#include "I2C_Driver.h" #include "I2C_Driver.h"
#include "ST77916.h" #include "ST77916.h"
#include "tools.h"
#include <esp_log.h> #include <esp_log.h>
static const char *tTAG = "GIF_TEST"; static const char *tTAG = "GIF_TEST";
@@ -153,6 +154,9 @@ void gif_display_test(void)
{ {
ESP_LOGI(tTAG, "======== GIF 显示测试开始 ========"); ESP_LOGI(tTAG, "======== GIF 显示测试开始 ========");
ESP_LOGI(tTAG, "1. 创建系统内存打印任务...");
create_print_sys_memory_task();
/* 1. 初始化 SD 卡 */ /* 1. 初始化 SD 卡 */
ESP_LOGI(tTAG, "1. 初始化 SD 卡..."); ESP_LOGI(tTAG, "1. 初始化 SD 卡...");
SD_Init(); // 你的挂载函数 SD_Init(); // 你的挂载函数
@@ -176,3 +180,9 @@ void gif_display_test(void)
lv_timer_handler(); lv_timer_handler();
} }
} }
void gif_display_test_1(void) {
ESP_LOGI(tTAG, "3. 开始显示 GIF...");
red_gif_test();
}
+2
View File
@@ -8,4 +8,6 @@
void gif_display_test(void); void gif_display_test(void);
void gif_display_test_1(void);
#endif //BIONIC_SPHERE_GIF_TEST_H #endif //BIONIC_SPHERE_GIF_TEST_H
+12 -2
View File
@@ -155,12 +155,22 @@
- [x] 3. 完成了gif的显示测试(使用lvgl当中的gif解码器),测试通过 - [x] 3. 完成了gif的显示测试(使用lvgl当中的gif解码器),测试通过
#### Day4 2025.8.26 #### Day5 2025.8.26
##### 主要目标:测试开发板官方提供的例程中的驱动能否使用 ##### 主要目标:测试开发板官方提供的例程中的驱动能否使用
实际完成任务: 实际完成任务:
- [x] 1. 优化了项目结构 - [x] 1. 优化了项目结构
#### Day4 2025.8.27 #### Day6 2025.8.27
##### 主要目标:测试开发板官方提供的例程中的驱动能否使用 ##### 主要目标:测试开发板官方提供的例程中的驱动能否使用
实际完成任务: 实际完成任务:
- [x] 1. 完成了SDMMC的超频,从20MHz提升到40MHz,测试通过 - [x] 1. 完成了SDMMC的超频,从20MHz提升到40MHz,测试通过
#### Day7 2025.8.27
##### 主要目标:测试开发板官方提供的例程中的驱动能否使用
实际完成任务:
- [x] 1. 完成了PWR按键相关的测试,测试通过
#### Day8 2025.9.1
##### 主要目标:测试开发板官方提供的例程中的驱动能否使用
实际完成任务:
- [x] 1. 完成了语言识别测试,测试基本通过,后续需要修改从sd卡导入模型以配合ota