M558 R parameter changed?



  • Unless I've lost my mind (which is entirely possible), the R parameter used to create a delay between the finish of an XY move and the probe action. This was to allow any XY movement to settle out before probing. When running G30 Pn as part of bed.g this still seems to be the case. When homing though, this seems to affect the dive timing...

    ; homez.g
    G91
    ; Move bed away from nozzle
    G1 H1 Z2 F200
    
    G30
    ; Pause "R" seconds.
    ; Move Z until probe is triggered.
    ; Backs off dive height, then pauses "R" seconds again.
    ; Dives to trigger probe.
    
    ; Move to Z0
    G90
    G1 Z0
    

    It appears that "R" is being used to let "Z" settle now?

    Forgot to add relevant config...

    ; Z-Probe     Precision Piezo Orion
    M574 Z1 S2
    ;              Probe                 Probe  Dive    Travel  Probe
    ;    Pin       Type   Invert  Settle Speed  Height  Speed   Attempts  Tolerance
    M558 C"io8.in" P8     I1      R1     F300   H5.0    T10000  A4        S0.05
    ;   Trigger          Trigger
    ;   Value    Offset  Height
    G31 P300     X0 Y0   Z-0.10
    

  • administrators

    The R parameter is to allow all motion to settle. A G30 move with a P parameter may involve movement in any or all of X, Y and Z. For a Smart Effector and some types of Piezo sensor, the sudden Z deceleration could cause false triggering.

    However, the code doesn't check whether there has been recent moment or deployment, it always inserts the delay.


  • administrators

    For a simple G30 command, the delay should occur between completion of the previous command and the start of the dive. If the probe needs to be deployed, the delay should occur after deployment.



  • @dc42 said in M558 R parameter changed?:

    For a simple G30 command, the delay should occur between completion of the previous command and the start of the dive. If the probe needs to be deployed, the delay should occur after deployment.

    OK, I don't remember it doing that before. Even if there are no other movement commands in homez.g or even when G30 is run from the CodeConsole, it's pausing. The reason I noticed it was because I used to have a G1 H1 Z-450 F1200 before the G30to get the bed to the nozzle quickly and what was happening was the bed would move to the nozzle, trigger the probe, then stay there with the bed in contact with the nozzle for "R" seconds before G30 started the backoff. This was definitely new behavior with the recent endstop changes. I always thought that the "R" parameter was supposed to allow XY to settle, not Z.


  • administrators

    The R parameter is to allow all motion to settle. A G30 move with a P parameter may involve movement in any or all of X, Y and Z. For a Smart Effector and some types of Piezo sensor, the sudden Z deceleration could cause false triggering.

    However, the code doesn't check whether there has been recent moment or deployment, it always inserts the delay.



  • OK, I guess this is a change but not a bug.


  • administrators

    Are you sure the behaviour has changed? There has been no intentional change.



  • @dc42 said in M558 R parameter changed?:

    Are you sure the behaviour has changed? There has been no intentional change.

    Oh yes. It was very noticeable but I'll rebuild RRF without the recent commits and test again.



  • Well, I can't find a combination of commits across projects that will compile so don't worry about it. It was a minor nit and I can work around it easily.


Log in to reply