-
Notifications
You must be signed in to change notification settings - Fork 606
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DRAFT] Add async command framework using Java 21 language features #6518
base: main
Are you sure you want to change the base?
Commits on May 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 67d8638 - Browse repository at this point
Copy the full SHA 67d8638View commit details -
Configuration menu - View commit details
-
Copy full SHA for 83f26e8 - Browse repository at this point
Copy the full SHA 83f26e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c4ff6e - Browse repository at this point
Copy the full SHA 1c4ff6eView commit details -
Proper async, add mirrors of existing command code, move to wpilibj3 …
…package Remove resources-as-executors
Configuration menu - View commit details
-
Copy full SHA for 8cfc99f - Browse repository at this point
Copy the full SHA 8cfc99fView commit details -
Spotless formatting and improved command group scheduling
Track all running nested commands, not just top-level Allows checking for any running command and awaiting any nested command
Configuration menu - View commit details
-
Copy full SHA for cb44c64 - Browse repository at this point
Copy the full SHA cb44c64View commit details -
Configuration menu - View commit details
-
Copy full SHA for be6b901 - Browse repository at this point
Copy the full SHA be6b901View commit details -
Configuration menu - View commit details
-
Copy full SHA for c4a6126 - Browse repository at this point
Copy the full SHA c4a6126View commit details -
Allow async commands to suspend on interrupt
Incomplete implementation; breaks when a command interrupts a suspendable command of the same priority Add a standard unit for nanoseconds to support sub-millisecond pause precision
Configuration menu - View commit details
-
Copy full SHA for d6f42d4 - Browse repository at this point
Copy the full SHA d6f42d4View commit details -
Make publishable, add AsyncRobot base class to let main loop run on s…
…ame thread as commands
Configuration menu - View commit details
-
Copy full SHA for fc0eac4 - Browse repository at this point
Copy the full SHA fc0eac4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 298cefa - Browse repository at this point
Copy the full SHA 298cefaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5200639 - Browse repository at this point
Copy the full SHA 5200639View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4bdc585 - Browse repository at this point
Copy the full SHA 4bdc585View commit details -
Configuration menu - View commit details
-
Copy full SHA for a686e80 - Browse repository at this point
Copy the full SHA a686e80View commit details -
Configuration menu - View commit details
-
Copy full SHA for 03e3b26 - Browse repository at this point
Copy the full SHA 03e3b26View commit details -
Nuke sequences and parallel groups
Code is more accessible when using methods directly instead of commands Significantly less complexity and risk of ordering issues Slightly risker since requirements need to be handled manually
Configuration menu - View commit details
-
Copy full SHA for c908796 - Browse repository at this point
Copy the full SHA c908796View commit details -
Print all nested exceptions, not just the first cause
Async command errors tend to be nested 3 or 4 deep
Configuration menu - View commit details
-
Copy full SHA for 8d889ab - Browse repository at this point
Copy the full SHA 8d889abView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a3ad53 - Browse repository at this point
Copy the full SHA 5a3ad53View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8525a4f - Browse repository at this point
Copy the full SHA 8525a4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7994bed - Browse repository at this point
Copy the full SHA 7994bedView commit details
Commits on May 9, 2024
-
Configuration menu - View commit details
-
Copy full SHA for d24144a - Browse repository at this point
Copy the full SHA d24144aView commit details
Commits on May 11, 2024
-
Replace virtual threads with raw Continuations
Because continuations are hidden in an internal JDK package, we need to wrap them in our own classes. Requires force-opening the JDK modules to our own (unnamed) module.
Configuration menu - View commit details
-
Copy full SHA for d570544 - Browse repository at this point
Copy the full SHA d570544View commit details -
Drop
throws Exception
from AsyncCommand.runRethrow runtime exceptions thrown by commands instead of wrapping them Add some documentation
Configuration menu - View commit details
-
Copy full SHA for ce01728 - Browse repository at this point
Copy the full SHA ce01728View commit details -
Configuration menu - View commit details
-
Copy full SHA for b7e565b - Browse repository at this point
Copy the full SHA b7e565bView commit details
Commits on May 12, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f39f7a3 - Browse repository at this point
Copy the full SHA f39f7a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for de11138 - Browse repository at this point
Copy the full SHA de11138View commit details
Commits on May 13, 2024
-
Improve deeply nested commands; add Sequence; documentation pass
Remove some vestigial code
Configuration menu - View commit details
-
Copy full SHA for 4164ed2 - Browse repository at this point
Copy the full SHA 4164ed2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 861db2f - Browse repository at this point
Copy the full SHA 861db2fView commit details
Commits on May 14, 2024
-
Move command waiting logic to the scheduler
Allows command groups and compositions to reuse logic
Configuration menu - View commit details
-
Copy full SHA for 2083f0e - Browse repository at this point
Copy the full SHA 2083f0eView commit details
Commits on May 15, 2024
-
Allow commands to be suspended on interrupt
Reframe default commands as suspendable minimum-priority commands
Configuration menu - View commit details
-
Copy full SHA for 22be42a - Browse repository at this point
Copy the full SHA 22be42aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a691bc - Browse repository at this point
Copy the full SHA 7a691bcView commit details -
Track nested resources to allow partial ownership of compound mechanisms
Ther permits the use of commands to control a subsystem comprised of two separate mechanisms that need to be controlled together (eg a pink arm) that would traditionally need to be controlled without using commands to avoid scenarios in which one mechanism is controlled and the other is not
Configuration menu - View commit details
-
Copy full SHA for 408d904 - Browse repository at this point
Copy the full SHA 408d904View commit details
Commits on May 16, 2024
-
Move default command knowledge to HardwareResource
Scheduler now pulls the default command from resources, instead of keeping track internally
Configuration menu - View commit details
-
Copy full SHA for a6aa306 - Browse repository at this point
Copy the full SHA a6aa306View commit details
Commits on May 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 3f21d4d - Browse repository at this point
Copy the full SHA 3f21d4dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c5c8a4 - Browse repository at this point
Copy the full SHA 1c5c8a4View commit details
Commits on May 19, 2024
-
Bump Java to 21.0.2 due to compiler bug in 21.0.1
Configuration menu - View commit details
-
Copy full SHA for 11fdca1 - Browse repository at this point
Copy the full SHA 11fdca1View commit details -
Configuration menu - View commit details
-
Copy full SHA for ebd4a71 - Browse repository at this point
Copy the full SHA ebd4a71View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2366f87 - Browse repository at this point
Copy the full SHA 2366f87View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ac94cc - Browse repository at this point
Copy the full SHA 1ac94ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 055980c - Browse repository at this point
Copy the full SHA 055980cView commit details -
Move examples to "coroutine" package instead of "async"
Configuration menu - View commit details
-
Copy full SHA for 3ab52bd - Browse repository at this point
Copy the full SHA 3ab52bdView commit details -
Helpful for timed sequences without needing to wrap async methods in a command
Configuration menu - View commit details
-
Copy full SHA for 1321fd4 - Browse repository at this point
Copy the full SHA 1321fd4View commit details