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. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    This is stuff I like to see. People building on what I already have done!

    @Toro1966
    This is what I would suggest:
    1. Always do your own PID tuning for both the extruder and bed
    2. Always calibrate your extruder
    3. Maybe adjust the LCD Controller parameters
    @danzca6
    All the cheap Chinese Full Graphics controllers seem to work backwards so that is why I changed it. Much more intuitive for me the way I set it up. Feel free to change it any way you see fit.

    @Geof
    Who says the default way isn't backwards! ;)

    @ProfessorPinky
    I might experiment with changing Extruder steps, I like what you did there.
     
    Geof likes this.
  2. Geof

    Geof Volunteer Moderator
    Staff Member

    Joined:
    Nov 9, 2015
    Messages:
    6,757
    Likes Received:
    2,339
    @WheresWaldo Im leaning towards im backwards ;) not the controller haha
     
  3. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Yeah, :D I was actually looking for my backup Pixhawk and I found the IR sensor @jim3Dbot sent me. Hopefully I will have it up and running by the end of the week. I have to print out a holder first and finish up a bunch of other ongoing projects. But hopefully I can backup what @Oisin has done to get his working on RCBugFix.
    [​IMG]
     
    #763 WheresWaldo, Oct 17, 2016
    Last edited: Oct 17, 2016
    Geof, jim3Dbot and Oisin like this.
  4. ProfessorPinky

    Joined:
    Mar 21, 2016
    Messages:
    69
    Likes Received:
    8
    @WheresWaldo Is there a page or git repository where all these RC's you have put together?
     
  5. Toro1966

    Toro1966 Active Member

    Joined:
    Jun 23, 2016
    Messages:
    398
    Likes Received:
    78
    Thanks Waldo. I definitely will put in my own esteps and pid info. Appreciate you taking care of the code for the Full Graphic LCD :)
     
  6. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    git repository (https://github.com/MarlinFirmware/Marlin) has latest label and all previous ones, but @WheresWaldo has also staged all of the preconfigured CONFIGURATION.H changes for those named printer configurations (which is most of them). He is also waiting for stable labels (or semi-stable at least).
     
  7. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    Ok so I ran into a scenario where keeping homing of the Z to be mid build plate is best. If you are trying to do a multi color print by layer, then one method is to have separate gcode files for each color section. Using MESH of course this works. Using ABL would since you don't want the whole bed probed. Using MESH and just having the z home in the middle off of the existing printed part will set where to start the next layers of color. I know, small thing, but moving z to home at 10/10 would make this option no longer work. Just my 2 cents on this.
     
  8. ProfessorPinky

    Joined:
    Mar 21, 2016
    Messages:
    69
    Likes Received:
    8
    I was wondering if there was a place where all the different versions that @WheresWaldo has put together. I'll just run a thread search for "Basic steps required".
     
  9. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    There have been a few posts that contain a file with the differences from stock. I don't do it every time. Since I did not want to maintain a GIT repository just for 3 files (Configuration.h, Configuration_adv.h and Version.h). And the other issue is I would have to clone the entire Marlin library every time they decide to change just a comment or two. I already have too much going on I really didn't want to add another job.

    The key differences are that the RC's are code that is fixed in time and they can be downloaded even weeks or months after they have been uploaded, so in those cases I just modify the configuration files and that is what is posted here. RCBugFix changes a lot of code, much of which we don't care about but some we do. It is much easier for me to download the entire .zip file make the adjustments and then upload the whole thing here. That is what you will find for the bug fix version posted here. I don't really concern myself with the day to day commits and only look at the Marlin Git once in a while.

    Unfortunately for us, this forum software is woefully inadequate and does not allow searching a thread for all attachments (most of the forums I frequent do allow this), that does make it harder to go backwards. But if there is a bug I can tell you that the Marlin devs will ask you if you have run it on the latest RCBugFix and only expect that you test an issue on RC7 (or whatever is the latest release candidate) and the latest code. They won't care about anything in between those builds.
     
  10. ProfessorPinky

    Joined:
    Mar 21, 2016
    Messages:
    69
    Likes Received:
    8
    That is all I am looking for. I want to see if I can narrow down when the Z-axis issue i am having started. Maybe it will be in all the versions but it can't hurt to try.
    I just find it weird that the original firmware has no problem with 400mm/m and the 9/30 bug fix at the same speed makes the rods vibrate and no movement. But the 10/15 bug fix at 400mm/m it moves but with less vibration.
    You guys say hardware but I don't know what to check as I have adjusted the stepper driver voltage with no improvement. I have swapped stepper drivers. Both motors act the same.
    I figure loading different versions of firmware is easy to do. If I am lucky maybe I can find a version that it didn't happen with and then compare the difference between them.
    I will just search this thread and other threads if there are any that is and try the different versions in order.
    I wasn't expecting an actual repository just maybe a list of the links. I didn't realize that the files you link to were uploaded were to the forum and not a Dropbox or Google Drive type of file sharing service.
    I know what I am wanting to do may be wasting time but it is what I can come up with for now.
     
  11. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    @WheresWaldo , I was discussing with @Toro1966 last night about the change filament menu item on the LCD with the current Robo flavor firmwares. That doesn't appear to be turned on by default in 1.1.0. Doing a quick dig I see that it looks to be available for ULTIPANEL controllers like REPRAP_DISCOUNT_SMART_CONTROLLER. I don't see ULTIPANEL turned on for the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER. That seems odd that they don't have it for the FULL, but I am still researching. I have the XXL and will turn on FILAMENT_CHANGE_FEATURE under Configuration_adv.h and see how it goes. It shows as experimental support, so I am curious to how well it works. I'll try it out tonight and report back. Just curious if anyone else is interested in this feature.

    EDIT: I see how the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER gets ULTIPANEL set now. Ok so this would work on both. Just need to uncomment the FILAMENT_CHANGE_FEATURE definition. 1.1.0 still uses the M600 command, but implements it a lot cleaner. I'll do a test and then hopefully we can enable by default on later releases for the Robos.
     
    #771 danzca6, Oct 18, 2016
    Last edited: Oct 18, 2016
  12. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    I'd spawn a new troubleshooting thread specific to that and note the versions of Marlin you are using in there. That way you can get comments specific to your issue. While most people are on the factory firmware (or some near copy of it) there are a number that are using these more current flavors.

    While your problem sounds like hardware, if changing the firmware changes it then there is something in the lower level code that has altered. You would need to diff the entire marlin source to have a clue where to even start :) Do the diff against a version you know worked and the first version you know does not. Again, lets take that to a new thread.
     
  13. ProfessorPinky

    Joined:
    Mar 21, 2016
    Messages:
    69
    Likes Received:
    8
    Diffing (if the added "ing" is even a term) is what I had in mind. That is of course if I find two versions that act that much differently.
    I will start a new thread if I am able to come up with anything or for further discussion.
    Thank you.
     
    mark tomlinson likes this.
  14. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @ProfessorPinky I do understand what you are trying to do, even GITHUB doesn't make that easy, unless you fork the GIT repository it is nearly impossible to go backwards in someone else's code. With your own fork you could follow some instructions to compare code over a period of time (https://help.github.com/articles/comparing-commits-across-time/). Since the issue is not likely in the required Robo changes to Configuration.h, Configuration_adv.h or Version.h you could check a direct fork of the Marlin GIT to see what they changed over the same time period from when it worked to when it stopped.
     
  15. ProfessorPinky

    Joined:
    Mar 21, 2016
    Messages:
    69
    Likes Received:
    8
    I know I said I would make a new thread after comparing but that comparing won't be happening at least how I was thinking. I haven't been following these updates and I assumed all the updates posted were a complete set as the last few have been. I wouldn't expect to find anything in the configuration files.
    I am going to purchase a complete RAMPS 1.4 kit from Amazon this morning and try that out hopefully this weekend or next. I want to have an extra on hand anyway for either the R1 or the MP Select Mini. If I can get that working then I'll just leave it alone. If not then I will create a new thread.
    Thank you again.
     
  16. Toro1966

    Toro1966 Active Member

    Joined:
    Jun 23, 2016
    Messages:
    398
    Likes Received:
    78
    What version of the UGLIB library are you guys running for the LCD?
     
  17. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Latest version of U8glib is available from the Library Manager within the Arduino IDE
     
  18. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    @WheresWaldo I made some small changes to the firmware over the weekend.

    I did end up making some modifications to the Change Filament routines this weekend to make it better for the Robo. By default it works, but it is more geared towards a Bowden setup. So the retraction and extrusion settings are way higher than needed. Also change the change position so that the bed is kicked out nearly all the way out the back and that X is centered. That just makes it easier to change things out.

    Configuration_adv.h around line 617
    Code:
    // Add support for experimental filament exchange support M600; requires display
    #if ENABLED(ULTIPANEL)
      #define FILAMENT_CHANGE_FEATURE             //--DANZ Enable filament exchange menu and M600 g-code (used for runout sensor too)
      #if ENABLED(FILAMENT_CHANGE_FEATURE)
        #define FILAMENT_CHANGE_X_POS 114           //--DANZ center X position of hotend
        #define FILAMENT_CHANGE_Y_POS 3             // Y position of hotend
        #define FILAMENT_CHANGE_Z_ADD 15            // Z addition of hotend (lift)
        #define FILAMENT_CHANGE_XY_FEEDRATE 100     // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
        #define FILAMENT_CHANGE_Z_FEEDRATE 5        // Z axis feedrate in mm/s (not used for delta printers)
        #define FILAMENT_CHANGE_RETRACT_LENGTH 2    // Initial retract in mm
                                                    // It is a short retract used immediately after print interrupt before move to filament exchange position
        #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
        #define FILAMENT_CHANGE_UNLOAD_LENGTH 25   //--DANZ Unload filament length from hotend in mm
                                                    // Longer length for bowden printers to unload filament from whole bowden tube,
                                                    // shorter lenght for printers without bowden to unload filament from extruder only,
                                                    // 0 to disable unloading for manual unloading
        #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10  // Unload filament feedrate in mm/s - filament unloading can be fast
        #define FILAMENT_CHANGE_LOAD_LENGTH 0       // Load filament length over hotend in mm
                                                    // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
                                                    // Short or zero length for printers without bowden where loading is not used
        #define FILAMENT_CHANGE_LOAD_FEEDRATE 10    // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
        #define FILAMENT_CHANGE_EXTRUDE_LENGTH 25   //--DANZ Extrude filament length in mm after filament is load over the hotend,
                                                    // 0 to disable for manual extrusion
                                                    // Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
                                                    // or until outcoming filament color is not clear for filament color change
        #define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3  // Extrude filament feedrate in mm/s - must be slower than load feedrate
      #endif
    #endif
    
    I found the build area was off by just a small bit. So I made a change with that. Not sure if you want to update that for everyone, but wanted it to keep the 10x9x8 in dimensions. Z probably could be 230 since there seems to be room, but X and Y I wanted to be closer to the actual dimension for MESH probing. There's a 10mm gap border built into the firmware when laying out the 4x4 grid anyway.
    Code:
    #define X_MAX_POS 228.6  //--ROBO-BH-DANZ 9"
    #define Y_MAX_POS 254    //--ROBO-BH-DANZ 10"
    #define Z_MAX_POS 203.2  //--ROBO-BH-DANZ 8"
    
    For MESH with IR, I changed the following line in Configuration.h to allow more adjustment. I didn't need the full 15mm but for me I had to lower down about 8.5 mm and it wouldn't go past 4. So I just gave myself more room. Wouldn't hurt to increase this for everyone.
    Code:
      #define MESH_HOME_SEARCH_Z 15 //--DANZ Z after Home, bed somewhere below but above 0.0.
    
    I also changed an annoyance item IMO in Configuration.h that spams the terminal window when enabled.
    Code:
    //
    // Host Keepalive
    //
    // When enabled Marlin will send a busy status message to the host
    // every couple of seconds when it can't accept commands.
    //
    //#define HOST_KEEPALIVE_FEATURE        //--DANZ Disable this if your host doesn't like keepalive messages
    //#define DEFAULT_KEEPALIVE_INTERVAL 2  //--DANZ Number of seconds between "busy" messages. Set with M113.
    
    I love the MESH. I may play with some of the other features as well. I'd like to setup a filament runout sensor so that it would just send the M600, or similar, command and wait in the rare case of a long job running out.
     
    Geof likes this.
  19. WheresWaldo

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

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

    1. Good job on the filament change, I may add all that to the next release. I will leave your comments intact.
    2. I will not change the bed size since Robo's ratio was pulled out of their ass. So I think the current bed measurements are good enough to work with 99% of the Robo's out there and will not allow the bed to bang into the stops.
    3. I am going to let people with the IR probe figure out what needs to be changed on their own. I think if there were some concise directions it should be easy to follow for most people that have gone to the trouble of incorporating the IR probe.
    4. I might change this back also. I never notice the messages since I filter them out in OctoPrint.
    I am glad you like MESH. I just uploaded today's code to my Robo and now it seems like they disable MESH when you do a firmware update. So if you are keeping up, you will likely need to redo MESH again. I am printing my first job after the upload and I think I got the paper a bit too tight, I may need to play with the G29 S4 Zn.nn Z_Offset some.
     
  20. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    When you uploaded, did you do the M502, M500? I saw that wipes out the MESH. If you just upload without it and the do a G29 it still shows the MESH grid but it is off until you do a G28. Seems like the paper you choose when doing the probing makes a difference in the first layer. I did it a few times before getting it spot on for what I like.

    Also MESH gave me a great way to do multiple layer colors on a print since I no longer needed to probe the bed. Change filament works for this as well, but this other way actually allows you to run multiple separate gcode files where it just homes all and prints the next layers between colors. I need to wipe the nozzle better between colors, but it was a fun exercise.

    20161022_184723.jpg
     
Thread Status:
Not open for further replies.

Share This Page