diff --git a/solarpump/mp3.h b/solarpump/mp3.h index bcc64edae36da61ac1cf5416a33a53502561e8ca..038879b28bcc578f711f45f302d425186d62df47 100644 --- a/solarpump/mp3.h +++ b/solarpump/mp3.h @@ -2,7 +2,7 @@ #define MP3_H void mp3Setup(void); -void playFile(uint8_t fileNumber); +void playFile(uint8_t fileNumber, bool respectBusyPin); void mp3Loop(void); void playFileQueue(uint8_t fileNumber); diff --git a/solarpump/mp3.ino b/solarpump/mp3.ino index a58ec6d5d5aa882a11c4e5b28c7334247a2bc3b1..34368839803751912901f04e8c268ba177fe3d84 100644 --- a/solarpump/mp3.ino +++ b/solarpump/mp3.ino @@ -14,8 +14,12 @@ void mp3Setup(void) { //mp3.sendCommand(CMD_SEL_DEV, 0, 2); //select sd-card } -// immediately play a file, ignoring any queue or BUSY pin -void playFile(uint8_t fileNumber) { +// immediately play a file +void playFile(uint8_t fileNumber, bool respectBusyPin) { + // do nothing if we want to wait for the BUSY pin + if (respectBusyPin && digitalRead(MP3BUSY)) { + return; + } mp3.write(fileNumber); }