M400 ignored in bed.g



  • DSF: 1.1.0.5
    RRF: 3.0-beta11+latest homing fixes

    When I do a bed level via G32 S3, M400 commands seem to be ignored...

    With the following bed.g, the M400 near the end is ignored and the G29 S1
    command to load the heightmap is run directly after the G29 S2 command which clears it. This happens before any moves are actually executed.

    ; bed.g
    ; called to perform automatic bed compensation via G32
    M561
    G29 S2
    G1 Z5
    G1 X0 Y13 F6000
    G30 P0 X0 Y13 Z-99999 ; probe near a leadscrew
    G1 X238 Y450 F6000
    G30 P1 X238 Y450 Z-99999 ; probe near a leadscrew
    G1 X460 Y13 F6000
    G30 P2 X460 Y13 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors
    G1 X0 Y0 F3600
    M400
    G29 S1
    

    DuetControlServer log:
    dcs.txt



  • Hi,

    Why do you have those G1 commands moving to the point you are about to probe?

    Frederick



  • I don't believe you want to be loading your heightmap in your bed.g file...better to add that to the start-up script in your slicer.

    Granted, I'm not on RRF 3.xx firmware but still 2.03 but this is my entire bed.g

    G28 ; home
    M561 ; clear any bed transform
    G30 P0 X28.5 Y160 Z-99999 ; probe near left leadscrew
    G30 P1 X311.5 Y284 Z-99999 ; probe near rear right leadscrew
    G30 P2 X311.5 Y31 Z-99999 S3 ; probe near front right leadscrew

    You want to normally home your printer first before doing the leadscrew probing and have it probe in the center of the bed to properly establish a good z=0 point before the bed leveling occurs.



  • @fcwilt , @JamesM I appreciate your feedback but this is less about bed levelling methodology and more about the fact that M400 is ignored in bed.g in RRF3.



  • @gtj0 said in M400 ignored in bed.g:

    @fcwilt , @JamesM I appreciate your feedback but this is less about bed levelling methodology and more about the fact that M400 is ignored in bed.g in RRF3.

    Understood.

    Why do you want to use that M400 command?

    Frederick


  • administrators

    @gtj0 said in M400 ignored in bed.g:

    @fcwilt , @JamesM I appreciate your feedback but this is less about bed levelling methodology and more about the fact that M400 is ignored in bed.g in RRF3.

    I asked chrishamm to look at this, because if it can be reproduced then it's likely to be an issue with how DSF and RRF interact.



  • @fcwilt said in M400 ignored in bed.g:

    @gtj0 said in M400 ignored in bed.g:

    @fcwilt , @JamesM I appreciate your feedback but this is less about bed levelling methodology and more about the fact that M400 is ignored in bed.g in RRF3.

    Understood.

    Why do you want to use that M400 command?

    Frederick

    At the beginning of the macro, I want to disable the heightmap before levelling, then when the levelling is complete, reload the heightmap. Unfortunately, both G29 commands are being run before the levelling even starts, even with the M400 after all the move commands are complete.



  • @gtj0 said in M400 ignored in bed.g:

    At the beginning of the macro, I want to disable the heightmap before levelling, then when the levelling is complete, reload the heightmap. Unfortunately, both G29 commands are being run before the levelling even starts, even with the M400 after all the move commands are complete.

    Sounds like there is more fundamental problem. I don't see why the G29 commands are executed in the existing order.

    Be interested to see what dc42 finds.

    I'm not using v3 so I cannot test this myself, but perhaps you could try putting the two G29 commands and the G32 command in a macro as a work around.

    Thanks.

    Frederick


Log in to reply