From ef954aa84d1bd8b85b41480e763a28493c68aed9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 Aug 2018 22:40:17 -0400 Subject: [PATCH] Add endstop pressed errors in closed_loop_control mode --- Firmware/MotorControl/axis.cpp | 8 ++++++++ Firmware/MotorControl/axis.hpp | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Firmware/MotorControl/axis.cpp b/Firmware/MotorControl/axis.cpp index dc57bdc4..dae77bd4 100644 --- a/Firmware/MotorControl/axis.cpp +++ b/Firmware/MotorControl/axis.cpp @@ -272,6 +272,14 @@ bool Axis::run_closed_loop_control_loop() { return error_ |= ERROR_CONTROLLER_FAILED, false; //TODO: Make controller.set_error if (!motor_.update(current_setpoint, encoder_.phase_)) return false; // set_error should update axis.error_ + + + // Check for endstop presses + if(config_.min_endstop.enabled && min_endstop_state_) { + return error_ |= ERROR_MIN_ENDSTOP_PRESSED, false; + } else if(config_.max_endstop.enabled && max_endstop_state_) { + return error_ |= ERROR_MAX_ENDSTOP_PRESSED, false; + } return true; }); set_step_dir_enabled(false); diff --git a/Firmware/MotorControl/axis.hpp b/Firmware/MotorControl/axis.hpp index 220a2874..e78413e9 100644 --- a/Firmware/MotorControl/axis.hpp +++ b/Firmware/MotorControl/axis.hpp @@ -20,7 +20,7 @@ enum AxisState_t { AXIS_STATE_HOMING = 9 //