Skip to content

Commit 3854d20

Browse files
chamnitchamnit
authored andcommitted
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.
1 parent a6f6431 commit 3854d20

6 files changed

Lines changed: 26 additions & 0 deletions

File tree

doc/csv/build_option_codes_en_US.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"Z","Homing force origin","Enabled"
88
"H","Homing single axis commands","Enabled"
99
"L","Two limit switches on axis","Enabled"
10+
"A","Allow feed rate overrides in probe cycles","Enabled"
1011
"R","Classic compatibility mode","Enabled"
1112
"*","Restore all EEPROM command","Disabled"
1213
"$","Restore EEPROM `$` settings command","Disabled"

doc/log/commit_log_v1.1.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
----------------
2+
Date: 2016-10-25
3+
Author: chamnit
4+
Subject: Resolved parking accessory handling issue.
5+
6+
- Yikes. Totally borked the last parking “fix”. Testing shows that all
7+
accessories are now properly handled when retracting and restoring. It
8+
was caused by not accounting for the planner re-factoring correctly in
9+
the parking code.
10+
11+
112
----------------
213
Date: 2016-10-24
314
Author: Sonny Jeon

doc/markdown/interface.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,7 @@ Feedback messages provide non-critical information on what Grbl is doing, what i
311311
| **`Z`** | Homing force origin enabled |
312312
| **`H`** | Homing single axis enabled |
313313
| **`L`** | Two limit switches on axis enabled |
314+
| **`A`** | Allow feed rate overrides in probe cycles |
314315
| **`R`** | Classic compatiblity mode enabled |
315316
| **`*`** | Restore all EEPROM disabled |
316317
| **`$`** | Restore EEPROM `$` settings disabled |

grbl/config.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,13 @@
540540
// that any of these commands are used need continuous motions through them.
541541
#define FORCE_BUFFER_SYNC_DURING_WCO_CHANGE // Default enabled. Comment to disable.
542542

543+
// By default, Grbl disables feed rate overrides for all G38.x probe cycle commands. Although this
544+
// may be different than some pro-class machine control, it's arguable that it should be this way.
545+
// Most probe sensors produce different levels of error that is dependent on rate of speed. By
546+
// keeping probing cycles to their programmed feed rates, the probe sensor should be a lot more
547+
// repeatable. If needed, you can disable this behavior by uncommenting the define below.
548+
// #define ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES // Default disabled. Uncomment to enable.
549+
543550
// Enables and configures parking motion methods upon a safety door state. Primarily for OEMs
544551
// that desire this feature for their integrated machines. At the moment, Grbl assumes that
545552
// the parking motion only involves one axis, although the parking implementation was written

grbl/gcode.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,6 +1040,9 @@ uint8_t gc_execute_line(char *line)
10401040
} else {
10411041
// NOTE: gc_block.values.xyz is returned from mc_probe_cycle with the updated position value. So
10421042
// upon a successful probing cycle, the machine position and the returned value should be the same.
1043+
#ifndef ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES
1044+
pl_data->condition |= PL_COND_FLAG_NO_FEED_OVERRIDE;
1045+
#endif
10431046
uint8_t is_probe_away = false;
10441047
uint8_t is_no_error = false;
10451048
if ((gc_state.modal.motion == MOTION_MODE_PROBE_AWAY) || (gc_state.modal.motion == MOTION_MODE_PROBE_AWAY_NO_ERROR)) { is_probe_away = true; }

grbl/report.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -569,6 +569,9 @@ void report_build_info(char *line)
569569
#ifdef LIMITS_TWO_SWITCHES_ON_AXES
570570
serial_write('L');
571571
#endif
572+
#ifdef ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES
573+
serial_write('A');
574+
#endif
572575
#ifdef USE_CLASSIC_GRBL_INTERFACE
573576
serial_write('R');
574577
#endif

0 commit comments

Comments
 (0)