• jamesmherndon
    December 3, 2018 at 14:57 #21286

    I am recycling an older Reprap into a Makelangelo (well, trying to)
    It has a Sanguinololu 1.3a board, which seems to be supported, but the code won’t compile in the Arduino IDE if I change the Motherboard in Configure.h

    I am pretty sure I am doing that part correctly, but can it just be confirmed that it does in fact compile and that Sanguinololu is supported/tested?
    It seemed to be getting hung up on the number of motors supported (sanity check) I commented out that section of code and was able to move onto another issue with the motors not being defined. I don’t want to hack up the code too much to get this to work if it’s pointless and I need to just buy a Ramps board or something.


    December 3, 2018 at 22:49 #21294

    I’d really like to know why it doesn’t compile before you start removing sanity checks. What are the error messages?
    I’ll then open a github ticket here: https://github.com/MarginallyClever/Makelangelo-firmware/issues

    Note that I don’t have a sanguinolulu so this might take several tries to get right. Did you remember to set sanguinolulu in tools > boards?

    December 4, 2018 at 12:44 #21296

    Thanks Dan! I think I am set up correctly, I had to add the sanguino board by adding this address to my additional boards location in preferences:
    https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json (mostly mentioning this here to help others)

    This is the error I get when I do not comment out the sanity check, (I only commented it out to see what would happen if it could get past that.)

    Arduino: 1.8.7 (Windows Store (Windows 10), Board: “Sanguino, ATmega644P or ATmega644PA (16 MHz)”

    In file included from C:…Makelangelo Software\Makelangelo-firmware\Makelangelo-firmware.ino:12:0:

    configure.h:67:2: error: #error “The number of motors needed is more than this board supports.”

    #error “The number of motors needed is more than this board supports.”


    configure.h:70:2: error: #error “The number of servos needed is more than this board supports.”

    #error “The number of servos needed is more than this board supports.”


    exit status 1
    #error “The number of motors needed is more than this board supports.”

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

    December 4, 2018 at 13:03 #21297

    The current sanguinolulu defintions in board_sanguinolulu.h only have pins for two steppers and one servo.
    There’s even a line here that says:

    // TODO: if ZARPLOTTER & SANGUINOLULU throw a compile error, not enough motors.

    I have found some more here: https://reprap.org/wiki/Sanguinololu#Pin_Assignments
    I’ve added motor 3 and 4.


    Motor 4 breaks with convention of all other boards because it doesn’t have a dedicated (recommended?) limit switch pin.
    I’ve assigned it to pin 24, the e-thermistor pin. I hope that works for you.

    get the latest version here: https://github.com/MarginallyClever/Makelangelo-firmware/tree/dev

    December 6, 2018 at 13:51 #21382

    Thanks Dan! It hit the same error, but I realized the sketch is defined incorrectly, when I fix this the sanity check is passed, then I get hung up on another issue, but just wanted to share this with you so you can correct it, it’s defined as the ramps board at the top of the Sanguinolulu sketch:

    #ifndef BOARD_RAMPS_H
    #define BOARD_RAMPS_H
    // Makelangelo – firmware for various robot kinematic models
    // [email protected] 2013-12-26
    // Please see http://www.github.com/MarginallyClever/makelangeloFirmware for more information.

    #define MAX_MOTORS (4)

    December 6, 2018 at 14:05 #21383

    The new hangup is this one:
    ‘TCNT3’ was not declared in this scope
    in MServo.h at line 170

    December 6, 2018 at 17:50 #21384

    i’ve made the matching change and get the same TCNT3 problem. Unfortunately I didn’t write the servo.cpp file and I don’t know enough about timer interrupts to be helpful.

    December 6, 2018 at 17:56 #21385

    in servo.h,

    #else // everything else
    #define _useTimer1
    //#define _useTimer3
    typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ;
    //typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ;

    in configure.h,

    //#define HAS_LCD // if you have an LCD panel
    //#define HAS_SD // if you have SD card support on your LCD panel (must be on panel?)
    #undef HAS_LCD
    #undef HAS_SD

    // only uncomment one of these options
    //#define LCD_IS_128X64 // reprapdiscount Full Graphic Smart LCD Controller
    //#define LCD_IS_SMART // reprapdiscount Smart LCD Controller (including XXL model)

    that gets me a little further.

Viewing 8 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic.

Save & Share Cart
Your Shopping Cart will be saved and you'll be given a link. You, or anyone with the link, can use it to retrieve your Cart at any time.
Back Save & Share Cart
Your Shopping Cart will be saved with Product pictures and information, and Cart Totals. Then send it to yourself, or a friend, with a link to retrieve it at any time.
Your cart email sent successfully :)