Peter Johnson
b9b31069cc
Fix C++ POVButton ( #2294 )
...
Also add unit test.
2020-01-20 21:35:19 -08:00
Chris Russell
a61fcbd68d
Make Button class concrete ( #2244 )
2020-01-15 18:59:51 -08:00
Thad House
cb66bcca3c
Add callback handlers for LiveWindow ( #2053 )
...
Fixes #2223
2020-01-12 22:37:24 -08:00
Oblarg
cba21a768f
Fix C++ JoystickButton and POVButton ( #2259 )
...
C++ JoystickButton and POVButton were both nonfunctional due to slicing when trigger passes itself by value to the button scheduler it creates.
Fix is to remove the virtual Get() method entirely and use only the m_isActive functor; since the subclass now passes the button condition back as a functor to the base class, in which it's stored as a member, it will now still work after being sliced.
2020-01-12 14:57:28 -08:00
Peter Johnson
ab9647ff5b
CommandScheduler: Don't store NetworkTableEntry
2020-01-10 23:42:18 -08:00
Peter Johnson
56765cf49a
C++ CommandBase: Don't add to LiveWindow ( #2255 )
2020-01-10 20:37:49 -08:00
Peter Johnson
bf7012fa2d
Fix new CommandScheduler.cancelAll() ( #2251 )
...
When called outside the run loop, it would result in a CME in Java.
2020-01-10 16:10:16 -08:00
Peter Johnson
32c62449be
Add ArrayRef overloads to new command classes ( #2216 )
...
Also default requirements to {} in all cases for consistency.
2020-01-01 20:09:17 -08:00
Tyler Veness
6190fcb237
Run wpiformat ( #2218 )
2020-01-01 20:04:56 -08:00
Matt
222669dc2c
Fix trapezoidal profile PID controller setpoint bug ( #2210 )
...
Co-Authored-By: Austin Shalit <austinshalit@gmail.com >
2020-01-01 15:23:25 -08:00
Peter Johnson
9abce8eb06
Fix subsystem LiveWindow usage ( #2202 )
2019-12-29 21:28:38 -06:00
Peter Johnson
7b952d599d
Add usage reporting for many new things ( #2184 )
...
- new CommandScheduler
- kinematics and odometry classes
- new PIDController
- ProfiledPIDController
- TrapezoidProfile (reported in Constraints class)
Also update instances.txt to match latest NI version.
One side effect is that a couple of classes are no longer constexpr.
2019-12-25 00:42:14 -06:00
Oblarg
67b59f2b31
Minor improvements/fixes to new command framework ( #2186 )
2019-12-23 01:09:25 -06:00
Oblarg
ccdd0fbdb2
Add TrapezoidProfile external PID examples ( #2131 )
2019-12-07 13:37:54 -08:00
Tyler Veness
34f6b3f4c0
Fix C++ RamseteCommand param doxygen ( #2157 )
2019-12-05 23:54:32 -08:00
Oblarg
f7a93713fa
Fix up templated TrapezoidProfile classes ( #2151 )
...
* Fix two-phase name lookup bug
* Fix param in ProfiledPIDCommand constructor overload
* Fix ProfiledPIDCommand/Controller
2019-12-04 20:40:37 -08:00
Thad House
d003ec2dc9
Update to 2020v9 image ( #2154 )
...
- Fix VISA include and FPGA header
- Fix missing VISA lib from executables
2019-12-04 20:38:43 -08:00
Prateek Machiraju
57c5523d67
Fix documentation in RamseteCommand ( #2149 )
2019-12-01 21:27:02 -08:00
Oblarg
6dcd2b0e2c
Improve various subsystem APIs ( #2130 )
...
Improves the APIs for various prebuilt subsystems (PIDSubsystem, TrapezoidProfileSubsystem, ProfiledPIDSubsystem). Addresses #2128 , and also changes the rather cumbersome getSetpoint API to a more intuitive setSetpoint one. Updates examples to match.
2019-11-25 21:46:47 -08:00
Tyler Veness
0b9307fdf3
Remove unused parts of .styleguide files ( #2119 )
2019-11-22 06:34:58 -08:00
CTT
a58dbec8aa
Add holonomic follower examples ( #2052 )
2019-11-21 19:52:56 -08:00
Tyler Veness
9a8067465c
Fix incomplete .styleguide ( #2113 )
...
Also clean up other .styleguides.
Fixes #2111 .
2019-11-20 22:44:18 -08:00
Tyler Veness
ffa4b907c0
Fix C++ floating point literal formatting ( #2114 )
...
Found formatting errors with this regex
"([^a-z0-9\.]\.[0-9]|[^a-z0-9\.][0-9]\.[^a-z0-9\.])" and ignored false
positives.
Fixes #2112 .
2019-11-20 21:48:15 -08:00
Oblarg
3d1ca856b2
Fix missing typename and return type ( #2115 )
2019-11-20 21:46:33 -08:00
Austin Shalit
4ebae17123
Enforce leading/trailing zeros in Java numeric constants ( #2105 )
...
Enforce that integer literals must not have leading zeros and that floating point literals must have leading or trailing zeros in Java.
2019-11-20 20:13:15 -08:00
Oblarg
fa85fbfc1c
Template C++ TrapezoidProfile and ProfiledPIDController on units ( #2109 )
2019-11-20 20:11:46 -08:00
Oblarg
8c4d9f5415
Add TrapezoidProfileSubsystem ( #2077 )
...
Adds a subsystem that continually runs a TrapezoidProfile, for composition with offboard PID controllers.
2019-11-19 12:38:42 -08:00
Prateek Machiraju
5891628112
Use DifferentialDriveWheelSpeeds in RamseteCommand ctor ( #2091 )
2019-11-18 22:11:05 -08:00
Oblarg
0e83c65d27
Fix small logic error in ParallelDeadlineGroup ( #2095 )
2019-11-18 15:33:45 -08:00
Thad House
1894219ef6
Fix devmain package in commands ( #2097 )
2019-11-18 15:24:04 -08:00
Thad House
b7bc1ea745
Update to 2020v6 image ( #2078 )
2019-11-13 21:35:52 -08:00
Thad House
708009cd20
Update to gradle 6.0 ( #2074 )
2019-11-12 17:14:04 -08:00
Oblarg
7dc7c71b58
Add feedforward components ( #2045 )
...
Add helper classes for computing feedforwards with parameters supplied by the characterization tool.
2019-11-09 20:16:42 -08:00
Oblarg
5f33d6af12
Fix ProfiledPIDSubsystem parameter name ( #2017 )
...
Change from goal to setpoint (these are two different things).
2019-11-09 09:16:50 -08:00
Thad House
9bcff37b93
Add HAL specific version of wpi_setError ( #2055 )
...
Cleans up error writing, and allows fewer headers to be included in many of the wpilibc cpp files.
This removes all usages of the hal/HAL.h header.
2019-11-08 22:53:20 -08:00
Oblarg
00228678d4
Add requirements param to more Command APIs ( #2059 )
...
Assorted improvements to the ergonomics of declaring requirements in the new
command framework. C++ requirements list parameters have been defaulted
to an empty list, some missing C++ requirements list parameters have been
added, and both C++ and Java have been given requirements list params in
various InstantCommand wrapper methods (#2049 ), whose value is
forwarded to the command.
2019-11-08 18:30:30 -08:00
Thad House
629e95776a
Add VendorDeps JSON files for command libraries ( #2048 )
...
Add commandversion flag to the examples and templates json files.
2019-11-07 17:38:07 -08:00
Thad House
6858a57f72
Make notifier command tests a lot more lenient ( #2056 )
...
They don't need to be testing timing, just that the command starts and stops.
2019-11-07 17:26:29 -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
Peter Johnson
2b6811eddb
Fix null pointer dereference in C++ CommandScheduler ( #2023 )
...
Java has a null check that was missing in C++ when adding default commands.
2019-11-01 23:42:01 -07: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