From 0cbe448edff3420210d029ca001fb331f69e6034 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Sun, 28 May 2017 12:13:27 -0500
Subject: [PATCH] Split up Control > Motion submenu

---
 Marlin/language_an.h         |   3 +
 Marlin/language_bg.h         |   2 +
 Marlin/language_ca.h         |   2 +
 Marlin/language_cn.h         |   2 +
 Marlin/language_cz.h         |   2 +
 Marlin/language_da.h         |   2 +
 Marlin/language_de.h         |   2 +
 Marlin/language_el-gr.h      |   3 +
 Marlin/language_el.h         |   3 +
 Marlin/language_en.h         |  12 ++++
 Marlin/language_es.h         |   3 +
 Marlin/language_eu.h         |   3 +
 Marlin/language_fi.h         |   3 +
 Marlin/language_fr.h         |   2 +
 Marlin/language_gl.h         |   2 +
 Marlin/language_hr.h         |   2 +
 Marlin/language_it.h         |   2 +
 Marlin/language_kana.h       |   2 +
 Marlin/language_kana_utf8.h  |  11 +---
 Marlin/language_nl.h         |   2 +
 Marlin/language_pl.h         |   6 ++
 Marlin/language_pt-br.h      |   2 +
 Marlin/language_pt-br_utf8.h |   2 +
 Marlin/language_pt.h         |   2 +
 Marlin/language_pt_utf8.h    |   2 +
 Marlin/language_ru.h         |   2 +
 Marlin/language_tr.h         |   2 +
 Marlin/language_uk.h         |   2 +
 Marlin/language_zh_CN.h      |   2 +
 Marlin/language_zh_TW.h      |   2 +
 Marlin/ultralcd.cpp          | 123 +++++++++++++++++++++++++----------
 31 files changed, 167 insertions(+), 45 deletions(-)

diff --git a/Marlin/language_an.h b/Marlin/language_an.h
index f8cecfbc3b..af0981c448 100644
--- a/Marlin/language_an.h
+++ b/Marlin/language_an.h
@@ -94,6 +94,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Trigar")
 #define MSG_ACC                             _UxGT("Aceleracion")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -101,9 +102,11 @@
 #define MSG_VMAX                            _UxGT("Vmax")
 #define MSG_VMIN                            _UxGT("Vmin")
 #define MSG_VTRAV_MIN                       _UxGT("Vel. viache min")
+#define MSG_ACCELERATION                    MSG_ACC
 #define MSG_AMAX                            _UxGT("Acel. max")
 #define MSG_A_RETRACT                       _UxGT("Acel. retrac.")
 #define MSG_A_TRAVEL                        _UxGT("Acel. Viaje")
+#define MSG_STEPS_PER_MM                    _UxGT("Trangos/mm")
 #define MSG_XSTEPS                          _UxGT("X trangos/mm")
 #define MSG_YSTEPS                          _UxGT("Y trangos/mm")
 #define MSG_ZSTEPS                          _UxGT("Z trangos/mm")
diff --git a/Marlin/language_bg.h b/Marlin/language_bg.h
index 6b58a96e5c..34d812eda1 100644
--- a/Marlin/language_bg.h
+++ b/Marlin/language_bg.h
@@ -95,6 +95,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Select")
 #define MSG_ACC                             _UxGT("Acc")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -105,6 +106,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-откат")
 #define MSG_A_TRAVEL                        _UxGT("A-travel")
+#define MSG_STEPS_PER_MM                    _UxGT("Стъпки/mm")
 #define MSG_XSTEPS                          _UxGT("X стъпки/mm")
 #define MSG_YSTEPS                          _UxGT("Y стъпки/mm")
 #define MSG_ZSTEPS                          _UxGT("Z стъпки/mm")
diff --git a/Marlin/language_ca.h b/Marlin/language_ca.h
index 7ed1de93f0..4a713c63e3 100644
--- a/Marlin/language_ca.h
+++ b/Marlin/language_ca.h
@@ -99,6 +99,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Select")
 #define MSG_ACC                             _UxGT("Accel")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -109,6 +110,7 @@
 #define MSG_AMAX                            _UxGT("Accel. max ")
 #define MSG_A_RETRACT                       _UxGT("Accel. retracc")
 #define MSG_A_TRAVEL                        _UxGT("Accel. Viatge")
+#define MSG_STEPS_PER_MM                    _UxGT("Passos/mm")
 #define MSG_XSTEPS                          _UxGT("Xpassos/mm")
 #define MSG_YSTEPS                          _UxGT("Ypassos/mm")
 #define MSG_ZSTEPS                          _UxGT("Zpassos/mm")
diff --git a/Marlin/language_cn.h b/Marlin/language_cn.h
index 2280445681..5b471a6724 100644
--- a/Marlin/language_cn.h
+++ b/Marlin/language_cn.h
@@ -87,6 +87,7 @@
 #define MSG_PID_D                           "PID-D"
 #define MSG_PID_C                           "PID-C"
 #define MSG_ACC                             "Accel"
+#define MSG_JERK                            "Jerk"
 #define MSG_VX_JERK                         "Vx-jerk"
 #define MSG_VY_JERK                         "Vy-jerk"
 #define MSG_VZ_JERK                         "Vz-jerk"
@@ -97,6 +98,7 @@
 #define MSG_AMAX                            "Amax "
 #define MSG_A_RETRACT                       "A-retract"
 #define MSG_A_TRAVEL                        "A-travel"
+#define MSG_STEPS_PER_MM                    "Steps/mm"
 #define MSG_XSTEPS                          "Xsteps/mm"
 #define MSG_YSTEPS                          "Ysteps/mm"
 #define MSG_ZSTEPS                          "Zsteps/mm"
diff --git a/Marlin/language_cz.h b/Marlin/language_cz.h
index 2372f68fb0..25cad14b19 100644
--- a/Marlin/language_cz.h
+++ b/Marlin/language_cz.h
@@ -105,6 +105,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Vybrat")
 #define MSG_ACC                             _UxGT("Zrychl")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -115,6 +116,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-retrakt")
 #define MSG_A_TRAVEL                        _UxGT("A-prejezd")
+#define MSG_STEPS_PER_MM                    _UxGT("Kroku/mm")
 #define MSG_XSTEPS                          _UxGT("Xkroku/mm")
 #define MSG_YSTEPS                          _UxGT("Ykroku/mm")
 #define MSG_ZSTEPS                          _UxGT("Zkroku/mm")
diff --git a/Marlin/language_da.h b/Marlin/language_da.h
index 69d1965299..93fdfbd27a 100644
--- a/Marlin/language_da.h
+++ b/Marlin/language_da.h
@@ -96,6 +96,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Vælg")
 #define MSG_ACC                             _UxGT("Accel")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -106,6 +107,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-retract")
 #define MSG_A_TRAVEL                        _UxGT("A-rejse")
+#define MSG_STEPS_PER_MM                    _UxGT("Steps/mm")
 #define MSG_XSTEPS                          _UxGT("Xsteps/mm")
 #define MSG_YSTEPS                          _UxGT("Ysteps/mm")
 #define MSG_ZSTEPS                          _UxGT("Zsteps/mm")
diff --git a/Marlin/language_de.h b/Marlin/language_de.h
index 59b3370272..01d8fdea40 100644
--- a/Marlin/language_de.h
+++ b/Marlin/language_de.h
@@ -102,6 +102,7 @@
 #define MSG_PID_C                           _UxGT("PID C")
 #define MSG_SELECT                          _UxGT("Auswählen")
 #define MSG_ACC                             _UxGT("A")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("V X Jerk")
 #define MSG_VY_JERK                         _UxGT("V Y Jerk")
 #define MSG_VZ_JERK                         _UxGT("V Z Jerk")
@@ -112,6 +113,7 @@
 #define MSG_AMAX                            _UxGT("A max ") // space by purpose
 #define MSG_A_RETRACT                       _UxGT("A Retract")
 #define MSG_A_TRAVEL                        _UxGT("A Leerfahrt")
+#define MSG_STEPS_PER_MM                    _UxGT("Steps/mm")
 #define MSG_XSTEPS                          _UxGT("X Steps/mm")
 #define MSG_YSTEPS                          _UxGT("Y Steps/mm")
 #define MSG_ZSTEPS                          _UxGT("Z Steps/mm")
diff --git a/Marlin/language_el-gr.h b/Marlin/language_el-gr.h
index e26405a9d2..3e55dd6665 100644
--- a/Marlin/language_el-gr.h
+++ b/Marlin/language_el-gr.h
@@ -94,6 +94,7 @@
 #define MSG_PID_D                           _UxGT("PID-D")
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_ACC                             _UxGT("Επιτάχυνση")
+#define MSG_JERK                            _UxGT("Vαντίδραση")
 #define MSG_VX_JERK                         _UxGT("Vαντίδραση x")
 #define MSG_VY_JERK                         _UxGT("Vαντίδραση y")
 #define MSG_VZ_JERK                         _UxGT("Vαντίδραση z")
@@ -101,9 +102,11 @@
 #define MSG_VMAX                            _UxGT("Vμεγ ")
 #define MSG_VMIN                            _UxGT("Vελαχ")
 #define MSG_VTRAV_MIN                       _UxGT("Vελάχ. μετατόπιση")
+#define MSG_ACCELERATION                    MSG_ACC
 #define MSG_AMAX                            _UxGT("Aμεγ ")
 #define MSG_A_RETRACT                       _UxGT("Α-ανάσυρση")
 #define MSG_A_TRAVEL                        _UxGT("Α-μετατόπιση")
+#define MSG_STEPS_PER_MM                    _UxGT("Bήματα ανά μμ")
 #define MSG_XSTEPS                          _UxGT("Bήματα X ανά μμ")
 #define MSG_YSTEPS                          _UxGT("Bήματα Υ ανά μμ")
 #define MSG_ZSTEPS                          _UxGT("Bήματα Ζ ανά μμ")
diff --git a/Marlin/language_el.h b/Marlin/language_el.h
index ab915f14c1..4203630171 100644
--- a/Marlin/language_el.h
+++ b/Marlin/language_el.h
@@ -94,6 +94,7 @@
 #define MSG_PID_D                           _UxGT("PID-D")
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_ACC                             _UxGT("Επιτάχυνση")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vαντίδραση x")
 #define MSG_VY_JERK                         _UxGT("Vαντίδραση y")
 #define MSG_VZ_JERK                         _UxGT("Vαντίδραση z")
@@ -101,9 +102,11 @@
 #define MSG_VMAX                            _UxGT("V Μέγιστο")
 #define MSG_VMIN                            _UxGT("V Ελάχιστο")
 #define MSG_VTRAV_MIN                       _UxGT("Vελάχ. μετατόπιση")
+#define MSG_ACCELERATION                    MSG_ACC
 #define MSG_AMAX                            _UxGT("Aμεγ ")
 #define MSG_A_RETRACT                       _UxGT("Α-ανάσυρση")
 #define MSG_A_TRAVEL                        _UxGT("Α-μετατόπιση")
+#define MSG_STEPS_PER_MM                    _UxGT("Bήματα ανά μμ")
 #define MSG_XSTEPS                          _UxGT("Bήματα X ανά μμ")
 #define MSG_YSTEPS                          _UxGT("Bήματα Υ ανά μμ")
 #define MSG_ZSTEPS                          _UxGT("Bήματα Ζ ανά μμ")
diff --git a/Marlin/language_en.h b/Marlin/language_en.h
index d274ab84e7..9099b04970 100644
--- a/Marlin/language_en.h
+++ b/Marlin/language_en.h
@@ -376,6 +376,9 @@
 #ifndef MSG_ACC
   #define MSG_ACC                             _UxGT("Accel")
 #endif
+#ifndef MSG_JERK
+  #define MSG_JERK                            _UxGT("Jerk")
+#endif
 #ifndef MSG_VX_JERK
   #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #endif
@@ -388,6 +391,9 @@
 #ifndef MSG_VE_JERK
   #define MSG_VE_JERK                         _UxGT("Ve-jerk")
 #endif
+#ifndef MSG_FEEDRATE
+  #define MSG_FEEDRATE                        _UxGT("Feedrate")
+#endif
 #ifndef MSG_VMAX
   #define MSG_VMAX                            _UxGT("Vmax ")
 #endif
@@ -397,6 +403,9 @@
 #ifndef MSG_VTRAV_MIN
   #define MSG_VTRAV_MIN                       _UxGT("VTrav min")
 #endif
+#ifndef MSG_ACCELERATION
+  #define MSG_ACCELERATION                    _UxGT("Acceleration")
+#endif
 #ifndef MSG_AMAX
   #define MSG_AMAX                            _UxGT("Amax ")
 #endif
@@ -406,6 +415,9 @@
 #ifndef MSG_A_TRAVEL
   #define MSG_A_TRAVEL                        _UxGT("A-travel")
 #endif
+#ifndef MSG_STEPS_PER_MM
+  #define MSG_STEPS_PER_MM                    _UxGT("Steps/mm")
+#endif
 #ifndef MSG_XSTEPS
   #define MSG_XSTEPS                          _UxGT("Xsteps/mm")
 #endif
diff --git a/Marlin/language_es.h b/Marlin/language_es.h
index 035ffd2b53..97decb406d 100644
--- a/Marlin/language_es.h
+++ b/Marlin/language_es.h
@@ -101,6 +101,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Seleccionar")
 #define MSG_ACC                             _UxGT("Aceleracion")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -108,9 +109,11 @@
 #define MSG_VMAX                            _UxGT("Vmax")
 #define MSG_VMIN                            _UxGT("Vmin")
 #define MSG_VTRAV_MIN                       _UxGT("Vel. viaje min")
+#define MSG_ACCELERATION                    MSG_ACC
 #define MSG_AMAX                            _UxGT("Acel. max")
 #define MSG_A_RETRACT                       _UxGT("Acel. retrac.")
 #define MSG_A_TRAVEL                        _UxGT("Acel. Viaje")
+#define MSG_STEPS_PER_MM                    _UxGT("Pasos/mm")
 #define MSG_XSTEPS                          _UxGT("X pasos/mm")
 #define MSG_YSTEPS                          _UxGT("Y pasos/mm")
 #define MSG_ZSTEPS                          _UxGT("Z pasos/mm")
diff --git a/Marlin/language_eu.h b/Marlin/language_eu.h
index dc6d513383..fbf6464d2e 100644
--- a/Marlin/language_eu.h
+++ b/Marlin/language_eu.h
@@ -101,6 +101,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Aukeratu")
 #define MSG_ACC                             _UxGT("Azelerazioa")
+#define MSG_JERK                            _UxGT("Astindua")
 #define MSG_VX_JERK                         _UxGT("Vx-astindua")
 #define MSG_VY_JERK                         _UxGT("Vy-astindua")
 #define MSG_VZ_JERK                         _UxGT("Vz-astindua")
@@ -108,9 +109,11 @@
 #define MSG_VMAX                            _UxGT("Vmax ")
 #define MSG_VMIN                            _UxGT("Vmin")
 #define MSG_VTRAV_MIN                       _UxGT("VBidaia min")
+#define MSG_ACCELERATION                    MSG_ACC
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-retrakt")
 #define MSG_A_TRAVEL                        _UxGT("A-bidaia")
+#define MSG_STEPS_PER_MM                    _UxGT("Pausoak/mm")
 #define MSG_XSTEPS                          _UxGT("X pausoak/mm")
 #define MSG_YSTEPS                          _UxGT("Y pausoak/mm")
 #define MSG_ZSTEPS                          _UxGT("Z pausoak/mm")
diff --git a/Marlin/language_fi.h b/Marlin/language_fi.h
index ad19a9b9fa..cd78d80e73 100644
--- a/Marlin/language_fi.h
+++ b/Marlin/language_fi.h
@@ -87,6 +87,7 @@
 #define MSG_PID_D                           _UxGT("PID-D")
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_ACC                             _UxGT("Kiihtyv")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -94,8 +95,10 @@
 #define MSG_VMAX                            _UxGT("Vmax ")
 #define MSG_VMIN                            _UxGT("Vmin")
 #define MSG_VTRAV_MIN                       _UxGT("VLiike min")
+#define MSG_ACCELERATION                    MSG_ACC
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-peruuta")
+#define MSG_STEPS_PER_MM                    _UxGT("Steps/mm")
 #define MSG_XSTEPS                          _UxGT("Xsteps/mm")
 #define MSG_YSTEPS                          _UxGT("Ysteps/mm")
 #define MSG_ZSTEPS                          _UxGT("Zsteps/mm")
diff --git a/Marlin/language_fr.h b/Marlin/language_fr.h
index c541dc9e38..84b0dd7142 100644
--- a/Marlin/language_fr.h
+++ b/Marlin/language_fr.h
@@ -102,6 +102,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Sélectionner")
 #define MSG_ACC                             _UxGT("Accélération")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -112,6 +113,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-retract")
 #define MSG_A_TRAVEL                        _UxGT("A-Dépl.")
+#define MSG_STEPS_PER_MM                    _UxGT("Pas/mm")
 #define MSG_XSTEPS                          _UxGT("Xpas/mm")
 #define MSG_YSTEPS                          _UxGT("Ypas/mm")
 #define MSG_ZSTEPS                          _UxGT("Zpas/mm")
diff --git a/Marlin/language_gl.h b/Marlin/language_gl.h
index 67ad89ffba..d82da020a5 100644
--- a/Marlin/language_gl.h
+++ b/Marlin/language_gl.h
@@ -95,6 +95,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Escolla")
 #define MSG_ACC                             _UxGT("Acel")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -105,6 +106,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-retract")
 #define MSG_A_TRAVEL                        _UxGT("A-travel")
+#define MSG_STEPS_PER_MM                    _UxGT("Pasos/mm")
 #define MSG_XSTEPS                          _UxGT("Xpasos/mm")
 #define MSG_YSTEPS                          _UxGT("Ypasos/mm")
 #define MSG_ZSTEPS                          _UxGT("Zpasos/mm")
diff --git a/Marlin/language_hr.h b/Marlin/language_hr.h
index 7ec0b0dbbf..61308142dd 100644
--- a/Marlin/language_hr.h
+++ b/Marlin/language_hr.h
@@ -94,6 +94,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Odaberi")
 #define MSG_ACC                             _UxGT("Accel")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -104,6 +105,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-retract")
 #define MSG_A_TRAVEL                        _UxGT("A-travel")
+#define MSG_STEPS_PER_MM                    _UxGT("Steps/mm")
 #define MSG_XSTEPS                          _UxGT("Xsteps/mm")
 #define MSG_YSTEPS                          _UxGT("Ysteps/mm")
 #define MSG_ZSTEPS                          _UxGT("Zsteps/mm")
diff --git a/Marlin/language_it.h b/Marlin/language_it.h
index b1c5b66233..415ae507ec 100644
--- a/Marlin/language_it.h
+++ b/Marlin/language_it.h
@@ -109,6 +109,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Seleziona")
 #define MSG_ACC                             _UxGT("Accel")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -119,6 +120,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-retract")
 #define MSG_A_TRAVEL                        _UxGT("A-Spostamento")
+#define MSG_STEPS_PER_MM                    _UxGT("Passi/mm")
 #define MSG_XSTEPS                          _UxGT("Xpassi/mm")
 #define MSG_YSTEPS                          _UxGT("Ypassi/mm")
 #define MSG_ZSTEPS                          _UxGT("Zpassi/mm")
diff --git a/Marlin/language_kana.h b/Marlin/language_kana.h
index 40f60491a6..077a277a76 100644
--- a/Marlin/language_kana.h
+++ b/Marlin/language_kana.h
@@ -129,6 +129,7 @@
 #define MSG_A_RETRACT                       "\xcb\xb7\xba\xd0\xb6\xbf\xb8\xc4\xde"                             // "ヒキコミカソクド" ("A-retract")
 #define MSG_A_TRAVEL                        "\xb2\xc4\xde\xb3\xb6\xbf\xb8\xc4\xde"                             // "イドウカソクド" ("A-travel")
 #if LCD_WIDTH >= 20
+  #define MSG_STEPS_PER_MM                    "Steps/mm"
   #define MSG_XSTEPS                          "Xsteps/mm"
   #define MSG_YSTEPS                          "Ysteps/mm"
   #define MSG_ZSTEPS                          "Zsteps/mm"
@@ -139,6 +140,7 @@
   #define MSG_E4STEPS                         "E4steps/mm"
   #define MSG_E5STEPS                         "E5steps/mm"
 #else
+  #define MSG_STEPS_PER_MM                    "Steps"
   #define MSG_XSTEPS                          "Xsteps"
   #define MSG_YSTEPS                          "Ysteps"
   #define MSG_ZSTEPS                          "Zsteps"
diff --git a/Marlin/language_kana_utf8.h b/Marlin/language_kana_utf8.h
index 470f511852..6ca860586e 100644
--- a/Marlin/language_kana_utf8.h
+++ b/Marlin/language_kana_utf8.h
@@ -104,6 +104,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("センタク")                     // "Select"
 #define MSG_ACC                             _UxGT("カソクド mm/s2")               // "Accel"
+#define MSG_JERK                            _UxGT("ヤクド mm/s")                  // "Jerk"
 #define MSG_VX_JERK                         _UxGT("Xジク ヤクド mm/s")             // "Vx-jerk"
 #define MSG_VY_JERK                         _UxGT("Yジク ヤクド mm/s")             // "Vy-jerk"
 #define MSG_VZ_JERK                         _UxGT("Zジク ヤクド mm/s")             // "Vz-jerk"
@@ -111,18 +112,10 @@
 #define MSG_VMAX                            _UxGT("サイダイオクリソクド ")            // "Vmax "
 #define MSG_VMIN                            _UxGT("サイショウオクリソクド")           // "Vmin"
 #define MSG_VTRAV_MIN                       _UxGT("サイショウイドウソクド")           // "VTrav min"
+#define MSG_ACCELERATION                    MSG_ACC
 #define MSG_AMAX                            _UxGT("サイダイカソクド ")              // "Amax "
 #define MSG_A_RETRACT                       _UxGT("ヒキコミカソクド")               // "A-retract"
 #define MSG_A_TRAVEL                        _UxGT("イドウカソクド")                // "A-travel"
-#define MSG_XSTEPS                          _UxGT("Xsteps/mm")
-#define MSG_YSTEPS                          _UxGT("Ysteps/mm")
-#define MSG_ZSTEPS                          _UxGT("Zsteps/mm")
-#define MSG_ESTEPS                          _UxGT("Esteps/mm")
-#define MSG_E1STEPS                         _UxGT("E1steps/mm")
-#define MSG_E2STEPS                         _UxGT("E2steps/mm")
-#define MSG_E3STEPS                         _UxGT("E3steps/mm")
-#define MSG_E4STEPS                         _UxGT("E4steps/mm")
-#define MSG_E5STEPS                         _UxGT("E5steps/mm")
 #define MSG_TEMPERATURE                     _UxGT("オンド")                      // "Temperature"
 #define MSG_MOTION                          _UxGT("ウゴキセッテイ")                // "Motion"
 #define MSG_FILAMENT                        _UxGT("フィラメント")                   // "Filament"
diff --git a/Marlin/language_nl.h b/Marlin/language_nl.h
index 7693b511c3..b041a35355 100644
--- a/Marlin/language_nl.h
+++ b/Marlin/language_nl.h
@@ -101,6 +101,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Selecteer")
 #define MSG_ACC                             _UxGT("Versn")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -111,6 +112,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-retract")
 #define MSG_A_TRAVEL                        _UxGT("A-travel")
+#define MSG_STEPS_PER_MM                    _UxGT("Steps/mm")
 #define MSG_XSTEPS                          _UxGT("Xsteps/mm")
 #define MSG_YSTEPS                          _UxGT("Ysteps/mm")
 #define MSG_ZSTEPS                          _UxGT("Zsteps/mm")
diff --git a/Marlin/language_pl.h b/Marlin/language_pl.h
index 280cd5b2b0..204d3123b4 100644
--- a/Marlin/language_pl.h
+++ b/Marlin/language_pl.h
@@ -97,6 +97,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Select")
 #define MSG_ACC                             _UxGT("Przyśpieszenie")
+#define MSG_JERK                            _UxGT("Zryw")
 #define MSG_VX_JERK                         _UxGT("Zryw Vx")
 #define MSG_VY_JERK                         _UxGT("Zryw Vy")
 #define MSG_VZ_JERK                         _UxGT("Zryw Vz")
@@ -104,9 +105,11 @@
 #define MSG_VMAX                            _UxGT("Vmax ")
 #define MSG_VMIN                            _UxGT("Vmin")
 #define MSG_VTRAV_MIN                       _UxGT("Vskok min")
+#define MSG_ACCELERATION                    MSG_ACC
 #define MSG_AMAX                            _UxGT("Amax")
 #define MSG_A_RETRACT                       _UxGT("A-wycofanie")
 #define MSG_A_TRAVEL                        _UxGT("A-przesuń.")
+#define MSG_STEPS_PER_MM                    _UxGT("kroki/mm")
 #define MSG_XSTEPS                          _UxGT("krokiX/mm")
 #define MSG_YSTEPS                          _UxGT("krokiY/mm")
 #define MSG_ZSTEPS                          _UxGT("krokiZ/mm")
@@ -312,6 +315,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Select")
 #define MSG_ACC                             _UxGT("Przyspieszenie")
+#define MSG_JERK                            _UxGT("Zryw")
 #define MSG_VX_JERK                         _UxGT("Zryw Vx")
 #define MSG_VY_JERK                         _UxGT("Zryw Vy")
 #define MSG_VZ_JERK                         _UxGT("Zryw Vz")
@@ -319,9 +323,11 @@
 #define MSG_VMAX                            _UxGT("Vmax ")
 #define MSG_VMIN                            _UxGT("Vmin")
 #define MSG_VTRAV_MIN                       _UxGT("Vskok min")
+#define MSG_ACCELERATION                    MSG_ACC
 #define MSG_AMAX                            _UxGT("Amax")
 #define MSG_A_RETRACT                       _UxGT("A-wycofanie")
 #define MSG_A_TRAVEL                        _UxGT("A-przesun.")
+#define MSG_STEPS_PER_MM                    _UxGT("kroki/mm")
 #define MSG_XSTEPS                          _UxGT("krokiX/mm")
 #define MSG_YSTEPS                          _UxGT("krokiY/mm")
 #define MSG_ZSTEPS                          _UxGT("krokiZ/mm")
diff --git a/Marlin/language_pt-br.h b/Marlin/language_pt-br.h
index f71bb92e19..05c91e0b98 100644
--- a/Marlin/language_pt-br.h
+++ b/Marlin/language_pt-br.h
@@ -87,6 +87,7 @@
 #define MSG_PID_D                           "PID-D"
 #define MSG_PID_C                           "PID-C"
 #define MSG_ACC                             "Acc"
+#define MSG_JERK                            "Jogo"
 #define MSG_VX_JERK                         "jogo VX"
 #define MSG_VY_JERK                         "jogo VY"
 #define MSG_VZ_JERK                         "jogo VZ"
@@ -97,6 +98,7 @@
 #define MSG_AMAX                            "Amax "
 #define MSG_A_RETRACT                       "Retrair A"
 #define MSG_A_TRAVEL                        "A-movimento"
+#define MSG_STEPS_PER_MM                    "Passo/mm"
 #define MSG_XSTEPS                          "Passo X/mm"
 #define MSG_YSTEPS                          "Passo Y/mm"
 #define MSG_ZSTEPS                          "Passo Z/mm"
diff --git a/Marlin/language_pt-br_utf8.h b/Marlin/language_pt-br_utf8.h
index a2f6deaad5..c9040fcddc 100644
--- a/Marlin/language_pt-br_utf8.h
+++ b/Marlin/language_pt-br_utf8.h
@@ -87,6 +87,7 @@
 #define MSG_PID_D                           _UxGT("PID-D")
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_ACC                             _UxGT("Acc")
+#define MSG_JERK                            _UxGT("Jogo")
 #define MSG_VX_JERK                         _UxGT("jogo VX")
 #define MSG_VY_JERK                         _UxGT("jogo VY")
 #define MSG_VZ_JERK                         _UxGT("jogo VZ")
@@ -97,6 +98,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("Retrair A")
 #define MSG_A_TRAVEL                        _UxGT("A-movimento")
+#define MSG_STEPS_PER_MM                    _UxGT("Passo/mm")
 #define MSG_XSTEPS                          _UxGT("Passo X/mm")
 #define MSG_YSTEPS                          _UxGT("Passo Y/mm")
 #define MSG_ZSTEPS                          _UxGT("Passo Z/mm")
diff --git a/Marlin/language_pt.h b/Marlin/language_pt.h
index ba17986bf5..4b82124325 100644
--- a/Marlin/language_pt.h
+++ b/Marlin/language_pt.h
@@ -91,6 +91,7 @@
 #define MSG_PID_D                           "PID-D"
 #define MSG_PID_C                           "PID-C"
 #define MSG_ACC                             "Acc"
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         "Vx-jerk"
 #define MSG_VY_JERK                         "Vy-jerk"
 #define MSG_VZ_JERK                         "Vz-jerk"
@@ -101,6 +102,7 @@
 #define MSG_AMAX                            "Amax "
 #define MSG_A_RETRACT                       "A-retraccao"
 #define MSG_A_TRAVEL                        "A-movimento"
+#define MSG_STEPS_PER_MM                    "Passo/mm"
 #define MSG_XSTEPS                          "X passo/mm"
 #define MSG_YSTEPS                          "Y passo/mm"
 #define MSG_ZSTEPS                          "Z passo/mm"
diff --git a/Marlin/language_pt_utf8.h b/Marlin/language_pt_utf8.h
index b62119b43c..d9345a579e 100644
--- a/Marlin/language_pt_utf8.h
+++ b/Marlin/language_pt_utf8.h
@@ -91,6 +91,7 @@
 #define MSG_PID_D                           _UxGT("PID-D")
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_ACC                             _UxGT("Acc")
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-jerk")
 #define MSG_VY_JERK                         _UxGT("Vy-jerk")
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")
@@ -101,6 +102,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")
 #define MSG_A_RETRACT                       _UxGT("A-retracção")
 #define MSG_A_TRAVEL                        _UxGT("A-movimento")
+#define MSG_STEPS_PER_MM                    _UxGT("Passo/mm")
 #define MSG_XSTEPS                          _UxGT("X passo/mm")
 #define MSG_YSTEPS                          _UxGT("Y passo/mm")
 #define MSG_ZSTEPS                          _UxGT("Z passo/mm")
diff --git a/Marlin/language_ru.h b/Marlin/language_ru.h
index a4644928ac..3b2936128b 100644
--- a/Marlin/language_ru.h
+++ b/Marlin/language_ru.h
@@ -91,6 +91,7 @@
 #define MSG_PID_D                           _UxGT("PID-D")
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_ACC                             _UxGT("Acc")
+#define MSG_JERK                            _UxGT("Рывок")
 #define MSG_VX_JERK                         _UxGT("Vx-рывок")
 #define MSG_VY_JERK                         _UxGT("Vy-рывок")
 #define MSG_VZ_JERK                         _UxGT("Vz-рывок")
@@ -101,6 +102,7 @@
 #define MSG_AMAX                            _UxGT("Aмакс")
 #define MSG_A_RETRACT                       _UxGT("A-втягивание")
 #define MSG_A_TRAVEL                        _UxGT("A-путеш.")
+#define MSG_STEPS_PER_MM                    _UxGT("Шаг/мм")
 #define MSG_XSTEPS                          _UxGT("X шаг/мм")
 #define MSG_YSTEPS                          _UxGT("Y шаг/мм")
 #define MSG_ZSTEPS                          _UxGT("Z шаг/мм")
diff --git a/Marlin/language_tr.h b/Marlin/language_tr.h
index e6b0af98b5..d15fbfb6df 100644
--- a/Marlin/language_tr.h
+++ b/Marlin/language_tr.h
@@ -106,6 +106,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")                                              // PID-C
 #define MSG_SELECT                          _UxGT("Seç")                                                // Seç
 #define MSG_ACC                             _UxGT("İvme")                                               // İvme
+#define MSG_JERK                            _UxGT("Jerk")
 #define MSG_VX_JERK                         _UxGT("Vx-Jerk")                                            // Vx-Jerk
 #define MSG_VY_JERK                         _UxGT("Vy-Jerk")                                            // Vy-Jerk
 #define MSG_VZ_JERK                         _UxGT("Vz-jerk")                                            // Vz-Jerk
@@ -116,6 +117,7 @@
 #define MSG_AMAX                            _UxGT("Amax ")                                              // Amax
 #define MSG_A_RETRACT                       _UxGT("A-retract")                                          // A-retract
 #define MSG_A_TRAVEL                        _UxGT("A-travel")                                           // A-travel
+#define MSG_STEPS_PER_MM                    _UxGT("Steps/mm")                                           // Xsteps/mm
 #define MSG_XSTEPS                          _UxGT("Xsteps/mm")                                          // Xsteps/mm
 #define MSG_YSTEPS                          _UxGT("Ysteps/mm")                                          // Ysteps/mm
 #define MSG_ZSTEPS                          _UxGT("Zsteps/mm")                                          // Zsteps/mm
diff --git a/Marlin/language_uk.h b/Marlin/language_uk.h
index ffc302a644..2773b24c3e 100644
--- a/Marlin/language_uk.h
+++ b/Marlin/language_uk.h
@@ -95,6 +95,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")
 #define MSG_SELECT                          _UxGT("Вибрати")
 #define MSG_ACC                             _UxGT("Приск.")
+#define MSG_JERK                            _UxGT("Ривок")
 #define MSG_VX_JERK                         _UxGT("Vx-ривок")
 #define MSG_VY_JERK                         _UxGT("Vy-ривок")
 #define MSG_VZ_JERK                         _UxGT("Vz-ривок")
@@ -105,6 +106,7 @@
 #define MSG_AMAX                            _UxGT("Aмакс ")
 #define MSG_A_RETRACT                       _UxGT("A-втягув.")
 #define MSG_A_TRAVEL                        _UxGT("A-руху")
+#define MSG_STEPS_PER_MM                    _UxGT("Кроків/мм")
 #define MSG_XSTEPS                          _UxGT("Xкроків/мм")
 #define MSG_YSTEPS                          _UxGT("Yкроків/мм")
 #define MSG_ZSTEPS                          _UxGT("Zкроків/мм")
diff --git a/Marlin/language_zh_CN.h b/Marlin/language_zh_CN.h
index 58d845a357..c42ab6a4fd 100644
--- a/Marlin/language_zh_CN.h
+++ b/Marlin/language_zh_CN.h
@@ -92,6 +92,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")  //"PID-C"
 #define MSG_SELECT                          _UxGT("选择")  //"Select"
 #define MSG_ACC                             _UxGT("加速度")  //"Accel" acceleration
+#define MSG_JERK                            _UxGT("抖动速率")  // "Jerk"
 #define MSG_VX_JERK                         _UxGT("X轴抖动速率")  //"Vx-jerk"
 #define MSG_VY_JERK                         _UxGT("Y轴抖动速率")  //"Vy-jerk"
 #define MSG_VZ_JERK                         _UxGT("Z轴抖动速率")  //"Vz-jerk"
@@ -102,6 +103,7 @@
 #define MSG_AMAX                            _UxGT("最大打印加速度")  //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
 #define MSG_A_RETRACT                       _UxGT("收进加速度")  //"A-retract" retract_acceleration, E acceleration in mm/s^2 for retracts
 #define MSG_A_TRAVEL                        _UxGT("非打印移动加速度")  //"A-travel" travel_acceleration, X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
+#define MSG_STEPS_PER_MM                    _UxGT("轴步数/mm")  //"Steps/mm" axis_steps_per_mm, axis steps-per-unit G92
 #define MSG_XSTEPS                          _UxGT("X轴步数/mm")  //"Xsteps/mm" axis_steps_per_mm, axis steps-per-unit G92
 #define MSG_YSTEPS                          _UxGT("Y轴步数/mm")  //"Ysteps/mm"
 #define MSG_ZSTEPS                          _UxGT("Z轴步数/mm")  //"Zsteps/mm"
diff --git a/Marlin/language_zh_TW.h b/Marlin/language_zh_TW.h
index 89924732bc..421f4e717b 100644
--- a/Marlin/language_zh_TW.h
+++ b/Marlin/language_zh_TW.h
@@ -92,6 +92,7 @@
 #define MSG_PID_C                           _UxGT("PID-C")  //"PID-C"
 #define MSG_SELECT                          _UxGT("選擇")  //"Select"
 #define MSG_ACC                             _UxGT("加速度")  //"Accel" acceleration
+#define MSG_JERK                            _UxGT("抖動速率")  //"Jerk"
 #define MSG_VX_JERK                         _UxGT("X軸抖動速率")  //"Vx-jerk"
 #define MSG_VY_JERK                         _UxGT("Y軸抖動速率")  //"Vy-jerk"
 #define MSG_VZ_JERK                         _UxGT("Z軸抖動速率")  //"Vz-jerk"
@@ -102,6 +103,7 @@
 #define MSG_AMAX                            _UxGT("最大列印加速度")  //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
 #define MSG_A_RETRACT                       _UxGT("收進加速度")  //"A-retract" retract_acceleration, E acceleration in mm/s^2 for retracts
 #define MSG_A_TRAVEL                        _UxGT("非列印移動加速度")  //"A-travel" travel_acceleration, X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
+#define MSG_STEPS_PER_MM                    _UxGT("軸步數/mm")  //"Steps/mm" axis_steps_per_mm, axis steps-per-unit G92
 #define MSG_XSTEPS                          _UxGT("X軸步數/mm")  //"Xsteps/mm" axis_steps_per_mm, axis steps-per-unit G92
 #define MSG_YSTEPS                          _UxGT("Y軸步數/mm")  //"Ysteps/mm"
 #define MSG_ZSTEPS                          _UxGT("Z軸步數/mm")  //"Zsteps/mm"
diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp
index 32d47419db..e4b1a7463a 100755
--- a/Marlin/ultralcd.cpp
+++ b/Marlin/ultralcd.cpp
@@ -2746,6 +2746,13 @@ void kill_screen(const char* lcd_msg) {
    */
   void lcd_control_temperature_preheat_material2_settings_menu() { _lcd_control_temperature_preheat_settings_menu(1); }
 
+
+  /**
+   *
+   * "Control" > "Motion" submenu
+   *
+   */
+
   void _reset_acceleration_rates() { planner.reset_acceleration_rates(); }
   #if ENABLED(DISTINCT_E_FACTORS)
     void _reset_e_acceleration_rate(const uint8_t e) { if (e == active_extruder) _reset_acceleration_rates(); }
@@ -2783,40 +2790,16 @@ void kill_screen(const char* lcd_msg) {
     #endif // E_STEPPERS > 2
   #endif
 
-  /**
-   *
-   * "Control" > "Motion" submenu
-   *
-   */
   #if HAS_BED_PROBE && DISABLED(BABYSTEP_ZPROBE_OFFSET)
     static void lcd_refresh_zprobe_zoffset() { refresh_zprobe_zoffset(); }
   #endif
 
-  void lcd_control_motion_menu() {
+  // M203 / M205 Feedrates
+  void lcd_control_motion_feedrate_menu() {
     START_MENU();
-    MENU_BACK(MSG_CONTROL);
-    #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
-      MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
-    #elif HAS_BED_PROBE
-      MENU_ITEM_EDIT_CALLBACK(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, lcd_refresh_zprobe_zoffset);
-    #endif
-    // Manual bed leveling, Bed Z:
-    #if ENABLED(MESH_BED_LEVELING) && ENABLED(LCD_BED_LEVELING)
-      MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
-    #endif
-    MENU_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000);
-    MENU_ITEM_EDIT(float3, MSG_VX_JERK, &planner.max_jerk[X_AXIS], 1, 990);
-    MENU_ITEM_EDIT(float3, MSG_VY_JERK, &planner.max_jerk[Y_AXIS], 1, 990);
-    #if ENABLED(DELTA)
-      MENU_ITEM_EDIT(float3, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 1, 990);
-    #else
-      MENU_ITEM_EDIT(float52, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 0.1, 990);
-    #endif
-    MENU_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990);
+    MENU_BACK(MSG_MOTION);
 
-    //
-    // M203 Settings
-    //
+    // M203 Max Feedrate
     MENU_ITEM_EDIT(float3, MSG_VMAX MSG_X, &planner.max_feedrate_mm_s[X_AXIS], 1, 999);
     MENU_ITEM_EDIT(float3, MSG_VMAX MSG_Y, &planner.max_feedrate_mm_s[Y_AXIS], 1, 999);
     MENU_ITEM_EDIT(float3, MSG_VMAX MSG_Z, &planner.max_feedrate_mm_s[Z_AXIS], 1, 999);
@@ -2838,12 +2821,30 @@ void kill_screen(const char* lcd_msg) {
       MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.max_feedrate_mm_s[E_AXIS], 1, 999);
     #endif
 
+    // M205 S Min Feedrate
     MENU_ITEM_EDIT(float3, MSG_VMIN, &planner.min_feedrate_mm_s, 0, 999);
+
+    // M205 T Min Travel Feedrate
     MENU_ITEM_EDIT(float3, MSG_VTRAV_MIN, &planner.min_travel_feedrate_mm_s, 0, 999);
 
-    //
-    // M201 Settings
-    //
+    END_MENU();
+  }
+
+  // M201 / M204 Accelerations
+  void lcd_control_motion_acceleration_menu() {
+    START_MENU();
+    MENU_BACK(MSG_MOTION);
+
+    // M204 P Acceleration
+    MENU_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000);
+
+    // M204 R Retract Acceleration
+    MENU_ITEM_EDIT(float5, MSG_A_RETRACT, &planner.retract_acceleration, 100, 99000);
+
+    // M204 T Travel Acceleration
+    MENU_ITEM_EDIT(float5, MSG_A_TRAVEL, &planner.travel_acceleration, 100, 99000);
+
+    // M201 settings
     MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_X, &planner.max_acceleration_mm_per_s2[X_AXIS], 100, 99000, _reset_acceleration_rates);
     MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_Y, &planner.max_acceleration_mm_per_s2[Y_AXIS], 100, 99000, _reset_acceleration_rates);
     MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_Z, &planner.max_acceleration_mm_per_s2[Z_AXIS], 10, 99000, _reset_acceleration_rates);
@@ -2865,12 +2866,31 @@ void kill_screen(const char* lcd_msg) {
       MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.max_acceleration_mm_per_s2[E_AXIS], 100, 99000, _reset_acceleration_rates);
     #endif
 
-    MENU_ITEM_EDIT(float5, MSG_A_RETRACT, &planner.retract_acceleration, 100, 99000);
-    MENU_ITEM_EDIT(float5, MSG_A_TRAVEL, &planner.travel_acceleration, 100, 99000);
+    END_MENU();
+  }
+
+  // M205 Jerk
+  void lcd_control_motion_jerk_menu() {
+    START_MENU();
+    MENU_BACK(MSG_MOTION);
+
+    MENU_ITEM_EDIT(float3, MSG_VX_JERK, &planner.max_jerk[X_AXIS], 1, 990);
+    MENU_ITEM_EDIT(float3, MSG_VY_JERK, &planner.max_jerk[Y_AXIS], 1, 990);
+    #if ENABLED(DELTA)
+      MENU_ITEM_EDIT(float3, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 1, 990);
+    #else
+      MENU_ITEM_EDIT(float52, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 0.1, 990);
+    #endif
+    MENU_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990);
+
+    END_MENU();
+  }
+
+  // M92 Steps-per-mm
+  void lcd_control_motion_steps_per_mm_menu() {
+    START_MENU();
+    MENU_BACK(MSG_MOTION);
 
-    //
-    // M92 Settings
-    //
     MENU_ITEM_EDIT_CALLBACK(float62, MSG_XSTEPS, &planner.axis_steps_per_mm[X_AXIS], 5, 9999, _planner_refresh_positioning);
     MENU_ITEM_EDIT_CALLBACK(float62, MSG_YSTEPS, &planner.axis_steps_per_mm[Y_AXIS], 5, 9999, _planner_refresh_positioning);
     MENU_ITEM_EDIT_CALLBACK(float62, MSG_ZSTEPS, &planner.axis_steps_per_mm[Z_AXIS], 5, 9999, _planner_refresh_positioning);
@@ -2892,9 +2912,40 @@ void kill_screen(const char* lcd_msg) {
       MENU_ITEM_EDIT_CALLBACK(float62, MSG_ESTEPS, &planner.axis_steps_per_mm[E_AXIS], 5, 9999, _planner_refresh_positioning);
     #endif
 
+    END_MENU();
+  }
+
+  void lcd_control_motion_menu() {
+    START_MENU();
+    MENU_BACK(MSG_CONTROL);
+
+    #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
+      MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
+    #elif HAS_BED_PROBE
+      MENU_ITEM_EDIT_CALLBACK(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, lcd_refresh_zprobe_zoffset);
+    #endif
+
+    // Manual bed leveling, Bed Z:
+    #if ENABLED(MESH_BED_LEVELING) && ENABLED(LCD_BED_LEVELING)
+      MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
+    #endif
+
+    // M203 / M205 Feedrate items
+    MENU_ITEM(submenu, MSG_FEEDRATE, lcd_control_motion_feedrate_menu);
+
+    // M201 Acceleration items
+    MENU_ITEM(submenu, MSG_ACCELERATION, lcd_control_motion_acceleration_menu);
+
+    // M205 Max Jerk
+    MENU_ITEM(submenu, MSG_JERK, lcd_control_motion_jerk_menu);
+
+    // M92 Steps Per mm
+    MENU_ITEM(submenu, MSG_STEPS_PER_MM, lcd_control_motion_steps_per_mm_menu);
+
     #if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
       MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &stepper.abort_on_endstop_hit);
     #endif
+
     END_MENU();
   }
 
-- 
GitLab