|
@@ -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)
|