diff --git a/Makefile b/Makefile index 17e2ca1..5adbccf 100644 --- a/Makefile +++ b/Makefile @@ -628,6 +628,7 @@ c_SRC_FILES := \ apps/earphone/xtell_Sensor/sensor/MMC56.c \ apps/earphone/xtell_Sensor/sensor/BMP280.c \ apps/earphone/xtell_Sensor/sensor/AK8963.c \ + apps/earphone/xtell_Sensor/sensor/WF282A.c \ # 需要编译的 .S 文件 diff --git a/apps/earphone/xtell_Sensor/send_data.c b/apps/earphone/xtell_Sensor/send_data.c index eb08e24..80562f4 100644 --- a/apps/earphone/xtell_Sensor/send_data.c +++ b/apps/earphone/xtell_Sensor/send_data.c @@ -26,6 +26,7 @@ #include "./sensor/MMC56.h" #include "./sensor/BMP280.h" #include "./sensor/AK8963.h" +#include "./sensor/WF282A.h" #include "asm/rtc.h" #include "system/timer.h" #include "adv_time_stamp_setting.h" @@ -167,7 +168,11 @@ void sensor_collect_task(void){ if(interval >= 4){ interval = 0; SL_data_index = 0; + #if BMP280 bmp280_read_data(&temperature, &pressure);//每40ms读取一次 + #else + WF_GET_Temperature_Pressure(&temperature, &pressure); + #endif for(int i = 0;i -#define BMP_PULL_UP 0 //外部是否接的上拉 +#define BMP_PULL_UP 1 //外部是否接的上拉 // I2C 从设备地址 #if BMP_PULL_UP == 1 //外部接的高 @@ -33,7 +33,7 @@ * @return 0: 成功, 1: 芯片ID错误, 2: 读取校准参数失败 * @note 此函数会完成ID检查、软复位、读取校准参数,并设置传感器为连续测量模式。 */ -uint8_t bmp280_init(void); +uint8_t BMP280_init(void); /** * @brief 从BMP280读取温度和气压数据 diff --git a/apps/earphone/xtell_Sensor/sensor/WF282A.c b/apps/earphone/xtell_Sensor/sensor/WF282A.c index 41e795c..0d830bc 100644 --- a/apps/earphone/xtell_Sensor/sensor/WF282A.c +++ b/apps/earphone/xtell_Sensor/sensor/WF282A.c @@ -6,6 +6,15 @@ #include // 推荐使用标准类型 #include "gSensor/gSensor_manage.h" +#define ENABLE_XLOG 1 +#ifdef xlog +#undef xlog +#endif +#if ENABLE_XLOG + #define xlog(format, ...) printf("[XT:%s] " format, __func__, ##__VA_ARGS__) +#else + #define xlog(format, ...) ((void)0) +#endif /*==================================================================================*/ /* WF282A 内部定义 */ /*==================================================================================*/ @@ -109,13 +118,14 @@ uint8_t WF_Init() { // 1. 配置传感器工作模式 // 推荐配置:压力8次过采样,温度1次过采样,测量速率16Hz - wf282a_write_reg(WF_PRS_CFG, (PM_RATE_16 << 4) | PM_PRC_8); - wf282a_write_reg(WF_TMP_CFG, (TMP_RATE_16 << 4) | TMP_PRC_1 | TMP_INT_SENSOR); + wf282a_write_reg(WF_PRS_CFG, (PM_RATE_32 << 4) | PM_PRC_32); + wf282a_write_reg(WF_TMP_CFG, TMP_INT_SENSOR | (TMP_RATE_32 << 4) | TMP_PRC_32); wf282a_write_reg(WF_MEAS_CFG, 0x07); // 启动连续压力和温度测量 wf282a_write_reg(WF_CFG_REG, 0x00); // 无中断或FIFO移位配置 // 2. 一次性读取所有校准系数 (从0x10到0x21,共18字节) - if (wf282a_read_regs(COEF_C0, calib_buf, 18) != 0) { + if (wf282a_read_regs(COEF_C0, calib_buf, 18) == 0) { + xlog("Failed to read the calibration coefficient\n"); return 2; // 读取校准数据失败 } parse_calibration_data(calib_buf); @@ -123,6 +133,7 @@ uint8_t WF_Init() { // 3. 检查配置是否写入成功 wf282a_read_regs(WF_MEAS_CFG, &check_cfg, 1); if (check_cfg != 0x07) { + xlog("WF_Init error, check_cfg: %d\n", check_cfg); return 1; // 错误 } else { return 0; // 成功 @@ -168,6 +179,19 @@ float WF_Pressure_Calculate() { return Pcomp; } +void WF_GET_Temperature_Pressure(float* temperature, float* precessure){ + int32_t Traw = Get_Traw(); + int32_t Praw = Get_Praw(); + float Traw_sc = (float)Traw / KT;// 缩放原始温度值 + float Praw_sc = (float)Praw / KP;// 缩放原始压力值 + + *temperature = (float)c0 * 0.5f + (float)c1 * Traw_sc; + *precessure = (float)c00 + + Praw_sc * ((float)c10 + Praw_sc * ((float)c20 + Praw_sc * (float)c30)) + + Traw_sc * (float)c01 + + Traw_sc * Praw_sc * ((float)c11 + Praw_sc * (float)c21); +} + float WF_Altitude_Calculate() { float pressure_pa = WF_Pressure_Calculate(); // 使用标准大气压公式计算海拔 diff --git a/apps/earphone/xtell_Sensor/sensor/WF282A.h b/apps/earphone/xtell_Sensor/sensor/WF282A.h index 8503907..2f61728 100644 --- a/apps/earphone/xtell_Sensor/sensor/WF282A.h +++ b/apps/earphone/xtell_Sensor/sensor/WF282A.h @@ -4,8 +4,19 @@ #include // 使用标准整数类型 // 标定值 -#define KT 524288.0f -#define KP 1572864.0f +/* +Oversampling Rate Scale Factor (kP or kT +1 (single) 524288 +2 times (Low Power) 1572864 +4 times 3670016 +8 times 7864320 +16 times (Standard) 253952 +32 times 516096 +64 times (High Precision) 1040384 +128 times 2088960 +*/ +#define KT 516096.0f //温度 +#define KP 516096.0f //压力 #define WF_PULL_UP 1 //外部是否接的上拉 @@ -95,7 +106,7 @@ #define TMP_RATE_32 0x05 // 32 次/秒 #define TMP_RATE_64 0x06 // 64 次/秒 #define TMP_RATE_128 0x07 // 128 次/秒 -// 温度配置 (TMP_CFG[3:0]) - 过采样率 +// 温度配置 (TMP_CFG[2:0]) - 过采样率 #define TMP_PRC_1 0x00 // 1 次 #define TMP_PRC_2 0x01 // 2 次 #define TMP_PRC_4 0x02 // 4 次 @@ -145,4 +156,6 @@ float WF_Pressure_Calculate(void); */ float WF_Temperature_Calculate(void); +void WF_GET_Temperature_Pressure(float* temperature, float* precessure); + #endif // _WF282A_H_ \ No newline at end of file diff --git a/apps/earphone/xtell_Sensor/xtell.h b/apps/earphone/xtell_Sensor/xtell.h index e197c79..a855aa4 100644 --- a/apps/earphone/xtell_Sensor/xtell.h +++ b/apps/earphone/xtell_Sensor/xtell.h @@ -7,4 +7,6 @@ #define ACC_RANGE 16 //g,加速度满量程:2、4、8、16 +#define BMP280 1 + #endif \ No newline at end of file diff --git a/apps/earphone/xtell_Sensor/xtell_handler.c b/apps/earphone/xtell_Sensor/xtell_handler.c index 2b7cd7c..e8ebb72 100644 --- a/apps/earphone/xtell_Sensor/xtell_handler.c +++ b/apps/earphone/xtell_Sensor/xtell_handler.c @@ -49,6 +49,7 @@ #include "./sensor/MMC56.h" #include "./sensor/BMP280.h" #include "./sensor/AK8963.h" +#include "./sensor/WF282A.h" #include "./calculate/skiing_tracker.h" /////////////////////////////////////////////////////////////////////////////////////////////////// //宏定义 @@ -83,13 +84,13 @@ extern u8 init_ok; extern u8 sniff_out; unsigned char xtell_bl_state=0; //存放经典蓝牙的连接状态,0断开,1是连接 u8 bt_newname =0; -unsigned char xt_ble_new_name[9] = "skiing_2F"; +unsigned char xt_ble_new_name[9] = "skiing_D7"; static u16 play_poweron_ok_timer_id = 0; // -- 初始化标志位 -- u8 SC7U22_init = 0x10; //六轴是否初始化 u8 MMC5603nj_init = 0x20; //地磁是否初始化 -u8 BMP280_init = 0x30; //气压计初始化 +u8 barometer_init = 0x30; //气压计初始化 u8 foot_init = 0x40; //数据来源初始化:左脚0x41 or 右脚0x42 // -- 线程id -- @@ -232,6 +233,7 @@ void le_user_app_event(u8* buffer){ send_data_to_ble_client(&send2_0,5); // start_calibration(); }else if(buffer[4] == 0x02){ //地磁 + if(mmc5603nj_init() == 0){ MMC5603nj_init = 0x20; send2_0[4] = MMC5603nj_init; //地磁初始化失败 @@ -242,16 +244,29 @@ void le_user_app_event(u8* buffer){ send2_0[4] = MMC5603nj_init; //地磁初始化成功 send_data_to_ble_client(&send2_0,5); }else if(buffer[4] == 0x03){ //气压计初始化 - if(bmp280_init() != 0){ + #if BMP280 + if(BMP280_init() != 0){ //初始化失败 - BMP280_init = 0x30; - send2_0[4] = BMP280_init; + barometer_init = 0x30; + send2_0[4] = barometer_init; send_data_to_ble_client(&send2_0,5); return; } - BMP280_init = 0x31; - send2_0[4] = BMP280_init; //气压计初始化成功 + barometer_init = 0x31; + send2_0[4] = barometer_init; //气压计初始化成功 send_data_to_ble_client(&send2_0,5); + #else + if(WF_Init() != 0){ + //初始化失败 + barometer_init = 0x30; + send2_0[4] = barometer_init; + send_data_to_ble_client(&send2_0,5); + return; + } + barometer_init = 0x31; + send2_0[4] = barometer_init; //气压计初始化成功 + send_data_to_ble_client(&send2_0,5); + #endif } break; case 0x01: //设置传感器采集对象:左脚or右脚 @@ -271,13 +286,13 @@ void le_user_app_event(u8* buffer){ }else if(buffer[4] == 0x02){ //地磁 send2_2[4] = MMC5603nj_init; }else if(buffer[4] == 0x03){ //气压计 - send2_2[4] = BMP280_init; + send2_2[4] = barometer_init; } send_data_to_ble_client(&send2_2,5); break; case 0x03: //开始/停止滑雪计算 if(buffer[4] == 0x01){ //开始滑雪计算 - if(SC7U22_init == 0x10 || MMC5603nj_init == 0x20 || BMP280_init == 0x30){ //传感器未进行初始化 + if(SC7U22_init == 0x10 || MMC5603nj_init == 0x20 || barometer_init == 0x30){ //传感器未进行初始化 u8 send2_3[5] = {0xBB,0xBE,0x02,0x00,0x00}; send_data_to_ble_client(&send2_3,5); return; @@ -366,15 +381,15 @@ void le_user_app_event_handler(struct sys_event* event){ send2_0[4] = MMC5603nj_init; //地磁初始化成功 send_data_to_ble_client(&send2_0,5); }else if(event->u.app.buffer[4] == 0x03){ //气压计初始化 - if(bmp280_init() != 0){ + if(BMP280_init() != 0){ //初始化失败 - BMP280_init = 0x30; - send2_0[4] = BMP280_init; + barometer_init = 0x30; + send2_0[4] = barometer_init; send_data_to_ble_client(&send2_0,5); return; } - BMP280_init = 0x31; - send2_0[4] = BMP280_init; //气压计初始化成功 + barometer_init = 0x31; + send2_0[4] = barometer_init; //气压计初始化成功 send_data_to_ble_client(&send2_0,5); } break; @@ -395,13 +410,13 @@ void le_user_app_event_handler(struct sys_event* event){ }else if(event->u.app.buffer[4] == 0x02){ //地磁 send2_2[4] = MMC5603nj_init; }else if(event->u.app.buffer[4] == 0x03){ //气压计 - send2_2[4] = BMP280_init; + send2_2[4] = barometer_init; } send_data_to_ble_client(&send2_2,5); break; case 0x03: //开始/停止滑雪计算 if(event->u.app.buffer[4] == 0x01){ //开始滑雪计算 - if(SC7U22_init == 0x10 || MMC5603nj_init == 0x20 || BMP280_init == 0x30){ //传感器未进行初始化 + if(SC7U22_init == 0x10 || MMC5603nj_init == 0x20 || barometer_init == 0x30){ //传感器未进行初始化 u8 send2_3[5] = {0xBB,0xBE,0x02,0x00,0x00}; send_data_to_ble_client(&send2_3,5); return; diff --git a/apps/earphone/xtell_remote_control/ble_handler/ble_handler.c b/apps/earphone/xtell_remote_control/ble_handler/ble_handler.c new file mode 100644 index 0000000..9c6d139 --- /dev/null +++ b/apps/earphone/xtell_remote_control/ble_handler/ble_handler.c @@ -0,0 +1,528 @@ +#include "system/includes.h" +#include "media/includes.h" +#include "tone_player.h" +#include "earphone.h" + +#include "app_config.h" +#include "app_action.h" +#include "app_task.h" + +#include "btstack/avctp_user.h" +#include "btstack/btstack_task.h" +#include "btctrler/btctrler_task.h" +#include "btstack/frame_queque.h" +#include "user_cfg.h" +// #include "aec_user.h" +#include "classic/hci_lmp.h" +#include "bt_common.h" +#include "bt_ble.h" +#include "bt_tws.h" +#include "pbg_user.h" +#include "btstack/bluetooth.h" +#include "colorful_lights/colorful_lights.h" + +#include "app_chargestore.h" +#include "jl_kws/jl_kws_api.h" + +#include "asm/charge.h" +#include "app_charge.h" +#include "ui_manage.h" + +#include "app_chargestore.h" +#include "app_umidigi_chargestore.h" +#include "app_testbox.h" +#include "app_online_cfg.h" +#include "app_main.h" +#include "app_power_manage.h" +#include "gSensor/gSensor_manage.h" +#include "key_event_deal.h" +#include "classic/tws_api.h" +#include "asm/pwm_led.h" +#include "ir_sensor/ir_manage.h" +#include "in_ear_detect/in_ear_manage.h" +#include "vol_sync.h" +#include "bt_background.h" +#include "default_event_handler.h" +#include "debug.h" +#include "system/event.h" +#include "../nvs/nvs.h" +#if (JL_EARPHONE_APP_EN) +#include "rcsp_adv_bluetooth.h" +#endif +/////////////////////////////////////////////////////////////////////////////////////////////////// +//宏定义 +#define LOG_TAG_CONST EARPHONE +#define LOG_TAG "[EARPHONE]" +#define LOG_ERROR_ENABLE +#define LOG_DEBUG_ENABLE +#define xlog_ENABLE + + +#if(USE_DMA_UART_TEST) //使用dm串口测试时不能同时打开 +#define MY_SNIFF_EN 0 +#else +#define MY_SNIFF_EN 1 //默认打开 +#endif + +#define ENABLE_XLOG 1 +#ifdef xlog +#undef xlog +#endif +#if ENABLE_XLOG + #define xlog(format, ...) printf("[XT:%s] " format, __func__, ##__VA_ARGS__) +#else + #define xlog(format, ...) ((void)0) +#endif +// +/////////////////////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////////////////////// +//变量 +extern u8 init_ok; +extern u8 sniff_out; +unsigned char xtell_bl_state=0; //存放经典蓝牙的连接状态,0断开,1是连接 +u8 bt_newname =0; +unsigned char xt_ble_new_name[9] = "CM-55555"; +static u16 play_poweron_ok_timer_id = 0; + +// -- 初始化标志位 -- +u8 SC7U22_init = 0x10; //六轴是否初始化 +u8 MMC5603nj_init = 0x20; //地磁是否初始化 +u8 barometer_init = 0x30; //气压计初始化 +// -- 线程id -- +u16 SC7U22_calibration_id; +u16 start_collect_fuc_id; +u16 BLE_send_fuc_id; +u16 rfid_fuc_id; +// +/////////////////////////////////////////////////////////////////////////////////////////////////// +extern int bt_hci_event_handler(struct bt_event *bt); +extern void SC7U22_static_calibration(void); +extern void create_process(u16* pid, const char* name, void *priv, void (*func)(void *priv), u32 msec); +extern void close_process(u16* pid,char* name); +extern void start_collect_fuc(void); +extern void BLE_send_fuc(void); +extern void xtell_ble_central_test_start(void); +/////////////////////////////////////////////////////////////////////////////////////////////////// +/* + * 模式状态机, 通过start_app()控制状态切换 + */ +/* extern int audio_mic_init(); */ + +static int state_machine(struct application *app, enum app_state state, struct intent *it){ + int error = 0; + static u8 tone_player_err = 0; + xlog("bt_state_machine=%d\n", state); + switch (state) { + case APP_STA_CREATE: + xlog("APP_STA_CREATE\n"); + /* set_adjust_conn_dac_check(0); */ + + break; + case APP_STA_START: + xlog("APP_STA_START\n"); + if (!it) { + xlog("APP_STA_START:it none\n"); + break; + } + switch (it->action) { + case ACTION_EARPHONE_MAIN: + xlog("ble init\n"); + /* + * handler 初始化 + */ + clk_set("sys", BT_NORMAL_HZ); + u32 sys_clk = clk_get("sys"); + bt_pll_para(TCFG_CLOCK_OSC_HZ, sys_clk, 0, 0); + /* bredr_set_dut_enble(1, 1); */ + bt_function_select_init(); + bredr_handle_register(); + EARPHONE_STATE_INIT(); + btstack_init(); + sys_auto_shut_down_enable(); + bt_sniff_feature_init(); + sys_auto_sniff_controle(MY_SNIFF_EN, NULL); + app_var.dev_volume = -1; + break; + case ACTION_A2DP_START: //蓝牙音频传输协议 + xlog("ACTION_A2DP_START\n"); + break; + case ACTION_BY_KEY_MODE: + xlog("ACTION_BY_KEY_MODE\n"); + break; + case ACTION_TONE_PLAY: + xlog("ACTION_TONE_PLAY\n"); + // STATUS *p_tone = get_tone_config(); + // tone_play_index(p_tone->bt_init_ok, 1); + break; + case ACTION_DO_NOTHING: + xlog("ACTION_DO_NOTHING\n"); + break; + } + break; + case APP_STA_PAUSE: + xlog("APP_STA_PAUSE\n"); + break; + case APP_STA_RESUME: + xlog("APP_STA_RESUME\n"); + //恢复前台运行 + sys_auto_shut_down_disable(); + sys_key_event_enable(); + break; + case APP_STA_STOP: + xlog("APP_STA_STOP\n"); + break; + case APP_STA_DESTROY: + xlog("APP_STA_DESTROY\n"); + r_printf("APP_STA_DESTROY\n"); + if (!app_var.goto_poweroff_flag) { + bt_app_exit(NULL); + } + break; + } + xlog("state machine error\n"); + return error; +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// +//handle + + +void le_user_app_send_event(size_t command, unsigned char* data, size_t size) +{ + // 中断->事件 + static unsigned char buffer[512]; + if(data && size && size <= sizeof(buffer)) { + // 拷贝到缓存,避免转发事件的时候,地址发送改变。 + memcpy(buffer, data, size); + struct sys_event event; + event.type = SYS_APP_USER_EVENT; + event.u.app.command = command; + event.u.app.buffer = buffer; + event.u.app.size = size; + sys_event_notify(&event); + } +} + +void le_user_app_event_handler(struct sys_event* event){ + + switch (event->type) { + // 打印接收到的数据 + printf("BLE data\n"); + put_buf(event->u.app.buffer, event->u.app.size); + case SYS_APP_USER_EVENT: + if (event->u.app.buffer[0] == 0xBE && event->u.app.buffer[1] == 0xBB) { + if(event->u.app.buffer[2] == 0x01){ //后面的数据长度 1 + switch (event->u.app.buffer[3]){ + case 0x01: + nvs_test_factory_info(); + break; + case 0x02: + // factory_info_t read_info;; + // nvs_read_factory_info(&read_info); + extern void rfid_task_fuc(void); + create_process(&rfid_fuc_id,"rfid",NULL,rfid_task_fuc,2000); + break; + case 0xff: //测试 + int ret = hw_iic_init(0); + // int ret = soft_iic_init(0); + xlog("init iic result:%d\n", ret); //返回0成功 + extern void i2c_scanner_probe(void); + i2c_scanner_probe(); + + break; + default: + break; + } + }else if(event->u.app.buffer[2] == 0x02){ //后面数据长度为2 + switch (event->u.app.buffer[3]){ //数据包类型 + case 0x00: + break; + } + } + } + break; + + default: + xlog("%d\n",event->type); + break; + } + + +} + + +static void play_poweron_ok_timer(void *priv) +{ + app_var.wait_timer_do = 0; + + log_d("\n-------play_poweron_ok_timer-------\n", priv); + if (is_dac_power_off()) { +#if TCFG_USER_TWS_ENABLE + bt_tws_poweron(); +#else + bt_wait_connect_and_phone_connect_switch(0); +#endif + return; + } + + app_var.wait_timer_do = sys_timeout_add(priv, play_poweron_ok_timer, 100); +} + +static void play_bt_connect_dly(void *priv) +{ + app_var.wait_timer_do = 0; + + log_d("\n-------play_bt_connect_dly-------\n", priv); + + if (!app_var.goto_poweroff_flag) { + STATUS *p_tone = get_tone_config(); + tone_play_index(p_tone->bt_connect_ok, 1); + } +} + + + +static int bt_connction_status_event_handler(struct bt_event *bt) +{ + STATUS *p_tone = get_tone_config(); + u8 *phone_number = NULL; + + switch (bt->event) { + case BT_STATUS_INIT_OK: + /* + * 蓝牙初始化完成 + */ + xlog("BT_STATUS_INIT_OK\n"); + init_ok = 1; + __set_sbc_cap_bitpool(38); + +#if (TCFG_USER_BLE_ENABLE) + if (BT_MODE_IS(BT_BQB)) { + ble_bqb_test_thread_init(); + } else { +#if !TCFG_WIRELESS_MIC_ENABLE + bt_ble_init(); // lmx,初始化完,初始化ble,决定ble是作为主设备还是从设备 + // xtell_ble_central_test_start(); //xtell +#endif + } +#endif + bt_init_ok_search_index(); +#if TCFG_TEST_BOX_ENABLE + testbox_set_bt_init_ok(1); +#endif + +#if ((CONFIG_BT_MODE == BT_BQB)||(CONFIG_BT_MODE == BT_PER)) + bt_wait_phone_connect_control(1); +#else + if (is_dac_power_off()) { + bt_wait_connect_and_phone_connect_switch(0); + } else { + app_var.wait_timer_do = sys_timeout_add(NULL, play_poweron_ok_timer, 100); + } +#endif + + /*if (app_var.play_poweron_tone) { + tone_play_index(p_tone->power_on, 1); + }*/ + break; + + case BT_STATUS_SECOND_CONNECTED: + clear_current_poweron_memory_search_index(0); + case BT_STATUS_FIRST_CONNECTED: + xlog("BT_STATUS_CONNECTED\n"); + xtell_bl_state = 1; //蓝牙连接成功 置1 + if(strcmp(xt_ble_new_name,"CM-11111") != 0){ + //蓝牙连接成功 + bt_newname =1; + u8 temp[5]={0xBB,0xBE,0x02,0x04,0x00}; + temp[4] = xtell_bl_state; //经典蓝牙连接状态 + // send_data_to_ble_client(&temp,5); + } + earphone_change_pwr_mode(PWR_DCDC15, 3000); + sys_auto_shut_down_disable(); + + ui_update_status(STATUS_BT_CONN); //单台在此处设置连接状态,对耳的连接状态需要同步,在bt_tws.c中去设置 + + /* tone_play(TONE_CONN); */ + /*os_time_dly(40); // for test*/ + xlog("tone status:%d\n", tone_get_status()); + if (get_call_status() == BT_CALL_HANGUP) { + if (app_var.phone_dly_discon_time) { + sys_timeout_del(app_var.phone_dly_discon_time); + app_var.phone_dly_discon_time = 0; + } else { + app_var.wait_timer_do = sys_timeout_add(NULL, play_bt_connect_dly, 1600); + /* tone_play_index(p_tone->bt_connect_ok, 1); */ + } + } + + + /*int timeout = 5000 + rand32() % 10000; + sys_timeout_add(NULL, connect_phone_test, timeout);*/ + break; + case BT_STATUS_FIRST_DISCONNECT: + case BT_STATUS_SECOND_DISCONNECT: + xlog("BT_STATUS_DISCONNECT\n"); + xtell_bl_state = 0; //断开蓝牙 清0 + //蓝牙断开连接 + if(bt_newname){ //已经改成新蓝牙名字,断开才播报 + bt_newname=0; + u8 temp[5]={0xBB,0xBE,0x02,0x04,0x00}; + temp[4] = xtell_bl_state; //经典蓝牙连接状态 + // send_data_to_ble_client(&temp,5); + } + if (app_var.goto_poweroff_flag) { + /*关机不播断开提示音*/ + /*关机时不改UI*/ + break; + } + // bt_discon_dly_handle(NULL); + break; + + //phone status deal + case BT_STATUS_PHONE_INCOME: + break; + case BT_STATUS_PHONE_OUT: + + break; + case BT_STATUS_PHONE_ACTIVE: + break; + case BT_STATUS_PHONE_HANGUP: + break; + case BT_STATUS_PHONE_NUMBER: + break; + case BT_STATUS_INBAND_RINGTONE: //铃声 + break; + case BT_STATUS_CALL_VOL_CHANGE: + + break; + case BT_STATUS_SNIFF_STATE_UPDATE: + xlog(" BT_STATUS_SNIFF_STATE_UPDATE %d\n", bt->value); //0退出SNIFF + if (bt->value == 0) { + sniff_out = 1; + sys_auto_sniff_controle(MY_SNIFF_EN, bt->args); + } else { + sys_auto_sniff_controle(0, bt->args); + } + break; + + case BT_STATUS_LAST_CALL_TYPE_CHANGE: + break; + + case BT_STATUS_CONN_A2DP_CH: + case BT_STATUS_CONN_HFP_CH: + + if ((!is_1t2_connection()) && (get_current_poweron_memory_search_index(NULL))) { //回连下一个device + if (get_esco_coder_busy_flag()) { + clear_current_poweron_memory_search_index(0); + } else { + user_send_cmd_prepare(USER_CTRL_START_CONNECTION, 0, NULL); + } + } + break; + case BT_STATUS_PHONE_MANUFACTURER: + break; + case BT_STATUS_VOICE_RECOGNITION: + + break; + case BT_STATUS_AVRCP_INCOME_OPID: + xlog("BT_STATUS_AVRCP_INCOME_OPID:%d\n", bt->value); + break; + default: + xlog(" BT STATUS DEFAULT\n"); + break; + } + return 0; +} + + +static int event_handler(struct application *app, struct sys_event *event) +{ + + le_user_app_event_handler(event); + + if (SYS_EVENT_REMAP(event)) { + g_printf("****SYS_EVENT_REMAP**** \n"); + return 0; + } + + switch (event->type) { + case SYS_KEY_EVENT: + break; + case SYS_BT_EVENT: + /* + * 蓝牙事件处理 + */ + if ((u32)event->arg == SYS_BT_EVENT_TYPE_CON_STATUS) { + printf("in event_handler:bt_connction_status_event_handler"); + bt_connction_status_event_handler(&event->u.bt); + } else if ((u32)event->arg == SYS_BT_EVENT_TYPE_HCI_STATUS) { + bt_hci_event_handler(&event->u.bt); + } + break; + case SYS_DEVICE_EVENT: + /* + * 系统设备事件处理 + */ + if ((u32)event->arg == DEVICE_EVENT_FROM_CHARGE) { + + } else if ((u32)event->arg == DEVICE_EVENT_FROM_POWER) { + return app_power_event_handler(&event->u.dev); + } +#if (JL_EARPHONE_APP_EN) + else if ((u32)event->arg == DEVICE_EVENT_FROM_RCSP) { + xlog("DEVICE_EVENT_FROM_RCSP: %d", event->u.rcsp.event); + switch (event->u.rcsp.event) { + case MSG_JL_UPDATE_START: + xlog(">>> Xtell APP: MSG_JL_UPDATE_START\n"); + // You can add UI notifications here, like LED blinking or a tone. + break; + default: + break; + } + } +#endif +#if TCFG_UMIDIGI_BOX_ENABLE + else if ((u32)event->arg == DEVICE_EVENT_UMIDIGI_CHARGE_STORE) { + app_umidigi_chargestore_event_handler(&event->u.umidigi_chargestore); + } +#endif +#if TCFG_TEST_BOX_ENABLE + else if ((u32)event->arg == DEVICE_EVENT_TEST_BOX) { + app_testbox_event_handler(&event->u.testbox); + } +#endif + break; + + default: + return false; + } + + SYS_EVENT_HANDLER_SPECIFIC(event); +#ifdef CONFIG_BT_BACKGROUND_ENABLE + if (app) { + default_event_handler(event); + } +#endif + return false; + +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + +static const struct application_operation app_handler_ops = { + .state_machine = state_machine, + .event_handler = event_handler, +}; + + +/* + * 注册earphone模式 + */ +REGISTER_APPLICATION(app_handler) = { + .name = "handler", + .action = ACTION_EARPHONE_MAIN, + .ops = &app_handler_ops, + .state = APP_STA_DESTROY, +}; diff --git a/cpu/br28/tools/app.bin b/cpu/br28/tools/app.bin index 23c8f0e..926ad8b 100644 Binary files a/cpu/br28/tools/app.bin and b/cpu/br28/tools/app.bin differ diff --git a/cpu/br28/tools/download/earphone/download.bat b/cpu/br28/tools/download/earphone/download.bat index d9517b2..33734fc 100644 --- a/cpu/br28/tools/download/earphone/download.bat +++ b/cpu/br28/tools/download/earphone/download.bat @@ -10,7 +10,7 @@ copy ..\..\ota.bin . copy ..\..\anc_coeff.bin . copy ..\..\anc_gains.bin . -..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br28 -boot 0x120000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin -res ..\..\cfg_tool.bin tone.cfg p11_code.bin ..\..\eq_cfg_hw.bin -uboot_compress -format all +..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br28 -boot 0x120000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin -res ..\..\cfg_tool.bin tone.cfg p11_code.bin ..\..\eq_cfg_hw.bin -uboot_compress -format all -key 646-AC690X-7603.key @REM..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br34 -boot 0x20000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin ..\..\cfg_tool.bin -res tone.cfg kws_command.bin p11_code.bin -uboot_compress diff --git a/cpu/br28/tools/download/earphone/jl_isd.bin b/cpu/br28/tools/download/earphone/jl_isd.bin index 83dd355..2913cfb 100644 Binary files a/cpu/br28/tools/download/earphone/jl_isd.bin and b/cpu/br28/tools/download/earphone/jl_isd.bin differ diff --git a/cpu/br28/tools/sdk.elf.objs.txt b/cpu/br28/tools/sdk.elf.objs.txt index 3deb181..ab221fd 100644 --- a/cpu/br28/tools/sdk.elf.objs.txt +++ b/cpu/br28/tools/sdk.elf.objs.txt @@ -1 +1 @@ - objs/apps/common/audio/amplitude_statistic.c.o objs/apps/common/audio/audio_dvol.c.o objs/apps/common/audio/audio_export_demo.c.o objs/apps/common/audio/audio_noise_gate.c.o objs/apps/common/audio/audio_ns.c.o objs/apps/common/audio/audio_plc.c.o objs/apps/common/audio/audio_utils.c.o objs/apps/common/audio/decode/audio_key_tone.c.o objs/apps/common/audio/decode/decode.c.o objs/apps/common/audio/demo/audio_demo.c.o objs/apps/common/audio/online_debug/aud_data_export.c.o objs/apps/common/audio/online_debug/aud_mic_dut.c.o objs/apps/common/audio/online_debug/aud_spatial_effect_dut.c.o objs/apps/common/audio/online_debug/audio_online_debug.c.o objs/apps/common/audio/sine_make.c.o objs/apps/common/audio/uartPcmSender.c.o objs/apps/common/audio/wm8978/iic.c.o objs/apps/common/audio/wm8978/wm8978.c.o objs/apps/common/bt_common/bt_test_api.c.o objs/apps/common/cJSON/cJSON.c.o objs/apps/common/config/app_config.c.o objs/apps/common/config/bt_profile_config.c.o objs/apps/common/config/ci_transport_uart.c.o objs/apps/common/config/new_cfg_tool.c.o objs/apps/common/debug/debug.c.o objs/apps/common/debug/debug_lite.c.o objs/apps/common/dev_manager/dev_manager.c.o objs/apps/common/dev_manager/dev_reg.c.o objs/apps/common/dev_manager/dev_update.c.o objs/apps/common/device/gSensor/SC7A20.c.o objs/apps/common/device/gSensor/STK8321.c.o objs/apps/common/device/gSensor/da230.c.o objs/apps/common/device/gSensor/gSensor_manage.c.o objs/apps/common/device/gSensor/mpu6050.c.o objs/apps/common/device/gx8002_npu/gx8002_enc/gx8002_enc.c.o objs/apps/common/device/gx8002_npu/gx8002_npu.c.o objs/apps/common/device/gx8002_npu/gx8002_npu_event_deal.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_app.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_tws.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade_porting.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/sdfile_upgrade/gx_uart_upgrade_sdfile.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_uart_upgrade_spp.c.o objs/apps/common/device/imu_sensor/icm_42670p/icm_42670p.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_apex.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_driver.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_transport.c.o objs/apps/common/device/imu_sensor/imuSensor_manage.c.o objs/apps/common/device/imu_sensor/lsm6dsl/lsm6dsl.c.o objs/apps/common/device/imu_sensor/mpu6887/mpu6887p.c.o objs/apps/common/device/imu_sensor/mpu9250/mpu9250.c.o objs/apps/common/device/imu_sensor/qmi8658/qmi8658c.c.o objs/apps/common/device/imu_sensor/sh3001/sh3001.c.o objs/apps/common/device/in_ear_detect/in_ear_detect.c.o objs/apps/common/device/in_ear_detect/in_ear_manage.c.o objs/apps/common/device/ir_sensor/ir_manage.c.o objs/apps/common/device/ir_sensor/jsa1221.c.o objs/apps/common/device/key/adkey.c.o objs/apps/common/device/key/adkey_rtcvdd.c.o objs/apps/common/device/key/ctmu_touch_key.c.o objs/apps/common/device/key/iokey.c.o objs/apps/common/device/key/irkey.c.o objs/apps/common/device/key/key_driver.c.o objs/apps/common/device/key/touch_key.c.o objs/apps/common/device/key/uart_key.c.o objs/apps/common/device/norflash/norflash_sfc.c.o objs/apps/common/device/ntc/ntc_det.c.o objs/apps/common/device/usb/device/cdc.c.o objs/apps/common/device/usb/device/descriptor.c.o objs/apps/common/device/usb/device/hid.c.o objs/apps/common/device/usb/device/msd.c.o objs/apps/common/device/usb/device/msd_upgrade.c.o objs/apps/common/device/usb/device/task_pc.c.o objs/apps/common/device/usb/device/uac1.c.o objs/apps/common/device/usb/device/uac_stream.c.o objs/apps/common/device/usb/device/usb_device.c.o objs/apps/common/device/usb/device/user_setup.c.o objs/apps/common/device/usb/host/adb.c.o objs/apps/common/device/usb/host/aoa.c.o objs/apps/common/device/usb/host/audio.c.o objs/apps/common/device/usb/host/audio_demo.c.o objs/apps/common/device/usb/host/hid.c.o objs/apps/common/device/usb/host/usb_bulk_transfer.c.o objs/apps/common/device/usb/host/usb_ctrl_transfer.c.o objs/apps/common/device/usb/host/usb_host.c.o objs/apps/common/device/usb/host/usb_storage.c.o objs/apps/common/device/usb/usb_config.c.o objs/apps/common/device/usb/usb_host_config.c.o objs/apps/common/ezxml/ezxml.c.o objs/apps/common/ezxml/ezxml_example.c.o objs/apps/common/fat_nor/cfg_private.c.o objs/apps/common/fat_nor/virfat_flash.c.o objs/apps/common/file_operate/file_bs_deal.c.o objs/apps/common/file_operate/file_manager.c.o objs/apps/common/icsd/adt/icsd_adt.c.o objs/apps/common/icsd/adt/icsd_adt_app.c.o objs/apps/common/icsd/anc/icsd_anc_app.c.o objs/apps/common/icsd/anc/icsd_anc_board.c.o objs/apps/common/icsd/anc/icsd_anc_data.c.o objs/apps/common/jl_kws/jl_kws_algo.c.o objs/apps/common/jl_kws/jl_kws_audio.c.o objs/apps/common/jl_kws/jl_kws_event.c.o objs/apps/common/jl_kws/jl_kws_main.c.o objs/apps/common/music/breakpoint.c.o objs/apps/common/music/music_decrypt.c.o objs/apps/common/music/music_id3.c.o objs/apps/common/music/music_player.c.o objs/apps/common/temp_trim/dtemp_pll_trim.c.o objs/apps/common/test/fs_test.c.o objs/apps/common/test/os_test.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_ll_demo/ll_demo.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_ll_demo/ll_task.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_import.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_data.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_device.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_event.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_ota.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_service.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_template.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_base64.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_crc.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_hmac.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_log.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_md5.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_sha1.c.o objs/apps/common/third_party_profile/common/3th_profile_api.c.o objs/apps/common/third_party_profile/common/custom_cfg.c.o objs/apps/common/third_party_profile/common/mic_rec.c.o objs/apps/common/third_party_profile/interface/app_protocol_api.c.o objs/apps/common/third_party_profile/interface/app_protocol_common.c.o objs/apps/common/third_party_profile/interface/app_protocol_dma.c.o objs/apps/common/third_party_profile/interface/app_protocol_gfps.c.o objs/apps/common/third_party_profile/interface/app_protocol_gma.c.o objs/apps/common/third_party_profile/interface/app_protocol_mma.c.o objs/apps/common/third_party_profile/interface/app_protocol_ota.c.o objs/apps/common/third_party_profile/interface/app_protocol_tme.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_adaptive_noise_reduction.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_eq_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_hearing_aid_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_tws_sync.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o objs/apps/common/third_party_profile/jieli/le_hogp.c.o objs/apps/common/third_party_profile/jieli/online_db/online_db_deal.c.o objs/apps/common/third_party_profile/jieli/online_db/spp_online_db.c.o objs/apps/common/third_party_profile/jieli/trans_data_demo/le_trans_data.c.o objs/apps/common/third_party_profile/jieli/trans_data_demo/spp_trans_data.c.o objs/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_client.c.o objs/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_server.c.o objs/apps/common/third_party_profile/tuya_protocol/app/demo/tuya_ble_app_demo.c.o objs/apps/common/third_party_profile/tuya_protocol/app/demo/tuya_ota.c.o objs/apps/common/third_party_profile/tuya_protocol/app/product_test/tuya_ble_app_production_test.c.o objs/apps/common/third_party_profile/tuya_protocol/app/uart_common/tuya_ble_app_uart_common_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/aes.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/ccm.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/hmac.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/md5.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/sha1.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/sha256.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port_JL.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port_peripheral.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_api.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_bulk_data.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_data_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event_handler_weak.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_feature_weather.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_gatt_send_queue.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_heap.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_main.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_mem.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_mutli_tsf_protocol.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_queue.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_storage.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_unix_time.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_utils.c.o objs/apps/common/ui/lcd_simple/lcd_simple_api.c.o objs/apps/common/ui/lcd_simple/ui.c.o objs/apps/common/ui/lcd_simple/ui_mainmenu.c.o objs/apps/common/update/testbox_update.c.o objs/apps/common/update/update.c.o objs/apps/common/update/update_tws.c.o objs/apps/common/update/update_tws_new.c.o objs/apps/earphone/aec/br28/audio_aec.c.o objs/apps/earphone/aec/br28/audio_aec_demo.c.o objs/apps/earphone/aec/br28/audio_aec_dms.c.o objs/apps/earphone/aec/br28/audio_aec_online.c.o objs/apps/earphone/aec/br28/audio_cvp_3mic.c.o objs/apps/earphone/aec/br28/audio_cvp_ais_3mic.c.o objs/apps/earphone/app_ancbox.c.o objs/apps/earphone/app_anctool.c.o objs/apps/earphone/app_main.c.o objs/apps/earphone/app_protocol_deal.c.o objs/apps/earphone/app_task_switch.c.o objs/apps/earphone/app_testbox.c.o objs/apps/earphone/audio_enc_mpt_cvp_ctr.c.o objs/apps/earphone/audio_enc_mpt_self.c.o objs/apps/earphone/ble_adv.c.o objs/apps/earphone/board/br28/board_jl7016g_hybrid.c.o objs/apps/earphone/board/br28/board_jl7018f_demo.c.o objs/apps/earphone/board/br28/board_jl701n_anc.c.o objs/apps/earphone/board/br28/board_jl701n_btemitter.c.o objs/apps/earphone/board/br28/board_jl701n_demo.c.o objs/apps/earphone/bt_auto_test.c.o objs/apps/earphone/bt_background.c.o objs/apps/earphone/bt_ble.c.o objs/apps/earphone/bt_ble_hid.c.o objs/apps/earphone/bt_emitter.c.o objs/apps/earphone/bt_tws.c.o objs/apps/earphone/default_event_handler.c.o objs/apps/earphone/earphone.c.o objs/apps/earphone/eartch_event_deal.c.o objs/apps/earphone/font/fontinit.c.o objs/apps/earphone/idle.c.o objs/apps/earphone/key_event_deal.c.o objs/apps/earphone/kws_voice_event_deal.c.o objs/apps/earphone/linein/linein.c.o objs/apps/earphone/ll_sync_demo/ll_sync_demo.c.o objs/apps/earphone/log_config/app_config.c.o objs/apps/earphone/log_config/lib_btctrler_config.c.o objs/apps/earphone/log_config/lib_btstack_config.c.o objs/apps/earphone/log_config/lib_driver_config.c.o objs/apps/earphone/log_config/lib_media_config.c.o objs/apps/earphone/log_config/lib_system_config.c.o objs/apps/earphone/log_config/lib_update_config.c.o objs/apps/earphone/music/sd_music.c.o objs/apps/earphone/pbg_demo.c.o objs/apps/earphone/pc/pc.c.o objs/apps/earphone/power_manage/app_charge.c.o objs/apps/earphone/power_manage/app_chargestore.c.o objs/apps/earphone/power_manage/app_power_manage.c.o objs/apps/earphone/power_manage/app_umidigi_chargestore.c.o objs/apps/earphone/rcsp/jl_phone_app.c.o objs/apps/earphone/rcsp/rcsp_adv.c.o objs/apps/earphone/tone_table.c.o objs/apps/earphone/trans_data_demo/trans_data_demo.c.o objs/apps/earphone/tuya/tuya_app.c.o objs/apps/earphone/tuya/tuya_demo.c.o objs/apps/earphone/ui/lcd_simple/my_demo.c.o objs/apps/earphone/ui_manage.c.o objs/apps/earphone/user_cfg.c.o objs/apps/earphone/version.c.o objs/apps/earphone/vol_sync.c.o objs/apps/earphone/wireless_mic/app_main_wireless_mic.c.o objs/apps/earphone/wireless_mic/audio/adapter_adc.c.o objs/apps/earphone/wireless_mic/audio/adapter_media.c.o objs/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_dec.c.o objs/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_enc.c.o objs/apps/earphone/wireless_mic/bt/bt_edr_fun.c.o objs/apps/earphone/wireless_mic/bt/bt_status_event.c.o objs/apps/earphone/wireless_mic/idev/adapter_idev.c.o objs/apps/earphone/wireless_mic/idev/idev_bt/adapter_idev_bt.c.o objs/apps/earphone/wireless_mic/idev/idev_bt/idev_ble/adapter_idev_ble.c.o objs/apps/earphone/wireless_mic/idev/idev_mic/adapter_idev_mic.c.o objs/apps/earphone/wireless_mic/odev/adapter_odev.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/adapter_odev_bt.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/adapter_odev_ble.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/odev_ble_wireless.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_edr/adapter_odev_edr.c.o objs/apps/earphone/wireless_mic/odev/odev_dac/adapter_odev_dac.c.o objs/apps/earphone/wireless_mic/process/adapter_process.c.o objs/cpu/br28/adc_api.c.o objs/cpu/br28/aec_tool.c.o objs/cpu/br28/app_audio.c.o objs/cpu/br28/audio_anc.c.o objs/cpu/br28/audio_anc_fade_ctr.c.o objs/cpu/br28/audio_anc_mult_scene.c.o objs/cpu/br28/audio_capture.c.o objs/cpu/br28/audio_codec_clock.c.o objs/cpu/br28/audio_common/audio_mic_codec.c.o objs/cpu/br28/audio_cvp_dut.c.o objs/cpu/br28/audio_cvp_sync.c.o objs/cpu/br28/audio_dec.c.o objs/cpu/br28/audio_dec/audio_dec_file.c.o objs/cpu/br28/audio_dec/audio_dec_iis.c.o objs/cpu/br28/audio_dec/audio_dec_pc.c.o objs/cpu/br28/audio_dec/audio_dec_pcm.c.o objs/cpu/br28/audio_dec/audio_usb_mic.c.o objs/cpu/br28/audio_dec_eff.c.o objs/cpu/br28/audio_demo/audio_adc_demo.c.o objs/cpu/br28/audio_demo/audio_dac_demo.c.o objs/cpu/br28/audio_demo/audio_fft_demo.c.o objs/cpu/br28/audio_demo/audio_matrix_demo.c.o objs/cpu/br28/audio_demo/audio_wind_detect_demo.c.o objs/cpu/br28/audio_effect_develop.c.o objs/cpu/br28/audio_enc.c.o objs/cpu/br28/audio_general.c.o objs/cpu/br28/audio_hearing/audio_hearing_aid.c.o objs/cpu/br28/audio_hearing/audio_hearing_aid_lp.c.o objs/cpu/br28/audio_hearing/audio_sidetone.c.o objs/cpu/br28/audio_link.c.o objs/cpu/br28/audio_sync.c.o objs/cpu/br28/charge.c.o objs/cpu/br28/chargestore.c.o objs/cpu/br28/clock_manager.c.o objs/cpu/br28/eq_config.c.o objs/cpu/br28/hw_fft.c.o objs/cpu/br28/icsd_anc_user.c.o objs/cpu/br28/iic_hw.c.o objs/cpu/br28/iic_soft.c.o objs/cpu/br28/irflt.c.o objs/cpu/br28/lp_touch_key.c.o objs/cpu/br28/lp_touch_key_alog.c.o objs/cpu/br28/lp_touch_key_tool.c.o objs/cpu/br28/lua_port_api.c.o objs/cpu/br28/mcpwm.c.o objs/cpu/br28/mic_dut_process.c.o objs/cpu/br28/overlay_code.c.o objs/cpu/br28/pdm_link.c.o objs/cpu/br28/plcnt.c.o objs/cpu/br28/power/power_app.c.o objs/cpu/br28/power/power_check.c.o objs/cpu/br28/power/power_port.c.o objs/cpu/br28/power/power_trim.c.o objs/cpu/br28/private_iis.c.o objs/cpu/br28/pwm_led.c.o objs/cpu/br28/rdec.c.o objs/cpu/br28/setup.c.o objs/cpu/br28/smart_voice/aispeech_asr.c.o objs/cpu/br28/smart_voice/jl_kws_platform.c.o objs/cpu/br28/smart_voice/kws_event.c.o objs/cpu/br28/smart_voice/nn_vad.c.o objs/cpu/br28/smart_voice/smart_voice_config.c.o objs/cpu/br28/smart_voice/smart_voice_core.c.o objs/cpu/br28/smart_voice/user_asr.c.o objs/cpu/br28/smart_voice/vad_clock_trim.c.o objs/cpu/br28/smart_voice/vad_mic.c.o objs/cpu/br28/smart_voice/voice_mic_data.c.o objs/cpu/br28/sound_device.c.o objs/cpu/br28/spatial_effect/spatial_effect.c.o objs/cpu/br28/spatial_effect/spatial_effect_imu.c.o objs/cpu/br28/spatial_effect/spatial_effect_test.c.o objs/cpu/br28/spatial_effect/spatial_effect_tws.c.o objs/cpu/br28/spatial_effect/spatial_imu_trim.c.o objs/cpu/br28/spi.c.o objs/cpu/br28/tone_player.c.o objs/cpu/br28/tws_audio.c.o objs/cpu/br28/uart_dev.c.o objs/cpu/br28/umidigi_chargestore.c.o objs/apps/common/colorful_lights/colorful_lights.c.o objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o objs/apps/earphone/xtell_Sensor/xtell_handler.c.o objs/apps/earphone/xtell_Sensor/send_data.c.o objs/apps/earphone/xtell_Sensor/buffer/circle_buffer.c.o objs/apps/earphone/xtell_Sensor/sensor/LIS2DH12.c.o objs/apps/earphone/xtell_Sensor/sensor/SC7U22.c.o objs/apps/earphone/xtell_Sensor/calculate/skiing_tracker.c.o objs/apps/earphone/xtell_Sensor/ano/ano_protocol.c.o objs/apps/earphone/xtell_Sensor/sensor/MMC56.c.o objs/apps/earphone/xtell_Sensor/sensor/BMP280.c.o objs/apps/earphone/xtell_Sensor/sensor/AK8963.c.o objs/apps/earphone/sdk_version.z.S.o + objs/apps/common/audio/amplitude_statistic.c.o objs/apps/common/audio/audio_dvol.c.o objs/apps/common/audio/audio_export_demo.c.o objs/apps/common/audio/audio_noise_gate.c.o objs/apps/common/audio/audio_ns.c.o objs/apps/common/audio/audio_plc.c.o objs/apps/common/audio/audio_utils.c.o objs/apps/common/audio/decode/audio_key_tone.c.o objs/apps/common/audio/decode/decode.c.o objs/apps/common/audio/demo/audio_demo.c.o objs/apps/common/audio/online_debug/aud_data_export.c.o objs/apps/common/audio/online_debug/aud_mic_dut.c.o objs/apps/common/audio/online_debug/aud_spatial_effect_dut.c.o objs/apps/common/audio/online_debug/audio_online_debug.c.o objs/apps/common/audio/sine_make.c.o objs/apps/common/audio/uartPcmSender.c.o objs/apps/common/audio/wm8978/iic.c.o objs/apps/common/audio/wm8978/wm8978.c.o objs/apps/common/bt_common/bt_test_api.c.o objs/apps/common/cJSON/cJSON.c.o objs/apps/common/config/app_config.c.o objs/apps/common/config/bt_profile_config.c.o objs/apps/common/config/ci_transport_uart.c.o objs/apps/common/config/new_cfg_tool.c.o objs/apps/common/debug/debug.c.o objs/apps/common/debug/debug_lite.c.o objs/apps/common/dev_manager/dev_manager.c.o objs/apps/common/dev_manager/dev_reg.c.o objs/apps/common/dev_manager/dev_update.c.o objs/apps/common/device/gSensor/SC7A20.c.o objs/apps/common/device/gSensor/STK8321.c.o objs/apps/common/device/gSensor/da230.c.o objs/apps/common/device/gSensor/gSensor_manage.c.o objs/apps/common/device/gSensor/mpu6050.c.o objs/apps/common/device/gx8002_npu/gx8002_enc/gx8002_enc.c.o objs/apps/common/device/gx8002_npu/gx8002_npu.c.o objs/apps/common/device/gx8002_npu/gx8002_npu_event_deal.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_app.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_tws.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade_porting.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/sdfile_upgrade/gx_uart_upgrade_sdfile.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_uart_upgrade_spp.c.o objs/apps/common/device/imu_sensor/icm_42670p/icm_42670p.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_apex.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_driver.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_transport.c.o objs/apps/common/device/imu_sensor/imuSensor_manage.c.o objs/apps/common/device/imu_sensor/lsm6dsl/lsm6dsl.c.o objs/apps/common/device/imu_sensor/mpu6887/mpu6887p.c.o objs/apps/common/device/imu_sensor/mpu9250/mpu9250.c.o objs/apps/common/device/imu_sensor/qmi8658/qmi8658c.c.o objs/apps/common/device/imu_sensor/sh3001/sh3001.c.o objs/apps/common/device/in_ear_detect/in_ear_detect.c.o objs/apps/common/device/in_ear_detect/in_ear_manage.c.o objs/apps/common/device/ir_sensor/ir_manage.c.o objs/apps/common/device/ir_sensor/jsa1221.c.o objs/apps/common/device/key/adkey.c.o objs/apps/common/device/key/adkey_rtcvdd.c.o objs/apps/common/device/key/ctmu_touch_key.c.o objs/apps/common/device/key/iokey.c.o objs/apps/common/device/key/irkey.c.o objs/apps/common/device/key/key_driver.c.o objs/apps/common/device/key/touch_key.c.o objs/apps/common/device/key/uart_key.c.o objs/apps/common/device/norflash/norflash_sfc.c.o objs/apps/common/device/ntc/ntc_det.c.o objs/apps/common/device/usb/device/cdc.c.o objs/apps/common/device/usb/device/descriptor.c.o objs/apps/common/device/usb/device/hid.c.o objs/apps/common/device/usb/device/msd.c.o objs/apps/common/device/usb/device/msd_upgrade.c.o objs/apps/common/device/usb/device/task_pc.c.o objs/apps/common/device/usb/device/uac1.c.o objs/apps/common/device/usb/device/uac_stream.c.o objs/apps/common/device/usb/device/usb_device.c.o objs/apps/common/device/usb/device/user_setup.c.o objs/apps/common/device/usb/host/adb.c.o objs/apps/common/device/usb/host/aoa.c.o objs/apps/common/device/usb/host/audio.c.o objs/apps/common/device/usb/host/audio_demo.c.o objs/apps/common/device/usb/host/hid.c.o objs/apps/common/device/usb/host/usb_bulk_transfer.c.o objs/apps/common/device/usb/host/usb_ctrl_transfer.c.o objs/apps/common/device/usb/host/usb_host.c.o objs/apps/common/device/usb/host/usb_storage.c.o objs/apps/common/device/usb/usb_config.c.o objs/apps/common/device/usb/usb_host_config.c.o objs/apps/common/ezxml/ezxml.c.o objs/apps/common/ezxml/ezxml_example.c.o objs/apps/common/fat_nor/cfg_private.c.o objs/apps/common/fat_nor/virfat_flash.c.o objs/apps/common/file_operate/file_bs_deal.c.o objs/apps/common/file_operate/file_manager.c.o objs/apps/common/icsd/adt/icsd_adt.c.o objs/apps/common/icsd/adt/icsd_adt_app.c.o objs/apps/common/icsd/anc/icsd_anc_app.c.o objs/apps/common/icsd/anc/icsd_anc_board.c.o objs/apps/common/icsd/anc/icsd_anc_data.c.o objs/apps/common/jl_kws/jl_kws_algo.c.o objs/apps/common/jl_kws/jl_kws_audio.c.o objs/apps/common/jl_kws/jl_kws_event.c.o objs/apps/common/jl_kws/jl_kws_main.c.o objs/apps/common/music/breakpoint.c.o objs/apps/common/music/music_decrypt.c.o objs/apps/common/music/music_id3.c.o objs/apps/common/music/music_player.c.o objs/apps/common/temp_trim/dtemp_pll_trim.c.o objs/apps/common/test/fs_test.c.o objs/apps/common/test/os_test.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_ll_demo/ll_demo.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_ll_demo/ll_task.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_import.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_data.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_device.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_event.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_ota.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_service.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_template.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_base64.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_crc.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_hmac.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_log.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_md5.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_sha1.c.o objs/apps/common/third_party_profile/common/3th_profile_api.c.o objs/apps/common/third_party_profile/common/custom_cfg.c.o objs/apps/common/third_party_profile/common/mic_rec.c.o objs/apps/common/third_party_profile/interface/app_protocol_api.c.o objs/apps/common/third_party_profile/interface/app_protocol_common.c.o objs/apps/common/third_party_profile/interface/app_protocol_dma.c.o objs/apps/common/third_party_profile/interface/app_protocol_gfps.c.o objs/apps/common/third_party_profile/interface/app_protocol_gma.c.o objs/apps/common/third_party_profile/interface/app_protocol_mma.c.o objs/apps/common/third_party_profile/interface/app_protocol_ota.c.o objs/apps/common/third_party_profile/interface/app_protocol_tme.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_adaptive_noise_reduction.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_eq_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_hearing_aid_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_tws_sync.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o objs/apps/common/third_party_profile/jieli/le_hogp.c.o objs/apps/common/third_party_profile/jieli/online_db/online_db_deal.c.o objs/apps/common/third_party_profile/jieli/online_db/spp_online_db.c.o objs/apps/common/third_party_profile/jieli/trans_data_demo/le_trans_data.c.o objs/apps/common/third_party_profile/jieli/trans_data_demo/spp_trans_data.c.o objs/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_client.c.o objs/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_server.c.o objs/apps/common/third_party_profile/tuya_protocol/app/demo/tuya_ble_app_demo.c.o objs/apps/common/third_party_profile/tuya_protocol/app/demo/tuya_ota.c.o objs/apps/common/third_party_profile/tuya_protocol/app/product_test/tuya_ble_app_production_test.c.o objs/apps/common/third_party_profile/tuya_protocol/app/uart_common/tuya_ble_app_uart_common_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/aes.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/ccm.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/hmac.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/md5.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/sha1.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/sha256.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port_JL.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port_peripheral.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_api.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_bulk_data.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_data_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event_handler_weak.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_feature_weather.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_gatt_send_queue.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_heap.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_main.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_mem.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_mutli_tsf_protocol.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_queue.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_storage.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_unix_time.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_utils.c.o objs/apps/common/ui/lcd_simple/lcd_simple_api.c.o objs/apps/common/ui/lcd_simple/ui.c.o objs/apps/common/ui/lcd_simple/ui_mainmenu.c.o objs/apps/common/update/testbox_update.c.o objs/apps/common/update/update.c.o objs/apps/common/update/update_tws.c.o objs/apps/common/update/update_tws_new.c.o objs/apps/earphone/aec/br28/audio_aec.c.o objs/apps/earphone/aec/br28/audio_aec_demo.c.o objs/apps/earphone/aec/br28/audio_aec_dms.c.o objs/apps/earphone/aec/br28/audio_aec_online.c.o objs/apps/earphone/aec/br28/audio_cvp_3mic.c.o objs/apps/earphone/aec/br28/audio_cvp_ais_3mic.c.o objs/apps/earphone/app_ancbox.c.o objs/apps/earphone/app_anctool.c.o objs/apps/earphone/app_main.c.o objs/apps/earphone/app_protocol_deal.c.o objs/apps/earphone/app_task_switch.c.o objs/apps/earphone/app_testbox.c.o objs/apps/earphone/audio_enc_mpt_cvp_ctr.c.o objs/apps/earphone/audio_enc_mpt_self.c.o objs/apps/earphone/ble_adv.c.o objs/apps/earphone/board/br28/board_jl7016g_hybrid.c.o objs/apps/earphone/board/br28/board_jl7018f_demo.c.o objs/apps/earphone/board/br28/board_jl701n_anc.c.o objs/apps/earphone/board/br28/board_jl701n_btemitter.c.o objs/apps/earphone/board/br28/board_jl701n_demo.c.o objs/apps/earphone/bt_auto_test.c.o objs/apps/earphone/bt_background.c.o objs/apps/earphone/bt_ble.c.o objs/apps/earphone/bt_ble_hid.c.o objs/apps/earphone/bt_emitter.c.o objs/apps/earphone/bt_tws.c.o objs/apps/earphone/default_event_handler.c.o objs/apps/earphone/earphone.c.o objs/apps/earphone/eartch_event_deal.c.o objs/apps/earphone/font/fontinit.c.o objs/apps/earphone/idle.c.o objs/apps/earphone/key_event_deal.c.o objs/apps/earphone/kws_voice_event_deal.c.o objs/apps/earphone/linein/linein.c.o objs/apps/earphone/ll_sync_demo/ll_sync_demo.c.o objs/apps/earphone/log_config/app_config.c.o objs/apps/earphone/log_config/lib_btctrler_config.c.o objs/apps/earphone/log_config/lib_btstack_config.c.o objs/apps/earphone/log_config/lib_driver_config.c.o objs/apps/earphone/log_config/lib_media_config.c.o objs/apps/earphone/log_config/lib_system_config.c.o objs/apps/earphone/log_config/lib_update_config.c.o objs/apps/earphone/music/sd_music.c.o objs/apps/earphone/pbg_demo.c.o objs/apps/earphone/pc/pc.c.o objs/apps/earphone/power_manage/app_charge.c.o objs/apps/earphone/power_manage/app_chargestore.c.o objs/apps/earphone/power_manage/app_power_manage.c.o objs/apps/earphone/power_manage/app_umidigi_chargestore.c.o objs/apps/earphone/rcsp/jl_phone_app.c.o objs/apps/earphone/rcsp/rcsp_adv.c.o objs/apps/earphone/tone_table.c.o objs/apps/earphone/trans_data_demo/trans_data_demo.c.o objs/apps/earphone/tuya/tuya_app.c.o objs/apps/earphone/tuya/tuya_demo.c.o objs/apps/earphone/ui/lcd_simple/my_demo.c.o objs/apps/earphone/ui_manage.c.o objs/apps/earphone/user_cfg.c.o objs/apps/earphone/version.c.o objs/apps/earphone/vol_sync.c.o objs/apps/earphone/wireless_mic/app_main_wireless_mic.c.o objs/apps/earphone/wireless_mic/audio/adapter_adc.c.o objs/apps/earphone/wireless_mic/audio/adapter_media.c.o objs/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_dec.c.o objs/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_enc.c.o objs/apps/earphone/wireless_mic/bt/bt_edr_fun.c.o objs/apps/earphone/wireless_mic/bt/bt_status_event.c.o objs/apps/earphone/wireless_mic/idev/adapter_idev.c.o objs/apps/earphone/wireless_mic/idev/idev_bt/adapter_idev_bt.c.o objs/apps/earphone/wireless_mic/idev/idev_bt/idev_ble/adapter_idev_ble.c.o objs/apps/earphone/wireless_mic/idev/idev_mic/adapter_idev_mic.c.o objs/apps/earphone/wireless_mic/odev/adapter_odev.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/adapter_odev_bt.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/adapter_odev_ble.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/odev_ble_wireless.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_edr/adapter_odev_edr.c.o objs/apps/earphone/wireless_mic/odev/odev_dac/adapter_odev_dac.c.o objs/apps/earphone/wireless_mic/process/adapter_process.c.o objs/cpu/br28/adc_api.c.o objs/cpu/br28/aec_tool.c.o objs/cpu/br28/app_audio.c.o objs/cpu/br28/audio_anc.c.o objs/cpu/br28/audio_anc_fade_ctr.c.o objs/cpu/br28/audio_anc_mult_scene.c.o objs/cpu/br28/audio_capture.c.o objs/cpu/br28/audio_codec_clock.c.o objs/cpu/br28/audio_common/audio_mic_codec.c.o objs/cpu/br28/audio_cvp_dut.c.o objs/cpu/br28/audio_cvp_sync.c.o objs/cpu/br28/audio_dec.c.o objs/cpu/br28/audio_dec/audio_dec_file.c.o objs/cpu/br28/audio_dec/audio_dec_iis.c.o objs/cpu/br28/audio_dec/audio_dec_pc.c.o objs/cpu/br28/audio_dec/audio_dec_pcm.c.o objs/cpu/br28/audio_dec/audio_usb_mic.c.o objs/cpu/br28/audio_dec_eff.c.o objs/cpu/br28/audio_demo/audio_adc_demo.c.o objs/cpu/br28/audio_demo/audio_dac_demo.c.o objs/cpu/br28/audio_demo/audio_fft_demo.c.o objs/cpu/br28/audio_demo/audio_matrix_demo.c.o objs/cpu/br28/audio_demo/audio_wind_detect_demo.c.o objs/cpu/br28/audio_effect_develop.c.o objs/cpu/br28/audio_enc.c.o objs/cpu/br28/audio_general.c.o objs/cpu/br28/audio_hearing/audio_hearing_aid.c.o objs/cpu/br28/audio_hearing/audio_hearing_aid_lp.c.o objs/cpu/br28/audio_hearing/audio_sidetone.c.o objs/cpu/br28/audio_link.c.o objs/cpu/br28/audio_sync.c.o objs/cpu/br28/charge.c.o objs/cpu/br28/chargestore.c.o objs/cpu/br28/clock_manager.c.o objs/cpu/br28/eq_config.c.o objs/cpu/br28/hw_fft.c.o objs/cpu/br28/icsd_anc_user.c.o objs/cpu/br28/iic_hw.c.o objs/cpu/br28/iic_soft.c.o objs/cpu/br28/irflt.c.o objs/cpu/br28/lp_touch_key.c.o objs/cpu/br28/lp_touch_key_alog.c.o objs/cpu/br28/lp_touch_key_tool.c.o objs/cpu/br28/lua_port_api.c.o objs/cpu/br28/mcpwm.c.o objs/cpu/br28/mic_dut_process.c.o objs/cpu/br28/overlay_code.c.o objs/cpu/br28/pdm_link.c.o objs/cpu/br28/plcnt.c.o objs/cpu/br28/power/power_app.c.o objs/cpu/br28/power/power_check.c.o objs/cpu/br28/power/power_port.c.o objs/cpu/br28/power/power_trim.c.o objs/cpu/br28/private_iis.c.o objs/cpu/br28/pwm_led.c.o objs/cpu/br28/rdec.c.o objs/cpu/br28/setup.c.o objs/cpu/br28/smart_voice/aispeech_asr.c.o objs/cpu/br28/smart_voice/jl_kws_platform.c.o objs/cpu/br28/smart_voice/kws_event.c.o objs/cpu/br28/smart_voice/nn_vad.c.o objs/cpu/br28/smart_voice/smart_voice_config.c.o objs/cpu/br28/smart_voice/smart_voice_core.c.o objs/cpu/br28/smart_voice/user_asr.c.o objs/cpu/br28/smart_voice/vad_clock_trim.c.o objs/cpu/br28/smart_voice/vad_mic.c.o objs/cpu/br28/smart_voice/voice_mic_data.c.o objs/cpu/br28/sound_device.c.o objs/cpu/br28/spatial_effect/spatial_effect.c.o objs/cpu/br28/spatial_effect/spatial_effect_imu.c.o objs/cpu/br28/spatial_effect/spatial_effect_test.c.o objs/cpu/br28/spatial_effect/spatial_effect_tws.c.o objs/cpu/br28/spatial_effect/spatial_imu_trim.c.o objs/cpu/br28/spi.c.o objs/cpu/br28/tone_player.c.o objs/cpu/br28/tws_audio.c.o objs/cpu/br28/uart_dev.c.o objs/cpu/br28/umidigi_chargestore.c.o objs/apps/common/colorful_lights/colorful_lights.c.o objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o objs/apps/earphone/xtell_Sensor/xtell_handler.c.o objs/apps/earphone/xtell_Sensor/send_data.c.o objs/apps/earphone/xtell_Sensor/buffer/circle_buffer.c.o objs/apps/earphone/xtell_Sensor/sensor/LIS2DH12.c.o objs/apps/earphone/xtell_Sensor/sensor/SC7U22.c.o objs/apps/earphone/xtell_Sensor/calculate/skiing_tracker.c.o objs/apps/earphone/xtell_Sensor/ano/ano_protocol.c.o objs/apps/earphone/xtell_Sensor/sensor/MMC56.c.o objs/apps/earphone/xtell_Sensor/sensor/BMP280.c.o objs/apps/earphone/xtell_Sensor/sensor/AK8963.c.o objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o objs/apps/earphone/sdk_version.z.S.o diff --git a/cpu/br28/tools/sdk.elf.resolution.txt b/cpu/br28/tools/sdk.elf.resolution.txt index 40891dc..1ba36d8 100644 --- a/cpu/br28/tools/sdk.elf.resolution.txt +++ b/cpu/br28/tools/sdk.elf.resolution.txt @@ -5305,7 +5305,7 @@ objs/apps/earphone/xtell_Sensor/xtell_handler.c.o -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,test_func,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,SL_SC7U22_Config,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,mmc5603nj_init,l --r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,bmp280_init,l +-r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,BMP280_init,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,start_clloct,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,stop_clloct,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,le_user_app_send_event,pl @@ -5354,7 +5354,7 @@ objs/apps/earphone/xtell_Sensor/xtell_handler.c.o -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,xt_ble_new_name,pl -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,SC7U22_init,pl -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,MMC5603nj_init,pl --r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,BMP280_init,pl +-r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,barometer_init,pl -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,foot_init,pl -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,gsensor_test_id,pl -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,app_var,l @@ -5393,7 +5393,7 @@ objs/apps/earphone/xtell_Sensor/send_data.c.o -r=objs/apps/earphone/xtell_Sensor/send_data.c.o,test_func,pl -r=objs/apps/earphone/xtell_Sensor/send_data.c.o,SL_SC7U22_Config,l -r=objs/apps/earphone/xtell_Sensor/send_data.c.o,mmc5603nj_init,l --r=objs/apps/earphone/xtell_Sensor/send_data.c.o,bmp280_init,l +-r=objs/apps/earphone/xtell_Sensor/send_data.c.o,BMP280_init,l -r=objs/apps/earphone/xtell_Sensor/send_data.c.o,puts,l -r=objs/apps/earphone/xtell_Sensor/send_data.c.o,foot_init,l -r=objs/apps/earphone/xtell_Sensor/send_data.c.o,j,pl @@ -5494,7 +5494,7 @@ objs/apps/earphone/xtell_Sensor/sensor/MMC56.c.o -r=objs/apps/earphone/xtell_Sensor/sensor/MMC56.c.o,puts,l -r=objs/apps/earphone/xtell_Sensor/sensor/MMC56.c.o,cal_data,pl objs/apps/earphone/xtell_Sensor/sensor/BMP280.c.o --r=objs/apps/earphone/xtell_Sensor/sensor/BMP280.c.o,bmp280_init,pl +-r=objs/apps/earphone/xtell_Sensor/sensor/BMP280.c.o,BMP280_init,pl -r=objs/apps/earphone/xtell_Sensor/sensor/BMP280.c.o,printf,l -r=objs/apps/earphone/xtell_Sensor/sensor/BMP280.c.o,os_time_dly,l -r=objs/apps/earphone/xtell_Sensor/sensor/BMP280.c.o,bmp280_read_data,pl @@ -5511,6 +5511,19 @@ objs/apps/earphone/xtell_Sensor/sensor/AK8963.c.o -r=objs/apps/earphone/xtell_Sensor/sensor/AK8963.c.o,MPU9250_Read_Mag_Raw,pl -r=objs/apps/earphone/xtell_Sensor/sensor/AK8963.c.o,MPU9250_Read_Mag_uT,pl -r=objs/apps/earphone/xtell_Sensor/sensor/AK8963.c.o,puts,l +objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,WF_Init,pl +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,printf,l +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,WF_Sleep,pl +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,WF_Wakeup,pl +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,WF_GetID,pl +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,WF_Temperature_Calculate,pl +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,WF_Pressure_Calculate,pl +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,WF_GET_Temperature_Pressure,pl +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,WF_Altitude_Calculate,pl +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,powf,l +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,gravity_sensor_command,l +-r=objs/apps/earphone/xtell_Sensor/sensor/WF282A.c.o,_gravity_sensor_get_ndata,l cpu/br28/liba/cpu.a.llvm.19376.crc16.c -r=cpu/br28/liba/cpu.a.llvm.19376.crc16.c,__crc16_mutex_init,pl -r=cpu/br28/liba/cpu.a.llvm.19376.crc16.c,os_mutex_create,l