With the current design, some motors behaving erratically can seriously damage the arm or cause injury to anyone nearby. The motors we're using are powerful; if the code does not regulate them properly, things can go south quickly. Of course, the rover has an E-Stop, but shutting down the whole rover prevents us from doing any useful debugging or recovery. Suddenly cutting power is especially dangerous for the arm as it can break the motors and cause the arm to fall and break.
Instead, we want to be able to shut down the motors using software.
TODO:
[ ] Research the TMC 5160 Stepper Motor for the best (safe) way to force stop it
[ ] Implement it as a method on StepperMotor
[ ] Find space for it in the controller mappings and CAN commands
With the current design, some motors behaving erratically can seriously damage the arm or cause injury to anyone nearby. The motors we're using are powerful; if the code does not regulate them properly, things can go south quickly. Of course, the rover has an E-Stop, but shutting down the whole rover prevents us from doing any useful debugging or recovery. Suddenly cutting power is especially dangerous for the arm as it can break the motors and cause the arm to fall and break.
Instead, we want to be able to shut down the motors using software.
TODO:
StepperMotor