소스 검색

🩹 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,9 +878,21 @@ int16_t Temperature::getHeaterPower(const heater_id_t heater_id) {
878 878
     };
879 879
 
880 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 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 897
     #if HAS_AUTO_CHAMBER_FAN
886 898
       if (temp_chamber.celsius >= CHAMBER_AUTO_FAN_TEMPERATURE)

+ 1
- 1
Marlin/src/pins/ramps/pins_ULTIMAIN_2.h 파일 보기

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

Loading…
취소
저장