🩹 MAX Thermocouple followup

Followup to #24898
This commit is contained in:
Scott Lahteine 2022-11-04 20:10:59 -05:00
parent 7feeffdf06
commit fc2f3cdf40
2 changed files with 13 additions and 8 deletions

View File

@ -1020,8 +1020,11 @@
#endif #endif
// Helper macros for extruder and hotend arrays // Helper macros for extruder and hotend arrays
#define EXTRUDER_LOOP() for (int8_t e = 0; e < EXTRUDERS; e++) #define _EXTRUDER_LOOP(E) for (int8_t E = 0; E < EXTRUDERS; E++)
#define HOTEND_LOOP() for (int8_t e = 0; e < HOTENDS; e++) #define EXTRUDER_LOOP() _EXTRUDER_LOOP(e)
#define _HOTEND_LOOP(H) for (int8_t H = 0; H < HOTENDS; H++)
#define HOTEND_LOOP() _HOTEND_LOOP(e)
#define ARRAY_BY_EXTRUDERS(V...) ARRAY_N(EXTRUDERS, V) #define ARRAY_BY_EXTRUDERS(V...) ARRAY_N(EXTRUDERS, V)
#define ARRAY_BY_EXTRUDERS1(v1) ARRAY_N_1(EXTRUDERS, v1) #define ARRAY_BY_EXTRUDERS1(v1) ARRAY_N_1(EXTRUDERS, v1)
#define ARRAY_BY_HOTENDS(V...) ARRAY_N(HOTENDS, V) #define ARRAY_BY_HOTENDS(V...) ARRAY_N(HOTENDS, V)

View File

@ -2374,7 +2374,7 @@ void Temperature::updateTemperaturesFromRawValues() {
TERN_(HAS_POWER_MONITOR, power_monitor.capture_values()); TERN_(HAS_POWER_MONITOR, power_monitor.capture_values());
#if HAS_HOTEND #if HAS_HOTEND
static constexpr int8_t temp_dir[] = { static constexpr int8_t temp_dir[HOTENDS] = {
#if TEMP_SENSOR_IS_ANY_MAX_TC(0) #if TEMP_SENSOR_IS_ANY_MAX_TC(0)
0 0
#else #else
@ -2386,19 +2386,21 @@ void Temperature::updateTemperaturesFromRawValues() {
#else #else
, TEMPDIR(1) , TEMPDIR(1)
#endif #endif
#endif
#if HOTENDS > 2
#if TEMP_SENSOR_IS_ANY_MAX_TC(2) #if TEMP_SENSOR_IS_ANY_MAX_TC(2)
, 0 , 0
#else #else
, TEMPDIR(2) , TEMPDIR(2)
#endif #endif
#endif
#if HOTENDS > 3 #if HOTENDS > 3
#define _TEMPDIR(N) , TEMPDIR(N) #define _TEMPDIR(N) , TEMPDIR(N)
REPEAT_S(3, HOTENDS, _TEMPDIR) REPEAT_S(3, HOTENDS, _TEMPDIR)
#endif #endif
#endif
}; };
LOOP_L_N(e, COUNT(temp_dir)) { HOTEND_LOOP() {
const raw_adc_t r = temp_hotend[e].getraw(); const raw_adc_t r = temp_hotend[e].getraw();
const bool neg = temp_dir[e] < 0, pos = temp_dir[e] > 0; const bool neg = temp_dir[e] < 0, pos = temp_dir[e] > 0;
if ((neg && r < temp_range[e].raw_max) || (pos && r > temp_range[e].raw_max)) if ((neg && r < temp_range[e].raw_max) || (pos && r > temp_range[e].raw_max))