Browse Source

Fix auto power for chamber fan (#14922)

Tim Moore 6 years ago
parent
commit
4575978a1f
2 changed files with 15 additions and 8 deletions
  1. 14
    0
      Marlin/src/inc/Conditionals_post.h
  2. 1
    8
      Marlin/src/module/temperature.cpp

+ 14
- 0
Marlin/src/inc/Conditionals_post.h View File

1001
 #define HAS_AUTO_FAN_4 (HOTENDS > 4 && PIN_EXISTS(E4_AUTO_FAN))
1001
 #define HAS_AUTO_FAN_4 (HOTENDS > 4 && PIN_EXISTS(E4_AUTO_FAN))
1002
 #define HAS_AUTO_FAN_5 (HOTENDS > 5 && PIN_EXISTS(E5_AUTO_FAN))
1002
 #define HAS_AUTO_FAN_5 (HOTENDS > 5 && PIN_EXISTS(E5_AUTO_FAN))
1003
 #define HAS_AUTO_CHAMBER_FAN (HAS_TEMP_CHAMBER && PIN_EXISTS(CHAMBER_AUTO_FAN))
1003
 #define HAS_AUTO_CHAMBER_FAN (HAS_TEMP_CHAMBER && PIN_EXISTS(CHAMBER_AUTO_FAN))
1004
+
1004
 #define HAS_AUTO_FAN (HAS_AUTO_FAN_0 || HAS_AUTO_FAN_1 || HAS_AUTO_FAN_2 || HAS_AUTO_FAN_3 || HAS_AUTO_FAN_4 || HAS_AUTO_FAN_5 || HAS_AUTO_CHAMBER_FAN)
1005
 #define HAS_AUTO_FAN (HAS_AUTO_FAN_0 || HAS_AUTO_FAN_1 || HAS_AUTO_FAN_2 || HAS_AUTO_FAN_3 || HAS_AUTO_FAN_4 || HAS_AUTO_FAN_5 || HAS_AUTO_CHAMBER_FAN)
1006
+#if HAS_AUTO_FAN
1007
+  #define AUTO_CHAMBER_IS_0 (CHAMBER_AUTO_FAN_PIN == E0_AUTO_FAN_PIN)
1008
+  #define AUTO_CHAMBER_IS_1 (CHAMBER_AUTO_FAN_PIN == E1_AUTO_FAN_PIN)
1009
+  #define AUTO_CHAMBER_IS_2 (CHAMBER_AUTO_FAN_PIN == E2_AUTO_FAN_PIN)
1010
+  #define AUTO_CHAMBER_IS_3 (CHAMBER_AUTO_FAN_PIN == E3_AUTO_FAN_PIN)
1011
+  #define AUTO_CHAMBER_IS_4 (CHAMBER_AUTO_FAN_PIN == E4_AUTO_FAN_PIN)
1012
+  #define AUTO_CHAMBER_IS_5 (CHAMBER_AUTO_FAN_PIN == E5_AUTO_FAN_PIN)
1013
+  #define AUTO_CHAMBER_IS_E (AUTO_CHAMBER_IS_0 || AUTO_CHAMBER_IS_1 || AUTO_CHAMBER_IS_2 || AUTO_CHAMBER_IS_3 || AUTO_CHAMBER_IS_4 || AUTO_CHAMBER_IS_5)
1014
+#endif
1015
+
1016
+#if !HAS_AUTO_CHAMBER_FAN || AUTO_CHAMBER_IS_E
1017
+  #undef AUTO_POWER_CHAMBER_FAN
1018
+#endif
1005
 
1019
 
1006
 // Other fans
1020
 // Other fans
1007
 #define HAS_FAN0 (PIN_EXISTS(FAN))
1021
 #define HAS_FAN0 (PIN_EXISTS(FAN))

+ 1
- 8
Marlin/src/module/temperature.cpp View File

654
   #define AUTO_5_IS_2 (E5_AUTO_FAN_PIN == E2_AUTO_FAN_PIN)
654
   #define AUTO_5_IS_2 (E5_AUTO_FAN_PIN == E2_AUTO_FAN_PIN)
655
   #define AUTO_5_IS_3 (E5_AUTO_FAN_PIN == E3_AUTO_FAN_PIN)
655
   #define AUTO_5_IS_3 (E5_AUTO_FAN_PIN == E3_AUTO_FAN_PIN)
656
   #define AUTO_5_IS_4 (E5_AUTO_FAN_PIN == E4_AUTO_FAN_PIN)
656
   #define AUTO_5_IS_4 (E5_AUTO_FAN_PIN == E4_AUTO_FAN_PIN)
657
-  #define AUTO_CHAMBER_IS_0 (CHAMBER_AUTO_FAN_PIN == E0_AUTO_FAN_PIN)
658
-  #define AUTO_CHAMBER_IS_1 (CHAMBER_AUTO_FAN_PIN == E1_AUTO_FAN_PIN)
659
-  #define AUTO_CHAMBER_IS_2 (CHAMBER_AUTO_FAN_PIN == E2_AUTO_FAN_PIN)
660
-  #define AUTO_CHAMBER_IS_3 (CHAMBER_AUTO_FAN_PIN == E3_AUTO_FAN_PIN)
661
-  #define AUTO_CHAMBER_IS_4 (CHAMBER_AUTO_FAN_PIN == E4_AUTO_FAN_PIN)
662
-  #define AUTO_CHAMBER_IS_5 (CHAMBER_AUTO_FAN_PIN == E5_AUTO_FAN_PIN)
663
-  #define AUTO_CHAMBER_IS_E (AUTO_CHAMBER_IS_0 || AUTO_CHAMBER_IS_1 || AUTO_CHAMBER_IS_2 || AUTO_CHAMBER_IS_3 || AUTO_CHAMBER_IS_4 || AUTO_CHAMBER_IS_5)
664
   #define CHAMBER_FAN_INDEX HOTENDS
657
   #define CHAMBER_FAN_INDEX HOTENDS
665
 
658
 
666
   void Temperature::checkExtruderAutoFans() {
659
   void Temperature::checkExtruderAutoFans() {
709
       if (TEST(fanDone, realFan)) continue;
702
       if (TEST(fanDone, realFan)) continue;
710
       const bool fan_on = TEST(fanState, realFan);
703
       const bool fan_on = TEST(fanState, realFan);
711
       switch (f) {
704
       switch (f) {
712
-        #if HAS_AUTO_CHAMBER_FAN && !AUTO_CHAMBER_IS_E
705
+        #if ENABLED(AUTO_POWER_CHAMBER_FAN)
713
           case CHAMBER_FAN_INDEX:
706
           case CHAMBER_FAN_INDEX:
714
             chamberfan_speed = fan_on ? CHAMBER_AUTO_FAN_SPEED : 0;
707
             chamberfan_speed = fan_on ? CHAMBER_AUTO_FAN_SPEED : 0;
715
             break;
708
             break;

Loading…
Cancel
Save