Browse Source

FOAMCUTTER_XYUV (for RAMPS) (#24325)

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
FB4S_WIFI
DerAndere 2 years ago
committed by Scott Lahteine
parent
commit
85e94038aa
  1. 7
      Marlin/Configuration.h
  2. 4
      Marlin/src/inc/SanityCheck.h
  3. 27
      Marlin/src/pins/ramps/pins_RAMPS.h

7
Marlin/Configuration.h

@ -865,6 +865,13 @@
#define POLAR_SEGMENTS_PER_SECOND 5
#endif
// Enable for an articulated robot (robot arm). Joints are directly mapped to axes (no kinematics).
//#define ARTICULATED_ROBOT_ARM
// For a hot wire cutter with parallel horizontal axes (X, I) where the heights of the two wire
// ends are controlled by parallel axes (Y, J). Joints are directly mapped to axes (no kinematics).
//#define FOAMCUTTER_XYUV
//===========================================================================
//============================== Endstop Settings ===========================
//===========================================================================

4
Marlin/src/inc/SanityCheck.h

@ -1565,8 +1565,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
/**
* Allow only one kinematic type to be defined
*/
#if MANY(DELTA, MORGAN_SCARA, MP_SCARA, AXEL_TPARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY, MARKFORGED_YX, FOAMCUTTER_XYUV)
#error "Please enable only one of DELTA, MORGAN_SCARA, MP_SCARA, AXEL_TPARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY, MARKFORGED_YX, or FOAMCUTTER_XYUV."
#if MANY(DELTA, MORGAN_SCARA, MP_SCARA, AXEL_TPARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY, MARKFORGED_YX, ARTICULATED_ROBOT_ARM, FOAMCUTTER_XYUV)
#error "Please enable only one of DELTA, MORGAN_SCARA, MP_SCARA, AXEL_TPARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY, MARKFORGED_YX, ARTICULATED_ROBOT_ARM, or FOAMCUTTER_XYUV."
#endif
/**

27
Marlin/src/pins/ramps/pins_RAMPS.h

@ -78,6 +78,31 @@
#define SERVO3_PIN 4
#endif
//
// Foam Cutter requirements
//
#if ENABLED(FOAMCUTTER_XYUV)
#ifndef MOSFET_C_PIN
#define MOSFET_C_PIN -1
#endif
#if HAS_CUTTER && !defined(SPINDLE_LASER_ENA_PIN) && NUM_SERVOS < 2
#define SPINDLE_LASER_PWM_PIN 8 // Hardware PWM
#endif
#ifndef Z_MIN_PIN
#define Z_MIN_PIN -1
#endif
#ifndef Z_MAX_PIN
#define Z_MAX_PIN -1
#endif
#ifndef I_STOP_PIN
#define I_STOP_PIN 18
#endif
#ifndef J_STOP_PIN
#define J_STOP_PIN 19
#endif
#endif
//
// Limit Switches
//
@ -272,7 +297,9 @@
#if HAS_CUTTER && !defined(SPINDLE_LASER_ENA_PIN)
#if NUM_SERVOS < 2 // Use servo connector if possible
#define SPINDLE_LASER_ENA_PIN 4 // Pullup or pulldown!
#ifndef SPINDLE_LASER_PWM_PIN
#define SPINDLE_LASER_PWM_PIN 6 // Hardware PWM
#endif
#define SPINDLE_DIR_PIN 5
#elif HAS_FREE_AUX2_PINS
#define SPINDLE_LASER_ENA_PIN 40 // Pullup or pulldown!

Loading…
Cancel
Save