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.
 
 
 
 

123 lines
4.7 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_AUDIO audio_low_power = {0x7E,0x07,0xA3,0x54,0x30,0x32,0x32,0x92,0xEF}; //T022
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);
}