Singleton for cutting tools (#14429)

This commit is contained in:
Scott Lahteine
2019-06-27 23:06:49 -05:00
committed by GitHub
parent 2fde1475cb
commit d7d80418ae
127 changed files with 2773 additions and 2675 deletions

View File

@ -140,7 +140,7 @@
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN
#if ENABLED(SPINDLE_LASER_ENABLE)
#if HAS_CUTTER
#if !EXTRUDERS
#undef E0_DIR_PIN
#undef E0_ENABLE_PIN

View File

@ -84,7 +84,7 @@
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN
#if ENABLED(SPINDLE_LASER_ENABLE)
#if HAS_CUTTER
#undef SDA // use EXP3 header
#undef SCL
#if SERVO0_PIN == 7

View File

@ -157,7 +157,7 @@
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN
#if ENABLED(SPINDLE_LASER_ENABLE) // EXP2 header
#if HAS_CUTTER // EXP2 header
#if ANY(VIKI2, miniVIKI)
#undef BTN_EN2
#define BTN_EN2 31 // need 7 for the spindle speed PWM

View File

@ -116,7 +116,7 @@
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE)
#if HAS_CUTTER
#undef HEATER_0_PIN
#define SPINDLE_LASER_ENA_PIN P2_07 // FET 1
#undef HEATER_BED_PIN

View File

@ -137,7 +137,7 @@
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE)
#if HAS_CUTTER
#undef HEATER_0_PIN
#undef HEATER_BED_PIN
#undef FAN_PIN

View File

@ -40,7 +40,7 @@
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if !NUM_SERVOS // Try to use servo connector first
#define SPINDLE_LASER_ENA_PIN 6 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM

View File

@ -130,7 +130,7 @@
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) // assumes we're only doing CNC work (no 3D printing)
#if HAS_CUTTER // assumes we're only doing CNC work (no 3D printing)
#undef HEATER_BED_PIN
#undef TEMP_BED_PIN // need to free up some pins but also need to
#undef TEMP_0_PIN // re-assign them (to unused pins) because Marlin

View File

@ -255,17 +255,17 @@
#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN) && !defined(SPINDLE_LASER_ENA_PIN)
#if NUM_SERVOS <= 1 // try to use servo connector first
#define CASE_LIGHT_PIN 6 // MUST BE HARDWARE PWM
#define CASE_LIGHT_PIN 6 // MUST BE HARDWARE PWM
#elif AUX2_PINS_FREE
#define CASE_LIGHT_PIN 44 // MUST BE HARDWARE PWM
#define CASE_LIGHT_PIN 44 // MUST BE HARDWARE PWM
#endif
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if !defined(NUM_SERVOS) || NUM_SERVOS == 0 // try to use servo connector first
#if HAS_CUTTER && !defined(SPINDLE_LASER_ENA_PIN)
#if !NUM_SERVOS // Use servo connector if possible
#define SPINDLE_LASER_ENA_PIN 4 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 6 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 5
@ -273,6 +273,8 @@
#define SPINDLE_LASER_ENA_PIN 40 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 65
#else
#error "No auto-assignable Spindle/Laser pins available."
#endif
#endif

View File

@ -227,7 +227,7 @@
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HOTENDS < 3 && ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if HOTENDS < 3 && HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
#define SPINDLE_LASER_ENA_PIN 45 // Use E2 ENA
#define SPINDLE_LASER_PWM_PIN 12 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 47 // Use E2 DIR

View File

@ -228,7 +228,7 @@
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if !defined(NUM_SERVOS) || NUM_SERVOS == 0 // try to use servo connector first
#define SPINDLE_LASER_ENA_PIN 4 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 6 // MUST BE HARDWARE PWM

View File

@ -239,9 +239,13 @@
// M3/M4/M5 - Spindle/Laser Control
// Use servo pins, if available
//
#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if NUM_SERVOS > 1
#error "SPINDLE_LASER_ENABLE requires 3 free servo pins."
#if ENABLED(SPINDLE_FEATURE)
#error "SPINDLE_FEATURE requires 3 free servo pins."
#else
#error "LASER_FEATURE requires 3 free servo pins."
#endif
#endif
#define SPINDLE_LASER_ENA_PIN SERVO1_PIN // (6) Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN SERVO3_PIN // (4) MUST BE HARDWARE PWM

View File

@ -137,7 +137,7 @@
#define LCD_BACKLIGHT_PIN 17 // LCD backlight LED
#endif
#if DISABLED(SPINDLE_LASER_ENABLE) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(ULTRA_LCD, NEWPANEL) // try to use IO Header
#if NONE(SPINDLE_FEATURE, LASER_FEATURE) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(ULTRA_LCD, NEWPANEL) // try to use IO Header
#define CASE_LIGHT_PIN 4 // MUST BE HARDWARE PWM - see if IO Header is available
#endif
@ -276,7 +276,7 @@
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE)
#if HAS_CUTTER
#if !MB(AZTEEG_X1) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(ULTRA_LCD, NEWPANEL) // try to use IO Header
#define SPINDLE_LASER_ENA_PIN 10 // Pin should have a pullup/pulldown!
@ -322,4 +322,4 @@
#define SPINDLE_LASER_ENA_PIN 21 // Pin should have a pullup!
#define SPINDLE_DIR_PIN -1 // No pin available on the socket for the direction pin
#endif
#endif // SPINDLE_LASER_ENABLE
#endif

View File

@ -106,7 +106,7 @@
#define TEMP_2_PIN PA3
// Laser control
#if ENABLED(SPINDLE_LASER_ENABLE)
#if HAS_CUTTER
#define SPINDLE_LASER_PWM_PIN PB8
#define SPINDLE_LASER_ENA_PIN PD5
#endif

View File

@ -128,7 +128,7 @@
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) // use the LED_PIN for spindle speed control or case light
#if HAS_CUTTER // use the LED_PIN for spindle speed control or case light
#undef LED_PIN
#define SPINDLE_DIR_PIN 16
#define SPINDLE_LASER_ENA_PIN 17 // Pin should have a pullup!

View File

@ -80,7 +80,7 @@
#endif
#if ENABLED(BOARD_REV_1_0)
#if ENABLED(SPINDLE_LASER_ENABLE)
#if HAS_CUTTER
#define X_STOP_PIN 13 // SW1 (didn't change) - also has a useable hardware PWM
#define Y_STOP_PIN 12 // SW2
#define Z_STOP_PIN 11 // SW3
@ -106,7 +106,7 @@
//
// Z Probe (when not Z_MIN_PIN)
//
#if !defined(Z_MIN_PROBE_PIN) && !BOTH(SPINDLE_LASER_ENABLE, BOARD_REV_1_0)
#if !defined(Z_MIN_PROBE_PIN) && !(HAS_CUTTER && ENABLED(BOARD_REV_1_0))
#define Z_MIN_PROBE_PIN Z_MAX_PIN
#endif
@ -125,7 +125,7 @@
#define Z_DIR_PIN 39
#define Z_ENABLE_PIN 35
#if BOTH(SPINDLE_LASER_ENABLE, BOARD_REV_1_1_TO_1_3) && EXTRUDERS == 1
#if HAS_CUTTER && ENABLED(BOARD_REV_1_1_TO_1_3) && EXTRUDERS == 1
// Move E0 to the spare and get Spindle/Laser signals from E0
#define E0_STEP_PIN 49
#define E0_DIR_PIN 47
@ -214,7 +214,7 @@
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE)
#if HAS_CUTTER
#if EITHER(BOARD_REV_1_0, BOARD_REV_1_5) // Use the last three SW positions
#define SPINDLE_DIR_PIN 10 // 1.0: SW4 1.5: EXP3-6 ("10")
#define SPINDLE_LASER_PWM_PIN 9 // 1.0: SW5 1.5: EXP3-7 ( "9") .. MUST BE HARDWARE PWM

View File

@ -177,7 +177,7 @@
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if !defined(NUM_SERVOS) || NUM_SERVOS == 0 // try to use servo connector first
#define SPINDLE_LASER_ENA_PIN 4 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 6 // MUST BE HARDWARE PWM