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.
 
 
 
 

96 lines
3.5 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}; //电源关闭
TS_SPEECH_AUDIO audio_poweron = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x32,0x90,0xEF}; //电源开启
TS_SPEECH_AUDIO audio_wifi_connected = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x33,0x91,0xEF}; //WIFI连接成功
TS_SPEECH_AUDIO audio_TCP_connected = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x34,0x92,0xEF}; //TCP连接成功
TS_SPEECH_AUDIO audio_config_mode = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x35,0x93,0xEF}; //配置模式
TS_SPEECH_AUDIO audio_config_complete = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x36,0x94,0xEF}; //配置完成
TS_SPEECH_AUDIO audio_config_phone = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x37,0x95,0xEF}; //手机APP配置
TS_SPEECH_AUDIO audio_volume_up = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x38,0x96,0xEF}; //音量增加
TS_SPEECH_AUDIO audio_volume_down = {0x7E,0x07,0xA3,0x54,0x30,0x30,0x39,0x97,0xEF}; //音量减少
TS_SPEECH_AUDIO audio_game_maze = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x30,0x8F,0xEF}; //迷宫
TS_SPEECH_AUDIO audio_game_different = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x31,0x90,0xEF}; //找不同
TS_SPEECH_AUDIO audio_game_shulte = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x32,0x91,0xEF}; //舒尔特方格
TS_SPEECH_AUDIO audio_game_error = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x33,0x92,0xEF}; //错误
TS_SPEECH_AUDIO audio_game_correct = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x34,0x93,0xEF}; //正确提示音
TS_SPEECH_AUDIO audio_game_overtime = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x35,0x94,0xEF}; //训练时间到
TS_SPEECH_AUDIO audio_game_complete = {0x7E,0x07,0xA3,0x54,0x30,0x31,0x36,0x95,0xEF}; //训练完成
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_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);
}