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
|
Date: 2015-08-27
|
||||||
Author: Sonny Jeon
|
Author: Sonny Jeon
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
// Grbl versioning system
|
// Grbl versioning system
|
||||||
#define GRBL_VERSION "1.0b"
|
#define GRBL_VERSION "1.0b"
|
||||||
#define GRBL_VERSION_BUILD "20150829"
|
#define GRBL_VERSION_BUILD "20150902"
|
||||||
|
|
||||||
// Define standard libraries used by Grbl.
|
// Define standard libraries used by Grbl.
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
|
@ -135,7 +135,6 @@ typedef struct {
|
|||||||
uint8_t last_st_block_index;
|
uint8_t last_st_block_index;
|
||||||
float last_steps_remaining;
|
float last_steps_remaining;
|
||||||
float last_step_per_mm;
|
float last_step_per_mm;
|
||||||
float last_req_mm_increment;
|
|
||||||
float last_dt_remainder;
|
float last_dt_remainder;
|
||||||
#endif
|
#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.
|
// Restore step execution data and flags of partially completed block, if necessary.
|
||||||
if (prep.recalculate_flag & PREP_FLAG_HOLD_PARTIAL_BLOCK) {
|
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.st_block_index = prep.last_st_block_index;
|
||||||
prep.steps_remaining = prep.last_steps_remaining;
|
prep.steps_remaining = prep.last_steps_remaining;
|
||||||
prep.dt_remainder = prep.last_dt_remainder;
|
prep.dt_remainder = prep.last_dt_remainder;
|
||||||
prep.step_per_mm = prep.last_step_per_mm;
|
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.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 {
|
} else {
|
||||||
prep.recalculate_flag = false;
|
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.
|
// 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_RECALCULATE) {
|
||||||
|
|
||||||
if (prep.recalculate_flag & PREP_FLAG_PARKING) { 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 { prep.recalculate_flag = false; }
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
// Query planner for a queued block
|
// 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.
|
// 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_RECALCULATE) {
|
||||||
|
|
||||||
prep.recalculate_flag = false;
|
prep.recalculate_flag = false;
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// Load the Bresenham stepping data for the block.
|
// Load the Bresenham stepping data for the block.
|
||||||
prep.st_block_index = st_next_block_index(prep.st_block_index);
|
prep.st_block_index = st_next_block_index(prep.st_block_index);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user