Hot fix for rare lowering feed override bug.
[fix] Squashed a very rare bug when lowering the feedrate (or rapid) override. When in the very strict set of circumstances with acceleration settings, override step size, and current speed, an internal calculation would cause Grbl to crash. The fix was an overlooked equality statement that should have been a less than or equal, not a less than.
This commit is contained in:
parent
921e5a9799
commit
477a94cd49
3 changed files with 14 additions and 2 deletions
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
// Grbl versioning system
|
||||
#define GRBL_VERSION "1.1f"
|
||||
#define GRBL_VERSION_BUILD "20170717"
|
||||
#define GRBL_VERSION_BUILD "20170731"
|
||||
|
||||
// Define standard libraries used by Grbl.
|
||||
#include <avr/io.h>
|
||||
|
|
|
|||
|
|
@ -808,7 +808,7 @@ void st_prep_buffer()
|
|||
speed_var = pl_block->acceleration*time_var;
|
||||
mm_var = time_var*(prep.current_speed - 0.5*speed_var);
|
||||
mm_remaining -= mm_var;
|
||||
if ((mm_remaining < prep.accelerate_until) || (mm_var <= 0)) {
|
||||
if ((mm_remaining <= prep.accelerate_until) || (mm_var <= 0.0)) {
|
||||
// Cruise or cruise-deceleration types only for deceleration override.
|
||||
mm_remaining = prep.accelerate_until; // NOTE: 0.0 at EOB
|
||||
time_var = 2.0*(pl_block->millimeters-mm_remaining)/(prep.current_speed+prep.maximum_speed);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue