|
|
@ -159,7 +159,8 @@ millis_t next_lcd_update_ms; |
|
|
|
constexpr int8_t menu_bottom = LCD_HEIGHT - (TALL_FONT_CORRECTION); |
|
|
|
|
|
|
|
// Initialized by settings.load()
|
|
|
|
int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2]; |
|
|
|
int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2]; |
|
|
|
uint8_t lcd_preheat_fan_speed[2]; |
|
|
|
|
|
|
|
#if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION) |
|
|
|
bool lcd_external_control; // = false
|
|
|
@ -945,7 +946,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
|
|
|
|
// Restore print cooling fan speeds
|
|
|
|
for (uint8_t i = 0; i < FAN_COUNT; i++) { |
|
|
|
int16_t f = job_recovery_info.fanSpeeds[i]; |
|
|
|
uint8_t f = job_recovery_info.fan_speed[i]; |
|
|
|
if (f) { |
|
|
|
sprintf_P(cmd, PSTR("M106 P%i S%i"), i, f); |
|
|
|
enqueue_and_echo_command(cmd); |
|
|
@ -1553,21 +1554,21 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
//
|
|
|
|
#if FAN_COUNT > 0 |
|
|
|
#if HAS_FAN0 |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &fanSpeeds[0], 0, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &fan_speed[0], 0, 255); |
|
|
|
#if ENABLED(EXTRA_FAN_SPEED) |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &new_fanSpeeds[0], 3, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &new_fan_speed[0], 3, 255); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
#if HAS_FAN1 |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED " 2", &fanSpeeds[1], 0, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_FAN_SPEED " 2", &fan_speed[1], 0, 255); |
|
|
|
#if ENABLED(EXTRA_FAN_SPEED) |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED " 2", &new_fanSpeeds[1], 3, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_EXTRA_FAN_SPEED " 2", &new_fan_speed[1], 3, 255); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
#if HAS_FAN2 |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED " 3", &fanSpeeds[2], 0, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_FAN_SPEED " 3", &fan_speed[2], 0, 255); |
|
|
|
#if ENABLED(EXTRA_FAN_SPEED) |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED " 3", &new_fanSpeeds[2], 3, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_EXTRA_FAN_SPEED " 3", &new_fan_speed[2], 3, 255); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
#endif // FAN_COUNT > 0
|
|
|
@ -1669,7 +1670,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
* "Temperature" submenu items |
|
|
|
* |
|
|
|
*/ |
|
|
|
void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb, const int16_t fan) { |
|
|
|
void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb, const uint8_t fan) { |
|
|
|
if (temph > 0) thermalManager.setTargetHotend(MIN(heater_maxtemp[endnum], temph), endnum); |
|
|
|
#if HAS_HEATED_BED |
|
|
|
if (tempb >= 0) thermalManager.setTargetBed(tempb); |
|
|
@ -1678,9 +1679,9 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
#endif |
|
|
|
#if FAN_COUNT > 0 |
|
|
|
#if FAN_COUNT > 1 |
|
|
|
fanSpeeds[active_extruder < FAN_COUNT ? active_extruder : 0] = fan; |
|
|
|
fan_speed[active_extruder < FAN_COUNT ? active_extruder : 0] = fan; |
|
|
|
#else |
|
|
|
fanSpeeds[0] = fan; |
|
|
|
fan_speed[0] = fan; |
|
|
|
#endif |
|
|
|
#else |
|
|
|
UNUSED(fan); |
|
|
@ -1915,7 +1916,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
|
|
|
|
void lcd_cooldown() { |
|
|
|
#if FAN_COUNT > 0 |
|
|
|
for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0; |
|
|
|
for (uint8_t i = 0; i < FAN_COUNT; i++) fan_speed[i] = 0; |
|
|
|
#endif |
|
|
|
thermalManager.disable_all_heaters(); |
|
|
|
lcd_return_to_status(); |
|
|
@ -3609,21 +3610,21 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
//
|
|
|
|
#if FAN_COUNT > 0 |
|
|
|
#if HAS_FAN0 |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &fanSpeeds[0], 0, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &fan_speed[0], 0, 255); |
|
|
|
#if ENABLED(EXTRA_FAN_SPEED) |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &new_fanSpeeds[0], 3, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &new_fan_speed[0], 3, 255); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
#if HAS_FAN1 |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED " 2", &fanSpeeds[1], 0, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_FAN_SPEED " 2", &fan_speed[1], 0, 255); |
|
|
|
#if ENABLED(EXTRA_FAN_SPEED) |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED " 2", &new_fanSpeeds[1], 3, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_EXTRA_FAN_SPEED " 2", &new_fan_speed[1], 3, 255); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
#if HAS_FAN2 |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED " 3", &fanSpeeds[2], 0, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_FAN_SPEED " 3", &fan_speed[2], 0, 255); |
|
|
|
#if ENABLED(EXTRA_FAN_SPEED) |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED " 3", &new_fanSpeeds[2], 3, 255); |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(int8, MSG_EXTRA_FAN_SPEED " 3", &new_fan_speed[2], 3, 255); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
#endif // FAN_COUNT > 0
|
|
|
@ -3755,7 +3756,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
#endif |
|
|
|
START_MENU(); |
|
|
|
MENU_BACK(MSG_CONFIGURATION); |
|
|
|
MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &lcd_preheat_fan_speed[material], 0, 255); |
|
|
|
MENU_ITEM_EDIT(int8, MSG_FAN_SPEED, &lcd_preheat_fan_speed[material], 0, 255); |
|
|
|
#if HAS_TEMP_HOTEND |
|
|
|
MENU_ITEM_EDIT(int3, MSG_NOZZLE, &lcd_preheat_hotend_temp[material], MINTEMP_ALL, MAXTEMP_ALL - 15); |
|
|
|
#endif |
|
|
|