Parking motion bug fix.
- Parking motion would intermittently complete the queued tool path upon resuming in certain scenarios. Now fixed.
This commit is contained in:
parent
9575199183
commit
965e337405
@ -1,3 +1,12 @@
|
||||
----------------
|
||||
Date: 2015-08-29
|
||||
Author: Sonny Jeon
|
||||
Subject: Optional line number reporting bug fix.
|
||||
|
||||
- Fixed a bug where it would not compile when USE_LINE_NUMBERS was
|
||||
enabled.
|
||||
|
||||
|
||||
----------------
|
||||
Date: 2015-08-27
|
||||
Author: Sonny Jeon
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
// Grbl versioning system
|
||||
#define GRBL_VERSION "1.0b"
|
||||
#define GRBL_VERSION_BUILD "20150829"
|
||||
#define GRBL_VERSION_BUILD "20150902"
|
||||
|
||||
// Define standard libraries used by Grbl.
|
||||
#include <avr/io.h>
|
||||
|
@ -135,7 +135,6 @@ typedef struct {
|
||||
uint8_t last_st_block_index;
|
||||
float last_steps_remaining;
|
||||
float last_step_per_mm;
|
||||
float last_req_mm_increment;
|
||||
float last_dt_remainder;
|
||||
#endif
|
||||
|
||||
@ -551,12 +550,13 @@ static uint8_t st_next_block_index(uint8_t block_index)
|
||||
{
|
||||
// Restore step execution data and flags of partially completed block, if necessary.
|
||||
if (prep.recalculate_flag & PREP_FLAG_HOLD_PARTIAL_BLOCK) {
|
||||
st_prep_block = &st_block_buffer[prep.last_st_block_index];
|
||||
prep.st_block_index = prep.last_st_block_index;
|
||||
prep.steps_remaining = prep.last_steps_remaining;
|
||||
prep.dt_remainder = prep.last_dt_remainder;
|
||||
prep.step_per_mm = prep.last_step_per_mm;
|
||||
st_prep_block = &st_block_buffer[prep.st_block_index];
|
||||
prep.recalculate_flag = (PREP_FLAG_HOLD_PARTIAL_BLOCK | PREP_FLAG_RECALCULATE);
|
||||
prep.req_mm_increment = REQ_MM_INCREMENT_SCALAR/prep.step_per_mm; // Recompute this value.
|
||||
} else {
|
||||
prep.recalculate_flag = false;
|
||||
}
|
||||
@ -597,9 +597,12 @@ void st_prep_buffer()
|
||||
|
||||
// Check if we need to only recompute the velocity profile or load a new block.
|
||||
if (prep.recalculate_flag & PREP_FLAG_RECALCULATE) {
|
||||
|
||||
if (prep.recalculate_flag & PREP_FLAG_PARKING) { prep.recalculate_flag &= ~(PREP_FLAG_RECALCULATE); }
|
||||
else { prep.recalculate_flag = false; }
|
||||
|
||||
} else {
|
||||
|
||||
#else
|
||||
|
||||
// Query planner for a queued block
|
||||
@ -608,12 +611,13 @@ void st_prep_buffer()
|
||||
|
||||
// Check if we need to only recompute the velocity profile or load a new block.
|
||||
if (prep.recalculate_flag & PREP_FLAG_RECALCULATE) {
|
||||
|
||||
prep.recalculate_flag = false;
|
||||
|
||||
#endif
|
||||
|
||||
} else {
|
||||
|
||||
#endif
|
||||
|
||||
// Load the Bresenham stepping data for the block.
|
||||
prep.st_block_index = st_next_block_index(prep.st_block_index);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user