🎨 Apply HAS_MULTI_HOTEND conditional

This commit is contained in:
Scott Lahteine 2021-10-26 21:54:43 -05:00 committed by Scott Lahteine
parent c508ecc414
commit cbc7dadf42
41 changed files with 100 additions and 106 deletions

View File

@ -132,20 +132,19 @@ FORCE_INLINE void _draw_fan_status(const uint16_t x, const uint16_t y) {
} }
} }
#if HOTENDS > 2
#define HOTEND_STATS 3
#elif HOTENDS > 1
#define HOTEND_STATS 2
#elif HAS_HOTEND
#define HOTEND_STATS 1
#endif
/** /**
* Draw a single heater icon with current and target temperature, at the given XY * Draw a single heater icon with current and target temperature, at the given XY
*/ */
FORCE_INLINE void _draw_heater_status(const heater_id_t heater, const uint16_t x, const uint16_t y) { FORCE_INLINE void _draw_heater_status(const heater_id_t heater, const uint16_t x, const uint16_t y) {
#if HAS_HOTEND #if HAS_HOTEND
#if HOTENDS > 2
#define HOTEND_STATS 3
#elif HOTENDS > 1
#define HOTEND_STATS 2
#elif HAS_HOTEND
#define HOTEND_STATS 1
#endif
static celsius_t old_temp[HOTEND_STATS] = ARRAY_N_1(HOTEND_STATS, 500), static celsius_t old_temp[HOTEND_STATS] = ARRAY_N_1(HOTEND_STATS, 500),
old_target[HOTEND_STATS] = ARRAY_N_1(HOTEND_STATS, 500); old_target[HOTEND_STATS] = ARRAY_N_1(HOTEND_STATS, 500);
static bool old_on[HOTEND_STATS] = ARRAY_N_1(HOTEND_STATS, false); static bool old_on[HOTEND_STATS] = ARRAY_N_1(HOTEND_STATS, false);

View File

@ -185,7 +185,7 @@ void DGUSScreenHandler::DGUSLCD_SendStringToDisplayPGM(DGUS_VP_Variable &var) {
case VP_E0_PID_I: valuesend = unscalePID_i(value); break; case VP_E0_PID_I: valuesend = unscalePID_i(value); break;
case VP_E0_PID_D: valuesend = unscalePID_d(value); break; case VP_E0_PID_D: valuesend = unscalePID_d(value); break;
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
case VP_E1_PID_P: valuesend = value; break; case VP_E1_PID_P: valuesend = value; break;
case VP_E1_PID_I: valuesend = unscalePID_i(value); break; case VP_E1_PID_I: valuesend = unscalePID_i(value); break;
case VP_E1_PID_D: valuesend = unscalePID_d(value); break; case VP_E1_PID_D: valuesend = unscalePID_d(value); break;
@ -400,7 +400,7 @@ void DGUSScreenHandler::HandleTemperatureChanged(DGUS_VP_Variable &var, void *va
acceptedvalue = thermalManager.degTargetHotend(0); acceptedvalue = thermalManager.degTargetHotend(0);
break; break;
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
case VP_T_E1_Set: case VP_T_E1_Set:
NOMORE(newvalue, HEATER_1_MAXTEMP); NOMORE(newvalue, HEATER_1_MAXTEMP);
thermalManager.setTargetHotend(newvalue, 1); thermalManager.setTargetHotend(newvalue, 1);
@ -551,7 +551,7 @@ void DGUSScreenHandler::HandleStepPerMMExtruderChanged(DGUS_VP_Variable &var, vo
sprintf_P(buf, PSTR("M303 E%d C5 S210 U1"), ExtUI::extruder_t::E0); sprintf_P(buf, PSTR("M303 E%d C5 S210 U1"), ExtUI::extruder_t::E0);
break; break;
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
case VP_PID_AUTOTUNE_E1: case VP_PID_AUTOTUNE_E1:
sprintf_P(buf, PSTR("M303 E%d C5 S210 U1"), ExtUI::extruder_t::E1); sprintf_P(buf, PSTR("M303 E%d C5 S210 U1"), ExtUI::extruder_t::E1);
break; break;
@ -598,7 +598,7 @@ void DGUSScreenHandler::HandleHeaterControl(DGUS_VP_Variable &var, void *val_ptr
switch (var.VP) { switch (var.VP) {
#if HAS_HOTEND #if HAS_HOTEND
case VP_E0_CONTROL: case VP_E0_CONTROL:
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
case VP_E1_CONTROL: case VP_E1_CONTROL:
#if HOTENDS >= 3 #if HOTENDS >= 3
case VP_E2_CONTROL: case VP_E2_CONTROL:

View File

@ -51,7 +51,7 @@ const uint16_t VPList_Main[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_E0_STATUS, VP_T_E0_Is, VP_T_E0_Set, VP_E0_STATUS,
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#if HAS_HEATED_BED #if HAS_HEATED_BED
@ -73,7 +73,7 @@ const uint16_t VPList_Temp[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#if HAS_HEATED_BED #if HAS_HEATED_BED
@ -87,7 +87,7 @@ const uint16_t VPList_Status[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#if HAS_HEATED_BED #if HAS_HEATED_BED
@ -120,7 +120,7 @@ const uint16_t VPList_Preheat[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#if HAS_HEATED_BED #if HAS_HEATED_BED
@ -187,7 +187,7 @@ const uint16_t VPList_SD_PrintManipulation[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#if HAS_HEATED_BED #if HAS_HEATED_BED
@ -379,7 +379,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
VPHELPER(VP_E0_FILAMENT_LOAD_UNLOAD, nullptr, ScreenHandler.HandleFilamentOption, ScreenHandler.HandleFilamentLoadUnload), VPHELPER(VP_E0_FILAMENT_LOAD_UNLOAD, nullptr, ScreenHandler.HandleFilamentOption, ScreenHandler.HandleFilamentLoadUnload),
#endif #endif
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VPHELPER(VP_T_E1_Is, &thermalManager.temp_hotend[1].celsius, nullptr, ScreenHandler.DGUSLCD_SendFloatAsLongValueToDisplay<0>), VPHELPER(VP_T_E1_Is, &thermalManager.temp_hotend[1].celsius, nullptr, ScreenHandler.DGUSLCD_SendFloatAsLongValueToDisplay<0>),
VPHELPER(VP_T_E1_Set, &thermalManager.temp_hotend[1].target, ScreenHandler.HandleTemperatureChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_T_E1_Set, &thermalManager.temp_hotend[1].target, ScreenHandler.HandleTemperatureChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay),
VPHELPER(VP_Flowrate_E1, &planner.flow_percentage[ExtUI::extruder_t::E1], ScreenHandler.HandleFlowRateChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay), // ERROR: Flow is per-extruder, not per-hotend VPHELPER(VP_Flowrate_E1, &planner.flow_percentage[ExtUI::extruder_t::E1], ScreenHandler.HandleFlowRateChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay), // ERROR: Flow is per-extruder, not per-hotend

View File

@ -256,7 +256,7 @@ void DGUSScreenHandler::HandleManualMove(DGUS_VP_Variable &var, void *val_ptr) {
case VP_E0_PID_I: newvalue = scalePID_i(value); break; case VP_E0_PID_I: newvalue = scalePID_i(value); break;
case VP_E0_PID_D: newvalue = scalePID_d(value); break; case VP_E0_PID_D: newvalue = scalePID_d(value); break;
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
case VP_E1_PID_P: newvalue = value; break; case VP_E1_PID_P: newvalue = value; break;
case VP_E1_PID_I: newvalue = scalePID_i(value); break; case VP_E1_PID_I: newvalue = scalePID_i(value); break;
case VP_E1_PID_D: newvalue = scalePID_d(value); break; case VP_E1_PID_D: newvalue = scalePID_d(value); break;
@ -334,7 +334,7 @@ void DGUSScreenHandler::HandleManualMove(DGUS_VP_Variable &var, void *val_ptr) {
#if HAS_HOTEND #if HAS_HOTEND
thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E0); thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E0);
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E1); thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E1);
#endif #endif
GotoScreen(DGUSLCD_SCREEN_UTILITY); GotoScreen(DGUSLCD_SCREEN_UTILITY);

View File

@ -50,7 +50,7 @@ const uint16_t VPList_Main[] PROGMEM = {
// VP_M117, for completeness, but it cannot be auto-uploaded. // VP_M117, for completeness, but it cannot be auto-uploaded.
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_E0_STATUS, VP_T_E0_Is, VP_T_E0_Set, VP_E0_STATUS,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#endif #endif
@ -72,7 +72,7 @@ const uint16_t VPList_Main[] PROGMEM = {
const uint16_t VPList_Temp[] PROGMEM = { const uint16_t VPList_Temp[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#endif #endif
@ -86,7 +86,7 @@ const uint16_t VPList_Status[] PROGMEM = {
// VP_M117, for completeness, but it cannot be auto-uploaded // VP_M117, for completeness, but it cannot be auto-uploaded
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#endif #endif
@ -107,7 +107,7 @@ const uint16_t VPList_Status2[] PROGMEM = {
// VP_M117, for completeness, but it cannot be auto-uploaded // VP_M117, for completeness, but it cannot be auto-uploaded
#if HAS_HOTEND #if HAS_HOTEND
VP_Flowrate_E0, VP_Flowrate_E0,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_Flowrate_E1, VP_Flowrate_E1,
#endif #endif
#endif #endif
@ -119,7 +119,7 @@ const uint16_t VPList_Status2[] PROGMEM = {
const uint16_t VPList_Preheat[] PROGMEM = { const uint16_t VPList_Preheat[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#endif #endif
@ -137,7 +137,7 @@ const uint16_t VPList_ManualMove[] PROGMEM = {
const uint16_t VPList_ManualExtrude[] PROGMEM = { const uint16_t VPList_ManualExtrude[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#endif #endif
@ -159,7 +159,7 @@ const uint16_t VPList_Filament_heating[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
VP_E0_FILAMENT_LOAD_UNLOAD, VP_E0_FILAMENT_LOAD_UNLOAD,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#endif #endif
@ -169,7 +169,7 @@ const uint16_t VPList_Filament_heating[] PROGMEM = {
const uint16_t VPList_Filament_load_unload[] PROGMEM = { const uint16_t VPList_Filament_load_unload[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_E0_FILAMENT_LOAD_UNLOAD, VP_E0_FILAMENT_LOAD_UNLOAD,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_E1_FILAMENT_LOAD_UNLOAD, VP_E1_FILAMENT_LOAD_UNLOAD,
#endif #endif
#endif #endif
@ -185,7 +185,7 @@ const uint16_t VPList_SD_PrintManipulation[] PROGMEM = {
VP_PrintProgress_Percentage, VP_PrintTime, VP_PrintProgress_Percentage, VP_PrintTime,
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#endif #endif
@ -205,7 +205,7 @@ const uint16_t VPList_SD_PrintManipulation[] PROGMEM = {
const uint16_t VPList_SDPrintTune[] PROGMEM = { const uint16_t VPList_SDPrintTune[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#endif #endif
@ -222,23 +222,17 @@ const uint16_t VPList_SDPrintTune[] PROGMEM = {
}; };
const uint16_t VPList_StepPerMM[] PROGMEM = { const uint16_t VPList_StepPerMM[] PROGMEM = {
VP_X_STEP_PER_MM, VP_X_STEP_PER_MM
VP_Y_STEP_PER_MM, , VP_Y_STEP_PER_MM
VP_Z_STEP_PER_MM, , VP_Z_STEP_PER_MM
#if HAS_HOTEND OPTARG(HAS_HOTEND, VP_E0_STEP_PER_MM)
VP_E0_STEP_PER_MM, OPTARG(HAS_MULTI_HOTEND, VP_E1_STEP_PER_MM)
#if HOTENDS >= 2 , 0x0000
VP_E1_STEP_PER_MM,
#endif
#endif
0x0000
}; };
const uint16_t VPList_PIDE0[] PROGMEM = { const uint16_t VPList_PIDE0[] PROGMEM = {
#if ENABLED(PIDTEMP) #if ENABLED(PIDTEMP)
VP_E0_PID_P, VP_E0_PID_P, VP_E0_PID_I, VP_E0_PID_D,
VP_E0_PID_I,
VP_E0_PID_D,
#endif #endif
0x0000 0x0000
}; };
@ -382,7 +376,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
VPHELPER(VP_PID_AUTOTUNE_E0, nullptr, ScreenHandler.HandlePIDAutotune, nullptr), VPHELPER(VP_PID_AUTOTUNE_E0, nullptr, ScreenHandler.HandlePIDAutotune, nullptr),
#endif #endif
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VPHELPER(VP_T_E1_Is, &thermalManager.temp_hotend[1].celsius, nullptr, ScreenHandler.DGUSLCD_SendFloatAsLongValueToDisplay<0>), VPHELPER(VP_T_E1_Is, &thermalManager.temp_hotend[1].celsius, nullptr, ScreenHandler.DGUSLCD_SendFloatAsLongValueToDisplay<0>),
VPHELPER(VP_T_E1_Set, &thermalManager.temp_hotend[1].target, ScreenHandler.HandleTemperatureChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_T_E1_Set, &thermalManager.temp_hotend[1].target, ScreenHandler.HandleTemperatureChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay),
VPHELPER(VP_Flowrate_E1, nullptr, ScreenHandler.HandleFlowRateChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_Flowrate_E1, nullptr, ScreenHandler.HandleFlowRateChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay),
@ -435,7 +429,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
VPHELPER(VP_Z_STEP_PER_MM, &planner.settings.axis_steps_per_mm[Z_AXIS], ScreenHandler.HandleStepPerMMChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>), VPHELPER(VP_Z_STEP_PER_MM, &planner.settings.axis_steps_per_mm[Z_AXIS], ScreenHandler.HandleStepPerMMChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>),
#if HAS_HOTEND #if HAS_HOTEND
VPHELPER(VP_E0_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(0)], ScreenHandler.HandleStepPerMMExtruderChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>), VPHELPER(VP_E0_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(0)], ScreenHandler.HandleStepPerMMExtruderChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>),
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VPHELPER(VP_E1_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(1)], ScreenHandler.HandleStepPerMMExtruderChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>), VPHELPER(VP_E1_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(1)], ScreenHandler.HandleStepPerMMExtruderChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>),
#endif #endif
#endif #endif

View File

@ -256,7 +256,7 @@ void DGUSScreenHandler::HandleManualMove(DGUS_VP_Variable &var, void *val_ptr) {
case VP_E0_PID_I: newvalue = scalePID_i(value); break; case VP_E0_PID_I: newvalue = scalePID_i(value); break;
case VP_E0_PID_D: newvalue = scalePID_d(value); break; case VP_E0_PID_D: newvalue = scalePID_d(value); break;
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
case VP_E1_PID_P: newvalue = value; break; case VP_E1_PID_P: newvalue = value; break;
case VP_E1_PID_I: newvalue = scalePID_i(value); break; case VP_E1_PID_I: newvalue = scalePID_i(value); break;
case VP_E1_PID_D: newvalue = scalePID_d(value); break; case VP_E1_PID_D: newvalue = scalePID_d(value); break;
@ -333,7 +333,7 @@ void DGUSScreenHandler::HandleManualMove(DGUS_VP_Variable &var, void *val_ptr) {
if (filament_data.action == 0) { // Go back to utility screen if (filament_data.action == 0) { // Go back to utility screen
#if HAS_HOTEND #if HAS_HOTEND
thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E0); thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E0);
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E1); thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E1);
#endif #endif
#endif #endif
@ -348,7 +348,7 @@ void DGUSScreenHandler::HandleManualMove(DGUS_VP_Variable &var, void *val_ptr) {
thermalManager.setTargetHotend(e_temp, filament_data.extruder); thermalManager.setTargetHotend(e_temp, filament_data.extruder);
break; break;
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
case VP_E1_FILAMENT_LOAD_UNLOAD: case VP_E1_FILAMENT_LOAD_UNLOAD:
filament_data.extruder = ExtUI::extruder_t::E1; filament_data.extruder = ExtUI::extruder_t::E1;
thermalManager.setTargetHotend(e_temp, filament_data.extruder); thermalManager.setTargetHotend(e_temp, filament_data.extruder);

View File

@ -122,7 +122,7 @@ const uint16_t VPList_Main[] PROGMEM = {
// VP_M117, for completeness, but it cannot be auto-uploaded. // VP_M117, for completeness, but it cannot be auto-uploaded.
#if HAS_HOTEND #if HAS_HOTEND
MKSLIST_E_ITEM(0) VP_E0_STATUS, MKSLIST_E_ITEM(0) VP_E0_STATUS,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
MKSLIST_E_ITEM(1) VP_E1_STATUS, MKSLIST_E_ITEM(1) VP_E1_STATUS,
#endif #endif
#endif #endif
@ -567,7 +567,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
#endif #endif
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VPHELPER(VP_T_E1_Is, &thermalManager.temp_hotend[1].celsius, nullptr, ScreenHandler.DGUSLCD_SendFloatAsLongValueToDisplay<0>), VPHELPER(VP_T_E1_Is, &thermalManager.temp_hotend[1].celsius, nullptr, ScreenHandler.DGUSLCD_SendFloatAsLongValueToDisplay<0>),
VPHELPER(VP_T_E1_Set, &thermalManager.temp_hotend[1].target, ScreenHandler.HandleTemperatureChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_T_E1_Set, &thermalManager.temp_hotend[1].target, ScreenHandler.HandleTemperatureChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay),
VPHELPER(VP_Flowrate_E1, &planner.flow_percentage[ExtUI::extruder_t::E1], ScreenHandler.HandleFlowRateChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_Flowrate_E1, &planner.flow_percentage[ExtUI::extruder_t::E1], ScreenHandler.HandleFlowRateChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay),
@ -656,7 +656,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VPHELPER(VP_E0_MAX_SPEED, &planner.settings.max_feedrate_mm_s[E_AXIS_N(0)], ScreenHandler.HandleExtruderMaxSpeedChange_MKS, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<0>), VPHELPER(VP_E0_MAX_SPEED, &planner.settings.max_feedrate_mm_s[E_AXIS_N(0)], ScreenHandler.HandleExtruderMaxSpeedChange_MKS, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<0>),
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VPHELPER(VP_E1_MAX_SPEED, &planner.settings.max_feedrate_mm_s[E_AXIS_N(1)], ScreenHandler.HandleExtruderMaxSpeedChange_MKS, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<0>), VPHELPER(VP_E1_MAX_SPEED, &planner.settings.max_feedrate_mm_s[E_AXIS_N(1)], ScreenHandler.HandleExtruderMaxSpeedChange_MKS, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<0>),
#endif #endif
#endif #endif
@ -667,7 +667,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VPHELPER(VP_E0_ACC_MAX_SPEED, (uint16_t *)&planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(0)], ScreenHandler.HandleExtruderAccChange_MKS, ScreenHandler.DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_E0_ACC_MAX_SPEED, (uint16_t *)&planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(0)], ScreenHandler.HandleExtruderAccChange_MKS, ScreenHandler.DGUSLCD_SendWordValueToDisplay),
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VPHELPER(VP_E1_ACC_MAX_SPEED, (uint16_t *)&planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(1)], ScreenHandler.HandleExtruderAccChange_MKS, ScreenHandler.DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_E1_ACC_MAX_SPEED, (uint16_t *)&planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(1)], ScreenHandler.HandleExtruderAccChange_MKS, ScreenHandler.DGUSLCD_SendWordValueToDisplay),
#endif #endif
#endif #endif
@ -744,7 +744,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VPHELPER(VP_E0_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(0)], ScreenHandler.HandleStepPerMMExtruderChanged_MKS, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<0>), VPHELPER(VP_E0_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(0)], ScreenHandler.HandleStepPerMMExtruderChanged_MKS, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<0>),
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VPHELPER(VP_E1_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(1)], ScreenHandler.HandleStepPerMMExtruderChanged_MKS, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<0>), VPHELPER(VP_E1_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(1)], ScreenHandler.HandleStepPerMMExtruderChanged_MKS, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<0>),
#endif #endif
#endif #endif

View File

@ -57,7 +57,7 @@ const uint16_t VPList_Main[] PROGMEM = {
const uint16_t VPList_Temp[] PROGMEM = { const uint16_t VPList_Temp[] PROGMEM = {
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#endif #endif
@ -71,7 +71,7 @@ const uint16_t VPList_Status[] PROGMEM = {
// VP_M117, for completeness, but it cannot be auto-uploaded // VP_M117, for completeness, but it cannot be auto-uploaded
#if HAS_HOTEND #if HAS_HOTEND
VP_T_E0_Is, VP_T_E0_Set, VP_T_E0_Is, VP_T_E0_Set,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_T_E1_Is, VP_T_E1_Set, VP_T_E1_Is, VP_T_E1_Set,
#endif #endif
#endif #endif
@ -92,7 +92,7 @@ const uint16_t VPList_Status2[] PROGMEM = {
// VP_M117, for completeness, but it cannot be auto-uploaded // VP_M117, for completeness, but it cannot be auto-uploaded
#if HAS_HOTEND #if HAS_HOTEND
VP_Flowrate_E0, VP_Flowrate_E0,
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VP_Flowrate_E1, VP_Flowrate_E1,
#endif #endif
#endif #endif
@ -182,7 +182,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
VPHELPER(VP_E0_FILAMENT_LOAD_UNLOAD, nullptr, ScreenHandler.HandleFilamentOption, ScreenHandler.HandleFilamentLoadUnload), VPHELPER(VP_E0_FILAMENT_LOAD_UNLOAD, nullptr, ScreenHandler.HandleFilamentOption, ScreenHandler.HandleFilamentLoadUnload),
#endif #endif
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VPHELPER(VP_T_E1_Is, &thermalManager.temp_hotend[1].celsius, nullptr, ScreenHandler.DGUSLCD_SendFloatAsLongValueToDisplay<0>), VPHELPER(VP_T_E1_Is, &thermalManager.temp_hotend[1].celsius, nullptr, ScreenHandler.DGUSLCD_SendFloatAsLongValueToDisplay<0>),
VPHELPER(VP_T_E1_Set, &thermalManager.temp_hotend[1].target, ScreenHandler.HandleTemperatureChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_T_E1_Set, &thermalManager.temp_hotend[1].target, ScreenHandler.HandleTemperatureChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay),
VPHELPER(VP_Flowrate_E1, nullptr, ScreenHandler.HandleFlowRateChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay), VPHELPER(VP_Flowrate_E1, nullptr, ScreenHandler.HandleFlowRateChanged, ScreenHandler.DGUSLCD_SendWordValueToDisplay),
@ -237,7 +237,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
VPHELPER(VP_Z_STEP_PER_MM, &planner.settings.axis_steps_per_mm[Z_AXIS], ScreenHandler.HandleStepPerMMChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>), VPHELPER(VP_Z_STEP_PER_MM, &planner.settings.axis_steps_per_mm[Z_AXIS], ScreenHandler.HandleStepPerMMChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>),
#if HAS_HOTEND #if HAS_HOTEND
VPHELPER(VP_E0_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(0)], ScreenHandler.HandleStepPerMMExtruderChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>), VPHELPER(VP_E0_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(0)], ScreenHandler.HandleStepPerMMExtruderChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>),
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
VPHELPER(VP_E1_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(1)], ScreenHandler.HandleStepPerMMExtruderChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>), VPHELPER(VP_E1_STEP_PER_MM, &planner.settings.axis_steps_per_mm[E_AXIS_N(1)], ScreenHandler.HandleStepPerMMExtruderChanged, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<1>),
#endif #endif
#endif #endif

View File

@ -256,7 +256,7 @@ void DGUSScreenHandler::HandleManualMove(DGUS_VP_Variable &var, void *val_ptr) {
case VP_E0_PID_I: newvalue = scalePID_i(value); break; case VP_E0_PID_I: newvalue = scalePID_i(value); break;
case VP_E0_PID_D: newvalue = scalePID_d(value); break; case VP_E0_PID_D: newvalue = scalePID_d(value); break;
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
case VP_E1_PID_P: newvalue = value; break; case VP_E1_PID_P: newvalue = value; break;
case VP_E1_PID_I: newvalue = scalePID_i(value); break; case VP_E1_PID_I: newvalue = scalePID_i(value); break;
case VP_E1_PID_D: newvalue = scalePID_d(value); break; case VP_E1_PID_D: newvalue = scalePID_d(value); break;
@ -333,7 +333,7 @@ void DGUSScreenHandler::HandleManualMove(DGUS_VP_Variable &var, void *val_ptr) {
if (filament_data.action == 0) { // Go back to utility screen if (filament_data.action == 0) { // Go back to utility screen
#if HAS_HOTEND #if HAS_HOTEND
thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E0); thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E0);
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E1); thermalManager.setTargetHotend(e_temp, ExtUI::extruder_t::E1);
#endif #endif
#endif #endif
@ -348,7 +348,7 @@ void DGUSScreenHandler::HandleManualMove(DGUS_VP_Variable &var, void *val_ptr) {
thermalManager.setTargetHotend(e_temp, filament_data.extruder); thermalManager.setTargetHotend(e_temp, filament_data.extruder);
break; break;
#endif #endif
#if HOTENDS >= 2 #if HAS_MULTI_HOTEND
case VP_E1_FILAMENT_LOAD_UNLOAD: case VP_E1_FILAMENT_LOAD_UNLOAD:
filament_data.extruder = ExtUI::extruder_t::E1; filament_data.extruder = ExtUI::extruder_t::E1;
thermalManager.setTargetHotend(e_temp, filament_data.extruder); thermalManager.setTargetHotend(e_temp, filament_data.extruder);

View File

@ -327,7 +327,7 @@ void DGUSRxHandler::TempTarget(DGUS_VP &vp, void *data_ptr) {
case DGUS_Addr::TEMP_SetTarget_H0: case DGUS_Addr::TEMP_SetTarget_H0:
ExtUI::setTargetTemp_celsius(temp, ExtUI::H0); ExtUI::setTargetTemp_celsius(temp, ExtUI::H0);
break; break;
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
case DGUS_Addr::TEMP_SetTarget_H1: case DGUS_Addr::TEMP_SetTarget_H1:
ExtUI::setTargetTemp_celsius(temp, ExtUI::H1); ExtUI::setTargetTemp_celsius(temp, ExtUI::H1);
break; break;
@ -347,7 +347,7 @@ void DGUSRxHandler::TempCool(DGUS_VP &vp, void *data_ptr) {
case DGUS_Data::Heater::ALL: case DGUS_Data::Heater::ALL:
ExtUI::setTargetTemp_celsius(0, ExtUI::BED); ExtUI::setTargetTemp_celsius(0, ExtUI::BED);
ExtUI::setTargetTemp_celsius(0, ExtUI::H0); ExtUI::setTargetTemp_celsius(0, ExtUI::H0);
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
ExtUI::setTargetTemp_celsius(0, ExtUI::H1); ExtUI::setTargetTemp_celsius(0, ExtUI::H1);
#endif #endif
break; break;
@ -357,7 +357,7 @@ void DGUSRxHandler::TempCool(DGUS_VP &vp, void *data_ptr) {
case DGUS_Data::Heater::H0: case DGUS_Data::Heater::H0:
ExtUI::setTargetTemp_celsius(0, ExtUI::H0); ExtUI::setTargetTemp_celsius(0, ExtUI::H0);
break; break;
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
case DGUS_Data::Heater::H1: case DGUS_Data::Heater::H1:
ExtUI::setTargetTemp_celsius(0, ExtUI::H1); ExtUI::setTargetTemp_celsius(0, ExtUI::H1);
break; break;
@ -827,7 +827,7 @@ void DGUSRxHandler::PIDSelect(DGUS_VP &vp, void *data_ptr) {
dgus_screen_handler.pid_heater = heater; dgus_screen_handler.pid_heater = heater;
break; break;
case DGUS_Data::Heater::H0: case DGUS_Data::Heater::H0:
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
case DGUS_Data::Heater::H1: case DGUS_Data::Heater::H1:
#endif #endif
dgus_screen_handler.pid_temp = DGUS_PLA_TEMP_HOTEND; dgus_screen_handler.pid_temp = DGUS_PLA_TEMP_HOTEND;
@ -858,7 +858,7 @@ void DGUSRxHandler::PIDSetTemp(DGUS_VP &vp, void *data_ptr) {
case DGUS_Data::Heater::H0: case DGUS_Data::Heater::H0:
temp = constrain(temp, HEATER_0_MINTEMP, (HEATER_0_MAXTEMP - HOTEND_OVERSHOOT)); temp = constrain(temp, HEATER_0_MINTEMP, (HEATER_0_MAXTEMP - HOTEND_OVERSHOOT));
break; break;
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
case DGUS_Data::Heater::H1: case DGUS_Data::Heater::H1:
temp = constrain(temp, HEATER_1_MINTEMP, (HEATER_1_MAXTEMP - HOTEND_OVERSHOOT)); temp = constrain(temp, HEATER_1_MINTEMP, (HEATER_1_MAXTEMP - HOTEND_OVERSHOOT));
break; break;
@ -900,7 +900,7 @@ void DGUSRxHandler::PIDRun(DGUS_VP &vp, void *data_ptr) {
dgus_screen_handler.SetStatusMessage(F("PID disabled")); dgus_screen_handler.SetStatusMessage(F("PID disabled"));
return; return;
#endif #endif
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
case DGUS_Data::Heater::H1: case DGUS_Data::Heater::H1:
#if ENABLED(PIDTEMP) #if ENABLED(PIDTEMP)
heater = H_E1; heater = H_E1;

View File

@ -275,7 +275,7 @@ void DGUSTxHandler::TempMax(DGUS_VP &vp) {
case DGUS_Addr::TEMP_Max_H0: case DGUS_Addr::TEMP_Max_H0:
temp = HEATER_0_MAXTEMP - HOTEND_OVERSHOOT; temp = HEATER_0_MAXTEMP - HOTEND_OVERSHOOT;
break; break;
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
case DGUS_Addr::TEMP_Max_H1: case DGUS_Addr::TEMP_Max_H1:
temp = HEATER_1_MAXTEMP - HOTEND_OVERSHOOT; temp = HEATER_1_MAXTEMP - HOTEND_OVERSHOOT;
break; break;
@ -428,7 +428,7 @@ void DGUSTxHandler::PIDKp(DGUS_VP &vp) {
case DGUS_Data::Heater::H0: case DGUS_Data::Heater::H0:
value = ExtUI::getPIDValues_Kp(ExtUI::E0); value = ExtUI::getPIDValues_Kp(ExtUI::E0);
break; break;
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
case DGUS_Data::Heater::H1: case DGUS_Data::Heater::H1:
value = ExtUI::getPIDValues_Kp(ExtUI::E1); value = ExtUI::getPIDValues_Kp(ExtUI::E1);
break; break;
@ -454,7 +454,7 @@ void DGUSTxHandler::PIDKi(DGUS_VP &vp) {
case DGUS_Data::Heater::H0: case DGUS_Data::Heater::H0:
value = ExtUI::getPIDValues_Ki(ExtUI::E0); value = ExtUI::getPIDValues_Ki(ExtUI::E0);
break; break;
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
case DGUS_Data::Heater::H1: case DGUS_Data::Heater::H1:
value = ExtUI::getPIDValues_Ki(ExtUI::E1); value = ExtUI::getPIDValues_Ki(ExtUI::E1);
break; break;
@ -480,7 +480,7 @@ void DGUSTxHandler::PIDKd(DGUS_VP &vp) {
case DGUS_Data::Heater::H0: case DGUS_Data::Heater::H0:
value = ExtUI::getPIDValues_Kd(ExtUI::E0); value = ExtUI::getPIDValues_Kd(ExtUI::E0);
break; break;
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
case DGUS_Data::Heater::H1: case DGUS_Data::Heater::H1:
value = ExtUI::getPIDValues_Kd(ExtUI::E1); value = ExtUI::getPIDValues_Kd(ExtUI::E1);
break; break;

View File

@ -64,7 +64,7 @@ enum class DGUS_Addr : uint16_t {
TEMP_Preset = 0x2010, // Popup / Data: DGUS_Data::TempPreset TEMP_Preset = 0x2010, // Popup / Data: DGUS_Data::TempPreset
TEMP_SetTarget_Bed = 0x2011, // Type: Integer (16 bits signed) TEMP_SetTarget_Bed = 0x2011, // Type: Integer (16 bits signed)
TEMP_SetTarget_H0 = 0x2012, // Type: Integer (16 bits signed) TEMP_SetTarget_H0 = 0x2012, // Type: Integer (16 bits signed)
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
TEMP_SetTarget_H1 = 0x2013, // Type: Integer (16 bits signed) TEMP_SetTarget_H1 = 0x2013, // Type: Integer (16 bits signed)
#endif #endif
TEMP_Cool = 0x2014, // Data: DGUS_Data::Heater TEMP_Cool = 0x2014, // Data: DGUS_Data::Heater
@ -123,7 +123,7 @@ enum class DGUS_Addr : uint16_t {
TEMP_Current_H0 = 0x30FF, // Type: Integer (16 bits signed) TEMP_Current_H0 = 0x30FF, // Type: Integer (16 bits signed)
TEMP_Target_H0 = 0x3100, // Type: Integer (16 bits signed) TEMP_Target_H0 = 0x3100, // Type: Integer (16 bits signed)
TEMP_Max_H0 = 0x3101, // Type: Integer (16 bits unsigned) TEMP_Max_H0 = 0x3101, // Type: Integer (16 bits unsigned)
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
TEMP_Current_H1 = 0x3102, // Type: Integer (16 bits signed) TEMP_Current_H1 = 0x3102, // Type: Integer (16 bits signed)
TEMP_Target_H1 = 0x3103, // Type: Integer (16 bits signed) TEMP_Target_H1 = 0x3103, // Type: Integer (16 bits signed)
TEMP_Max_H1 = 0x3104, // Type: Integer (16 bits unsigned) TEMP_Max_H1 = 0x3104, // Type: Integer (16 bits unsigned)

View File

@ -102,7 +102,7 @@ const struct DGUS_VP vp_list[] PROGMEM = {
VP_HELPER_RX(DGUS_Addr::TEMP_Preset, &DGUSRxHandler::TempPreset), VP_HELPER_RX(DGUS_Addr::TEMP_Preset, &DGUSRxHandler::TempPreset),
VP_HELPER_RX(DGUS_Addr::TEMP_SetTarget_Bed, &DGUSRxHandler::TempTarget), VP_HELPER_RX(DGUS_Addr::TEMP_SetTarget_Bed, &DGUSRxHandler::TempTarget),
VP_HELPER_RX(DGUS_Addr::TEMP_SetTarget_H0, &DGUSRxHandler::TempTarget), VP_HELPER_RX(DGUS_Addr::TEMP_SetTarget_H0, &DGUSRxHandler::TempTarget),
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
VP_HELPER_RX(DGUS_Addr::TEMP_SetTarget_H1, &DGUSRxHandler::TempTarget), VP_HELPER_RX(DGUS_Addr::TEMP_SetTarget_H1, &DGUSRxHandler::TempTarget),
#endif #endif
VP_HELPER_RX(DGUS_Addr::TEMP_Cool, &DGUSRxHandler::TempCool), VP_HELPER_RX(DGUS_Addr::TEMP_Cool, &DGUSRxHandler::TempCool),
@ -217,7 +217,7 @@ const struct DGUS_VP vp_list[] PROGMEM = {
&thermalManager.temp_hotend[ExtUI::heater_t::H0].target, &thermalManager.temp_hotend[ExtUI::heater_t::H0].target,
&DGUSTxHandler::ExtraToInteger<int16_t>), &DGUSTxHandler::ExtraToInteger<int16_t>),
VP_HELPER_TX(DGUS_Addr::TEMP_Max_H0, &DGUSTxHandler::TempMax), VP_HELPER_TX(DGUS_Addr::TEMP_Max_H0, &DGUSTxHandler::TempMax),
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
VP_HELPER_TX_AUTO(DGUS_Addr::TEMP_Current_H1, VP_HELPER_TX_AUTO(DGUS_Addr::TEMP_Current_H1,
&thermalManager.temp_hotend[ExtUI::heater_t::H1].celsius, &thermalManager.temp_hotend[ExtUI::heater_t::H1].celsius,
&DGUSTxHandler::ExtraToInteger<float>), &DGUSTxHandler::ExtraToInteger<float>),

View File

@ -122,7 +122,8 @@ void Temperature::lcd_preheat(const uint8_t e, const int8_t indh, const int8_t i
HOTEND_LOOP() PREHEAT_ITEMS(editable.int8, e); HOTEND_LOOP() PREHEAT_ITEMS(editable.int8, e);
ACTION_ITEM_S(ui.get_preheat_label(m), MSG_PREHEAT_M_ALL, []() { ACTION_ITEM_S(ui.get_preheat_label(m), MSG_PREHEAT_M_ALL, []() {
HOTEND_LOOP() thermalManager.setTargetHotend(ui.material_preset[editable.int8].hotend_temp, e); const celsius_t t = ui.material_preset[editable.int8].hotend_temp;
HOTEND_LOOP() thermalManager.setTargetHotend(t, e);
TERN(HAS_HEATED_BED, _preheat_bed(editable.int8), ui.return_to_status()); TERN(HAS_HEATED_BED, _preheat_bed(editable.int8), ui.return_to_status());
}); });
@ -268,7 +269,7 @@ void menu_temperature() {
// //
LOOP_L_N(m, PREHEAT_COUNT) { LOOP_L_N(m, PREHEAT_COUNT) {
editable.int8 = m; editable.int8 = m;
#if HOTENDS > 1 || HAS_HEATED_BED #if HAS_MULTI_HOTEND || HAS_HEATED_BED
SUBMENU_S(ui.get_preheat_label(m), MSG_PREHEAT_M, menu_preheat_m); SUBMENU_S(ui.get_preheat_label(m), MSG_PREHEAT_M, menu_preheat_m);
#elif HAS_HOTEND #elif HAS_HOTEND
ACTION_ITEM_S(ui.get_preheat_label(m), MSG_PREHEAT_M, do_preheat_end_m); ACTION_ITEM_S(ui.get_preheat_label(m), MSG_PREHEAT_M, do_preheat_end_m);
@ -295,7 +296,7 @@ void menu_temperature() {
LOOP_L_N(m, PREHEAT_COUNT) { LOOP_L_N(m, PREHEAT_COUNT) {
editable.int8 = m; editable.int8 = m;
#if HOTENDS > 1 || HAS_HEATED_BED #if HAS_MULTI_HOTEND || HAS_HEATED_BED
SUBMENU_S(ui.get_preheat_label(m), MSG_PREHEAT_M, menu_preheat_m); SUBMENU_S(ui.get_preheat_label(m), MSG_PREHEAT_M, menu_preheat_m);
#else #else
ACTION_ITEM_S(ui.get_preheat_label(m), MSG_PREHEAT_M, do_preheat_end_m); ACTION_ITEM_S(ui.get_preheat_label(m), MSG_PREHEAT_M, do_preheat_end_m);

View File

@ -57,7 +57,7 @@ void menu_item(const uint8_t row, bool sel = false);
#define ABSOLUTE_ZERO -273.15 #define ABSOLUTE_ZERO -273.15
#if HAS_TEMP_CHAMBER && HOTENDS > 1 #if HAS_TEMP_CHAMBER && HAS_MULTI_HOTEND
#define ITEM_E0 0 #define ITEM_E0 0
#define ITEM_E1 1 #define ITEM_E1 1
#define ITEM_BED 2 #define ITEM_BED 2
@ -74,7 +74,7 @@ void menu_item(const uint8_t row, bool sel = false);
#define ITEM_COOLER 0 #define ITEM_COOLER 0
#define ITEM_FAN 1 #define ITEM_FAN 1
#define ITEMS_COUNT 2 #define ITEMS_COUNT 2
#elif HOTENDS > 1 #elif HAS_MULTI_HOTEND
#define ITEM_E0 0 #define ITEM_E0 0
#define ITEM_E1 1 #define ITEM_E1 1
#define ITEM_BED 2 #define ITEM_BED 2

View File

@ -32,7 +32,7 @@
#if EXTRUDERS > 1 || E_STEPPERS > 1 #if EXTRUDERS > 1 || E_STEPPERS > 1
#error "E4d@box only supports one E Stepper. Comment out this line to continue." #error "E4d@box only supports one E Stepper. Comment out this line to continue."
#elif HOTENDS > 1 #elif HAS_MULTI_HOTEND
#error "E4d@box only supports one hotend / E-stepper. Comment out this line to continue." #error "E4d@box only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -32,7 +32,7 @@
#if EXTRUDERS > 1 || E_STEPPERS > 1 #if EXTRUDERS > 1 || E_STEPPERS > 1
#error "FYSETC E4 only supports one E Stepper. Comment out this line to continue." #error "FYSETC E4 only supports one E Stepper. Comment out this line to continue."
#elif HOTENDS > 1 #elif HAS_MULTI_HOTEND
#error "FYSETC E4 only supports one hotend / E-stepper. Comment out this line to continue." #error "FYSETC E4 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -32,7 +32,7 @@
#if EXTRUDERS > 1 || E_STEPPERS > 1 #if EXTRUDERS > 1 || E_STEPPERS > 1
#error "MRR ESPA only supports one E Stepper. Comment out this line to continue." #error "MRR ESPA only supports one E Stepper. Comment out this line to continue."
#elif HOTENDS > 1 #elif HAS_MULTI_HOTEND
#error "MRR ESPA only supports one hotend / E-stepper. Comment out this line to continue." #error "MRR ESPA only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -33,7 +33,7 @@
#if EXTRUDERS > 2 || E_STEPPERS > 2 #if EXTRUDERS > 2 || E_STEPPERS > 2
#error "MRR ESPE only supports two E Steppers. Comment out this line to continue." #error "MRR ESPE only supports two E Steppers. Comment out this line to continue."
#elif HOTENDS > 1 #elif HAS_MULTI_HOTEND
#error "MRR ESPE only supports one hotend / E-stepper. Comment out this line to continue." #error "MRR ESPE only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -25,7 +25,7 @@
* VERTEX NANO Arduino Mega with RAMPS EFB v1.4 pin assignments. * VERTEX NANO Arduino Mega with RAMPS EFB v1.4 pin assignments.
*/ */
#if HOTENDS > 1 #if HAS_MULTI_HOTEND
#error "Only 1 hotend is supported for Vertex Nano." #error "Only 1 hotend is supported for Vertex Nano."
#endif #endif

View File

@ -28,7 +28,7 @@
#define REQUIRE_MEGA2560 #define REQUIRE_MEGA2560
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "Longer3D LGT KIT V1.0 board only supports one hotend / E-stepper. Comment out this line to continue." #error "Longer3D LGT KIT V1.0 board only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -21,7 +21,7 @@
*/ */
#pragma once #pragma once
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "Ender-4 only supports one hotend / E-stepper. Comment out this line to continue." #error "Ender-4 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -23,7 +23,7 @@
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "CCROBOT-ONLINE MEEB_3DP only supports one hotend / E-stepper. Comment out this line to continue." #error "CCROBOT-ONLINE MEEB_3DP only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -27,7 +27,7 @@
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "Creality V4 only supports one hotend / E-stepper. Comment out this line to continue." #error "Creality V4 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -27,7 +27,7 @@
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "CREALITY supports up to 1 hotends / E-steppers. Comment out this line to continue." #error "CREALITY supports up to 1 hotends / E-steppers. Comment out this line to continue."
#endif #endif

View File

@ -25,7 +25,7 @@
* Creality v4.5.2 (STM32F103RET6) board pin assignments * Creality v4.5.2 (STM32F103RET6) board pin assignments
*/ */
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "Creality v4.5.2 only supports one hotend / E-stepper. Comment out this line to continue." #error "Creality v4.5.2 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -25,7 +25,7 @@
* Creality v4.5.3 (STM32F103RET6) board pin assignments * Creality v4.5.3 (STM32F103RET6) board pin assignments
*/ */
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "Creality v4.5.3 only supports one hotend / E-stepper. Comment out this line to continue." #error "Creality v4.5.3 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -31,7 +31,7 @@
#if NOT_TARGET(__STM32F1__, STM32F1xx) #if NOT_TARGET(__STM32F1__, STM32F1xx)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'" #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1 #elif HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "FLSUN HiSpeedV1 only supports one hotend / E-stepper. Comment out this line to continue." #error "FLSUN HiSpeedV1 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -32,7 +32,7 @@
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "JGAurora A5S A1 only supports one hotend / E-stepper. Comment out this line to continue." #error "JGAurora A5S A1 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -27,7 +27,7 @@
#if NOT_TARGET(__STM32F1__, STM32F1xx) #if NOT_TARGET(__STM32F1__, STM32F1xx)
#error "Oops! Select a STM32F1 board in 'Tools > Board.'" #error "Oops! Select a STM32F1 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1 #elif HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "Longer3D only supports one hotend / E-stepper. Comment out this line to continue." #error "Longer3D only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -25,7 +25,7 @@
* MKS Robin E3 (STM32F103RCT6) board pin assignments * MKS Robin E3 (STM32F103RCT6) board pin assignments
*/ */
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "MKS Robin E3 only supports one hotend / E-stepper. Comment out this line to continue." #error "MKS Robin E3 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -25,7 +25,7 @@
* MKS Robin E3D (STM32F103RCT6) board pin assignments * MKS Robin E3D (STM32F103RCT6) board pin assignments
*/ */
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "MKS Robin E3D only supports one hotend / E-stepper. Comment out this line to continue." #error "MKS Robin E3D only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -25,7 +25,7 @@
* MKS Robin E3D v1.1 (STM32F103RCT6) board pin assignments * MKS Robin E3D v1.1 (STM32F103RCT6) board pin assignments
*/ */
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "MKS Robin E3D v1.1 only supports one hotend / E-stepper. Comment out this line to continue." #error "MKS Robin E3D v1.1 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -27,7 +27,7 @@
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "MKS Robin E3P only supports one hotend / E-stepper. Comment out this line to continue." #error "MKS Robin E3P only supports one hotend / E-stepper. Comment out this line to continue."
#elif HAS_FSMC_TFT #elif HAS_FSMC_TFT
#error "MKS Robin E3P doesn't support FSMC-based TFT displays." #error "MKS Robin E3P doesn't support FSMC-based TFT displays."

View File

@ -25,7 +25,7 @@
* MKS Robin E3 v1.1 (STM32F103RCT6) board pin assignments * MKS Robin E3 v1.1 (STM32F103RCT6) board pin assignments
*/ */
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "MKS Robin E3 v1.1 only supports one hotend / E-stepper. Comment out this line to continue." #error "MKS Robin E3 v1.1 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -23,7 +23,7 @@
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "MKS Robin Lite only supports one hotend / E-stepper. Comment out this line to continue." #error "MKS Robin Lite only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -27,7 +27,7 @@
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "MKS Robin mini only supports one hotend / E-stepper. Comment out this line to continue." #error "MKS Robin mini only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -23,7 +23,7 @@
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "Anet ET4 only supports one hotend / E-stepper. Comment out this line to continue." #error "Anet ET4 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -23,7 +23,7 @@
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "BIGTREE BTT002 V1.0 only supports one hotend / E-stepper. Comment out this line to continue." #error "BIGTREE BTT002 V1.0 only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -24,7 +24,7 @@
#define ALLOW_STM32DUINO #define ALLOW_STM32DUINO
#include "env_validate.h" #include "env_validate.h"
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "LERDGE X only supports one hotend / E-stepper. Comment out this line to continue." #error "LERDGE X only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif

View File

@ -32,7 +32,7 @@
#define SRAM_EEPROM_EMULATION // Emulate the EEPROM using Backup SRAM #define SRAM_EEPROM_EMULATION // Emulate the EEPROM using Backup SRAM
#endif #endif
#if HOTENDS > 1 || E_STEPPERS > 1 #if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "RemRam only supports one hotend / E-stepper. Comment out this line to continue." #error "RemRam only supports one hotend / E-stepper. Comment out this line to continue."
#endif #endif