As mentioned in the lib199 tour, SwerveModule could be updated to get an initial angle from the CANCoders, and then fallback on the Spark Maxs' relative encoders if the CANCoders are disconnected. (It should probably print an error message). Then, if the encoder reconnects, it can re-synchronize its position and return to using the CANCoder data.
As mentioned in the lib199 tour, SwerveModule could be updated to get an initial angle from the CANCoders, and then fallback on the Spark Maxs' relative encoders if the CANCoders are disconnected. (It should probably print an error message). Then, if the encoder reconnects, it can re-synchronize its position and return to using the CANCoder data.