Richard Wackerbarth 10 years ago
parent
commit
1418470ae9
1 changed files with 17 additions and 7 deletions
  1. 17
    7
      Marlin/temperature.cpp

+ 17
- 7
Marlin/temperature.cpp View File

@@ -370,17 +370,14 @@ int getHeaterPower(int heater) {
370 370
 
371 371
 #if HAS_AUTO_FAN
372 372
 
373
-void setExtruderAutoFanState(int pin, bool state)
374
-{
373
+void setExtruderAutoFanState(int pin, bool state) {
375 374
   unsigned char newFanSpeed = (state != 0) ? EXTRUDER_AUTO_FAN_SPEED : 0;
376 375
   // this idiom allows both digital and PWM fan outputs (see M42 handling).
377
-  pinMode(pin, OUTPUT);
378 376
   digitalWrite(pin, newFanSpeed);
379 377
   analogWrite(pin, newFanSpeed);
380 378
 }
381 379
 
382
-void checkExtruderAutoFans()
383
-{
380
+void checkExtruderAutoFans() {
384 381
   uint8_t fanState = 0;
385 382
 
386 383
   // which fan pins need to be turned on?      
@@ -443,7 +440,7 @@ void checkExtruderAutoFans()
443 440
   #endif
444 441
 }
445 442
 
446
-#endif // any extruder auto fan pins set
443
+#endif // HAS_AUTO_FAN
447 444
 
448 445
 //
449 446
 // Temperature Error Handlers
@@ -917,7 +914,20 @@ void tp_init() {
917 914
   #if HAS_FILAMENT_SENSOR
918 915
     ANALOG_SELECT(FILWIDTH_PIN);
919 916
   #endif
920
-  
917
+
918
+  #if HAS_AUTO_FAN_0
919
+    pinMode(EXTRUDER_0_AUTO_FAN_PIN, OUTPUT);
920
+  #endif
921
+  #if HAS_AUTO_FAN_1 && (EXTRUDER_1_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN)
922
+    pinMode(EXTRUDER_1_AUTO_FAN_PIN, OUTPUT);
923
+  #endif
924
+  #if HAS_AUTO_FAN_2 && (EXTRUDER_2_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN) && (EXTRUDER_2_AUTO_FAN_PIN != EXTRUDER_1_AUTO_FAN_PIN)
925
+    pinMode(EXTRUDER_2_AUTO_FAN_PIN, OUTPUT);
926
+  #endif
927
+  #if HAS_AUTO_FAN_3 && (EXTRUDER_3_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN) && (EXTRUDER_3_AUTO_FAN_PIN != EXTRUDER_1_AUTO_FAN_PIN) && (EXTRUDER_3_AUTO_FAN_PIN != EXTRUDER_2_AUTO_FAN_PIN)
928
+    pinMode(EXTRUDER_3_AUTO_FAN_PIN, OUTPUT);
929
+  #endif
930
+
921 931
   // Use timer0 for temperature measurement
922 932
   // Interleave temperature interrupt with millies interrupt
923 933
   OCR0B = 128;

Loading…
Cancel
Save