Skip to content

Commit 52ac95f

Browse files
authored
Merge pull request prusa3d#4600 from sarusani/ChangeRevoNozzleChangeMenu
Adjust Nozzle Change Menu For Quick Change Nozzles
2 parents 361ce65 + bc04f16 commit 52ac95f

17 files changed

+174
-6
lines changed

Firmware/messages.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,12 @@ extern const char MSG_TM_ACK_ERROR[] PROGMEM_I1 = ISTR("Clear TM error");////MSG
193193
extern const char MSG_LOAD_ALL[] PROGMEM_I1 = ISTR("Load All"); ////MSG_LOAD_ALL c=18
194194
extern const char MSG_NOZZLE_CNG_MENU [] PROGMEM_I1 = ISTR("Nozzle change");////MSG_NOZZLE_CNG_MENU c=18
195195
extern const char MSG_NOZZLE_CNG_READ_HELP [] PROGMEM_I1 = ISTR("For a Nozzle change please read\nprusa.io/nozzle-mk3s");////MSG_NOZZLE_CNG_READ_HELP c=20 r=4
196+
#ifdef QUICK_NOZZLE_CHANGE
197+
extern const char MSG_NOZZLE_CNG_COOLDOWN [] PROGMEM_I1 = ISTR("Nozzle is hot! Wait for cooldown.");////MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
198+
extern const char MSG_NOZZLE_CNG_CHANGED [] PROGMEM_I1 = ISTR("Nozzle changed?");////MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
199+
#else
196200
extern const char MSG_NOZZLE_CNG_CHANGED [] PROGMEM_I1 = ISTR("Hotend at 280C! Nozzle changed and tightened to specs?");////MSG_NOZZLE_CNG_CHANGED c=20 r=6
201+
#endif //QUICK_NOZZLE_CHANGE
197202
extern const char MSG_REPRINT [] PROGMEM_I1 = ISTR("Reprint"); ////MSG_REPRINT c=18
198203
extern const char MSG_FILE_CNT [] PROGMEM_I1 = ISTR("Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."); ////MSG_FILE_CNT c=20 r=6
199204
extern const char MSG_CHANGED_MOTHERBOARD [] PROGMEM_I1 = ISTR("Warning: motherboard type changed."); ////MSG_CHANGED_MOTHERBOARD c=20 r=4

Firmware/messages.h

+3
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,9 @@ extern const char MSG_LOAD_ALL[];
195195
extern const char MSG_NOZZLE_CNG_MENU [];
196196
extern const char MSG_NOZZLE_CNG_READ_HELP [];
197197
extern const char MSG_NOZZLE_CNG_CHANGED [];
198+
#ifdef QUICK_NOZZLE_CHANGE
199+
extern const char MSG_NOZZLE_CNG_COOLDOWN [];
200+
#endif //QUICK_NOZZLE_CHANGE
198201
extern const char MSG_REPRINT [];
199202
extern const char MSG_FILE_CNT [];
200203
extern const char MSG_CHANGED_MOTHERBOARD [];

Firmware/ultralcd.cpp

+26-6
Original file line numberDiff line numberDiff line change
@@ -972,15 +972,18 @@ void lcd_commands()
972972
{
973973
if (!blocks_queued() && cmd_buffer_empty() && !saved_printing)
974974
{
975+
#ifndef QUICK_NOZZLE_CHANGE //thermal model can be ignored if a quickchange nozzle is in use, no heatup necessary
975976
#ifdef THERMAL_MODEL
976977
static bool was_enabled;
977978
#endif //THERMAL_MODEL
979+
#endif //QUICK_NOZZLE_CHANGE
978980
switch(lcd_commands_step)
979981
{
980982
case 0:
981983
lcd_commands_step = 3;
982984
break;
983985
case 3:
986+
#ifndef QUICK_NOZZLE_CHANGE
984987
lcd_update_enabled = false; //hack to avoid lcd_update recursion.
985988
lcd_show_fullscreen_message_and_wait_P(_T(MSG_NOZZLE_CNG_READ_HELP));
986989
lcd_update_enabled = true;
@@ -992,30 +995,47 @@ void lcd_commands()
992995
was_enabled = thermal_model_enabled();
993996
thermal_model_set_enabled(false);
994997
#endif //THERMAL_MODEL
998+
#else //nozzle change without heating
999+
while((int)degHotend(active_extruder)>40) { //check temp
1000+
fanSpeed = 255; //turn on fan
1001+
disable_heater();
1002+
uint8_t choice = lcd_show_multiscreen_message_yes_no_and_wait_P(_T(MSG_NOZZLE_CNG_COOLDOWN), true, LCD_LEFT_BUTTON_CHOICE);
1003+
lcd_update_enabled = false; //hack to avoid lcd_update recursion.
1004+
if (choice == LCD_MIDDLE_BUTTON_CHOICE) {
1005+
lcd_update_enabled = true;
1006+
lcd_draw_update = 2; //force lcd clear and update after the stack unwinds.
1007+
break;
1008+
}
1009+
lcd_update_enabled = true;
1010+
lcd_draw_update = 2; //force lcd clear and update after the stack unwinds.
1011+
}
1012+
enquecommand_P(G28W); //home
1013+
enquecommand_P(PSTR("G1 X125 Z200 F1000")); //move to top center
1014+
#endif //QUICK_NOZZLE_CHANGE
9951015
lcd_commands_step = 2;
9961016
break;
9971017
case 2:
998-
//|0123456789012456789|
999-
//|Hotend at 280C!
1000-
//|Nozzle changed and
1001-
//|tightend to specs?
1002-
//| Yes No
10031018
enquecommand_P(PSTR("M84 XY"));
10041019
lcd_update_enabled = false; //hack to avoid lcd_update recursion.
10051020
if (lcd_show_multiscreen_message_yes_no_and_wait_P(_T(MSG_NOZZLE_CNG_CHANGED), false) == LCD_LEFT_BUTTON_CHOICE) {
1021+
#ifndef QUICK_NOZZLE_CHANGE
10061022
setTargetHotend(0);
10071023
#ifdef THERMAL_MODEL
10081024
thermal_model_set_enabled(was_enabled);
10091025
#endif //THERMAL_MODEL
1026+
#else
1027+
fanSpeed = 0; //turn off fan
1028+
#endif //QUICK_NOZZLE_CHANGE
10101029
lcd_commands_step = 1;
10111030
}
10121031
lcd_update_enabled = true;
10131032
break;
10141033
case 1:
1015-
lcd_setstatuspgm(MSG_WELCOME);
10161034
lcd_commands_step = 0;
10171035
lcd_commands_type = LcdCommands::Idle;
10181036
SetPrinterState(PrinterState::Idle);
1037+
menu_goto(lcd_hw_setup_menu, 2, true);
1038+
menu_depth = 3;
10191039
break;
10201040
}
10211041
}

lang/po/Firmware.pot

+10
Original file line numberDiff line numberDiff line change
@@ -1390,6 +1390,16 @@ msgid ""
13901390
" Print cancelled."
13911391
msgstr ""
13921392

1393+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
1394+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
1395+
msgid "Nozzle is hot! Wait for cooldown."
1396+
msgstr ""
1397+
1398+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
1399+
#: ../../Firmware/messages.cpp:199
1400+
msgid "Nozzle changed?"
1401+
msgstr ""
1402+
13931403
#. MSG_PROGRESS_OK c=4
13941404
#: ../../Firmware/mmu2_progress_converter.cpp:8
13951405
#: ../../Firmware/mmu2_progress_converter.cpp:34

lang/po/Firmware_cs.po

+10
Original file line numberDiff line numberDiff line change
@@ -2584,6 +2584,16 @@ msgstr "Tisk. znovu"
25842584
msgid "Shutdown host"
25852585
msgstr "Vypnutí hostitele"
25862586

2587+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2588+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2589+
msgid "Nozzle is hot! Wait for cooldown."
2590+
msgstr "Tryska je horká! Počkejte na vychladnutí."
2591+
2592+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2593+
#: ../../Firmware/messages.cpp:199
2594+
msgid "Nozzle changed?"
2595+
msgstr "Vyměnili jste trysku?"
2596+
25872597
#~ msgid "Remove old filament and press the knob to start loading new filament."
25882598
#~ msgstr "Vyjmete stary filament a stisknete tlacitko pro zavedeni noveho."
25892599

lang/po/Firmware_de.po

+10
Original file line numberDiff line numberDiff line change
@@ -2612,6 +2612,16 @@ msgstr "Druck wiederholen"
26122612
msgid "Shutdown host"
26132613
msgstr "Host runterfahren"
26142614

2615+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2616+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2617+
msgid "Nozzle is hot! Wait for cooldown."
2618+
msgstr "Die Düse ist heiß! Auf Abkühlung warten."
2619+
2620+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2621+
#: ../../Firmware/messages.cpp:199
2622+
msgid "Nozzle changed?"
2623+
msgstr "Düse gewechselt?"
2624+
26152625
#~ msgid "Remove old filament and press the knob to start loading new filament."
26162626
#~ msgstr "Entferne das alte Fil. und drücke den Knopf, um das neue zu laden."
26172627

lang/po/Firmware_es.po

+10
Original file line numberDiff line numberDiff line change
@@ -2607,6 +2607,16 @@ msgstr "Volver a imprimir"
26072607
msgid "Shutdown host"
26082608
msgstr "Apagar host"
26092609

2610+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2611+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2612+
msgid "Nozzle is hot! Wait for cooldown."
2613+
msgstr "La boquilla está caliente! Espere a que se enfríe."
2614+
2615+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2616+
#: ../../Firmware/messages.cpp:199
2617+
msgid "Nozzle changed?"
2618+
msgstr "Cambió la boquilla?"
2619+
26102620
#~ msgid "Remove old filament and press the knob to start loading new filament."
26112621
#~ msgstr ""
26122622
#~ "Retira el fil. viejo y presiona el dial para comenzar a cargar el nuevo."

lang/po/Firmware_fr.po

+10
Original file line numberDiff line numberDiff line change
@@ -2619,6 +2619,16 @@ msgstr "Ré-imprimer"
26192619
msgid "Shutdown host"
26202620
msgstr "Arrêter l'hôte"
26212621

2622+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2623+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2624+
msgid "Nozzle is hot! Wait for cooldown."
2625+
msgstr "La buse est chaude! Attendre le refroidissement."
2626+
2627+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2628+
#: ../../Firmware/messages.cpp:199
2629+
msgid "Nozzle changed?"
2630+
msgstr "La buse a été changée?"
2631+
26222632
#~ msgid "Remove old filament and press the knob to start loading new filament."
26232633
#~ msgstr ""
26242634
#~ "Retirez l'ancien fil. puis appuyez sur le bouton pour charger le nouveau."

lang/po/Firmware_hr.po

+10
Original file line numberDiff line numberDiff line change
@@ -2601,6 +2601,16 @@ msgstr "Ponovno tiskanje"
26012601
msgid "Shutdown host"
26022602
msgstr "Iskljuciti host"
26032603

2604+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2605+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2606+
msgid "Nozzle is hot! Wait for cooldown."
2607+
msgstr "Mlaznica je vruća! Pričekajte hlađenje."
2608+
2609+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2610+
#: ../../Firmware/messages.cpp:199
2611+
msgid "Nozzle changed?"
2612+
msgstr "Mlaznica se promijenila?"
2613+
26042614
#~ msgid "Remove old filament and press the knob to start loading new filament."
26052615
#~ msgstr "Uklonite stari fil. i pritisnite gumb za pocetak stavljanja novog."
26062616

lang/po/Firmware_hu.po

+10
Original file line numberDiff line numberDiff line change
@@ -2606,6 +2606,16 @@ msgstr "Újranyomtatás"
26062606
msgid "Shutdown host"
26072607
msgstr "Gazdagép leállítás"
26082608

2609+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2610+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2611+
msgid "Nozzle is hot! Wait for cooldown."
2612+
msgstr "A fúvóka forró! Várja meg a lehűlést."
2613+
2614+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2615+
#: ../../Firmware/messages.cpp:199
2616+
msgid "Nozzle changed?"
2617+
msgstr "Fúvóka cserélve?"
2618+
26092619
#~ msgid "Remove old filament and press the knob to start loading new filament."
26102620
#~ msgstr "Vedd ki a regi fil., majd nyomd meg a gombot az uj fil. betoltesehez."
26112621

lang/po/Firmware_it.po

+10
Original file line numberDiff line numberDiff line change
@@ -2607,6 +2607,16 @@ msgstr "Ristampa"
26072607
msgid "Shutdown host"
26082608
msgstr "Spegnere l'host"
26092609

2610+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2611+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2612+
msgid "Nozzle is hot! Wait for cooldown."
2613+
msgstr "L'ugello è caldo! Attendere il raffreddamento."
2614+
2615+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2616+
#: ../../Firmware/messages.cpp:199
2617+
msgid "Nozzle changed?"
2618+
msgstr "L'ugello è cambiato?"
2619+
26102620
#~ msgid "Remove old filament and press the knob to start loading new filament."
26112621
#~ msgstr "Rimuovi il fil. precedente e premi la manopola per caricare il nuovo."
26122622

lang/po/Firmware_nl.po

+10
Original file line numberDiff line numberDiff line change
@@ -2609,6 +2609,16 @@ msgstr "Herhaal druk"
26092609
msgid "Shutdown host"
26102610
msgstr "Host uitschakelen"
26112611

2612+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2613+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2614+
msgid "Nozzle is hot! Wait for cooldown."
2615+
msgstr "Mondstuk is heet! Wacht op afkoeling."
2616+
2617+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2618+
#: ../../Firmware/messages.cpp:199
2619+
msgid "Nozzle changed?"
2620+
msgstr "Mondstuk veranderd?"
2621+
26122622
#~ msgid "Remove old filament and press the knob to start loading new filament."
26132623
#~ msgstr ""
26142624
#~ "Verwijder de oude filament en druk op de knop om nieuwe filament te laden."

lang/po/Firmware_no.po

+10
Original file line numberDiff line numberDiff line change
@@ -2583,6 +2583,16 @@ msgstr "Gjenta print"
25832583
msgid "Shutdown host"
25842584
msgstr "Slå av vert"
25852585

2586+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2587+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2588+
msgid "Nozzle is hot! Wait for cooldown."
2589+
msgstr "Dysen er varm! Vent på nedkjøling."
2590+
2591+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2592+
#: ../../Firmware/messages.cpp:199
2593+
msgid "Nozzle changed?"
2594+
msgstr "Har du byttet dyse?"
2595+
25862596
#~ msgid "Remove old filament and press the knob to start loading new filament."
25872597
#~ msgstr "Ta bort det gamle filamentet og trykk valghjulet for å laste et nytt."
25882598

lang/po/Firmware_pl.po

+10
Original file line numberDiff line numberDiff line change
@@ -2599,6 +2599,16 @@ msgstr "Przedruk"
25992599
msgid "Shutdown host"
26002600
msgstr "Zamknięcie hosta"
26012601

2602+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2603+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2604+
msgid "Nozzle is hot! Wait for cooldown."
2605+
msgstr "Dysza jest gorąca! Poczekaj na schłodzenie."
2606+
2607+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2608+
#: ../../Firmware/messages.cpp:199
2609+
msgid "Nozzle changed?"
2610+
msgstr "Dysza została zmieniona?"
2611+
26022612
#~ msgid "Remove old filament and press the knob to start loading new filament."
26032613
#~ msgstr "Wyciągnij poprzedni filament i naciśnij pokrętło aby załadować nowy."
26042614

lang/po/Firmware_ro.po

+10
Original file line numberDiff line numberDiff line change
@@ -2608,6 +2608,16 @@ msgstr "Repetă print"
26082608
msgid "Shutdown host"
26092609
msgstr "Oprește gazda"
26102610

2611+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2612+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2613+
msgid "Nozzle is hot! Wait for cooldown."
2614+
msgstr "Duza este fierbinte! Așteptați să se răcească."
2615+
2616+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2617+
#: ../../Firmware/messages.cpp:199
2618+
msgid "Nozzle changed?"
2619+
msgstr "S-a schimbat duza?"
2620+
26112621
#~ msgid "Remove old filament and press the knob to start loading new filament."
26122622
#~ msgstr "Scoateți fil. vechi și apăsați butonul pentru a încărca unul nou."
26132623

lang/po/Firmware_sk.po

+10
Original file line numberDiff line numberDiff line change
@@ -2589,6 +2589,16 @@ msgstr "Vytlačiť znova"
25892589
msgid "Shutdown host"
25902590
msgstr "Vypnutie hostiteľa"
25912591

2592+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2593+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2594+
msgid "Nozzle is hot! Wait for cooldown."
2595+
msgstr "Tryska je horúca! Počkajte na vychladnutie."
2596+
2597+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2598+
#: ../../Firmware/messages.cpp:199
2599+
msgid "Nozzle changed?"
2600+
msgstr "Vymenili ste trysku?"
2601+
25922602
#~ msgid "Remove old filament and press the knob to start loading new filament."
25932603
#~ msgstr "Vyberte starý filament a stlačte tlačidlo pre zavedenie nového."
25942604

lang/po/Firmware_sv.po

+10
Original file line numberDiff line numberDiff line change
@@ -2596,6 +2596,16 @@ msgstr "Upprepa trycket"
25962596
msgid "Shutdown host"
25972597
msgstr "Stänga av värd"
25982598

2599+
#. MSG_NOZZLE_CNG_COOLDOWN c=20 r=3
2600+
#: ../../Firmware/messages.cpp:198 ../../Firmware/ultralcd.cpp:1002
2601+
msgid "Nozzle is hot! Wait for cooldown."
2602+
msgstr "Munstycket är varmt! Vänta på nedkylning."
2603+
2604+
#. MSG_NOZZLE_CNG_CHANGED_QUICK c=20 r=3
2605+
#: ../../Firmware/messages.cpp:199
2606+
msgid "Nozzle changed?"
2607+
msgstr "Har munstycket ändrats?"
2608+
25992609
#~ msgid "Remove old filament and press the knob to start loading new filament."
26002610
#~ msgstr "Ta bort det gamla fil. och tryck på knappen för att börja ladda nytt."
26012611

0 commit comments

Comments
 (0)