From 979fb2cc602476f1df142a9f830bc8baf8b2ae1b Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 10 Oct 2017 15:15:53 +0200 Subject: [PATCH 1/6] length of strings on language.en updated --- Firmware/language_all.cpp | 11 +++------ Firmware/language_all.h | 6 ++--- Firmware/language_en.h | 47 +++++++++++++++++++-------------------- 3 files changed, 28 insertions(+), 36 deletions(-) diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 046a9ad7e..909610dc3 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -3542,11 +3542,6 @@ const char * const MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE[1] PROGMEM = { MSG_WIZARD_INSERT_CORRECT_FILAMENT_EN }; -const char MSG_WIZARD_LANGUAGE_EN[] PROGMEM = "Please choose your language"; -const char * const MSG_WIZARD_LANGUAGE_LANG_TABLE[1] PROGMEM = { - MSG_WIZARD_LANGUAGE_EN -}; - const char MSG_WIZARD_LOAD_FILAMENT_EN[] PROGMEM = "Please insert PLA filament to the extruder, then press knob to load it."; const char * const MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE[1] PROGMEM = { MSG_WIZARD_LOAD_FILAMENT_EN @@ -3562,9 +3557,9 @@ const char * const MSG_WIZARD_QUIT_LANG_TABLE[1] PROGMEM = { MSG_WIZARD_QUIT_EN }; -const char MSG_WIZARD_REPEAT_V2_CAL_EN[] PROGMEM = "Do you want to repeat last step to readjust distance between nozzle and heatbed?"; -const char * const MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE[1] PROGMEM = { - MSG_WIZARD_REPEAT_V2_CAL_EN +const char MSG_WIZARD_REPEAT_V2_CA_EN[] PROGMEM = "Do you want to repeat last step to readjust distance between nozzle and heatbed?"; +const char * const MSG_WIZARD_REPEAT_V2_CA_LANG_TABLE[1] PROGMEM = { + MSG_WIZARD_REPEAT_V2_CA_EN }; const char MSG_WIZARD_RERUN_EN[] PROGMEM = "Running Wizard will delete current calibration results and start from the beginning. Continue?"; diff --git a/Firmware/language_all.h b/Firmware/language_all.h index ccb31b48c..f8ae168ae 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -666,16 +666,14 @@ extern const char* const MSG_WIZARD_HEATING_LANG_TABLE[1]; #define MSG_WIZARD_HEATING LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_HEATING_LANG_TABLE, 0) extern const char* const MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE[1]; #define MSG_WIZARD_INSERT_CORRECT_FILAMENT LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE, 0) -extern const char* const MSG_WIZARD_LANGUAGE_LANG_TABLE[1]; -#define MSG_WIZARD_LANGUAGE LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_LANGUAGE_LANG_TABLE, 0) extern const char* const MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE[1]; #define MSG_WIZARD_LOAD_FILAMENT LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE, 0) extern const char* const MSG_WIZARD_PLA_FILAMENT_LANG_TABLE[1]; #define MSG_WIZARD_PLA_FILAMENT LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_PLA_FILAMENT_LANG_TABLE, 0) extern const char* const MSG_WIZARD_QUIT_LANG_TABLE[1]; #define MSG_WIZARD_QUIT LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_QUIT_LANG_TABLE, 0) -extern const char* const MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE[1]; -#define MSG_WIZARD_REPEAT_V2_CAL LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE, 0) +extern const char* const MSG_WIZARD_REPEAT_V2_CA_LANG_TABLE[1]; +#define MSG_WIZARD_REPEAT_V2_CA LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_REPEAT_V2_CA_LANG_TABLE, 0) extern const char* const MSG_WIZARD_RERUN_LANG_TABLE[1]; #define MSG_WIZARD_RERUN LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_RERUN_LANG_TABLE, 0) extern const char* const MSG_WIZARD_SELFTEST_LANG_TABLE[1]; diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 5d55d688c..f1ed2662f 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -317,28 +317,27 @@ #define(length=17, lines=1) MSG_SORT_ALPHA "Sort: [Alphabet]" #define(length=17, lines=1) MSG_SORT_NONE "Sort: [None]" #define(length=20, lines=1) MSG_SORTING "Sorting files" -#define MSG_FILE_INCOMPLETE "File incomplete. Continue anyway?" +#define(length=20, lines=2) MSG_FILE_INCOMPLETE "File incomplete. Continue anyway?" #define(length=17, lines=1) MSG_WIZARD "Wizard" -#define MSG_WIZARD_LANGUAGE "Please choose your language" -#define MSG_WIZARD_WELCOME "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?" -#define MSG_WIZARD_QUIT "You can always resume the Wizard from Calibration -> Wizard." -#define MSG_WIZARD_SELFTEST "First, I will run the selftest to check most common assembly problems." -#define MSG_WIZARD_CALIBRATION_FAILED "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer." -#define MSG_WIZARD_XYZ_CAL "I will run xyz calibration now. It will take approx. 12 mins." -#define MSG_WIZARD_FILAMENT_LOADED "Is filament loaded?" -#define MSG_WIZARD_Z_CAL "I will run z calibration now." -#define MSG_WIZARD_WILL_PREHEAT "Now I will preheat nozzle for PLA." -#define MSG_WIZARD_HEATING "Preheating nozzle. Please wait." -#define MSG_WIZARD_V2_CAL "Now I will calibrate distance between tip of the nozzle and heatbed surface." -#define MSG_WIZARD_V2_CAL_2 "I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration." -#define MSG_V2_CALIBRATION "First layer cal." -#define MSG_WIZARD_DONE "All is done. Happy printing!" -#define MSG_WIZARD_LOAD_FILAMENT "Please insert PLA filament to the extruder, then press knob to load it." -#define MSG_WIZARD_RERUN "Running Wizard will delete current calibration results and start from the beginning. Continue?" -#define MSG_WIZARD_REPEAT_V2_CAL "Do you want to repeat last step to readjust distance between nozzle and heatbed?" -#define MSG_WIZARD_CLEAN_HEATBED "Please clean heatbed and then press the knob." -#define MSG_WIZARD_PLA_FILAMENT "Is it PLA filament?" -#define MSG_WIZARD_INSERT_CORRECT_FILAMENT "Please load PLA filament and then resume Wizard by rebooting the printer." -#define MSG_PLA_FILAMENT_LOADED "Is PLA filament loaded?" -#define MSG_PLEASE_LOAD_PLA "Please load PLA filament first." -#define(length=20, lines=4) MSG_FILE_CNT "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." +#define(length=20, lines=7) MSG_WIZARD_WELCOME "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?" +#define(length=20, lines=8) MSG_WIZARD_QUIT "You can always resume the Wizard from Calibration -> Wizard." +#define(length=20, lines=8) MSG_WIZARD_SELFTEST "First, I will run the selftest to check most common assembly problems." +#define(length=20, lines=8) MSG_WIZARD_CALIBRATION_FAILED "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer." +#define(length=20, lines=8) MSG_WIZARD_XYZ_CAL "I will run xyz calibration now. It will take approx. 12 mins." +#define(length=20, lines=2) MSG_WIZARD_FILAMENT_LOADED "Is filament loaded?" +#define(length=20, lines=8) MSG_WIZARD_Z_CAL "I will run z calibration now." +#define(length=20, lines=4) MSG_WIZARD_WILL_PREHEAT "Now I will preheat nozzle for PLA." +#define(length=20, lines=3) MSG_WIZARD_HEATING "Preheating nozzle. Please wait." +#define(lenght=20, lines=8) MSG_WIZARD_V2_CAL "Now I will calibrate distance between tip of the nozzle and heatbed surface." +#define(lenght=20, lines=12) MSG_WIZARD_V2_CAL_2 "I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration." +#define(lenght=17, lines=1) MSG_V2_CALIBRATION "First layer cal." +#define(lenght=20, lines=8) MSG_WIZARD_DONE "All is done. Happy printing!" +#define(lenght=20, lines=8) MSG_WIZARD_LOAD_FILAMENT "Please insert PLA filament to the extruder, then press knob to load it." +#define(lenght=20, lines=7) MSG_WIZARD_RERUN "Running Wizard will delete current calibration results and start from the beginning. Continue?" +#define(lenght=20, lines=7) MSG_WIZARD_REPEAT_V2_CA "Do you want to repeat last step to readjust distance between nozzle and heatbed?" +#define(lenght=20, lines=8) MSG_WIZARD_CLEAN_HEATBED "Please clean heatbed and then press the knob." +#define(lenght=20, lines=2) MSG_WIZARD_PLA_FILAMENT "Is it PLA filament?" +#define(lenght=20, lines=8) MSG_WIZARD_INSERT_CORRECT_FILAMENT "Please load PLA filament and then resume Wizard by rebooting the printer." +#define(lenght=20, lines=2) MSG_PLA_FILAMENT_LOADED "Is PLA filament loaded?" +#define(lenght=20, lines=4) MSG_PLEASE_LOAD_PLA "Please load PLA filament first." +#define(length=20, lines=8) MSG_FILE_CNT "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." From 1b3f4e5871143b007ca0300bdf8f1a10a131799b Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 10 Oct 2017 16:17:52 +0200 Subject: [PATCH 2/6] fixed typo --- Firmware/Marlin_main.cpp | 44 +++------------------------------------ Firmware/language_all.cpp | 6 +++--- Firmware/language_all.h | 4 ++-- Firmware/language_en.h | 2 +- 4 files changed, 9 insertions(+), 47 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 98cfb0364..f7ab5dbc8 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1099,6 +1099,8 @@ void setup() tp_init(); // Initialize temperature loop plan_init(); // Initialize planner; watchdog_init(); + lcd_print_at_PGM(0, 1, PSTR(" Original Prusa ")); // we need to do this again for some reason, no time to research + lcd_print_at_PGM(0, 2, PSTR(" 3D Printers ")); st_init(); // Initialize stepper, this enables interrupts! setup_photpin(); servo_init(); @@ -1195,8 +1197,6 @@ void setup() card.ToshibaFlashAir_enable(eeprom_read_byte((unsigned char*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY) == 1); // Force SD card update. Otherwise the SD card update is done from loop() on card.checkautostart(false), // but this times out if a blocking dialog is shown in setup(). - lcd_print_at_PGM(0, 1, PSTR(" Original Prusa ")); // we need to do this again for some reason, no time to research - lcd_print_at_PGM(0, 2, PSTR(" 3D Printers ")); card.initsd(); if (eeprom_read_dword((uint32_t*)(EEPROM_TOP - 4)) == 0x0ffffffff && @@ -5964,52 +5964,14 @@ void ClearToSend() SERIAL_PROTOCOLLNRPGM(MSG_OK); } -update_currents() { - float current_high[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; - float current_low[3] = DEFAULT_PWM_MOTOR_CURRENT; - float tmp_motor[3]; - - //SERIAL_ECHOLNPGM("Currents updated: "); - - if (destination[Z_AXIS] < Z_SILENT) { - //SERIAL_ECHOLNPGM("LOW"); - for (uint8_t i = 0; i < 3; i++) { - digipot_current(i, current_low[i]); - /*MYSERIAL.print(int(i)); - SERIAL_ECHOPGM(": "); - MYSERIAL.println(current_low[i]);*/ - } - } - else if (destination[Z_AXIS] > Z_HIGH_POWER) { - //SERIAL_ECHOLNPGM("HIGH"); - for (uint8_t i = 0; i < 3; i++) { - digipot_current(i, current_high[i]); - /*MYSERIAL.print(int(i)); - SERIAL_ECHOPGM(": "); - MYSERIAL.println(current_high[i]);*/ - } - } - else { - for (uint8_t i = 0; i < 3; i++) { - float q = current_low[i] - Z_SILENT*((current_high[i] - current_low[i]) / (Z_HIGH_POWER - Z_SILENT)); - tmp_motor[i] = ((current_high[i] - current_low[i]) / (Z_HIGH_POWER - Z_SILENT))*destination[Z_AXIS] + q; - digipot_current(i, tmp_motor[i]); - /*MYSERIAL.print(int(i)); - SERIAL_ECHOPGM(": "); - MYSERIAL.println(tmp_motor[i]);*/ - } - } -} - void get_coordinates() { bool seen[4]={false,false,false,false}; for(int8_t i=0; i < NUM_AXIS; i++) { if(code_seen(axis_codes[i])) { - destination[i] = (float)code_value() + (axis_relative_modes[i] || relative_mode)*current_position[i]; + destination[i] = (float)code_value() + (axis_relative_modes[i] || relative_mode)*current_position[i]; seen[i]=true; - if (i == Z_AXIS && SilentModeMenu == 2) update_currents(); } else destination[i] = current_position[i]; //Are these else lines really needed? } diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 909610dc3..be66b7187 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -3557,9 +3557,9 @@ const char * const MSG_WIZARD_QUIT_LANG_TABLE[1] PROGMEM = { MSG_WIZARD_QUIT_EN }; -const char MSG_WIZARD_REPEAT_V2_CA_EN[] PROGMEM = "Do you want to repeat last step to readjust distance between nozzle and heatbed?"; -const char * const MSG_WIZARD_REPEAT_V2_CA_LANG_TABLE[1] PROGMEM = { - MSG_WIZARD_REPEAT_V2_CA_EN +const char MSG_WIZARD_REPEAT_V2_CAL_EN[] PROGMEM = "Do you want to repeat last step to readjust distance between nozzle and heatbed?"; +const char * const MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE[1] PROGMEM = { + MSG_WIZARD_REPEAT_V2_CAL_EN }; const char MSG_WIZARD_RERUN_EN[] PROGMEM = "Running Wizard will delete current calibration results and start from the beginning. Continue?"; diff --git a/Firmware/language_all.h b/Firmware/language_all.h index f8ae168ae..31da60eed 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -672,8 +672,8 @@ extern const char* const MSG_WIZARD_PLA_FILAMENT_LANG_TABLE[1]; #define MSG_WIZARD_PLA_FILAMENT LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_PLA_FILAMENT_LANG_TABLE, 0) extern const char* const MSG_WIZARD_QUIT_LANG_TABLE[1]; #define MSG_WIZARD_QUIT LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_QUIT_LANG_TABLE, 0) -extern const char* const MSG_WIZARD_REPEAT_V2_CA_LANG_TABLE[1]; -#define MSG_WIZARD_REPEAT_V2_CA LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_REPEAT_V2_CA_LANG_TABLE, 0) +extern const char* const MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE[1]; +#define MSG_WIZARD_REPEAT_V2_CAL LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE, 0) extern const char* const MSG_WIZARD_RERUN_LANG_TABLE[1]; #define MSG_WIZARD_RERUN LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_RERUN_LANG_TABLE, 0) extern const char* const MSG_WIZARD_SELFTEST_LANG_TABLE[1]; diff --git a/Firmware/language_en.h b/Firmware/language_en.h index f1ed2662f..561567df6 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -334,7 +334,7 @@ #define(lenght=20, lines=8) MSG_WIZARD_DONE "All is done. Happy printing!" #define(lenght=20, lines=8) MSG_WIZARD_LOAD_FILAMENT "Please insert PLA filament to the extruder, then press knob to load it." #define(lenght=20, lines=7) MSG_WIZARD_RERUN "Running Wizard will delete current calibration results and start from the beginning. Continue?" -#define(lenght=20, lines=7) MSG_WIZARD_REPEAT_V2_CA "Do you want to repeat last step to readjust distance between nozzle and heatbed?" +#define(lenght=20, lines=7) MSG_WIZARD_REPEAT_V2_CAL "Do you want to repeat last step to readjust distance between nozzle and heatbed?" #define(lenght=20, lines=8) MSG_WIZARD_CLEAN_HEATBED "Please clean heatbed and then press the knob." #define(lenght=20, lines=2) MSG_WIZARD_PLA_FILAMENT "Is it PLA filament?" #define(lenght=20, lines=8) MSG_WIZARD_INSERT_CORRECT_FILAMENT "Please load PLA filament and then resume Wizard by rebooting the printer." From 5601dd276d722f9cfc5447d8298daf2e1ef72eef Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 11 Oct 2017 18:49:49 +0200 Subject: [PATCH 3/6] wizard for snmm fix --- Firmware/Marlin_main.cpp | 4 ++-- Firmware/ultralcd.cpp | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index ba53c1ec3..5b16c2d54 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1236,6 +1236,7 @@ void setup() #ifndef DEBUG_DISABLE_STARTMSGS check_babystep(); //checking if Z babystep is in allowed range + for (int i = 0; i < 4; i++) EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]); if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) { lcd_wizard(0); } @@ -1266,8 +1267,7 @@ void setup() if (!previous_settings_retrieved) { lcd_show_fullscreen_message_and_wait_P(MSG_DEFAULT_SETTINGS_LOADED); } - } - for (int i = 0; i < 4; i++) EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]); + } #endif //DEBUG_DISABLE_STARTMSGS lcd_update_enable(true); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 180ab3eda..58e316089 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3332,8 +3332,10 @@ void lcd_wizard(int state) { wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_WIZARD_FILAMENT_LOADED, false); if (wizard_event) state = 8; else state = 6; + break; case 6: //waiting for preheat nozzle for PLA; +#ifndef SNMM lcd_display_message_fullscreen_P(MSG_WIZARD_WILL_PREHEAT); current_position[Z_AXIS] = 100; //move in z axis to make space for loading filament plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 60, active_extruder); @@ -3351,6 +3353,7 @@ void lcd_wizard(int state) { lcd_set_custom_characters(); delay_keep_alive(1000); } +#endif //not SNMM state = 7; break; case 7: //load filament From 56d38a8a109993ca951d4b5f140a82892f8cc19f Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 12 Oct 2017 14:23:45 +0200 Subject: [PATCH 4/6] reset cmdqueue in the end of test if file is complete, no sorting in the end of print --- Firmware/cardreader.cpp | 2 +- Firmware/ultralcd.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index 1edcf9b22..4b0107e32 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -1053,7 +1053,7 @@ void CardReader::printingHasFinished() } autotempShutdown(); #ifdef SDCARD_SORT_ALPHA - presort(); + //presort(); #endif } } diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 58e316089..c1d1ddbbf 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5773,6 +5773,7 @@ static bool check_file(const char* filename) { get_command(); result = check_commands(); } + cmdqueue_reset(); card.printingHasFinished(); strncpy_P(lcd_status_message, WELCOME_MSG, LCD_WIDTH); return result; From 038f37854a424fceb87e04cdcdf8b7d732d5cd0d Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 12 Oct 2017 15:28:52 +0200 Subject: [PATCH 5/6] status message when mesh bed leveling is finished fixed --- Firmware/ultralcd_implementation_hitachi_HD44780.h | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 5699461f7..275c96d27 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -958,7 +958,7 @@ static void lcd_implementation_status_screen() custom_message = false; custom_message_type = 0; } - if (custom_message_state > 3 && custom_message_state < 10 ) + if (custom_message_state > 3 && custom_message_state <= 10 ) { lcd.setCursor(0, 3); lcd_printPGM(PSTR(" ")); @@ -966,11 +966,6 @@ static void lcd_implementation_status_screen() lcd_printPGM(MSG_HOMEYZ_DONE); custom_message_state--; } - if (custom_message_state == 10) - { - lcd_printPGM(MSG_HOMEYZ_DONE); - custom_message_state = 9; - } } } From 5c07437b424b4b3d35380b2d5e47d7b843b273fc Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 12 Oct 2017 15:54:24 +0200 Subject: [PATCH 6/6] set NOT_BUSY host keepalive state at the beginning of loop --- Firmware/Marlin_main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 5b16c2d54..d2e098205 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1388,6 +1388,7 @@ void host_keepalive() { // Before loop(), the setup() function is called by the main() routine. void loop() { + KEEPALIVE_STATE(NOT_BUSY); if (usb_printing_counter > 0 && millis()-_usb_timer > 1000) { is_usb_printing = true;