Mandate all probe cycles ignore feed overrides.
- For repeatability reasons, all G38.x probe cycles ignore feed rate overrides and move at their programmed speed. - The mandate can be removed with a new config.h option. - Updated the documentation to reflect the change.
This commit is contained in:
		@@ -540,6 +540,13 @@
 | 
			
		||||
// that any of these commands are used need continuous motions through them.
 | 
			
		||||
#define FORCE_BUFFER_SYNC_DURING_WCO_CHANGE // Default enabled. Comment to disable.
 | 
			
		||||
 | 
			
		||||
// By default, Grbl disables feed rate overrides for all G38.x probe cycle commands. Although this
 | 
			
		||||
// may be different than some pro-class machine control, it's arguable that it should be this way. 
 | 
			
		||||
// Most probe sensors produce different levels of error that is dependent on rate of speed. By 
 | 
			
		||||
// keeping probing cycles to their programmed feed rates, the probe sensor should be a lot more
 | 
			
		||||
// repeatable. If needed, you can disable this behavior by uncommenting the define below.
 | 
			
		||||
// #define ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES // Default disabled. Uncomment to enable.
 | 
			
		||||
 | 
			
		||||
// Enables and configures parking motion methods upon a safety door state. Primarily for OEMs
 | 
			
		||||
// that desire this feature for their integrated machines. At the moment, Grbl assumes that
 | 
			
		||||
// the parking motion only involves one axis, although the parking implementation was written
 | 
			
		||||
 
 | 
			
		||||
@@ -1040,6 +1040,9 @@ uint8_t gc_execute_line(char *line)
 | 
			
		||||
      } else {
 | 
			
		||||
        // NOTE: gc_block.values.xyz is returned from mc_probe_cycle with the updated position value. So
 | 
			
		||||
        // upon a successful probing cycle, the machine position and the returned value should be the same.
 | 
			
		||||
        #ifndef ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES
 | 
			
		||||
          pl_data->condition |= PL_COND_FLAG_NO_FEED_OVERRIDE;
 | 
			
		||||
        #endif
 | 
			
		||||
        uint8_t is_probe_away = false;
 | 
			
		||||
        uint8_t is_no_error = false;
 | 
			
		||||
        if ((gc_state.modal.motion == MOTION_MODE_PROBE_AWAY) || (gc_state.modal.motion == MOTION_MODE_PROBE_AWAY_NO_ERROR)) { is_probe_away = true; }
 | 
			
		||||
 
 | 
			
		||||
@@ -569,6 +569,9 @@ void report_build_info(char *line)
 | 
			
		||||
    #ifdef LIMITS_TWO_SWITCHES_ON_AXES
 | 
			
		||||
      serial_write('L');
 | 
			
		||||
    #endif
 | 
			
		||||
    #ifdef ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES
 | 
			
		||||
      serial_write('A');
 | 
			
		||||
    #endif
 | 
			
		||||
    #ifdef USE_CLASSIC_GRBL_INTERFACE
 | 
			
		||||
      serial_write('R');
 | 
			
		||||
    #endif
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user