Minor bug fixes.

- Bug fix for step and direction invert masks not immediately being in
effect. Now regenerates the masks when a user changes this setting.

- Bug fix for probing cycle. G-code standard mandates that there is an
error if the probe is already triggered when the cycle is commanded.
However, Grbl may have motions to pull off a previous probing cycle in
queue and can falsely lead to errors. To fix this, the triggered check
is performed within the probing cycle itself, right after the planner
buffer is synced. If there is an error, it will now alarm out as a
probe fail.
This commit is contained in:
Sonny Jeon
2014-08-01 08:29:35 -06:00
parent a396adf60e
commit 5c0d311d92
9 changed files with 41 additions and 17 deletions

View File

@ -276,7 +276,14 @@ void mc_homing_cycle()
void mc_probe_cycle(float *target, float feed_rate, uint8_t invert_feed_rate)
#endif
{
protocol_buffer_synchronize(); // Finish all queued commands and empty planner buffer.
// Finish all queued commands and empty planner buffer before starting probe cycle.
protocol_buffer_synchronize();
// After syncing, check if probe is already triggered. If so, halt and issue alarm.
if (probe_get_state()) {
bit_true_atomic(sys.execute, EXEC_CRIT_EVENT);
protocol_execute_runtime();
}
if (sys.abort) { return; } // Return if system reset has been issued.
// Setup and queue probing motion. Auto cycle-start should not start the cycle.