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;
|
block->busy = true;
|
||||||
return(block);
|
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
|
#endif
|
||||||
|
@ -706,22 +706,17 @@ void st_init()
|
|||||||
sei();
|
sei();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TEMPORARY_Z_HOME_SOUND_FIX
|
|
||||||
#ifdef TEMPORARY_Z_HOME_SOUND_FIX
|
#include <util/delay.h>
|
||||||
#include <util/delay.h>
|
|
||||||
#endif
|
|
||||||
// Block until all buffered steps are executed
|
// Block until all buffered steps are executed
|
||||||
void st_synchronize()
|
void st_synchronize()
|
||||||
{
|
{
|
||||||
while(plan_get_current_block()) {
|
while(current_block!=0 || blocks_queued()) {
|
||||||
manage_heater();
|
manage_heater();
|
||||||
manage_inactivity(1);
|
manage_inactivity(1);
|
||||||
LCD_STATUS;
|
LCD_STATUS;
|
||||||
#ifdef TEMPORARY_Z_HOME_SOUND_FIX
|
//_delay_ms(1);
|
||||||
_delay_ms(200);
|
}
|
||||||
_delay_ms(200);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void st_set_position(const long &x, const long &y, const long &z, const long &e)
|
void st_set_position(const long &x, const long &y, const long &z, const long &e)
|
||||||
|
Loading…
Reference in New Issue
Block a user