Browse Source

🐛 Finish and organize temp sensors (#23519)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
zerkix 2 years ago
parent
commit
9285b6b9ed

+ 2
- 0
Marlin/src/HAL/ESP32/HAL.cpp View File

@@ -211,7 +211,9 @@ void HAL_adc_init() {
211 211
   TERN_(HAS_TEMP_ADC_7, adc3_set_attenuation(get_channel(TEMP_7_PIN), ADC_ATTEN_11db));
212 212
   TERN_(HAS_HEATED_BED, adc1_set_attenuation(get_channel(TEMP_BED_PIN), ADC_ATTEN_11db));
213 213
   TERN_(HAS_TEMP_CHAMBER, adc1_set_attenuation(get_channel(TEMP_CHAMBER_PIN), ADC_ATTEN_11db));
214
+  TERN_(HAS_TEMP_PROBE, adc1_set_attenuation(get_channel(TEMP_PROBE_PIN), ADC_ATTEN_11db));
214 215
   TERN_(HAS_TEMP_COOLER, adc1_set_attenuation(get_channel(TEMP_COOLER_PIN), ADC_ATTEN_11db));
216
+  TERN_(HAS_TEMP_BOARD, adc1_set_attenuation(get_channel(TEMP_BOARD_PIN), ADC_ATTEN_11db));
215 217
   TERN_(FILAMENT_WIDTH_SENSOR, adc1_set_attenuation(get_channel(FILWIDTH_PIN), ADC_ATTEN_11db));
216 218
 
217 219
   // Note that adc2 is shared with the WiFi module, which has higher priority, so the conversion may fail.

+ 28
- 14
Marlin/src/HAL/SAMD51/HAL.cpp View File

@@ -54,20 +54,22 @@
54 54
 #define GET_TEMP_5_ADC()          TERN(HAS_TEMP_ADC_5,        PIN_TO_ADC(TEMP_5_PIN),       -1)
55 55
 #define GET_TEMP_6_ADC()          TERN(HAS_TEMP_ADC_6,        PIN_TO_ADC(TEMP_6_PIN),       -1)
56 56
 #define GET_TEMP_7_ADC()          TERN(HAS_TEMP_ADC_7,        PIN_TO_ADC(TEMP_7_PIN),       -1)
57
-#define GET_PROBE_ADC()           TERN(HAS_TEMP_PROBE,        PIN_TO_ADC(TEMP_PROBE_PIN),   -1)
58 57
 #define GET_BED_ADC()             TERN(HAS_TEMP_ADC_BED,      PIN_TO_ADC(TEMP_BED_PIN),     -1)
59 58
 #define GET_CHAMBER_ADC()         TERN(HAS_TEMP_ADC_CHAMBER,  PIN_TO_ADC(TEMP_CHAMBER_PIN), -1)
59
+#define GET_PROBE_ADC()           TERN(HAS_TEMP_ADC_PROBE,    PIN_TO_ADC(TEMP_PROBE_PIN),   -1)
60 60
 #define GET_COOLER_ADC()          TERN(HAS_TEMP_ADC_COOLER,   PIN_TO_ADC(TEMP_COOLER_PIN),  -1)
61
+#define GET_BOARD_ADC()           TERN(HAS_TEMP_ADC_BOARD,    PIN_TO_ADC(TEMP_BOARD_PIN),   -1)
61 62
 #define GET_FILAMENT_WIDTH_ADC()  TERN(FILAMENT_WIDTH_SENSOR, PIN_TO_ADC(FILWIDTH_PIN),     -1)
62 63
 #define GET_BUTTONS_ADC()         TERN(HAS_ADC_BUTTONS,       PIN_TO_ADC(ADC_KEYPAD_PIN),   -1)
63 64
 
64 65
 #define IS_ADC_REQUIRED(n) ( \
65 66
      GET_TEMP_0_ADC() == n || GET_TEMP_1_ADC() == n || GET_TEMP_2_ADC() == n || GET_TEMP_3_ADC() == n \
66 67
   || GET_TEMP_4_ADC() == n || GET_TEMP_5_ADC() == n || GET_TEMP_6_ADC() == n || GET_TEMP_7_ADC() == n \
67
-  || GET_PROBE_ADC() == n          \
68 68
   || GET_BED_ADC() == n            \
69 69
   || GET_CHAMBER_ADC() == n        \
70
+  || GET_PROBE_ADC() == n          \
70 71
   || GET_COOLER_ADC() == n         \
72
+  || GET_BOARD_ADC() == n          \
71 73
   || GET_FILAMENT_WIDTH_ADC() == n \
72 74
   || GET_BUTTONS_ADC() == n        \
73 75
 )
@@ -137,18 +139,21 @@ uint16_t HAL_adc_result;
137 139
     #if GET_TEMP_7_ADC() == 0
138 140
       TEMP_7_PIN,
139 141
     #endif
140
-    #if GET_PROBE_ADC() == 0
141
-      TEMP_PROBE_PIN,
142
-    #endif
143 142
     #if GET_BED_ADC() == 0
144 143
       TEMP_BED_PIN,
145 144
     #endif
146 145
     #if GET_CHAMBER_ADC() == 0
147 146
       TEMP_CHAMBER_PIN,
148 147
     #endif
148
+    #if GET_PROBE_ADC() == 0
149
+      TEMP_PROBE_PIN,
150
+    #endif
149 151
     #if GET_COOLER_ADC() == 0
150 152
       TEMP_COOLER_PIN,
151 153
     #endif
154
+    #if GET_BOARD_ADC() == 0
155
+      TEMP_BOARD_PIN,
156
+    #endif
152 157
     #if GET_FILAMENT_WIDTH_ADC() == 0
153 158
       FILWIDTH_PIN,
154 159
     #endif
@@ -180,18 +185,21 @@ uint16_t HAL_adc_result;
180 185
     #if GET_TEMP_7_ADC() == 1
181 186
       TEMP_7_PIN,
182 187
     #endif
183
-    #if GET_PROBE_ADC() == 1
184
-      TEMP_PROBE_PIN,
185
-    #endif
186 188
     #if GET_BED_ADC() == 1
187 189
       TEMP_BED_PIN,
188 190
     #endif
189 191
     #if GET_CHAMBER_ADC() == 1
190 192
       TEMP_CHAMBER_PIN,
191 193
     #endif
194
+    #if GET_PROBE_ADC() == 1
195
+      TEMP_PROBE_PIN,
196
+    #endif
192 197
     #if GET_COOLER_ADC() == 1
193 198
       TEMP_COOLER_PIN,
194 199
     #endif
200
+    #if GET_BOARD_ADC() == 1
201
+      TEMP_BOARD_PIN,
202
+    #endif
195 203
     #if GET_FILAMENT_WIDTH_ADC() == 1
196 204
       FILWIDTH_PIN,
197 205
     #endif
@@ -231,18 +239,21 @@ uint16_t HAL_adc_result;
231 239
       #if GET_TEMP_7_ADC() == 0
232 240
         { PIN_TO_INPUTCTRL(TEMP_7_PIN) },
233 241
       #endif
234
-      #if GET_PROBE_ADC() == 0
235
-        { PIN_TO_INPUTCTRL(TEMP_PROBE_PIN) },
236
-      #endif
237 242
       #if GET_BED_ADC() == 0
238 243
         { PIN_TO_INPUTCTRL(TEMP_BED_PIN) },
239 244
       #endif
240 245
       #if GET_CHAMBER_ADC() == 0
241 246
         { PIN_TO_INPUTCTRL(TEMP_CHAMBER_PIN) },
242 247
       #endif
248
+      #if GET_PROBE_ADC() == 0
249
+        { PIN_TO_INPUTCTRL(TEMP_PROBE_PIN) },
250
+      #endif
243 251
       #if GET_COOLER_ADC() == 0
244 252
         { PIN_TO_INPUTCTRL(TEMP_COOLER_PIN) },
245 253
       #endif
254
+      #if GET_BOARD_ADC() == 0
255
+        { PIN_TO_INPUTCTRL(TEMP_BOARD_PIN) },
256
+      #endif
246 257
       #if GET_FILAMENT_WIDTH_ADC() == 0
247 258
         { PIN_TO_INPUTCTRL(FILWIDTH_PIN) },
248 259
       #endif
@@ -283,18 +294,21 @@ uint16_t HAL_adc_result;
283 294
       #if GET_TEMP_7_ADC() == 1
284 295
         { PIN_TO_INPUTCTRL(TEMP_7_PIN) },
285 296
       #endif
286
-      #if GET_PROBE_ADC() == 1
287
-        { PIN_TO_INPUTCTRL(TEMP_PROBE_PIN) },
288
-      #endif
289 297
       #if GET_BED_ADC() == 1
290 298
         { PIN_TO_INPUTCTRL(TEMP_BED_PIN) },
291 299
       #endif
292 300
       #if GET_CHAMBER_ADC() == 1
293 301
         { PIN_TO_INPUTCTRL(TEMP_CHAMBER_PIN) },
294 302
       #endif
303
+      #if GET_PROBE_ADC() == 1
304
+        { PIN_TO_INPUTCTRL(TEMP_PROBE_PIN) },
305
+      #endif
295 306
       #if GET_COOLER_ADC() == 1
296 307
         { PIN_TO_INPUTCTRL(TEMP_COOLER_PIN) },
297 308
       #endif
309
+      #if GET_BOARD_ADC() == 1
310
+        { PIN_TO_INPUTCTRL(TEMP_BOARD_PIN) },
311
+      #endif
298 312
       #if GET_FILAMENT_WIDTH_ADC() == 1
299 313
         { PIN_TO_INPUTCTRL(FILWIDTH_PIN) },
300 314
       #endif

+ 62
- 171
Marlin/src/HAL/STM32F1/HAL.cpp View File

@@ -120,123 +120,49 @@ uint16_t HAL_adc_result;
120 120
 STM32ADC adc(ADC1);
121 121
 
122 122
 const uint8_t adc_pins[] = {
123
-  #if HAS_TEMP_ADC_0
124
-    TEMP_0_PIN,
125
-  #endif
126
-  #if HAS_TEMP_ADC_PROBE
127
-    TEMP_PROBE_PIN,
128
-  #endif
129
-  #if HAS_HEATED_BED
130
-    TEMP_BED_PIN,
131
-  #endif
132
-  #if HAS_TEMP_CHAMBER
133
-    TEMP_CHAMBER_PIN,
134
-  #endif
135
-  #if HAS_TEMP_COOLER
136
-    TEMP_COOLER_PIN,
137
-  #endif
138
-  #if HAS_TEMP_ADC_1
139
-    TEMP_1_PIN,
140
-  #endif
141
-  #if HAS_TEMP_ADC_2
142
-    TEMP_2_PIN,
143
-  #endif
144
-  #if HAS_TEMP_ADC_3
145
-    TEMP_3_PIN,
146
-  #endif
147
-  #if HAS_TEMP_ADC_4
148
-    TEMP_4_PIN,
149
-  #endif
150
-  #if HAS_TEMP_ADC_5
151
-    TEMP_5_PIN,
152
-  #endif
153
-  #if HAS_TEMP_ADC_6
154
-    TEMP_6_PIN,
155
-  #endif
156
-  #if HAS_TEMP_ADC_7
157
-    TEMP_7_PIN,
158
-  #endif
159
-  #if ENABLED(FILAMENT_WIDTH_SENSOR)
160
-    FILWIDTH_PIN,
161
-  #endif
162
-  #if HAS_ADC_BUTTONS
163
-    ADC_KEYPAD_PIN,
164
-  #endif
165
-  #if HAS_JOY_ADC_X
166
-    JOY_X_PIN,
167
-  #endif
168
-  #if HAS_JOY_ADC_Y
169
-    JOY_Y_PIN,
170
-  #endif
171
-  #if HAS_JOY_ADC_Z
172
-    JOY_Z_PIN,
173
-  #endif
174
-  #if ENABLED(POWER_MONITOR_CURRENT)
175
-    POWER_MONITOR_CURRENT_PIN,
176
-  #endif
177
-  #if ENABLED(POWER_MONITOR_VOLTAGE)
178
-    POWER_MONITOR_VOLTAGE_PIN,
179
-  #endif
123
+  OPTITEM(HAS_TEMP_ADC_0, TEMP_0_PIN)
124
+  OPTITEM(HAS_TEMP_ADC_1, TEMP_1_PIN)
125
+  OPTITEM(HAS_TEMP_ADC_2, TEMP_2_PIN)
126
+  OPTITEM(HAS_TEMP_ADC_3, TEMP_3_PIN)
127
+  OPTITEM(HAS_TEMP_ADC_4, TEMP_4_PIN)
128
+  OPTITEM(HAS_TEMP_ADC_5, TEMP_5_PIN)
129
+  OPTITEM(HAS_TEMP_ADC_6, TEMP_6_PIN)
130
+  OPTITEM(HAS_TEMP_ADC_7, TEMP_7_PIN)
131
+  OPTITEM(HAS_HEATED_BED, TEMP_BED_PIN)
132
+  OPTITEM(HAS_TEMP_CHAMBER, TEMP_CHAMBER_PIN)
133
+  OPTITEM(HAS_TEMP_ADC_PROBE, TEMP_PROBE_PIN)
134
+  OPTITEM(HAS_TEMP_COOLER, TEMP_COOLER_PIN)
135
+  OPTITEM(HAS_TEMP_BOARD, TEMP_BOARD_PIN)
136
+  OPTITEM(FILAMENT_WIDTH_SENSOR, FILWIDTH_PIN)
137
+  OPTITEM(HAS_ADC_BUTTONS, ADC_KEYPAD_PIN)
138
+  OPTITEM(HAS_JOY_ADC_X, JOY_X_PIN)
139
+  OPTITEM(HAS_JOY_ADC_Y, JOY_Y_PIN)
140
+  OPTITEM(HAS_JOY_ADC_Z, JOY_Z_PIN)
141
+  OPTITEM(POWER_MONITOR_CURRENT, POWER_MONITOR_CURRENT_PIN)
142
+  OPTITEM(POWER_MONITOR_VOLTAGE, POWER_MONITOR_VOLTAGE_PIN)
180 143
 };
181 144
 
182 145
 enum TempPinIndex : char {
183
-  #if HAS_TEMP_ADC_0
184
-    TEMP_0,
185
-  #endif
186
-  #if HAS_TEMP_ADC_PROBE
187
-    TEMP_PROBE,
188
-  #endif
189
-  #if HAS_HEATED_BED
190
-    TEMP_BED,
191
-  #endif
192
-  #if HAS_TEMP_CHAMBER
193
-    TEMP_CHAMBER,
194
-  #endif
195
-  #if HAS_TEMP_COOLER
196
-    TEMP_COOLER_PIN,
197
-  #endif
198
-  #if HAS_TEMP_ADC_1
199
-    TEMP_1,
200
-  #endif
201
-  #if HAS_TEMP_ADC_2
202
-    TEMP_2,
203
-  #endif
204
-  #if HAS_TEMP_ADC_3
205
-    TEMP_3,
206
-  #endif
207
-  #if HAS_TEMP_ADC_4
208
-    TEMP_4,
209
-  #endif
210
-  #if HAS_TEMP_ADC_5
211
-    TEMP_5,
212
-  #endif
213
-  #if HAS_TEMP_ADC_6
214
-    TEMP_6,
215
-  #endif
216
-  #if HAS_TEMP_ADC_7
217
-    TEMP_7,
218
-  #endif
219
-  #if ENABLED(FILAMENT_WIDTH_SENSOR)
220
-    FILWIDTH,
221
-  #endif
222
-  #if HAS_ADC_BUTTONS
223
-    ADC_KEY,
224
-  #endif
225
-  #if HAS_JOY_ADC_X
226
-    JOY_X,
227
-  #endif
228
-  #if HAS_JOY_ADC_Y
229
-    JOY_Y,
230
-  #endif
231
-  #if HAS_JOY_ADC_Z
232
-    JOY_Z,
233
-  #endif
234
-  #if ENABLED(POWER_MONITOR_CURRENT)
235
-    POWERMON_CURRENT,
236
-  #endif
237
-  #if ENABLED(POWER_MONITOR_VOLTAGE)
238
-    POWERMON_VOLTS,
239
-  #endif
146
+  OPTITEM(HAS_TEMP_ADC_0, TEMP_0)
147
+  OPTITEM(HAS_TEMP_ADC_1, TEMP_1)
148
+  OPTITEM(HAS_TEMP_ADC_2, TEMP_2)
149
+  OPTITEM(HAS_TEMP_ADC_3, TEMP_3)
150
+  OPTITEM(HAS_TEMP_ADC_4, TEMP_4)
151
+  OPTITEM(HAS_TEMP_ADC_5, TEMP_5)
152
+  OPTITEM(HAS_TEMP_ADC_6, TEMP_6)
153
+  OPTITEM(HAS_TEMP_ADC_7, TEMP_7)
154
+  OPTITEM(HAS_HEATED_BED, TEMP_BED)
155
+  OPTITEM(HAS_TEMP_CHAMBER, TEMP_CHAMBER)
156
+  OPTITEM(HAS_TEMP_ADC_PROBE, TEMP_PROBE)
157
+  OPTITEM(HAS_TEMP_COOLER, TEMP_COOLER)
158
+  OPTITEM(HAS_TEMP_BOARD, TEMP_BOARD)
159
+  OPTITEM(FILAMENT_WIDTH_SENSOR, FILWIDTH)
160
+  OPTITEM(HAS_ADC_BUTTONS, ADC_KEY)
161
+  OPTITEM(HAS_JOY_ADC_X, JOY_X)
162
+  OPTITEM(HAS_JOY_ADC_Y, JOY_Y)
163
+  OPTITEM(HAS_JOY_ADC_Z, JOY_Z)
164
+  OPTITEM(POWER_MONITOR_CURRENT, POWERMON_CURRENT)
165
+  OPTITEM(POWER_MONITOR_VOLTAGE, POWERMON_VOLTS)
240 166
   ADC_PIN_COUNT
241 167
 };
242 168
 
@@ -375,67 +301,32 @@ void HAL_adc_init() {
375 301
 }
376 302
 
377 303
 void HAL_adc_start_conversion(const uint8_t adc_pin) {
304
+  #define __TCASE(N,I) case N: pin_index = I; break;
305
+  #define _TCASE(C,N,I) TERN_(C, __TCASE(N, I))
378 306
   //TEMP_PINS pin_index;
379 307
   TempPinIndex pin_index;
380 308
   switch (adc_pin) {
381 309
     default: return;
382
-    #if HAS_TEMP_ADC_0
383
-      case TEMP_0_PIN: pin_index = TEMP_0; break;
384
-    #endif
385
-    #if HAS_TEMP_ADC_PROBE
386
-      case TEMP_PROBE_PIN: pin_index = TEMP_PROBE; break;
387
-    #endif
388
-    #if HAS_HEATED_BED
389
-      case TEMP_BED_PIN: pin_index = TEMP_BED; break;
390
-    #endif
391
-    #if HAS_TEMP_CHAMBER
392
-      case TEMP_CHAMBER_PIN: pin_index = TEMP_CHAMBER; break;
393
-    #endif
394
-    #if HAS_TEMP_COOLER
395
-      case TEMP_COOLER_PIN: pin_index = TEMP_COOLER; break;
396
-    #endif
397
-    #if HAS_TEMP_ADC_1
398
-      case TEMP_1_PIN: pin_index = TEMP_1; break;
399
-    #endif
400
-    #if HAS_TEMP_ADC_2
401
-      case TEMP_2_PIN: pin_index = TEMP_2; break;
402
-    #endif
403
-    #if HAS_TEMP_ADC_3
404
-      case TEMP_3_PIN: pin_index = TEMP_3; break;
405
-    #endif
406
-    #if HAS_TEMP_ADC_4
407
-      case TEMP_4_PIN: pin_index = TEMP_4; break;
408
-    #endif
409
-    #if HAS_TEMP_ADC_5
410
-      case TEMP_5_PIN: pin_index = TEMP_5; break;
411
-    #endif
412
-    #if HAS_TEMP_ADC_6
413
-      case TEMP_6_PIN: pin_index = TEMP_6; break;
414
-    #endif
415
-    #if HAS_TEMP_ADC_7
416
-      case TEMP_7_PIN: pin_index = TEMP_7; break;
417
-    #endif
418
-    #if HAS_JOY_ADC_X
419
-      case JOY_X_PIN: pin_index = JOY_X; break;
420
-    #endif
421
-    #if HAS_JOY_ADC_Y
422
-      case JOY_Y_PIN: pin_index = JOY_Y; break;
423
-    #endif
424
-    #if HAS_JOY_ADC_Z
425
-      case JOY_Z_PIN: pin_index = JOY_Z; break;
426
-    #endif
427
-    #if ENABLED(FILAMENT_WIDTH_SENSOR)
428
-      case FILWIDTH_PIN: pin_index = FILWIDTH; break;
429
-    #endif
430
-    #if HAS_ADC_BUTTONS
431
-      case ADC_KEYPAD_PIN: pin_index = ADC_KEY; break;
432
-    #endif
433
-    #if ENABLED(POWER_MONITOR_CURRENT)
434
-      case POWER_MONITOR_CURRENT_PIN: pin_index = POWERMON_CURRENT; break;
435
-    #endif
436
-    #if ENABLED(POWER_MONITOR_VOLTAGE)
437
-      case POWER_MONITOR_VOLTAGE_PIN: pin_index = POWERMON_VOLTS; break;
438
-    #endif
310
+    _TCASE(HAS_TEMP_ADC_0,        TEMP_0_PIN,                TEMP_0)
311
+    _TCASE(HAS_TEMP_ADC_1,        TEMP_1_PIN,                TEMP_1)
312
+    _TCASE(HAS_TEMP_ADC_2,        TEMP_2_PIN,                TEMP_2)
313
+    _TCASE(HAS_TEMP_ADC_3,        TEMP_3_PIN,                TEMP_3)
314
+    _TCASE(HAS_TEMP_ADC_4,        TEMP_4_PIN,                TEMP_4)
315
+    _TCASE(HAS_TEMP_ADC_5,        TEMP_5_PIN,                TEMP_5)
316
+    _TCASE(HAS_TEMP_ADC_6,        TEMP_6_PIN,                TEMP_6)
317
+    _TCASE(HAS_TEMP_ADC_7,        TEMP_7_PIN,                TEMP_7)
318
+    _TCASE(HAS_HEATED_BED,        TEMP_BED_PIN,              TEMP_BED)
319
+    _TCASE(HAS_TEMP_CHAMBER,      TEMP_CHAMBER_PIN,          TEMP_CHAMBER)
320
+    _TCASE(HAS_TEMP_ADC_PROBE,    TEMP_PROBE_PIN,            TEMP_PROBE)
321
+    _TCASE(HAS_TEMP_COOLER,       TEMP_COOLER_PIN,           TEMP_COOLER)
322
+    _TCASE(HAS_TEMP_BOARD,        TEMP_BOARD_PIN,            TEMP_BOARD)
323
+    _TCASE(HAS_JOY_ADC_X,         JOY_X_PIN,                 JOY_X)
324
+    _TCASE(HAS_JOY_ADC_Y,         JOY_Y_PIN,                 JOY_Y)
325
+    _TCASE(HAS_JOY_ADC_Z,         JOY_Z_PIN,                 JOY_Z)
326
+    _TCASE(FILAMENT_WIDTH_SENSOR, FILWIDTH_PIN,              FILWIDTH)
327
+    _TCASE(HAS_ADC_BUTTONS,       ADC_KEYPAD_PIN,            ADC_KEY)
328
+    _TCASE(POWER_MONITOR_CURRENT, POWER_MONITOR_CURRENT_PIN, POWERMON_CURRENT)
329
+    _TCASE(POWER_MONITOR_VOLTAGE, POWER_MONITOR_VOLTAGE_PIN, POWERMON_VOLTS)
439 330
   }
440 331
   HAL_adc_result = HAL_adc_results[(int)pin_index] >> (12 - HAL_ADC_RESOLUTION); // shift out unused bits
441 332
 }

+ 2
- 0
Marlin/src/core/macros.h View File

@@ -235,6 +235,8 @@
235 235
 #define __TERN(T,V...)      ___TERN(_CAT(_NO,T),V)  // Prepend '_NO' to get '_NOT_0' or '_NOT_1'
236 236
 #define ___TERN(P,V...)     THIRD(P,V)              // If first argument has a comma, A. Else B.
237 237
 
238
+#define _OPTITEM(A...)      A,
239
+#define OPTITEM(O,A...)     TERN_(O,DEFER4(_OPTITEM)(A))
238 240
 #define _OPTARG(A...)       , A
239 241
 #define OPTARG(O,A...)      TERN_(O,DEFER4(_OPTARG)(A))
240 242
 #define _OPTCODE(A)         A;

+ 3
- 3
Marlin/src/inc/Conditionals_adv.h View File

@@ -118,9 +118,9 @@
118 118
 
119 119
 // Temperature sensor IDs
120 120
 #define HID_REDUNDANT -6
121
-#define HID_COOLER    -5
122
-#define HID_PROBE     -4
123
-#define HID_BOARD     -3
121
+#define HID_BOARD     -5
122
+#define HID_COOLER    -4
123
+#define HID_PROBE     -3
124 124
 #define HID_CHAMBER   -2
125 125
 #define HID_BED       -1
126 126
 #define HID_E0         0

+ 10
- 4
Marlin/src/inc/Conditionals_post.h View File

@@ -507,7 +507,13 @@
507 507
     #ifndef TEMP_SENSOR_REDUNDANT_MAX_DIFF
508 508
       #define TEMP_SENSOR_REDUNDANT_MAX_DIFF 10
509 509
     #endif
510
-    #if REDUNDANT_TEMP_MATCH(SOURCE, COOLER)
510
+    #if REDUNDANT_TEMP_MATCH(SOURCE, BOARD)
511
+      #if !PIN_EXISTS(TEMP_BOARD)
512
+        #error "TEMP_SENSOR_REDUNDANT_SOURCE set to BOARD requires TEMP_BOARD_PIN."
513
+      #else
514
+        #define TEMP_REDUNDANT_PIN TEMP_BOARD_PIN
515
+      #endif
516
+    #elif REDUNDANT_TEMP_MATCH(SOURCE, COOLER)
511 517
       #if !PIN_EXISTS(TEMP_COOLER)
512 518
         #error "TEMP_SENSOR_REDUNDANT_SOURCE set to COOLER requires TEMP_COOLER_PIN."
513 519
       #else
@@ -2446,12 +2452,12 @@
2446 2452
 #if HAS_TEMP(BED)
2447 2453
   #define HAS_TEMP_BED 1
2448 2454
 #endif
2449
-#if HAS_TEMP(PROBE)
2450
-  #define HAS_TEMP_PROBE 1
2451
-#endif
2452 2455
 #if HAS_TEMP(CHAMBER)
2453 2456
   #define HAS_TEMP_CHAMBER 1
2454 2457
 #endif
2458
+#if HAS_TEMP(PROBE)
2459
+  #define HAS_TEMP_PROBE 1
2460
+#endif
2455 2461
 #if HAS_TEMP(COOLER)
2456 2462
   #define HAS_TEMP_COOLER 1
2457 2463
 #endif

+ 6
- 6
Marlin/src/lcd/extui/dgus/hiprecy/DGUSDisplayDef.cpp View File

@@ -222,12 +222,12 @@ const uint16_t VPList_SDPrintTune[] PROGMEM = {
222 222
 };
223 223
 
224 224
 const uint16_t VPList_StepPerMM[] PROGMEM = {
225
-  VP_X_STEP_PER_MM
226
-  , VP_Y_STEP_PER_MM
227
-  , VP_Z_STEP_PER_MM
228
-  OPTARG(HAS_HOTEND,       VP_E0_STEP_PER_MM)
229
-  OPTARG(HAS_MULTI_HOTEND, VP_E1_STEP_PER_MM)
230
-  , 0x0000
225
+  VP_X_STEP_PER_MM,
226
+  VP_Y_STEP_PER_MM,
227
+  VP_Z_STEP_PER_MM,
228
+  OPTITEM(HAS_HOTEND,       VP_E0_STEP_PER_MM)
229
+  OPTITEM(HAS_MULTI_HOTEND, VP_E1_STEP_PER_MM)
230
+  0x0000
231 231
 };
232 232
 
233 233
 const uint16_t VPList_PIDE0[] PROGMEM = {

+ 4
- 4
Marlin/src/module/temperature.cpp View File

@@ -2361,12 +2361,12 @@ void Temperature::init() {
2361 2361
   #if HAS_TEMP_ADC_CHAMBER
2362 2362
     HAL_ANALOG_SELECT(TEMP_CHAMBER_PIN);
2363 2363
   #endif
2364
-  #if HAS_TEMP_ADC_COOLER
2365
-    HAL_ANALOG_SELECT(TEMP_COOLER_PIN);
2366
-  #endif
2367 2364
   #if HAS_TEMP_ADC_PROBE
2368 2365
     HAL_ANALOG_SELECT(TEMP_PROBE_PIN);
2369 2366
   #endif
2367
+  #if HAS_TEMP_ADC_COOLER
2368
+    HAL_ANALOG_SELECT(TEMP_COOLER_PIN);
2369
+  #endif
2370 2370
   #if HAS_TEMP_ADC_BOARD
2371 2371
     HAL_ANALOG_SELECT(TEMP_BOARD_PIN);
2372 2372
   #endif
@@ -2948,8 +2948,8 @@ void Temperature::update_raw_temperatures() {
2948 2948
   TERN_(HAS_TEMP_ADC_BED,     temp_bed.update());
2949 2949
   TERN_(HAS_TEMP_ADC_CHAMBER, temp_chamber.update());
2950 2950
   TERN_(HAS_TEMP_ADC_PROBE,   temp_probe.update());
2951
-  TERN_(HAS_TEMP_ADC_BOARD,   temp_board.update());
2952 2951
   TERN_(HAS_TEMP_ADC_COOLER,  temp_cooler.update());
2952
+  TERN_(HAS_TEMP_ADC_BOARD,   temp_board.update());
2953 2953
 
2954 2954
   TERN_(HAS_JOY_ADC_X, joystick.x.update());
2955 2955
   TERN_(HAS_JOY_ADC_Y, joystick.y.update());

+ 11
- 11
Marlin/src/module/temperature.h View File

@@ -231,9 +231,6 @@ struct PIDHeaterInfo : public HeaterInfo {
231 231
     typedef heater_info_t bed_info_t;
232 232
   #endif
233 233
 #endif
234
-#if HAS_TEMP_PROBE
235
-  typedef temp_info_t probe_info_t;
236
-#endif
237 234
 #if HAS_HEATED_CHAMBER
238 235
   #if ENABLED(PIDTEMPCHAMBER)
239 236
     typedef struct PIDHeaterInfo<PID_t> chamber_info_t;
@@ -243,12 +240,15 @@ struct PIDHeaterInfo : public HeaterInfo {
243 240
 #elif HAS_TEMP_CHAMBER
244 241
   typedef temp_info_t chamber_info_t;
245 242
 #endif
246
-#if HAS_TEMP_BOARD
247
-  typedef temp_info_t board_info_t;
243
+#if HAS_TEMP_PROBE
244
+  typedef temp_info_t probe_info_t;
248 245
 #endif
249 246
 #if EITHER(HAS_COOLER, HAS_TEMP_COOLER)
250 247
   typedef heater_info_t cooler_info_t;
251 248
 #endif
249
+#if HAS_TEMP_BOARD
250
+  typedef temp_info_t board_info_t;
251
+#endif
252 252
 
253 253
 // Heater watch handling
254 254
 template <int INCREASE, int HYSTERESIS, millis_t PERIOD>
@@ -318,12 +318,12 @@ typedef struct { int16_t raw_min, raw_max; celsius_t mintemp, maxtemp; } temp_ra
318 318
     #if TEMP_SENSOR_BED_IS_CUSTOM
319 319
       CTI_BED,
320 320
     #endif
321
-    #if TEMP_SENSOR_PROBE_IS_CUSTOM
322
-      CTI_PROBE,
323
-    #endif
324 321
     #if TEMP_SENSOR_CHAMBER_IS_CUSTOM
325 322
       CTI_CHAMBER,
326 323
     #endif
324
+    #if TEMP_SENSOR_PROBE_IS_CUSTOM
325
+      CTI_PROBE,
326
+    #endif
327 327
     #if TEMP_SENSOR_COOLER_IS_CUSTOM
328 328
       CTI_COOLER,
329 329
     #endif
@@ -599,12 +599,12 @@ class Temperature {
599 599
     #if HAS_HEATED_BED
600 600
       static celsius_float_t analog_to_celsius_bed(const int16_t raw);
601 601
     #endif
602
-    #if HAS_TEMP_PROBE
603
-      static celsius_float_t analog_to_celsius_probe(const int16_t raw);
604
-    #endif
605 602
     #if HAS_TEMP_CHAMBER
606 603
       static celsius_float_t analog_to_celsius_chamber(const int16_t raw);
607 604
     #endif
605
+    #if HAS_TEMP_PROBE
606
+      static celsius_float_t analog_to_celsius_probe(const int16_t raw);
607
+    #endif
608 608
     #if HAS_TEMP_COOLER
609 609
       static celsius_float_t analog_to_celsius_cooler(const int16_t raw);
610 610
     #endif

+ 8
- 8
Marlin/src/module/thermistor/thermistors.h View File

@@ -283,13 +283,6 @@ typedef struct { int16_t value; celsius_t celsius; } temp_entry_t;
283 283
   #define TEMPTABLE_CHAMBER_LEN 0
284 284
 #endif
285 285
 
286
-#if TEMP_SENSOR_COOLER > 0
287
-  #define TEMPTABLE_COOLER TT_NAME(TEMP_SENSOR_COOLER)
288
-  #define TEMPTABLE_COOLER_LEN COUNT(TEMPTABLE_COOLER)
289
-#else
290
-  #define TEMPTABLE_COOLER_LEN 0
291
-#endif
292
-
293 286
 #if TEMP_SENSOR_PROBE > 0
294 287
   #define TEMPTABLE_PROBE TT_NAME(TEMP_SENSOR_PROBE)
295 288
   #define TEMPTABLE_PROBE_LEN COUNT(TEMPTABLE_PROBE)
@@ -297,6 +290,13 @@ typedef struct { int16_t value; celsius_t celsius; } temp_entry_t;
297 290
   #define TEMPTABLE_PROBE_LEN 0
298 291
 #endif
299 292
 
293
+#if TEMP_SENSOR_COOLER > 0
294
+  #define TEMPTABLE_COOLER TT_NAME(TEMP_SENSOR_COOLER)
295
+  #define TEMPTABLE_COOLER_LEN COUNT(TEMPTABLE_COOLER)
296
+#else
297
+  #define TEMPTABLE_COOLER_LEN 0
298
+#endif
299
+
300 300
 #if TEMP_SENSOR_BOARD > 0
301 301
   #define TEMPTABLE_BOARD TT_NAME(TEMP_SENSOR_BOARD)
302 302
   #define TEMPTABLE_BOARD_LEN COUNT(TEMPTABLE_BOARD)
@@ -316,8 +316,8 @@ static_assert(255 > TEMPTABLE_0_LEN || 255 > TEMPTABLE_1_LEN || 255 > TEMPTABLE_
316 316
            || 255 > TEMPTABLE_4_LEN || 255 > TEMPTABLE_5_LEN || 255 > TEMPTABLE_6_LEN || 255 > TEMPTABLE_7_LEN
317 317
            || 255 > TEMPTABLE_BED_LEN
318 318
            || 255 > TEMPTABLE_CHAMBER_LEN
319
-           || 255 > TEMPTABLE_COOLER_LEN
320 319
            || 255 > TEMPTABLE_PROBE_LEN
320
+           || 255 > TEMPTABLE_COOLER_LEN
321 321
            || 255 > TEMPTABLE_BOARD_LEN
322 322
            || 255 > TEMPTABLE_REDUNDANT_LEN
323 323
   , "Temperature conversion tables over 255 entries need special consideration."

+ 8
- 8
Marlin/src/pins/pinsDebug_list.h View File

@@ -141,24 +141,24 @@
141 141
     REPORT_NAME_ANALOG(__LINE__, TEMP_BED_PIN)
142 142
   #endif
143 143
 #endif
144
-#if PIN_EXISTS(TEMP_BOARD)
145
-  #if ANALOG_OK(TEMP_BOARD_PIN)
146
-    REPORT_NAME_ANALOG(__LINE__, TEMP_BOARD_PIN)
147
-  #endif
148
-#endif
149 144
 #if PIN_EXISTS(TEMP_CHAMBER)
150 145
   #if ANALOG_OK(TEMP_CHAMBER_PIN)
151 146
     REPORT_NAME_ANALOG(__LINE__, TEMP_CHAMBER_PIN)
152 147
   #endif
153 148
 #endif
149
+#if PIN_EXISTS(TEMP_PROBE)
150
+  #if ANALOG_OK(TEMP_PROBE_PIN)
151
+    REPORT_NAME_ANALOG(__LINE__, TEMP_PROBE_PIN)
152
+  #endif
153
+#endif
154 154
 #if PIN_EXISTS(TEMP_COOLER)
155 155
   #if ANALOG_OK(TEMP_COOLER_PIN)
156 156
     REPORT_NAME_ANALOG(__LINE__, TEMP_COOLER_PIN)
157 157
   #endif
158 158
 #endif
159
-#if PIN_EXISTS(TEMP_PROBE)
160
-  #if ANALOG_OK(TEMP_PROBE_PIN)
161
-    REPORT_NAME_ANALOG(__LINE__, TEMP_PROBE_PIN)
159
+#if PIN_EXISTS(TEMP_BOARD)
160
+  #if ANALOG_OK(TEMP_BOARD_PIN)
161
+    REPORT_NAME_ANALOG(__LINE__, TEMP_BOARD_PIN)
162 162
   #endif
163 163
 #endif
164 164
 #if PIN_EXISTS(ADC_KEYPAD)

Loading…
Cancel
Save