From d276695ce775295af3cdbe2a929d33b2f396c4f8 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 25 Oct 2023 17:13:17 +0200 Subject: [PATCH 01/10] Set Ready --- Firmware/Marlin.h | 13 +++++++++++++ Firmware/Marlin_main.cpp | 27 ++++++++++++++++++++++++++- Firmware/cardreader.cpp | 2 ++ Firmware/cmdqueue.cpp | 5 +++-- Firmware/messages.cpp | 1 + Firmware/messages.h | 1 + Firmware/ultralcd.cpp | 15 ++++++++++++++- Firmware/util.h | 4 +++- lang/po/Firmware.pot | 5 +++++ lang/po/Firmware_cs.po | 5 +++++ lang/po/Firmware_de.po | 5 +++++ lang/po/Firmware_es.po | 5 +++++ lang/po/Firmware_fr.po | 5 +++++ lang/po/Firmware_hr.po | 5 +++++ lang/po/Firmware_hu.po | 5 +++++ lang/po/Firmware_it.po | 5 +++++ lang/po/Firmware_nl.po | 5 +++++ lang/po/Firmware_no.po | 5 +++++ lang/po/Firmware_pl.po | 5 +++++ lang/po/Firmware_ro.po | 5 +++++ lang/po/Firmware_sk.po | 5 +++++ lang/po/Firmware_sv.po | 5 +++++ 22 files changed, 133 insertions(+), 5 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 5db418b7b..128786983 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -311,6 +311,19 @@ bool printJobOngoing(); bool printer_active(); +enum class PrinterStatus : uint8_t +{ + NotReady = 0, + IsReady = 1, + Idle = 2, + SDPrintingFinished = 3, + HostPrintingFinished = 4, + IsSDPrinting = 5, + IsHostPrinting = 6, +}; + +extern PrinterStatus printer_status; + //! Beware - mcode_in_progress is set as soon as the command gets really processed, //! which is not the same as posting the M600 command into the command queue //! There can be a considerable lag between posting M600 and its real processing which might result diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 2ab26bf70..6f2feb4b0 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -520,6 +520,8 @@ bool __attribute__((noinline)) printer_active() { || mesh_bed_leveling_flag; } +PrinterStatus printer_status; + // Currently only used in one place, allowed to be inlined bool check_fsensor() { return printJobOngoing() @@ -1733,7 +1735,7 @@ void loop() usb_timer.start(); } else if (usb_timer.expired(10000)) { //just need to check if it expired. Nothing else is needed to be done. - ; + printer_status = PrinterStatus::HostPrintingFinished; //set printer state to show LCD menu after finished SD print and report correctly M862.7 Q when USB times out } #ifdef PRUSA_M28 @@ -5837,6 +5839,22 @@ Sigma_Exit: #endif // Z_PROBE_REPEATABILITY_TEST #endif // ENABLE_AUTO_BED_LEVELING + /*! + ### M72 - Set Ready M72: Set Ready + #### Usage + + M72 [ S ] + + #### Parameters + - `S` - Set printer ready + */ + case 72: + { + if(code_seen('S')) printer_status = PrinterStatus(code_value_uint8()); + break; + } + + /*! ### M73 - Set/get print progress M73: Set/Get build percentage #### Usage @@ -8040,6 +8058,8 @@ Sigma_Exit: - M862.3 { P"" | Q } - M862.4 { P | Q } - M862.5 { P | Q } + - M862.6 Not used but reserved + - M862.7 { Q } When run with P<> argument, the check is performed against the input value. When run with Q argument, the current value is shown. @@ -8122,6 +8142,11 @@ Sigma_Exit: else if(code_seen('Q')) SERIAL_PROTOCOLLN(GCODE_LEVEL); break; + case ClPrintChecking::_Features: // ~ .6 + break; + case ClPrintChecking::_PrinterState: // ~.7 + SERIAL_PROTOCOLLN((int)printer_status); + break; } break; } diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index 1ad03423d..877642647 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -274,6 +274,7 @@ void CardReader::startFileprint() if(cardOK) { sdprinting = true; + printer_status = PrinterStatus::IsSDPrinting; //set printer state to hide LCD menu and report correctly M862.7 Q while SD printing #ifdef SDCARD_SORT_ALPHA //flush_presort(); #endif @@ -1019,6 +1020,7 @@ void CardReader::printingHasFinished() else { sdprinting = false; + printer_status = PrinterStatus::SDPrintingFinished; //set printer state to show LCD menu after finished SD print if(SD_FINISHED_STEPPERRELEASE) { finishAndDisableSteppers(); diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index 84f11329e..09890c537 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -480,9 +480,10 @@ void get_command() allow_when_stopped = true; // Handle the USB timer - if ((*cmd_start == 'G') && !(IS_SD_PRINTING)) + if ((*cmd_start == 'G') && !(IS_SD_PRINTING)) { usb_timer.start(); - + printer_status = PrinterStatus::IsHostPrinting; //set printer state busy printing to hide LCD menu and report correctly M862.7 Q while USB printing + } if (allow_when_stopped == false && Stopped == true) { // Stopped can be set either during error states (thermal error: cannot continue), or // when a printer-initiated action is processed. In such case the printer will send to diff --git a/Firmware/messages.cpp b/Firmware/messages.cpp index 853c760c3..117dc54bb 100644 --- a/Firmware/messages.cpp +++ b/Firmware/messages.cpp @@ -102,6 +102,7 @@ const char MSG_SELFTEST_MOTOR[] PROGMEM_I1 = ISTR("Motor"); ////MSG_SELFTEST_MOT const char MSG_SELFTEST_FILAMENT_SENSOR[] PROGMEM_I1 = ISTR("Filament sensor"); ////MSG_SELFTEST_FILAMENT_SENSOR c=17 const char MSG_SELFTEST_WIRINGERROR[] PROGMEM_I1 = ISTR("Wiring error"); ////MSG_SELFTEST_WIRINGERROR c=18 const char MSG_SETTINGS[] PROGMEM_I1 = ISTR("Settings"); ////MSG_SETTINGS c=18 +const char MSG_SET_READY[] PROGMEM_I1 = ISTR("Set Ready"); ////MSG_SET_READY c=13 const char MSG_SELECT_LANGUAGE[] PROGMEM_I1 = ISTR("Select language"); ////MSG_SELECT_LANGUAGE c=18 const char MSG_SORTING_FILES[] PROGMEM_I1 = ISTR("Sorting files"); ////MSG_SORTING_FILES c=20 const char MSG_TOTAL[] PROGMEM_I1 = ISTR("Total"); ////MSG_TOTAL c=6 diff --git a/Firmware/messages.h b/Firmware/messages.h index 713184b61..5bfd6ecb1 100644 --- a/Firmware/messages.h +++ b/Firmware/messages.h @@ -104,6 +104,7 @@ extern const char MSG_SELFTEST_MOTOR[]; extern const char MSG_SELFTEST_FILAMENT_SENSOR[]; extern const char MSG_SELFTEST_WIRINGERROR[]; extern const char MSG_SETTINGS[]; +extern const char MSG_SET_READY[]; extern const char MSG_SELECT_LANGUAGE[]; extern const char MSG_SORTING_FILES[]; extern const char MSG_TOTAL[]; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 8b8043ac9..66c118425 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5118,6 +5118,16 @@ static void lcd_sheet_menu() MENU_END(); } +//! @brief Set printer state +//! Sets the printer state for next print via LCD menu +//! @endcode +static void lcd_printer_status_toggle() +{ + if (printer_status == PrinterStatus::NotReady) printer_status = PrinterStatus::IsReady; + else printer_status = PrinterStatus::NotReady; + enquecommandf_P(PSTR("M118 A1 action:%s"), (printer_status == PrinterStatus::NotReady) ? "not_ready" : "ready"); +} + //! @brief Show Main Menu //! //! @code{.unparsed} @@ -5190,7 +5200,9 @@ static void lcd_main_menu() } else if (!Stopped) { MENU_ITEM_SUBMENU_P(_i("Preheat"), lcd_preheat_menu);////MSG_PREHEAT c=18 } - + if (printer_status < PrinterStatus::IsSDPrinting) { + MENU_ITEM_TOGGLE_P(_T(MSG_SET_READY), (printer_status == PrinterStatus::IsReady) ? _T(MSG_YES) : _T(MSG_NO), lcd_printer_status_toggle); + } if (mesh_bed_leveling_flag == false && homing_flag == false && !print_job_timer.isPaused() && !processing_tcode) { if (usb_timer.running()) { MENU_ITEM_FUNCTION_P(_T(MSG_PAUSE_PRINT), lcd_pause_usb_print); @@ -5643,6 +5655,7 @@ void print_stop(bool interactive) // return to status is required to continue processing in the main loop! lcd_commands_type = LcdCommands::StopPrint; + printer_status = PrinterStatus::NotReady; //set printer state to show LCD menu after print has been stopped and report correctly M862.7 Q lcd_return_to_status(); } diff --git a/Firmware/util.h b/Firmware/util.h index f7c2596ed..dca66b2fe 100644 --- a/Firmware/util.h +++ b/Firmware/util.h @@ -33,7 +33,9 @@ enum class ClPrintChecking:uint_least8_t _Model=2, _Smodel=3, _Version=4, - _Gcode=5 + _Gcode=5, + _Features=6, + _PrinterState=7 }; enum class ClNozzleDiameter:uint_least8_t diff --git a/lang/po/Firmware.pot b/lang/po/Firmware.pot index cf88ff957..c83a39f1c 100644 --- a/lang/po/Firmware.pot +++ b/lang/po/Firmware.pot @@ -1939,6 +1939,11 @@ msgstr "" msgid "Sensor verified, remove the filament now." msgstr "" +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "" + #. MSG_SET_TEMPERATURE c=20 #: ../../Firmware/ultralcd.cpp:2706 msgid "Set temperature:" diff --git a/lang/po/Firmware_cs.po b/lang/po/Firmware_cs.po index c8b357d39..3dc645180 100644 --- a/lang/po/Firmware_cs.po +++ b/lang/po/Firmware_cs.po @@ -2555,6 +2555,11 @@ msgstr "Citlivost" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Mesh Bed Leveling selhal. Spusťte kalibraci osy Z." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Připravit" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Vyjmete stary filament a stisknete tlacitko pro zavedeni noveho." diff --git a/lang/po/Firmware_de.po b/lang/po/Firmware_de.po index bd0ad9edd..cbc2696b1 100644 --- a/lang/po/Firmware_de.po +++ b/lang/po/Firmware_de.po @@ -2583,6 +2583,11 @@ msgstr "Sensitivität" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "MeshBett Ausgleich fehlgeschlagen. Z Kalibrierung ausführen." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Bereit setzen" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Entferne das alte Fil. und drücke den Knopf, um das neue zu laden." diff --git a/lang/po/Firmware_es.po b/lang/po/Firmware_es.po index 8cc80a3ec..0acc67da0 100644 --- a/lang/po/Firmware_es.po +++ b/lang/po/Firmware_es.po @@ -2578,6 +2578,11 @@ msgstr "Sensibilidad" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Nivelación fallida. Ejecute la calibración Z." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Listo" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "" #~ "Retira el fil. viejo y presiona el dial para comenzar a cargar el nuevo." diff --git a/lang/po/Firmware_fr.po b/lang/po/Firmware_fr.po index 00b6788c2..2067f8e2b 100644 --- a/lang/po/Firmware_fr.po +++ b/lang/po/Firmware_fr.po @@ -2590,6 +2590,11 @@ msgstr "Sensibilité" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Mesh bed leveling a échoué. Veuillez procéder à l'étalonnage Z." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Ensemb. prête" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "" #~ "Retirez l'ancien fil. puis appuyez sur le bouton pour charger le nouveau." diff --git a/lang/po/Firmware_hr.po b/lang/po/Firmware_hr.po index fbe1b8f08..d06e4e60d 100644 --- a/lang/po/Firmware_hr.po +++ b/lang/po/Firmware_hr.po @@ -2572,6 +2572,11 @@ msgstr "Osjetljivost" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Niveliranje podloge nije uspijelo. Pokrenite Z kalibraciju." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Set spreman" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Uklonite stari fil. i pritisnite gumb za pocetak stavljanja novog." diff --git a/lang/po/Firmware_hu.po b/lang/po/Firmware_hu.po index 23a201feb..b3397b6a7 100644 --- a/lang/po/Firmware_hu.po +++ b/lang/po/Firmware_hu.po @@ -2577,6 +2577,11 @@ msgstr "Érzékenység" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Sikertelen asztal szintezés. Kérjük, futtasd a Z kalibrálást." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Készen áll" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Vedd ki a regi fil., majd nyomd meg a gombot az uj fil. betoltesehez." diff --git a/lang/po/Firmware_it.po b/lang/po/Firmware_it.po index d6998c891..d4e6bbec7 100644 --- a/lang/po/Firmware_it.po +++ b/lang/po/Firmware_it.po @@ -2578,6 +2578,11 @@ msgstr "Sensibilità" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Livellamento piano fallito. Si prega di eseguire la calibrazione Z." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Impos. Pronta" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Rimuovi il fil. precedente e premi la manopola per caricare il nuovo." diff --git a/lang/po/Firmware_nl.po b/lang/po/Firmware_nl.po index 1e8e62e61..b112a9d32 100644 --- a/lang/po/Firmware_nl.po +++ b/lang/po/Firmware_nl.po @@ -2580,6 +2580,11 @@ msgstr "Sensitiviteit" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Bed leveling mislukt. Voer de Z-kalibratie uit." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Gereed zetten" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "" #~ "Verwijder de oude filament en druk op de knop om nieuwe filament te laden." diff --git a/lang/po/Firmware_no.po b/lang/po/Firmware_no.po index a0f7db883..60a659f81 100644 --- a/lang/po/Firmware_no.po +++ b/lang/po/Firmware_no.po @@ -2554,6 +2554,11 @@ msgstr "Sensitivitet" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Sengeplanering feilet. Kjør Z-kalibrering." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Gjør klar" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Ta bort det gamle filamentet og trykk valghjulet for å laste et nytt." diff --git a/lang/po/Firmware_pl.po b/lang/po/Firmware_pl.po index d1788d125..72680adc9 100644 --- a/lang/po/Firmware_pl.po +++ b/lang/po/Firmware_pl.po @@ -2572,6 +2572,11 @@ msgstr "Czułość" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Poziomowanie stołu nieudane. Proszę uruchomić kalibrację Z." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Ust. gotowość" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Wyciągnij poprzedni filament i naciśnij pokrętło aby załadować nowy." diff --git a/lang/po/Firmware_ro.po b/lang/po/Firmware_ro.po index 3880edca0..3107e6a73 100644 --- a/lang/po/Firmware_ro.po +++ b/lang/po/Firmware_ro.po @@ -2578,6 +2578,11 @@ msgstr "Sensibilitate" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Nivelarea patului a eșuat. Rulează Calibrare Z." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Set pregătit" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Scoateți fil. vechi și apăsați butonul pentru a încărca unul nou." diff --git a/lang/po/Firmware_sk.po b/lang/po/Firmware_sk.po index 8c5a4d870..b81e6422a 100644 --- a/lang/po/Firmware_sk.po +++ b/lang/po/Firmware_sk.po @@ -2560,6 +2560,11 @@ msgstr "Citlivosť" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Vyrovnanie platne zlyhalo. Spustite kalibráciu Z." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Pripravte sa" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Vyberte starý filament a stlačte tlačidlo pre zavedenie nového." diff --git a/lang/po/Firmware_sv.po b/lang/po/Firmware_sv.po index 7ed311907..96e63abac 100644 --- a/lang/po/Firmware_sv.po +++ b/lang/po/Firmware_sv.po @@ -2567,6 +2567,11 @@ msgstr "Känslighet" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Bäddnivelleringen felade. Kör Z-kalibrering." +#. MSG_SET_READY c=13 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 +msgid "Set Ready" +msgstr "Gör klar" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Ta bort det gamla fil. och tryck på knappen för att börja ladda nytt." From 514607318e797c99096241255fbe9132aa243c22 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 17 Nov 2023 10:34:42 +0100 Subject: [PATCH 02/10] Add printer_state.cpp/.h --- Firmware/Marlin.h | 14 +------------ Firmware/Marlin_main.cpp | 41 ++++++++++++++++++++++++++++---------- Firmware/cardreader.cpp | 4 ++-- Firmware/cmdqueue.cpp | 2 +- Firmware/printer_state.cpp | 16 +++++++++++++++ Firmware/printer_state.h | 27 +++++++++++++++++++++++++ Firmware/ultralcd.cpp | 17 ++++++++++------ 7 files changed, 88 insertions(+), 33 deletions(-) create mode 100644 Firmware/printer_state.cpp create mode 100644 Firmware/printer_state.h diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 128786983..d277a3887 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -22,6 +22,7 @@ #include "pins.h" #include "Timer.h" #include "mmu2.h" +#include "printer_state.h" #ifndef AT90USB #define HardwareSerial_h // trick to disable the standard HWserial @@ -311,19 +312,6 @@ bool printJobOngoing(); bool printer_active(); -enum class PrinterStatus : uint8_t -{ - NotReady = 0, - IsReady = 1, - Idle = 2, - SDPrintingFinished = 3, - HostPrintingFinished = 4, - IsSDPrinting = 5, - IsHostPrinting = 6, -}; - -extern PrinterStatus printer_status; - //! Beware - mcode_in_progress is set as soon as the command gets really processed, //! which is not the same as posting the M600 command into the command queue //! There can be a considerable lag between posting M600 and its real processing which might result diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 6f2feb4b0..d5a989d9e 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -520,8 +520,6 @@ bool __attribute__((noinline)) printer_active() { || mesh_bed_leveling_flag; } -PrinterStatus printer_status; - // Currently only used in one place, allowed to be inlined bool check_fsensor() { return printJobOngoing() @@ -1735,7 +1733,7 @@ void loop() usb_timer.start(); } else if (usb_timer.expired(10000)) { //just need to check if it expired. Nothing else is needed to be done. - printer_status = PrinterStatus::HostPrintingFinished; //set printer state to show LCD menu after finished SD print and report correctly M862.7 Q when USB times out + SetPrinterState(PrinterState::HostPrintingFinished); //set printer state to show LCD menu after finished SD print and report correctly M862.7 Q when USB times out } #ifdef PRUSA_M28 @@ -5840,17 +5838,40 @@ Sigma_Exit: #endif // ENABLE_AUTO_BED_LEVELING /*! - ### M72 - Set Ready M72: Set Ready + ### M72 - Set/get Printer State M72: Set/get Printer State + Without any parameter get printer state + - 0 = NotReady Used by PrusaConnect + - 1 = IsReady Used by PrusaConnect + - 2 = Idle + - 3 = SD printing finished + - 4 = Host printing finished + - 5 = SD printing + - 6 = Host printing + #### Usage M72 [ S ] #### Parameters - - `S` - Set printer ready + - `Snnn` - Set printer state 0 = not_ready, 1 = ready */ case 72: { - if(code_seen('S')) printer_status = PrinterStatus(code_value_uint8()); + if(code_seen('S')){ + switch (code_value_uint8()){ + case 0: + SetPrinterState(PrinterState::NotReady); + break; + case 1: + SetPrinterState(PrinterState::IsReady); + break; + default: + break; + } + } else { + printf_P(_N("PrinterState: %d\n"),uint8_t(GetPrinterState())); + break; + } break; } @@ -8058,8 +8079,7 @@ Sigma_Exit: - M862.3 { P"" | Q } - M862.4 { P | Q } - M862.5 { P | Q } - - M862.6 Not used but reserved - - M862.7 { Q } + - M862.6 Not used but reserved by 32-bit When run with P<> argument, the check is performed against the input value. When run with Q argument, the current value is shown. @@ -8142,10 +8162,9 @@ Sigma_Exit: else if(code_seen('Q')) SERIAL_PROTOCOLLN(GCODE_LEVEL); break; - case ClPrintChecking::_Features: // ~ .6 + case ClPrintChecking::_Features: // ~ .6 used by 32-bit break; - case ClPrintChecking::_PrinterState: // ~.7 - SERIAL_PROTOCOLLN((int)printer_status); + default: break; } break; diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index 877642647..f7557afae 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -274,7 +274,7 @@ void CardReader::startFileprint() if(cardOK) { sdprinting = true; - printer_status = PrinterStatus::IsSDPrinting; //set printer state to hide LCD menu and report correctly M862.7 Q while SD printing + SetPrinterState(PrinterState::IsSDPrinting); //set printer state to hide LCD menu and report correctly M862.7 Q while SD printing #ifdef SDCARD_SORT_ALPHA //flush_presort(); #endif @@ -1020,7 +1020,7 @@ void CardReader::printingHasFinished() else { sdprinting = false; - printer_status = PrinterStatus::SDPrintingFinished; //set printer state to show LCD menu after finished SD print + SetPrinterState(PrinterState::SDPrintingFinished); //set printer state to show LCD menu after finished SD print if(SD_FINISHED_STEPPERRELEASE) { finishAndDisableSteppers(); diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index 09890c537..222fc8024 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -482,7 +482,7 @@ void get_command() // Handle the USB timer if ((*cmd_start == 'G') && !(IS_SD_PRINTING)) { usb_timer.start(); - printer_status = PrinterStatus::IsHostPrinting; //set printer state busy printing to hide LCD menu and report correctly M862.7 Q while USB printing + SetPrinterState(PrinterState::IsHostPrinting); //set printer state busy printing to hide LCD menu and report correctly M862.7 Q while USB printing } if (allow_when_stopped == false && Stopped == true) { // Stopped can be set either during error states (thermal error: cannot continue), or diff --git a/Firmware/printer_state.cpp b/Firmware/printer_state.cpp new file mode 100644 index 000000000..fb15fcedf --- /dev/null +++ b/Firmware/printer_state.cpp @@ -0,0 +1,16 @@ +//! @file +//! @brief Printer State +//! @param GetPrinterState get current printer state +//! @param SetPrinterState set printer state + +#include "printer_state.h" + +static PrinterState printer_state; + +PrinterState GetPrinterState() { + return printer_state; +} + +PrinterState SetPrinterState(PrinterState status) { + return printer_state = status; +} diff --git a/Firmware/printer_state.h b/Firmware/printer_state.h new file mode 100644 index 000000000..a94b0f742 --- /dev/null +++ b/Firmware/printer_state.h @@ -0,0 +1,27 @@ +//! @file +//! @brief Printer States +//! @param NotReady +//! @param IsReady +//! @param Idle +//! @param SDPrintingFinished +//! @param HostPrintingFinished +//! @param IsSDPrinting +//! @param IsHostPrinting +//! @todo Pause/Resume states, Heating states and more + +#pragma once +#include "macros.h" + +enum class PrinterState : uint8_t +{ + NotReady = 0, //Lowest state to simplify queries + IsReady = 1, // + Idle = 2, + SDPrintingFinished = 3, + HostPrintingFinished = 4, + IsSDPrinting = 5, + IsHostPrinting = 6, +}; + +PrinterState GetPrinterState(); +PrinterState SetPrinterState(PrinterState status); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 66c118425..fc5047eed 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -899,6 +899,7 @@ void lcd_commands() pid_temp = DEFAULT_PID_TEMP; lcd_commands_step = 0; lcd_commands_type = LcdCommands::Idle; + SetPrinterState(PrinterState::Idle); } } @@ -5123,9 +5124,9 @@ static void lcd_sheet_menu() //! @endcode static void lcd_printer_status_toggle() { - if (printer_status == PrinterStatus::NotReady) printer_status = PrinterStatus::IsReady; - else printer_status = PrinterStatus::NotReady; - enquecommandf_P(PSTR("M118 A1 action:%s"), (printer_status == PrinterStatus::NotReady) ? "not_ready" : "ready"); + if (GetPrinterState() == PrinterState::IsReady) SetPrinterState(PrinterState::NotReady); + else SetPrinterState(PrinterState::IsReady); + enquecommandf_P(PSTR("M118 A1 action:%s"), (GetPrinterState() == PrinterState::IsReady) ? "ready" : "not_ready"); } //! @brief Show Main Menu @@ -5200,8 +5201,12 @@ static void lcd_main_menu() } else if (!Stopped) { MENU_ITEM_SUBMENU_P(_i("Preheat"), lcd_preheat_menu);////MSG_PREHEAT c=18 } - if (printer_status < PrinterStatus::IsSDPrinting) { - MENU_ITEM_TOGGLE_P(_T(MSG_SET_READY), (printer_status == PrinterStatus::IsReady) ? _T(MSG_YES) : _T(MSG_NO), lcd_printer_status_toggle); + if (GetPrinterState() < PrinterState::IsSDPrinting) { + if(GetPrinterState() == PrinterState::IsReady) { + MENU_ITEM_TOGGLE_P(_T(MSG_SET_READY), _T(MSG_NO), lcd_printer_status_toggle); + } else { + MENU_ITEM_TOGGLE_P(_T(MSG_SET_READY), _T(MSG_YES), lcd_printer_status_toggle); + } } if (mesh_bed_leveling_flag == false && homing_flag == false && !print_job_timer.isPaused() && !processing_tcode) { if (usb_timer.running()) { @@ -5655,7 +5660,7 @@ void print_stop(bool interactive) // return to status is required to continue processing in the main loop! lcd_commands_type = LcdCommands::StopPrint; - printer_status = PrinterStatus::NotReady; //set printer state to show LCD menu after print has been stopped and report correctly M862.7 Q + SetPrinterState(PrinterState::NotReady); //set printer state to show LCD menu after print has been stopped and report correctly M862.7 Q lcd_return_to_status(); } From d3b98f30a76ad7814590580aa659d64470dbd6b3 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 17 Nov 2023 10:41:23 +0100 Subject: [PATCH 03/10] Show Set Ready LCD menu only when M79 timer is running. --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index fc5047eed..a55d95876 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5201,7 +5201,7 @@ static void lcd_main_menu() } else if (!Stopped) { MENU_ITEM_SUBMENU_P(_i("Preheat"), lcd_preheat_menu);////MSG_PREHEAT c=18 } - if (GetPrinterState() < PrinterState::IsSDPrinting) { + if (GetPrinterState() < PrinterState::IsSDPrinting && M79_timer_get_status()) { if(GetPrinterState() == PrinterState::IsReady) { MENU_ITEM_TOGGLE_P(_T(MSG_SET_READY), _T(MSG_NO), lcd_printer_status_toggle); } else { From dfcaa330fa35966ffacb4684fa82f366f33426a6 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 17 Nov 2023 10:47:33 +0100 Subject: [PATCH 04/10] Fix cmake build --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index e611b51fc..9d24b8ddf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -210,6 +210,7 @@ set(FW_SOURCES pat9125.cpp planner.cpp power_panic.cpp + printer_state.cpp Prusa_farm.cpp qr_solve.cpp rbuf.c From 516ae1b952952c6e34b77e6f6c0593fd20b1ae49 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 17 Nov 2023 10:59:58 +0100 Subject: [PATCH 05/10] Update state --- Firmware/cmdqueue.cpp | 2 +- Firmware/ultralcd.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index 222fc8024..d3eac7ecd 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -480,7 +480,7 @@ void get_command() allow_when_stopped = true; // Handle the USB timer - if ((*cmd_start == 'G') && !(IS_SD_PRINTING)) { + if ((*cmd_start == 'G') && (GetPrinterState() != PrinterState::IsSDPrinting)) { usb_timer.start(); SetPrinterState(PrinterState::IsHostPrinting); //set printer state busy printing to hide LCD menu and report correctly M862.7 Q while USB printing } diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index a55d95876..ef40ba3ae 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5126,7 +5126,7 @@ static void lcd_printer_status_toggle() { if (GetPrinterState() == PrinterState::IsReady) SetPrinterState(PrinterState::NotReady); else SetPrinterState(PrinterState::IsReady); - enquecommandf_P(PSTR("M118 A1 action:%s"), (GetPrinterState() == PrinterState::IsReady) ? "ready" : "not_ready"); + enquecommandf_P(PSTR("M118 A1 action:%S"), (GetPrinterState() == PrinterState::IsReady) ? "ready" : "not_ready"); } //! @brief Show Main Menu From 880d2f28bd5da77eb1fc3abc9f331b08df1a4990 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Tue, 21 Nov 2023 15:40:12 +0100 Subject: [PATCH 06/10] LCD menu only sends `// action:ready` or `// action:not_ready` via serial Host has to send back state with `M72 S1|0` to keep printer and host in sync Changed LCD menu messages to `Set ready` and `Set not ready` Updated translations --- Firmware/messages.cpp | 5 +++- Firmware/messages.h | 3 +++ Firmware/ultralcd.cpp | 13 +++++----- lang/po/Firmware.pot | 7 +++++- lang/po/Firmware_cs.po | 11 ++++++--- lang/po/Firmware_de.po | 15 +++++++---- lang/po/Firmware_es.po | 33 ++++++++++++++----------- lang/po/Firmware_fr.po | 47 +++++++++++++++++++---------------- lang/po/Firmware_hr.po | 7 +++++- lang/po/Firmware_hu.po | 7 +++++- lang/po/Firmware_it.po | 9 +++++-- lang/po/Firmware_nl.po | 7 +++++- lang/po/Firmware_no.po | 7 +++++- lang/po/Firmware_pl.po | 47 ++++++++++++++++++----------------- lang/po/Firmware_ro.po | 56 ++++++++++++++++++++++++------------------ lang/po/Firmware_sk.po | 9 +++++-- lang/po/Firmware_sv.po | 7 +++++- 17 files changed, 183 insertions(+), 107 deletions(-) diff --git a/Firmware/messages.cpp b/Firmware/messages.cpp index 117dc54bb..3ccd0f861 100644 --- a/Firmware/messages.cpp +++ b/Firmware/messages.cpp @@ -102,7 +102,8 @@ const char MSG_SELFTEST_MOTOR[] PROGMEM_I1 = ISTR("Motor"); ////MSG_SELFTEST_MOT const char MSG_SELFTEST_FILAMENT_SENSOR[] PROGMEM_I1 = ISTR("Filament sensor"); ////MSG_SELFTEST_FILAMENT_SENSOR c=17 const char MSG_SELFTEST_WIRINGERROR[] PROGMEM_I1 = ISTR("Wiring error"); ////MSG_SELFTEST_WIRINGERROR c=18 const char MSG_SETTINGS[] PROGMEM_I1 = ISTR("Settings"); ////MSG_SETTINGS c=18 -const char MSG_SET_READY[] PROGMEM_I1 = ISTR("Set Ready"); ////MSG_SET_READY c=13 +const char MSG_SET_READY[] PROGMEM_I1 = ISTR("Set Ready"); ////MSG_SET_READY c=18 +const char MSG_SET_NOT_READY[] PROGMEM_I1 = ISTR("Set not Ready"); ////MSG_SET_NOT_READY c=18 const char MSG_SELECT_LANGUAGE[] PROGMEM_I1 = ISTR("Select language"); ////MSG_SELECT_LANGUAGE c=18 const char MSG_SORTING_FILES[] PROGMEM_I1 = ISTR("Sorting files"); ////MSG_SORTING_FILES c=20 const char MSG_TOTAL[] PROGMEM_I1 = ISTR("Total"); ////MSG_TOTAL c=6 @@ -229,6 +230,8 @@ const char MSG_OCTOPRINT_PAUSED[] PROGMEM_N1 = "// action:paused"; //// const char MSG_OCTOPRINT_ASK_RESUME[] PROGMEM_N1 = "// action:resume"; //// const char MSG_OCTOPRINT_RESUMED[] PROGMEM_N1 = "// action:resumed"; //// const char MSG_OCTOPRINT_CANCEL[] PROGMEM_N1 = "// action:cancel"; //// +const char MSG_OCTOPRINT_READY[] PROGMEM_N1 = "// action:ready"; //// +const char MSG_OCTOPRINT_NOT_READY[] PROGMEM_N1 = "// action:not_ready"; //// const char MSG_FANCHECK_HOTEND[] PROGMEM_N1 = "Err:HOTEND FAN ERROR"; ////c=20 const char MSG_FANCHECK_PRINT[] PROGMEM_N1 = "Err:PRINT FAN ERROR"; ////c=20 const char MSG_M112_KILL[] PROGMEM_N1 = "M112 called. Emergency Stop."; ////c=20 diff --git a/Firmware/messages.h b/Firmware/messages.h index 5bfd6ecb1..68ac51b0e 100644 --- a/Firmware/messages.h +++ b/Firmware/messages.h @@ -105,6 +105,7 @@ extern const char MSG_SELFTEST_FILAMENT_SENSOR[]; extern const char MSG_SELFTEST_WIRINGERROR[]; extern const char MSG_SETTINGS[]; extern const char MSG_SET_READY[]; +extern const char MSG_SET_NOT_READY[]; extern const char MSG_SELECT_LANGUAGE[]; extern const char MSG_SORTING_FILES[]; extern const char MSG_TOTAL[]; @@ -232,6 +233,8 @@ extern const char MSG_OCTOPRINT_PAUSED[]; extern const char MSG_OCTOPRINT_ASK_RESUME[]; extern const char MSG_OCTOPRINT_RESUMED[]; extern const char MSG_OCTOPRINT_CANCEL[]; +extern const char MSG_OCTOPRINT_READY[]; +extern const char MSG_OCTOPRINT_NOT_READY[]; extern const char MSG_FANCHECK_HOTEND[]; extern const char MSG_FANCHECK_PRINT[]; extern const char MSG_M112_KILL[]; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index ef40ba3ae..0607c5bc8 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5120,13 +5120,12 @@ static void lcd_sheet_menu() } //! @brief Set printer state -//! Sets the printer state for next print via LCD menu +//! Sends the printer state for next print via LCD menu to host +//! The host has to set the printer ready state with `M72` to keep printer in sync with the host //! @endcode -static void lcd_printer_status_toggle() +static void lcd_printer_ready_state_toggle() { - if (GetPrinterState() == PrinterState::IsReady) SetPrinterState(PrinterState::NotReady); - else SetPrinterState(PrinterState::IsReady); - enquecommandf_P(PSTR("M118 A1 action:%S"), (GetPrinterState() == PrinterState::IsReady) ? "ready" : "not_ready"); + enquecommandf_P(PSTR("M118 %S"), (GetPrinterState() == PrinterState::IsReady) ? MSG_OCTOPRINT_NOT_READY : MSG_OCTOPRINT_READY); } //! @brief Show Main Menu @@ -5203,9 +5202,9 @@ static void lcd_main_menu() } if (GetPrinterState() < PrinterState::IsSDPrinting && M79_timer_get_status()) { if(GetPrinterState() == PrinterState::IsReady) { - MENU_ITEM_TOGGLE_P(_T(MSG_SET_READY), _T(MSG_NO), lcd_printer_status_toggle); + MENU_ITEM_FUNCTION_P(_T(MSG_SET_NOT_READY), lcd_printer_ready_state_toggle); } else { - MENU_ITEM_TOGGLE_P(_T(MSG_SET_READY), _T(MSG_YES), lcd_printer_status_toggle); + MENU_ITEM_FUNCTION_P(_T(MSG_SET_READY), lcd_printer_ready_state_toggle); } } if (mesh_bed_leveling_flag == false && homing_flag == false && !print_job_timer.isPaused() && !processing_tcode) { diff --git a/lang/po/Firmware.pot b/lang/po/Firmware.pot index c83a39f1c..e2022d02e 100644 --- a/lang/po/Firmware.pot +++ b/lang/po/Firmware.pot @@ -1939,11 +1939,16 @@ msgstr "" msgid "Sensor verified, remove the filament now." msgstr "" -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" msgstr "" +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "" + #. MSG_SET_TEMPERATURE c=20 #: ../../Firmware/ultralcd.cpp:2706 msgid "Set temperature:" diff --git a/lang/po/Firmware_cs.po b/lang/po/Firmware_cs.po index 3dc645180..da20ea331 100644 --- a/lang/po/Firmware_cs.po +++ b/lang/po/Firmware_cs.po @@ -1429,8 +1429,8 @@ msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." msgstr "" -"PINDA kalibrace dokončena a je nyní aktivní. Lze deaktivovat v " -"menu Nastavení->Tepl. kal." +"PINDA kalibrace dokončena a je nyní aktivní. Lze deaktivovat v menu " +"Nastavení->Tepl. kal." #. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 #: ../../Firmware/mmu2/errors_list.h:142 ../../Firmware/mmu2/errors_list.h:196 @@ -2555,11 +2555,16 @@ msgstr "Citlivost" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Mesh Bed Leveling selhal. Spusťte kalibraci osy Z." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" msgstr "Připravit" +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Zrušit Připravena" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Vyjmete stary filament a stisknete tlacitko pro zavedeni noveho." diff --git a/lang/po/Firmware_de.po b/lang/po/Firmware_de.po index cbc2696b1..8fba007ba 100644 --- a/lang/po/Firmware_de.po +++ b/lang/po/Firmware_de.po @@ -570,8 +570,8 @@ msgid "" "FINDA didn't switch off while unloading filament. Try unloading manually. " "Ensure filament can move and FINDA works." msgstr "" -"FINDA nicht ausgeschaltet beim Entladen. Entlade Fil. manuell. Bewegt sich" -" Fil.? Funktioniert FINDA?" +"FINDA nicht ausgeschaltet beim Entladen. Entlade Fil. manuell. Bewegt sich " +"Fil.? Funktioniert FINDA?" #. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 #: ../../Firmware/mmu2/errors_list.h:241 ../../Firmware/mmu2/errors_list.h:297 @@ -2519,8 +2519,8 @@ msgid "" "Selector can't move due to FINDA detecting a filament. Make sure no filament" " is in Selector and FINDA works properly." msgstr "" -"Selektor kann sich nicht bewegen, da FINDA Fil. erkannt hat. Stelle sicher," -" dass sich kein Fil. im Selektor befindet und FINDA richtig funktioniert." +"Selektor kann sich nicht bewegen, da FINDA Fil. erkannt hat. Stelle sicher, " +"dass sich kein Fil. im Selektor befindet und FINDA richtig funktioniert." #. MSG_DESC_FW_UPDATE_NEEDED c=20 r=8 #: ../../Firmware/mmu2/errors_list.h:289 ../../Firmware/mmu2/errors_list.h:336 @@ -2583,11 +2583,16 @@ msgstr "Sensitivität" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "MeshBett Ausgleich fehlgeschlagen. Z Kalibrierung ausführen." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" msgstr "Bereit setzen" +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Nicht breit setzen" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Entferne das alte Fil. und drücke den Knopf, um das neue zu laden." diff --git a/lang/po/Firmware_es.po b/lang/po/Firmware_es.po index 0acc67da0..bec603784 100644 --- a/lang/po/Firmware_es.po +++ b/lang/po/Firmware_es.po @@ -163,7 +163,8 @@ msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." msgstr "" -"Falló la nivelación. Sensor no funciona. ¿Restos en boquilla? Esperando reset." +"Falló la nivelación. Sensor no funciona. ¿Restos en boquilla? Esperando " +"reset." #. MSG_SELFTEST_BEDHEATER c=20 #: ../../Firmware/ultralcd.cpp:6596 @@ -810,8 +811,8 @@ msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." msgstr "" -"Código G laminado para un nivel diferente. Vuelve a laminar el modelo de nuevo. " -"Impresión cancelada." +"Código G laminado para un nivel diferente. Vuelve a laminar el modelo de " +"nuevo. Impresión cancelada." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=3 #: ../../Firmware/messages.cpp:137 ../../Firmware/util.cpp:316 @@ -826,8 +827,8 @@ msgid "" "G-code sliced for a different printer type. Please re-slice the model again." " Print cancelled." msgstr "" -"Código G laminado para una impresora diferente. Vuelve a laminar el modelo de nuevo." -" Impresión cancelada." +"Código G laminado para una impresora diferente. Vuelve a laminar el modelo " +"de nuevo. Impresión cancelada." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=3 #: ../../Firmware/messages.cpp:139 ../../Firmware/util.cpp:366 @@ -888,8 +889,8 @@ msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" msgstr "" -"Hola, soy tu impresora Original Prusa i3. ¿Quieres que te guíe a traves de la " -"configuración?" +"Hola, soy tu impresora Original Prusa i3. ¿Quieres que te guíe a traves de " +"la configuración?" #. MSG_HIGH_POWER c=10 #: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4146 @@ -985,8 +986,7 @@ msgstr "" #: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:337 msgid "" "Internal runtime error. Try resetting the MMU or updating the firmware." -msgstr "" -"Error interno de ejecución. Reinicia la MMU o actualiza el firmware." +msgstr "Error interno de ejecución. Reinicia la MMU o actualiza el firmware." #. MSG_FILAMENT_LOADED c=20 r=3 #: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3625 @@ -1527,8 +1527,8 @@ msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." msgstr "" -"Coloca el filamento en el primer tubo de la MMU, luego presiona el dial " -"para cargarlo." +"Coloca el filamento en el primer tubo de la MMU, luego presiona el dial para" +" cargarlo." #. MSG_PLEASE_LOAD_PLA c=20 r=4 #: ../../Firmware/ultralcd.cpp:3630 @@ -1909,8 +1909,8 @@ msgstr "Fallo Selftest" #: ../../Firmware/Marlin_main.cpp:1523 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" -"Se realizará el selftest para calibrar con precision la vuelta a la " -"posición inicial sin sensores." +"Se realizará el selftest para calibrar con precision la vuelta a la posición" +" inicial sin sensores." #. MSG_INFO_SENSORS c=18 #: ../../Firmware/ultralcd.cpp:1677 @@ -2578,11 +2578,16 @@ msgstr "Sensibilidad" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Nivelación fallida. Ejecute la calibración Z." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" msgstr "Listo" +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Conjunto no listo" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "" #~ "Retira el fil. viejo y presiona el dial para comenzar a cargar el nuevo." diff --git a/lang/po/Firmware_fr.po b/lang/po/Firmware_fr.po index 2067f8e2b..35694d7e1 100644 --- a/lang/po/Firmware_fr.po +++ b/lang/po/Firmware_fr.po @@ -446,8 +446,8 @@ msgid "" " Please follow the manual, chapter First steps, section First layer " "calibration." msgstr "" -"La distance entre de la buse et du lit n'a pas encore été réglée. Suivez" -" le manuel, chap. Premiers pas." +"La distance entre de la buse et du lit n'a pas encore été réglée. Suivez le " +"manuel, chap. Premiers pas." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 #: ../../Firmware/ultralcd.cpp:3920 @@ -577,8 +577,8 @@ msgid "" "FINDA didn't switch off while unloading filament. Try unloading manually. " "Ensure filament can move and FINDA works." msgstr "" -"FINDA non désactivé lors du déchargement du filament. Essayez de décharger " -"à la main. Assurez-vous que le filament peut bouger et que la FINDA " +"FINDA non désactivé lors du déchargement du filament. Essayez de décharger à" +" la main. Assurez-vous que le filament peut bouger et que la FINDA " "fonctionne." #. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 @@ -770,8 +770,8 @@ msgstr "Cal. 1ere couche" #: ../../Firmware/ultralcd.cpp:3843 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" -"Je vais lancer le selftest pour verifier les problèmes d'assemblage les " -"plus communs." +"Je vais lancer le selftest pour verifier les problèmes d'assemblage les plus" +" communs." #. MSG_FLOW c=15 #: ../../Firmware/ultralcd.cpp:5440 @@ -814,8 +814,8 @@ msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." msgstr "" -"G-code a été préparé pour un niveau différent. Découpez le modèle à nouveau. " -"Impression annulée." +"G-code a été préparé pour un niveau différent. Découpez le modèle à nouveau." +" Impression annulée." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=3 #: ../../Firmware/messages.cpp:137 ../../Firmware/util.cpp:316 @@ -892,8 +892,8 @@ msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" msgstr "" -"Je suis votre imprimante Original Prusa i3. Voulez-vous que je vous " -"guide à travers le processus d'installation? +"Je suis votre imprimante Original Prusa i3. Voulez-vous que je vous guide à " +"travers le processus d'installation" #. MSG_HIGH_POWER c=10 #: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4146 @@ -1389,7 +1389,8 @@ msgstr "Off" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 #: ../../Firmware/Marlin_main.cpp:1508 msgid "Old settings found. Default PID, Esteps etc. will be set." -msgstr "Anciens réglages trouvés. Le PID, les Esteps, etc. par défaut seront réglés." +msgstr "" +"Anciens réglages trouvés. Le PID, les Esteps, etc. par défaut seront réglés." #. MSG_ON c=3 #: ../../Firmware/SpoolJoin.cpp:23 ../../Firmware/messages.cpp:130 @@ -1452,8 +1453,8 @@ msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." msgstr "" -"La calibration en PINDA est terminée et activée. Il peut être désactivé " -"dans le menu Réglages-> Calib. PINDA" +"La calibration en PINDA est terminée et activée. Il peut être désactivé dans" +" le menu Réglages-> Calib. PINDA" #. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 #: ../../Firmware/mmu2/errors_list.h:142 ../../Firmware/mmu2/errors_list.h:196 @@ -1752,8 +1753,8 @@ msgid "" "Requested filament tool is not available on this hardware. Check the G-code " "for tool index out of range (T0-T4)." msgstr "" -"L'outil de filament demandé n'est pas disponible sur ce matériel. Recherchez " -"dans le G-Code un index d'outil hors plage (T0-T4)" +"L'outil de filament demandé n'est pas disponible sur ce matériel. Recherchez" +" dans le G-Code un index d'outil hors plage (T0-T4)" #. MSG_RESET c=14 #: ../../Firmware/messages.cpp:85 ../../Firmware/ultralcd.cpp:2689 @@ -2144,7 +2145,6 @@ msgstr "" "L'idler ne peut pas se mettre correctement à zéro. Vérifiez s'il y a quoi " "que ce soit qui bloque son mouvement." - #. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 #: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:305 msgid "" @@ -2168,7 +2168,8 @@ msgstr "" msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." -msgstr "Il faut toujours effectuer la calibration Z. Veuillez suivre le manuel." +msgstr "" +"Il faut toujours effectuer la calibration Z. Veuillez suivre le manuel." #. MSG_SORT_TIME c=8 #: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4508 @@ -2366,8 +2367,7 @@ msgstr "" #: ../../Firmware/ultralcd.cpp:3152 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" -"Échec calibration XYZ. Le point de calibration du lit n'a pas été " -"trouvé." +"Échec calibration XYZ. Le point de calibration du lit n'a pas été trouvé." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 #: ../../Firmware/ultralcd.cpp:3158 @@ -2590,10 +2590,15 @@ msgstr "Sensibilité" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Mesh bed leveling a échoué. Veuillez procéder à l'étalonnage Z." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" -msgstr "Ensemb. prête" +msgstr "Ensemble prête" + +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Ensemble pas prête" #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "" diff --git a/lang/po/Firmware_hr.po b/lang/po/Firmware_hr.po index d06e4e60d..9c01f8265 100644 --- a/lang/po/Firmware_hr.po +++ b/lang/po/Firmware_hr.po @@ -2572,11 +2572,16 @@ msgstr "Osjetljivost" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Niveliranje podloge nije uspijelo. Pokrenite Z kalibraciju." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" msgstr "Set spreman" +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Set nije spreman" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Uklonite stari fil. i pritisnite gumb za pocetak stavljanja novog." diff --git a/lang/po/Firmware_hu.po b/lang/po/Firmware_hu.po index b3397b6a7..10a9364f5 100644 --- a/lang/po/Firmware_hu.po +++ b/lang/po/Firmware_hu.po @@ -2577,11 +2577,16 @@ msgstr "Érzékenység" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Sikertelen asztal szintezés. Kérjük, futtasd a Z kalibrálást." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" msgstr "Készen áll" +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Készen nem áll" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Vedd ki a regi fil., majd nyomd meg a gombot az uj fil. betoltesehez." diff --git a/lang/po/Firmware_it.po b/lang/po/Firmware_it.po index d4e6bbec7..fa11013a6 100644 --- a/lang/po/Firmware_it.po +++ b/lang/po/Firmware_it.po @@ -2578,10 +2578,15 @@ msgstr "Sensibilità" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Livellamento piano fallito. Si prega di eseguire la calibrazione Z." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" -msgstr "Impos. Pronta" +msgstr "Imposta pronta" + +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Imposta non pronta" #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Rimuovi il fil. precedente e premi la manopola per caricare il nuovo." diff --git a/lang/po/Firmware_nl.po b/lang/po/Firmware_nl.po index b112a9d32..1e924344e 100644 --- a/lang/po/Firmware_nl.po +++ b/lang/po/Firmware_nl.po @@ -2580,11 +2580,16 @@ msgstr "Sensitiviteit" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Bed leveling mislukt. Voer de Z-kalibratie uit." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" msgstr "Gereed zetten" +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Niet gereed zetten" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "" #~ "Verwijder de oude filament en druk op de knop om nieuwe filament te laden." diff --git a/lang/po/Firmware_no.po b/lang/po/Firmware_no.po index 60a659f81..5f296169f 100644 --- a/lang/po/Firmware_no.po +++ b/lang/po/Firmware_no.po @@ -2554,11 +2554,16 @@ msgstr "Sensitivitet" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Sengeplanering feilet. Kjør Z-kalibrering." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" msgstr "Gjør klar" +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Sett ikke klar" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Ta bort det gamle filamentet og trykk valghjulet for å laste et nytt." diff --git a/lang/po/Firmware_pl.po b/lang/po/Firmware_pl.po index 72680adc9..afae99a12 100644 --- a/lang/po/Firmware_pl.po +++ b/lang/po/Firmware_pl.po @@ -163,8 +163,8 @@ msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." msgstr "" -"Poziomowanie stołu nieudane. Sensor nie aktywował się. Zanieczysz. dysza? Czekam na " -"reset." +"Poziomowanie stołu nieudane. Sensor nie aktywował się. Zanieczysz. dysza? " +"Czekam na reset." #. MSG_SELFTEST_BEDHEATER c=20 #: ../../Firmware/ultralcd.cpp:6596 @@ -219,8 +219,8 @@ msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" -"Kalibracja XYZ. Przekręć pokrętło, aby przesunąć oś Z do górnych " -"krańcówek. Naciśnij pokrętło gdy gotowe." +"Kalibracja XYZ. Przekręć pokrętło, aby przesunąć oś Z do górnych krańcówek. " +"Naciśnij pokrętło gdy gotowe." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 #: ../../Firmware/Marlin_main.cpp:2160 ../../Firmware/messages.cpp:19 @@ -234,8 +234,8 @@ msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" -"Kalibracja Z. Przekręć pokrętło, aby przesunąć oś Z do górnych " -"krańcówek. Naciśnij gdy gotowe." +"Kalibracja Z. Przekręć pokrętło, aby przesunąć oś Z do górnych krańcówek. " +"Naciśnij gdy gotowe." #. MSG_CALIBRATING_HOME c=20 #: ../../Firmware/ultralcd.cpp:6870 @@ -841,8 +841,8 @@ msgstr "G-code pocięty dla nowszego firmware. Kontynuować?" msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." -msgstr "G-code pocięty dla nowszego firmware. Zaktualizuj firmware. " -"Druk anulowany." +msgstr "" +"G-code pocięty dla nowszego firmware. Zaktualizuj firmware. Druk anulowany." #. MSG_HW_SETUP c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4360 @@ -2161,8 +2161,8 @@ msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." msgstr "" -"Należy przeprowadzić kalibrację Z. Kieruj się Podręcznikiem: rozdział Pierwsze" -" Kroki." +"Należy przeprowadzić kalibrację Z. Kieruj się Podręcznikiem: rozdział " +"Pierwsze Kroki." #. MSG_SORT_TIME c=8 #: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4508 @@ -2358,8 +2358,7 @@ msgstr "Kalibracja XYZ nieudana. Nie znaleziono punktów kalibracyjnych." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 #: ../../Firmware/ultralcd.cpp:3158 msgid "XYZ calibration failed. Front calibration points not reachable." -msgstr "" -"Kalibracja XYZ nieudana. Przednie punkty kalibracji nieosiągalne." +msgstr "Kalibracja XYZ nieudana. Przednie punkty kalibracji nieosiągalne." #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 #: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3155 @@ -2371,8 +2370,7 @@ msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 #: ../../Firmware/ultralcd.cpp:3161 msgid "XYZ calibration failed. Right front calibration point not reachable." -msgstr "" -"Kalibracja XYZ nieudana. Prawy przedni punkt nieosiągalny." +msgstr "Kalibracja XYZ nieudana. Prawy przedni punkt nieosiągalny." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 #: ../../Firmware/ultralcd.cpp:3186 @@ -2478,8 +2476,8 @@ msgid "" "Loading to extruder failed. Inspect the filament tip shape. Refine the " "sensor calibration, if needed." msgstr "" -"Ładowanie do ekstrudera nieudane. Sprawdź kształt końcówki " -"filamentu. W razie potrzeby dostrój kalibrację czujnika." +"Ładowanie do ekstrudera nieudane. Sprawdź kształt końcówki filamentu. W " +"razie potrzeby dostrój kalibrację czujnika." #. MSG_TITLE_MMU_MCU_ERROR c=20 #: ../../Firmware/mmu2/errors_list.h:178 ../../Firmware/mmu2/errors_list.h:225 @@ -2508,16 +2506,16 @@ msgid "" "Selector can't move due to FINDA detecting a filament. Make sure no filament" " is in Selector and FINDA works properly." msgstr "" -"Wybierak nie może się poruszyć, bo czujnik FINDA wykrył filament. " -"Upewnij się, że w selektorze nie ma filamentu i że FINDA działa prawidłowo." +"Wybierak nie może się poruszyć, bo czujnik FINDA wykrył filament. Upewnij " +"się, że w selektorze nie ma filamentu i że FINDA działa prawidłowo." #. MSG_DESC_FW_UPDATE_NEEDED c=20 r=8 #: ../../Firmware/mmu2/errors_list.h:289 ../../Firmware/mmu2/errors_list.h:336 msgid "" "MMU FW version is incompatible with printer FW.Update to version 3.0.1." msgstr "" -"Wersja firmware MMU jest niezgodna z firmware drukarki. Zaktualizuj " -"MMU do wersji 3.0.1." +"Wersja firmware MMU jest niezgodna z firmware drukarki. Zaktualizuj MMU do " +"wersji 3.0.1." #. MSG_PRELOAD_TO_MMU c=17 #: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:5279 @@ -2572,10 +2570,15 @@ msgstr "Czułość" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Poziomowanie stołu nieudane. Proszę uruchomić kalibrację Z." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" -msgstr "Ust. gotowość" +msgstr "Ustaw gotowość" + +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Cofnij gotowość" #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Wyciągnij poprzedni filament i naciśnij pokrętło aby załadować nowy." diff --git a/lang/po/Firmware_ro.po b/lang/po/Firmware_ro.po index 3107e6a73..5aa39b91c 100644 --- a/lang/po/Firmware_ro.po +++ b/lang/po/Firmware_ro.po @@ -577,8 +577,8 @@ msgid "" "FINDA didn't switch off while unloading filament. Try unloading manually. " "Ensure filament can move and FINDA works." msgstr "" -"FINDA nu s-a oprit la descărcare Fil.Încercați descăr. manuală. Asigurați-vă " -"că FINDA funcționează." +"FINDA nu s-a oprit la descărcare Fil.Încercați descăr. manuală. Asigurați-vă" +" că FINDA funcționează." #. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 #: ../../Firmware/mmu2/errors_list.h:241 ../../Firmware/mmu2/errors_list.h:297 @@ -730,8 +730,8 @@ msgid "" "Filament sensor didn't trigger while loading the filament. Ensure the sensor" " is calibrated and the filament reached it." msgstr "" -"Senzorul de filament nu s-a declanșast în timpul încărcării fil. Asigurați-vă" -" că filamentul a ajuns la fsenzor și senzorul funcționează." +"Senzorul de filament nu s-a declanșast în timpul încărcării fil. Asigurați-" +"vă că filamentul a ajuns la fsenzor și senzorul funcționează." #. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 #: ../../Firmware/mmu2/errors_list.h:246 ../../Firmware/mmu2/errors_list.h:302 @@ -829,8 +829,8 @@ msgid "" "G-code sliced for a different printer type. Please re-slice the model again." " Print cancelled." msgstr "" -"G-code pregătit pentru un alt tip de printer. Vă rugăm să pregătiți modelul din" -" nou. Print anulat." +"G-code pregătit pentru un alt tip de printer. Vă rugăm să pregătiți modelul " +"din nou. Print anulat." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=3 #: ../../Firmware/messages.cpp:139 ../../Firmware/util.cpp:366 @@ -988,7 +988,8 @@ msgstr "Înfige filamentul (nu-l încărca) in extruder și apasă butonul." msgid "" "Internal runtime error. Try resetting the MMU or updating the firmware." msgstr "" -"ERR internă de runtime. Încercați să resetați MMU sau să actualizați firmwarul." +"ERR internă de runtime. Încercați să resetați MMU sau să actualizați " +"firmwarul." #. MSG_FILAMENT_LOADED c=20 r=3 #: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3625 @@ -1517,8 +1518,8 @@ msgstr "Curățați vârful pentru calibrare. Apăsați butonul când terminați msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" -"Vă rugăm să introduceți filamentul în extruder, apoi apăsați butonul pentru a-l " -"încărca." +"Vă rugăm să introduceți filamentul în extruder, apoi apăsați butonul pentru " +"a-l încărca." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 #: ../../Firmware/ultralcd.cpp:3702 @@ -1684,8 +1685,8 @@ msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First" " steps, section Calibration flow." msgstr "" -"Imprimanta nu a fost calibrată. Vă rugăm să urmați manualul, " -"capitolul First steps, secțiunea Calibration flow." +"Imprimanta nu a fost calibrată. Vă rugăm să urmați manualul, capitolul First" +" steps, secțiunea Calibration flow." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=3 #: ../../Firmware/messages.cpp:143 ../../Firmware/util.cpp:293 @@ -1705,8 +1706,8 @@ msgstr "" #: ../../Firmware/mmu2/errors_list.h:245 ../../Firmware/mmu2/errors_list.h:301 msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." msgstr "" -"Motorul Pully e blocat. Asigurați-vă că fulia se poate mișca și " -"verificați cablajul." +"Motorul Pully e blocat. Asigurați-vă că fulia se poate mișca și verificați " +"cablajul." #. MSG_PROGRESS_PUSH_FILAMENT c=20 #: ../../Firmware/mmu2_progress_converter.cpp:23 @@ -1745,8 +1746,8 @@ msgid "" "Requested filament tool is not available on this hardware. Check the G-code " "for tool index out of range (T0-T4)." msgstr "" -"Fil. solicitat nu este disponibil pe acest hardware. " -"Verifică G-codul dacă folosește filam. în afara intervalului (T0-T4)." +"Fil. solicitat nu este disponibil pe acest hardware. Verifică G-codul dacă " +"folosește filam. în afara intervalului (T0-T4)." #. MSG_RESET c=14 #: ../../Firmware/messages.cpp:85 ../../Firmware/ultralcd.cpp:2689 @@ -2578,10 +2579,15 @@ msgstr "Sensibilitate" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Nivelarea patului a eșuat. Rulează Calibrare Z." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" -msgstr "Set pregătit" +msgstr "Printer pregătit" + +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Print. nu pregătit" #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Scoateți fil. vechi și apăsați butonul pentru a încărca unul nou." @@ -2599,15 +2605,15 @@ msgstr "Set pregătit" #~ "The MMU reports its FW version incompatible with the printer's firmware. " #~ "Make sure the MMU firmware is up to date." #~ msgstr "" -#~ "Versiunea FW MMU este incompatibilă cu cea a imprimantei. Asigurați-vă că FW " -#~ "MMU este actualizat." +#~ "Versiunea FW MMU este incompatibilă cu cea a imprimantei. Asigurați-vă că FW" +#~ " MMU este actualizat." #~ msgid "" #~ "Unexpected FINDA reading. Ensure no filament is under FINDA and the selector" #~ " is free. Check FINDA connection." #~ msgstr "" -#~ "Citire FINDA neașteptată. Asig. că nu este Fil. în FINDA și selector-ul " -#~ "este liber. Verifică conexiune FINDA." +#~ "Citire FINDA neașteptată. Asig. că nu este Fil. în FINDA și selector-ul este" +#~ " liber. Verifică conexiune FINDA." #~ msgid "" #~ "Autoloading filament available only when filament sensor is turned on..." @@ -2682,12 +2688,14 @@ msgstr "Set pregătit" #~ "You are using firmware alpha version. This is development version. Using " #~ "this version is not recommended and may cause printer damage." #~ msgstr "" -#~ "Utilizați vers.alfa de FW. Acestă este vers. de dezvoltare. Folosirea aceastei" -#~ " versiuni nu este recomandată și poate cauza deteriorarea imprimantei" +#~ "Utilizați vers.alfa de FW. Acestă este vers. de dezvoltare. Folosirea " +#~ "aceastei versiuni nu este recomandată și poate cauza deteriorarea " +#~ "imprimantei" #~ msgid "" #~ "You are using firmware beta version. This is development version. Using this" #~ " version is not recommended and may cause printer damage." #~ msgstr "" #~ "Utilizați vers. beta de FW. Acesta este vers. de dezvoltare. Folosirea " -#~ "aceastei versiuni nu este recomandată și poate cauza deteriorarea imprimantei" +#~ "aceastei versiuni nu este recomandată și poate cauza deteriorarea " +#~ "imprimantei" diff --git a/lang/po/Firmware_sk.po b/lang/po/Firmware_sk.po index b81e6422a..0a8e10b83 100644 --- a/lang/po/Firmware_sk.po +++ b/lang/po/Firmware_sk.po @@ -2560,10 +2560,15 @@ msgstr "Citlivosť" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Vyrovnanie platne zlyhalo. Spustite kalibráciu Z." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" -msgstr "Pripravte sa" +msgstr "Pripravené" + +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Nie je pripravené" #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Vyberte starý filament a stlačte tlačidlo pre zavedenie nového." diff --git a/lang/po/Firmware_sv.po b/lang/po/Firmware_sv.po index 96e63abac..6cc7bd6c9 100644 --- a/lang/po/Firmware_sv.po +++ b/lang/po/Firmware_sv.po @@ -2567,11 +2567,16 @@ msgstr "Känslighet" msgid "Mesh bed leveling failed. Please run Z calibration." msgstr "Bäddnivelleringen felade. Kör Z-kalibrering." -#. MSG_SET_READY c=13 +#. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:5204 msgid "Set Ready" msgstr "Gör klar" +#. MSG_SET_NOT_READY c=18 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:5211 +msgid "Set not Ready" +msgstr "Set inte klart" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Ta bort det gamla fil. och tryck på knappen för att börja ladda nytt." From d5d77ee2434ff2674e19ae401bf65c7cf0e352b1 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Tue, 21 Nov 2023 15:58:16 +0100 Subject: [PATCH 07/10] Cleanup documentation --- Firmware/Marlin_main.cpp | 2 +- Firmware/cardreader.cpp | 2 +- Firmware/cmdqueue.cpp | 2 +- Firmware/ultralcd.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d5a989d9e..331e4c245 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1733,7 +1733,7 @@ void loop() usb_timer.start(); } else if (usb_timer.expired(10000)) { //just need to check if it expired. Nothing else is needed to be done. - SetPrinterState(PrinterState::HostPrintingFinished); //set printer state to show LCD menu after finished SD print and report correctly M862.7 Q when USB times out + SetPrinterState(PrinterState::HostPrintingFinished); //set printer state to show LCD menu after finished SD print } #ifdef PRUSA_M28 diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index f7557afae..8c22825e7 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -274,7 +274,7 @@ void CardReader::startFileprint() if(cardOK) { sdprinting = true; - SetPrinterState(PrinterState::IsSDPrinting); //set printer state to hide LCD menu and report correctly M862.7 Q while SD printing + SetPrinterState(PrinterState::IsSDPrinting); //set printer state to hide LCD menu #ifdef SDCARD_SORT_ALPHA //flush_presort(); #endif diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index d3eac7ecd..73e2b830c 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -482,7 +482,7 @@ void get_command() // Handle the USB timer if ((*cmd_start == 'G') && (GetPrinterState() != PrinterState::IsSDPrinting)) { usb_timer.start(); - SetPrinterState(PrinterState::IsHostPrinting); //set printer state busy printing to hide LCD menu and report correctly M862.7 Q while USB printing + SetPrinterState(PrinterState::IsHostPrinting); //set printer state busy printing to hide LCD menu while USB printing } if (allow_when_stopped == false && Stopped == true) { // Stopped can be set either during error states (thermal error: cannot continue), or diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 0607c5bc8..a82eaa245 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5659,7 +5659,7 @@ void print_stop(bool interactive) // return to status is required to continue processing in the main loop! lcd_commands_type = LcdCommands::StopPrint; - SetPrinterState(PrinterState::NotReady); //set printer state to show LCD menu after print has been stopped and report correctly M862.7 Q + SetPrinterState(PrinterState::NotReady); //set printer state to show LCD menu after print has been stopped lcd_return_to_status(); } From af79ac0714541aa68287ce5cdc1bacc340f5fef4 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Tue, 21 Nov 2023 16:03:35 +0100 Subject: [PATCH 08/10] Add `SetPrinterState(PrinterState::Idle);` after `lcd_commands_type = LcdCommands::Idle;` --- Firmware/ultralcd.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index a82eaa245..1d51fd7ea 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -783,6 +783,7 @@ void lcd_commands() custom_message_type = CustomMsg::Status; lcd_setstatuspgm(_T(MSG_PRINT_ABORTED)); lcd_commands_type = LcdCommands::Idle; + SetPrinterState(PrinterState::Idle); lcd_commands_step = 0; lcd_print_stop_finish(); } @@ -798,6 +799,7 @@ void lcd_commands() lcd_setstatuspgm(_T(MSG_PRINT_PAUSED)); } lcd_commands_type = LcdCommands::Idle; + SetPrinterState(PrinterState::Idle); lcd_commands_step = 0; long_pause(); } @@ -858,6 +860,7 @@ void lcd_commands() lcd_setstatuspgm(MSG_WELCOME); lcd_commands_step = 0; lcd_commands_type = LcdCommands::Idle; + SetPrinterState(PrinterState::Idle); if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE)) lcd_wizard(WizState::RepeatLay1Cal); break; @@ -899,7 +902,7 @@ void lcd_commands() pid_temp = DEFAULT_PID_TEMP; lcd_commands_step = 0; lcd_commands_type = LcdCommands::Idle; - SetPrinterState(PrinterState::Idle); + SetPrinterState(PrinterState::Idle); } } @@ -938,6 +941,7 @@ void lcd_commands() case 1: lcd_commands_step = 0; lcd_commands_type = LcdCommands::Idle; + SetPrinterState(PrinterState::Idle); thermal_model_set_warn_beep(true); bool res = thermal_model_autotune_result(); if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE)) { @@ -996,6 +1000,7 @@ void lcd_commands() lcd_setstatuspgm(MSG_WELCOME); lcd_commands_step = 0; lcd_commands_type = LcdCommands::Idle; + SetPrinterState(PrinterState::Idle); break; } } From d394645b691aa59e5519931f4d251bb2db942708 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 22 Nov 2023 07:59:18 +0100 Subject: [PATCH 09/10] Whitespace --- Firmware/printer_state.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/printer_state.cpp b/Firmware/printer_state.cpp index fb15fcedf..210914ad0 100644 --- a/Firmware/printer_state.cpp +++ b/Firmware/printer_state.cpp @@ -1,5 +1,5 @@ //! @file -//! @brief Printer State +//! @brief Printer State //! @param GetPrinterState get current printer state //! @param SetPrinterState set printer state From 02459edcb666a3be883b658284903594f3a3a0f5 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 22 Nov 2023 08:21:52 +0100 Subject: [PATCH 10/10] Rebase fix Add documentation Whitespace --- Firmware/printer_state.h | 2 ++ Firmware/stopwatch.cpp | 4 ++-- Firmware/stopwatch.h | 4 ++-- Firmware/ultralcd.cpp | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Firmware/printer_state.h b/Firmware/printer_state.h index a94b0f742..22b9fe5bd 100644 --- a/Firmware/printer_state.h +++ b/Firmware/printer_state.h @@ -12,6 +12,8 @@ #pragma once #include "macros.h" +// The order of the states is important as we check +// - LCD menu only shown when lower than "IsSDPrinting" enum class PrinterState : uint8_t { NotReady = 0, //Lowest state to simplify queries diff --git a/Firmware/stopwatch.cpp b/Firmware/stopwatch.cpp index 2e34b66e4..4701090e2 100644 --- a/Firmware/stopwatch.cpp +++ b/Firmware/stopwatch.cpp @@ -1,7 +1,7 @@ /** - * + * * NOTE: this file has been changed in order to compile & run on Prusa-Firmware https://github.com/prusa3d/Prusa-Firmware - * + * * Marlin 3D Printer Firmware * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] * diff --git a/Firmware/stopwatch.h b/Firmware/stopwatch.h index d2ea277b1..de861d323 100644 --- a/Firmware/stopwatch.h +++ b/Firmware/stopwatch.h @@ -1,7 +1,7 @@ /** - * + * * NOTE: this file has been changed in order to compile & run on Prusa-Firmware https://github.com/prusa3d/Prusa-Firmware - * + * * Marlin 3D Printer Firmware * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] * diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 1d51fd7ea..9162a4cc4 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2314,7 +2314,7 @@ void lcd_menu_statistics() if (printJobOngoing()) { const float _met = ((float)total_filament_used) / (100000.f); - + const uint32_t _t = print_job_timer.duration(); const uint32_t _h = (_t / 60) / 60; const uint8_t _m = (_t / 60) % 60;