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
 
370
 
371
 #if HAS_AUTO_FAN
371
 #if HAS_AUTO_FAN
372
 
372
 
373
-void setExtruderAutoFanState(int pin, bool state)
374
-{
373
+void setExtruderAutoFanState(int pin, bool state) {
375
   unsigned char newFanSpeed = (state != 0) ? EXTRUDER_AUTO_FAN_SPEED : 0;
374
   unsigned char newFanSpeed = (state != 0) ? EXTRUDER_AUTO_FAN_SPEED : 0;
376
   // this idiom allows both digital and PWM fan outputs (see M42 handling).
375
   // this idiom allows both digital and PWM fan outputs (see M42 handling).
377
-  pinMode(pin, OUTPUT);
378
   digitalWrite(pin, newFanSpeed);
376
   digitalWrite(pin, newFanSpeed);
379
   analogWrite(pin, newFanSpeed);
377
   analogWrite(pin, newFanSpeed);
380
 }
378
 }
381
 
379
 
382
-void checkExtruderAutoFans()
383
-{
380
+void checkExtruderAutoFans() {
384
   uint8_t fanState = 0;
381
   uint8_t fanState = 0;
385
 
382
 
386
   // which fan pins need to be turned on?      
383
   // which fan pins need to be turned on?      
443
   #endif
440
   #endif
444
 }
441
 }
445
 
442
 
446
-#endif // any extruder auto fan pins set
443
+#endif // HAS_AUTO_FAN
447
 
444
 
448
 //
445
 //
449
 // Temperature Error Handlers
446
 // Temperature Error Handlers
917
   #if HAS_FILAMENT_SENSOR
914
   #if HAS_FILAMENT_SENSOR
918
     ANALOG_SELECT(FILWIDTH_PIN);
915
     ANALOG_SELECT(FILWIDTH_PIN);
919
   #endif
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
   // Use timer0 for temperature measurement
931
   // Use timer0 for temperature measurement
922
   // Interleave temperature interrupt with millies interrupt
932
   // Interleave temperature interrupt with millies interrupt
923
   OCR0B = 128;
933
   OCR0B = 128;

Loading…
Cancel
Save