diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 05af60b6f4..a23995d7c8 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -504,10 +504,25 @@ void lcd_set_home_offsets() { void watch_temp_callback_E3() {} #endif // EXTRUDERS > 3 #endif + /** - * Items shared between Tune and Temperature menus + * + * "Tune" submenu + * */ -static void nozzle_bed_fan_menu_items(uint8_t &encoderLine, uint8_t &_lineNr, uint8_t &_drawLineNr, uint8_t &_menuItemNr, bool &wasClicked, bool &itemSelected) { +static void lcd_tune_menu() { + START_MENU(); + + // + // ^ Main + // + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + + // + // Speed: + // + MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_multiplier, 10, 999); + // // Nozzle: // Nozzle [1-4]: @@ -546,29 +561,6 @@ static void nozzle_bed_fan_menu_items(uint8_t &encoderLine, uint8_t &_lineNr, ui // Fan Speed: // MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255); -} - - -/** - * - * "Tune" submenu - * - */ -static void lcd_tune_menu() { - START_MENU(); - - // - // ^ Main - // - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - - // - // Speed: - // - MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_multiplier, 10, 999); - - // Nozzle, Bed, and Fan Control - nozzle_bed_fan_menu_items(encoderLine, _lineNr, _drawLineNr, _menuItemNr, wasClicked, itemSelected); // // Flow: @@ -1033,8 +1025,44 @@ static void lcd_control_temperature_menu() { // MENU_ITEM(back, MSG_CONTROL, lcd_control_menu); - // Nozzle, Bed, and Fan Control - nozzle_bed_fan_menu_items(encoderLine, _lineNr, _drawLineNr, _menuItemNr, wasClicked, itemSelected); + // + // Nozzle: + // Nozzle [1-4]: + // + #if EXTRUDERS == 1 + #if TEMP_SENSOR_0 != 0 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 15, watch_temp_callback_E0); + #endif + #else //EXTRUDERS > 1 + #if TEMP_SENSOR_0 != 0 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N1, &target_temperature[0], 0, HEATER_0_MAXTEMP - 15, watch_temp_callback_E0); + #endif + #if TEMP_SENSOR_1 != 0 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N2, &target_temperature[1], 0, HEATER_1_MAXTEMP - 15, watch_temp_callback_E1); + #endif + #if EXTRUDERS > 2 + #if TEMP_SENSOR_2 != 0 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N3, &target_temperature[2], 0, HEATER_2_MAXTEMP - 15, watch_temp_callback_E2); + #endif + #if EXTRUDERS > 3 + #if TEMP_SENSOR_3 != 0 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N4, &target_temperature[3], 0, HEATER_3_MAXTEMP - 15, watch_temp_callback_E3); + #endif + #endif // EXTRUDERS > 3 + #endif // EXTRUDERS > 2 + #endif // EXTRUDERS > 1 + + // + // Bed: + // + #if TEMP_SENSOR_BED != 0 + MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 15); + #endif + + // + // Fan Speed: + // + MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255); // // Autotemp, Min, Max, Fact