Starlight220
cb33bd71df
[commands] deprecate withInterrupt decorator ( #4407 )
...
until() was recently added as a more intuitive alias for this. At this point, keeping this decorator will just cause confusion, given the functionally-equivalent until() alias and the similarly-named getInterruptionBehavior/withInterruptBehavior
2022-09-11 10:37:55 -07:00
Starlight220
d9b4e7b8bf
[commands] Revert "Change grouping decorator impl to flatten nested group structures ( #3335 )" ( #4402 )
...
This reverts commit ef4ea84cb5 .
2022-09-07 09:04:21 -07:00
Starlight220
4254438d8d
[commands] Mark command group lifecycle methods as final ( #4385 )
...
This prevents accidental footguns due to overriding of command group lifecycle methods.
2022-08-31 09:15:28 -07:00
Starlight220
c3a93fb995
[commands] Revamp Interruptible ( #4192 )
2022-08-29 21:53:47 -07:00
OmegaMetor
f2a8d38d2a
[commands] Rename Command.repeat to repeatedly ( #4379 )
2022-08-29 15:20:17 -07:00
Tyler Veness
ac9be78e27
Use stricter C++ type conversions ( #4357 )
...
Now, implicit narrowing conversions are only used with wpi::Now(). This
also fixes clang-tidy warnings about C-style casts. For example:
```
== clang-tidy /__w/allwpilib/allwpilib/wpilibNewCommands/src/main/native/include/frc2/command/SwerveControllerCommand.inc ==
/__w/allwpilib/allwpilib/wpilibNewCommands/src/main/native/include/frc2/command/SwerveControllerCommand.inc:95:18: warning: C-style casts are discouraged; use static_cast/const_cast/reinterpret_cast [google-readability-casting]
auto curTime = units::second_t(m_timer.Get());
^
```
In that case at least, the cast was removed entirely since Get() already
returns a units::second_t.
2022-08-17 13:42:36 -07:00
Starlight220
fe3c24b1ee
[command] Add ignoringDisable decorator ( #4305 )
2022-06-24 10:52:53 -07:00
Starlight220
9ac9b69aa2
[command] Reorder Scheduler operations ( #4261 )
...
Fixes several cases where calling scheduler operations from a command callback could result in NPEs or other issues.
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2022-06-15 23:32:16 -07:00
Starlight220
fd884581e4
[wpilib] Add BooleanEvent/Trigger factories on HID classes ( #4247 )
2022-06-13 22:48:16 -07:00
Starlight220
45b7fc445b
[wpilib] Add EventLoop ( #4104 )
...
This is a generic expansion of the command-based Trigger framework.
2022-06-08 22:16:51 -07:00
Tyler Veness
d651a1fcec
Fix internal deprecation warnings ( #4257 )
...
This allows us to error out on deprecation warnings for thirdparty
libraries and standard library features.
Co-authored-by: Starlight220 <53231611+Starlight220@users.noreply.github.com >
2022-05-24 13:56:48 -07:00
ohowe
b193b318c1
[commands] Add unless() decorator ( #4244 )
2022-05-24 09:22:19 -07:00
Tyler Veness
ee03a7ad3b
Remove most 2022 deprecations ( #4205 )
...
Excludes "old" commands and SimDevice functions.
2022-05-04 20:37:27 -07:00
Starlight220
f7ca72fb41
[command] Rename PerpetualCommand to EndlessCommand ( #4177 )
2022-04-28 09:38:38 -07:00
ohowe
b3aee28388
[commands] Allow BooleanSupplier for Trigger operations ( #4103 )
2022-04-24 07:20:46 -07:00
Excalibur FRC | 6738
1b26e2d5da
[commands] Add RepeatCommand ( #4009 )
...
Co-authored-by: Starlight220 <53231611+Starlight220@users.noreply.github.com >
2022-04-07 22:02:08 -07:00
Oblarg
6a6366b0d6
[commands] Add until() as alias for withInterrupt() ( #3981 )
...
This is a clearer description for the functionality.
Will deprecate withInterrupt next year.
2022-02-03 22:14:52 -08:00
Tyler Veness
3b76de83eb
[commands] Fix ProfiledPIDCommand use-after-free ( #3904 )
...
Fixes #3903 .
2022-01-14 23:56:48 -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
Oblarg
eee29daaf9
[newCommands] Trigger: Allow override of debounce type ( #3845 )
...
Previously Trigger could only be debounced on rising edges.
This change preserves the default behavior but adds the capability to override it.
2021-12-29 16:10:43 -08:00
sciencewhiz
9f8f330e96
[wpilib] Fix Mecanum and SwerveControllerCommand when desired rotation passed ( #3808 )
2021-12-19 20:08:28 -08:00
sciencewhiz
d41d051f1b
[wpilibc] Fix Mecanum & Swerve ControllerCommand lambda capture ( #3795 )
...
Fixes #3765
Also fixes SwerveControllerCommand example calling command twice.
2021-12-18 11:30:57 -08:00
sciencewhiz
6bc1db44bc
[commands] Add pointer overload of AddRequirements (artf6003) ( #3669 )
...
Also update documentation in CommandBase.
2021-10-25 08:57:22 -07:00
Tyler Veness
4647d09b50
[docs] Fix Doxygen warnings, add CI docs lint job ( #3639 )
...
The CI docs lint build is configured to fail on Doxygen warnings.
2021-10-14 18:09:38 -07:00
Tyler Veness
1ca383b23b
Add Debouncer ( #3590 )
...
Supersedes #2358 with updates and cleanups.
Closes #2482 and closes #2487 because we shouldn't support both
time-based and count-based debouncing approaches.
Co-authored-by: oblarg <emichaelbarnett@gmail.com >
2021-09-19 19:58:16 -07:00
Peter Johnson
85144e47ff
[commands] Unbreak build ( #3438 )
2021-06-14 07:35:21 -07:00
Peter Johnson
b417d961ec
Split Sendable into NT and non-NT portions ( #3432 )
...
The non-NT portion has been moved to wpiutil.
The NT portion has been moved to ntcore (as NTSendable).
SendableBuilder similarly split and moved.
SendableRegistry moved to wpiutil.
In C++, SendableHelper also moved to wpiutil.
This enables use of Sendable from wpimath and also enables
moving several classes from wpilib to wpimath.
2021-06-13 16:38:05 -07:00
Starlight220
ef4ea84cb5
[commands] Change grouping decorator impl to flatten nested group structures ( #3335 )
2021-06-13 16:05:14 -07:00
Tyler Veness
4d9ff76433
Fix documentation warnings generated by JavaDoc (NFC) ( #3428 )
...
Some C++ Doxygen comments were updated to reflect any wording changes.
See `rg "(@return|@param \w+) TODO" | less` for list of incomplete docs.
2021-06-10 20:46:47 -07: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
Tyler Veness
e09293a15e
[wpilibc] Transition C++ classes to units::second_t ( #3396 )
...
A lot of these are breaking changes. frc::Timer was replaced with the
contents of frc2::Timer. The others were in-place argument changes or
removing deprecated non-unit overloads.
2021-05-28 22:06:59 -07:00
Peter Johnson
4e2c3051be
[wpilibc] Use std::string_view instead of Twine ( #3380 )
...
Use fmtlib where needed for string formatting into std::string_view.
2021-05-26 17:44:18 -07:00
Tyler Veness
7e1b27554c
[wpilibc] Use default copies and moves when possible ( #3381 )
...
The removal of ErrorBase allowed the defaults to be used in more places.
2021-05-25 20:54:39 -07:00
Peter Johnson
831c10bdfc
[wpilibc] Errors: Use fmtlib
2021-05-25 10:04:32 -07:00
Peter Johnson
8d961dfd25
[wpilibc] Remove ErrorBase ( #3306 )
...
Replace with new exception-based error reporting, consistent with Java.
This also builds stacktraces into the reporting/exceptions.
2021-04-18 20:35:29 -07:00
Peter Johnson
b7e46c558f
Include .h from .inc/.inl files (NFC) ( #3017 )
...
This helps both IDEs and linting tools.
Also add some missing braces.
2020-12-31 11:26:53 -08:00
Peter Johnson
b60eb1544b
clang-tidy: bugprone-virtual-near-miss
...
A few virtual functions are called by constructors or destructors, which is
dangerous in C++ (as an overridden virtual impl won't be called, only the
one in the current class). Fix by either marking the function final or
not calling at all (if possible).
2020-12-29 14:26:19 -08: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
d11a3a6380
clang-tidy: modernize-use-override (NFC)
...
Add NOLINT to CommandTestBase due to gmock not adding "override" keyword,
which causes warnings on clang.
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
sciencewhiz
f758af826d
[wpilib] Use misspell to find more spelling errors (NFC) ( #2679 )
2020-09-02 19:41:05 -07:00
sciencewhiz
3e41d92c18
[wpilib] Use misspell to fix spelling errors (NFC) ( #2674 )
2020-08-31 00:33:11 -07:00
Prateek Machiraju
aba035eb3d
[command] Modify swerve and mecanum commands to use new controller
2020-08-02 00:03:21 -07: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
Tyler Veness
2a0f79b90f
[wpilib] Add X and Y component getters to Pose2d and Transform2d ( #2563 )
...
pose.Translation().X() and pose.Translation.Y() are common operations,
so shortening them to pose.X() and pose.Y() would be convenient.
Java uses the getX() convention so that is used instead of X() for Java.
2020-07-02 18:09:36 -07:00
Tyler Veness
d30d1088da
[wpiutil] Split units.h into separate headers for each unit ( #2551 )
...
Closes #2508 .
Co-authored-by: Prateek Machiraju <prateek.machiraju@gmail.com >
2020-06-29 22:25:09 -07:00
Tyler Veness
22c0e2813a
[build] Upgrade CI to clang-format 10.0 ( #1961 )
...
MacOS no longer ships 6.0, and Arch Linux's mesa GPU drivers are no longer compatible with LLVM 6.0.
2020-06-27 20:39:00 -07:00
sciencewhiz
27566abb06
[command] PIDSubsystem: Add GetSetpoint ( #2534 )
...
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2020-06-20 16:30:21 -07:00
Starlight220
92380485c8
[command] Make cancel safe to call from initialize ( #2440 )
...
Fixes #2388 .
2020-05-20 21:00:34 -07:00