Help with M577 not acting on Z endstop using BLTouch



  • Hi,

    I cant get M577 to pick up my BLTouch output.

    I'm running 2.02RC2(RTOS) (2018-09-07b2) on a duet wifi and I have a BLTouch probe being used as Z endstop which all works fine.

    On power up I want to check the BLTouch wiring so I've created a macro to tell the BLTouch to change its output state while I test it with M577.

    Looking in machine properties my Z endstop says not triggered normally and after sending the BLTouch command to set the output triggered it says the Z endstop is triggered and the Z probe changes to 1000.

    M577 does not pick up the endstop changing so the macro hangs, this also happens just entering M577 into the GCode console.

    Changing my macro to work using the X endstop works correctly, I've tested that it works with the endstop when its already in the triggered state in case M577 was edge triggered.

    Can M577 be used with the Z probe? (S3 mentions a Zprobe)

    Is there a better way to test the BLTouch on power up?

    My macro (although I've narrowed it down to M577 Z S1/2/3 hanging)

    M280 P3 S90 I1 ; retract probe
    G4 P100 ;
    M280 P3 S60 I1 ; set bltouch output 1000
    G4 P100 ;
    M117 wait for triggered
    M577 Z S2 ; tried S1/2/3
    M280 P3 S90 I1 ; retract bltouch (output 0)
    G4 P100 ;
    M117 wait for not triggered
    M577 Z S0 ;
    M117 done


  • administrators

    A BLTouch is not the same as a Z endstop, so M577 Z will not wait for it. M577 can't currently be used with a Z probe. You may be able to use M583.



  • Thanks, unfortunately I get command not supported.

    3:03:37 PM M583
    Warning: M583 command is not supported

    Otherwise it looks like what I'd like
    M583 P33 R1000 S200, wait for a value of 800-1200 on pin 33.

    I've had a look for pin numbering and couldn't find the pin for Z_PROBE in the wiring diagrams or using IO pins section.
    I've looked at the source code for DuetNG and found
    // Analogue pin numbers
    constexpr Pin Z_PROBE_PIN = 33;
    Is this where I should be looking for pin numbers?



  • Preferably I'd use M583 but perhaps I could jumper the BLTouch pin to one of the extra end stop pins on the expansion connector, I think I saw a post from you saying that the extra endstops are disabled and used for chip selects now though?


  • administrators

    It looks like someone (not me) added M583 to the wiki, intending to implement it, but never did it. I'll remove the wiki entry.


Log in to reply