Запуск системного вентилятора
Здравствуйте!
Возникла необходимость запускать системный вентилятор при запуске нагревателя хотенда.
Пока что он в оригинальной прошивке он запускается при срабатывание драйверов и нагревателя кровати. Какие строчки кода добавить (на подобие как это зделано про накреватель кровати) чтобы запуск системного вентилятора происходил и по запуски нагреватела хотенда?
Прошивка Марлин 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);
}
}
Популярные вопросы
Принтер плохо печатает с petg
Принтер Flashfprge guider ii плохо печатает с пластиком petg, в чем может быть проблема?
(да знаю ис pla печатает не прям вау, пытаюс...
(да знаю ис pla печатает не прям вау, пытаюс...
voxelab aquila c2 плохо печатает что PLA PETG ABS
Друзья . Гуру 3d принтера . помогите советом есть принтер voxillab c2 проблема в&nb...
Зачем используют слово '3D' при описании аддитивных технологий?
Несколько раз уже я обращался к уважаемому сообществу с вопросом на тему - почему так говорят '3D печать', '3D принтеры' и прочие интерпретации, типа...
Комментарии и вопросы
Чего обосновывать то? Нагреват...
Несмотря на лишний вес, челове...
Обоснуйте...
Помогите пожалуйста, купил нов...
Печатаю на Anycibic cobra 2Pro...
Собственно попросили распечата...
Я начинающий, странное в куре....