Home › Forums › Sparkfun MP3 Shield Library Support Forum › Problem with ElecFreaks MP3 Shield (Seeeduino compatible)
- This topic has 6 replies, 4 voices, and was last updated 10 years, 5 months ago by Michael P. Flaga.
-
AuthorPosts
-
August 27, 2013 at 8:30 pm #2913AnonymousInactive
Hello, I am using an ElecFreaks MP3 Shield v2.0. It has a VS10538 chip. I believe that it uses the same pins as the Seeeduino Music Shield. I first loaded the “MP3Shield_Library_Demo.ino” sketch without changing “#define SEEEDUINO 0”. That resulted in this Serial output:
Free RAM = 2292 Should be a base line of 1040, on ATmega328 when using INTx
Can’t access SD card. Do not reformat.
No card, wrong chip select pin, or SPI problem?
SD errorCode: 0X1,0XFFNext, I changed “#define SEEEDUINO 0″ to ‘#define SEEEDUINO 1” in the SFEMP3ShieldConfig.h.
When I try to test or compile that I get this:C:\Program Files (x86)\Arduino\libraries\SFEMP3Shield\SFEMP3Shield.cpp: In static member function ‘static void SFEMP3Shield::enableRefill()’:
C:\Program Files (x86)\Arduino\libraries\SFEMP3Shield\SFEMP3Shield.cpp:1743: error: ‘MP3_DREQINT’ was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\SFEMP3Shield\SFEMP3Shield.cpp: In static member function ‘static void SFEMP3Shield::disableRefill()’:
C:\Program Files (x86)\Arduino\libraries\SFEMP3Shield\SFEMP3Shield.cpp:1761: error: ‘MP3_DREQINT’ was not declared in this scopeI am using the Arduino 1.0.5 application. I have an Arduino Uno R3.
I made sure that I have the latest SFEMP3Shield and SdFat (sdfatlib20130629.zip) libraries.
I have read the forums here, the support and troubleshooting info and the code to try to follow what is causing this error. The Arduino help web site says it is caused by ‘MP3_DREQINT’ being an undeclared variable.Any help that anyone can provide would be much appreciated.
August 27, 2013 at 8:38 pm #2914AnonymousInactiveSorry, its a VS1053B chip.
August 28, 2013 at 11:47 am #2918Michael P. FlagaMemberNote that Seeduino MP3’s DREQ pin is not connected to a Arduino Pin that support’s Interrupts. Hence the Error that MP3_DREQINT was undefined, as there is nothing to point it to on the Seeduino MP3 shield.
This is denoted in the support documentation
So the work around is to configure SFEMP3ShieldConfig.h’s line 195 the refill method to use something other than USE_MP3_INTx.
to
#define USE_MP3_REFILL_MEANS USE_MP3_Polled
Then it will compile.November 9, 2013 at 8:21 am #2990AnonymousInactiveTwo questions: should the RX pin (pin2) be connected to 3.3V on the elecfreaks module? According to the VS1053b datasheet this pin should be connected to IOVDD / 3.3v if not used. On the shield it is connected to an interrupt pin, pin 2.
Secondly, in theory could the DREQ pin be connected to an interrupt pin if it was connected to the Arduino via jumper or breadboard? I am curious if the analog pin could be abandoned and an interrupt pin be used to drive the DREQ line.
One more thing on elecfreak’s forum – it has come to my attention that a 1M resistor is missing, R4, which is directly below the crystal. It’s the only pad not populated below the crystal. image can be provided if needed. I noted a ‘floating logic’ problem receiving commands. When I touch pins 1 and 2 then the serial data / commands display in serial monitor. I have a feeling this may be the reason why it behaves this way. I’m going to solder a 1M resistor in today and will get back with my results.
Last tip – if the SD card cannot be accessed, add this line after including libraries…
#define SD_SEL 10
November 9, 2013 at 11:46 pm #2991AnonymousInactiveOK, I have a working module now. There is a resistor missing (R4) below the crystal. solder in a 1M ohm resistor. I had no SMD resistors so I used a small radial 1/4 watt and it works perfectly now.
I’ve also worked out the kinks in the demo sketch and Bill’s libraries for this Elecfreaks module. I’m adding full joystick support to the demo now. When done I will link to the .rar files
Image of the missing resistor to follow …
https://www.dropbox.com/sh/kpek17x9o38ak9n/y5OKKntPYn/_ardusat/Elecfreaks%20MP3/modification.jpg
May 7, 2014 at 9:16 am #3159AnonymousInactiveHi Relic, did you finish your new library yet?
I’d like tot use it when possible, please let mee know
May 8, 2014 at 3:24 pm #3167Michael P. FlagaMemberTo the following file
SFEMP3ShieldConfig.h
append the following code to it:
#undef MP3_XCS #undef MP3_XDCS #undef MP3_DREQ #undef MP3_DREQINT #undef MP3_RESET #undef SD_SEL #undef USE_MP3_REFILL_MEANS #define MP3_XCS A3 //Control Chip Select Pin (for accessing SPI Control/Status registers) #define MP3_XDCS A2 //Data Chip Select / BSYNC Pin #define MP3_DREQ A1 //Data Request Pin: Player asks for more data #define MP3_DREQINT //Corresponding INTx for DREQ pin #define MP3_RESET A0 //Reset is active low #define SD_SEL 10 //select pin for SD card #define USE_MP3_REFILL_MEANS USE_MP3_Polled
For a quick test it is simpler to use the #undef to remove any prior pin assignments. And per the schematics/docs I believe the above should work.
Note there DREQ does not land on any IRQ’s, hence the driver needs to run the refill mode as POLLed. Subsequently the MP3_DREQINT is not used.
-
AuthorPosts
- You must be logged in to reply to this topic.