Duet maestro rollback firmware

  • Is it possible to rollback the firmware to a previous version using the older bin file?
    Or can somebody help, IR probe disable and only use 1 probe Z switch. Thanks

  • yes you can downgrade.

    are you talking rrf3 -> rrf2?

    because i dont think there was any changed related to probes in the mastro v2 firmwares.

  • Currently on 2.04RC1 (2019-07-14b1)
    Want to roll back before IR probe and Z Switch needed to be linked, believe it was introduced in 2.03. its causing the error "Warning: the height map was loaded when the current Z=0 datum was not determined probing. This may result in a height offset"
    I cant seem to get a level bed anymore using the G30 command as a single use at the beginning of the print.
    For some reason my height.csv is not updating and still shows 5 days ago no matter how many time I run the Mesh map.
    If I can roll back no problem thanks.

  • the error message was added as a warning. the problems that this causes are present in the previous firmware as well, you just dont get the warning.

    for 2.04RC1 see the changelog

    Upgrade notes:

    The P parameter of the G29 S0 (or plain G29) command has been withdrawn, because it didn't work when deployprobe.g and retractprobe.g files were used and wasn't easy to fix without wasting memory. A new subfunction G29 S3 P"name.csv" has been added to facilitate saving the height map file under a different name. It behaves the same as M374 P"name.csv".

  • Ok thanks Veti, I rolled back to 2.02 and have managed to perform a mesh bed and calibration with no issues. I will hold off on updating for now as I have not been able to get anywhere near a reasonable Mesh from 2.03 or 2.04. As was mentioned in a previous post the difference in the IR and Switch heights throws my calibration out I don't get this problem in 2.02.

  • Moderator

    You can resolve the mismatch by doing a single probe at bed center with G30 before running the mesh and before running the print. Maybe you can post your config.g and homing files and we can see what exactly would need to be changed.

  • Hi Phaedrux, Thanks for taking the time to look into this for me, the original macros were setup by M3d for my printer and still getting my head around the M codes.
    4_1563732498059_homez.g 3_1563732498059_homey.g 2_1563732498059_homex.g 1_1563732498058_homeall.g 0_1563732498057_config.g

  • Moderator

    Which M3D printer is this? They definitely do some weird things.

    In homez the move to raise the head for clearance is incorrect. Has an S1 switch instead of S2. It doesn't prevent anything from working because it has M564 H0 earlier to allow movement of axis before being homed.

    ; Provide Z height clearance
    G1 Z10 F750 S1

    Should be

    ; Provide Z height clearance
    G1 Z10 F750 S2

    This appears in HomeX as well.

    Can you post the contents of these macros as well? It's hard to know exactly what it's doing without seeing those.

    M98 Pmachine_zendstop.g ; Set Z Endstop height
    M98 Pmachine_axisdimension.g ; Set Axes Limits

    It's a little weird that HomeY just calls homeX, which just homes both X and Y. What if you only wanted to home one or the other?

    It's also a little weird that they use G92 X and Y to force an axis max position. Seems needlessly convoluted since when the endstop triggers it will set the position to the axis maximum already.

    From config.g I can't see what your probe is defined as. Can you please post these macros as well?

    M98 Pmachine_zprobe.g ; Call macro to configure the z probe
    M98 Pmachine_bedmesh.g ; Call macro to configure the bed mesh

    It's definitely a complicated way to set things up. And without those other macros I can't actually see what else is happening yet.

    I can see why you're having problems with bed leveling though. It's homing everything to the axis max using endstops, including the Z axis. Then it's using a probe for the mesh. The issue arises from the fact that when you're homing with an endstop, especially to the max side or travel, you have a hard time defining the actual position of the bed in relation to the nozzle.

    For example, when you home to Z max and set the axis position as an arbitrary value, say Z300, and then you travel down to Z0, the nozzle will likely not be touching the bed as you would hope. It could be above or below. There is no relation between the two other than the arbitrary value set by homing to Z max. This is where a probe comes in because it allows you to establish an actual bed position and then Z max is based off of that.

    so you can see the problem where you are homing with a Z max endstop and then creating a mesh using the probe. The z max endstop sets an arbitrary value, and the mesh is created with actual bed position. The two may coincide, but you have to get that arbitrary value to match.

    The solution is to home as you are currently using the endstops to get the first rough position, and then use the Z probe to find the true Z0 position, both before running the mesh and again before printing. Then the Z0 position of the mesh you create will match the Z0 position you set during homing before the print. Make sense?

    Currently there is an offset caused by the arbitrary Z max homed position and the true Z0 of the probe.

    The reason it worked before and not now is because of some bugs that were fixed between the versions. The warning that you see now has identified the problem for you so that it can be corrected and the true Z0 position can be used.

    I hope that helps explain what's going on. Once I see those other macros I'll be able to suggest the minor changes needed to get things to produce a properly homed Z axis.

  • Thanks. Machine M3D Promega. Its a CoreXY Motion Platform. Files attached again thank you for looking into this for me.3_1563738051917_machine_zprobe.g 2_1563738051917_machine_zendstop.g 1_1563738051917_machine_bedmesh.g 0_1563738051916_machine_axisdimension.g

  • Moderator

    It's very strange that they set the machine axis dimensions every time the printer is homed. Would love to hear the reasoning behind a lot of their decisions.

    Here is what is in Machine_zprobe

    ; machine_probe.g
    ; June 29, 2018
    ; This document tells the printer which Z probe to use and what the offsets of that probe are.
    ; For X and Y offset, use a caliper and measure the distance between the center of the nozzle
    ; and the part of the probe that measures the bed.
    ; If the probe is to the right of the nozzle, the X value is positive
    ; If the probe is to the left of the nozzle, the X value is negative
    ; If the probe is behind the nozzle, the Y value is positive
    ; If the probe is in front of the nozzle, the Y value is negative
    ; To select which probe to use, comment / uncomment ONE of the two M558 lines below.
    ; Determine the Probe Z Offset:
    ;  1. Heat the bed to 60C and the nozzle to 150C
    ;  2. Move the head near the center with G1 X200 Y200
    ;  3. Move the bed near the nozzle with G1 Z20
    ;  4. Disable the bed mesh with G29 S2
    ;  5. Move the bed in small steps so it just touches the nozzle, 1mm steps first, then 0.1mm steps
    ;  6. Set the Z0 position with G92 Z0
    ;  7. Move the bed back to Z20, with G1 Z20
    ;  8. Deploy the probe if necessary
    ;  9. Get the Z Probe value with G30 S-1
    ; 10. Note the Z value in the Web UI and update it in the G31 Z parameter below
    ; 11. Put the Z probe away if necessary
    ; Toggle by uncommenting, depending on preference
    ; M558 P1 X0 Y0 Z1 H5 F120 T5000 	; Set Z probe type -- Enable IR_PROBE
    M558 P4 I1 X0 Y0 Z1 H5 F100 T5000 	; Set Z probe type -- Enable LIMIT SWITCH
    ; Remember to update your Z-probe offset with the Z parameter below
    ; Follow this guide or the instructions above: http://promega.printm3d.com/books/user-manual/page/bed-leveling-probing#bkmrk-the-limit-switch-pro
    ; G31 P450 X25 Y30 Z10.0 			; Set Z probe (IR) trigger value and offset
    G31 P999 X-52 Y30 Z6.73 				; Set Z probe (limit switch) trigger value, offset

    It looks like you have the option of using either the endstop switch or the Z probe. I suggest modifying that macro to switch to the Z probe and following the steps given for measuring the trigger height and X Y offset.

    Then modifying homeZ to use G30 to probe the bed instead of the endstop like so.

    In homez, this

    ; ============ HOME Z ==============
    ; Rapid Z until limit switch triggers
    G0 Z450 F1500 S1
    ; Back off to release limit switch
    G0 Z-6 F1500
    ; Slow advance to trigger limit switch
    G0 Z10 F120 S1
    M98 Pmachine_zendstop.g ; Set Z Endstop height

    would become this

    G90 ; absolute positioning
    G1 X150 Y150 F6000 ; move probe to bed center. May need to adjust
    G30 ; probe the bed to establish Z0
    G1 Z10 ; return to Z10
    G1 X0 Y0 ; move head back to home position

    Modify those positions as needed.

    In config.g you should remove the G29 S1 ; Load heightmap after power cycle line since loading the heightmap before the Z0 position is defined will throw an error and your homing files load it anyway.

    I think that should get things back into making sense. The homing procedure would be different than you're used to because it would use the Ir probe instead of the endstop, but it should give you a more accurate Z0 position and will work with the mesh.

  • Great thanks for this, I will look into doing this tomorrow evening. I have just one question that is when using the IR Probe I get random measurements using it on a Glass bed, that's why i have always used the z probe switch setup. Even if only selecting one of the probes if the Z=0 is not the same on both will this still not flag up an error. Given that one is on the right of the print head and one on the Left Thanks!0_1563739905581_Head.jpg

  • Moderator

    @qwelldrin_765 said in Duet maestro rollback firmware:

    Given that one is on the right of the print head and one on the Left

    It wouldn't use the switch anymore, only the Ir probe.

    @qwelldrin_765 said in Duet maestro rollback firmware:

    when using the IR Probe I get random measurements using it on a Glass bed,

    That may be a problem. You may be able to place a dark material or paint under the glass, or temporarily cover the bed with a piece of paper to get more consistent results while probing. But yes, IR probes have the downside of needing compatible bed surfaces for best performance.

  • Phaedrux, thank for the help just some tuning to do now.

Log in to reply