diff --git a/Firmware/first_lay_cal.cpp b/Firmware/first_lay_cal.cpp index fb0e79894..8f12bb965 100644 --- a/Firmware/first_lay_cal.cpp +++ b/Firmware/first_lay_cal.cpp @@ -7,24 +7,36 @@ #include "first_lay_cal.h" #include "Configuration_prusa.h" #include "language.h" +#include "Marlin.h" +#include + static const char cmd_0[] PROGMEM = "M107"; static const char cmd_1[] PROGMEM = "M104 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP); static const char cmd_2[] PROGMEM = "M140 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP); static const char cmd_3[] PROGMEM = "M190 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP); static const char cmd_4[] PROGMEM = "M109 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP); -static const char cmd_6[] PROGMEM = "G28"; -static const char cmd_7[] PROGMEM = "G92 E0.0"; +static const char cmd_5[] PROGMEM = "G28"; +static const char cmd_6[] PROGMEM = "G92 E0.0"; -const char * const layer1_cal[8] PROGMEM = +static const char * const preheat_cmd[] PROGMEM = { cmd_0, cmd_1, cmd_2, cmd_3, cmd_4, - MSG_M117_V2_CALIBRATION, //TODO missing internationalization + cmd_5, //call MSG_M117_V2_CALIBRATION before cmd_6, - cmd_7, }; + +void lay1cal_preheat() +{ + for (uint8_t i = 0; i < (sizeof(preheat_cmd)/sizeof(preheat_cmd[0])); ++i) + { + if (5 == i) enquecommand_P(_T(MSG_M117_V2_CALIBRATION)); + enquecommand_P(static_cast(pgm_read_ptr(&preheat_cmd[i]))); + } + +} diff --git a/Firmware/first_lay_cal.h b/Firmware/first_lay_cal.h index e22a742b1..5068e3379 100644 --- a/Firmware/first_lay_cal.h +++ b/Firmware/first_lay_cal.h @@ -7,10 +7,9 @@ #ifndef FIRMWARE_FIRST_LAY_CAL_H_ #define FIRMWARE_FIRST_LAY_CAL_H_ -#include +void lay1cal_preheat(); -extern const char * const layer1_cal[8] PROGMEM; #endif /* FIRMWARE_FIRST_LAY_CAL_H_ */ diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index a1be6eab4..66bc453ab 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1387,10 +1387,7 @@ void lcd_commands() if (lcd_commands_step == 10) { - for (uint8_t i = 0; i < (sizeof(layer1_cal)/sizeof(layer1_cal[0])); ++i) - { - enquecommand_P(static_cast(pgm_read_ptr(&layer1_cal[i]))); - } + lay1cal_preheat(); lcd_commands_step = 9; } if (lcd_commands_step == 9 && !blocks_queued() && cmd_buffer_empty())