You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
4.6 KiB
121 lines
4.6 KiB
#include "../bsp/bsp_WT2605B.h"
|
|
#include "../app/app_config.h"
|
|
#include "../msp/UART3.h"
|
|
#include "../msp/UART0.h"
|
|
#include "../msp/msp_eeprom.h"
|
|
|
|
|
|
TS_SPEECH_AUDIO audio_powerdown = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x31,0x8F,0xEF}; //T001电源关闭
|
|
TS_SPEECH_AUDIO audio_poweron = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x32,0x90,0xEF}; //T002电源开启
|
|
TS_SPEECH_AUDIO audio_wifi_connected = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x33,0x91,0xEF}; //T003WIFI连接成功
|
|
TS_SPEECH_AUDIO audio_TCP_connected = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x34,0x92,0xEF}; //T004TCP连接成功
|
|
TS_SPEECH_AUDIO audio_config_mode = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x35,0x93,0xEF}; //T005配置模式
|
|
TS_SPEECH_AUDIO audio_config_complete = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x36,0x94,0xEF}; //T006配置完成
|
|
TS_SPEECH_AUDIO audio_config_phone = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x37,0x95,0xEF}; //T007手机APP配置
|
|
TS_SPEECH_AUDIO audio_volume_up = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x38,0x96,0xEF}; //T008音量增加
|
|
TS_SPEECH_AUDIO audio_volume_down = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x39,0x97,0xEF}; //T009音量减少
|
|
|
|
TS_SPEECH_AUDIO audio_game_maze = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x30,0x8F,0xEF}; //T010迷宫
|
|
TS_SPEECH_AUDIO audio_game_different = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x31,0x90,0xEF}; //T011找不同
|
|
TS_SPEECH_AUDIO audio_game_shulte = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x32,0x91,0xEF}; //T012舒尔特方格
|
|
TS_SPEECH_AUDIO audio_game_error = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x33,0x92,0xEF}; //T013错误
|
|
TS_SPEECH_AUDIO audio_game_correct = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x34,0x93,0xEF}; //T014正确提示音
|
|
TS_SPEECH_AUDIO audio_game_overtime = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x35,0x94,0xEF}; //T015训练时间到
|
|
TS_SPEECH_AUDIO audio_game_complete = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x36,0x95,0xEF}; //T016训练完成
|
|
|
|
TS_SPEECH_AUDIO audio_tcp_maze = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x37,0x96,0xEF}; //T017请进行走迷宫游戏训练
|
|
TS_SPEECH_AUDIO audio_tcp_different = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x38,0x97,0xEF}; //T018请进行找不同游戏训练
|
|
TS_SPEECH_AUDIO audio_tcp_shulte = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x39,0x98,0xEF}; //T019请进行舒尔特方格游戏训练
|
|
TS_SPEECH_AUDIO audio_tcp_complete = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x30,0x90,0xEF}; //T020恭喜你,今天所有训练任务已完成
|
|
TS_SPEECH_AUDIO audio_tcp_noplan = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x31,0x91,0xEF}; //T021今天暂无训练任务,可以进行自由训练哦
|
|
|
|
|
|
TS_SPEECH_VOLUME volume_control = {0x7E,0x04,0xAE,0x1E,0xD0,0xEF}; //音量控制
|
|
|
|
|
|
void L2_WT2605B_init()
|
|
{
|
|
D_stdIO_P0(BITN0);
|
|
D_stdIO_P0(BITN1);
|
|
//电源控制引脚
|
|
D_HighI_P0(BITN5);
|
|
L2_WT2605B_PWRON();
|
|
// 初始化音量
|
|
L2_WT2605B_VolumeControl(G.volume);
|
|
}
|
|
|
|
void L2_WT2605B_PWRON()
|
|
{
|
|
D_P05_ON();
|
|
}
|
|
void L2_WT2605B_PWROFF()
|
|
{
|
|
D_P05_OFF();
|
|
}
|
|
|
|
void L2_WT2605B_Broadcast(TS_SPEECH_AUDIO *music)
|
|
{
|
|
L0_uart3_sendArray((U8 *)music,9);
|
|
}
|
|
|
|
void L2_WT2605B_Broadcast_TPC(U8* GameID)
|
|
{
|
|
if (GameID[0] == 0x31 && GameID[1] == 0x52)
|
|
{
|
|
L2_WT2605B_Broadcast(&audio_tcp_maze);
|
|
}
|
|
else if (GameID[0] == 0x31 && GameID[1] == 0x33)
|
|
{
|
|
L2_WT2605B_Broadcast(&audio_tcp_different);
|
|
}
|
|
else if (GameID[0] == 0x31 && GameID[1] == 0x42)
|
|
{
|
|
L2_WT2605B_Broadcast(&audio_tcp_shulte);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void L2_WT2605B_VolumeControl(U8 grade)
|
|
{
|
|
volume_control.grade = grade;
|
|
volume_control.crc = volume_control.num + volume_control.cmd + volume_control.grade;
|
|
L0_uart3_sendArray((U8 *)&volume_control,6);
|
|
}
|
|
// 音量设置6个档位:0x15,0x17,0x19,0x1B,0x1D,0x1F
|
|
void L2_WT2605B_VioceUp(void)
|
|
{
|
|
if (volume_control.grade >= 0x15 && volume_control.grade < 0x1F)
|
|
{
|
|
volume_control.grade = volume_control.grade + 2;
|
|
G.volume = volume_control.grade;
|
|
L0_Iap_Program_array(EEPROM_DATA_ADDR,(U8*)&G,sizeof(G));
|
|
}
|
|
else
|
|
{
|
|
volume_control.grade = volume_control.grade;
|
|
G.volume = volume_control.grade;
|
|
L0_Iap_Program_array(EEPROM_DATA_ADDR,(U8*)&G,sizeof(G));
|
|
}
|
|
L2_WT2605B_VolumeControl(G.volume);
|
|
L2_WT2605B_Broadcast(&audio_volume_up);
|
|
}
|
|
|
|
void L2_WT2605B_VioceDown(void)
|
|
{
|
|
if (volume_control.grade > 0x15 && volume_control.grade <= 0x1F)
|
|
{
|
|
volume_control.grade = volume_control.grade - 2;
|
|
G.volume = volume_control.grade;
|
|
L0_Iap_Program_array(EEPROM_DATA_ADDR,(U8*)&G,sizeof(G));
|
|
}
|
|
else
|
|
{
|
|
volume_control.grade = volume_control.grade;
|
|
G.volume = volume_control.grade;
|
|
L0_Iap_Program_array(EEPROM_DATA_ADDR,(U8*)&G,sizeof(G));
|
|
}
|
|
L2_WT2605B_VolumeControl(G.volume);
|
|
L2_WT2605B_Broadcast(&audio_volume_down);
|
|
}
|
|
|
|
|