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

Marlin Firmware Upgrade 1.1.0 RC8 & RCBugFix (For R1 & R1+PLUS)

Discussion in 'Mods and Upgrades' started by WheresWaldo, Jun 11, 2015.

Thread Status:
Not open for further replies.
  1. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    And here I didn't think they were taking my custom changes to heart when I asked about adding them to Marlin. That's great. I'll keep using my code until they make it official. Huge time saver. I know UBL, when it comes back, can save off multiple leveling grids and restore. Cool things on the way!
     
  2. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    I just pulled down the latest RCBugFix (they really shouldn't call it a bug fix version as they are constantly adding new code) There are a lot of changes in the LCD, the endstops and the thermistor handling. It is going to take me a while to figure it all out, so I probably won't have something on or near January 1st. With all the changes I can't see RC8 as the last RC, there has to be wider testing and an RC9 would be the way to do it.
     
  3. Toro1966

    Toro1966 Active Member

    Joined:
    Jun 23, 2016
    Messages:
    398
    Likes Received:
    78
    Thanks for all your work Waldo!
     
  4. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    PROOF OF CONCEPT (Download and use at your own risk, no testing done)

    This is the current RCBugFix from Dec 23, 2016 (post RC8) for the new Robo C2, it uses Bilinear auto-level. RC6 is the base used for Robo's necessary modifications, bilinear auto-leveling was not included until RC8. This is my attempt to port those modifications to the latest bug fix version. I don't know if it works, I can't test it, I can't answer any questions.

    Improvements from the Robo supplied firmware:
    1. Improved auto-level
    2. Every single modification to the Marlin defaults have been commented. This is really a big deal and should be done by any programmer modifying code, particularly open source code. Each modified line contains the comment //MOD at the end of the code and before any existing comment.
    3. Version reverted to Marlin's default method (Robo used 1.1.2, this is called 1.1.0.2 {Marlin 1.1.0, subsequent revision indicated by the extra digit})
    Stuff Robo changed from defaults:
    1. Added new pins file for custom ramps board (a few pin assignments are swapped)
    2. Removed all the sections pertaining to an LCD controller (those are restored in the version above)
    3. Modified filament out sensor to be controlled by rPi.
    4. There is probably more that I am forgetting to list.
    Note of caution:
    M851 is not enabled in this software the 'Find Z-Offset' in the web interface will not work as expected. Also since the custom RAMPS board in the C2 has it's USB port occupied (just a guess based on the limited pictures released of the internals) there is no simple way for the Arduino IDE to upload new firmware. You could compile it and then move the resulting .hex file to the Robo and use the web interface control for flashing new firmware. The other option is to take your Robo apart enough to access the RAMPS board directly and upgrade the firmware through the Arduino IDE.
     

    Attached Files:

    #944 WheresWaldo, Dec 23, 2016
    Last edited: Dec 23, 2016
    danzca6 and Geof like this.
  5. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @Geof, that was fast, I didn't even finish updating the post.
     
  6. Geof

    Geof Volunteer Moderator
    Staff Member

    Joined:
    Nov 9, 2015
    Messages:
    6,757
    Likes Received:
    2,339
    Lol :) I'm on it !
     
  7. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    What I would really love to see is MESH enabled on the C2/R2 then it would be set and forget! But since I can't test this, I probably will not update this post in the future.
     
  8. Geof

    Geof Volunteer Moderator
    Staff Member

    Joined:
    Nov 9, 2015
    Messages:
    6,757
    Likes Received:
    2,339
    Hopefully they wise up and send some valuable people like yourself a machine
     
  9. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Whisper in their ear for me, won't you!

    Funny thing, I didn't even mod this version for my own R1, and I know how to do that. :)
     
    Geof likes this.
  10. Geof

    Geof Volunteer Moderator
    Staff Member

    Joined:
    Nov 9, 2015
    Messages:
    6,757
    Likes Received:
    2,339
    I have been lol through multiple channels :)
     
  11. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Read some interesting comments about ABL Bilinear vs. MESH. Consensus is they both do exactly the same thing. The only exception is that MESH saves the values to EEPROM and ABL erases them at the beginning of every print job. MESH it is claimed by some only necessary for machines that don't have a probe. I disagree as the functionality provided by saving the MESH values and not calling them up again outweighs the fact that the machine can do it automatically but still has to do it for every print job.

    Just thought I would share that little tidbit.
     
    #951 WheresWaldo, Dec 25, 2016
    Last edited: Dec 27, 2016
    Geof and mark tomlinson like this.
  12. anngeelow81

    anngeelow81 Member

    Joined:
    May 20, 2016
    Messages:
    41
    Likes Received:
    9
    Does the firmware erase automatically with abl? Wouldn't manually running a g28/29 then a M500/501 and only having a G28 in your start up script achieve the same outcome? Minus the tedious paper under nozzle manual input that mesh requires?

    I've been running it like this with a 4mm probe. Hope I haven't been just getting lucky. I never thought of the firmware erasing the eeprom
     
  13. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @anngeelow81,

    Nope, because it is not the G29 that erases the leveling compensation values, it is the G28 command that does it! And, it is not EEPROM, you actually can't run anything out of EEPROM, At startup EEPROM values are loaded in memory, Think of the printers EEPROM like a HDD, you can store stuff on it but to run any app or work on that document you have to load it into memory. If ABL is enabled then any G28 (homing) command will erase the level compensation. Using G28 with MESH is slightly different and doesn't erase the compensation stored in memory. Nothing other than loading a new Firmware or rewriting EEPROM will erase items from EEPROM (even extended periods of power off).

    FYI for those that just need to know Electrically Erasable Programmable Read Only Memory, EEPROM for short.
     
    Alan Childs likes this.
  14. Alan Childs

    Alan Childs New Member

    Joined:
    May 26, 2016
    Messages:
    2
    Likes Received:
    0
    Is it just me that is having trouble with certain options, mainly the Z-probe Offset, on the LCD menu's rounding to odd or even numbers in RC8? I also found that bilinear ABL was having trouble with the bed flexing and added
    #define PROBE_DOUBLE_TOUCH​
    which seems to give much better levelling. I don't know this is worth adding as a Robo default change?
     
  15. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    The LCD uses a mask to display numbers, and there are encoder steps and multipliers to limit what is displayed. In a terminal window you can set the exact Z-Offset you want.

    I'll look at PROBE_DOUBLE_TOUCH, must be something they broke out in RC8 or just prior.
     
    anngeelow81 and Alan Childs like this.
  16. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    No new RCBugFix for a week or so. Had a MB failure on my main PC and the board is being RMA'd by ASUS, goes in the mail tomorrow. I just hate editing and testing all these files on my backup PC (Gen 2 Core i7-2600 Lenovo). Plus all my source files are on the SSD from my main PC and I don't feel like installing it on this one just for a week of use.

    I did look at the commits over the holidays and there does not appear to be anything urgent that use Roboneers cannot live without. As soon as I am 100% back up and running I will get to it.
     
    Geof and mark tomlinson like this.
  17. Rigmarol

    Rigmarol Well-Known Member

    Joined:
    May 14, 2016
    Messages:
    544
    Likes Received:
    280
    A friendly suggestion from an IT guy who has supported MANY people who have had this very same predicament; Sign up for one of the MANY free cloud based file storage sites and back up your files regularly offsite. then you can access them from any PC from any internet connection anywhere.
    This advice is free and worth every penny. LOL.
     
  18. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @Rigmarol, already there, I am just being lazy, besides I have my personal edits to Marlin on this current PC already, it is just a few edits to bring it back to the general stuff I do. I have accounts on (in order of capacity small to large) Dropbox, Google Drive and Microsoft OneDrive. A lot of stuff is there or on my 14TB raid equipped Media server. I have plenty of backups I was just hoping no one would call me out on wanting to take a few days off. Plus this PC is just as slow as molasses, and since I refreshed it last week it still is missing applications that my main PC has installed.
     
  19. Rigmarol

    Rigmarol Well-Known Member

    Joined:
    May 14, 2016
    Messages:
    544
    Likes Received:
    280
    Your secret is safe with me, take all the time you want, LOL.
     
  20. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Here are the files for Marlin 1.1.0 RCBugFix as of January 1, 2017. I have separated them out into several compressed archive files. Just download the one you need and extract the appropriate files within the Marlin source sub-directory. You cannot use configuration files from previous Marlin releases or from previous Release Candidates. These archives contain the complete source modified as noted. This version and future versions of Marlin must be compiled on Arduino IDE 1.6.8 or newer.

    Basic steps required:
    1. Download one of the attached files appropriate for your hardware
      RCBF_MESH_R1_01-01 for Robo R1 with 8 mm Z Axis threaded rods
      RCBF_MESH_PLUS_01-01 for Robo R1+PLUS and R1's upgraded with the Z-Axis lead screw upgrade kit from Robo3D
      RCBF_MESH_TR8_01-01 for Robo R1's with upgraded Z Axis 3rd party lead screws
    2. Compile and upload to your Arduino 2540 board using the Arduino IDE. Compilation has been tested with Arduino IDE version 1.6.13 and 1.8.0.
    3. After successful upload, clear EEPROM memory by issuing the following two commands in terminal mode:
      M502
      M500
    4. Re-enter you Z axis offset, if needed, using G29 S4 Zn.nn, where n.nn is the amount of offset from the bed. M565 and M851 support are not supported in this version of Marlin.
    Common to all these files are:
    1. Set up for Hexagon hotend
    2. Full Graphics LCD enabled
    3. EEPROM memory enabled
    4. MESH Bed Leveling enabled w/25 probe points (5 x 5 grid)
    5. Major performance improvement for Graphical LCDs
    6. MESH adjustment heights configured to prevent fractional micro-steps
    New - FADE control allows you to compensate for bed unevenness over a longer range of Z heights. By default, all corrections are made in layer one. To enable this you must issue a M420 Zn.nn code either in a terminal window or added to the beginning of your startup script. Value n.nn is the number of millimeters you would like the FADE to occur in.

    New - The LCD now features a more streamlined small font and a big font for single line items. If you LCD exhibits screen corruption as a result of the sped up code, change line # 500 in Configuration_adv.h to a value of 10. This function will work on most LCD screens with a value as low as 5 uS which can speed up the screen writes significantly. The full speedup (using 5 uS screen delay) can save as much as 300,000 CPU cycles.

    New - With the proper wiring you can now control RGB LEDs direct from your printer using the M150 code. Requires that #define RGB_LED be enabled (Configuration.h line # 1388) and the LED is attached to pins 34, 43, 35 by default. (This feature is currently disabled)

    Please note that I am not one of the Marlin developers. If you have an issue with this release post here first. If it is determined that it is not a configuration issue, then you may be directed to post the issue on Marlin's GITHUB. I cannot guarantee success using beta firmware, I can vouch for error free compiling with these included files. If there are issues with the configuration let me know and we can work on them together. Original post (#1) edited to provide a link to RC8 and current RCBugFix files.
     
    #960 WheresWaldo, Jan 3, 2017
    Last edited: Jan 9, 2017
    anngeelow81 likes this.
Thread Status:
Not open for further replies.

Share This Page