added retraction to preheat, no waiting when running mesh bed leveling from calibration menu

This commit is contained in:
PavelSindler 2017-04-06 13:14:30 +02:00
parent af962b7473
commit abadaa5885
5 changed files with 20 additions and 5 deletions

View file

@ -2894,9 +2894,9 @@ void process_commands()
repeatcommand_front(); // repeat G80 with all its parameters
enquecommand_front_P((PSTR("G28 W0")));
break;
}
}
if (run == false) {
if (run == false && card.sdprinting == true) {
temp_compensation_start();
run = true;
repeatcommand_front(); // repeat G80 with all its parameters
@ -3108,6 +3108,11 @@ void process_commands()
SERIAL_ECHOLNPGM("Mesh bed leveling activated");
go_home_with_z_lift();
SERIAL_ECHOLNPGM("Go home finished");
//unretract (after PINDA preheat retraction)
if (card.sdprinting == true && degHotend(active_extruder) > EXTRUDE_MINTEMP) {
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);
}
// Restore custom message state
custom_message = custom_message_old;
custom_message_type = custom_message_type_old;
@ -6208,6 +6213,9 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_
#endif
void temp_compensation_start() {
if (degHotend(active_extruder)>EXTRUDE_MINTEMP) 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);
current_position[X_AXIS] = PINDA_PREHEAT_X;
current_position[Y_AXIS] = PINDA_PREHEAT_Y;
current_position[Z_AXIS] = 0;
@ -6217,8 +6225,6 @@ void temp_compensation_start() {
while (fabs(degBed() - target_temperature_bed) > 3) delay_keep_alive(1000);
for(int i = 0; i < PINDA_HEAT_T; i++) delay_keep_alive(1000);
}
void temp_compensation_apply() {

View file

@ -1741,6 +1741,11 @@ const char * const MSG_PINDA_NOT_CALIBRATED_LANG_TABLE[1] PROGMEM = {
MSG_PINDA_NOT_CALIBRATED_EN
};
const char MSG_PINDA_PREHEAT_EN[] PROGMEM = "Preheating";
const char * const MSG_PINDA_PREHEAT_LANG_TABLE[1] PROGMEM = {
MSG_PINDA_PREHEAT_EN
};
const char MSG_PLANNER_BUFFER_BYTES_EN[] PROGMEM = " PlannerBufferBytes: ";
const char * const MSG_PLANNER_BUFFER_BYTES_LANG_TABLE[1] PROGMEM = {
MSG_PLANNER_BUFFER_BYTES_EN

View file

@ -347,6 +347,8 @@ extern const char* const MSG_PICK_Z_LANG_TABLE[LANG_NUM];
#define MSG_PICK_Z LANG_TABLE_SELECT(MSG_PICK_Z_LANG_TABLE)
extern const char* const MSG_PINDA_NOT_CALIBRATED_LANG_TABLE[1];
#define MSG_PINDA_NOT_CALIBRATED LANG_TABLE_SELECT_EXPLICIT(MSG_PINDA_NOT_CALIBRATED_LANG_TABLE, 0)
extern const char* const MSG_PINDA_PREHEAT_LANG_TABLE[1];
#define MSG_PINDA_PREHEAT LANG_TABLE_SELECT_EXPLICIT(MSG_PINDA_PREHEAT_LANG_TABLE, 0)
extern const char* const MSG_PLANNER_BUFFER_BYTES_LANG_TABLE[1];
#define MSG_PLANNER_BUFFER_BYTES LANG_TABLE_SELECT_EXPLICIT(MSG_PLANNER_BUFFER_BYTES_LANG_TABLE, 0)
extern const char* const MSG_PLEASE_WAIT_LANG_TABLE[LANG_NUM];

View file

@ -268,3 +268,4 @@
#define MSG_CALIBRATE_PINDA "Calibrate PINDA"
#define MSG_PINDA_NOT_CALIBRATED "PINDA probe has not been calibrated"
#define MSG_PINDA_PREHEAT "Preheating"

View file

@ -248,4 +248,5 @@
#define MSG_WAITING_TEMP "In attesa del raffreddamento della testina e del piatto"
#define MSG_FILAMENT_CLEAN "Il colore e' nitido?"
#define MSG_UNLOADING_FILAMENT "Rilasc. filamento"
#define MSG_PAPER "Porre un foglio sotto l'ugello durante la calibrazione dei primi 4 punti. In caso l'ugello muova il foglio spegnere prontamente la stampante."
#define MSG_PAPER "Porre un foglio sotto l'ugello durante la calibrazione dei primi 4 punti. In caso l'ugello muova il foglio spegnere prontamente la stampante."