Browse Source

fix: 1.修正音频文件bug

pcb_v4_8k
Zhangwen 2 months ago
parent
commit
cb4ae84746
  1. 28
      source/app/main.c
  2. 4
      source/app/task_appstatus.c
  3. 27
      source/app/task_game.c
  4. 28
      source/app/task_game.h
  5. 25
      source/bsp/bsp_WT2605B.c

28
source/app/main.c

@ -35,7 +35,7 @@ void L0_BSP_init(void)
L2_WT2605B_init(); L2_WT2605B_init();
// WIFI初始化 // WIFI初始化
L2_Wifi_init(); L2_Wifi_init();
// // OID初始化 // OID初始化放到任务中
// L0_Oid_Init(); // L0_Oid_Init();
} }
@ -88,12 +88,10 @@ void main(void)
L0_uart0_sendArrayHex(G.mcu_id, MSP_ID_LEN); L0_uart0_sendArrayHex(G.mcu_id, MSP_ID_LEN);
L0_uart0_0d0a(); L0_uart0_0d0a();
//版本信息
L0_uart0_sendstr("Version info : ");
// //版本信息 L0_uart0_sendArray("PEN_V4",6);
// L0_uart0_sendstr("Version info : "); L0_uart0_0d0a();
// L0_uart0_sendArray("PEN_V3",6);
// L0_uart0_0d0a();
while(1) while(1)
{ {
@ -111,10 +109,6 @@ void main(void)
// if (i == 3) // if (i == 3)
// { // {
// L2_WT2605B_Broadcast(&audio_tcp_maze); // L2_WT2605B_Broadcast(&audio_tcp_maze);
// L0_uart0_0d0a();
// L0_uart0_sendstr("gipuhafpg");
// L0_uart0_0d0a();
// i = 0; // i = 0;
// } // }
// if (ts_uart[uNum3].r.ok == 1) // 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); // L0_uart0_sendArrayHex(ts_uart[uNum3].r.buf,ts_uart[uNum3].r.num);
// ts_uart[uNum3].r.ok = 0; // ts_uart[uNum3].r.ok = 0;
// } // }
// L0_uart3_sendstr("1123456789abcdefg");
} }
// 系统状态测试任务
// L3_task_AppTest_handler(&_s_task_apptest);
// 系统状态任务 // 系统状态任务
L3_task_appstatus_handler(&_s_task_appstatus); L3_task_appstatus_handler(&_s_task_appstatus);
@ -143,9 +139,8 @@ void main(void)
// adc任务 // adc任务
L3_task_Adc_handler(&_s_task_adc); L3_task_Adc_handler(&_s_task_adc);
} }
}
// 系统状态测试任务 } // main end
// L3_task_AppTest_handler(&_s_task_apptest);
#if 0 #if 0
if(s_uart0_rec.ok) if(s_uart0_rec.ok)
@ -184,8 +179,7 @@ void main(void)
//tcp master->slaver发送逻辑控制 //tcp master->slaver发送逻辑控制
// L3_task_tcp_control_handle(&ts_tcp_control); // L3_task_tcp_control_handle(&ts_tcp_control);
#endif #endif
}
}
// L0_uart0_sendstr("_s_w600_mode ="); // L0_uart0_sendstr("_s_w600_mode =");
// L0_uart0_uchex(_s_task_w600_para.mode); // L0_uart0_uchex(_s_task_w600_para.mode);
// L0_uart0_0d0a(); // L0_uart0_0d0a();

4
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); 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) TTSS_Task_step(D_task_HANDLECHANGE)
if(s->status == POW_OFF) if(s->status == POW_OFF)

27
source/app/task_game.c

@ -20,13 +20,9 @@
#include "../app/task_w600.h" #include "../app/task_w600.h"
// 系统不识别的码:无效码 0x3FFF,0x0000 // 系统不识别的码为无效码:0x3FFF 和 0x0000
// 支持码:本游戏支持的 // game_supported_oid 支持码:本游戏支持的
// 正确码和错误码:单个游戏内的 // 游戏标识码 和 游戏内容码(正确码和错误码:单个游戏内的)
// 游戏标识码
// 游戏内容码
S_TASK_GAME _s_task_game; S_TASK_GAME _s_task_game;
POINT_BUF pointbuf; POINT_BUF pointbuf;
@ -54,7 +50,7 @@ POINT_BUF pointbuf;
#define GAME_OID_ZMG_1 0xC000 #define GAME_OID_ZMG_1 0xC000
// 无效码 // 无效码
#define EEROR_OID 0x3FFF #define INVALID_OID 0x3FFF
// 游戏最大时长 // 游戏最大时长
#define GAME_MAX_SECONDS 600 #define GAME_MAX_SECONDS 600
@ -65,21 +61,23 @@ void L3_task_game_init(void)
U16 k = 0; U16 k = 0;
U8 j = 0; U8 j = 0;
U8 *p = (U8*)&pointbuf; U8 *p = (U8*)&pointbuf;
L1_task_init(&_s_task_game.task); L1_task_init(&_s_task_game.task);
L3_task_s_go(_s_task_game,D_task_init); L3_task_s_go(_s_task_game,D_task_init);
_s_task_game.read_oid = 0; _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; _s_task_game.game_maxseconds = GAME_MAX_SECONDS;
L0_uart0_0d0a(); // L0_uart0_0d0a();
L0_uart0_ushex(sizeof(pointbuf)); // L0_uart0_ushex(sizeof(pointbuf)); 406
// 将pointbuf中每一个字节的数据置为0
for (k = 0; k < sizeof(pointbuf); k++) for (k = 0; k < sizeof(pointbuf); k++)
{ {
*p++ = 0; *p++ = 0;
} }
// p = (U8*)&pointbuf; // p = (U8*)&pointbuf;
// 找不同1星 // 找不同1星
_s_task_game.game_info[0].game_oid = GAME_OID_ZBT_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; _s_task_game.game_info[0].game_audio = &audio_game_different_1;
@ -96,7 +94,6 @@ void L3_task_game_init(void)
_s_task_game.game_info[0].game_score = 0; _s_task_game.game_info[0].game_score = 0;
// 走迷宫1星 // 走迷宫1星
_s_task_game.game_info[2].game_oid = GAME_OID_ZMG_1; _s_task_game.game_info[2].game_oid = GAME_OID_ZMG_1;
_s_task_game.game_info[2].game_audio = &audio_game_maze_1; _s_task_game.game_info[2].game_audio = &audio_game_maze_1;
@ -333,7 +330,7 @@ void L3_task_game_handler(S_TASK_GAME *s)
ts_oid.ok = 0; ts_oid.ok = 0;
s->read_oid = ts_oid.rec.d16[3]; s->read_oid = ts_oid.rec.d16[3];
L0_uart0_ushex(s->read_oid); 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); 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) 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)) if (p->yes_or_no == 1 || (p->yes_or_no == 0 && g->game_order == 1 && has_unhandled_point == 1))
{ {
s->eeror_times++; s->eeror_times++;

28
source/app/task_game.h

@ -76,25 +76,25 @@ typedef struct game_info
{ {
U16 game_oid; //游戏oid U16 game_oid; //游戏oid
TS_SPEECH_AUDIO* game_audio; //游戏音频 TS_SPEECH_AUDIO* game_audio; //游戏音频
POINT_INFO* game_supported_oid; //游戏支持的point POINT_INFO* game_supported_oid; //游戏支持的point
U8 game_oid_num; U8 game_oid_num; //游戏支持的point的数量
U8 game_order; //游戏顺序 0不排序,1排序 U8 game_order; //游戏顺序 0不排序,1排序
U16 game_timeout_seconds; //游戏超时时间(秒) U16 game_timeout_seconds; //游戏超时时间(秒)
U16 game_score; //游戏得分 U16 game_score; //游戏得分
}GAME_INF; }GAME_INF;
typedef struct _s_task_game typedef struct _s_task_game
{ {
TS_task task; TS_task task;
U16 read_oid; //读取到的oid值 U16 read_oid; //读取到的oid值
U16 error_oid; //代表错误的oid值,0x3FFF U16 invalid_oid; //代表无效oid值,0x3FFF
U16 game_maxseconds; //所有游戏超时的最大时间,单位为秒 U16 game_maxseconds; //所有游戏超时的最大时间,单位为秒
GAME_INF game_info[game_num_max]; //游戏信息数组 GAME_INF game_info[game_num_max]; //游戏信息数组
S8 game_info_index; //当前选中的游戏,初始化值为-1代表未选中任何游戏 S8 game_info_index; //当前选中的游戏,初始化值为-1代表未选中任何游戏
S8 game_point_index; //当前正在处理的点 S8 game_point_index; //当前正在处理的点
U32 start_seconds; //游戏开始时间 U32 start_seconds; //游戏开始时间
U8 eeror_times; //错误次数 U8 eeror_times; //错误次数
U8 timeover_flag; //超时标志 0未超时 1超时 U8 timeover_flag; //超时标志 0未超时 1超时
}S_TASK_GAME; }S_TASK_GAME;

25
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_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_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_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_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,0x35,0x95,0xEF}; //T028 明察秋毫,四星。请按顺序指出数字积木的位置 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,0x36,0x96,0xEF}; //T029 明察秋毫,五星。请按顺序指出数字积木的位置 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,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_3 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x30,0x91,0xEF}; //T030 积木再现,三星。请回忆数字积木的位置并指出
TS_SPEECH_AUDIO audio_game_jmzx_5 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x36,0x96,0xEF}; //T032 积木再现,五星。请回忆数字积木的位置并指出 TS_SPEECH_AUDIO audio_game_jmzx_4 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x31,0x92,0xEF}; //T031 积木再现,四星。请回忆数字积木的位置并指出
TS_SPEECH_AUDIO audio_game_hyzb_1 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x34,0x94,0xEF}; //T033 还原钟表,一星。请将数字摆放在钟表合适的位置上 TS_SPEECH_AUDIO audio_game_jmzx_5 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x32,0x93,0xEF}; //T032 积木再现,五星。请回忆数字积木的位置并指出
TS_SPEECH_AUDIO audio_game_hyzb_2 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x35,0x95,0xEF}; //T034 还原钟表,二星。请将数字摆放在钟表合适的位置上 TS_SPEECH_AUDIO audio_game_hyzb_1 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x33,0x94,0xEF}; //T033 还原钟表,一星。请将数字摆放在钟表合适的位置上
TS_SPEECH_AUDIO audio_game_sjgh_3 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x36,0x96,0xEF}; //T035 时间规划,三星。请按提示将指针指向相应的时间 TS_SPEECH_AUDIO audio_game_hyzb_2 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x34,0x95,0xEF}; //T034 还原钟表,二星。请将数字摆放在钟表合适的位置上
TS_SPEECH_AUDIO audio_game_jssj_4 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x34,0x94,0xEF}; //T036 计算时间,四星。计算并将钟表拨动至相应的位置 TS_SPEECH_AUDIO audio_game_sjgh_3 = {0x7E,0x07,0xA3,0x54,0x30,0x33,0x35,0x96,0xEF}; //T035 时间规划,三星。请按提示将指针指向相应的时间
TS_SPEECH_AUDIO audio_game_jssj_5 = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x35,0x95,0xEF}; //T037 计算时间,五星。计算并将钟表拨动至相应的位置 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 错误 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) void L2_WT2605B_Broadcast(TS_SPEECH_AUDIO *music)
{ {
L0_uart3_sendArray((U8 *)music,9); 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) void L2_WT2605B_Broadcast_TPC(U8* GameID)

Loading…
Cancel
Save