Quote:
Originally Posted by notmattlythgoe
One thing that will help with having a ton of similar commands is to try to make your commands as reusable as possible.
We have a DeployArmCommand this year that pretty much covers all of the uses we need. We pass in a boolean if the arm should be deployed or not and a speed at which the rollers should spin. This command can then be used for any situation we need it for.
|
To me, what you've described sounds more like the role of a subsystem than a command; and I feel like that is one of the hangups I've got with the system, I believe the subsystem as a model makes is a more proper place to put business logic (such as a state machine that determines when to activate the roller while lowering the arm), but doing so reduces commands to such a trivial role that they just get in the way.
If you build this functionality into your command, then does that simply leave your subsystem as container classes for actuators and sensors?