Page 1 of 1

Can't get MP3 Shield to work with even example code

PostPosted: Sun Dec 06, 2020 6:58 am
by dgunthert
Just got the shield and I'm trying to make it work. Decided to start simple and just run the sample code. I've copied the sta013.cfg to the SD card. I've installed both the SdFat and MP3PLAYER libraries.

I've loaded the "ListMP3Files.ino" sketch and get the following when I try to upload:
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp: In member function 'boolean MP3Player::Init(byte, byte)':
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:80:28: warning: large integer implicitly truncated to unsigned type [-Woverflow]
delayMicroseconds(100000);
^
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp: In member function 'boolean MP3Player::Play(const char*)':
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:123:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]
delayMicroseconds(500000);
^
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp: In member function 'void MP3Player::Next()':
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:169:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
delayMicroseconds(100000);
^
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp: In member function 'void MP3Player::Stop()':
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:188:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]
delayMicroseconds(100000);
^
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp: In member function 'void MP3Player::Halt()':
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:221:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]
delayMicroseconds(100000);
^
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp: In member function 'void MP3Player::PlayTrack(const char*, int, const char*)':
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:275:38: warning: large integer implicitly truncated to unsigned type [-Woverflow]
sd.chdir();delayMicroseconds(100000);
^
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:276:24: error: no matching function for call to 'SdFat32::chdir(const char*&, bool)'
sd.chdir(dirName,true);
^
In file included from C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatLib.h:27:0,
from C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/SdFat.h:34,
from C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.h:12,
from C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:7:
C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatVolume.h:67:8: note: candidate: bool FatVolume::chdir()
bool chdir() {
^~~~~
C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatVolume.h:67:8: note: candidate expects 0 arguments, 2 provided
C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatVolume.h:76:8: note: candidate: bool FatVolume::chdir(const char*)
bool chdir(const char *path);
^~~~~
C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatVolume.h:76:8: note: candidate expects 1 argument, 2 provided
C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatVolume.h:251:8: note: candidate: bool FatVolume::chdir(const String&)
bool chdir(const String& path) {
^~~~~
C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatVolume.h:251:8: note: candidate expects 1 argument, 2 provided
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:277:10: error: 'FatFile* FatVolume::vwd()' is private within this context
sd.vwd()->rewind();
^
In file included from C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatLib.h:27:0,
from C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/SdFat.h:34,
from C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.h:12,
from C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:7:
C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatVolume.h:335:12: note: declared private here
FatFile* vwd() {return &m_vwd;}
^~~
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:278:10: error: 'FatFile* FatVolume::vwd()' is private within this context
sd.vwd()->getName(temp,20);
^
In file included from C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatLib.h:27:0,
from C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/SdFat.h:34,
from C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.h:12,
from C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:7:
C:\Users\dgunt\Documents\Arduino\libraries\SdFat\src/FatLib/FatVolume.h:335:12: note: declared private here
FatFile* vwd() {return &m_vwd;}
^~~
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:285:29: error: 'class SdFile' has no member named 'cwd'
if(myFile.openNext(myFile.cwd(), O_READ))
^~~
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp: In member function 'void MP3Player::Run_STA013()':
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:510:29: warning: large integer implicitly truncated to unsigned type [-Woverflow]
delayMicroseconds(500000);
^
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp: In member function 'void MP3Player::Reset_STA013()':
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:533:29: warning: large integer implicitly truncated to unsigned type [-Woverflow]
delayMicroseconds(500000);
^
C:\Users\dgunt\Documents\Arduino\libraries\MP3Player\src\MP3Player.cpp:535:29: warning: large integer implicitly truncated to unsigned type [-Woverflow]
delayMicroseconds(500000);
^
exit status 1
Error compiling for board Arduino Uno.

Re: Can't get MP3 Shield to work with even example code

PostPosted: Mon Dec 07, 2020 9:04 am
by ZaM
Hi,

Look like your delay value is more than the supported value. Can I know where you get this library? Maybe you can try to change delay microseconds to delay only. for example, delayMicrosecond(100000) is equal with delay(100).

If possible you also can provide the link for the product that you use, so we can help to get the actual library related to that product.