Add HAS_SERVO_ENDSTOPS to simplify conditonals

This commit is contained in:
Scott Lahteine 2015-07-30 20:42:34 -07:00 committed by Richard Wackerbarth
parent 47ae96ce15
commit ed4a6371ad
3 changed files with 16 additions and 15 deletions

View File

@ -526,6 +526,7 @@
#endif #endif
#if (X_ENDSTOP_SERVO_NR >= 0) || (Y_ENDSTOP_SERVO_NR >= 0) || (Z_ENDSTOP_SERVO_NR >= 0) #if (X_ENDSTOP_SERVO_NR >= 0) || (Y_ENDSTOP_SERVO_NR >= 0) || (Z_ENDSTOP_SERVO_NR >= 0)
#define SERVO_ENDSTOPS {X_ENDSTOP_SERVO_NR, Y_ENDSTOP_SERVO_NR, Z_ENDSTOP_SERVO_NR} #define SERVO_ENDSTOPS {X_ENDSTOP_SERVO_NR, Y_ENDSTOP_SERVO_NR, Z_ENDSTOP_SERVO_NR}
#define HAS_SERVO_ENDSTOPS true
#endif #endif
#endif #endif

View File

@ -314,8 +314,8 @@ bool target_direction;
}; };
#endif #endif
#ifdef SERVO_ENDSTOPS
const int servo_endstops[] = SERVO_ENDSTOPS; const int servo_endstops[] = SERVO_ENDSTOPS;
#if HAS_SERVO_ENDSTOPS
const int servo_endstop_angles[][2] = SERVO_ENDSTOP_ANGLES; const int servo_endstop_angles[][2] = SERVO_ENDSTOP_ANGLES;
#endif #endif
@ -578,7 +578,7 @@ void servo_init() {
#endif #endif
// Set position of Servo Endstops that are defined // Set position of Servo Endstops that are defined
#ifdef SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
for (int i = 0; i < 3; i++) for (int i = 0; i < 3; i++)
if (servo_endstops[i] >= 0) if (servo_endstops[i] >= 0)
servo[servo_endstops[i]].move(servo_endstop_angles[i][1]); servo[servo_endstops[i]].move(servo_endstop_angles[i][1]);
@ -1322,7 +1322,7 @@ static void setup_for_endstop_move() {
static void deploy_z_probe() { static void deploy_z_probe() {
#ifdef SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
// Engage Z Servo endstop if enabled // Engage Z Servo endstop if enabled
if (servo_endstops[Z_AXIS] >= 0) servo[servo_endstops[Z_AXIS]].move(servo_endstop_angles[Z_AXIS][0]); if (servo_endstops[Z_AXIS] >= 0) servo[servo_endstops[Z_AXIS]].move(servo_endstop_angles[Z_AXIS][0]);
@ -1412,7 +1412,7 @@ static void setup_for_endstop_move() {
static void stow_z_probe(bool doRaise=true) { static void stow_z_probe(bool doRaise=true) {
#ifdef SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
// Retract Z Servo endstop if enabled // Retract Z Servo endstop if enabled
if (servo_endstops[Z_AXIS] >= 0) { if (servo_endstops[Z_AXIS] >= 0) {
@ -1676,7 +1676,7 @@ static void homeaxis(AxisEnum axis) {
#endif #endif
#ifdef SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
// Engage Servo endstop if enabled // Engage Servo endstop if enabled
if (axis != Z_AXIS && servo_endstops[axis] >= 0) if (axis != Z_AXIS && servo_endstops[axis] >= 0)
servo[servo_endstops[axis]].move(servo_endstop_angles[axis][0]); servo[servo_endstops[axis]].move(servo_endstop_angles[axis][0]);
@ -1778,7 +1778,7 @@ static void homeaxis(AxisEnum axis) {
#endif #endif
{ {
#ifdef SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
// Retract Servo endstop if enabled // Retract Servo endstop if enabled
if (servo_endstops[axis] >= 0) if (servo_endstops[axis] >= 0)
servo[servo_endstops[axis]].move(servo_endstop_angles[axis][1]); servo[servo_endstops[axis]].move(servo_endstop_angles[axis][1]);
@ -2778,7 +2778,7 @@ inline void gcode_G28() {
// added here, it could be seen as a compensating factor for the Z probe. // added here, it could be seen as a compensating factor for the Z probe.
// //
current_position[Z_AXIS] = -zprobe_zoffset + (z_tmp - real_z) current_position[Z_AXIS] = -zprobe_zoffset + (z_tmp - real_z)
#if defined(SERVO_ENDSTOPS) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED) #if HAS_SERVO_ENDSTOPS || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED)
+ Z_RAISE_AFTER_PROBING + Z_RAISE_AFTER_PROBING
#endif #endif
; ;
@ -4570,9 +4570,9 @@ inline void gcode_M303() {
*/ */
inline void gcode_M400() { st_synchronize(); } inline void gcode_M400() { st_synchronize(); }
#if defined(ENABLE_AUTO_BED_LEVELING) && !defined(Z_PROBE_SLED) && (defined(SERVO_ENDSTOPS) || defined(Z_PROBE_ALLEN_KEY)) #if defined(ENABLE_AUTO_BED_LEVELING) && !defined(Z_PROBE_SLED) && (HAS_SERVO_ENDSTOPS || defined(Z_PROBE_ALLEN_KEY))
#ifdef SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
void raise_z_for_servo() { void raise_z_for_servo() {
float zpos = current_position[Z_AXIS], z_dest = Z_RAISE_BEFORE_HOMING; float zpos = current_position[Z_AXIS], z_dest = Z_RAISE_BEFORE_HOMING;
z_dest += axis_known_position[Z_AXIS] ? zprobe_zoffset : zpos; z_dest += axis_known_position[Z_AXIS] ? zprobe_zoffset : zpos;
@ -4584,7 +4584,7 @@ inline void gcode_M400() { st_synchronize(); }
* M401: Engage Z Servo endstop if available * M401: Engage Z Servo endstop if available
*/ */
inline void gcode_M401() { inline void gcode_M401() {
#ifdef SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
raise_z_for_servo(); raise_z_for_servo();
#endif #endif
deploy_z_probe(); deploy_z_probe();
@ -4594,13 +4594,13 @@ inline void gcode_M400() { st_synchronize(); }
* M402: Retract Z Servo endstop if enabled * M402: Retract Z Servo endstop if enabled
*/ */
inline void gcode_M402() { inline void gcode_M402() {
#ifdef SERVO_ENDSTOPS #if HAS_SERVO_ENDSTOPS
raise_z_for_servo(); raise_z_for_servo();
#endif #endif
stow_z_probe(false); stow_z_probe(false);
} }
#endif // ENABLE_AUTO_BED_LEVELING && (SERVO_ENDSTOPS || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED #endif // ENABLE_AUTO_BED_LEVELING && (HAS_SERVO_ENDSTOPS || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED
#ifdef FILAMENT_SENSOR #ifdef FILAMENT_SENSOR
@ -5645,14 +5645,14 @@ void process_next_command() {
gcode_M400(); gcode_M400();
break; break;
#if defined(ENABLE_AUTO_BED_LEVELING) && (defined(SERVO_ENDSTOPS) || defined(Z_PROBE_ALLEN_KEY)) && !defined(Z_PROBE_SLED) #if defined(ENABLE_AUTO_BED_LEVELING) && (HAS_SERVO_ENDSTOPS || defined(Z_PROBE_ALLEN_KEY)) && !defined(Z_PROBE_SLED)
case 401: case 401:
gcode_M401(); gcode_M401();
break; break;
case 402: case 402:
gcode_M402(); gcode_M402();
break; break;
#endif // ENABLE_AUTO_BED_LEVELING && (SERVO_ENDSTOPS || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED #endif // ENABLE_AUTO_BED_LEVELING && (HAS_SERVO_ENDSTOPS || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED
#ifdef FILAMENT_SENSOR #ifdef FILAMENT_SENSOR
case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or display nominal filament width case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or display nominal filament width

View File

@ -98,7 +98,7 @@
/** /**
* Servo deactivation depends on servo endstops * Servo deactivation depends on servo endstops
*/ */
#if defined(DEACTIVATE_SERVOS_AFTER_MOVE) && !defined(SERVO_ENDSTOPS) #if defined(DEACTIVATE_SERVOS_AFTER_MOVE) && !HAS_SERVO_ENDSTOPS
#error At least one of the ?_ENDSTOP_SERVO_NR is required for DEACTIVATE_SERVOS_AFTER_MOVE. #error At least one of the ?_ENDSTOP_SERVO_NR is required for DEACTIVATE_SERVOS_AFTER_MOVE.
#endif #endif