Skip to content

Commit 366b164

Browse files
marciotvgadreau
authored andcommitted
Touch UI support for X2, Y2 and Z2 (MarlinFirmware#19538)
1 parent 1cc66b0 commit 366b164

File tree

4 files changed

+104
-42
lines changed

4 files changed

+104
-42
lines changed

Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h

+3
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,11 @@ namespace Language_en {
5757
PROGMEM Language_Str MSG_AMAX_Y = u8"Amax Y";
5858
PROGMEM Language_Str MSG_AMAX_Z = u8"Amax Z";
5959
PROGMEM Language_Str MSG_AXIS_X = u8"X";
60+
PROGMEM Language_Str MSG_AXIS_X2 = u8"X2";
6061
PROGMEM Language_Str MSG_AXIS_Y = u8"Y";
62+
PROGMEM Language_Str MSG_AXIS_Y2 = u8"Y2";
6163
PROGMEM Language_Str MSG_AXIS_Z = u8"Z";
64+
PROGMEM Language_Str MSG_AXIS_Z2 = u8"Z2";
6265
PROGMEM Language_Str MSG_AXIS_E = u8"E";
6366
PROGMEM Language_Str MSG_AXIS_E1 = u8"E1";
6467
PROGMEM Language_Str MSG_AXIS_E2 = u8"E2";

Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
3838
}
3939

4040
#ifdef TOUCH_UI_PORTRAIT
41-
#if EITHER(CASE_LIGHT_ENABLE, SENSORLESS_HOMING)
41+
#if EITHER(HAS_MULTI_HOTEND, SENSORLESS_HOMING)
4242
#define GRID_ROWS 9
4343
#else
4444
#define GRID_ROWS 8

Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stepper_current_screen.cpp

+71-30
Original file line numberDiff line numberDiff line change
@@ -35,46 +35,87 @@ void StepperCurrentScreen::onRedraw(draw_mode_t what) {
3535
w.precision(0);
3636
w.units(GET_TEXT_F(MSG_UNITS_MILLIAMP));
3737
w.heading( GET_TEXT_F(MSG_TMC_CURRENT));
38-
w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getAxisCurrent_mA(X) );
39-
w.color(y_axis) .adjuster( 4, GET_TEXT_F(MSG_AXIS_Y), getAxisCurrent_mA(Y) );
40-
w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Z), getAxisCurrent_mA(Z) );
41-
#if EXTRUDERS == 1
42-
w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AXIS_E), getAxisCurrent_mA(E0) );
43-
#elif HAS_MULTI_EXTRUDER
44-
w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AXIS_E1), getAxisCurrent_mA(E0) );
45-
w.color(e_axis).adjuster(10, GET_TEXT_F(MSG_AXIS_E2), getAxisCurrent_mA(E1) );
46-
#if EXTRUDERS > 2
47-
w.color(e_axis).adjuster(12, GET_TEXT_F(MSG_AXIS_E3), getAxisCurrent_mA(E2) );
48-
#endif
49-
#if EXTRUDERS > 3
50-
w.color(e_axis).adjuster(14, GET_TEXT_F(MSG_AXIS_E4), getAxisCurrent_mA(E3) );
38+
#if AXIS_IS_TMC(X)
39+
w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getAxisCurrent_mA(X) );
40+
#endif
41+
#if AXIS_IS_TMC(X2)
42+
w.color(x_axis) .adjuster( 4, GET_TEXT_F(MSG_AXIS_X2), getAxisCurrent_mA(X2) );
43+
#endif
44+
#if AXIS_IS_TMC(Y)
45+
w.color(y_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Y), getAxisCurrent_mA(Y) );
46+
#endif
47+
#if AXIS_IS_TMC(Y2)
48+
w.color(x_axis) .adjuster( 8, GET_TEXT_F(MSG_AXIS_Y2), getAxisCurrent_mA(Y2) );
49+
#endif
50+
#if AXIS_IS_TMC(Z)
51+
w.color(z_axis) .adjuster(10, GET_TEXT_F(MSG_AXIS_Z), getAxisCurrent_mA(Z) );
52+
#endif
53+
#if AXIS_IS_TMC(Z2)
54+
w.color(z_axis) .adjuster(12, GET_TEXT_F(MSG_AXIS_Z2), getAxisCurrent_mA(Z2) );
55+
#endif
56+
#if AXIS_IS_TMC(E0)
57+
w.color(e_axis) .adjuster(14, GET_TEXT_F(
58+
#if EXTRUDERS == 1
59+
MSG_AXIS_E
60+
#else
61+
MSG_AXIS_E1
5162
#endif
63+
), getAxisCurrent_mA(E0) );
64+
#endif
65+
#if AXIS_IS_TMC(E1)
66+
w.color(e_axis).adjuster(16, GET_TEXT_F(MSG_AXIS_E2), getAxisCurrent_mA(E1) );
67+
#endif
68+
#if AXIS_IS_TMC(E2)
69+
w.color(e_axis).adjuster(18, GET_TEXT_F(MSG_AXIS_E3), getAxisCurrent_mA(E2) );
70+
#endif
71+
#if AXIS_IS_TMC(E3)
72+
w.color(e_axis).adjuster(20, GET_TEXT_F(MSG_AXIS_E4), getAxisCurrent_mA(E3) );
5273
#endif
5374
w.increments();
5475
}
5576

5677
bool StepperCurrentScreen::onTouchHeld(uint8_t tag) {
5778
const float increment = getIncrement();
5879
switch (tag) {
59-
case 2: UI_DECREMENT(AxisCurrent_mA, X ); break;
60-
case 3: UI_INCREMENT(AxisCurrent_mA, X ); break;
61-
case 4: UI_DECREMENT(AxisCurrent_mA, Y ); break;
62-
case 5: UI_INCREMENT(AxisCurrent_mA, Y ); break;
63-
case 6: UI_DECREMENT(AxisCurrent_mA, Z ); break;
64-
case 7: UI_INCREMENT(AxisCurrent_mA, Z ); break;
65-
case 8: UI_DECREMENT(AxisCurrent_mA, E0); break;
66-
case 9: UI_INCREMENT(AxisCurrent_mA, E0); break;
67-
#if HAS_MULTI_EXTRUDER
68-
case 10: UI_DECREMENT(AxisCurrent_mA, E1); break;
69-
case 11: UI_INCREMENT(AxisCurrent_mA, E1); break;
80+
#if AXIS_IS_TMC(X)
81+
case 2: UI_DECREMENT(AxisCurrent_mA, X ); break;
82+
case 3: UI_INCREMENT(AxisCurrent_mA, X ); break;
83+
#endif
84+
#if AXIS_IS_TMC(X2)
85+
case 4: UI_DECREMENT(AxisCurrent_mA, X2 ); break;
86+
case 5: UI_INCREMENT(AxisCurrent_mA, X2 ); break;
87+
#endif
88+
#if AXIS_IS_TMC(Y)
89+
case 6: UI_DECREMENT(AxisCurrent_mA, Y ); break;
90+
case 7: UI_INCREMENT(AxisCurrent_mA, Y ); break;
91+
#endif
92+
#if AXIS_IS_TMC(Y2)
93+
case 8: UI_DECREMENT(AxisCurrent_mA, Y2 ); break;
94+
case 9: UI_INCREMENT(AxisCurrent_mA, Y2 ); break;
95+
#endif
96+
#if AXIS_IS_TMC(Z)
97+
case 10: UI_DECREMENT(AxisCurrent_mA, Z ); break;
98+
case 11: UI_INCREMENT(AxisCurrent_mA, Z ); break;
99+
#endif
100+
#if AXIS_IS_TMC(Z2)
101+
case 12: UI_DECREMENT(AxisCurrent_mA, Z2 ); break;
102+
case 13: UI_INCREMENT(AxisCurrent_mA, Z2 ); break;
103+
#endif
104+
#if AXIS_IS_TMC(E0)
105+
case 14: UI_DECREMENT(AxisCurrent_mA, E0); break;
106+
case 15: UI_INCREMENT(AxisCurrent_mA, E0); break;
107+
#endif
108+
#if AXIS_IS_TMC(E1)
109+
case 16: UI_DECREMENT(AxisCurrent_mA, E1); break;
110+
case 17: UI_INCREMENT(AxisCurrent_mA, E1); break;
70111
#endif
71-
#if EXTRUDERS > 2
72-
case 12: UI_DECREMENT(AxisCurrent_mA, E2); break;
73-
case 13: UI_INCREMENT(AxisCurrent_mA, E2); break;
112+
#if AXIS_IS_TMC(E2)
113+
case 18: UI_DECREMENT(AxisCurrent_mA, E2); break;
114+
case 19: UI_INCREMENT(AxisCurrent_mA, E2); break;
74115
#endif
75-
#if EXTRUDERS > 3
76-
case 14: UI_DECREMENT(AxisCurrent_mA, E3); break;
77-
case 15: UI_INCREMENT(AxisCurrent_mA, E3); break;
116+
#if AXIS_IS_TMC(E3)
117+
case 20: UI_DECREMENT(AxisCurrent_mA, E3); break;
118+
case 21: UI_INCREMENT(AxisCurrent_mA, E3); break;
78119
#endif
79120
default:
80121
return false;

Marlin/src/lcd/extui/ui_api.cpp

+29-11
Original file line numberDiff line numberDiff line change
@@ -399,12 +399,21 @@ namespace ExtUI {
399399
#if AXIS_IS_TMC(X)
400400
case X: return stepperX.getMilliamps();
401401
#endif
402+
#if AXIS_IS_TMC(X2)
403+
case X2: return stepperX2.getMilliamps();
404+
#endif
402405
#if AXIS_IS_TMC(Y)
403406
case Y: return stepperY.getMilliamps();
404407
#endif
408+
#if AXIS_IS_TMC(Y2)
409+
case Y2: return stepperY2.getMilliamps();
410+
#endif
405411
#if AXIS_IS_TMC(Z)
406412
case Z: return stepperZ.getMilliamps();
407413
#endif
414+
#if AXIS_IS_TMC(Z2)
415+
case Z2: return stepperZ2.getMilliamps();
416+
#endif
408417
default: return NAN;
409418
};
410419
}
@@ -442,13 +451,22 @@ namespace ExtUI {
442451
void setAxisCurrent_mA(const float mA, const axis_t axis) {
443452
switch (axis) {
444453
#if AXIS_IS_TMC(X)
445-
case X: stepperX.rms_current(constrain(mA, 500, 1500)); break;
454+
case X: stepperX.rms_current(constrain(mA, 400, 1500)); break;
455+
#endif
456+
#if AXIS_IS_TMC(X2)
457+
case X2: stepperX2.rms_current(constrain(mA, 400, 1500)); break;
446458
#endif
447459
#if AXIS_IS_TMC(Y)
448-
case Y: stepperY.rms_current(constrain(mA, 500, 1500)); break;
460+
case Y: stepperY.rms_current(constrain(mA, 400, 1500)); break;
461+
#endif
462+
#if AXIS_IS_TMC(Y2)
463+
case Y2: stepperY2.rms_current(constrain(mA, 400, 1500)); break;
449464
#endif
450465
#if AXIS_IS_TMC(Z)
451-
case Z: stepperZ.rms_current(constrain(mA, 500, 1500)); break;
466+
case Z: stepperZ.rms_current(constrain(mA, 400, 1500)); break;
467+
#endif
468+
#if AXIS_IS_TMC(Z2)
469+
case Z2: stepperZ2.rms_current(constrain(mA, 400, 1500)); break;
452470
#endif
453471
default: break;
454472
};
@@ -457,28 +475,28 @@ namespace ExtUI {
457475
void setAxisCurrent_mA(const float mA, const extruder_t extruder) {
458476
switch (extruder) {
459477
#if AXIS_IS_TMC(E0)
460-
case E0: stepperE0.rms_current(constrain(mA, 500, 1500)); break;
478+
case E0: stepperE0.rms_current(constrain(mA, 400, 1500)); break;
461479
#endif
462480
#if AXIS_IS_TMC(E1)
463-
case E1: stepperE1.rms_current(constrain(mA, 500, 1500)); break;
481+
case E1: stepperE1.rms_current(constrain(mA, 400, 1500)); break;
464482
#endif
465483
#if AXIS_IS_TMC(E2)
466-
case E2: stepperE2.rms_current(constrain(mA, 500, 1500)); break;
484+
case E2: stepperE2.rms_current(constrain(mA, 400, 1500)); break;
467485
#endif
468486
#if AXIS_IS_TMC(E3)
469-
case E3: stepperE3.rms_current(constrain(mA, 500, 1500)); break;
487+
case E3: stepperE3.rms_current(constrain(mA, 400, 1500)); break;
470488
#endif
471489
#if AXIS_IS_TMC(E4)
472-
case E4: stepperE4.rms_current(constrain(mA, 500, 1500)); break;
490+
case E4: stepperE4.rms_current(constrain(mA, 400, 1500)); break;
473491
#endif
474492
#if AXIS_IS_TMC(E5)
475-
case E5: stepperE5.rms_current(constrain(mA, 500, 1500)); break;
493+
case E5: stepperE5.rms_current(constrain(mA, 400, 1500)); break;
476494
#endif
477495
#if AXIS_IS_TMC(E6)
478-
case E6: stepperE6.rms_current(constrain(mA, 500, 1500)); break;
496+
case E6: stepperE6.rms_current(constrain(mA, 400, 1500)); break;
479497
#endif
480498
#if AXIS_IS_TMC(E7)
481-
case E7: stepperE7.rms_current(constrain(mA, 500, 1500)); break;
499+
case E7: stepperE7.rms_current(constrain(mA, 400, 1500)); break;
482500
#endif
483501
default: break;
484502
};

0 commit comments

Comments
 (0)