Browse Source

🐛 Redundant Temp Sensor followup (#22173)

Katelyn Schiesser 4 years ago
parent
commit
f944ec3ac6
No account linked to committer's email address
2 changed files with 102 additions and 81 deletions
  1. 82
    75
      Marlin/src/inc/Conditionals_post.h
  2. 20
    6
      Marlin/src/module/temperature.cpp

+ 82
- 75
Marlin/src/inc/Conditionals_post.h View File

@@ -526,84 +526,91 @@
526 526
 #undef ANY_TEMP_SENSOR_IS
527 527
 
528 528
 // 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
595 539
     #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
601 612
     #endif
602 613
   #endif
603
-
604
-  #ifndef TEMP_SENSOR_REDUNDANT_MAX_DIFF
605
-    #define TEMP_SENSOR_REDUNDANT_MAX_DIFF 10
606
-  #endif
607 614
 #endif
608 615
 
609 616
 #if TEMP_SENSOR_0 == -5 || TEMP_SENSOR_0 == -3 || TEMP_SENSOR_0 == -2

+ 20
- 6
Marlin/src/module/temperature.cpp View File

@@ -2090,16 +2090,30 @@ void Temperature::init() {
2090 2090
   #endif
2091 2091
 
2092 2092
   #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
2095 2099
   #endif
2100
+
2096 2101
   #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
2099 2108
   #endif
2109
+
2100 2110
   #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
2103 2117
   #endif
2104 2118
 
2105 2119
   #if MB(RUMBA)

Loading…
Cancel
Save