Touch UI support for X2, Y2 and Z2 (#19538)

This commit is contained in:
Marcio T 2020-10-02 16:30:32 -06:00 committed by Scott Lahteine
parent b947590082
commit 2213eb3317
4 changed files with 104 additions and 42 deletions

View file

@ -57,8 +57,11 @@ namespace Language_en {
PROGMEM Language_Str MSG_AMAX_Y = u8"Amax Y"; PROGMEM Language_Str MSG_AMAX_Y = u8"Amax Y";
PROGMEM Language_Str MSG_AMAX_Z = u8"Amax Z"; PROGMEM Language_Str MSG_AMAX_Z = u8"Amax Z";
PROGMEM Language_Str MSG_AXIS_X = u8"X"; PROGMEM Language_Str MSG_AXIS_X = u8"X";
PROGMEM Language_Str MSG_AXIS_X2 = u8"X2";
PROGMEM Language_Str MSG_AXIS_Y = u8"Y"; PROGMEM Language_Str MSG_AXIS_Y = u8"Y";
PROGMEM Language_Str MSG_AXIS_Y2 = u8"Y2";
PROGMEM Language_Str MSG_AXIS_Z = u8"Z"; PROGMEM Language_Str MSG_AXIS_Z = u8"Z";
PROGMEM Language_Str MSG_AXIS_Z2 = u8"Z2";
PROGMEM Language_Str MSG_AXIS_E = u8"E"; PROGMEM Language_Str MSG_AXIS_E = u8"E";
PROGMEM Language_Str MSG_AXIS_E1 = u8"E1"; PROGMEM Language_Str MSG_AXIS_E1 = u8"E1";
PROGMEM Language_Str MSG_AXIS_E2 = u8"E2"; PROGMEM Language_Str MSG_AXIS_E2 = u8"E2";

View file

@ -38,7 +38,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
} }
#ifdef TOUCH_UI_PORTRAIT #ifdef TOUCH_UI_PORTRAIT
#if EITHER(CASE_LIGHT_ENABLE, SENSORLESS_HOMING) #if EITHER(HAS_MULTI_HOTEND, SENSORLESS_HOMING)
#define GRID_ROWS 9 #define GRID_ROWS 9
#else #else
#define GRID_ROWS 8 #define GRID_ROWS 8

View file

@ -35,20 +35,41 @@ void StepperCurrentScreen::onRedraw(draw_mode_t what) {
w.precision(0); w.precision(0);
w.units(GET_TEXT_F(MSG_UNITS_MILLIAMP)); w.units(GET_TEXT_F(MSG_UNITS_MILLIAMP));
w.heading( GET_TEXT_F(MSG_TMC_CURRENT)); w.heading( GET_TEXT_F(MSG_TMC_CURRENT));
w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getAxisCurrent_mA(X) ); #if AXIS_IS_TMC(X)
w.color(y_axis) .adjuster( 4, GET_TEXT_F(MSG_AXIS_Y), getAxisCurrent_mA(Y) ); w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getAxisCurrent_mA(X) );
w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Z), getAxisCurrent_mA(Z) ); #endif
#if EXTRUDERS == 1 #if AXIS_IS_TMC(X2)
w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AXIS_E), getAxisCurrent_mA(E0) ); w.color(x_axis) .adjuster( 4, GET_TEXT_F(MSG_AXIS_X2), getAxisCurrent_mA(X2) );
#elif HAS_MULTI_EXTRUDER #endif
w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AXIS_E1), getAxisCurrent_mA(E0) ); #if AXIS_IS_TMC(Y)
w.color(e_axis).adjuster(10, GET_TEXT_F(MSG_AXIS_E2), getAxisCurrent_mA(E1) ); w.color(y_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Y), getAxisCurrent_mA(Y) );
#if EXTRUDERS > 2 #endif
w.color(e_axis).adjuster(12, GET_TEXT_F(MSG_AXIS_E3), getAxisCurrent_mA(E2) ); #if AXIS_IS_TMC(Y2)
#endif w.color(x_axis) .adjuster( 8, GET_TEXT_F(MSG_AXIS_Y2), getAxisCurrent_mA(Y2) );
#if EXTRUDERS > 3 #endif
w.color(e_axis).adjuster(14, GET_TEXT_F(MSG_AXIS_E4), getAxisCurrent_mA(E3) ); #if AXIS_IS_TMC(Z)
w.color(z_axis) .adjuster(10, GET_TEXT_F(MSG_AXIS_Z), getAxisCurrent_mA(Z) );
#endif
#if AXIS_IS_TMC(Z2)
w.color(z_axis) .adjuster(12, GET_TEXT_F(MSG_AXIS_Z2), getAxisCurrent_mA(Z2) );
#endif
#if AXIS_IS_TMC(E0)
w.color(e_axis) .adjuster(14, GET_TEXT_F(
#if EXTRUDERS == 1
MSG_AXIS_E
#else
MSG_AXIS_E1
#endif #endif
), getAxisCurrent_mA(E0) );
#endif
#if AXIS_IS_TMC(E1)
w.color(e_axis).adjuster(16, GET_TEXT_F(MSG_AXIS_E2), getAxisCurrent_mA(E1) );
#endif
#if AXIS_IS_TMC(E2)
w.color(e_axis).adjuster(18, GET_TEXT_F(MSG_AXIS_E3), getAxisCurrent_mA(E2) );
#endif
#if AXIS_IS_TMC(E3)
w.color(e_axis).adjuster(20, GET_TEXT_F(MSG_AXIS_E4), getAxisCurrent_mA(E3) );
#endif #endif
w.increments(); w.increments();
} }
@ -56,25 +77,45 @@ void StepperCurrentScreen::onRedraw(draw_mode_t what) {
bool StepperCurrentScreen::onTouchHeld(uint8_t tag) { bool StepperCurrentScreen::onTouchHeld(uint8_t tag) {
const float increment = getIncrement(); const float increment = getIncrement();
switch (tag) { switch (tag) {
case 2: UI_DECREMENT(AxisCurrent_mA, X ); break; #if AXIS_IS_TMC(X)
case 3: UI_INCREMENT(AxisCurrent_mA, X ); break; case 2: UI_DECREMENT(AxisCurrent_mA, X ); break;
case 4: UI_DECREMENT(AxisCurrent_mA, Y ); break; case 3: UI_INCREMENT(AxisCurrent_mA, X ); break;
case 5: UI_INCREMENT(AxisCurrent_mA, Y ); break;
case 6: UI_DECREMENT(AxisCurrent_mA, Z ); break;
case 7: UI_INCREMENT(AxisCurrent_mA, Z ); break;
case 8: UI_DECREMENT(AxisCurrent_mA, E0); break;
case 9: UI_INCREMENT(AxisCurrent_mA, E0); break;
#if HAS_MULTI_EXTRUDER
case 10: UI_DECREMENT(AxisCurrent_mA, E1); break;
case 11: UI_INCREMENT(AxisCurrent_mA, E1); break;
#endif #endif
#if EXTRUDERS > 2 #if AXIS_IS_TMC(X2)
case 12: UI_DECREMENT(AxisCurrent_mA, E2); break; case 4: UI_DECREMENT(AxisCurrent_mA, X2 ); break;
case 13: UI_INCREMENT(AxisCurrent_mA, E2); break; case 5: UI_INCREMENT(AxisCurrent_mA, X2 ); break;
#endif #endif
#if EXTRUDERS > 3 #if AXIS_IS_TMC(Y)
case 14: UI_DECREMENT(AxisCurrent_mA, E3); break; case 6: UI_DECREMENT(AxisCurrent_mA, Y ); break;
case 15: UI_INCREMENT(AxisCurrent_mA, E3); break; case 7: UI_INCREMENT(AxisCurrent_mA, Y ); break;
#endif
#if AXIS_IS_TMC(Y2)
case 8: UI_DECREMENT(AxisCurrent_mA, Y2 ); break;
case 9: UI_INCREMENT(AxisCurrent_mA, Y2 ); break;
#endif
#if AXIS_IS_TMC(Z)
case 10: UI_DECREMENT(AxisCurrent_mA, Z ); break;
case 11: UI_INCREMENT(AxisCurrent_mA, Z ); break;
#endif
#if AXIS_IS_TMC(Z2)
case 12: UI_DECREMENT(AxisCurrent_mA, Z2 ); break;
case 13: UI_INCREMENT(AxisCurrent_mA, Z2 ); break;
#endif
#if AXIS_IS_TMC(E0)
case 14: UI_DECREMENT(AxisCurrent_mA, E0); break;
case 15: UI_INCREMENT(AxisCurrent_mA, E0); break;
#endif
#if AXIS_IS_TMC(E1)
case 16: UI_DECREMENT(AxisCurrent_mA, E1); break;
case 17: UI_INCREMENT(AxisCurrent_mA, E1); break;
#endif
#if AXIS_IS_TMC(E2)
case 18: UI_DECREMENT(AxisCurrent_mA, E2); break;
case 19: UI_INCREMENT(AxisCurrent_mA, E2); break;
#endif
#if AXIS_IS_TMC(E3)
case 20: UI_DECREMENT(AxisCurrent_mA, E3); break;
case 21: UI_INCREMENT(AxisCurrent_mA, E3); break;
#endif #endif
default: default:
return false; return false;

View file

@ -399,12 +399,21 @@ namespace ExtUI {
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
case X: return stepperX.getMilliamps(); case X: return stepperX.getMilliamps();
#endif #endif
#if AXIS_IS_TMC(X2)
case X2: return stepperX2.getMilliamps();
#endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
case Y: return stepperY.getMilliamps(); case Y: return stepperY.getMilliamps();
#endif #endif
#if AXIS_IS_TMC(Y2)
case Y2: return stepperY2.getMilliamps();
#endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
case Z: return stepperZ.getMilliamps(); case Z: return stepperZ.getMilliamps();
#endif #endif
#if AXIS_IS_TMC(Z2)
case Z2: return stepperZ2.getMilliamps();
#endif
default: return NAN; default: return NAN;
}; };
} }
@ -442,13 +451,22 @@ namespace ExtUI {
void setAxisCurrent_mA(const float mA, const axis_t axis) { void setAxisCurrent_mA(const float mA, const axis_t axis) {
switch (axis) { switch (axis) {
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
case X: stepperX.rms_current(constrain(mA, 500, 1500)); break; case X: stepperX.rms_current(constrain(mA, 400, 1500)); break;
#endif
#if AXIS_IS_TMC(X2)
case X2: stepperX2.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
case Y: stepperY.rms_current(constrain(mA, 500, 1500)); break; case Y: stepperY.rms_current(constrain(mA, 400, 1500)); break;
#endif
#if AXIS_IS_TMC(Y2)
case Y2: stepperY2.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
case Z: stepperZ.rms_current(constrain(mA, 500, 1500)); break; case Z: stepperZ.rms_current(constrain(mA, 400, 1500)); break;
#endif
#if AXIS_IS_TMC(Z2)
case Z2: stepperZ2.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
default: break; default: break;
}; };
@ -457,28 +475,28 @@ namespace ExtUI {
void setAxisCurrent_mA(const float mA, const extruder_t extruder) { void setAxisCurrent_mA(const float mA, const extruder_t extruder) {
switch (extruder) { switch (extruder) {
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
case E0: stepperE0.rms_current(constrain(mA, 500, 1500)); break; case E0: stepperE0.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
case E1: stepperE1.rms_current(constrain(mA, 500, 1500)); break; case E1: stepperE1.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
case E2: stepperE2.rms_current(constrain(mA, 500, 1500)); break; case E2: stepperE2.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
case E3: stepperE3.rms_current(constrain(mA, 500, 1500)); break; case E3: stepperE3.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
case E4: stepperE4.rms_current(constrain(mA, 500, 1500)); break; case E4: stepperE4.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
case E5: stepperE5.rms_current(constrain(mA, 500, 1500)); break; case E5: stepperE5.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
#if AXIS_IS_TMC(E6) #if AXIS_IS_TMC(E6)
case E6: stepperE6.rms_current(constrain(mA, 500, 1500)); break; case E6: stepperE6.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
#if AXIS_IS_TMC(E7) #if AXIS_IS_TMC(E7)
case E7: stepperE7.rms_current(constrain(mA, 500, 1500)); break; case E7: stepperE7.rms_current(constrain(mA, 400, 1500)); break;
#endif #endif
default: break; default: break;
}; };