Запуск системного вентилятора
Здравствуйте!
Возникла необходимость запускать системный вентилятор при запуске нагревателя хотенда.
Пока что он в оригинальной прошивке он запускается при срабатывание драйверов и нагревателя кровати. Какие строчки кода добавить (на подобие как это зделано про накреватель кровати) чтобы запуск системного вентилятора происходил и по запуски нагреватела хотенда?
Прошивка Марлин 1.1.x
Зарание благодарю!
Из Marlin_main.cpp
#if ENABLED(USE_CONTROLLER_FAN)
void controllerFan() {
static millis_t lastMotorOn = 0, // Last time a motor was turned on
nextMotorCheck = 0; // Last time the state was checked
const millis_t ms = millis();
if (ELAPSED(ms, nextMotorCheck)) {
nextMotorCheck = ms + 2500UL; // Not a time critical function, so only check every 2.5s
// If any of the drivers or the bed are enabled...
if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON
#if HAS_HEATED_BED
|| thermalManager.soft_pwm_amount_bed > 0
#endif
#if HAS_X2_ENABLE
|| X2_ENABLE_READ == X_ENABLE_ON
#endif
#if HAS_Y2_ENABLE
|| Y2_ENABLE_READ == Y_ENABLE_ON
#endif
#if HAS_Z2_ENABLE
|| Z2_ENABLE_READ == Z_ENABLE_ON
#endif
|| E0_ENABLE_READ == E_ENABLE_ON
#if E_STEPPERS > 1
|| E1_ENABLE_READ == E_ENABLE_ON
#if E_STEPPERS > 2
|| E2_ENABLE_READ == E_ENABLE_ON
#if E_STEPPERS > 3
|| E3_ENABLE_READ == E_ENABLE_ON
#if E_STEPPERS > 4
|| E4_ENABLE_READ == E_ENABLE_ON
#endif
#endif
#endif
#endif
) {
lastMotorOn = ms; //... set time to NOW so the fan will turn on
}
// Fan off if no steppers have been enabled for CONTROLLERFAN_SECS seconds
const uint8_t speed = (lastMotorOn && PENDING(ms, lastMotorOn + (CONTROLLERFAN_SECS) * 1000UL)) ? CONTROLLERFAN_SPEED : 0;
controllerFanSpeed = speed;
// allows digital or PWM fan output to be used (see M42 handling)
WRITE(CONTROLLER_FAN_PIN, speed);
analogWrite(CONTROLLER_FAN_PIN, speed);
}
}
Возникла необходимость запускать системный вентилятор при запуске нагревателя хотенда.
Пока что он в оригинальной прошивке он запускается при срабатывание драйверов и нагревателя кровати. Какие строчки кода добавить (на подобие как это зделано про накреватель кровати) чтобы запуск системного вентилятора происходил и по запуски нагреватела хотенда?
Прошивка Марлин 1.1.x
Зарание благодарю!
Из Marlin_main.cpp
#if ENABLED(USE_CONTROLLER_FAN)
void controllerFan() {
static millis_t lastMotorOn = 0, // Last time a motor was turned on
nextMotorCheck = 0; // Last time the state was checked
const millis_t ms = millis();
if (ELAPSED(ms, nextMotorCheck)) {
nextMotorCheck = ms + 2500UL; // Not a time critical function, so only check every 2.5s
// If any of the drivers or the bed are enabled...
if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON
#if HAS_HEATED_BED
|| thermalManager.soft_pwm_amount_bed > 0
#endif
#if HAS_X2_ENABLE
|| X2_ENABLE_READ == X_ENABLE_ON
#endif
#if HAS_Y2_ENABLE
|| Y2_ENABLE_READ == Y_ENABLE_ON
#endif
#if HAS_Z2_ENABLE
|| Z2_ENABLE_READ == Z_ENABLE_ON
#endif
|| E0_ENABLE_READ == E_ENABLE_ON
#if E_STEPPERS > 1
|| E1_ENABLE_READ == E_ENABLE_ON
#if E_STEPPERS > 2
|| E2_ENABLE_READ == E_ENABLE_ON
#if E_STEPPERS > 3
|| E3_ENABLE_READ == E_ENABLE_ON
#if E_STEPPERS > 4
|| E4_ENABLE_READ == E_ENABLE_ON
#endif
#endif
#endif
#endif
) {
lastMotorOn = ms; //... set time to NOW so the fan will turn on
}
// Fan off if no steppers have been enabled for CONTROLLERFAN_SECS seconds
const uint8_t speed = (lastMotorOn && PENDING(ms, lastMotorOn + (CONTROLLERFAN_SECS) * 1000UL)) ? CONTROLLERFAN_SPEED : 0;
controllerFanSpeed = speed;
// allows digital or PWM fan output to be used (see M42 handling)
WRITE(CONTROLLER_FAN_PIN, speed);
analogWrite(CONTROLLER_FAN_PIN, speed);
}
}
Популярные вопросы
Как затянуть биметалл?
Сколько не затягиваю трубка прокручивается и не дает нужный натяг резьбового соединения, ии/гугл дают радикальный совет сажать на термоклей которого а...
Marlin: Baby Step и Z Offset
К стыду своему за 10 лет 3D-печати так и не научился кое-каким мелочам, поэтому прошу помощи.
Итак, есть принтер с автоуровнем. В EEP...
Итак, есть принтер с автоуровнем. В EEP...
Глючит WI-fi подключение Bambu lab x1 carbon
Bambu Lab X1 Сarbon работал нормально, но в какой-то момент начало глючить подключение по Wi-fi.
Причем он и теперь подключается к ли...
Причем он и теперь подключается к ли...

Комментарии и вопросы
Даже не знаю зачем это может п...
В конце концов напечатан ИСы!
В статье написана полная фигня...
Всем привет! Ранее задавал воп...
В общем сейчас обычный бутербр...
Имеется принтер, у которого 2...
Добрый день. Подскажи, что выб...