Eric
17cae787e7
[commands] Mark CommandPtr class as [[nodiscard]] ( #7803 )
...
This has the same effect but makes it so any user code returning CommandPtr can't discard a returned command.
Signed-off-by: Eric Ward <ezeward4@gmail.com >
2025-05-03 20:44:55 -07:00
Tim Winters
bad56bcbe8
[commands] Add StartRun command factory ( #6572 )
2024-05-03 12:40:13 -07:00
Ryan Blue
1144115da0
[commands] Add GetName to Subsystem, use in Scheduler tracer epochs ( #5836 )
2023-11-30 23:10:53 -08:00
Ryan Blue
c87f8fd538
[commands] Add DeferredCommand ( #5566 )
...
Allows commands to be constructed at runtime without proxying.
2023-10-26 19:16:33 -07:00
Ryan Blue
3b79cb6ed3
[commands] Revert SubsystemBase deprecation/removal ( #5634 )
2023-09-14 20:56:48 -07:00
Tyler Veness
1af224c21b
Add missing <functional> includes ( #5459 )
2023-07-18 21:18:32 -07:00
Ryan Blue
aaea85ff16
[commands] Merge CommandBase into Command and SubsystemBase into Subsystem ( #5392 )
...
Moves all CommandBase functionality into Command and deprecates CommandBase for removal.
Moves all SubsystemBase functionality into Subsystem and deprecates SubsystemBase for removal.
Adds a function to CommandScheduler to remove all registered Subsystems.
2023-07-13 22:12:01 -07:00
Tyler Veness
652d1c44e3
[wpiutil] Upgrade to macOS 12 to remove concept shims ( #5379 )
...
The macOS deployment target has been upgraded from 10.15 to 11. Also, a
deprecation warning for sprintf() in libuv was suppressed.
2023-06-08 19:59:54 -07:00
Tyler Veness
91cbcea841
Replace SFINAE with concepts ( #5361 )
...
Concepts are cleaner to use and result in much better error messages for incorrect template use.
2023-06-07 09:50:09 -07:00
Tyler Veness
5fac18ff4a
Update formatting to clang-format 16 ( #5370 )
2023-05-31 22:10:53 -07:00
Colin Wong
4b0eecaee0
[commands] Subsystem: Add default command removal method ( #5064 )
2023-02-24 19:58:53 -08:00
Dustin Spicuzza
9872e676d8
[commands] Make Subsystem destructor virtual ( #4892 )
...
C++ best practice if there are other functions that are virtual.
2023-01-02 07:59:12 -08:00
Eli Barnett
1a59737f40
[commands] Add convenience factories ( #4460 )
...
Co-authored-by: Starlight220 <53231611+Starlight220@users.noreply.github.com >
2022-11-28 07:41:25 -08:00
Starlight220
9c7e66a27d
[commands] C++: Add CommandPtr overload for SetDefaultCommand ( #4488 )
2022-10-21 06:35:58 -07:00
sciencewhiz
8ac45f20bb
[commands] Update Command documentation (NFC) ( #3881 )
...
Add reference to which VendorDep the class is included in.
Add missing OldCommands C++ Documentation (copied from Java).
2022-01-08 11:11:34 -08:00
Peter Johnson
8f1f64ffb6
Remove year from file copyright message (NFC) ( #2972 )
...
Also update copyright to include "and other WPILib contributors" and clarify
license referral language to not be restricted to FIRST teams.
2020-12-26 14:12:05 -08:00
Matt
a175f6e862
[command] Add simulationPeriodic method to Subsystem ( #2577 )
...
This method is run periodically during simulation, after periodic().
2020-07-06 23:32:18 -07:00
Peter Johnson
e6f5c93ab1
Clean up new C++ commands ( #2027 )
...
- Remove use of std::set. The only place std::set was actually used was in ParallelRaceGroup,
but this was of minimal utility as ParallelRaceGroup checked for duplicate subsystem
requirements, so it would be very unusual to end up with duplicate commands
in any case; replaced it with a vector.
- Remove use of std::unordered_map except for SelectCommand. Replaced with vector.
- Use pImpl idiom for CommandScheduler
- Minimize include files (remove unnecessary ones)
- Reformat include file order for consistency
2019-11-05 20:52:49 -08:00
Thad House
509819d83f
Split the two command implementations into separate libraries ( #2012 )
...
This will allow us at the user code side to determine to include old commands, new commands or both.
2019-11-01 21:58:54 -07:00