Inhibit serial processing in uvlo_
Do not process serial commands when re-enabling the global isr. While printing via USB and a power panic is triggered, *any* extra command should be ignored. Abuse the "saved_printing" variable to inhibit serial processing.
This commit is contained in:
parent
e8f05d0668
commit
8437630122
1 changed files with 10 additions and 7 deletions
|
@ -10551,15 +10551,18 @@ void uvlo_()
|
|||
// Store the current extruder position.
|
||||
eeprom_update_float((float*)(EEPROM_UVLO_CURRENT_POSITION_E), current_position[E_AXIS]);
|
||||
eeprom_update_byte((uint8_t*)EEPROM_UVLO_E_ABS, axis_relative_modes[3]?0:1);
|
||||
// Clean the input command queue.
|
||||
|
||||
// Clean the input command queue, inhibit serial processing using saved_printing
|
||||
cmdqueue_reset();
|
||||
card.sdprinting = false;
|
||||
// card.closefile();
|
||||
// Enable stepper driver interrupt to move Z axis.
|
||||
// This should be fine as the planner and command queues are empty and the SD card printing is disabled.
|
||||
//FIXME one may want to disable serial lines at this point of time to avoid interfering with the command queue,
|
||||
// though it should not happen that the command queue is touched as the plan_buffer_line always succeed without blocking.
|
||||
sei();
|
||||
// card.closefile();
|
||||
saved_printing = true;
|
||||
|
||||
// Enable stepper driver interrupt to move Z axis. This should be fine as the planner and
|
||||
// command queues are empty, SD card printing is disabled, usb is inhibited.
|
||||
sei();
|
||||
|
||||
// retract
|
||||
plan_buffer_line(
|
||||
current_position[X_AXIS],
|
||||
current_position[Y_AXIS],
|
||||
|
|
Loading…
Add table
Reference in a new issue