Skip to content

Commit 4f8191b

Browse files
slowbrothinkyhead
authored andcommitted
🐛 Redundant Temp Sensor followup (MarlinFirmware#22173)
1 parent 927a1a1 commit 4f8191b

File tree

2 files changed

+102
-81
lines changed

2 files changed

+102
-81
lines changed

Marlin/src/inc/Conditionals_post.h

Lines changed: 82 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -526,84 +526,91 @@
526526
#undef ANY_TEMP_SENSOR_IS
527527

528528
// Usurp a sensor to do redundant readings
529-
#if TEMP_SENSOR_REDUNDANT && !PIN_EXISTS(TEMP_REDUNDANT)
530-
#if TEMP_SENSOR_REDUNDANT_SOURCE == -5
531-
#if !PIN_EXISTS(TEMP_COOLER)
532-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to COOLER requires TEMP_COOLER_PIN."
533-
#else
534-
#define TEMP_REDUNDANT_PIN TEMP_COOLER_PIN
535-
#endif
536-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == -4
537-
#if !PIN_EXISTS(TEMP_PROBE)
538-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to PROBE requires TEMP_PROBE_PIN."
539-
#else
540-
#define TEMP_REDUNDANT_PIN TEMP_PROBE_PIN
541-
#endif
542-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == -2
543-
#if !PIN_EXISTS(TEMP_CHAMBER)
544-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to CHAMBER requires TEMP_CHAMBER_PIN."
545-
#else
546-
#define TEMP_REDUNDANT_PIN TEMP_CHAMBER_PIN
547-
#endif
548-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == -1
549-
#if !PIN_EXISTS(TEMP_BED)
550-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to BED requires TEMP_BED_PIN."
551-
#else
552-
#define TEMP_REDUNDANT_PIN TEMP_BED_PIN
553-
#endif
554-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 0
555-
#if !PIN_EXISTS(TEMP_0)
556-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 0 requires TEMP_0_PIN."
557-
#else
558-
#define TEMP_REDUNDANT_PIN TEMP_0_PIN
559-
#endif
560-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 1
561-
#if !PIN_EXISTS(TEMP_1)
562-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 1 requires TEMP_1_PIN."
563-
#else
564-
#define TEMP_REDUNDANT_PIN TEMP_1_PIN
565-
#endif
566-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 2
567-
#if !PIN_EXISTS(TEMP_2)
568-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 2 requires TEMP_2_PIN."
569-
#else
570-
#define TEMP_REDUNDANT_PIN TEMP_2_PIN
571-
#endif
572-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 3
573-
#if !PIN_EXISTS(TEMP_3)
574-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 3 requires TEMP_3_PIN."
575-
#else
576-
#define TEMP_REDUNDANT_PIN TEMP_3_PIN
577-
#endif
578-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 4
579-
#if !PIN_EXISTS(TEMP_4)
580-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 4 requires TEMP_4_PIN."
581-
#else
582-
#define TEMP_REDUNDANT_PIN TEMP_4_PIN
583-
#endif
584-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 5
585-
#if !PIN_EXISTS(TEMP_5)
586-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 5 requires TEMP_5_PIN."
587-
#else
588-
#define TEMP_REDUNDANT_PIN TEMP_5_PIN
589-
#endif
590-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 6
591-
#if !PIN_EXISTS(TEMP_6)
592-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 6 requires TEMP_6_PIN."
593-
#else
594-
#define TEMP_REDUNDANT_PIN TEMP_6_PIN
529+
#if TEMP_SENSOR_REDUNDANT
530+
#ifndef TEMP_SENSOR_REDUNDANT_SOURCE
531+
#define TEMP_SENSOR_REDUNDANT_SOURCE 1
532+
#endif
533+
#ifndef TEMP_SENSOR_REDUNDANT_TARGET
534+
#define TEMP_SENSOR_REDUNDANT_TARGET 0
535+
#endif
536+
#if !PIN_EXISTS(TEMP_REDUNDANT)
537+
#ifndef TEMP_SENSOR_REDUNDANT_MAX_DIFF
538+
#define TEMP_SENSOR_REDUNDANT_MAX_DIFF 10
595539
#endif
596-
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 7
597-
#if !PIN_EXISTS(TEMP_7)
598-
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 7 requires TEMP_7_PIN."
599-
#else
600-
#define TEMP_REDUNDANT_PIN TEMP_7_PIN
540+
#if TEMP_SENSOR_REDUNDANT_SOURCE == -5
541+
#if !PIN_EXISTS(TEMP_COOLER)
542+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to COOLER requires TEMP_COOLER_PIN."
543+
#else
544+
#define TEMP_REDUNDANT_PIN TEMP_COOLER_PIN
545+
#endif
546+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == -4
547+
#if !PIN_EXISTS(TEMP_PROBE)
548+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to PROBE requires TEMP_PROBE_PIN."
549+
#else
550+
#define TEMP_REDUNDANT_PIN TEMP_PROBE_PIN
551+
#endif
552+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == -2
553+
#if !PIN_EXISTS(TEMP_CHAMBER)
554+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to CHAMBER requires TEMP_CHAMBER_PIN."
555+
#else
556+
#define TEMP_REDUNDANT_PIN TEMP_CHAMBER_PIN
557+
#endif
558+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == -1
559+
#if !PIN_EXISTS(TEMP_BED)
560+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to BED requires TEMP_BED_PIN."
561+
#else
562+
#define TEMP_REDUNDANT_PIN TEMP_BED_PIN
563+
#endif
564+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 0
565+
#if !PIN_EXISTS(TEMP_0)
566+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 0 requires TEMP_0_PIN."
567+
#else
568+
#define TEMP_REDUNDANT_PIN TEMP_0_PIN
569+
#endif
570+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 1
571+
#if !PIN_EXISTS(TEMP_1)
572+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 1 requires TEMP_1_PIN."
573+
#else
574+
#define TEMP_REDUNDANT_PIN TEMP_1_PIN
575+
#endif
576+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 2
577+
#if !PIN_EXISTS(TEMP_2)
578+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 2 requires TEMP_2_PIN."
579+
#else
580+
#define TEMP_REDUNDANT_PIN TEMP_2_PIN
581+
#endif
582+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 3
583+
#if !PIN_EXISTS(TEMP_3)
584+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 3 requires TEMP_3_PIN."
585+
#else
586+
#define TEMP_REDUNDANT_PIN TEMP_3_PIN
587+
#endif
588+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 4
589+
#if !PIN_EXISTS(TEMP_4)
590+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 4 requires TEMP_4_PIN."
591+
#else
592+
#define TEMP_REDUNDANT_PIN TEMP_4_PIN
593+
#endif
594+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 5
595+
#if !PIN_EXISTS(TEMP_5)
596+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 5 requires TEMP_5_PIN."
597+
#else
598+
#define TEMP_REDUNDANT_PIN TEMP_5_PIN
599+
#endif
600+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 6
601+
#if !PIN_EXISTS(TEMP_6)
602+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 6 requires TEMP_6_PIN."
603+
#else
604+
#define TEMP_REDUNDANT_PIN TEMP_6_PIN
605+
#endif
606+
#elif TEMP_SENSOR_REDUNDANT_SOURCE == 7
607+
#if !PIN_EXISTS(TEMP_7)
608+
#error "TEMP_SENSOR_REDUNDANT_SOURCE set to 7 requires TEMP_7_PIN."
609+
#else
610+
#define TEMP_REDUNDANT_PIN TEMP_7_PIN
611+
#endif
601612
#endif
602613
#endif
603-
604-
#ifndef TEMP_SENSOR_REDUNDANT_MAX_DIFF
605-
#define TEMP_SENSOR_REDUNDANT_MAX_DIFF 10
606-
#endif
607614
#endif
608615

609616
#if TEMP_SENSOR_0 == -5 || TEMP_SENSOR_0 == -3 || TEMP_SENSOR_0 == -2

Marlin/src/module/temperature.cpp

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2090,16 +2090,30 @@ void Temperature::init() {
20902090
#endif
20912091

20922092
#if HAS_MAX31865_TEMP
2093-
TERN_(TEMP_SENSOR_IS_MAX(0, MAX31865), max31865_0.begin(MAX31865_2WIRE)); // MAX31865_2WIRE, MAX31865_3WIRE, MAX31865_4WIRE
2094-
TERN_(TEMP_SENSOR_IS_MAX(1, MAX31865), max31865_1.begin(MAX31865_2WIRE));
2093+
#if TEMP_SENSOR_IS_MAX(0, MAX31865)
2094+
max31865_0.begin(MAX31865_2WIRE); // MAX31865_2WIRE, MAX31865_3WIRE, MAX31865_4WIRE
2095+
#endif
2096+
#if TEMP_SENSOR_IS_MAX(1, MAX31865)
2097+
max31865_1.begin(MAX31865_2WIRE);
2098+
#endif
20952099
#endif
2100+
20962101
#if HAS_MAX31855_TEMP
2097-
TERN_(TEMP_SENSOR_IS_MAX(0, MAX31855), max31855_0.begin());
2098-
TERN_(TEMP_SENSOR_IS_MAX(1, MAX31855), max31855_1.begin());
2102+
#if TEMP_SENSOR_IS_MAX(0, MAX31855)
2103+
max31855_0.begin(MAX31855);
2104+
#endif
2105+
#if TEMP_SENSOR_IS_MAX(1, MAX31855)
2106+
max31855_1.begin(MAX31855);
2107+
#endif
20992108
#endif
2109+
21002110
#if HAS_MAX6675_TEMP
2101-
TERN_(TEMP_SENSOR_IS_MAX(0, MAX6675), max6675_0.begin());
2102-
TERN_(TEMP_SENSOR_IS_MAX(1, MAX6675), max6675_1.begin());
2111+
#if TEMP_SENSOR_IS_MAX(0, MAX6675)
2112+
max6675_0.begin(MAX6675);
2113+
#endif
2114+
#if TEMP_SENSOR_IS_MAX(1, MAX6675)
2115+
max6675_1.begin(MAX6675);
2116+
#endif
21032117
#endif
21042118

21052119
#if MB(RUMBA)

0 commit comments

Comments
 (0)