|
|
@ -29,6 +29,13 @@ |
|
|
|
#if HAS_LCD_MENU |
|
|
|
|
|
|
|
#include "menu.h" |
|
|
|
|
|
|
|
#include "../lcdprint.h" |
|
|
|
|
|
|
|
#if HAS_GRAPHICAL_LCD |
|
|
|
#include "../dogm/ultralcd_DOGM.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
#include "../../module/motion.h" |
|
|
|
|
|
|
|
#if ENABLED(DELTA) |
|
|
@ -230,6 +237,10 @@ inline void lcd_move_e() { _lcd_move_e(); } |
|
|
|
// "Motion" > "Move Xmm" > "Move XYZ" submenu
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef SHORT_MANUAL_Z_MOVE |
|
|
|
#define SHORT_MANUAL_Z_MOVE 0.025 |
|
|
|
#endif |
|
|
|
|
|
|
|
screenFunc_t _manual_move_func_ptr; |
|
|
|
|
|
|
|
void _goto_manual_move(const float scale) { |
|
|
@ -240,7 +251,6 @@ void _goto_manual_move(const float scale) { |
|
|
|
void menu_move_10mm() { _goto_manual_move(10); } |
|
|
|
void menu_move_1mm() { _goto_manual_move( 1); } |
|
|
|
void menu_move_01mm() { _goto_manual_move( 0.1f); } |
|
|
|
void menu_move_0025mm() { _goto_manual_move( 0.025f); } |
|
|
|
|
|
|
|
void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int8_t eindex=-1) { |
|
|
|
_manual_move_func_ptr = func; |
|
|
@ -268,8 +278,18 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int |
|
|
|
MENU_ITEM(submenu, MSG_MOVE_10MM, menu_move_10mm); |
|
|
|
MENU_ITEM(submenu, MSG_MOVE_1MM, menu_move_1mm); |
|
|
|
MENU_ITEM(submenu, MSG_MOVE_01MM, menu_move_01mm); |
|
|
|
if (axis == Z_AXIS) |
|
|
|
MENU_ITEM(submenu, MSG_MOVE_0025MM, menu_move_0025mm); |
|
|
|
if (axis == Z_AXIS && (SHORT_MANUAL_Z_MOVE) > 0.0f && (SHORT_MANUAL_Z_MOVE) < 0.1f) { |
|
|
|
MENU_ITEM(submenu, "", []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); }); |
|
|
|
MENU_ITEM_ADDON_START(1); |
|
|
|
char tmp[20], numstr[10]; |
|
|
|
// Determine digits needed right of decimal
|
|
|
|
const uint8_t digs = !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 1000 - int((SHORT_MANUAL_Z_MOVE) * 1000)) ? 4 : |
|
|
|
!UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 100 - int((SHORT_MANUAL_Z_MOVE) * 100)) ? 3 : 2; |
|
|
|
dtostrf(SHORT_MANUAL_Z_MOVE, 1, digs, numstr); |
|
|
|
sprintf_P(tmp, PSTR(MSG_MOVE_Z_DIST), numstr); |
|
|
|
LCDPRINT(tmp); |
|
|
|
MENU_ITEM_ADDON_END(); |
|
|
|
} |
|
|
|
} |
|
|
|
END_MENU(); |
|
|
|
} |
|
|
|