Fix MP3 compile error (#16516)

This commit is contained in:
Theo Arends 2022-09-14 15:42:48 +02:00
parent c7a864231a
commit 0d10aeab16

View File

@ -176,12 +176,12 @@ uint16_t MP3_Checksum(uint8_t *array)
* define serial tx port fixed with 9600 baud * define serial tx port fixed with 9600 baud
\*********************************************************************************************/ \*********************************************************************************************/
void MP3PlayerInit(void) void MP3PlayerInit(void)
{ {
MP3Player = new TasmotaSerial(-1, Pin(GPIO_MP3_DFR562)); MP3Player = new TasmotaSerial(-1, Pin(GPIO_MP3_DFR562));
// start serial communication fixed to 9600 baud // start serial communication fixed to 9600 baud
if (MP3Player->begin(9600)) if (MP3Player->begin(9600))
{ {
MP3Player->flush(); MP3Player->flush();
delay(1000); delay(1000);
@ -192,7 +192,7 @@ void MP3PlayerInit(void)
} }
if (PinUsed(GPIO_MP3_DFR562_BUSY)) // optional MP3 player busy pin... if (PinUsed(GPIO_MP3_DFR562_BUSY)) // optional MP3 player busy pin...
{ {
pinMode(Pin(GPIO_MP3_DFR562_BUSY), INPUT); // set pin to Input pinMode(Pin(GPIO_MP3_DFR562_BUSY), INPUT); // set pin to Input
} }
@ -208,10 +208,10 @@ void MP3PlayerInit(void)
* only track,play,stop and volume supported * only track,play,stop and volume supported
\*********************************************************************************************/ \*********************************************************************************************/
void MP3_SendCmd(uint8_t *scmd, uint8_t len) void MP3_SendCmd(uint8_t *scmd, uint8_t len)
{ {
uint16_t sum = 0; uint16_t sum = 0;
for (uint32_t cnt = 0; cnt < len; cnt++) for (uint32_t cnt = 0; cnt < len; cnt++)
{ {
sum += scmd[cnt]; sum += scmd[cnt];
} }
@ -219,12 +219,12 @@ uint16_t sum = 0;
MP3Player->write(scmd, len + 1); MP3Player->write(scmd, len + 1);
} }
void MP3_CMD(uint8_t mp3cmd, uint16_t val) void MP3_CMD(uint8_t mp3cmd, uint16_t val)
{ {
uint8_t scmd[8]; uint8_t scmd[8];
uint8_t len = 0; uint8_t len = 0;
scmd[0]=0xAA; scmd[0]=0xAA;
switch (mp3cmd) switch (mp3cmd)
{ {
case MP3_CMD_TRACK: case MP3_CMD_TRACK:
scmd[1]=0x07; scmd[1]=0x07;
@ -268,7 +268,7 @@ void MP3_CMD(uint8_t mp3cmd, uint16_t val)
* {0x7e , 0xff , 6 , 0 , 0/1 , 0 , 0 , 0 , 0 , 0xef }; * {0x7e , 0xff , 6 , 0 , 0/1 , 0 , 0 , 0 , 0 , 0xef };
\*********************************************************************************************/ \*********************************************************************************************/
void MP3_CMD(uint8_t mp3cmd,uint16_t val) void MP3_CMD(uint8_t mp3cmd,uint16_t val)
{ {
uint8_t i = 0; uint8_t i = 0;
uint8_t cmd[10] = {0x7e,0xff,6,0,0,0,0,0,0,0xef}; // fill array uint8_t cmd[10] = {0x7e,0xff,6,0,0,0,0,0,0,0xef}; // fill array
@ -281,7 +281,7 @@ void MP3_CMD(uint8_t mp3cmd,uint16_t val)
cmd[8] = chks; // checksum low byte cmd[8] = chks; // checksum low byte
MP3Player->write(cmd, sizeof(cmd)); // write mp3 data array to player MP3Player->write(cmd, sizeof(cmd)); // write mp3 data array to player
delay(1000); delay(1000);
if (mp3cmd == MP3_CMD_RESET) if (mp3cmd == MP3_CMD_RESET)
{ {
MP3_CMD(MP3_CMD_VOLUME, MP3_VOLUME); // after reset set volume depending on the entry in the my_user_config.h MP3_CMD(MP3_CMD_VOLUME, MP3_VOLUME); // after reset set volume depending on the entry in the my_user_config.h
} }
@ -293,17 +293,17 @@ void MP3_CMD(uint8_t mp3cmd,uint16_t val)
* check the MP3 commands * check the MP3 commands
\*********************************************************************************************/ \*********************************************************************************************/
bool MP3PlayerCmd(void) bool MP3PlayerCmd(void)
{ {
char command[CMDSZ]; char command[CMDSZ];
bool serviced = true; bool serviced = true;
uint8_t disp_len = strlen(D_CMND_MP3); uint8_t disp_len = strlen(D_CMND_MP3);
if (!strncasecmp_P(XdrvMailbox.topic, PSTR(D_CMND_MP3), disp_len)) // prefix if (!strncasecmp_P(XdrvMailbox.topic, PSTR(D_CMND_MP3), disp_len)) // prefix
{ {
int command_code = GetCommandCode(command, sizeof(command), XdrvMailbox.topic + disp_len, kMP3_Commands); int command_code = GetCommandCode(command, sizeof(command), XdrvMailbox.topic + disp_len, kMP3_Commands);
switch (command_code) switch (command_code)
{ {
case CMND_MP3_TRACK: case CMND_MP3_TRACK:
case CMND_MP3_FOLDER: // <-------- trl case CMND_MP3_FOLDER: // <-------- trl
@ -312,7 +312,7 @@ bool MP3PlayerCmd(void)
case CMND_MP3_DEVICE: case CMND_MP3_DEVICE:
case CMND_MP3_DAC: case CMND_MP3_DAC:
// play a track, set volume, select EQ, specify file device // play a track, set volume, select EQ, specify file device
if (XdrvMailbox.data_len > 0) if (XdrvMailbox.data_len > 0)
{ {
if (command_code == CMND_MP3_TRACK) { MP3_CMD(MP3_CMD_TRACK, XdrvMailbox.payload); } if (command_code == CMND_MP3_TRACK) { MP3_CMD(MP3_CMD_TRACK, XdrvMailbox.payload); }
if (command_code == CMND_MP3_FOLDER) { MP3_CMD(MP3_CMD_FOLDER, XdrvMailbox.payload); } // <-------- trl if (command_code == CMND_MP3_FOLDER) { MP3_CMD(MP3_CMD_FOLDER, XdrvMailbox.payload); } // <-------- trl
@ -340,7 +340,7 @@ bool MP3PlayerCmd(void)
#ifdef USE_DY_SV17F #ifdef USE_DY_SV17F
case CMND_MP3_PLAY: case CMND_MP3_PLAY:
if (XdrvMailbox.data_len > 0) if (XdrvMailbox.data_len > 0)
{ {
uint8_t scmd[64]; uint8_t scmd[64];
scmd[0] = 0xAA; scmd[0] = 0xAA;
@ -358,10 +358,10 @@ bool MP3PlayerCmd(void)
} }
MP3_SendCmd(scmd, XdrvMailbox.data_len + 4); MP3_SendCmd(scmd, XdrvMailbox.data_len + 4);
Response_P(S_JSON_COMMAND_SVALUE, command, XdrvMailbox.data); Response_P(S_JSON_COMMAND_SVALUE, command, XdrvMailbox.data);
} else } else
{ {
MP3_CMD(MP3_CMD_PLAY, 0); MP3_CMD(MP3_CMD_PLAY, 0);
Response_P(S_JSON_MP3_COMMAND, command, XdrvMailbox.payload) Response_P(S_JSON_MP3_COMMAND, command, XdrvMailbox.payload);
} }
break; break;
#endif // USE_DY_SV17F #endif // USE_DY_SV17F
@ -371,7 +371,7 @@ bool MP3PlayerCmd(void)
serviced = false; serviced = false;
break; break;
} }
} else } else
{ {
return false; return false;
} }
@ -382,7 +382,7 @@ void MP3_EVERY_SECOND(void)
{ {
if (PinUsed(GPIO_MP3_DFR562_BUSY)) // optional MP3 player busy pin... // <-------- trl if (PinUsed(GPIO_MP3_DFR562_BUSY)) // optional MP3 player busy pin... // <-------- trl
{ {
// Low is busy... we are using this format to allow Berry to receive a busy event // Low is busy... we are using this format to allow Berry to receive a busy event
MP2BusyFlag = digitalRead(Pin(GPIO_MP3_DFR562_BUSY)); MP2BusyFlag = digitalRead(Pin(GPIO_MP3_DFR562_BUSY));
Response_P(PSTR("{\"MP3Player\":{\"MP3Busy\":%u}}"), MP2BusyFlag); Response_P(PSTR("{\"MP3Player\":{\"MP3Busy\":%u}}"), MP2BusyFlag);
@ -399,9 +399,9 @@ bool Xdrv14(uint8_t function)
{ {
bool result = false; bool result = false;
if (PinUsed(GPIO_MP3_DFR562)) if (PinUsed(GPIO_MP3_DFR562))
{ {
switch (function) switch (function)
{ {
case FUNC_PRE_INIT: case FUNC_PRE_INIT:
MP3PlayerInit(); // init and start communication MP3PlayerInit(); // init and start communication