changed Z axis recovery in power panic

This commit is contained in:
PavelSindler 2017-07-06 17:09:35 +02:00
parent 8ceca8b9c6
commit 21f068b37a

View file

@ -6914,7 +6914,9 @@ void recover_print() {
target_temperature[active_extruder] = eeprom_read_byte((uint8_t*)EEPROM_UVLO_TARGET_HOTEND); target_temperature[active_extruder] = eeprom_read_byte((uint8_t*)EEPROM_UVLO_TARGET_HOTEND);
target_temperature_bed = eeprom_read_byte((uint8_t*)EEPROM_UVLO_TARGET_BED); target_temperature_bed = eeprom_read_byte((uint8_t*)EEPROM_UVLO_TARGET_BED);
float z_pos = UVLO_Z_AXIS_SHIFT + eeprom_read_float((float*)(EEPROM_UVLO_CURRENT_POSITION_Z)); float z_pos = eeprom_read_float((float*)(EEPROM_UVLO_CURRENT_POSITION_Z));
z_pos = z_pos + UVLO_Z_AXIS_SHIFT;
SERIAL_ECHOPGM("Target temperature:"); SERIAL_ECHOPGM("Target temperature:");
MYSERIAL.println(target_temperature[0]); MYSERIAL.println(target_temperature[0]);
@ -6942,7 +6944,7 @@ void recover_print() {
} }
void restore_print_from_eeprom() { void restore_print_from_eeprom() {
float x_rec, y_rec; float x_rec, y_rec, z_pos;
int feedrate_rec; int feedrate_rec;
uint8_t fan_speed_rec; uint8_t fan_speed_rec;
char cmd[30]; char cmd[30];
@ -6951,6 +6953,7 @@ void restore_print_from_eeprom() {
char str[5] = ".gco"; char str[5] = ".gco";
x_rec = eeprom_read_float((float*)(EEPROM_UVLO_CURRENT_POSITION + 0)); x_rec = eeprom_read_float((float*)(EEPROM_UVLO_CURRENT_POSITION + 0));
y_rec = eeprom_read_float((float*)(EEPROM_UVLO_CURRENT_POSITION + 4)); y_rec = eeprom_read_float((float*)(EEPROM_UVLO_CURRENT_POSITION + 4));
z_pos = eeprom_read_float((float*)(EEPROM_UVLO_CURRENT_POSITION_Z));
fan_speed_rec = eeprom_read_byte((uint8_t*)EEPROM_UVLO_FAN_SPEED); fan_speed_rec = eeprom_read_byte((uint8_t*)EEPROM_UVLO_FAN_SPEED);
EEPROM_read_B(EEPROM_UVLO_FEEDRATE, &feedrate_rec); EEPROM_read_B(EEPROM_UVLO_FEEDRATE, &feedrate_rec);
SERIAL_ECHOPGM("Feedrate:"); SERIAL_ECHOPGM("Feedrate:");
@ -6974,16 +6977,16 @@ void restore_print_from_eeprom() {
sprintf_P(cmd, PSTR("M26 S%lu"), position); sprintf_P(cmd, PSTR("M26 S%lu"), position);
enquecommand(cmd); enquecommand(cmd);
//enquecommand_P(PSTR("M83")); //E axis relative mode enquecommand_P(PSTR("M83")); //E axis relative mode
strcpy(cmd, "G1 X"); strcpy(cmd, "G1 X");
strcat(cmd, ftostr32(x_rec)); strcat(cmd, ftostr32(x_rec));
strcat(cmd, " Y"); strcat(cmd, " Y");
strcat(cmd, ftostr32(y_rec)); strcat(cmd, ftostr32(y_rec));
enquecommand(cmd); enquecommand(cmd);
enquecommand_P(PSTR("G91")); //use relative coordinates strcpy(cmd, "G1 Z");
enquecommand_P(PSTR("G1 Z" STRINGIFY(-UVLO_Z_AXIS_SHIFT))); strcat(cmd, ftostr43(z_pos));
enquecommand_P(PSTR("G90")); //use absolute coordinates enquecommand(cmd);
enquecommand_P(PSTR("M83")); //E axis relative mode
enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION)" F480")); enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION)" F480"));
enquecommand_P(PSTR("G1 E0.5")); enquecommand_P(PSTR("G1 E0.5"));
sprintf_P(cmd, PSTR("G1 F%d"), feedrate_rec); sprintf_P(cmd, PSTR("G1 F%d"), feedrate_rec);