v2 cal. for multi material added, "Is PLA filament loaded?" question added when run v2 cal. from menu

This commit is contained in:
PavelSindler 2017-09-13 11:49:54 +02:00
parent 77937ab4bb
commit 7e7a562ee0
1 changed files with 151 additions and 7 deletions

View File

@ -589,6 +589,146 @@ void lcd_commands()
lcd_commands_step = 3;
}
}
#ifdef SNMM
if (lcd_commands_type == LCD_COMMAND_V2_CAL)
{
lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS;
if (lcd_commands_step == 0)
{
lcd_commands_step = 6;
}
if (lcd_commands_step == 6 && !blocks_queued() && cmd_buffer_empty())
{
enquecommand_P(PSTR("M107"));
enquecommand_P(PSTR("M104 S210"));
enquecommand_P(PSTR("M140 S55"));
enquecommand_P(PSTR("M190 S55"));
enquecommand_P(PSTR("M109 S210"));
enquecommand_P(PSTR("T0"));
enquecommand_P(PSTR("M117 First layer cal."));
enquecommand_P(PSTR("G87")); //sets calibration status
enquecommand_P(PSTR("G28"));
enquecommand_P(PSTR("G21")); //set units to millimeters
enquecommand_P(PSTR("G90")); //use absolute coordinates
enquecommand_P(PSTR("M83")); //use relative distances for extrusion
enquecommand_P(PSTR("G92 E0"));
enquecommand_P(PSTR("M203 E100"));
enquecommand_P(PSTR("M92 E140"));
lcd_commands_step = 5;
}
if (lcd_commands_step == 5 && !blocks_queued() && cmd_buffer_empty())
{
lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS;
enquecommand_P(PSTR("G1 Z0.250 F7200.000"));
enquecommand_P(PSTR("G1 X50.0 E80.0 F1000.0));
nquecommand_P(PSTR("G1 X160.0 E20.0 F1000.0));
enquecommand_P(PSTR("G1 Z0.200 F7200.000));
enquecommand_P(PSTR("G1 X220.0 E13 F1000.0"));
enquecommand_P(PSTR("G1 X240.0 E0 F1000.0"));
enquecommand_P(PSTR("G92 E0.0"));
enquecommand_P(PSTR("G21"));
enquecommand_P(PSTR("G90"));
enquecommand_P(PSTR("M83"));
enquecommand_P(PSTR("G1 E-4 F2100.00000"));
enquecommand_P(PSTR("G1 Z0.150 F7200.000"));
enquecommand_P(PSTR("M204 S1000"));
enquecommand_P(PSTR("G1 F4000"));
lcd_implementation_clear();
lcd_goto_menu(lcd_babystep_z, 0, false);
lcd_commands_step = 4;
}
if (lcd_commands_step == 4 && !blocks_queued() && cmd_buffer_empty()) //draw meander
{
lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS;
enquecommand_P(PSTR("G1 X50 Y155"));
enquecommand_P(PSTR("G1 X60 Y155 E4"));
enquecommand_P(PSTR("G1 F1080"));
enquecommand_P(PSTR("G1 X75 Y155 E2.5"));
enquecommand_P(PSTR("G1 X100 Y155 E2"));
enquecommand_P(PSTR("G1 X200 Y155 E2.62773"));
enquecommand_P(PSTR("G1 X200 Y135 E0.66174"));
enquecommand_P(PSTR("G1 X50 Y135 E3.62773"));
enquecommand_P(PSTR("G1 X50 Y115 E0.49386"));
enquecommand_P(PSTR("G1 X200 Y115 E3.62773"));
enquecommand_P(PSTR("G1 X200 Y95 E0.49386"));
enquecommand_P(PSTR("G1 X50 Y95 E3.62773"));
enquecommand_P(PSTR("G1 X50 Y75 E0.49386"));
enquecommand_P(PSTR("G1 X200 Y75 E3.62773"));
enquecommand_P(PSTR("G1 X200 Y55 E0.49386"));
enquecommand_P(PSTR("G1 X50 Y55 E3.62773"));
enquecommand_P(PSTR("G1 E - 0.07500 F2100.00000"));
lcd_commands_step = 3;
}
if (lcd_commands_step == 3 && !blocks_queued() && cmd_buffer_empty())
{
lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS;
enquecommand_P(PSTR("G4 S0"));
enquecommand_P(PSTR("G1 E-4 F2100.00000"));
enquecommand_P(PSTR("G1 Z0.5 F7200.000"));
enquecommand_P(PSTR("G1 X245 Y1"));
enquecommand_P(PSTR("G1 X240 E4"));
enquecommand_P(PSTR("G1 F4000"));
enquecommand_P(PSTR("G1 X190 E2.7"));
enquecommand_P(PSTR("G1 F4600"));
enquecommand_P(PSTR("G1 X110 E2.8"));
enquecommand_P(PSTR("G1 F5200"));
enquecommand_P(PSTR("G1 X40 E3"));
enquecommand_P(PSTR("G1 E-15.0000 F5000"));
enquecommand_P(PSTR("G1 E-50.0000 F5400"));
enquecommand_P(PSTR("G1 E-15.0000 F3000"));
enquecommand_P(PSTR("G1 E-12.0000 F2000"));
enquecommand_P(PSTR("G1 F1600"));
lcd_commands_step = 2;
}
if (lcd_commands_step == 2 && !blocks_queued() && cmd_buffer_empty())
{
lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS;
enquecommand_P(PSTR("G1 X0 Y1 E3.0000"));
enquecommand_P(PSTR("G1 X50 Y1 E-5.0000"));
enquecommand_P(PSTR("G1 F2000"));
enquecommand_P(PSTR("G1 X0 Y1 E5.0000"));
enquecommand_P(PSTR("G1 X50 Y1 E-5.0000"));
enquecommand_P(PSTR("G1 F2400"));
enquecommand_P(PSTR("G1 X0 Y1 E5.0000"));
enquecommand_P(PSTR("G1 X50 Y1 E - 5.0000"));
enquecommand_P(PSTR("G1 F2400"));
enquecommand_P(PSTR("G1 X0 Y1 E5.0000"));
enquecommand_P(PSTR("G1 X50 Y1 E-3.0000"));
enquecommand_P(PSTR("G4 S0"));
enquecommand_P(PSTR("M107"));
enquecommand_P(PSTR("M104 S0"));
enquecommand_P(PSTR("M140 S0"));
enquecommand_P(PSTR("G1 X10 Y180 F4000"));
enquecommand_P(PSTR("G1 Z10 F1300.000"));
enquecommand_P(PSTR("M84"));
lcd_commands_step = 1;
}
if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty())
{
lcd_setstatuspgm(WELCOME_MSG);
lcd_commands_step = 0;
lcd_commands_type = 0;
if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) {
lcd_wizard(10);
}
}
}
#else //if not SNMM
if (lcd_commands_type == LCD_COMMAND_V2_CAL)
{
@ -614,7 +754,7 @@ void lcd_commands()
{
lcd_implementation_clear();
lcd_goto_menu(lcd_babystep_z, 0, false);
lcd_goto_menu(lcd_babystep_z, 0, false);
enquecommand_P(PSTR("G1 X60.0 E9.0 F1000.0")); //intro line
enquecommand_P(PSTR("G1 X100.0 E12.5 F1000.0")); //intro line
enquecommand_P(PSTR("G92 E0.0"));
@ -630,8 +770,8 @@ void lcd_commands()
if (lcd_commands_step == 3 && !blocks_queued() && cmd_buffer_empty()) //draw meander
{
lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS;
//just opposite direction
/*enquecommand_P(PSTR("G1 X50 Y55"));
enquecommand_P(PSTR("G1 F1080"));
@ -650,7 +790,7 @@ void lcd_commands()
enquecommand_P(PSTR("G1 X50 Y155 E2.5"));
enquecommand_P(PSTR("G1 E - 0.07500 F2100.00000"));*/
enquecommand_P(PSTR("G1 X50 Y155"));
enquecommand_P(PSTR("G1 F1080"));
enquecommand_P(PSTR("G1 X75 Y155 E2.5"));
@ -693,6 +833,8 @@ void lcd_commands()
}
#endif // not SNMM
if (lcd_commands_type == LCD_COMMAND_STOP_PRINT) /// stop print
{
uint8_t stopped_extruder;
@ -2789,8 +2931,10 @@ void lcd_toshiba_flash_air_compatibility_toggle()
}
void lcd_v2_calibration() {
bool loaded = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_PLA_FILAMENT_LOADED, true, false);
if (loaded) lcd_commands_type = LCD_COMMAND_V2_CAL;
bool loaded = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_PLA_FILAMENT_LOADED, false, true);
if (loaded) {
lcd_commands_type = LCD_COMMAND_V2_CAL;
}
else {
lcd_display_message_fullscreen_P(MSG_PLEASE_LOAD_PLA);
for (int i = 0; i < 20; i++) { //wait max. 2s
@ -2803,8 +2947,8 @@ void lcd_v2_calibration() {
}
}
}
lcd_update_enable(true);
lcd_return_to_status();
lcd_update_enable(true);
}
void lcd_wizard() {