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;