Преглед изворни кода

🩹 UM2 extruder cooling fan on PJ6 (#23194)

Anson Liu пре 3 година
родитељ
комит
6fa278b741
No account linked to committer's email address
2 измењених фајлова са 15 додато и 3 уклоњено
  1. 14
    2
      Marlin/src/module/temperature.cpp
  2. 1
    1
      Marlin/src/pins/ramps/pins_ULTIMAIN_2.h

+ 14
- 2
Marlin/src/module/temperature.cpp Прегледај датотеку

878
     };
878
     };
879
 
879
 
880
     uint8_t fanState = 0;
880
     uint8_t fanState = 0;
881
-    HOTEND_LOOP()
882
-      if (temp_hotend[e].celsius >= EXTRUDER_AUTO_FAN_TEMPERATURE)
881
+    HOTEND_LOOP() {
882
+      if (temp_hotend[e].celsius >= EXTRUDER_AUTO_FAN_TEMPERATURE) {
883
         SBI(fanState, pgm_read_byte(&fanBit[e]));
883
         SBI(fanState, pgm_read_byte(&fanBit[e]));
884
+        #if MOTHERBOARD == BOARD_ULTIMAIN_2
885
+          // For the UM2 the head fan is connected to PJ6, which does not have an Arduino PIN definition. So use direct register access.
886
+          // https://github.com/Ultimaker/Ultimaker2Marlin/blob/master/Marlin/temperature.cpp#L553
887
+          SBI(DDRJ, 6); SBI(PORTJ, 6);
888
+        #endif
889
+      }
890
+      else {
891
+        #if MOTHERBOARD == BOARD_ULTIMAIN_2
892
+          SBI(DDRJ, 6); CBI(PORTJ, 6);
893
+        #endif
894
+      }
895
+    }
884
 
896
 
885
     #if HAS_AUTO_CHAMBER_FAN
897
     #if HAS_AUTO_CHAMBER_FAN
886
       if (temp_chamber.celsius >= CHAMBER_AUTO_FAN_TEMPERATURE)
898
       if (temp_chamber.celsius >= CHAMBER_AUTO_FAN_TEMPERATURE)

+ 1
- 1
Marlin/src/pins/ramps/pins_ULTIMAIN_2.h Прегледај датотеку

98
 #endif
98
 #endif
99
 
99
 
100
 #ifndef E0_AUTO_FAN_PIN
100
 #ifndef E0_AUTO_FAN_PIN
101
-  #define E0_AUTO_FAN_PIN                     77
101
+  #define E0_AUTO_FAN_PIN                     69
102
 #endif
102
 #endif
103
 
103
 
104
 //
104
 //

Loading…
Откажи
Сачувај