fixed the st_synchronize. it would have continued if there is only the last move of the buffer being stepped.
This commit is contained in:
parent
754d2d69b2
commit
61c943b4bf
|
@ -130,4 +130,14 @@ FORCE_INLINE block_t *plan_get_current_block()
|
|||
block->busy = true;
|
||||
return(block);
|
||||
}
|
||||
|
||||
// Gets the current block. Returns NULL if buffer empty
|
||||
FORCE_INLINE bool blocks_queued()
|
||||
{
|
||||
if (block_buffer_head == block_buffer_tail) {
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -706,22 +706,17 @@ void st_init()
|
|||
sei();
|
||||
}
|
||||
|
||||
#define TEMPORARY_Z_HOME_SOUND_FIX
|
||||
#ifdef TEMPORARY_Z_HOME_SOUND_FIX
|
||||
#include <util/delay.h>
|
||||
#endif
|
||||
|
||||
#include <util/delay.h>
|
||||
// Block until all buffered steps are executed
|
||||
void st_synchronize()
|
||||
{
|
||||
while(plan_get_current_block()) {
|
||||
while(current_block!=0 || blocks_queued()) {
|
||||
manage_heater();
|
||||
manage_inactivity(1);
|
||||
LCD_STATUS;
|
||||
#ifdef TEMPORARY_Z_HOME_SOUND_FIX
|
||||
_delay_ms(200);
|
||||
_delay_ms(200);
|
||||
#endif
|
||||
}
|
||||
//_delay_ms(1);
|
||||
}
|
||||
}
|
||||
|
||||
void st_set_position(const long &x, const long &y, const long &z, const long &e)
|
||||
|
|
Loading…
Reference in a new issue