mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-28 05:06:32 +00:00
Fix MP3 compile error (#16516)
This commit is contained in:
parent
c7a864231a
commit
0d10aeab16
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user