Peter Johnson
3cc2da3328
Merge branch '2022'
2021-05-09 14:15:40 -07:00
Thad House
23d2326d1d
[hal] Report previous allocation location for indexed resource duplicates ( #3322 )
2021-05-01 10:28:30 -07:00
Starlight220
ff52f207cc
[glass, wpilib] Rewrite Mechanism2d ( #3281 )
...
Substantially improves Mechanism2d by moving it to NetworkTables and adding
a robot API to create the mechanism elements, instead of requiring a JSON file.
Co-authored-by: Peter Johnson <johnson.peter@gmail.com >
2021-04-30 13:43:59 -07:00
Thad House
5127380727
[hal] Add HAL_GetLastError to enable better error messages from HAL calls ( #3320 )
...
This uses thread local storage so a full error string can be provided, not just an error code.
2021-04-29 09:56:54 -07:00
Peter Johnson
05ebe93180
Merge branch 'main' into 2022
2021-04-19 18:45:31 -07:00
Peter Johnson
0abf6c9045
[wpilib] Move motor controllers to motorcontrol package ( #3302 )
...
Also deprecate SpeedController in favor of motorcontrol.MotorController and
SpeedControllerGroup in favor of motorcontrol.MotorControllerGroup.
The MotorController interface is derived from the SpeedController interface
so that code such as SpeedController x = new VictorSP(1) continues to
compile (just with a warning).
SpeedControllerGroup and MotorControllerGroup are independent classes;
both implement the MotorController interface.
2021-04-17 11:27:16 -07:00
Peter Johnson
6b168ab0c8
[wpilib] Remove PIDController, PIDOutput, PIDSource
...
Move them to the old commands vendordep so that PIDCommand and PIDSubsystem
continue to work.
This also removes Filter and LinearDigitalFilter.
2021-04-13 22:40:55 -07:00
Peter Johnson
01d0e12603
[wpilib] Revert move of RomiGyro into main wpilibc/j ( #3296 )
...
This reverts commit 69e8d0b65d (#3143 ).
We haven't released a version with this yet, and plan to make a vendor
library instead.
2021-04-10 10:27:44 -07:00
Peter Johnson
a79faace1b
[wpilibc] Return reference from GetInstance ( #3247 )
...
Improves consistency across all classes.
Affects Preferences, LiveWindow, and CameraServer.
Old commands Scheduler::GetInstance() was not updated as this is already
deprecated.
2021-03-21 11:13:49 -07:00
Prateek Machiraju
fe341a16f5
[examples] Use more logical elevator setpoints in GearsBot ( #3198 )
2021-03-07 16:00:00 -08:00
Prateek Machiraju
6812302ff9
[examples] Make DriveDistanceOffboard example work in sim ( #3199 )
...
Adds some basic functionality to the ExampleMotorController so that
controller inputs show up in LiveWindow widgets in simulation.
2021-03-03 23:38:13 -08:00
Prateek Machiraju
be0ce99007
[examples] Use PWMSparkMax instead of PWMVictorSPX ( #3156 )
...
This accurately reflects the motor controllers that are distributed in
the Kit of Parts.
2021-02-12 22:14:56 -08:00
Zhiquan Yeo
69e8d0b65d
[wpilib] Move RomiGyro into main wpilibc/j ( #3143 )
2021-02-12 22:14:29 -08:00
Modelmat
6ba8c289c5
[examples] Remove negative of ArcadeDrive(fwd, ..) in the C++ Getting Started Example ( #3102 )
2021-01-20 20:43:34 -08:00
Prateek Machiraju
15be5cbf1f
[examples] Fix segfault in GearsBot C++ example ( #3111 )
...
This fixes a dangling this pointer in the DriveStraight and
SetDistanceToBox commands by directly capturing the
drivetrain pointer by value instead.
2021-01-20 20:38:45 -08:00
Modelmat
38c1a1f3e0
[examples] Fix feildRelative -> fieldRelative typo in XControllerCommand examples ( #3104 )
...
* MecanumControllerCommand
* SwerveControllerCommand
2021-01-19 22:57:41 -08:00
Tyler Veness
f393989a5b
[wpimath, wpiutil] Add wpi::array for compile time size checking ( #3087 )
...
The wpimath APIs use std::array, which doesn't do size checking. Passing
an array with the wrong size can result in uninitialized elements
instead of a compilation error.
This is a breaking change but is worthwhile to avoid hard-to-debug errors.
2021-01-16 20:26:17 -08:00
sciencewhiz
04a90b5dd1
[examples] Don't continually set setpoint in PotentiometerPID Examples ( #3084 )
2021-01-13 20:09:08 -08:00
Prateek Machiraju
42c3d52863
[examples] Sync Java and C++ trajectories in sim example ( #3081 )
...
This also shifts the trajectory up and to the right so that the robot is
always visible in the Field GUI during traversal. Some drive constants
and trajectory constraints were also synced between the two languages.
2021-01-11 20:08:22 -08:00
Matt
e955037980
[wpimath] Add optimize() to SwerveModuleState ( #3065 )
...
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2021-01-10 22:49:46 -08:00
sciencewhiz
1fd09593cf
[examples] Add missing TestInit method to GettingStarted Example ( #3039 )
2021-01-02 22:00:25 -08:00
Zhiquan Yeo
e45a0f6ce2
[examples] Add RomiGyro to the Romi Reference example ( #3037 )
2021-01-02 21:59:57 -08:00
Zhiquan Yeo
d73cf64e54
[examples] Update RomiReference to match motor directions ( #3036 )
...
Flip the TeleopArcadeDrive axis directions so that positive
values for x-axis speed result in the Romi driving forward (in the
direction of the Raspberry Pi USB ports).
2021-01-02 17:21:07 -08:00
Starlight220
e1620799c7
[examples] Add C++ RomiReference example ( #2969 )
...
Co-authored-by: Prateek Machiraju <prateek.machiraju@gmail.com >
Co-authored-by: sciencewhiz <sciencewhiz@users.noreply.github.com >
2020-12-31 20:37:20 -08:00
Prateek Machiraju
8651aa73e8
[examples] Enable NT Flush in Field2d examples ( #3013 )
2020-12-30 16:12:15 -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
2aed432b4b
Add braces to C++ single-line loops and conditionals (NFC) ( #2973 )
...
This makes code easier to read and more consistent between C++ and Java.
Also update clang-format settings to always add a line break (even if no braces are used).
2020-12-28 12:58:06 -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
Peter Johnson
2bc0a7795c
[examples] Fix wpiformat warning about utility include ( #2971 )
2020-12-26 09:34:21 -08:00
Prateek Machiraju
4e34f05238
[examples] Use ADXRS450_GyroSim class in simulation example ( #2964 )
...
This class did not exist when the original example was written. This
also changes the C++ example to use ADXRS450_Gyro for the sake of
consistency.
2020-12-24 15:42:46 -08:00
sciencewhiz
699bbe21a4
[examples] Fix comments in Gearsbot to match implementation (NFC) ( #2957 )
2020-12-22 22:26:54 -08:00
Tyler Veness
4afb13f98b
[examples] Replace M_PI with wpi::math::pi ( #2938 )
2020-12-17 00:15:02 -08:00
Prateek Machiraju
65219f3093
[examples] Update Field2d position in periodic() ( #2928 )
...
This ensures that the robot position will be updated in dashboards like Glass when running on real hardware.
2020-12-10 20:36:20 -08:00
Prateek Machiraju
558e37c412
[examples] Add simple differential drive simulation example ( #2918 )
...
This provides an example of using the differential drive simulator without needing to use the command-based library.
2020-12-07 22:32:42 -08:00
Matt
963ad5c255
[wpilib] Add noise to Differential Drive simulator ( #2903 )
...
Co-authored-by: Prateek Machiraju <prateek.machiraju@gmail.com >
2020-12-04 18:46:50 -08:00
Prateek Machiraju
b3deda38c9
[examples] Zero motors on disabledInit() in sim physics examples ( #2906 )
...
This ensures that mechanisms will stop moving if the robot is disabled while motors are in motion
2020-12-04 17:34:16 -08:00
Peter Johnson
727940d847
[wpilib] Move Field2d to SmartDashboard
2020-12-04 00:36:55 -08:00
Declan Freeman-Gleason
bc8f338771
[wpilib] Add pose estimators ( #2867 )
...
Pose and state estimators can filter latency-compensated global measurements and fuse them with state-space drivetrain model information to estimate robot position. They are drop-in replacements for the existing odometry classes.
Co-authored-by: Declan Freeman-Gleason <declanfreemangleason@gmail.com >
Co-authored-by: Prateek Machiraju <prateek.machiraju@gmail.com >
Co-authored-by: Claudius Tewari <cttewari@gmail.com >
Co-authored-by: Matt <matthew.morley.ca@gmail.com >
2020-11-28 14:35:35 -08:00
Prateek Machiraju
2056f0ce09
[wpilib] Fix bugs in Hatchbot examples ( #2893 )
...
This fixes an issue with some commands not correctly requiring their
subsytems. Furthermore, an execute() method was added to the
DriveDistance command to continuously update the voltage command.
2020-11-28 14:01:56 -08:00
Prateek Machiraju
cfac22b4c0
[wpilib] Reset odometry in path following examples ( #2859 )
2020-11-14 12:01:45 -08:00
Prateek Machiraju
50050a0e53
[wpilibc] Update C++ DiffDriveSim example to match Java ( #2839 )
2020-11-13 11:12:03 -08:00
sciencewhiz
5c2dc043cd
[wpilib] Update examples to export NewCommands ( #2841 )
...
Update all examples to export NewCommands vendor dep except for pacgoat,
which still uses old commands.
2020-11-11 22:36:18 -08:00
sciencewhiz
24a3c12f31
[wpilib] Fix names and descriptions of examples ( #2846 )
2020-11-11 22:35:28 -08:00
Prateek Machiraju
3c85a40648
[sim] Use units for voltage and current in RoboRioSim ( #2853 )
2020-11-11 22:33:49 -08:00
Prateek Machiraju
ac3c336b98
[wpimath] Use units for LinearSystemId Kv and Ka ( #2852 )
2020-11-11 22:33:04 -08:00
Prateek Machiraju
061432147d
[wpilib] Clean up physics simulation class APIs ( #2763 )
2020-10-15 21:00:45 -07:00
Matt
21d949daa8
[wpilibc] Add LinearSystemLoop C++ ctor to match Java ( #2755 )
...
Co-authored-by: Prateek Machiraju <prateek.machiraju@gmail.com >
2020-10-02 17:37:26 -07:00
Prateek Machiraju
330b90e046
[wpilib] Enable ArmSubsystem in ArmBot example ( #2752 )
2020-10-01 20:03:50 -07:00
Tyler Veness
fc991cb59c
[wpilib] Clean up simulation physics API ( #2739 )
...
Some vestigial functions were never removed, and C++ single-jointed arm
sim was missing a flag for disabling gravity simulation. This is useful
for mechanisms like turrets.
Fixes #2738 .
2020-09-27 00:13:59 -07:00