Skip to content

Commit b385686

Browse files
committed
revert to the unhomed state during estop or collisions
1 parent a9aa868 commit b385686

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

include/motor-control/core/brushed_motor/brushed_motor_interrupt_handler.hpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ class BrushedMotorInterruptHandler {
151151
can::ids::ErrorCode::collision_detected);
152152
report_position(pulses);
153153
error_handled = true;
154+
hardware.set_motor_state(BrushedMotorState::UNHOMED);
154155
}
155156
} else if (motor_state != BrushedMotorState::UNHOMED) {
156157
auto pulses = hardware.get_encoder_pulses();
@@ -166,6 +167,7 @@ class BrushedMotorInterruptHandler {
166167
motor_state == BrushedMotorState::FORCE_CONTROLLING
167168
? can::ids::ErrorCode::labware_dropped
168169
: can::ids::ErrorCode::collision_detected;
170+
hardware.set_motor_state(BrushedMotorState::UNHOMED);
169171
cancel_and_clear_moves(err);
170172
report_position(pulses);
171173
error_handled = true;
@@ -197,8 +199,10 @@ class BrushedMotorInterruptHandler {
197199
} else if (estop_triggered()) {
198200
in_estop = true;
199201
cancel_and_clear_moves(can::ids::ErrorCode::estop_detected);
202+
hardware.set_motor_state(BrushedMotorState::UNHOMED);
200203
} else if (hardware.has_cancel_request()) {
201-
if (!hardware.get_stay_enabled()) {
204+
if (!hardware.get_stay_enabled() &&
205+
hardware.get_motor_state() != BrushedMotorState::UNHOMED) {
202206
hardware.set_motor_state(BrushedMotorState::STOPPED);
203207
}
204208
cancel_and_clear_moves(can::ids::ErrorCode::stop_requested,

0 commit comments

Comments
 (0)