From b4c179b0a19fe1aa763ca34c8858f99cbdcf85e8 Mon Sep 17 00:00:00 2001 From: Zhangwen <13970730+mkc46119@user.noreply.gitee.com> Date: Tue, 4 Mar 2025 20:57:43 +0800 Subject: [PATCH] =?UTF-8?q?feature:=201.=E5=9C=A8=E5=8E=9F=E6=9C=89task?= =?UTF-8?q?=E4=B8=AD=E5=A2=9E=E5=8A=A0Smartconfig=E5=88=86=E6=94=AF?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/app/app_config.h | 12 +- source/app/main.c | 42 ++-- source/app/task_SmartConfig.c | 82 +++---- source/app/task_appstatus.c | 37 +-- source/app/task_keystatus.c | 3 +- source/app/task_w600 copy.c | 419 +++++++++++++++------------------- source/app/task_w600.c | 336 ++++++++------------------- source/app/task_w600.h | 4 +- source/bsp/bsp_WT2605B.c | 6 +- source/bsp/bsp_WT2605B.h | 3 +- 10 files changed, 371 insertions(+), 573 deletions(-) diff --git a/source/app/app_config.h b/source/app/app_config.h index f23bf4c..d6c50d0 100644 --- a/source/app/app_config.h +++ b/source/app/app_config.h @@ -35,11 +35,13 @@ typedef struct pen_point typedef enum { - POW_OFF = 0, //关机状态 - POW_ON = 1, //开机状态 - WIFI_CONFIG = 2, //WIFI配置连接中 - WIFI_CONNECTED = 3, //WIFI连接成功 - TCP_CONNECTED = 4, //TCP连接成 + POW_OFF = 0, //关机状态 + POW_ON = 1, //开机状态 + WIFI_CONFIG = 2, //WIFI配网模式 + WIFI_CONFIG_Phone = 3, //WIFI配网——手机APP配置连接中 + WIFI_CONFIG_COMPLETE = 4, //WIFI配网成功 + WIFI_CONNECTED = 5, //WIFI连接成功 + TCP_CONNECTED = 6, //TCP连接成功 }APP_STATUS; diff --git a/source/app/main.c b/source/app/main.c index 06ce11e..000ac28 100644 --- a/source/app/main.c +++ b/source/app/main.c @@ -72,7 +72,7 @@ void L0_TASK_init(void) //=============================================== void main(void) { - int i; +// int i; // u8 voice_30[6] = {0x7E,0x04,0xAE,0x1E,0xD0,0xEF}; // u8 voice_13[6] = {0x7E,0x04,0xAE,0x0D,0xBF,0xEF}; @@ -93,8 +93,6 @@ void main(void) L0_uart0_sendArray("PEN_V2",6); L0_uart0_0d0a(); - - //Lc_delay_ms(3000); //L0_uart3_sendArray((U8 *)&voice_30,6); @@ -116,25 +114,10 @@ void main(void) if(1 == s_nos_tick.t1s_heartbeat)//1s { s_nos_tick.t1s_heartbeat = 0;//置0清空 - // L0_uart0_sendstr("_s_task_w600_para.serve_ok = "); - // L0_uart0_uchex(_s_task_w600_para.serve_ok); - // L0_uart0_0d0a(); - // D_print_heartbeat() - // L0_uart0_uc('.'); - // L0_uart0_sendstr("eeprom test :"); - // L0_uart0_0d0a(); - // for (i = 0; i < DATA_SAVE_LEN; i++) - // { - // L0_uart0_uchex(i); - // L0_uart0_uc('='); - // L0_uart0_uchex(data_save_arr[i].val); - // L0_uart0_0d0a(); - // } - // L0_uart0_sendstr("R.app_status = "); - // L0_uart0_uchex(R.app_status); - // L0_uart0_0d0a(); - // L0_uart0_uc('@'); - // L0_uart0_ulhex((U32)&task_smartconfig); + L0_uart0_uc('.'); + L0_uart0_sendstr("_s_w600_mode ="); + L0_uart0_uchex(_s_task_w600_para.mode); + } L3_task_appstatus_handler(&_s_task_appstatus); @@ -145,15 +128,16 @@ void main(void) L3_uart2_wifi_parse(); L2_task_W600_flow_handle(&_s_task_w600_para); - //配网任务 - // L3_task_SmartConfig_handler(&task_smartconfig); - - // // 串口2的 接收数据 测试 - // if(ts_uart[uNum2].r.ok == 1) + // if (R.app_status == POW_ON) // { - // ts_uart[uNum2].r.ok = 0; - // L0_uart0_sendArray(ts_uart[uNum2].r.buf, D_recv2_max); + // L3_uart2_wifi_parse(); + // L2_task_W600_flow_handle(&_s_task_w600_para); // } + // if (R.app_status == WIFI_CONFIG) + // { + // L2_task_W600_flow_handle(&_s_task_w600_para); + // } + #if 0 // 串口3的 接收数据 测试 if(ts_uart[uNum3].r.ok == 1) diff --git a/source/app/task_SmartConfig.c b/source/app/task_SmartConfig.c index bd29a65..b751dd1 100644 --- a/source/app/task_SmartConfig.c +++ b/source/app/task_SmartConfig.c @@ -29,8 +29,7 @@ void L3_task_SmartConfig_init(void) L3_task_s_go(task_smartconfig,D_task_init); } -#define D_task_DETECTCHANGE 0x50 -#define D_task_SAMRTCONFIG 0x51 +#define D_task_SAMRTCONFIG 0x50 #define D_task_SMARTCSUCCESS 0x52 #define D_task_SAMRTCSTOP 0x53 #define D_task_SAMRTCSTOPPED 0x54 @@ -38,51 +37,42 @@ void L3_task_SmartConfig_init(void) void L3_task_SmartConfig_handler(S_TASK_SMART_CONFIG *s) { - TTSS_Task_init() - L2_task_go(D_task_DETECTCHANGE); - L0_uart0_uc('*'); - L0_uart0_uchex(task_smartconfig.status); - L0_uart0_uchex(s->status); - L0_uart0_0d0a(); - L0_uart0_ulhex((U32)s); + // TTSS_Task_init() + // L2_task_go(D_task_SAMRTCONFIG); + // // L0_uart0_uc('*'); + // // L0_uart0_uchex(task_smartconfig.status); + // // L0_uart0_uchex(s->status); + // // L0_uart0_0d0a(); + // // L0_uart0_ulhex((U32)s); - TTSS_Task_step(D_task_DETECTCHANGE) - if(s->status != R.app_status) - { - - task_smartconfig.status = R.app_status; - if(task_smartconfig.status == WIFI_CONFIG) - { - L0_uart0_sendstr("task_smartconfig.status == WIFI_CONFIG"); - L3_gm35_send_str(AT_INS_ST_STARTSMART); //开启SmartC - L2_task_go_Tdelay(D_task_SAMRTCONFIG,D_Tdelay_500ms); - } - } - TTSS_Task_step(D_task_SAMRTCONFIG) - if(Lc_strStartsWith(ts_uart[uNum2].r.buf,"\r\nOK")) - { - L0_uart0_sendstr("SmartConfig Enter-->"); - // 语音输出:进入配网模式,请配合手机 - L2_task_go_Tdelay(D_task_SMARTCSUCCESS,D_Tdelay_300ms); - } - TTSS_Task_step(D_task_SMARTCSUCCESS) - if(Lc_strStartsWith(ts_uart[uNum2].r.buf,"\r\nsmartconfig type")) - { - L0_uart0_sendstr("SmartConfig Success!"); - // 语音输出:配网模式成功,请重启设备 - L2_task_go_Tdelay(D_task_SAMRTCSTOP,D_Tdelay_300ms); - } - TTSS_Task_step(D_task_SAMRTCSTOP) - L3_gm35_send_str(AT_INS_ST_STOPSMART); - L2_task_go_Tdelay(D_task_SAMRTCSTOPPED,D_Tdelay_300ms); + // TTSS_Task_step(D_task_SAMRTCONFIG) + // L3_gm35_send_str(AT_INS_ST_STARTSMART); //开启SmartC + // L2_task_go_Tdelay(D_task_SAMRTCONFIG,D_Tdelay_500ms); + // TTSS_Task_step(D_task_SAMRTCONFIG) + // if(Lc_strStartsWith(ts_uart[uNum2].r.buf,"\r\nOK")) + // { + // L0_uart0_sendstr("SmartConfig Enter-->"); + // // 语音输出:进入配网模式,请配合手机 + // L2_task_go_Tdelay(D_task_SMARTCSUCCESS,D_Tdelay_300ms); + // } + // TTSS_Task_step(D_task_SMARTCSUCCESS) + // if(Lc_strStartsWith(ts_uart[uNum2].r.buf,"\r\nsmartconfig type")) + // { + // L0_uart0_sendstr("SmartConfig Success!"); + // // 语音输出:配网模式成功,请重启设备 + // L2_task_go_Tdelay(D_task_SAMRTCSTOP,D_Tdelay_300ms); + // } + // TTSS_Task_step(D_task_SAMRTCSTOP) + // L3_gm35_send_str(AT_INS_ST_STOPSMART); + // L2_task_go_Tdelay(D_task_SAMRTCSTOPPED,D_Tdelay_300ms); - TTSS_Task_step(D_task_SAMRTCSTOPPED) - if (Lc_strStartsWith(ts_uart[uNum2].r.buf,"\r\nOK")) - { - L0_uart0_sendstr("SmartConfig Stop!"); - R.app_status = WIFI_CONNECTED; - L2_task_go_Tdelay(D_task_DETECTCHANGE,D_Tdelay_300ms); - } + // TTSS_Task_step(D_task_SAMRTCSTOPPED) + // if (Lc_strStartsWith(ts_uart[uNum2].r.buf,"\r\nOK")) + // { + // L0_uart0_sendstr("SmartConfig Stop!"); + // R.app_status = WIFI_CONNECTED; + // L2_task_go_Tdelay(D_task_DETECTCHANGE,D_Tdelay_300ms); + // } - TTSS_Task_end(); + // TTSS_Task_end(); } \ No newline at end of file diff --git a/source/app/task_appstatus.c b/source/app/task_appstatus.c index 0047f42..ef14298 100644 --- a/source/app/task_appstatus.c +++ b/source/app/task_appstatus.c @@ -10,7 +10,7 @@ /// @note cc_AS_stc02 ////////////////////////////////////////////////////////////////////////////// -#include "task_appstatus.h" +#include "../app/task_appstatus.h" #include "../bsp/bsp_led.h" #include "../bsp/bsp_key.h" #include "../bsp/bsp_WT2605B.h" @@ -18,6 +18,7 @@ #include "../bsp/bsp_config.h" #include "../msp/uart0.h" #include "../bsp/bsp_led.h" +#include "../app/task_w600.h" S_TASK_APPSTATUS _s_task_appstatus; @@ -85,36 +86,40 @@ void L3_task_appstatus_handler(S_TASK_APPSTATUS *s) { // 灯灭 L2_LED_OFF(); -// // 音频播放 -// L2_WT2605B_PWRON(); -// Lc_delay_ms(1000); + // 音频播放 L2_WT2605B_broadcast(&audio_config_mode); -// // OID和WIFI通电 -// L0_PW_3V3_ON(); + // 配网任务初始化,进入配网 + L3_gm35_send_str("+++"); + L3_task_W600_flow_init(W600_SC); + + + } + else if (s->status == WIFI_CONFIG_Phone) + { + L2_WT2605B_broadcast(&audio_config_phone); + + }else if (s->status == WIFI_CONFIG_COMPLETE) + { + + L2_WT2605B_broadcast(&audio_config_complete); + // 配网成功,进入STAION模式 + L3_task_W600_flow_init(W600_ST); + } else if (s->status == WIFI_CONNECTED) { // 灯灭 L2_LED_OFF(); // 音频播放 -// L2_WT2605B_PWRON(); -// Lc_delay_ms(1000); L2_WT2605B_broadcast(&audio_wifi_connected); -// // OID和WIFI通电 -// L0_PW_3V3_ON(); - } else if (s->status == TCP_CONNECTED) { // LED红灯灭,LED绿灯常亮 L2_GREEN_LED_ON(); -// // 音频播放 -// L2_WT2605B_PWRON(); -// Lc_delay_ms(1000); + // 音频播放 L2_WT2605B_broadcast(&audio_TCP_connected); -// // OID和WIFI通电 -// L0_PW_3V3_ON(); } L2_task_go_Tdelay(D_task_DETECTCHANGE,D_Tdelay_300ms); diff --git a/source/app/task_keystatus.c b/source/app/task_keystatus.c index ba52cb1..42b78d0 100644 --- a/source/app/task_keystatus.c +++ b/source/app/task_keystatus.c @@ -14,6 +14,7 @@ #include "../bsp/bsp_key.h" #include "../app/app_config.h" #include "../msp/uart0.h" +#include "../app/task_w600.h" S_TASK_KEYSTATUS _s_task_keystatus; @@ -69,7 +70,7 @@ void L3_task_keystatus_handler(S_TASK_KEYSTATUS *s) if (L2_ReadKey3() == Key_Down) { if (R.app_status != POW_OFF) - { + { R.app_status = WIFI_CONFIG; s->Key1_handled = 1; } diff --git a/source/app/task_w600 copy.c b/source/app/task_w600 copy.c index f07b17e..3bb1a9c 100644 --- a/source/app/task_w600 copy.c +++ b/source/app/task_w600 copy.c @@ -505,241 +505,190 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) L2_task_go(TTSS_TASK_GM35_FLOW_ST_DATA); - - - - - - - - - -/********************s->mode = W600_AP(按键进入)****************************** */ - - TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_SERVE) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_SERVER_CLOSE); //关闭服务器 - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(s->st_error) - { - s->send = 0; - s->st_error = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); - } - else if((s->serve_ok == 1)|| (s->ins_ok == 1)) //等待 - { - s->send = 0; - s->serve_ok = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); - } - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_CIPMODE0) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_ST_CIPMODE0); - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待(等待过程中,进入AP模式) - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发(超时,设置单连接模式) - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX0,D_Tdelay_300ms); - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_CIPMUX0) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_ST_CIPMUX0); - s->ins_ok = 0; - s->st_wifi_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP); - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_WIFI,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_WIFI) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_WIFI); - s->ins_ok = 0; - s->st_error = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if((1 == s->ins_ok)||(1 == s->st_error)) //等待 - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX1,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_CIPMUX1) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_CIPMUX1); - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_SERVER,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_SERVER) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_SERVER); - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_TCP_TIME,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_TCP_TIME) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_TCP_TIME); -// LED2 = 0; - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; - s->ap_tcp_ok = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_TCP_CONN_WAIT,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_TCP_CONN_WAIT) //等待TCP连接 - if(1 == s->ap_tcp_ok) - { - s->ap_conn_ok = 0; - s->ap_tcp_ok = 0; - s->ap_rec_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_WIFI_DATA_STA_WAIT,0); - } +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发(超时,设置单连接模式) +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX0,D_Tdelay_300ms); +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_CIPMUX0) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_ST_CIPMUX0); +// s->ins_ok = 0; +// s->st_wifi_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP); +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_WIFI,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_WIFI) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_WIFI); +// s->ins_ok = 0; +// s->st_error = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if((1 == s->ins_ok)||(1 == s->st_error)) //等待 +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX1,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_CIPMUX1) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_CIPMUX1); +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_SERVER,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_SERVER) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_SERVER); +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_TCP_TIME,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_TCP_TIME) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_TCP_TIME); +// // LED2 = 0; +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// s->ap_tcp_ok = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_TCP_CONN_WAIT,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_TCP_CONN_WAIT) //等待TCP连接 +// if(1 == s->ap_tcp_ok) +// { +// s->ap_conn_ok = 0; +// s->ap_tcp_ok = 0; +// s->ap_rec_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_WIFI_DATA_STA_WAIT,0); +// } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_WIFI_DATA_STA_WAIT) - if(1 == s->ap_rec_ok)//收到正确的数据才会ok=1 - {//ok回复#ok$\r\n - s->ap_rec_ok = 0; - s->rev = 1; - s->ins_stmp = s_nos_tick.t_1s; - //L0_uart0_sendstr("ap config ok"); - //L3_gm35_send_str(AT_INS_AP_SEND);//进入发送模式 - //L2_task_go(TTSS_TASK_MODE_TRAN); - } - else if(1 == s->ap_conn_ok) - { - s->ap_conn_ok = 0; - s->ap_tcp_ok = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX1,D_Tdelay_300ms); - } - else if((s_nos_tick.t_1s - s->ins_stmp > 3) && (s->rev == 1)) - {//超时重发 - s->ap_data_ok = 0; - s->rev= 0; - L3_gm35_send_str(AT_INS_AP_SEND); - L2_task_go_Tdelay(TTSS_TASK_MODE_TRAN,D_Tdelay_100ms); - } - TTSS_Task_step(TTSS_TASK_MODE_TRAN) - if(s->send == 0) - {//发送 - L3_gm35_send_str("#OK$\r\n"); -// LED2 = 1; - s->ap_rec_ok = 0; - s->ins_ok = 0; - s->send = 1; - s->ins_stmp = s_nos_tick.t_1s; - } - else if(1 == s->ap_data_ok) //等待//此处进入ins_ok,不进入send_ok,因为之前有一个no change OK,在进入AP关闭服务器那里 - { - s->send = 0; - s->ap_tcp_ok = 0; - L2_task_go_Tdelay(TTSS_TASK_MODE_SERVER_CLOSE,D_Tdelay_100ms); - } - TTSS_Task_step(TTSS_TASK_MODE_SERVER_CLOSE) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_SERVER_CLOSE); - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; -// LED1 = 1; -// LED2 = 1; - L3_task_W600_flow_init(W600_ST); - } - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_end(); -} +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_WIFI_DATA_STA_WAIT) +// if(1 == s->ap_rec_ok)//收到正确的数据才会ok=1 +// {//ok回复#ok$\r\n +// s->ap_rec_ok = 0; +// s->rev = 1; +// s->ins_stmp = s_nos_tick.t_1s; +// //L0_uart0_sendstr("ap config ok"); +// //L3_gm35_send_str(AT_INS_AP_SEND);//进入发送模式 +// //L2_task_go(TTSS_TASK_MODE_TRAN); +// } +// else if(1 == s->ap_conn_ok) +// { +// s->ap_conn_ok = 0; +// s->ap_tcp_ok = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX1,D_Tdelay_300ms); +// } +// else if((s_nos_tick.t_1s - s->ins_stmp > 3) && (s->rev == 1)) +// {//超时重发 +// s->ap_data_ok = 0; +// s->rev= 0; +// L3_gm35_send_str(AT_INS_AP_SEND); +// L2_task_go_Tdelay(TTSS_TASK_MODE_TRAN,D_Tdelay_100ms); +// } +// TTSS_Task_step(TTSS_TASK_MODE_TRAN) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str("#OK$\r\n"); +// // LED2 = 1; +// s->ap_rec_ok = 0; +// s->ins_ok = 0; +// s->send = 1; +// s->ins_stmp = s_nos_tick.t_1s; +// } +// else if(1 == s->ap_data_ok) //等待//此处进入ins_ok,不进入send_ok,因为之前有一个no change OK,在进入AP关闭服务器那里 +// { +// s->send = 0; +// s->ap_tcp_ok = 0; +// L2_task_go_Tdelay(TTSS_TASK_MODE_SERVER_CLOSE,D_Tdelay_100ms); +// } +// TTSS_Task_step(TTSS_TASK_MODE_SERVER_CLOSE) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_SERVER_CLOSE); +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// // LED1 = 1; +// // LED2 = 1; +// L3_task_W600_flow_init(W600_ST); +// } +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } diff --git a/source/app/task_w600.c b/source/app/task_w600.c index 0cc8e11..1a6c72e 100644 --- a/source/app/task_w600.c +++ b/source/app/task_w600.c @@ -82,10 +82,10 @@ void L3_uart2_wifi_parse(void) { _s_task_w600_para.serve_ok = 1; } - // else if(Lc_strcmp(wifi_tmp,"CONNECT") == 0 ) - // { - // _s_task_w600_para.serve_ok = 1; - // } + else if(Lc_strcmp(wifi_tmp,"smartconfig connected wifi") == 0 ) + { + _s_task_w600_para.smartc_ok = 1; + } // else if(Lc_strcmp(wifi_tmp,"ALREADY CONNECTED") == 0 ) // { // _s_task_w600_para.serve_ok = 1; @@ -140,6 +140,15 @@ void L3_task_W600_flow_init(U8 mode) #define TTSS_TASK_MODE_CONFIG_WAIT 0x2A #define TTSS_TASK_MODE_SERVER_CLOSE 0x2B + +#define TTSS_TASK_GM35_FLOW_ST_CIPOFF 0x30 +#define TTSS_TASK_GM35_FLOW_ATE0QV 0x31 +#define TTSS_TASK_GM35_FLOW_ST_SMARTCONFIG 0x32 +#define TTSS_TASK_GM35_FLOW_ST_SMARTCWATING 0x33 +#define TTSS_TASK_GM35_FLOW_ST_SAMRTCSTOP 0x34 +#define TTSS_TASK_GM35_FLOW_ST_SAMRTCSTOPPED 0x35 + + #define INS_TIMEOUT 5 #define GM35_SEND_DATA_INTERVAL 300 #define GM35_SEND_HEART_INTERVAL 60 @@ -152,6 +161,7 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) TTSS_Task_step(TTSS_TASK_GM35_FLOW_ATEQV) if(s->send == 0) {//发送 + L0_uart0_uc('#'); L3_gm35_send_str(AT_INS_ATE0); //"ATE0\r\n" //模块查询+关闭回显 s->ins_ok = 0; s->ins_stmp = s_nos_tick.t_1s; @@ -161,8 +171,9 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) { s->send = 0; s->serve_ok = 0; + L0_uart0_uc(')'); L2_task_go_Tdelay(s->mode == W600_ST ? TTSS_TASK_GM35_FLOW_ST - :TTSS_TASK_GM35_FLOW_ST_SERVE,D_Tdelay_1s); + :TTSS_TASK_GM35_FLOW_ST_CIPOFF,D_Tdelay_1s); } else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) {//超时重发 @@ -282,242 +293,93 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_DATA) L2_task_go(TTSS_TASK_GM35_FLOW_ST_DATA); +/********************s->mode = W600_SC(按键进入)****************************** */ + TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_CIPOFF) + if(s->send == 0) + {//发送 + L0_uart0_uc('~'); + L3_gm35_send_str("+++"); //关闭CIP + s->ins_ok = 0; + s->ins_stmp = s_nos_tick.t_1s; + s->send = 0; + L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ATE0QV,D_Tdelay_1s); + } + // else if(1 == s->ins_ok) + // { + // s->send = 0; + // s->st_error = 0; + // L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_SMARTCONFIG,D_Tdelay_1s); + // } + // else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) + // {//超时重发 + // s->send = 0; + // } + TTSS_Task_step(TTSS_TASK_GM35_FLOW_ATE0QV) + if(s->send == 0) + {//发送 + L3_gm35_send_str(AT_INS_ATE0); //"ATE0\r\n" //模块查询+关闭回显 + s->ins_ok = 0; + s->ins_stmp = s_nos_tick.t_1s; + s->send = 1; + } + else if(s->ins_ok == 1) //等待 + { + s->send = 0; + L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_SMARTCONFIG,D_Tdelay_1s); + } + else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) + {//超时重发 + s->send = 0; + } + TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_SMARTCONFIG) + if(s->send == 0) + {//发送 + L3_gm35_send_str(AT_INS_ST_STARTSMART); //发送SmartConfig模式控制指令,开启SmartConfig模式 + s->ins_ok = 0; + s->ins_stmp = s_nos_tick.t_1s; + s->send = 1; + } + else if(1 == s->ins_ok) + { + s->send = 0; + s->smartc_ok = 0; + R.app_status = WIFI_CONFIG_Phone; + L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_SMARTCWATING,D_Tdelay_1s); //等待用户配网 + } + else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) + {//超时重发 + s->send = 0; + } + TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_SMARTCWATING) + if(s->smartc_ok == 1) + { + L0_uart0_sendstr("SmartConfig Success!"); + L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_SAMRTCSTOP,D_Tdelay_1s); + } + TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_SAMRTCSTOP) + if(s->send == 0) + {//发送 + L3_gm35_send_str(AT_INS_ST_STOPSMART); //发送SmartConfig模式控制指令,退出SmartConfig模式 + s->ins_ok = 0; + s->ins_stmp = s_nos_tick.t_1s; + s->send = 1; + } + else if(1 == s->ins_ok) + { + s->send = 1; + R.app_status = WIFI_CONFIG_COMPLETE; + } + else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) + {//超时重发 + s->send = 0; + } + TTSS_Task_end(); +} + - - - -/********************s->mode = W600_AP(按键进入)****************************** */ - -// TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_SERVE) -// if(s->send == 0) -// {//发送 -// L3_gm35_send_str(AT_INS_AP_SERVER_CLOSE); //关闭服务器 -// s->ins_ok = 0; -// s->ins_stmp = s_nos_tick.t_1s; -// s->send = 1; -// } -// else if(s->st_error) -// { -// s->send = 0; -// s->st_error = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); -// } -// else if((s->serve_ok == 1)|| (s->ins_ok == 1)) //等待 -// { -// s->send = 0; -// s->serve_ok = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); -// } -// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) -// {//超时重发 -// s->send = 0; -// } -// TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_CIPMODE0) -// if(s->send == 0) -// {//发送 -// L3_gm35_send_str(AT_INS_ST_CIPMODE0); -// s->ins_ok = 0; -// s->ins_stmp = s_nos_tick.t_1s; -// s->send = 1; -// } -// else if(1 == s->ins_ok) //等待(等待过程中,进入AP模式) -// { -// s->send = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP,D_Tdelay_300ms); -// } - -// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) -// {//超时重发(超时,设置单连接模式) -// s->send = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX0,D_Tdelay_300ms); -// } -// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_CIPMUX0) -// if(s->send == 0) -// {//发送 -// L3_gm35_send_str(AT_INS_ST_CIPMUX0); -// s->ins_ok = 0; -// s->st_wifi_ok = 0; -// s->ins_stmp = s_nos_tick.t_1s; -// s->send = 1; -// } -// else if(1 == s->ins_ok) //等待 -// { -// s->send = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); -// } - -// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) -// {//超时重发 -// s->send = 0; -// } -// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP) -// if(s->send == 0) -// {//发送 -// L3_gm35_send_str(AT_INS_AP); -// s->ins_ok = 0; -// s->ins_stmp = s_nos_tick.t_1s; -// s->send = 1; -// } -// else if(1 == s->ins_ok) //等待 -// { -// s->send = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_WIFI,D_Tdelay_300ms); -// } - -// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) -// {//超时重发 -// s->send = 0; -// } -// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_WIFI) -// if(s->send == 0) -// {//发送 -// L3_gm35_send_str(AT_INS_AP_WIFI); -// s->ins_ok = 0; -// s->st_error = 0; -// s->ins_stmp = s_nos_tick.t_1s; -// s->send = 1; -// } -// else if((1 == s->ins_ok)||(1 == s->st_error)) //等待 -// { -// s->send = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX1,D_Tdelay_300ms); -// } - -// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) -// {//超时重发 -// s->send = 0; -// } -// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_CIPMUX1) -// if(s->send == 0) -// {//发送 -// L3_gm35_send_str(AT_INS_AP_CIPMUX1); -// s->ins_ok = 0; -// s->ins_stmp = s_nos_tick.t_1s; -// s->send = 1; -// } -// else if(1 == s->ins_ok) //等待 -// { -// s->send = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_SERVER,D_Tdelay_300ms); -// } - -// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) -// {//超时重发 -// s->send = 0; -// } -// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_SERVER) -// if(s->send == 0) -// {//发送 -// L3_gm35_send_str(AT_INS_AP_SERVER); -// s->ins_ok = 0; -// s->ins_stmp = s_nos_tick.t_1s; -// s->send = 1; -// } -// else if(1 == s->ins_ok) //等待 -// { -// s->send = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_TCP_TIME,D_Tdelay_300ms); -// } - -// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) -// {//超时重发 -// s->send = 0; -// } -// TTSS_Task_step(TTSS_TASK_GM35_FLOW_TCP_TIME) -// if(s->send == 0) -// {//发送 -// L3_gm35_send_str(AT_INS_AP_TCP_TIME); -// // LED2 = 0; -// s->ins_ok = 0; -// s->ins_stmp = s_nos_tick.t_1s; -// s->send = 1; -// } -// else if(1 == s->ins_ok) //等待 -// { -// s->send = 0; -// s->ap_tcp_ok = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_TCP_CONN_WAIT,D_Tdelay_300ms); -// } - -// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) -// {//超时重发 -// s->send = 0; -// } -// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_TCP_CONN_WAIT) //等待TCP连接 -// if(1 == s->ap_tcp_ok) -// { -// s->ap_conn_ok = 0; -// s->ap_tcp_ok = 0; -// s->ap_rec_ok = 0; -// s->ins_stmp = s_nos_tick.t_1s; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_WIFI_DATA_STA_WAIT,0); -// } - -// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_WIFI_DATA_STA_WAIT) -// if(1 == s->ap_rec_ok)//收到正确的数据才会ok=1 -// {//ok回复#ok$\r\n -// s->ap_rec_ok = 0; -// s->rev = 1; -// s->ins_stmp = s_nos_tick.t_1s; -// //L0_uart0_sendstr("ap config ok"); -// //L3_gm35_send_str(AT_INS_AP_SEND);//进入发送模式 -// //L2_task_go(TTSS_TASK_MODE_TRAN); -// } -// else if(1 == s->ap_conn_ok) -// { -// s->ap_conn_ok = 0; -// s->ap_tcp_ok = 0; -// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX1,D_Tdelay_300ms); -// } -// else if((s_nos_tick.t_1s - s->ins_stmp > 3) && (s->rev == 1)) -// {//超时重发 -// s->ap_data_ok = 0; -// s->rev= 0; -// L3_gm35_send_str(AT_INS_AP_SEND); -// L2_task_go_Tdelay(TTSS_TASK_MODE_TRAN,D_Tdelay_100ms); -// } -// TTSS_Task_step(TTSS_TASK_MODE_TRAN) -// if(s->send == 0) -// {//发送 -// L3_gm35_send_str("#OK$\r\n"); -// // LED2 = 1; -// s->ap_rec_ok = 0; -// s->ins_ok = 0; -// s->send = 1; -// s->ins_stmp = s_nos_tick.t_1s; -// } -// else if(1 == s->ap_data_ok) //等待//此处进入ins_ok,不进入send_ok,因为之前有一个no change OK,在进入AP关闭服务器那里 -// { -// s->send = 0; -// s->ap_tcp_ok = 0; -// L2_task_go_Tdelay(TTSS_TASK_MODE_SERVER_CLOSE,D_Tdelay_100ms); -// } -// TTSS_Task_step(TTSS_TASK_MODE_SERVER_CLOSE) -// if(s->send == 0) -// {//发送 -// L3_gm35_send_str(AT_INS_AP_SERVER_CLOSE); -// s->ins_ok = 0; -// s->ins_stmp = s_nos_tick.t_1s; -// s->send = 1; -// } -// else if(1 == s->ins_ok) //等待 -// { -// s->send = 0; -// // LED1 = 1; -// // LED2 = 1; -// L3_task_W600_flow_init(W600_ST); -// } -// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) -// {//超时重发 -// s->send = 0; -// } - TTSS_Task_end(); -} - - diff --git a/source/app/task_w600.h b/source/app/task_w600.h index 801db16..49fe267 100644 --- a/source/app/task_w600.h +++ b/source/app/task_w600.h @@ -47,7 +47,7 @@ ////<<<<<<<<<<<<<<<<<<<_s_task_test_<<<<<<<<<<<<<<<<<<<<<<<< enum _s_w600_mode { - W600_ST,W600_AP + W600_ST,W600_AP,W600_SC }; struct _s_task_W600_Para { @@ -84,6 +84,8 @@ struct _s_task_W600_Para vU8 sign_flag; //发送登录数据标志 vU8 ack_flag;//下行数据ack vU8 gm35_reboot_times; //gm35重启次数 + + vU8 smartc_ok; //smartconfig是否成功 }; extern struct _s_task_W600_Para _s_task_w600_para; diff --git a/source/bsp/bsp_WT2605B.c b/source/bsp/bsp_WT2605B.c index 3517c7c..4ffa526 100644 --- a/source/bsp/bsp_WT2605B.c +++ b/source/bsp/bsp_WT2605B.c @@ -7,12 +7,14 @@ TS_SPEECH_AUDIO audio_poweron = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x32,0x90, TS_SPEECH_AUDIO audio_wifi_connected = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x33,0x91,0xEF}; TS_SPEECH_AUDIO audio_TCP_connected = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x34,0x92,0xEF}; TS_SPEECH_AUDIO audio_config_mode = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x35,0x93,0xEF}; -TS_SPEECH_AUDIO audio_config_success = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x36,0x94,0xEF}; +TS_SPEECH_AUDIO audio_config_complete = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x36,0x94,0xEF}; +TS_SPEECH_AUDIO audio_config_phone = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x37,0x95,0xEF}; + + TS_SPEECH_AUDIO audio_select = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x37,0x95,0xEF}; TS_SPEECH_AUDIO audio_begin = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x38,0x96,0xEF}; TS_SPEECH_AUDIO audio_tip = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x39,0x97,0xEF}; -//TS_SPEECH_AUDIO audio_powerdown = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x3A,0x98,0xEF}; TS_SPEECH_AUDIO audio_zmg_again = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x3B,0x99,0xEF}; TS_SPEECH_AUDIO audio_zmg_success = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x3C,0x9A,0xEF}; diff --git a/source/bsp/bsp_WT2605B.h b/source/bsp/bsp_WT2605B.h index a0b8d6d..9d420f2 100644 --- a/source/bsp/bsp_WT2605B.h +++ b/source/bsp/bsp_WT2605B.h @@ -30,7 +30,8 @@ extern TS_SPEECH_AUDIO audio_poweron; extern TS_SPEECH_AUDIO audio_wifi_connected; extern TS_SPEECH_AUDIO audio_TCP_connected; extern TS_SPEECH_AUDIO audio_config_mode; -extern TS_SPEECH_AUDIO audio_config_success; +extern TS_SPEECH_AUDIO audio_config_complete; +extern TS_SPEECH_AUDIO audio_config_phone; extern TS_SPEECH_AUDIO audio_select; extern TS_SPEECH_AUDIO audio_begin;