🔨 Rotational move items (#26438)
This commit is contained in:
parent
f50ca52c57
commit
aed577271f
|
@ -1533,6 +1533,9 @@
|
|||
//#define MANUAL_MOVE_DISTANCE_IN 1.000, 0.500, 0.100, 0.010, 0.001 // (in)
|
||||
//#define MANUAL_MOVE_DISTANCE_IN 5.000, 1.000, 0.500, 0.100, 0.010, 0.001 // (in)
|
||||
|
||||
// Manual move distances for rotational axes
|
||||
#define MANUAL_MOVE_DISTANCE_DEG 90, 45, 22.5, 5, 1 // (°)
|
||||
|
||||
// BACK menu items keep the highlight at the top
|
||||
//#define TURBO_BACK_MENU_ITEM
|
||||
|
||||
|
|
|
@ -103,6 +103,8 @@
|
|||
|
||||
#if ANY(AXIS4_ROTATES, AXIS5_ROTATES, AXIS6_ROTATES, AXIS7_ROTATES, AXIS8_ROTATES, AXIS9_ROTATES)
|
||||
#define HAS_ROTATIONAL_AXES 1
|
||||
#else
|
||||
#undef MANUAL_MOVE_DISTANCE_DEG
|
||||
#endif
|
||||
|
||||
#if HAS_X_AXIS
|
||||
|
|
|
@ -88,6 +88,7 @@ namespace LanguageNarrow_an {
|
|||
LSTR MSG_MOVE_EN = _UxGT("Extrusor *");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Mover $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Mover $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Mover $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Velocidat");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Base Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Boquilla");
|
||||
|
|
|
@ -77,6 +77,7 @@ namespace LanguageNarrow_bg {
|
|||
LSTR MSG_MOVE_EN = _UxGT("Екструдер *");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Премести с $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Премести с $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Премести с $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Скорост");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Bed Z");
|
||||
LSTR MSG_NOZZLE = " " LCD_STR_THERMOMETER _UxGT(" Дюза");
|
||||
|
|
|
@ -88,6 +88,7 @@ namespace LanguageNarrow_ca {
|
|||
LSTR MSG_MOVE_EN = _UxGT("Extrusor *");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Mou $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Mou $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Mou $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Velocitat");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Llit Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Nozzle");
|
||||
|
|
|
@ -232,6 +232,7 @@ namespace LanguageNarrow_cz {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Hotend je studený");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Posunout o $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Posunout o $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Posunout o $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Rychlost");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Výška podl.");
|
||||
LSTR MSG_NOZZLE = _UxGT("Tryska");
|
||||
|
|
|
@ -79,6 +79,7 @@ namespace LanguageNarrow_da {
|
|||
LSTR MSG_MOVE_EN = _UxGT("Flyt *");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Flyt $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Flyt $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Flyt $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Hastighed");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Plade Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Dyse");
|
||||
|
|
|
@ -290,6 +290,7 @@ namespace LanguageNarrow_de {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Hotend zu kalt");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT(" $ mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT(" $ in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT(" $ ") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Geschw.");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Bett Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Düse");
|
||||
|
|
|
@ -318,6 +318,7 @@ namespace LanguageNarrow_en {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Hotend too cold");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Move $ mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Move $ in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Move $ ") LCD_STR_DEGREE;
|
||||
LSTR MSG_LIVE_MOVE = _UxGT("Live Move");
|
||||
LSTR MSG_SPEED = _UxGT("Speed");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Bed Z");
|
||||
|
|
|
@ -230,6 +230,7 @@ namespace LanguageNarrow_es {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Hotend muy frio");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Mover $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Mover $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Mover $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Velocidad");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Cama Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Boquilla");
|
||||
|
|
|
@ -139,6 +139,7 @@ namespace LanguageNarrow_eu {
|
|||
LSTR MSG_MOVE_EN = _UxGT("Estrusorea *");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Mugitu $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Mugitu $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Mugitu $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Abiadura");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Z Ohea");
|
||||
LSTR MSG_NOZZLE = _UxGT("Pita");
|
||||
|
|
|
@ -74,6 +74,7 @@ namespace LanguageNarrow_fi {
|
|||
LSTR MSG_MOVE_EN = _UxGT("Extruder *");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Liikuta $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Liikuta $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Liikuta $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Nopeus");
|
||||
LSTR MSG_NOZZLE = _UxGT("Suutin");
|
||||
LSTR MSG_NOZZLE_N = _UxGT("Suutin ~");
|
||||
|
|
|
@ -234,6 +234,7 @@ namespace LanguageNarrow_fr {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Buse trop froide");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Déplacer $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Déplacer $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Déplacer $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Vitesse");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Lit Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Buse");
|
||||
|
|
|
@ -234,6 +234,7 @@ namespace LanguageNarrow_fr_na {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Buse trop froide");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Deplacer $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Deplacer $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Deplacer $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Vitesse");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Lit Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Buse");
|
||||
|
|
|
@ -227,6 +227,7 @@ namespace LanguageNarrow_gl {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Bico moi frío");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Mover $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Mover $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Mover $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Velocidade");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Cama Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Bico");
|
||||
|
|
|
@ -84,6 +84,7 @@ namespace LanguageNarrow_hr {
|
|||
LSTR MSG_MOVE_EN = _UxGT("Miči *");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Miči $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Miči $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Miči $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Brzina");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Bed Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Dizna");
|
||||
|
|
|
@ -262,6 +262,7 @@ namespace LanguageNarrow_hu {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("A fej túl hideg");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Mozgás $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Mozgás $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Mozgás $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Sebesség");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Z ágy");
|
||||
LSTR MSG_NOZZLE = _UxGT("Fej");
|
||||
|
|
|
@ -311,6 +311,7 @@ namespace LanguageNarrow_it {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Ugello freddo");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Muovi di $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Muovi di $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Muovi di $") LCD_STR_DEGREE;
|
||||
LSTR MSG_LIVE_MOVE = _UxGT("Modalità Live");
|
||||
LSTR MSG_SPEED = _UxGT("Velocità");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Piatto Z");
|
||||
|
|
|
@ -97,6 +97,7 @@ namespace LanguageNarrow_jp_kana {
|
|||
LSTR MSG_MOVE_EN = _UxGT("* エクストルーダー"); // "En"
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("$mm イドウ"); // "Move $mm"
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("$in イドウ"); // "Move $in"
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("$" LCD_STR_DEGREE " イドウ"); // "Move $°"
|
||||
LSTR MSG_SPEED = _UxGT("ソクド"); // "Speed"
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Zオフセット"); // "Bed Z"
|
||||
LSTR MSG_NOZZLE = _UxGT("ノズル"); // "Nozzle"
|
||||
|
|
|
@ -89,6 +89,7 @@ namespace LanguageNarrow_nl {
|
|||
LSTR MSG_MOVE_EN = _UxGT("Extruder *");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Verplaats $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Verplaats $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Verplaats $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Snelheid");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Bed Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Nozzle");
|
||||
|
|
|
@ -241,6 +241,7 @@ namespace LanguageNarrow_pl {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Dysza za zimna");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Przesuń co $ mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Przesuń co $ in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Przesuń co $ ") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Predkość");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Stół Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Dysza");
|
||||
|
|
|
@ -83,6 +83,7 @@ namespace LanguageNarrow_pt {
|
|||
LSTR MSG_MOVE_EN = _UxGT("Mover Extrusor *");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Mover $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Mover $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Mover $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Velocidade");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Base Z");
|
||||
LSTR MSG_NOZZLE = " " LCD_STR_THERMOMETER _UxGT(" Bico");
|
||||
|
|
|
@ -213,6 +213,7 @@ namespace LanguageNarrow_pt_br {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Extrus. mto fria");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Mover $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Mover $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Mover $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Velocidade");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Base Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Bocal");
|
||||
|
|
|
@ -226,6 +226,7 @@ namespace LanguageNarrow_ro {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Capat Prea Rece");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Move $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Move $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Move $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Speed");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Bed Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Nozzle");
|
||||
|
|
|
@ -265,6 +265,7 @@ namespace LanguageNarrow_ru {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Сопло не нагрето");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Движение $мм");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Движение $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Движение $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Скорость");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Z стола");
|
||||
LSTR MSG_NOZZLE = _UxGT("Сопло, ") LCD_STR_DEGREE _UxGT("C");
|
||||
|
|
|
@ -307,6 +307,7 @@ namespace LanguageNarrow_sk {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Hotend je studený");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Posunúť o $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Posunúť o $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Posunúť o $") LCD_STR_DEGREE;
|
||||
LSTR MSG_LIVE_MOVE = _UxGT("Živý pohyb");
|
||||
LSTR MSG_SPEED = _UxGT("Rýchlosť");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Výška podl.");
|
||||
|
|
|
@ -253,6 +253,7 @@ namespace LanguageNarrow_sv {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Hetände för kall");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Flytta $mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Flytta $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Flytta $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Hastighet");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Bädd Z");
|
||||
LSTR MSG_NOZZLE = _UxGT("Munstycke");
|
||||
|
|
|
@ -293,6 +293,7 @@ namespace LanguageNarrow_tr {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Nozul Çok Soğuk");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("$mm");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("$in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("$") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Hız");
|
||||
LSTR MSG_BED_Z = _UxGT("Z Mesafesi");
|
||||
LSTR MSG_NOZZLE = _UxGT("Nozul");
|
||||
|
|
|
@ -264,6 +264,7 @@ namespace LanguageNarrow_uk {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Сопло дуже холодне");
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Рух $мм");
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Рух $in");
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Рух $") LCD_STR_DEGREE;
|
||||
LSTR MSG_SPEED = _UxGT("Швидкість");
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Z Столу");
|
||||
LSTR MSG_NOZZLE = _UxGT("Сопло, ") LCD_STR_DEGREE _UxGT("C");
|
||||
|
|
|
@ -202,6 +202,7 @@ namespace LanguageNarrow_vi {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("Đầu nóng quá lạnh"); // Hotend too cold
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("Di chuyển $mm"); // Move $mm
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("Di chuyển $in"); // Move $in
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("Di chuyển $") LCD_STR_DEGREE; // Move $°
|
||||
LSTR MSG_SPEED = _UxGT("Tốc độ"); // Speed
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("Z Bàn");
|
||||
LSTR MSG_NOZZLE = _UxGT("Đầu phun"); // Nozzle
|
||||
|
|
|
@ -222,6 +222,7 @@ namespace LanguageNarrow_zh_TW {
|
|||
LSTR MSG_HOTEND_TOO_COLD = _UxGT("噴嘴溫度不夠"); // "Hotend too cold"
|
||||
LSTR MSG_MOVE_N_MM = _UxGT("移動 $ mm"); // "Move $mm"
|
||||
LSTR MSG_MOVE_N_IN = _UxGT("移動 $ in"); // "Move $in"
|
||||
LSTR MSG_MOVE_N_DEG = _UxGT("移動 $ ") LCD_STR_DEGREE; // "Move $°"
|
||||
LSTR MSG_SPEED = _UxGT("速率"); // "Speed"
|
||||
LSTR MSG_MESH_Z_OFFSET = _UxGT("熱床Z"); // "Bed Z"
|
||||
LSTR MSG_NOZZLE = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴"); // "Nozzle" 噴嘴
|
||||
|
|
|
@ -152,23 +152,32 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int
|
|||
|
||||
BACK_ITEM(MSG_MOVE_AXIS);
|
||||
|
||||
#ifndef EXTRUDE_MAXLENGTH
|
||||
#define EXTRUDE_MAXLENGTH 50
|
||||
#define __LINEAR_LIMIT(D) ((D) < max_length(axis) / 2 + 1)
|
||||
#if HAS_EXTRUDERS
|
||||
#ifndef EXTRUDE_MAXLENGTH
|
||||
#define EXTRUDE_MAXLENGTH 50
|
||||
#endif
|
||||
#define _LINEAR_LIMIT(D) ((axis < E_AXIS) ? __LINEAR_LIMIT(D) : ((D) < (EXTRUDE_MAXLENGTH) / 2 + 1))
|
||||
#else
|
||||
#define _LINEAR_LIMIT __LINEAR_LIMIT
|
||||
#endif
|
||||
#define __MOVE_MM(T,D) if (axis < NUM_AXES /* Linear and rotational axes: */ \
|
||||
? (D) > base_max_pos(axis) / 2 /* XYZIJKUVW limit to half axis length */ \
|
||||
: TERN0(HAS_EXTRUDERS, (D) <= (EXTRUDE_MAXLENGTH) / 2 + 1) /* E... limit to ~half max length (or 50mm) */ \
|
||||
) SUBMENU_S(F(T), MSG_MOVE_N_MM, []{ _goto_manual_move(D); });
|
||||
#define __MOVE_SUB(L,T,D) if (rotational[axis] || _LINEAR_LIMIT(D)) SUBMENU_S(F(T), L, []{ _goto_manual_move(D); })
|
||||
|
||||
if (parser.using_inch_units()) {
|
||||
if (rotational[axis]) {
|
||||
#ifdef MANUAL_MOVE_DISTANCE_DEG
|
||||
#define _MOVE_DEG(D) __MOVE_SUB(MSG_MOVE_N_DEG, STRINGIFY(D), D);
|
||||
MAP(_MOVE_DEG, MANUAL_MOVE_DISTANCE_DEG)
|
||||
#endif
|
||||
}
|
||||
else if (parser.using_inch_units()) {
|
||||
#ifdef MANUAL_MOVE_DISTANCE_IN
|
||||
#define _MOVE_IN(I) __MOVE_MM(STRINGIFY(I), IN_TO_MM(I))
|
||||
#define _MOVE_IN(I) __MOVE_SUB(MSG_MOVE_N_MM, STRINGIFY(I), IN_TO_MM(I));
|
||||
MAP(_MOVE_IN, MANUAL_MOVE_DISTANCE_IN)
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
#ifdef MANUAL_MOVE_DISTANCE_MM
|
||||
#define _MOVE_MM(M) __MOVE_MM(STRINGIFY(M), M)
|
||||
#define _MOVE_MM(M) __MOVE_SUB(MSG_MOVE_N_MM, STRINGIFY(M), M);
|
||||
MAP(_MOVE_MM, MANUAL_MOVE_DISTANCE_MM)
|
||||
#endif
|
||||
#if HAS_Z_AXIS
|
||||
|
|
|
@ -142,6 +142,13 @@ XYZ_DEFS(float, base_home_pos, HOME_POS);
|
|||
XYZ_DEFS(float, max_length, MAX_LENGTH);
|
||||
XYZ_DEFS(int8_t, home_dir, HOME_DIR);
|
||||
|
||||
// Flags for rotational axes
|
||||
constexpr AxisFlags rotational{0 LOGICAL_AXIS_GANG(
|
||||
|| 0, || 0, || 0, || 0,
|
||||
|| (ENABLED(AXIS4_ROTATES)<<I_AXIS), || (ENABLED(AXIS5_ROTATES)<<J_AXIS), || (ENABLED(AXIS6_ROTATES)<<K_AXIS),
|
||||
|| (ENABLED(AXIS7_ROTATES)<<U_AXIS), || (ENABLED(AXIS8_ROTATES)<<V_AXIS), || (ENABLED(AXIS9_ROTATES)<<W_AXIS))
|
||||
};
|
||||
|
||||
inline float home_bump_mm(const AxisEnum axis) {
|
||||
static const xyz_pos_t home_bump_mm_P DEFS_PROGMEM = HOMING_BUMP_MM;
|
||||
return pgm_read_any(&home_bump_mm_P[axis]);
|
||||
|
|
Loading…
Reference in a new issue