M10-M11 Air Evacuation for Spindle/Laser (#21668)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
Mike La Spina
2021-04-22 18:19:41 -05:00
committed by GitHub
parent 4d34d16bd8
commit f075dd0db3
10 changed files with 95 additions and 0 deletions

View File

@ -68,6 +68,9 @@ void SpindleLaser::init() {
set_pwm_frequency(pin_t(SPINDLE_LASER_PWM_PIN), SPINDLE_LASER_FREQUENCY);
TERN_(MARLIN_DEV_MODE, frequency = SPINDLE_LASER_FREQUENCY);
#endif
#if ENABLED(AIR_EVACUATION)
OUT_WRITE(AIR_EVACUATION_PIN, !AIR_EVACUATION_ACTIVE); // Init Vacuum/Blower OFF
#endif
}
#if ENABLED(SPINDLE_LASER_PWM)
@ -135,4 +138,15 @@ void SpindleLaser::apply_power(const uint8_t opwr) {
}
#endif
#if ENABLED(AIR_EVACUATION)
// Enable / disable Cutter Vacuum or Laser Blower motor
void SpindleLaser::air_evac_enable() { WRITE(AIR_EVACUATION_PIN, AIR_EVACUATION_ACTIVE); } // Turn ON
void SpindleLaser::air_evac_disable() { WRITE(AIR_EVACUATION_PIN, !AIR_EVACUATION_ACTIVE); } // Turn OFF
void SpindleLaser::air_evac_toggle() { TOGGLE(AIR_EVACUATION_PIN); } // Toggle state
#endif
#endif // HAS_CUTTER

View File

@ -212,6 +212,15 @@ public:
static bool is_reverse() { return false; }
#endif
#if ENABLED(AIR_EVACUATION)
static void air_evac_enable(); // Turn On Cutter Vacuum or Laser Blower motor
static void air_evac_disable(); // Turn Off Cutter Vacuum or Laser Blower motor
static void air_evac_toggle(); // Toggle Cutter Vacuum or Laser Blower motor
static inline bool air_evac_state() { // Get current state
return (READ(AIR_EVACUATION_PIN) == AIR_EVACUATION_ACTIVE);
}
#endif
static inline void disable() { isReady = false; set_enabled(false); }
#if HAS_LCD_MENU