Updating Firmware Makelangelo 5

Home Forum Makelangelo Polargraph Art Robot Updating Firmware Makelangelo 5

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #19478
    AvatarEdmondsLibrarian
    Participant

    I updated my Makelangelo software to version 7.15.5
    I would like to be able to connect to my Makeangelo 5 via USB, rather than using the SD card.
    The message I receive is:
    The firmware (code in the brain of your robot) is not the version I expect. I found v7. Please visit https://www.marginallyclever.com/product/makelangelo-firmware/ for the latest firmware.

    What steps should I use to update my Makelangelo 5 Firmware so it “talks” to software version 7.15.5
    I have never updated the firmware since it came ready.

    #19481
    DanDan
    Keymaster

    Are you certain you have the latest software and firmware?

    #19482
    DanDan
    Keymaster

    * download the firmware (https://github.com/MarginallyClever/Makelangelo-firmware/releases)
    * extract the files
    * make sure the folder that contains Makelangelo-firmware.ino is also called Makelangelo-firmware.
    * open Makelangelo-firmware.ino in Arduino.
    * confirm that there are many tabs at the top of the arduino program. If your window is narrow there should be a down arrow on the right that exposes many more tabs. Each tab is a file in the project.
    * confirm that in configure.h the MACHINE_STYLE is POLARGRAPH.
    * confirm that in robot_polargraph.h the MACHINE_HARDWARE_VERSION is 3 or 5, depending on your machine type. If your machine has automatic homing it is a 5.
    * confirm tools > board = mega 2560
    * confirm tools > port is set to your usb connection. it will probably say something like “COM4 (mega2560)”
    * click upload (the second circle from the left, with the arrow pointing right)
    * if upload bad, report back here.
    * open serial window (last circle on the right, magnifying glass)
    * set baud = 57600
    * set newline = newline
    * text should appear on the screen.
    * type “M114” and hit enter. robot should report it’s position.
    * close serial window
    * start Makelangelo-software.
    * proceed as normal.

    #19491
    AvatarEdmondsLibrarian
    Participant

    Thank you for this awesome checklist!
    On step 3, the name of the folder has a dash: Makelangelo-Firmware

    Step 5- There doesn’t seem to be a file called polargraph.h There is a file called Robot_Polargraph.h which has commands about MACHINE_HARDWARE_VERSION
    Robot_Polargraph.h
    #ifndef ROBOT_POLARGRAPH_H
    #define ROBOT_POLARGRAPH_H
    //——————————————————————————
    // Makelangelo – firmware for various robot kinematic models
    // dan@marginallycelver.com 2013-12-26
    // Copyright at end of file. Please see
    // http://www.github.com/MarginallyClever/makelangeloFirmware for more information.
    //——————————————————————————

    #if MACHINE_STYLE == POLARGRAPH

    #define MACHINE_STYLE_NAME “POLARGRAPH”
    //#define MACHINE_HARDWARE_VERSION 3 // If you have a makelangelo 3+
    #define MACHINE_HARDWARE_VERSION 5 // If you have a makelangelo 5+
    #define MACHINE_HAS_LIFTABLE_PEN

    #define MAX_ACCELERATION (5000)
    #define MIN_ACCELERATION (100)

    #define SUBDIVIDE_LINES
    #define SEGMENT_PER_CM_LINE (2) // lines are subdivided. How long are the divisions?
    #define SEGMENT_PER_CM_ARC (3) // Arcs are subdivided. How long are the divisions?

    // servo angles for pen control
    #define PEN_UP_ANGLE (90)
    #define PEN_DOWN_ANGLE (50) // Some steppers don’t like 0 degrees

    #define NUM_AXIES (3)
    #define NUM_MOTORS (2)
    #define NUM_SERVOS (1)
    #define NUM_TOOLS (1)

    #define MAX_FEEDRATE (9000.0) // depends on timer interrupt & hardware
    #define MIN_FEEDRATE (100)
    #define MAX_JERK (5.0)
    #define DEFAULT_FEEDRATE (7000.0)
    #define DEFAULT_ACCELERATION (2500)

    #if MACHINE_HARDWARE_VERSION == 5
    #define USE_LIMIT_SWITCH (1) // Comment out this line to disable findHome and limit switches
    #define HAS_SD // comment this out if there is no SD card
    #define HAS_LCD // comment this out if there is no SMART LCD controller
    #endif
    #if MACHINE_HARDWARE_VERSION == 3
    #define HAS_SD // comment this out if there is no SD card
    #define HAS_LCD // comment this out if there is no SMART LCD controller
    #endif

    #endif // #ifdef POLARGRAPH
    #endif // #ifndef ROBOT_POLARGRAPH_H

    Step 8- The upload report is bad:
    Arduino: 1.8.5 (Windows 7), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

    C:\Users\borchertp\Documents\Makelangelo7155March18\Firmware\TroubleShootLink\Makelangelo-firmware-7.15.5\Makelangelo-firmware\Makelangelo-firmware.ino:12:23: fatal error: configure.h: No such file or directory

    #include “configure.h”
    ^
    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Mega or Mega 2560.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    Verbose version

    Arduino: 1.8.5 (Windows 7), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

    C:\Program Files\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\Arduino\hardware -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\borchertp\Documents\Arduino\libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -vid-pid=0X2341_0X0010 -ide-version=10805 -build-path C:\Users\BORCHE~1\AppData\Local\Temp\arduino_build_508936 -warnings=none -build-cache C:\Users\BORCHE~1\AppData\Local\Temp\arduino_cache_904501 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\borchertp\Documents\Makelangelo7155March18\Firmware\TroubleShootLink\Makelangelo-firmware-7.15.5\Makelangelo-firmware\Makelangelo-firmware.ino
    C:\Program Files\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files\Arduino\hardware -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\borchertp\Documents\Arduino\libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -vid-pid=0X2341_0X0010 -ide-version=10805 -build-path C:\Users\BORCHE~1\AppData\Local\Temp\arduino_build_508936 -warnings=none -build-cache C:\Users\BORCHE~1\AppData\Local\Temp\arduino_cache_904501 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\borchertp\Documents\Makelangelo7155March18\Firmware\TroubleShootLink\Makelangelo-firmware-7.15.5\Makelangelo-firmware\Makelangelo-firmware.ino
    Using board ‘mega’ from platform in folder: C:\Program Files\Arduino\hardware\arduino\avr
    Using core ‘arduino’ from platform in folder: C:\Program Files\Arduino\hardware\arduino\avr
    Detecting libraries used…
    “C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10805 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR “-IC:\Program Files\Arduino\hardware\arduino\avr\cores\arduino” “-IC:\Program Files\Arduino\hardware\arduino\avr\variants\mega” “C:\Users\BORCHE~1\AppData\Local\Temp\arduino_build_508936\sketch\Makelangelo-firmware.ino.cpp” -o “nul”
    “C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10805 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR “-IC:\Program Files\Arduino\hardware\arduino\avr\cores\arduino” “-IC:\Program Files\Arduino\hardware\arduino\avr\variants\mega” “C:\Users\BORCHE~1\AppData\Local\Temp\arduino_build_508936\sketch\Makelangelo-firmware.ino.cpp” -o “C:\Users\BORCHE~1\AppData\Local\Temp\arduino_build_508936\preproc\ctags_target_for_gcc_minus_e.cpp”
    C:\Users\borchertp\Documents\Makelangelo7155March18\Firmware\TroubleShootLink\Makelangelo-firmware-7.15.5\Makelangelo-firmware\Makelangelo-firmware.ino:12:23: fatal error: configure.h: No such file or directory

    #include “configure.h”
    ^
    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Mega or Mega 2560.

    #19494
    DanDan
    Keymaster

    updated original instructions.

    #19499
    AvatarEdmondsLibrarian
    Participant

    Thanks for the update! A good stretch of my coding ability.

    #5 confirm that there are many tabs at the top of the arduino program- I don’t have any tabs.
    I did notice that the first time I opened my Arduino file that it prompted me to make the Makelangelo-firmware folder and move the Makelangelo-firmware.ino file into it. Perhaps the hierarchy matters?

    The upload is still bad with the same message.
    It was super cool and a new experience to open the serial monitor. Other users may want to know that the command to send is only “set baud = 57600” and “set newline = newline” I was trying to include the star at the beginning. Also important is to change the pop up menus at the bottom of the window to match baud and new line preferences. I was also getting squares instead of text. It was MAGICAL to see the text appear:
    HELLO WORLD! I AM DRAWBOT #17945
    Firmware v7
    == http://www.makelangelo.com/ ==
    M100 – display this message
    M101 [Tx.xx] [Bx.xx] [Rx.xx] [Lx.xx]
    – display/update board dimensions.
    As well as the following G-codes (http://en.wikipedia.org/wiki/G-code):
    G00,G01,G02,G03,G04,G28,G90,G91,G92,M18,M114

    Alas, it did not launch as a program and still has message
    Launch
    The firmware (code in the brain of your robot) is not the version I expect. I found v7.
    Please visit https://www.marginallyclever.com/product/makelangelo-firmware/
    for the latest firmware.

    Software is up to date. Version is 7.15.5

    I am grateful for your support. Hope this message is sufficiently detailed.

    #19500
    DanDan
    Keymaster

    > it prompted me to make the Makelangelo-firmware folder and move the Makelangelo-firmware.ino file into it.

    All the other files in the project must ALSO go into that folder, then restart Arduino and open Makelangelo-firmware.ino in that folder. The tabs should then appear.

    #19501
    AvatarEdmondsLibrarian
    Participant

    Hooray, that works!- after a restart of both computer and Makelangelo 5 can talk to each other.
    It was in the read me file, but I didn’t know what it meant, especially when Arduino moved the file

    There are some things that don’t seem to run correctly like
    find home- right motor spins the wrong way, so it never “clicks” the top button (also it doesn’t return to home like before but stays at the top)
    manual driving- left/right is up/down and vice cersa

    Also, the SD card function isn’t working when USB is disconnected and it appears I now have a computer only Makelangelo 5.
    I’ll explore other topics for answers to these. Thank you again!

    #19502
    DanDan
    Keymaster

    Uh… we tested homing before it left the shop so I don’t know how that’s possible.

    Anyhow, the fix:
    – confirm arduino serial window is closed and makelangelo-software is disconnected.
    – disconnect power from robot
    – locate motor turning wrong way
    – follow wire from motor to control board
    – disconnect said wire at board
    – turn it 180 degrees
    – plug it back in
    – reconnect power and home again

    Since your machine is backward it may have shipped without QC (Quality Control). You may find that on homing the homing ends and the pen stays at the bottom of the drawing area. If that is the case, stop and email us, there are more steps that have been missed in QC.

    #20308
    Avatartjhawkey
    Participant

    Hi Dan, I am getting a number errors when trying to compile version 7.16 using the instructions above.
    Makelangelo-firmware:775: error: ‘adjustPinState’ was not declared in this scope
    case 42: adjustPinState(); break;

    There are several more like this.
    It’s the same if I am connected to the machine or not.

    Thanks,
    Tim

    #20312
    AvatarAnonymous
    Inactive

    Hello,does anyone have a full functional version firmware on RAMPS + LCD2004/SD for a polargraph ??? After all settings there are many errors like …pinstate, limit,etc…

    #20314
    DanDan
    Keymaster

    Updated the firmware to v6.17.1 which should fix the bad merge that got into production.

    #20329
    Avatartjhawkey
    Participant

    Thanks! The firmware now compiles. I will test sometime this week.
    note–minor version # confusion on github (and above). 7.16.1 I think.

    Tim

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.