Not 100% sure if needed yet, so keep it on a development branch and merge only if needed.
Remove the public getter for shooter control mode. Control mode (PID gain switching) will remain, but become an internal state of shooter. No other subsystem should reference it.
Add a new calibration for "allowable error for taking a shot". Calculate the errror and a boolean that says "shot allowed" or "shot forbidden". Pass this out through a public getter isShotAllowed().
Replace all outside usages of shooter control mode with this new public getter.
Not 100% sure if needed yet, so keep it on a development branch and merge only if needed.
Remove the public getter for shooter control mode. Control mode (PID gain switching) will remain, but become an internal state of shooter. No other subsystem should reference it.
Add a new calibration for "allowable error for taking a shot". Calculate the errror and a boolean that says "shot allowed" or "shot forbidden". Pass this out through a public getter
isShotAllowed()
.Replace all outside usages of shooter control mode with this new public getter.