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();
// 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();

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);
}
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)

27
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;
@ -96,7 +94,6 @@ void L3_task_game_init(void)
_s_task_game.game_info[0].game_score = 0;
// 走迷宫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;
@ -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++;

28
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;

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_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)

Loading…
Cancel
Save