|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
Commands Ending Other Commands
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? |
|
#2
|
||||
|
||||
|
Re: Commands Ending Other Commands
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.
|
|
#3
|
||||
|
||||
|
Re: Commands Ending Other Commands
Thanks. I knew about the Requires, but I had no clue SetInterruptible was a thing. I'll add that in now.
|
|
#4
|
||||||
|
||||||
|
Re: Commands Ending Other Commands
interruptable is true by default.
|
|
#5
|
||||
|
||||
|
Re: Commands Ending Other Commands
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?
|
|
#6
|
|||
|
|||
|
Re: Commands Ending Other Commands
Quote:
Hope this helps, Steve |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|