|
@@ -297,6 +297,17 @@ byte b[2];
|
|
int value;
|
|
int value;
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+//used for PINDA temp calibration and pause print
|
|
|
|
+#define DEFAULT_RETRACTION 1
|
|
|
|
+#define DEFAULT_RETRACTION_MM 4 //MM
|
|
|
|
+
|
|
|
|
+#ifdef SNMM_V2
|
|
|
|
+float default_retraction = DEFAULT_RETRACTION;
|
|
|
|
+#else //SNMM_V2
|
|
|
|
+float default_retraction = DEFAULT_RETRACTION_MM;
|
|
|
|
+#endif //SNMM_V2
|
|
|
|
+
|
|
|
|
+
|
|
float homing_feedrate[] = HOMING_FEEDRATE;
|
|
float homing_feedrate[] = HOMING_FEEDRATE;
|
|
// Currently only the extruder axis may be switched to a relative mode.
|
|
// Currently only the extruder axis may be switched to a relative mode.
|
|
// Other axes are always absolute or relative based on the common relative_mode flag.
|
|
// Other axes are always absolute or relative based on the common relative_mode flag.
|
|
@@ -672,12 +683,12 @@ void crashdet_disable()
|
|
|
|
|
|
void crashdet_stop_and_save_print()
|
|
void crashdet_stop_and_save_print()
|
|
{
|
|
{
|
|
- stop_and_save_print_to_ram(10, -DEFAULT_RETRACTION); //XY - no change, Z 10mm up, E -1mm retract
|
|
|
|
|
|
+ stop_and_save_print_to_ram(10, -default_retraction); //XY - no change, Z 10mm up, E -1mm retract
|
|
}
|
|
}
|
|
|
|
|
|
void crashdet_restore_print_and_continue()
|
|
void crashdet_restore_print_and_continue()
|
|
{
|
|
{
|
|
- restore_print_from_ram_and_continue(DEFAULT_RETRACTION); //XYZ = orig, E +1mm unretract
|
|
|
|
|
|
+ restore_print_from_ram_and_continue(default_retraction); //XYZ = orig, E +1mm unretract
|
|
// babystep_apply();
|
|
// babystep_apply();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -4611,7 +4622,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
|
// SERIAL_ECHOLNPGM("Go home finished");
|
|
// SERIAL_ECHOLNPGM("Go home finished");
|
|
//unretract (after PINDA preheat retraction)
|
|
//unretract (after PINDA preheat retraction)
|
|
if (degHotend(active_extruder) > EXTRUDE_MINTEMP && temp_cal_active == true && calibration_status_pinda() == true && target_temperature_bed >= 50) {
|
|
if (degHotend(active_extruder) > EXTRUDE_MINTEMP && temp_cal_active == true && calibration_status_pinda() == true && target_temperature_bed >= 50) {
|
|
- current_position[E_AXIS] += DEFAULT_RETRACTION;
|
|
|
|
|
|
+ current_position[E_AXIS] += default_retraction;
|
|
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
|
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
|
}
|
|
}
|
|
KEEPALIVE_STATE(NOT_BUSY);
|
|
KEEPALIVE_STATE(NOT_BUSY);
|
|
@@ -7980,7 +7991,7 @@ void temp_compensation_start() {
|
|
custom_message_state = PINDA_HEAT_T + 1;
|
|
custom_message_state = PINDA_HEAT_T + 1;
|
|
lcd_update(2);
|
|
lcd_update(2);
|
|
if (degHotend(active_extruder) > EXTRUDE_MINTEMP) {
|
|
if (degHotend(active_extruder) > EXTRUDE_MINTEMP) {
|
|
- current_position[E_AXIS] -= DEFAULT_RETRACTION;
|
|
|
|
|
|
+ current_position[E_AXIS] -= default_retraction;
|
|
}
|
|
}
|
|
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
|
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
|
|
|
|
|
@@ -8119,7 +8130,7 @@ void long_pause() //long pause print
|
|
pause_lastpos[E_AXIS] = current_position[E_AXIS];
|
|
pause_lastpos[E_AXIS] = current_position[E_AXIS];
|
|
|
|
|
|
//retract
|
|
//retract
|
|
- current_position[E_AXIS] -= DEFAULT_RETRACTION;
|
|
|
|
|
|
+ current_position[E_AXIS] -= default_retraction;
|
|
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
|
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
|
|
|
|
|
//lift z
|
|
//lift z
|
|
@@ -8218,7 +8229,7 @@ void uvlo_()
|
|
current_position[X_AXIS],
|
|
current_position[X_AXIS],
|
|
current_position[Y_AXIS],
|
|
current_position[Y_AXIS],
|
|
current_position[Z_AXIS],
|
|
current_position[Z_AXIS],
|
|
- current_position[E_AXIS] - DEFAULT_RETRACTION,
|
|
|
|
|
|
+ current_position[E_AXIS] - default_retraction,
|
|
95, active_extruder);
|
|
95, active_extruder);
|
|
|
|
|
|
st_synchronize();
|
|
st_synchronize();
|
|
@@ -8228,7 +8239,7 @@ void uvlo_()
|
|
current_position[X_AXIS],
|
|
current_position[X_AXIS],
|
|
current_position[Y_AXIS],
|
|
current_position[Y_AXIS],
|
|
current_position[Z_AXIS] + UVLO_Z_AXIS_SHIFT + float((1024 - z_microsteps + 7) >> 4) / axis_steps_per_unit[Z_AXIS],
|
|
current_position[Z_AXIS] + UVLO_Z_AXIS_SHIFT + float((1024 - z_microsteps + 7) >> 4) / axis_steps_per_unit[Z_AXIS],
|
|
- current_position[E_AXIS] - DEFAULT_RETRACTION,
|
|
|
|
|
|
+ current_position[E_AXIS] - default_retraction,
|
|
40, active_extruder);
|
|
40, active_extruder);
|
|
|
|
|
|
st_synchronize();
|
|
st_synchronize();
|
|
@@ -8238,7 +8249,7 @@ void uvlo_()
|
|
current_position[X_AXIS],
|
|
current_position[X_AXIS],
|
|
current_position[Y_AXIS],
|
|
current_position[Y_AXIS],
|
|
current_position[Z_AXIS] + UVLO_Z_AXIS_SHIFT + float((1024 - z_microsteps + 7) >> 4) / axis_steps_per_unit[Z_AXIS],
|
|
current_position[Z_AXIS] + UVLO_Z_AXIS_SHIFT + float((1024 - z_microsteps + 7) >> 4) / axis_steps_per_unit[Z_AXIS],
|
|
- current_position[E_AXIS] - DEFAULT_RETRACTION,
|
|
|
|
|
|
+ current_position[E_AXIS] - default_retraction,
|
|
40, active_extruder);
|
|
40, active_extruder);
|
|
st_synchronize();
|
|
st_synchronize();
|
|
disable_e0();
|
|
disable_e0();
|
|
@@ -8432,7 +8443,7 @@ void recover_print(uint8_t automatic) {
|
|
if(automatic == 0){
|
|
if(automatic == 0){
|
|
enquecommand_P(PSTR("G1 E5 F120")); //Extrude some filament to stabilize pessure
|
|
enquecommand_P(PSTR("G1 E5 F120")); //Extrude some filament to stabilize pessure
|
|
}
|
|
}
|
|
- enquecommand_P(PSTR("G1 E" STRINGIFY(-DEFAULT_RETRACTION)" F480"));
|
|
|
|
|
|
+ enquecommand_P(PSTR("G1 E" STRINGIFY(-default_retraction)" F480"));
|
|
|
|
|
|
printf_P(_N("After waiting for temp:\nCurrent pos X_AXIS:%.3f\nCurrent pos Y_AXIS:%.3f\n"), current_position[X_AXIS], current_position[Y_AXIS]);
|
|
printf_P(_N("After waiting for temp:\nCurrent pos X_AXIS:%.3f\nCurrent pos Y_AXIS:%.3f\n"), current_position[X_AXIS], current_position[Y_AXIS]);
|
|
|
|
|
|
@@ -8570,7 +8581,7 @@ void restore_print_from_eeprom() {
|
|
strcpy_P(cmd, PSTR("G1 Z")); strcat(cmd, ftostr32(eeprom_read_float((float*)(EEPROM_UVLO_CURRENT_POSITION_Z))));
|
|
strcpy_P(cmd, PSTR("G1 Z")); strcat(cmd, ftostr32(eeprom_read_float((float*)(EEPROM_UVLO_CURRENT_POSITION_Z))));
|
|
enquecommand(cmd);
|
|
enquecommand(cmd);
|
|
// Unretract.
|
|
// Unretract.
|
|
- enquecommand_P(PSTR("G1 E" STRINGIFY(2*DEFAULT_RETRACTION)" F480"));
|
|
|
|
|
|
+ enquecommand_P(PSTR("G1 E" STRINGIFY(2*default_retraction)" F480"));
|
|
// Set the feedrate saved at the power panic.
|
|
// Set the feedrate saved at the power panic.
|
|
sprintf_P(cmd, PSTR("G1 F%d"), feedrate_rec);
|
|
sprintf_P(cmd, PSTR("G1 F%d"), feedrate_rec);
|
|
enquecommand(cmd);
|
|
enquecommand(cmd);
|