Browse Source

More sanity checking for extruder requirements (PR#2531)

Scott Lahteine 10 years ago
parent
commit
81bba7ed88
1 changed files with 25 additions and 4 deletions
  1. 25
    4
      Marlin/SanityCheck.h

+ 25
- 4
Marlin/SanityCheck.h View File

@@ -281,25 +281,42 @@
281 281
   #endif
282 282
 
283 283
   /**
284
-   * Test required HEATER and TEMP_SENSOR defines
284
+   * Test Heater, Temp Sensor, and Extruder Pins; Sensor Type must also be set.
285 285
    */
286 286
   #if EXTRUDERS > 3
287 287
     #if !HAS_HEATER_3
288 288
       #error HEATER_3_PIN not defined for this board.
289
+    #elif !PIN_EXISTS(TEMP_3)
290
+      #error TEMP_3_PIN not defined for this board.
291
+    #elif !PIN_EXISTS(E3_STEP) || !PIN_EXISTS(E3_DIR) || !PIN_EXISTS(E3_ENABLE)
292
+      #error E3_STEP_PIN, E3_DIR_PIN, or E3_ENABLE_PIN not defined for this board.
289 293
     #elif TEMP_SENSOR_3 == 0
290 294
       #error TEMP_SENSOR_3 is required with 4 EXTRUDERS.
291 295
     #endif
292 296
   #elif EXTRUDERS > 2
293 297
     #if !HAS_HEATER_2
294 298
       #error HEATER_2_PIN not defined for this board.
299
+    #elif !PIN_EXISTS(TEMP_2)
300
+      #error TEMP_2_PIN not defined for this board.
301
+    #elif !PIN_EXISTS(E2_STEP) || !PIN_EXISTS(E2_DIR) || !PIN_EXISTS(E2_ENABLE)
302
+      #error E2_STEP_PIN, E2_DIR_PIN, or E2_ENABLE_PIN not defined for this board.
295 303
     #elif TEMP_SENSOR_2 == 0
296 304
       #error TEMP_SENSOR_2 is required with 3 or more EXTRUDERS.
297 305
     #endif
298
-  #elif EXTRUDERS > 1 || defined(HEATERS_PARALLEL)
306
+  #elif EXTRUDERS > 1
307
+    #if !PIN_EXISTS(TEMP_1)
308
+      #error TEMP_1_PIN not defined for this board.
309
+    #elif !PIN_EXISTS(E1_STEP) || !PIN_EXISTS(E1_DIR) || !PIN_EXISTS(E1_ENABLE)
310
+      #error E1_STEP_PIN, E1_DIR_PIN, or E1_ENABLE_PIN not defined for this board.
311
+    #endif
312
+  #endif
313
+
314
+  #if EXTRUDERS > 1 || defined(HEATERS_PARALLEL)
299 315
     #if !HAS_HEATER_1
300 316
       #error HEATER_1_PIN not defined for this board.
301 317
     #endif
302 318
   #endif
319
+
303 320
   #if TEMP_SENSOR_1 == 0
304 321
     #if EXTRUDERS > 1
305 322
       #error TEMP_SENSOR_1 is required with 2 or more EXTRUDERS.
@@ -307,10 +324,14 @@
307 324
       #error TEMP_SENSOR_1 is required with TEMP_SENSOR_1_AS_REDUNDANT.
308 325
     #endif
309 326
   #endif
327
+
310 328
   #if !HAS_HEATER_0
311 329
     #error HEATER_0_PIN not defined for this board.
312
-  #endif
313
-  #if TEMP_SENSOR_0 == 0
330
+  #elif !PIN_EXISTS(TEMP_0)
331
+    #error TEMP_0_PIN not defined for this board.
332
+  #elif !PIN_EXISTS(E0_STEP) || !PIN_EXISTS(E0_DIR) || !PIN_EXISTS(E0_ENABLE)
333
+    #error E0_STEP_PIN, E0_DIR_PIN, or E0_ENABLE_PIN not defined for this board.
334
+  #elif TEMP_SENSOR_0 == 0
314 335
     #error TEMP_SENSOR_0 is required.
315 336
   #endif
316 337
 

Loading…
Cancel
Save