Go Down

Topic: rmp3-shield compatible with arduino 1.0? (Read 2244 times) previous topic - next topic


as the title says, i like to know, if the rmp3-shield is compatible with the new arduino version.



if you are referring to the Arduino 1.0 IDE, then yes, all the shields that were compatible then are compatible now, in terms of hardware. if the libraries for interfacing the Arduino to the MP3 shield are not updated to 1.0, it can be done very easily yourself.

the latest Arduino code is here: http://code.google.com/p/rogue-code/downloads/detail?name=Arduino-Library-RogueMP3-V0003.zip&can=1&q=arduino
i opened the example in Arduino 1.0, and yes the code doesnt work right off the bat, but no big issues that are hard to fix
http://dduino.blogspot.com all my Arduino/electronic projects!!!

{NEW} Getting Started, Learning, Reference + FAQ PDF!!:


thanks for the reply. I have no idea how to upgrade those librarys. There are three of them i need to use:
RougeMP3, RougeSD and NewSoftSerial. Do you got any hints, how I get them compatible with 1.0 IDE?

By the way, i bought a rmp3 some days ago and its working pretty fine with 0021, but i want to combine
it with some other components and therefore i need the rmp3 running on 1.0.


Mar 15, 2012, 06:10 pm Last Edit: Mar 15, 2012, 06:14 pm by camillemoussette Reason: 1
I ran into the same issue earlier this week, wanting to use the rMP3 shield with Arduino 1.0 without have to deal with the core update. What I changed is the second include and the object initialization, since NewSoftSerial is now SoftwareSerial in 1.0.

Code: [Select]

#include <RogueMP3.h>
#include <SoftwareSerial.h>

SoftwareSerial rmp3_serial(6, 7);

The RogueMP3 library V0003 requires a mini update as the Serial.write() now returns "size_t" instead of "void" with Arduino 1.0. To fix, you can edit line 155 in RogueMP3.h and line 518 in RogueMP3.cpp, changing "void" for "size_t".

It's all working fine here otherwise. Let me know if you can't make it work on your side.


i replaced the void with size_t. After compiling following errors appear:
Code: [Select]
In file included from sketch_mar16a.cpp:1:
C:\Users\Nils133\Desktop\arduino\arduino-1.0\libraries\RogueSD/RogueSD.h:184: error: conflicting return type specified for 'virtual void RogueSD::write(uint8_t)'
C:\Users\Nils133\Desktop\arduino\arduino-1.0\hardware\arduino\cores\arduino/Print.h:48: error:   overriding 'virtual size_t Print::write(uint8_t)'

I tried to replace the void in line 184, but then there were even more errors.
None the less the rmp3-library seems to be working. At least there was no error-message. So I think we are on the right way :)


You have to do similar updates in RogueSD library if you want to use it as well:
Code: [Select]

line 184 in RogueSD.h: change "void" for "size_t"
line 930 in RogueSD.cpp: change "void" for "size_t"

the .h and .cpp files are related, so you have to update both so the function's return type matches. I hope this works on your side. If not let me know.



It's working perfektly right now. Thumbs up for your great help  :)

Go Up