Makelangelo 7.15 firmware
Shop › Forum › Makelangelo Polargraph Art Robot › Makelangelo 7.15 firmware
- This topic has 15 replies, 3 voices, and was last updated 6 years, 9 months ago by Dan.
-
AuthorPosts
-
2017-11-07 at 03:44 #14563tjhawkeyParticipant
Hi Dan, sorry for the simple question…
How do I let Arduino know about the rumba board so I can update the firmware on my Makelangelo 5?
I see the rumba.h file, but I don’t know how to add it to available boards in the arduino environment.
I’m assuming that I “just” have to compile the firmware sketch and download it to the rumba on the Makelangelo.Thanks!
2017-11-08 at 22:50 #14571DanKeymasterby default makelangelo-firmware is already set up in configure.h so that the default mode is POLARGRAPH and the default board is RUMBA.
You may want to go into robot_polargraph.h and check that the makelangelo version is 5.
Then upload and you’ll be set.
2017-11-09 at 10:08 #14581tjhawkeyParticipantI think I might need the dummy version. 🙂
On the reprap wiki it says:
To flash your firmware of choice with the Arduino suite you have to select “Arduino Mega 2560 or Mega ADK” as Board.
So that seems to answer one question.
The next question is which .ino file do I use?
I assume the makelangelo-firmware.ino
Is that right?
The robot-polargraph.h looks like it needs modification as you suggest for version 5, but I don’t see that it is called in either of the obvious .ino filesSorry for my ignorance. If you put the hex file for makelangelo 5 on github, I could just download that?
Thanks
2017-11-17 at 13:21 #14621DanKeymastercorrect and correct.
by default the firmware is set up for makelangelo. to confirm:
in configure.h, there is a line that should say
#define MACHINE_STYLE POLARGRAPH
if the last word is any other type of robot, change it to match as above.
In robot_polargraph.h, If you have a M3.2 there is a line that should say
#define MACHINE_HARDWARE_VERSION 3 // If you have a makelangelo 3+
//#define MACHINE_HARDWARE_VERSION 5 // If you have a makelangelo 5+In robot_polargraph.h, If you have a M5 there is a line that should say
//#define MACHINE_HARDWARE_VERSION 3 // If you have a makelangelo 3+
#define MACHINE_HARDWARE_VERSION 5 // If you have a makelangelo 5+Then go to tools > port and make sure the selected port is your robot. This is the phone number it calls to talk to your robot and send it instructions, same as when you connect with Makelangelo software to drive it from the app.
Then press the circle button that is second from the left. it should have a picture of an arrow pointing to the right. It will compile the code and then send it to the robot. When it says upload complete your work is done!
2017-11-20 at 06:21 #14647tjhawkeyParticipantThanks! I am getting closer. I learned/remembered that I have to copy the .h files into the folder that the IDE makes when you open the sketch.
However, the sketch won’t compile and returns a number of errors.
A few examples are listed below.
Seems like I have files not in the correct place in my arduino environment.
Any suggestions?C:\Users\TJHawkey\Documents\Arduino\Makelangelo-firmware\Makelangelo-firmware.ino: In function ‘void parseLimits()’:
Makelangelo-firmware:140: error: ‘saveLimits’ was not declared in this scope
saveLimits();
^
C:\Users\TJHawkey\Documents\Arduino\Makelangelo-firmware\Makelangelo-firmware.ino: In function ‘void testKinematics()’:
Makelangelo-firmware:167: error: ‘IK’ was not declared in this scope
IK(axies1, A);
^
Makelangelo-firmware:168: error: ‘FK’ was not declared in this scope
FK(A, axies2);
^
C:\Users\TJHawkey\Documents\Arduino\Makelangelo-firmware\Makelangelo-firmware.ino: In function ‘void lineSafeInternal(float*, float)’:
Makelangelo-firmware:204: error: ‘IK’ was not declared in this scope
IK(pos, steps);
2017-11-24 at 17:31 #14699DanKeymasterdo you have #define MACHINE_STYLE POLARGRAPH in configure.h?
It looks like Arduino thinks you have no machine style defined, which makes me think you’re still misging a firmware file or two.2018-01-18 at 03:56 #15339tjhawkeyParticipantOK, getting back to this with new firmware release.
I updated the comments in robot_polargraph.h to point to define the correct hardware version (5).
I found I had to comment out zarplot in configure.h since there was no related .h file in the github download.
Still no luck compiling.
Error messages like this below (sorry it’s long).
I am not connected to the makelangelo yet–just trying to verify/compile.
I have all the .h files from github and servo.hAny suggestions?
ThanksArduino: 1.8.3 (Windows 10), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”
C:\Users\TJHawkey\Documents\Arduino\robot_polargraph\robot_polargraph.ino: In function ‘void IK(float*, long int*)’:
robot_polargraph:36: error: ‘axies’ was not declared in this scope
float limit_xmin = axies[0].limitMin;
^
C:\Users\TJHawkey\Documents\Arduino\robot_polargraph\robot_polargraph.ino: In function ‘int FK(long int*, float*)’:
robot_polargraph:58: error: ‘axies’ was not declared in this scope
float limit_xmin = axies[0].limitMin;
^
C:\Users\TJHawkey\Documents\Arduino\robot_polargraph\robot_polargraph.ino: In function ‘void recordHome()’:
robot_polargraph:100: error: ‘wait_for_empty_segment_buffer’ was not declared in this scope
wait_for_empty_segment_buffer();
^
robot_polargraph:101: error: ‘motor_engage’ was not declared in this scope
motor_engage();
^
robot_polargraph:102: error: ‘findStepDelay’ was not declared in this scope
findStepDelay();
^
robot_polargraph:114: error: ‘axies’ was not declared in this scope
homes[0]=axies[0].homePos;
^
robot_polargraph:143: error: ‘step_delay’ was not declared in this scope
pause(step_delay * 2);
^
robot_polargraph:143: error: ‘pause’ was not declared in this scope
pause(step_delay * 2);
^
robot_polargraph:154: error: ‘step_delay’ was not declared in this scope
pause(step_delay * 4);
^
robot_polargraph:154: error: ‘pause’ was not declared in this scope
pause(step_delay * 4);
^
robot_polargraph:182: error: ‘step_delay’ was not declared in this scope
pause(step_delay * 4);
^
robot_polargraph:182: error: ‘pause’ was not declared in this scope
pause(step_delay * 4);
^
robot_polargraph:185: error: ‘calibrateLeft’ was not declared in this scope
calibrateLeft = count[0];
^
robot_polargraph:186: error: ‘calibrateRight’ was not declared in this scope
calibrateRight = count[1];
^
robot_polargraph:189: error: ‘saveCalibration’ was not declared in this scope
saveCalibration();
^
robot_polargraph:190: error: ‘reportCalibration’ was not declared in this scope
reportCalibration();
^
robot_polargraph:195: error: ‘teleport’ was not declared in this scope
teleport(axies2);
^
robot_polargraph:196: error: ‘where’ was not declared in this scope
where();
^
robot_polargraph:202: error: ‘get_end_plus_offset’ was not declared in this scope
get_end_plus_offset(offset);
^
robot_polargraph:205: error: ‘feed_rate’ was not declared in this scope
lineSafe(offset, feed_rate);
^
robot_polargraph:205: error: ‘lineSafe’ was not declared in this scope
lineSafe(offset, feed_rate);
^
C:\Users\TJHawkey\Documents\Arduino\robot_polargraph\robot_polargraph.ino: In function ‘void robot_findHome()’:
robot_polargraph:216: error: ‘wait_for_empty_segment_buffer’ was not declared in this scope
wait_for_empty_segment_buffer();
^
robot_polargraph:217: error: ‘motor_engage’ was not declared in this scope
motor_engage();
^
robot_polargraph:221: error: ‘findStepDelay’ was not declared in this scope
findStepDelay();
^
robot_polargraph:244: error: ‘step_delay’ was not declared in this scope
pause(step_delay);
^
robot_polargraph:244: error: ‘pause’ was not declared in this scope
pause(step_delay);
^
robot_polargraph:252: error: ‘calibrateLeft’ was not declared in this scope
count[0] = calibrateLeft/THREAD_PER_STEP;
^
robot_polargraph:253: error: ‘calibrateRight’ was not declared in this scope
count[1] = calibrateRight/THREAD_PER_STEP;
^
robot_polargraph:254: error: ‘axies’ was not declared in this scope
count[2] = axies[2].pos;
^
robot_polargraph:262: error: ‘teleport’ was not declared in this scope
teleport(axies2);
^
robot_polargraph:264: error: ‘where’ was not declared in this scope
where();
^
robot_polargraph:269: error: ‘get_end_plus_offset’ was not declared in this scope
get_end_plus_offset(offset);
^
robot_polargraph:275: error: ‘feed_rate’ was not declared in this scope
lineSafe(offset, feed_rate);
^
robot_polargraph:275: error: ‘lineSafe’ was not declared in this scope
lineSafe(offset, feed_rate);
^
C:\Users\TJHawkey\Documents\Arduino\robot_polargraph\robot_polargraph.ino: In function ‘void calibrateBelts()’:
robot_polargraph:287: error: ‘wait_for_empty_segment_buffer’ was not declared in this scope
wait_for_empty_segment_buffer();
^
robot_polargraph:288: error: ‘motor_engage’ was not declared in this scope
motor_engage();
^
robot_polargraph:298: error: ‘axies’ was not declared in this scope
homePos[0]=axies[0].homePos;
^
robot_polargraph:302: error: ‘findStepDelay’ was not declared in this scope
findStepDelay();
^
robot_polargraph:325: error: ‘step_delay’ was not declared in this scope
pause(step_delay);
^
robot_polargraph:325: error: ‘pause’ was not declared in this scope
pause(step_delay);
^
robot_polargraph:332: error: ‘calibrateLeft’ was not declared in this scope
calibrateLeft = (float)steps[0] * THREAD_PER_STEP;
^
robot_polargraph:333: error: ‘calibrateRight’ was not declared in this scope
calibrateRight = (float)steps[1] * THREAD_PER_STEP;
^
robot_polargraph:335: error: ‘reportCalibration’ was not declared in this scope
reportCalibration();
^
robot_polargraph:340: error: ‘teleport’ was not declared in this scope
teleport(axies2);
^
robot_polargraph:341: error: ‘where’ was not declared in this scope
where();
^
robot_polargraph:347: error: ‘get_end_plus_offset’ was not declared in this scope
get_end_plus_offset(offset);
^
robot_polargraph:350: error: ‘feed_rate’ was not declared in this scope
lineSafe(offset, feed_rate);
^
robot_polargraph:350: error: ‘lineSafe’ was not declared in this scope
lineSafe(offset, feed_rate);
^
exit status 1
‘axies’ was not declared in this scopeThis report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.2018-01-18 at 11:40 #15345DanKeymasterUsually fixing the first error makes the rest disappear.
I just compiled the latest for polargraph and version 5 makelangelo. there were no compile errors.
“axies” are defined in Makelangelo-firmware.ino. I’m not sure how it can fail to find the declaration.
Are you using
(A) the download from the store,
(B) the Github master branch, or
(C) the Gidhub dev branch?
2018-01-19 at 14:23 #15354tjhawkeyParticipantHi Dan, I just got the latest from github (with updated version #)
configure.h and robot_polargraph.h look correct.I’m trying to compile makelangelo-firwmare.ino
It claims “savelimits” not declared in scope?
I put all the .h files in the same folder as the sketch.Lacking that, could you send me the compiled file?
Sorry for the trouble.
THanks!2018-01-19 at 14:43 #15355DanKeymasterare you sure you have eeprom.ino? that’s where saveLimits is declared.
2018-01-20 at 08:13 #15360tjhawkeyParticipantYes, I have eeprom.ino. The github download makes a folder with several sketches, several .h files, and a .cppfile.
When you open a sketch, the IDE makes a folder for it. I’ve now opened every sketch, so there are a number of sub-folders and the remaining .h files and .cpp file. I put the .h files and the MSErvo.cpp file in the folder with the makelangelo-firmware.ino folder. Compiling the sketch I get the error “savelimits was not defined in this scope” (and a bunch of others)
conigure.h was updated to call out makelangelo 5.2018-01-20 at 17:02 #15363DanKeymaster– get a fresh download.
– unzip everything to Makelangelo-firmware-master
– rename folder Makelangelo-firmware-master to Makelangelo-firmware
– open Makelangelo-firmware/Makelangelo-firmware.ino
– all files should appear as tabs in the one arduino project
– compile. everything should be ok.2018-01-20 at 17:59 #15364tjhawkeyParticipantThat does the trick.
Thanks!
You might want to update the page on your site with these instructions.2018-01-20 at 18:38 #15365DanKeymasterREADME.txt has been updated.
2018-01-23 at 09:44 #15388AnonymousInactiveHi..as per my knowledge makelangelo-firmware is already set up in configure.h so that the default mode is POLARGRAPH and the default board is RUMBA.
2018-01-23 at 09:47 #15389DanKeymaster@NealXu good. Hi!
-
AuthorPosts
- You must be logged in to reply to this topic.