Make sure that cycle_start state is set before simulating steps.
This commit is contained in:
parent
08baabc63c
commit
783100db7d
@ -85,12 +85,13 @@ void sim_stepper() {
|
|||||||
// to let it handle sys.cycle_start etc.
|
// to let it handle sys.cycle_start etc.
|
||||||
if(current_block==NULL) {
|
if(current_block==NULL) {
|
||||||
interrupt_TIMER2_COMPA_vect();
|
interrupt_TIMER2_COMPA_vect();
|
||||||
|
sim_time+= get_step_time();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
while(current_block==plan_get_current_block()) {
|
while(current_block==plan_get_current_block()) {
|
||||||
sim_time+= get_step_time();
|
|
||||||
interrupt_TIMER2_COMPA_vect();
|
interrupt_TIMER2_COMPA_vect();
|
||||||
|
sim_time+= get_step_time();
|
||||||
|
|
||||||
// Check to see if we should print some info
|
// Check to see if we should print some info
|
||||||
if(step_time>0.0) {
|
if(step_time>0.0) {
|
||||||
@ -170,10 +171,17 @@ void printBlock() {
|
|||||||
// Only when plan_synchronize() wait for the whole buffer to clear, the stepper interrupt
|
// Only when plan_synchronize() wait for the whole buffer to clear, the stepper interrupt
|
||||||
// to finish all pending moves.
|
// to finish all pending moves.
|
||||||
void handle_buffer() {
|
void handle_buffer() {
|
||||||
|
if (plan_check_full_buffer() && sys.state != STATE_CYCLE) {
|
||||||
|
// Autostart the cycle, and call st_wake_up()
|
||||||
|
sys.state = STATE_CYCLE;
|
||||||
|
st_wake_up();
|
||||||
|
}
|
||||||
|
|
||||||
// runtime_second_call is reset by serial_write() after every command.
|
// runtime_second_call is reset by serial_write() after every command.
|
||||||
// Only when execute_runtime() is called repeatedly by plan_synchronize()
|
// Only when execute_runtime() is called repeatedly by plan_synchronize()
|
||||||
// runtime_second_call will be incremented above 2
|
// runtime_second_call will be incremented above 2
|
||||||
//printf("handle_buffer()\n");
|
//printf("handle_buffer()\n");
|
||||||
|
|
||||||
if(plan_check_full_buffer() || runtime_second_call>2) {
|
if(plan_check_full_buffer() || runtime_second_call>2) {
|
||||||
sim_stepper(step_out_file);
|
sim_stepper(step_out_file);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user