DDA: clear flags of a queue entry earlier.
Formerly, once a wait for temp was given, this flag would stick forever on this queue entry. Spotted by Zungmann, thanks a lot! http://forums.reprap.org/read.php?147,33082,280439#msg-280439
This commit is contained in:
parent
793a04b991
commit
95a44e8777
5
dda.c
5
dda.c
|
|
@ -115,16 +115,11 @@ void dda_create(DDA *dda, TARGET *target) {
|
|||
if (dda->waitfor_temp)
|
||||
return;
|
||||
|
||||
// Initialise DDA to a known state. This also clears flags like
|
||||
// dda->live, dda->done and dda->wait_for_temp.
|
||||
dda->allflags = 0;
|
||||
|
||||
if (DEBUG_DDA && (debug_flags & DEBUG_DDA))
|
||||
sersendf_P(PSTR("\nCreate: X %lq Y %lq Z %lq F %lu\n"),
|
||||
dda->endpoint.X, dda->endpoint.Y,
|
||||
dda->endpoint.Z, dda->endpoint.F);
|
||||
|
||||
|
||||
// we end at the passed target
|
||||
memcpy(&(dda->endpoint), target, sizeof(TARGET));
|
||||
|
||||
|
|
|
|||
|
|
@ -113,6 +113,10 @@ void enqueue_home(TARGET *t, uint8_t endstop_check, uint8_t endstop_stop_cond) {
|
|||
|
||||
DDA* new_movebuffer = &(movebuffer[h]);
|
||||
|
||||
// Initialise queue entry to a known state. This also clears flags like
|
||||
// dda->live, dda->done and dda->wait_for_temp.
|
||||
new_movebuffer->allflags = 0;
|
||||
|
||||
if (t != NULL) {
|
||||
new_movebuffer->endstop_check = endstop_check;
|
||||
new_movebuffer->endstop_stop_cond = endstop_stop_cond;
|
||||
|
|
|
|||
Loading…
Reference in New Issue