|
@@ -10530,7 +10530,7 @@ void uvlo_()
|
|
|
|
|
|
// save the global state at planning time
|
|
|
uint16_t feedrate_bckp;
|
|
|
- if (blocks_queued())
|
|
|
+ if (current_block)
|
|
|
{
|
|
|
memcpy(saved_target, current_block->gcode_target, sizeof(saved_target));
|
|
|
feedrate_bckp = current_block->gcode_feedrate;
|
|
@@ -10799,10 +10799,13 @@ void recover_print(uint8_t automatic) {
|
|
|
// Recover position, temperatures and extrude_multipliers
|
|
|
bool mbl_was_active = recover_machine_state_after_power_panic();
|
|
|
|
|
|
- // Attempt to lift the print head on the first recovery, so one may remove the excess priming material.
|
|
|
- bool raise_z = (eeprom_read_byte((uint8_t*)EEPROM_UVLO) == 1);
|
|
|
- if(raise_z && (current_position[Z_AXIS]<25))
|
|
|
- enquecommand_P(PSTR("G1 Z25 F800"));
|
|
|
+ // Lift the print head 25mm, first to avoid collisions with oozed material with the print,
|
|
|
+ // and second also so one may remove the excess priming material.
|
|
|
+ if(eeprom_read_byte((uint8_t*)EEPROM_UVLO) == 1)
|
|
|
+ {
|
|
|
+ sprintf_P(cmd, PSTR("G1 Z%.3f F800"), current_position[Z_AXIS] + 25);
|
|
|
+ enquecommand(cmd);
|
|
|
+ }
|
|
|
|
|
|
// Home X and Y axes. Homing just X and Y shall not touch the babystep and the world2machine
|
|
|
// transformation status. G28 will not touch Z when MBL is off.
|
|
@@ -11130,7 +11133,7 @@ void stop_and_save_print_to_ram(float z_move, float e_move)
|
|
|
#endif
|
|
|
|
|
|
// save the global state at planning time
|
|
|
- if (blocks_queued())
|
|
|
+ if (current_block)
|
|
|
{
|
|
|
memcpy(saved_target, current_block->gcode_target, sizeof(saved_target));
|
|
|
saved_feedrate2 = current_block->gcode_feedrate;
|