Skip to content

Commit 12d7995

Browse files
committed
🎨 Minor temp / UI refactor
1 parent 320b7a9 commit 12d7995

File tree

7 files changed

+95
-86
lines changed

7 files changed

+95
-86
lines changed

Marlin/src/MarlinCore.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -819,7 +819,7 @@ void idle(const bool no_stepper_sleep/*=false*/) {
819819
TERN_(HAS_BEEPER, buzzer.tick());
820820

821821
// Handle UI input / draw events
822-
TERN(DWIN_CREALITY_LCD, dwinUpdate(), ui.update());
822+
ui.update();
823823

824824
// Run i2c Position Encoders
825825
#if ENABLED(I2C_POSITION_ENCODERS)

Marlin/src/feature/controllerfan.cpp

+19-15
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,19 @@ void ControllerFan::set_fan_speed(const uint8_t s) {
5555
}
5656

5757
void ControllerFan::update() {
58-
static millis_t lastMotorOn = 0, // Last time a motor was turned on
59-
nextMotorCheck = 0; // Last time the state was checked
58+
static millis_t lastComponentOn = 0, // Last time a stepper, heater, etc. was turned on
59+
nextFanCheck = 0; // Last time the state was checked
6060
const millis_t ms = millis();
61-
if (ELAPSED(ms, nextMotorCheck)) {
62-
nextMotorCheck = ms + 2500UL; // Not a time critical function, so only check every 2.5s
63-
64-
// If any triggers for the controller fan are true...
65-
// - At least one stepper driver is enabled
66-
// - The heated bed is enabled
67-
// - TEMP_SENSOR_BOARD is reporting >= CONTROLLER_FAN_MIN_BOARD_TEMP
68-
// - TEMP_SENSOR_SOC is reporting >= CONTROLLER_FAN_MIN_SOC_TEMP
61+
if (ELAPSED(ms, nextFanCheck)) {
62+
nextFanCheck = ms + 2500UL; // Not a time critical function, so only check every 2.5s
63+
64+
/**
65+
* If any triggers for the controller fan are true...
66+
* - At least one stepper driver is enabled
67+
* - The heated bed (MOSFET) is enabled
68+
* - TEMP_SENSOR_BOARD is reporting >= CONTROLLER_FAN_MIN_BOARD_TEMP
69+
* - TEMP_SENSOR_SOC is reporting >= CONTROLLER_FAN_MIN_SOC_TEMP
70+
*/
6971
const ena_mask_t axis_mask = TERN(CONTROLLER_FAN_USE_Z_ONLY, _BV(Z_AXIS), (ena_mask_t)~TERN0(CONTROLLER_FAN_IGNORE_Z, _BV(Z_AXIS)));
7072
if ( (stepper.axis_enabled.bits & axis_mask)
7173
|| TERN0(HAS_HEATED_BED, thermalManager.temp_bed.soft_pwm_amount > 0)
@@ -75,13 +77,15 @@ void ControllerFan::update() {
7577
#ifdef CONTROLLER_FAN_MIN_SOC_TEMP
7678
|| thermalManager.wholeDegSoc() >= CONTROLLER_FAN_MIN_SOC_TEMP
7779
#endif
78-
) lastMotorOn = ms; //... set time to NOW so the fan will turn on
80+
) lastComponentOn = ms; //... set time to NOW so the fan will turn on
7981

80-
// Fan Settings. Set fan > 0:
81-
// - If AutoMode is on and steppers have been enabled for CONTROLLERFAN_IDLE_TIME seconds.
82-
// - If System is on idle and idle fan speed settings is activated.
82+
/**
83+
* Fan Settings. Set fan > 0:
84+
* - If AutoMode is on and hot components have been powered for CONTROLLERFAN_IDLE_TIME seconds.
85+
* - If System is on idle and idle fan speed settings is activated.
86+
*/
8387
set_fan_speed(
84-
settings.auto_mode && lastMotorOn && PENDING(ms, lastMotorOn + SEC_TO_MS(settings.duration))
88+
settings.auto_mode && lastComponentOn && PENDING(ms, lastComponentOn + SEC_TO_MS(settings.duration))
8589
? settings.active_speed : settings.idle_speed
8690
);
8791

Marlin/src/inc/Conditionals_LCD.h

+4
Original file line numberDiff line numberDiff line change
@@ -1090,6 +1090,10 @@
10901090
#define HAS_DISPLAY 1
10911091
#endif
10921092

1093+
#if ANY(HAS_DISPLAY, DWIN_CREALITY_LCD)
1094+
#define HAS_UI_UPDATE 1
1095+
#endif
1096+
10931097
#if HAS_WIRED_LCD && !HAS_GRAPHICAL_TFT && !IS_DWIN_MARLINUI
10941098
#define HAS_LCDPRINT 1
10951099
#endif

Marlin/src/lcd/e3v2/creality/dwin.cpp

+5-3
Original file line numberDiff line numberDiff line change
@@ -4077,11 +4077,13 @@ void dwinInitScreen() {
40774077
}
40784078

40794079
void dwinUpdate() {
4080-
eachMomentUpdate(); // Status update
4081-
hmiSDCardUpdate(); // SD card update
4082-
dwinHandleScreen(); // Rotary encoder update
4080+
eachMomentUpdate(); // Status update
4081+
hmiSDCardUpdate(); // SD card update
4082+
dwinHandleScreen(); // Rotary encoder update
40834083
}
40844084

4085+
void MarlinUI::update() { dwinUpdate(); }
4086+
40854087
void eachMomentUpdate() {
40864088
static millis_t next_var_update_ms = 0, next_rts_update_ms = 0;
40874089

Marlin/src/lcd/marlinui.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -505,9 +505,10 @@ class MarlinUI {
505505
template<typename... Args>
506506
static void status_printf(int8_t level, FSTR_P const ffmt, Args... more) { status_printf_P(level, FTOP(ffmt), more...); }
507507

508-
#if HAS_DISPLAY
508+
// Periodic or as-needed display update
509+
static void update() IF_DISABLED(HAS_UI_UPDATE, {});
509510

510-
static void update();
511+
#if HAS_DISPLAY
511512

512513
static void abort_print();
513514
static void pause_print();
@@ -628,7 +629,6 @@ class MarlinUI {
628629

629630
#else // No LCD
630631

631-
static void update() {}
632632
static void kill_screen(FSTR_P const, FSTR_P const) {}
633633

634634
#endif

Marlin/src/module/temperature.cpp

+51-59
Original file line numberDiff line numberDiff line change
@@ -490,8 +490,7 @@ PGMSTR(str_t_heating_failed, STR_T_HEATING_FAILED);
490490
#if HAS_HEATED_BED
491491
bed_info_t Temperature::temp_bed; // = { 0 }
492492
// Init min and max temp with extreme values to prevent false errors during startup
493-
raw_adc_t Temperature::mintemp_raw_BED = TEMP_SENSOR_BED_RAW_LO_TEMP,
494-
Temperature::maxtemp_raw_BED = TEMP_SENSOR_BED_RAW_HI_TEMP;
493+
temp_raw_range_t Temperature::temp_sensor_range_bed = { TEMP_SENSOR_BED_RAW_LO_TEMP, TEMP_SENSOR_BED_RAW_HI_TEMP };
495494
#if WATCH_BED
496495
bed_watch_t Temperature::watch_bed; // = { 0 }
497496
#endif
@@ -505,8 +504,7 @@ PGMSTR(str_t_heating_failed, STR_T_HEATING_FAILED);
505504
#if HAS_HEATED_CHAMBER
506505
millis_t next_cool_check_ms = 0;
507506
celsius_float_t old_temp = 9999;
508-
raw_adc_t Temperature::mintemp_raw_CHAMBER = TEMP_SENSOR_CHAMBER_RAW_LO_TEMP,
509-
Temperature::maxtemp_raw_CHAMBER = TEMP_SENSOR_CHAMBER_RAW_HI_TEMP;
507+
temp_raw_range_t Temperature::temp_sensor_range_chamber = { TEMP_SENSOR_CHAMBER_RAW_LO_TEMP, TEMP_SENSOR_CHAMBER_RAW_HI_TEMP };
510508
#if WATCH_CHAMBER
511509
chamber_watch_t Temperature::watch_chamber; // = { 0 }
512510
#endif
@@ -522,8 +520,7 @@ PGMSTR(str_t_heating_failed, STR_T_HEATING_FAILED);
522520
bool flag_cooler_state;
523521
//bool flag_cooler_excess = false;
524522
celsius_float_t previous_temp = 9999;
525-
raw_adc_t Temperature::mintemp_raw_COOLER = TEMP_SENSOR_COOLER_RAW_LO_TEMP,
526-
Temperature::maxtemp_raw_COOLER = TEMP_SENSOR_COOLER_RAW_HI_TEMP;
523+
temp_raw_range_t Temperature::temp_sensor_range_cooler = { TEMP_SENSOR_COOLER_RAW_LO_TEMP, TEMP_SENSOR_COOLER_RAW_HI_TEMP };
527524
#if WATCH_COOLER
528525
cooler_watch_t Temperature::watch_cooler; // = { 0 }
529526
#endif
@@ -538,8 +535,7 @@ PGMSTR(str_t_heating_failed, STR_T_HEATING_FAILED);
538535
#if HAS_TEMP_BOARD
539536
board_info_t Temperature::temp_board; // = { 0 }
540537
#if ENABLED(THERMAL_PROTECTION_BOARD)
541-
raw_adc_t Temperature::mintemp_raw_BOARD = TEMP_SENSOR_BOARD_RAW_LO_TEMP,
542-
Temperature::maxtemp_raw_BOARD = TEMP_SENSOR_BOARD_RAW_HI_TEMP;
538+
temp_raw_range_t Temperature::temp_sensor_range_board = { TEMP_SENSOR_BOARD_RAW_LO_TEMP, TEMP_SENSOR_BOARD_RAW_HI_TEMP };
543539
#endif
544540
#endif
545541

@@ -700,7 +696,7 @@ volatile bool Temperature::raw_temps_ready = false;
700696
TERN_(EXTENSIBLE_UI, ExtUI::onPidTuning(ExtUI::result_t::PID_STARTED));
701697
TERN_(PROUI_PID_TUNE, dwinPidTuning(isbed ? PIDTEMPBED_START : PIDTEMP_START));
702698

703-
if (target > GHV(CHAMBER_MAX_TARGET, BED_MAX_TARGET, temp_range[heater_id].maxtemp - (HOTEND_OVERSHOOT))) {
699+
if (target > GHV(CHAMBER_MAX_TARGET, BED_MAX_TARGET, hotend_max_target(heater_id))) {
704700
SERIAL_ECHOPGM(STR_PID_AUTOTUNE); SERIAL_ECHOLNPGM(STR_PID_TEMP_TOO_HIGH);
705701
TERN_(EXTENSIBLE_UI, ExtUI::onPidTuning(ExtUI::result_t::PID_TEMP_TOO_HIGH));
706702
TERN_(PROUI_PID_TUNE, dwinPidTuning(PID_TEMP_TOO_HIGH));
@@ -718,7 +714,7 @@ volatile bool Temperature::raw_temps_ready = false;
718714

719715
#if ENABLED(PRINTER_EVENT_LEDS)
720716
const celsius_float_t start_temp = GHV(degChamber(), degBed(), degHotend(heater_id));
721-
LEDColor color = ONHEATINGSTART();
717+
const LEDColor oldcolor = ONHEATINGSTART();
722718
#endif
723719

724720
TERN_(TEMP_TUNING_MAINTAIN_FAN, adaptive_fan_slowing = false);
@@ -882,7 +878,7 @@ volatile bool Temperature::raw_temps_ready = false;
882878
if (set_result)
883879
GHV(_set_chamber_pid(tune_pid), _set_bed_pid(tune_pid), _set_hotend_pid(heater_id, tune_pid));
884880

885-
TERN_(PRINTER_EVENT_LEDS, printerEventLEDs.onPidTuningDone(color));
881+
TERN_(PRINTER_EVENT_LEDS, printerEventLEDs.onPidTuningDone(oldcolor));
886882

887883
TERN_(EXTENSIBLE_UI, ExtUI::onPidTuning(ExtUI::result_t::PID_DONE));
888884
TERN_(PROUI_PID_TUNE, dwinPidTuning(AUTOTUNE_DONE));
@@ -894,13 +890,13 @@ volatile bool Temperature::raw_temps_ready = false;
894890
hal.idletask();
895891

896892
// Run UI update
897-
TERN(DWIN_CREALITY_LCD, dwinUpdate(), ui.update());
893+
ui.update();
898894
}
899895
wait_for_heatup = false;
900896

901897
disable_all_heaters();
902898

903-
TERN_(PRINTER_EVENT_LEDS, printerEventLEDs.onPidTuningDone(color));
899+
TERN_(PRINTER_EVENT_LEDS, printerEventLEDs.onPidTuningDone(oldcolor));
904900

905901
TERN_(EXTENSIBLE_UI, ExtUI::onPidTuning(ExtUI::result_t::PID_DONE));
906902
TERN_(PROUI_PID_TUNE, dwinPidTuning(AUTOTUNE_DONE));
@@ -1143,7 +1139,7 @@ volatile bool Temperature::raw_temps_ready = false;
11431139
}
11441140

11451141
Temperature::MPC_autotuner::MeasurementState Temperature::MPC_autotuner::housekeeping() {
1146-
const millis_t report_interval_ms = 1000UL;
1142+
constexpr millis_t report_interval_ms = 1000UL;
11471143
curr_time_ms = millis();
11481144

11491145
if (updateTemperaturesIfReady()) { // temp sample ready
@@ -1158,7 +1154,7 @@ volatile bool Temperature::raw_temps_ready = false;
11581154
}
11591155

11601156
hal.idletask();
1161-
TERN(DWIN_CREALITY_LCD, dwinUpdate(), ui.update());
1157+
ui.update();
11621158

11631159
if (!wait_for_heatup) {
11641160
SERIAL_ECHOLNPGM(STR_MPC_AUTOTUNE_INTERRUPTED);
@@ -1834,12 +1830,18 @@ void Temperature::mintemp_error(const heater_id_t heater_id OPTARG(ERR_INCLUDE_T
18341830
// Check if temperature is within the correct band
18351831
if (WITHIN(temp_bed.celsius, BED_MINTEMP, BED_MAXTEMP)) {
18361832
#if ENABLED(BED_LIMIT_SWITCHING)
1833+
1834+
// Range-limited "bang-bang" bed heating
18371835
if (temp_bed.is_above_target(BED_HYSTERESIS))
18381836
temp_bed.soft_pwm_amount = 0;
18391837
else if (temp_bed.is_below_target(BED_HYSTERESIS))
18401838
temp_bed.soft_pwm_amount = MAX_BED_POWER >> 1;
1839+
18411840
#else // !PIDTEMPBED && !BED_LIMIT_SWITCHING
1841+
1842+
// Simple (noisy) "bang-bang" bed heating
18421843
temp_bed.soft_pwm_amount = temp_bed.is_below_target() ? MAX_BED_POWER >> 1 : 0;
1844+
18431845
#endif
18441846
}
18451847
else {
@@ -2632,31 +2634,8 @@ void Temperature::updateTemperaturesFromRawValues() {
26322634
TERN_(HAS_POWER_MONITOR, power_monitor.capture_values());
26332635

26342636
#if HAS_HOTEND
2635-
static constexpr int8_t temp_dir[HOTENDS] = {
2636-
#if TEMP_SENSOR_IS_ANY_MAX_TC(0)
2637-
0
2638-
#else
2639-
TEMPDIR(0)
2640-
#endif
2641-
#if HAS_MULTI_HOTEND
2642-
#if TEMP_SENSOR_IS_ANY_MAX_TC(1)
2643-
, 0
2644-
#else
2645-
, TEMPDIR(1)
2646-
#endif
2647-
#endif
2648-
#if HOTENDS > 2
2649-
#if TEMP_SENSOR_IS_ANY_MAX_TC(2)
2650-
, 0
2651-
#else
2652-
, TEMPDIR(2)
2653-
#endif
2654-
#endif
2655-
#if HOTENDS > 3
2656-
#define _TEMPDIR(N) , TEMPDIR(N)
2657-
REPEAT_S(3, HOTENDS, _TEMPDIR)
2658-
#endif
2659-
};
2637+
#define _TEMPDIR(N) TEMP_SENSOR_IS_ANY_MAX_TC(N) ? 0 : TEMPDIR(N),
2638+
static constexpr int8_t temp_dir[HOTENDS] = { REPEAT(HOTENDS, _TEMPDIR) };
26602639

26612640
HOTEND_LOOP() {
26622641
const raw_adc_t r = temp_hotend[e].getraw();
@@ -2683,31 +2662,37 @@ void Temperature::updateTemperaturesFromRawValues() {
26832662

26842663
#endif // HAS_HOTEND
26852664

2686-
#define TP_CMP(S,A,B) (TEMPDIR(S) < 0 ? ((A)<(B)) : ((A)>(B)))
26872665
#if ENABLED(THERMAL_PROTECTION_BED)
2688-
if (TP_CMP(BED, temp_bed.getraw(), maxtemp_raw_BED)) MAXTEMP_ERROR(H_BED, temp_bed.celsius);
2689-
if (temp_bed.target > 0 && !is_bed_preheating() && TP_CMP(BED, mintemp_raw_BED, temp_bed.getraw())) MINTEMP_ERROR(H_BED, temp_bed.celsius);
2666+
if (TP_CMP(BED, temp_bed.getraw(), temp_sensor_range_bed.raw_max))
2667+
MAXTEMP_ERROR(H_BED, temp_bed.celsius);
2668+
if (temp_bed.target > 0 && !is_bed_preheating() && TP_CMP(BED, temp_sensor_range_bed.raw_min, temp_bed.getraw()))
2669+
MINTEMP_ERROR(H_BED, temp_bed.celsius);
26902670
#endif
26912671

26922672
#if ALL(HAS_HEATED_CHAMBER, THERMAL_PROTECTION_CHAMBER)
2693-
if (TP_CMP(CHAMBER, temp_chamber.getraw(), maxtemp_raw_CHAMBER)) MAXTEMP_ERROR(H_CHAMBER, temp_chamber.celsius);
2694-
if (temp_chamber.target > 0 && TP_CMP(CHAMBER, mintemp_raw_CHAMBER, temp_chamber.getraw())) MINTEMP_ERROR(H_CHAMBER, temp_chamber.celsius);
2673+
if (TP_CMP(CHAMBER, temp_chamber.getraw(), temp_sensor_range_chamber.raw_max))
2674+
MAXTEMP_ERROR(H_CHAMBER, temp_chamber.celsius);
2675+
if (temp_chamber.target > 0 && TP_CMP(CHAMBER, temp_sensor_range_chamber.raw_min, temp_chamber.getraw()))
2676+
MINTEMP_ERROR(H_CHAMBER, temp_chamber.celsius);
26952677
#endif
26962678

26972679
#if ALL(HAS_COOLER, THERMAL_PROTECTION_COOLER)
2698-
if (cutter.unitPower > 0 && TP_CMP(COOLER, temp_cooler.getraw(), maxtemp_raw_COOLER)) MAXTEMP_ERROR(H_COOLER, temp_cooler.celsius);
2699-
if (TP_CMP(COOLER, mintemp_raw_COOLER, temp_cooler.getraw())) MINTEMP_ERROR(H_COOLER, temp_cooler.celsius);
2680+
if (cutter.unitPower > 0 && TP_CMP(COOLER, temp_cooler.getraw(), temp_sensor_range_cooler.raw_max))
2681+
MAXTEMP_ERROR(H_COOLER, temp_cooler.celsius);
2682+
if (TP_CMP(COOLER, temp_sensor_range_cooler.raw_min, temp_cooler.getraw()))
2683+
MINTEMP_ERROR(H_COOLER, temp_cooler.celsius);
27002684
#endif
27012685

27022686
#if ALL(HAS_TEMP_BOARD, THERMAL_PROTECTION_BOARD)
2703-
if (TP_CMP(BOARD, temp_board.getraw(), maxtemp_raw_BOARD)) MAXTEMP_ERROR(H_BOARD, temp_board.celsius);
2704-
if (TP_CMP(BOARD, mintemp_raw_BOARD, temp_board.getraw())) MINTEMP_ERROR(H_BOARD, temp_board.celsius);
2687+
if (TP_CMP(BOARD, temp_board.getraw(), temp_sensor_range_board.raw_max))
2688+
MAXTEMP_ERROR(H_BOARD, temp_board.celsius);
2689+
if (TP_CMP(BOARD, temp_sensor_range_board.raw_min, temp_board.getraw()))
2690+
MINTEMP_ERROR(H_BOARD, temp_board.celsius);
27052691
#endif
27062692

27072693
#if ALL(HAS_TEMP_SOC, THERMAL_PROTECTION_SOC)
27082694
if (TP_CMP(SOC, temp_soc.getraw(), maxtemp_raw_SOC)) MAXTEMP_ERROR(H_SOC, temp_soc.celsius);
27092695
#endif
2710-
#undef TP_CMP
27112696

27122697
} // Temperature::updateTemperaturesFromRawValues
27132698

@@ -2733,7 +2718,6 @@ void Temperature::init() {
27332718

27342719
TERN_(PROBING_HEATERS_OFF, paused_for_probing = false);
27352720

2736-
27372721
// Init (and disable) SPI thermocouples
27382722
#if TEMP_SENSOR_IS_ANY_MAX_TC(0) && PIN_EXISTS(TEMP_0_CS)
27392723
OUT_WRITE(TEMP_0_CS_PIN, HIGH);
@@ -3051,23 +3035,31 @@ void Temperature::init() {
30513035

30523036
// TODO: combine these into the macros above
30533037
#if HAS_HEATED_BED
3054-
while (analog_to_celsius_bed(mintemp_raw_BED) < BED_MINTEMP) mintemp_raw_BED += TEMPDIR(BED) * (OVERSAMPLENR);
3055-
while (analog_to_celsius_bed(maxtemp_raw_BED) > BED_MAXTEMP) maxtemp_raw_BED -= TEMPDIR(BED) * (OVERSAMPLENR);
3038+
while (analog_to_celsius_bed(temp_sensor_range_bed.raw_min) < BED_MINTEMP)
3039+
temp_sensor_range_bed.raw_min += TEMPDIR(BED) * (OVERSAMPLENR);
3040+
while (analog_to_celsius_bed(temp_sensor_range_bed.raw_max) > BED_MAXTEMP)
3041+
temp_sensor_range_bed.raw_max -= TEMPDIR(BED) * (OVERSAMPLENR);
30563042
#endif
30573043

30583044
#if HAS_HEATED_CHAMBER
3059-
while (analog_to_celsius_chamber(mintemp_raw_CHAMBER) < CHAMBER_MINTEMP) mintemp_raw_CHAMBER += TEMPDIR(CHAMBER) * (OVERSAMPLENR);
3060-
while (analog_to_celsius_chamber(maxtemp_raw_CHAMBER) > CHAMBER_MAXTEMP) maxtemp_raw_CHAMBER -= TEMPDIR(CHAMBER) * (OVERSAMPLENR);
3045+
while (analog_to_celsius_chamber(temp_sensor_range_chamber.raw_min) < CHAMBER_MINTEMP)
3046+
temp_sensor_range_chamber.raw_min += TEMPDIR(CHAMBER) * (OVERSAMPLENR);
3047+
while (analog_to_celsius_chamber(temp_sensor_range_chamber.raw_max) > CHAMBER_MAXTEMP)
3048+
temp_sensor_range_chamber.raw_max -= TEMPDIR(CHAMBER) * (OVERSAMPLENR);
30613049
#endif
30623050

30633051
#if HAS_COOLER
3064-
while (analog_to_celsius_cooler(mintemp_raw_COOLER) > COOLER_MINTEMP) mintemp_raw_COOLER += TEMPDIR(COOLER) * (OVERSAMPLENR);
3065-
while (analog_to_celsius_cooler(maxtemp_raw_COOLER) < COOLER_MAXTEMP) maxtemp_raw_COOLER -= TEMPDIR(COOLER) * (OVERSAMPLENR);
3052+
while (analog_to_celsius_cooler(temp_sensor_range_cooler.raw_min) > COOLER_MINTEMP)
3053+
temp_sensor_range_cooler.raw_min += TEMPDIR(COOLER) * (OVERSAMPLENR);
3054+
while (analog_to_celsius_cooler(temp_sensor_range_cooler.raw_max) < COOLER_MAXTEMP)
3055+
temp_sensor_range_cooler.raw_max -= TEMPDIR(COOLER) * (OVERSAMPLENR);
30663056
#endif
30673057

30683058
#if ALL(HAS_TEMP_BOARD, THERMAL_PROTECTION_BOARD)
3069-
while (analog_to_celsius_board(mintemp_raw_BOARD) < BOARD_MINTEMP) mintemp_raw_BOARD += TEMPDIR(BOARD) * (OVERSAMPLENR);
3070-
while (analog_to_celsius_board(maxtemp_raw_BOARD) > BOARD_MAXTEMP) maxtemp_raw_BOARD -= TEMPDIR(BOARD) * (OVERSAMPLENR);
3059+
while (analog_to_celsius_board(temp_sensor_range_board.raw_min) < BOARD_MINTEMP)
3060+
temp_sensor_range_board.raw_min += TEMPDIR(BOARD) * (OVERSAMPLENR);
3061+
while (analog_to_celsius_board(temp_sensor_range_board.raw_max) > BOARD_MAXTEMP)
3062+
temp_sensor_range_board.raw_max -= TEMPDIR(BOARD) * (OVERSAMPLENR);
30713063
#endif
30723064

30733065
#if ALL(HAS_TEMP_SOC, THERMAL_PROTECTION_SOC)

0 commit comments

Comments
 (0)