We are really trying to adhere to the new command framework. Something interesting happened last night while testing and we haven’t found a good way to address it in the framework. So, I’m curious if we missed something.
While we were testing the indexer we tripped a Spark MAX and it reset. In code we tell the controller to invert. The inversion is set in the constructor. After the Spark MAX resumed functioning it lost its inverted setting. While it was fun to watch half the indexer run one way and the other half run the other it isn’t a comforting result.
In fairness we haven’t been able to replicate the behavior yet, but a restart of robot code fixed everything.
Any clue on how to detect this?
Is there a better place to put the inversion setting?
Right now we’re heading towards a “panic button” that an operator can hit to cause all motors to re-init. (And flashing the controllers to default appropriately.)
Thoughts?
Thanks,
Hollis.