[solved] Error Compiling Firmware_Rumba
Shop › Forum › Makelangelo Polargraph Art Robot › [solved] Error Compiling Firmware_Rumba
- This topic is empty.
-
AuthorPosts
-
2015-01-02 at 09:59 #6065PancakeBotMember
Am running the Makelangelo 3.0 Rumba board and received the following error when trying to update the firmware.
Tried this on PC and on Mac. Same error.
Running arduino 1.06.firmware_rumba/MServo.cpp.o: In function `Servo’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:244: multiple definition of `Servo::Servo()’
MServo.cpp.o:MServo.cpp:244: first defined here
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld: Disabling relaxation: it will not work with multiple definitions
firmware_rumba/MServo.cpp.o: In function `Servo’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:244: multiple definition of `ServoCount’
MServo.cpp.o:MServo.cpp:244: first defined here
firmware_rumba/MServo.cpp.o: In function `Servo’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:244: multiple definition of `Servo::Servo()’
MServo.cpp.o:MServo.cpp:244: first defined here
firmware_rumba/MServo.cpp.o: In function `Servo::detach()’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:276: multiple definition of `Servo::detach()’
MServo.cpp.o:MServo.cpp:276: first defined here
firmware_rumba/MServo.cpp.o: In function `Servo::writeMicroseconds(int)’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:296: multiple definition of `Servo::writeMicroseconds(int)’
MServo.cpp.o:MServo.cpp:296: first defined here
firmware_rumba/MServo.cpp.o: In function `Servo::readMicroseconds()’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:322: multiple definition of `Servo::readMicroseconds()’
MServo.cpp.o:MServo.cpp:322: first defined here
firmware_rumba/MServo.cpp.o: In function `Servo::attached()’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:333: multiple definition of `Servo::attached()’
MServo.cpp.o:MServo.cpp:333: first defined here
firmware_rumba/MServo.cpp.o: In function `Servo::read()’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:317: multiple definition of `Servo::read()’
MServo.cpp.o:MServo.cpp:317: first defined here
firmware_rumba/MServo.cpp.o: In function `Servo::write(int)’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:285: multiple definition of `Servo::write(int)’
MServo.cpp.o:MServo.cpp:285: first defined here
firmware_rumba/MServo.cpp.o: In function `Servo::attach(int, int, int)’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:259: multiple definition of `Servo::attach(int, int, int)’
MServo.cpp.o:MServo.cpp:259: first defined here
firmware_rumba/MServo.cpp.o: In function `Servo::attach(int)’:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:256: multiple definition of `Servo::attach(int)’
MServo.cpp.o:MServo.cpp:256: first defined here
firmware_rumba/MServo.cpp.o: In function `__vector_47′:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:123: multiple definition of `__vector_47′
MServo.cpp.o:MServo.cpp:123: first defined here
firmware_rumba/MServo.cpp.o: In function `__vector_42′:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:116: multiple definition of `__vector_42′
MServo.cpp.o:MServo.cpp:116: first defined here
firmware_rumba/MServo.cpp.o: In function `__vector_32′:
/Users/miguelvalenzuela/Documents/Arduino/libraries/firmware_rumba/MServo.cpp:109: multiple definition of `__vector_32′
MServo.cpp.o:MServo.cpp:109: first defined here2015-01-02 at 22:46 #6877AnonymousInactiveThe only other time I’ve seen similar errors is if the Board Type is not set to MEGA 2560 in Arduino. Could that be the case?
2015-01-03 at 10:11 #6878PancakeBotMemberIt’s set to “MEGO 2560 or MEGA ADK.”
to test the communication I uploaded the basic blink example and it works fine (at least stopped the motors from turning). 😀I’ve tried everything, clearing my library, reloading the libraries, all that jazz.
Still get the same error.2015-01-03 at 10:40 #6879PancakeBotMemberWoo Hoo! Got it uploaded.
What did I do?
I uninstalled Arduino completely and cleared out all the libraries and sketches and started from scratch.
I copied only the firmware_rumba folder into the library and opened up the firmware_rumba.ino file and compiled it and it worked.
So I tried to repeat the problem and find out where I went wrong.
It seems that by having both the firmware_ams and firmware_rumba folders in the library are causing the problem.The instructions on the site say: (http://learn.marginallyclever.com/index.php/Makelangelo_Firmware)
Get the code
The lesson (program) for your circuit board is on Github. Grab a copy here by clicking “Clone to desktop” or “Download ZIP”.Copy the AFMotorDrawbot folder (./firmware_ams/AFMotorDrawbot) and all it’s contents to the Arduino libraries.
On Windows the files go in the Arduino software/libraries/.
On OSX the library goes in /Documents/Arduino/libraries/.So my first step was to copy the AFMotorDrawbot folder into the libaries per the instructions.
So then I went down to the M3 Instructions and copied the Rumba files into the folder.
So I would recommend the following changes to the site:
Get the code
The lesson (program) for your circuit board is on Github. Grab a copy here by clicking “Clone to desktop” or “Download ZIP”.For the M2 & M2.5
Copy the AFMotorDrawbot folder (./firmware_ams/AFMotorDrawbot) and all it’s contents to the Arduino libraries.For the M3
Copy the Rumba Firmware folder (./firmware_rumba) and all it’s contents to the Arduino Libraries folder.*Do not copy both firmware_ams and firmware_rumba into the same folder. Doing this may cause a multiple definition error.
The folders for the libraries are located here for the respective OS.
On Windows the files go in the Arduino software/libraries/.
On OSX the library goes in /Documents/Arduino/libraries/.Hope that helps!
2015-01-03 at 15:40 #6880AnonymousInactiveAdding change now. Thanks for catching that!
…actually, you don’t have to copy anything over for RUMBA.
2015-01-07 at 08:10 #6881PancakeBotMemberOh. That would have been good to know! 🙂
I appreciate the update! -
AuthorPosts
- You must be logged in to reply to this topic.