View Full Version : Commands Ending Other Commands
King Nerd III
23-02-2016, 11:55
I have a commands that runs the rollers outwards and a command that runs the rollers inwards, but if one is running and you call the other one (through pressing a button), then both commands attempt to run at the same time. Is there any way to have each command end the other one when called?
I had an idea where you declare a Command object in the command of the other command (i.e. Inwards has an Outwards Command object in it) and when one is initialized it calls End() from the object, but I don't know if that would work, and don't have the robot electronics board with me to test right now. Any ideas?
euhlmann
23-02-2016, 12:17
Make them both call Requires(YourRollerSubsystem) and SetInterruptible(true) in the constructor. Wpilib will then take care of ending the running one when the other is called for you.
King Nerd III
23-02-2016, 13:15
Make them both call Requires(YourRollerSubsystem) and SetInterruptible(true) in the constructor. Wpilib will then take care of ending the running one when the other is called for you.
Thanks. I knew about the Requires, but I had no clue SetInterruptible was a thing. I'll add that in now.
Joe Ross
23-02-2016, 14:17
Make them both call Requires(YourRollerSubsystem) and SetInterruptible(true) in the constructor.
interruptable is true by default.
King Nerd III
23-02-2016, 14:49
interruptable is true by default.
I thought that was the case, but calling a command that requires the same subsystem doesn't interrupt the original command for us. Any clue on how to fix this?
I thought that was the case, but calling a command that requires the same subsystem doesn't interrupt the original command for us. Any clue on how to fix this?
We have never had a problem with this in several years of using the command based programming model. Is it possible that you have accidentally created two instances of the subsystem and the two commands each have their own? That could cause this behavior.
Hope this helps,
Steve
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.