You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Obviously disabledExit and testExit would be called at the very end of disabled and test modes, and there's no ordering concerns as no other code really runs in those modes.
robotPeriodic will continue to run after all other periodic code as its intent is for user telemetry code.
The text was updated successfully, but these errors were encountered:
@virtuald do you agree with the ordering for auto here? I think we currently call the auto routine's on_disable before component on_disable, so this'd be a breaking change.
I guess that ordering of on_disable may be a bit confusing to document. Right now one can simply think of it like a method that automatically gets called when disabledInit is (i.e. when entering disabled mode).
It'd also be less straightforward to implement it as proposed in the OP. Although it wouldn't be much more complicated, since we actually call on_disable both at the end of autonomous/teleop and at the beginning of disabled - I'm guessing the double call isn't quite intended.
On the other hand, the current behaviour doesn't quite match the documentation. Since we call on_disable when entering disabled mode, it also means it's called when exiting test mode.
For the 2022 season methods were added to TimedRobot to run code on mode exit, i.e.
disabledExit
,autonomousExit
,teleopExit
, andtestExit
. magicbot should have the same, although we should make sure the ordering makes sense with all the interactions with components.I suspect we want the following, with the philosophy that more specific methods are called later:
Obviously
disabledExit
andtestExit
would be called at the very end of disabled and test modes, and there's no ordering concerns as no other code really runs in those modes.robotPeriodic
will continue to run after all other periodic code as its intent is for user telemetry code.The text was updated successfully, but these errors were encountered: