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
Ryan Blue
7a099cb02a
[commands] Remove deprecated classes and functions ( #5409 )
...
Removes:
- PerpetualCommand
- Command.perpetually()
- CommandGroupBase
- Command.IsGrouped() (C++ only)
- Command.SetGrouped() (C++ only)
- Command.withInterrupt()
- ProxyScheduleCommand
- Button
- InternalButton, JoystickButton, NetworkButton and POVButton now subclass Trigger
- Old style Trigger functions:
- Trigger.whenActive
- Trigger.whileActiveOnce
- Trigger.whileActiveContinuous
- Trigger.whenInactive
- Trigger.toggleWhenActive
- Trigger.cancelWhenActive
- CommandScheduler.clearButtons()
- CommandScheduler.addButtons() (Java only)
- Command supplier constructor of SelectCommand
2023-07-10 09:56:18 -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
59905ea721
Replace WPI_DEPRECATED() macro with [[deprecated]] attribute ( #5373 )
...
Continue to use WPI_DEPRECATED macro for constructors until clang-format is fixed.
2023-06-08 00:01:06 -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
Sriman Achanta
92149efa11
Spelling and grammar cleanups ( #4849 )
2022-12-26 11:32:13 -08:00
Starlight220
fbabd0ef15
[commands] Enhance Command Sendable implementations ( #4822 )
2022-12-15 18:28:52 -08:00
Starlight220
4bbdbdfb48
[commands] Move GroupedCommands to CommandScheduler ( #4728 )
...
Move the command group checking functionality from CommandGroupBase into CommandScheduler.
Update references to grouping as composition for clarity (because explicitly grouping isn't the only way to do it).
Deprecate the static factory methods parallel, race, and deadline in CommandGroupBase in favor of the identical ones in Commands.
2022-12-06 21:13:31 -08:00
Starlight220
70080457d5
[commands] Refactor ProxyScheduleCommand, SelectCommand into ProxyCommand ( #4534 )
2022-11-28 14:43:10 -08:00
Starlight220
8958b2a4da
[commands] Add property tests for command compositions ( #4715 )
2022-11-27 16:23:56 -08: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
64f5413253
Use wpi::span instead of wpi::ArrayRef across all libraries ( #3414 )
...
- Remove ArrayRef.h
- Add SpanExtras.h for a couple of convenience functions
2021-06-06 19:51:14 -07:00
Peter Johnson
cbe59fa3bf
clang-tidy: google-explicit-constructor
2020-12-29 14:26:19 -08:00
Peter Johnson
aee4603269
clang-tidy: modernize-pass-by-value
2020-12-29 14:26:19 -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
Tyler Veness
9a8067465c
Fix incomplete .styleguide ( #2113 )
...
Also clean up other .styleguides.
Fixes #2111 .
2019-11-20 22:44:18 -08: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