|
@ -2106,27 +2106,33 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal |
|
|
#endif |
|
|
#endif |
|
|
#undef _RGB_TEST |
|
|
#undef _RGB_TEST |
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(NO_COMPILE_TIME_PWM) |
|
|
|
|
|
#define _TEST_PWM(P) PWM_PIN(P) |
|
|
|
|
|
#else |
|
|
|
|
|
#define _TEST_PWM(P) 1 // pass
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* Auto Fan check for PWM pins |
|
|
* Auto Fan check for PWM pins |
|
|
*/ |
|
|
*/ |
|
|
#if HAS_AUTO_FAN && EXTRUDER_AUTO_FAN_SPEED != 255 && DISABLED(NO_COMPILE_TIME_PWM) |
|
|
#if HAS_AUTO_FAN && EXTRUDER_AUTO_FAN_SPEED != 255 |
|
|
#define AF_ERR_SUFF "_AUTO_FAN_PIN is not a PWM pin. Set EXTRUDER_AUTO_FAN_SPEED to 255." |
|
|
#define AF_ERR_SUFF "_AUTO_FAN_PIN is not a PWM pin. Set EXTRUDER_AUTO_FAN_SPEED to 255." |
|
|
#if HAS_AUTO_FAN_0 |
|
|
#if HAS_AUTO_FAN_0 |
|
|
static_assert(PWM_PIN(E0_AUTO_FAN_PIN), "E0" AF_ERR_SUFF); |
|
|
static_assert(_TEST_PWM(E0_AUTO_FAN_PIN), "E0" AF_ERR_SUFF); |
|
|
#elif HAS_AUTO_FAN_1 |
|
|
#elif HAS_AUTO_FAN_1 |
|
|
static_assert(PWM_PIN(E1_AUTO_FAN_PIN), "E1" AF_ERR_SUFF); |
|
|
static_assert(_TEST_PWM(E1_AUTO_FAN_PIN), "E1" AF_ERR_SUFF); |
|
|
#elif HAS_AUTO_FAN_2 |
|
|
#elif HAS_AUTO_FAN_2 |
|
|
static_assert(PWM_PIN(E2_AUTO_FAN_PIN), "E2" AF_ERR_SUFF); |
|
|
static_assert(_TEST_PWM(E2_AUTO_FAN_PIN), "E2" AF_ERR_SUFF); |
|
|
#elif HAS_AUTO_FAN_3 |
|
|
#elif HAS_AUTO_FAN_3 |
|
|
static_assert(PWM_PIN(E3_AUTO_FAN_PIN), "E3" AF_ERR_SUFF); |
|
|
static_assert(_TEST_PWM(E3_AUTO_FAN_PIN), "E3" AF_ERR_SUFF); |
|
|
#elif HAS_AUTO_FAN_4 |
|
|
#elif HAS_AUTO_FAN_4 |
|
|
static_assert(PWM_PIN(E4_AUTO_FAN_PIN), "E4" AF_ERR_SUFF); |
|
|
static_assert(_TEST_PWM(E4_AUTO_FAN_PIN), "E4" AF_ERR_SUFF); |
|
|
#elif HAS_AUTO_FAN_5 |
|
|
#elif HAS_AUTO_FAN_5 |
|
|
static_assert(PWM_PIN(E5_AUTO_FAN_PIN), "E5" AF_ERR_SUFF); |
|
|
static_assert(_TEST_PWM(E5_AUTO_FAN_PIN), "E5" AF_ERR_SUFF); |
|
|
#elif HAS_AUTO_FAN_6 |
|
|
#elif HAS_AUTO_FAN_6 |
|
|
static_assert(PWM_PIN(E6_AUTO_FAN_PIN), "E6" AF_ERR_SUFF); |
|
|
static_assert(_TEST_PWM(E6_AUTO_FAN_PIN), "E6" AF_ERR_SUFF); |
|
|
#elif HAS_AUTO_FAN_7 |
|
|
#elif HAS_AUTO_FAN_7 |
|
|
static_assert(PWM_PIN(E7_AUTO_FAN_PIN), "E7" AF_ERR_SUFF); |
|
|
static_assert(_TEST_PWM(E7_AUTO_FAN_PIN), "E7" AF_ERR_SUFF); |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
@ -2945,7 +2951,7 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) |
|
|
#elif ENABLED(SPINDLE_LASER_PWM) |
|
|
#elif ENABLED(SPINDLE_LASER_PWM) |
|
|
#if !defined(SPINDLE_LASER_PWM_PIN) || SPINDLE_LASER_PWM_PIN < 0 |
|
|
#if !defined(SPINDLE_LASER_PWM_PIN) || SPINDLE_LASER_PWM_PIN < 0 |
|
|
#error "SPINDLE_LASER_PWM_PIN is required for SPINDLE_LASER_PWM." |
|
|
#error "SPINDLE_LASER_PWM_PIN is required for SPINDLE_LASER_PWM." |
|
|
#elif !PWM_PIN(SPINDLE_LASER_PWM_PIN) |
|
|
#elif !_TEST_PWM(SPINDLE_LASER_PWM_PIN) |
|
|
#error "SPINDLE_LASER_PWM_PIN not assigned to a PWM pin." |
|
|
#error "SPINDLE_LASER_PWM_PIN not assigned to a PWM pin." |
|
|
#elif !defined(SPINDLE_LASER_PWM_INVERT) |
|
|
#elif !defined(SPINDLE_LASER_PWM_INVERT) |
|
|
#error "SPINDLE_LASER_PWM_INVERT is required for (SPINDLE|LASER)_FEATURE." |
|
|
#error "SPINDLE_LASER_PWM_INVERT is required for (SPINDLE|LASER)_FEATURE." |
|
@ -3037,3 +3043,6 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) |
|
|
#error "DIRECT_STEPPING is incompatible with LIN_ADVANCE. Enable in external planner if possible." |
|
|
#error "DIRECT_STEPPING is incompatible with LIN_ADVANCE. Enable in external planner if possible." |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
// Misc. Cleanup
|
|
|
|
|
|
#undef _TEST_PWM |
|
|