Skip to content

Commit

Permalink
simplify
Browse files Browse the repository at this point in the history
  • Loading branch information
thinkyhead committed Jun 22, 2022
1 parent 71c38c2 commit 3022e5d
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 25 deletions.
24 changes: 12 additions & 12 deletions Marlin/src/gcode/parser.h
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,17 @@ class GCodeParser {

// Units modes: Inches, Fahrenheit, Kelvin

static constexpr bool axis_is_rotational(const AxisEnum axis) {
return (false
|| TERN0(AXIS4_ROTATES, axis == I_AXIS)
|| TERN0(AXIS5_ROTATES, axis == J_AXIS)
|| TERN0(AXIS6_ROTATES, axis == K_AXIS)
|| TERN0(AXIS7_ROTATES, axis == U_AXIS)
|| TERN0(AXIS8_ROTATES, axis == V_AXIS)
|| TERN0(AXIS9_ROTATES, axis == W_AXIS)
);
}

#if ENABLED(INCH_MODE_SUPPORT)
static float mm_to_linear_unit(const_float_t mm) { return mm / linear_unit_factor; }
static float mm_to_volumetric_unit(const_float_t mm) { return mm / (volumetric_enabled ? volumetric_unit_factor : linear_unit_factor); }
Expand All @@ -308,19 +319,8 @@ class GCodeParser {
volumetric_unit_factor = POW(linear_unit_factor, 3);
}

static constexpr bool is_rotational(const AxisEnum axis) {
return (false
|| TERN0(AXIS4_ROTATES, axis == I_AXIS)
|| TERN0(AXIS5_ROTATES, axis == J_AXIS)
|| TERN0(AXIS6_ROTATES, axis == K_AXIS)
|| TERN0(AXIS7_ROTATES, axis == U_AXIS)
|| TERN0(AXIS8_ROTATES, axis == V_AXIS)
|| TERN0(AXIS9_ROTATES, axis == W_AXIS)
);
}

static float axis_unit_factor(const AxisEnum axis) {
if (is_rotational(axis)) return 1.0f;
if (axis_is_rotational(axis)) return 1.0f;
#if HAS_EXTRUDERS
if (axis >= E_AXIS && volumetric_enabled) return volumetric_unit_factor;
#endif
Expand Down
23 changes: 10 additions & 13 deletions Marlin/src/lcd/menu/menu_motion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ static void _lcd_move_xyz(const AxisEnum axis) {
ui.encoderPosition = 0;
if (ui.should_draw()) {
const float pos = ui.manual_move.axis_value(axis);
if (parser.using_inch_units() && !parser.is_rotational(axis)) {
const float imp_pos = LINEAR_UNIT(pos);
if (parser.axis_unit_factor(axis) != 1.0f) {
const float imp_pos = parser.axis_value_to_mm(axis, pos);
MenuEditItemBase::draw_edit_screen(GET_TEXT_F(MSG_MOVE_N), ftostr63(imp_pos));
}
else
Expand Down Expand Up @@ -152,21 +152,18 @@ void _goto_manual_move(const_float_t scale) {
void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int8_t eindex=active_extruder) {
_manual_move_func_ptr = func;
START_MENU();
if (LCD_HEIGHT >= 4) {
switch (axis) {
#define _CASE_MOVE(N) case N##_AXIS:
MAIN_AXIS_MAP(_CASE_MOVE)
STATIC_ITEM_N(axis, MSG_MOVE_N, SS_DEFAULT|SS_INVERT);
break;
default:
TERN_(MANUAL_E_MOVES_RELATIVE, manual_move_e_origin = current_position.e);
STATIC_ITEM(MSG_MOVE_E, SS_DEFAULT|SS_INVERT);
break;

if (LCD_HEIGHT >= 4) { // Space for a title?
if (axis < NUM_AXES)
STATIC_ITEM_N(axis, MSG_MOVE_N, SS_DEFAULT|SS_INVERT);
else {
TERN_(MANUAL_E_MOVES_RELATIVE, manual_move_e_origin = current_position.e);
STATIC_ITEM(MSG_MOVE_E, SS_DEFAULT|SS_INVERT);
}
}

BACK_ITEM(MSG_MOVE_AXIS);
if (parser.is_rotational(axis)) {
if (parser.axis_is_rotational(axis)) {
SUBMENU(MSG_MOVE_10DEG, []{ _goto_manual_move(10); });
SUBMENU(MSG_MOVE_1DEG, []{ _goto_manual_move(1.000f); });
SUBMENU(MSG_MOVE_01DEG, []{ _goto_manual_move(0.100f); });
Expand Down

0 comments on commit 3022e5d

Please sign in to comment.