diff --git a/source/app/main.c b/source/app/main.c index 3475913..f925e89 100644 --- a/source/app/main.c +++ b/source/app/main.c @@ -35,7 +35,7 @@ void L0_BSP_init(void) L2_WT2605B_init(); // WIFI初始化 L2_Wifi_init(); - // // OID初始化 + // OID初始化放到任务中 // L0_Oid_Init(); } @@ -88,12 +88,10 @@ void main(void) L0_uart0_sendArrayHex(G.mcu_id, MSP_ID_LEN); L0_uart0_0d0a(); - - - // //版本信息 - // L0_uart0_sendstr("Version info : "); - // L0_uart0_sendArray("PEN_V3",6); - // L0_uart0_0d0a(); + //版本信息 + L0_uart0_sendstr("Version info : "); + L0_uart0_sendArray("PEN_V4",6); + L0_uart0_0d0a(); while(1) { @@ -111,10 +109,6 @@ void main(void) // if (i == 3) // { // L2_WT2605B_Broadcast(&audio_tcp_maze); - // L0_uart0_0d0a(); - // L0_uart0_sendstr("gipuhafpg"); - // L0_uart0_0d0a(); - // i = 0; // } // if (ts_uart[uNum3].r.ok == 1) @@ -122,8 +116,10 @@ void main(void) // L0_uart0_sendArrayHex(ts_uart[uNum3].r.buf,ts_uart[uNum3].r.num); // ts_uart[uNum3].r.ok = 0; // } - // L0_uart3_sendstr("1123456789abcdefg"); } + // 系统状态测试任务 + // L3_task_AppTest_handler(&_s_task_apptest); + // 系统状态任务 L3_task_appstatus_handler(&_s_task_appstatus); @@ -143,9 +139,8 @@ void main(void) // adc任务 L3_task_Adc_handler(&_s_task_adc); } - - // 系统状态测试任务 - // L3_task_AppTest_handler(&_s_task_apptest); + } +} // main end #if 0 if(s_uart0_rec.ok) @@ -184,8 +179,7 @@ void main(void) //tcp master->slaver发送逻辑控制 // L3_task_tcp_control_handle(&ts_tcp_control); #endif - } -} + // L0_uart0_sendstr("_s_w600_mode ="); // L0_uart0_uchex(_s_task_w600_para.mode); // L0_uart0_0d0a(); diff --git a/source/app/task_appstatus.c b/source/app/task_appstatus.c index 1e2f8cf..ea48319 100644 --- a/source/app/task_appstatus.c +++ b/source/app/task_appstatus.c @@ -60,6 +60,10 @@ void L3_task_appstatus_handler(S_TASK_APPSTATUS *s) { L2_task_go_Tdelay(D_task_WIFICONN_STATUS01,0); } + else if (s->status == WIFI_CONFIG_Phone) + { + L2_task_go_Tdelay(D_task_WIFICONFIG_STATUS01,0); + } TTSS_Task_step(D_task_HANDLECHANGE) if(s->status == POW_OFF) diff --git a/source/app/task_game.c b/source/app/task_game.c index fea2117..739ce89 100644 --- a/source/app/task_game.c +++ b/source/app/task_game.c @@ -20,13 +20,9 @@ #include "../app/task_w600.h" -// 系统不识别的码:无效码 0x3FFF,0x0000 -// 支持码:本游戏支持的 -// 正确码和错误码:单个游戏内的 - - -// 游戏标识码 -// 游戏内容码 +// 系统不识别的码为无效码:0x3FFF 和 0x0000 +// game_supported_oid 支持码:本游戏支持的 +// 游戏标识码 和 游戏内容码(正确码和错误码:单个游戏内的) S_TASK_GAME _s_task_game; POINT_BUF pointbuf; @@ -54,7 +50,7 @@ POINT_BUF pointbuf; #define GAME_OID_ZMG_1 0xC000 // 无效码 -#define EEROR_OID 0x3FFF +#define INVALID_OID 0x3FFF // 游戏最大时长 #define GAME_MAX_SECONDS 600 @@ -65,21 +61,23 @@ void L3_task_game_init(void) U16 k = 0; U8 j = 0; U8 *p = (U8*)&pointbuf; + L1_task_init(&_s_task_game.task); L3_task_s_go(_s_task_game,D_task_init); _s_task_game.read_oid = 0; - _s_task_game.error_oid = EEROR_OID; + _s_task_game.invalid_oid = INVALID_OID; _s_task_game.game_maxseconds = GAME_MAX_SECONDS; - - L0_uart0_0d0a(); - L0_uart0_ushex(sizeof(pointbuf)); + + // L0_uart0_0d0a(); + // L0_uart0_ushex(sizeof(pointbuf)); 406 + + // 将pointbuf中每一个字节的数据置为0 for (k = 0; k < sizeof(pointbuf); k++) { *p++ = 0; } // p = (U8*)&pointbuf; - // 找不同1星 _s_task_game.game_info[0].game_oid = GAME_OID_ZBT_1; _s_task_game.game_info[0].game_audio = &audio_game_different_1; @@ -95,7 +93,6 @@ void L3_task_game_init(void) _s_task_game.game_info[0].game_timeout_seconds = 60; _s_task_game.game_info[0].game_score = 0; - // 走迷宫1星 _s_task_game.game_info[2].game_oid = GAME_OID_ZMG_1; @@ -333,7 +330,7 @@ void L3_task_game_handler(S_TASK_GAME *s) ts_oid.ok = 0; s->read_oid = ts_oid.rec.d16[3]; L0_uart0_ushex(s->read_oid); - if (s->read_oid != EEROR_OID && s->read_oid != 0x0000) + if (s->read_oid != INVALID_OID && s->read_oid != 0x0000) { L2_task_go_Tdelay(D_task_GAME_SWITCH,D_Tdelay_100ms); } @@ -399,7 +396,7 @@ void L3_task_game_handler(S_TASK_GAME *s) } else if(s->read_oid == p->oid) { - //错误码 或者 是正确码有序,但是存在未处理的点 + //错误码 或者 是正确码有序,但是存在未处理的点 if (p->yes_or_no == 1 || (p->yes_or_no == 0 && g->game_order == 1 && has_unhandled_point == 1)) { s->eeror_times++; diff --git a/source/app/task_game.h b/source/app/task_game.h index da74c25..c80525c 100644 --- a/source/app/task_game.h +++ b/source/app/task_game.h @@ -76,25 +76,25 @@ typedef struct game_info { U16 game_oid; //游戏oid TS_SPEECH_AUDIO* game_audio; //游戏音频 - POINT_INFO* game_supported_oid; //游戏支持的point - U8 game_oid_num; - U8 game_order; //游戏顺序 0不排序,1排序 - U16 game_timeout_seconds; //游戏超时时间(秒) - U16 game_score; //游戏得分 + POINT_INFO* game_supported_oid; //游戏支持的point + U8 game_oid_num; //游戏支持的point的数量 + U8 game_order; //游戏顺序 0不排序,1排序 + U16 game_timeout_seconds; //游戏超时时间(秒) + U16 game_score; //游戏得分 }GAME_INF; typedef struct _s_task_game { TS_task task; - U16 read_oid; //读取到的oid值 - U16 error_oid; //代表错误的oid值,0x3FFF - U16 game_maxseconds; //所有游戏超时的最大时间,单位为秒 - GAME_INF game_info[game_num_max]; //游戏信息数组 - S8 game_info_index; //当前选中的游戏,初始化值为-1代表未选中任何游戏 - S8 game_point_index; //当前正在处理的点 - U32 start_seconds; //游戏开始时间 - U8 eeror_times; //错误次数 - U8 timeover_flag; //超时标志 0未超时 1超时 + U16 read_oid; //读取到的oid值 + U16 invalid_oid; //代表无效oid值,0x3FFF + U16 game_maxseconds; //所有游戏超时的最大时间,单位为秒 + GAME_INF game_info[game_num_max]; //游戏信息数组 + S8 game_info_index; //当前选中的游戏,初始化值为-1代表未选中任何游戏 + S8 game_point_index; //当前正在处理的点 + U32 start_seconds; //游戏开始时间 + U8 eeror_times; //错误次数 + U8 timeover_flag; //超时标志 0未超时 1超时 }S_TASK_GAME; diff --git a/source/bsp/bsp_WT2605B.c b/source/bsp/bsp_WT2605B.c index 4e0a768..a08d7de 100644 --- a/source/bsp/bsp_WT2605B.c +++ b/source/bsp/bsp_WT2605B.c @@ -24,17 +24,18 @@ TS_SPEECH_AUDIO audio_game_zlxs_4 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x33,0x9 TS_SPEECH_AUDIO audio_game_hyjj_3 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x34,0x94,0xEF}; //T024 火眼金晶,三星。请快速找出顺时针旋转90度的数字方块 TS_SPEECH_AUDIO audio_game_hyjj_4 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x35,0x95,0xEF}; //T025 火眼金晶,四星。请快速找出顺时针旋转180度的数字方块 TS_SPEECH_AUDIO audio_game_hyjj_5 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x36,0x96,0xEF}; //T026 火眼金晶,五星。请快速找出顺时针旋转270度的数字方块 -TS_SPEECH_AUDIO audio_game_cxdd_4 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x34,0x94,0xEF}; //T027 从小到大,四星。请按照从小到大的顺序依次指出刚才出现的数字 -TS_SPEECH_AUDIO audio_game_mcqh_4 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x35,0x95,0xEF}; //T028 明察秋毫,四星。请按顺序指出数字积木的位置 -TS_SPEECH_AUDIO audio_game_mcqh_5 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x36,0x96,0xEF}; //T029 明察秋毫,五星。请按顺序指出数字积木的位置 -TS_SPEECH_AUDIO audio_game_jmzx_3 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x34,0x94,0xEF}; //T030 积木再现,三星。请回忆数字积木的位置并指出 -TS_SPEECH_AUDIO audio_game_jmzx_4 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x35,0x95,0xEF}; //T031 积木再现,四星。请回忆数字积木的位置并指出 -TS_SPEECH_AUDIO audio_game_jmzx_5 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x36,0x96,0xEF}; //T032 积木再现,五星。请回忆数字积木的位置并指出 -TS_SPEECH_AUDIO audio_game_hyzb_1 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x34,0x94,0xEF}; //T033 还原钟表,一星。请将数字摆放在钟表合适的位置上 -TS_SPEECH_AUDIO audio_game_hyzb_2 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x35,0x95,0xEF}; //T034 还原钟表,二星。请将数字摆放在钟表合适的位置上 -TS_SPEECH_AUDIO audio_game_sjgh_3 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x36,0x96,0xEF}; //T035 时间规划,三星。请按提示将指针指向相应的时间 -TS_SPEECH_AUDIO audio_game_jssj_4 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x34,0x94,0xEF}; //T036 计算时间,四星。计算并将钟表拨动至相应的位置 -TS_SPEECH_AUDIO audio_game_jssj_5 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x35,0x95,0xEF}; //T037 计算时间,五星。计算并将钟表拨动至相应的位置 +TS_SPEECH_AUDIO audio_game_cxdd_4 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x37,0x97,0xEF}; //T027 从小到大,四星。请按照从小到大的顺序依次指出刚才出现的数字 +TS_SPEECH_AUDIO audio_game_mcqh_4 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x38,0x98,0xEF}; //T028 明察秋毫,四星。请按顺序指出数字积木的位置 +TS_SPEECH_AUDIO audio_game_mcqh_5 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x39,0x99,0xEF}; //T029 明察秋毫,五星。请按顺序指出数字积木的位置 + +TS_SPEECH_AUDIO audio_game_jmzx_3 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x30,0x91,0xEF}; //T030 积木再现,三星。请回忆数字积木的位置并指出 +TS_SPEECH_AUDIO audio_game_jmzx_4 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x31,0x92,0xEF}; //T031 积木再现,四星。请回忆数字积木的位置并指出 +TS_SPEECH_AUDIO audio_game_jmzx_5 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x32,0x93,0xEF}; //T032 积木再现,五星。请回忆数字积木的位置并指出 +TS_SPEECH_AUDIO audio_game_hyzb_1 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x33,0x94,0xEF}; //T033 还原钟表,一星。请将数字摆放在钟表合适的位置上 +TS_SPEECH_AUDIO audio_game_hyzb_2 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x34,0x95,0xEF}; //T034 还原钟表,二星。请将数字摆放在钟表合适的位置上 +TS_SPEECH_AUDIO audio_game_sjgh_3 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x35,0x96,0xEF}; //T035 时间规划,三星。请按提示将指针指向相应的时间 +TS_SPEECH_AUDIO audio_game_jssj_4 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x36,0x97,0xEF}; //T036 计算时间,四星。计算并将钟表拨动至相应的位置 +TS_SPEECH_AUDIO audio_game_jssj_5 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x37,0x98,0xEF}; //T037 计算时间,五星。计算并将钟表拨动至相应的位置 TS_SPEECH_AUDIO audio_game_error = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x33,0x92,0xEF}; //T013 错误 @@ -78,7 +79,7 @@ void L2_WT2605B_OFF() void L2_WT2605B_Broadcast(TS_SPEECH_AUDIO *music) { L0_uart3_sendArray((U8 *)music,9); - L0_uart0_sendArray((U8 *)music,9); + // L0_uart3_sendArrayHex((U8 *)music,9); } void L2_WT2605B_Broadcast_TPC(U8* GameID)