1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

troubleshooting firmware update

Discussion in 'Troubleshooting' started by crazyshakespeare, Aug 30, 2016.

  1. crazyshakespeare

    Joined:
    Dec 1, 2015
    Messages:
    35
    Likes Received:
    2
    Just installed the E3D on my R1 + Trying to upload the Lead Screw Update Firmware but keep getting this error:

    Arduino: 1.6.11 (Mac OS X), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

    In file included from sketch/Marlin.h:23:0,
    from sketch/Marlin_main.cpp:30:
    sketch/pins.h:2564:0: warning: "X_MAX_PIN" redefined
    #define X_MAX_PIN -1
    ^
    In file included from sketch/Marlin.h:23:0,
    from sketch/Marlin_main.cpp:30:
    sketch/pins.h:445:0: note: this is the location of the previous definition
    #define X_MAX_PIN 2
    ^
    In file included from sketch/Marlin.h:23:0,
    from sketch/Marlin_main.cpp:30:
    sketch/pins.h:2565:0: warning: "Y_MAX_PIN" redefined
    #define Y_MAX_PIN -1
    ^
    In file included from sketch/Marlin.h:23:0,
    from sketch/Marlin_main.cpp:30:
    sketch/pins.h:451:0: note: this is the location of the previous definition
    #define Y_MAX_PIN 15
    ^
    In file included from sketch/Marlin.h:23:0,
    from sketch/Marlin_main.cpp:30:
    sketch/pins.h:2566:0: warning: "Z_MAX_PIN" redefined
    #define Z_MAX_PIN -1
    ^
    In file included from sketch/Marlin.h:23:0,
    from sketch/Marlin_main.cpp:30:
    sketch/pins.h:457:0: note: this is the location of the previous definition
    #define Z_MAX_PIN 19
    ^
    sketch/Marlin_main.cpp:2113:36: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
    LCD_MESSAGEPGM(MACHINE_NAME" "MSG_OFF".");
    ^
    In file included from sketch/SdFile.h:27:0,
    from sketch/cardreader.h:8,
    from sketch/Marlin_main.cpp:44:
    SdBaseFile.h:38: error: using typedef-name 'fpos_t' after 'struct'
    struct fpos_t {
    ^
    In file included from sketch/Marlin.h:10:0,
    from sketch/Marlin_main.cpp:30:
    /Users/Hollywood/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/stdio.h:950:33: note: 'fpos_t' has a previous declaration here
    __extension__ typedef long long fpos_t;
    ^
    sketch/Marlin_main.cpp: In function 'void set_bed_level_equation_lsq(double*)':
    sketch/Marlin_main.cpp:842:36: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
    planeNormal.debug("planeNormal");
    ^
    exit status 1
    using typedef-name 'fpos_t' after 'struct'

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




    Please help!
     
  2. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    Probably need this in another thread, but it is an easy fix. Just open up arduino ide with the firmware and do a globel search and replace. You do this by doing ctrl-f and select the box for search all tabs. Then search for fpos_t and replace with filepos_t. Recompile and you will be all set. I put those instructions on the firmware download page under comments, but I don't think people read those. It is a change in the new versions of the arduino ide software that is doing this. The newer releases of the Marlin firmware have that struct named filepos_t so this won't have any negative affect on your firmware. Cheers!
     
  3. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    Yes the INO will open into the arduino IDE...sorry that isn't a term everyone is used to. So you did ctrl-f to open up the find window with the full sketchbook (firmware files) open and it found nothing? Did you make sure to have the "Search all Sketch Tabs" checked like below?

    firmware find.jpg
     
  4. crazyshakespeare

    Joined:
    Dec 1, 2015
    Messages:
    35
    Likes Received:
    2
    I am using the XXL LCD display......is there a way to run those commands in side the arduino software...i can't seem to get matter control to connect to my printer
     
  5. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    So the arduino software is able to connect, but you are unable with matter control? Maybe matter control has the wrong com port defined? Is this the first time updating the firmware?
     
  6. crazyshakespeare

    Joined:
    Dec 1, 2015
    Messages:
    35
    Likes Received:
    2
    The arduino seems to be connecting since it lets me upload. Yes. this is my first time updating firmware
     
  7. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    ok so check the com port setting you have selected in each and make sure they are the same.
     
  8. crazyshakespeare

    Joined:
    Dec 1, 2015
    Messages:
    35
    Likes Received:
    2
    Ran the the upload again and the display finally came up...is there a way to see if it actually updated....everything looks like it originally did?
     
  9. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    Well that's great. I bet you feel relieved to have it working again. Your question is a very good one. Since with the V6 install you only needed to change the thermistor type it makes it hard to know it took. I started a habit of changing CUSTOM_MENDEL_NAME variable in the Configuration.h tab to something meaningful to my change. So if you change it from ROBOR1PLUSV1 to something like below it might help when you are done uploading and sending the two commands M502, M500 you can then see the name you gave it show up on the XXL LCD.

    #define CUSTOM_MENDEL_NAME "ROBOR1+E3DV6"
     
    Ryan TeGantvoort likes this.
  10. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    So the root of the issue with the newer versions of Arduino is that they already define an object named fpos_t in one of the global files installed with Arduino called stdio.h. I highlighted the path in red below to the stdio.h file on your machine. This has been an issue with many users online switching to the new arduino and compiling the older Marlin based firmwares. That is why the new versions of Marlin have switched to using filepos_t for the struct name instead. If Robo just made this small tweak to their published firmware versions, then no on else would have the issues you had with originally loading the firmware. Again, glad you were able to get this cleared up and I hope this thread ends up helping others on this forum. Cheers!

    In file included from sketch/SdFile.h:27:0,
    from sketch/cardreader.h:8,
    from sketch/Marlin_main.cpp:44:
    SdBaseFile.h:38: error: using typedef-name 'fpos_t' after 'struct'
    struct fpos_t {
    ^
    In file included from sketch/Marlin.h:10:0,
    from sketch/Marlin_main.cpp:30:

    /Users/Hollywood/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/stdio.h:950:33: note: 'fpos_t' has a previous declaration here
    __extension__ typedef long long fpos_t;
     
  11. Ryan TeGantvoort

    Ryan TeGantvoort Active Member

    Joined:
    Mar 11, 2016
    Messages:
    343
    Likes Received:
    172
    Or you just download an older version of Arduino. Problem Solved

    I also change the CUSTOM_MENDEL_NAME whenever I upload a newer version, with a simple revision scheme.
     
    mark tomlinson likes this.
  12. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,914
    Likes Received:
    7,338
  13. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,914
    Likes Received:
    7,338
    The newer compiler is unhappy with the old source.
     
  14. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    Yeah but who wants to go backwards when you can just fix the issue in the new version and move forwards :) haha
     
  15. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,914
    Likes Received:
    7,338
    Sometimes it feels like tilting at windmills. I mean if you win "It was a freaking WINDMILL -- they're huge" but if you loose...
    (it is a windmill)
     
    Ryan TeGantvoort likes this.

Share This Page