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
Peter Johnson
50915cb7ed
[wpilibc] MotorSafety::GetDescription(): Return std::string ( #3390 )
...
This is only called in an error condition, so it's not necessary to over
optimize it.
2021-05-26 07:25:32 -07:00
Tyler Veness
f4e2d26d58
[wpilibc] Move NullDeleter from frc/Base.h to wpi/NullDeleter.h ( #3387 )
...
frc/Base.h was also deleted because it's now empty.
2021-05-26 07:24:53 -07:00
Peter Johnson
cb0051ae60
[wpilibc] SimDeviceSim: use fmtlib ( #3389 )
...
Also clean up several sim classes to use the channel constructor.
2021-05-26 07:23:13 -07:00
Tyler Veness
a238cec12b
[wpiutil] Deprecate wpi::math constants in favor of wpi::numbers ( #3383 )
...
The constants were moved from std::math to std::numbers before
ratification in C++20.
2021-05-26 00:09:36 -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
a04d1b4f97
[wpilibc] DriverStation: Remove ReportError and ReportWarning
...
Change use cases to directly call FRC_ReportError.
2021-05-25 10:04:32 -07:00
Peter Johnson
831c10bdfc
[wpilibc] Errors: Use fmtlib
2021-05-25 10:04:32 -07:00
Peter Johnson
2385c2a430
[wpilibc] Remove Utility.h ( #3376 )
...
Change last 2 uses of wpi_assert to throw error instead.
2021-05-23 15:25:08 -07:00
Tyler Veness
87384ea684
[wpilib] Fix PIDController continuous range error calculations ( #3170 )
...
The inputs should all be errors, so the range should be symmetric.
Fixes #3168 .
Fixes #3304 .
2021-05-21 23:52:30 -07:00
Tyler Veness
0768c39036
[wpilib] DifferentialDrive: Remove right side inversion ( #3340 )
...
Also refactor drive inverse kinematics into separate functions.
This allows composing them with operations separate from the drive
class.
2021-05-21 22:34:16 -07:00
Peter Johnson
3fe8fc75aa
[wpilibc] Revert "Return reference from GetInstance" ( #3342 )
...
This reverts commit a79faace1b .
This change will be superseded in a non-breaking way by changing to static functions and deprecating GetInstance() entirely.
2021-05-09 18:16:07 -07:00
Peter Johnson
3cc2da3328
Merge branch '2022'
2021-05-09 14:15:40 -07:00
Noam Zaks
d6cfdd3bae
[wpilib] Preferences: Deprecate Put* in favor of Set* ( #3337 )
...
This naming is more consistent with other APIs.
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2021-05-06 08:25:37 -07:00
Tyler Veness
497b712f67
[wpilib] Make IterativeRobotBase::m_period private with getter
2021-05-04 13:41:36 -07:00
Tyler Veness
f00dfed7ac
[wpilib] Remove IterativeRobot base class
...
TimedRobot supersedes it (see commit 81498e6 for reasoning).
2021-05-04 13:41:36 -07:00
Thad House
3c08461685
[hal] Use last error reporting instead of PARAMETER_OUT_OF_RANGE ( #3328 )
...
Makes the error messages much more specific to each error.
2021-05-01 13:22:08 -07:00
Thad House
23d2326d1d
[hal] Report previous allocation location for indexed resource duplicates ( #3322 )
2021-05-01 10:28:30 -07:00
Tyler Veness
65c148536d
[wpilibc] Fix "control reaches end of non-void function" warning ( #3324 )
2021-05-01 07:05:21 -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
Prateek Machiraju
aaf24e2552
[wpilib] Fix initial heading behavior in HolonomicDriveController ( #3290 )
2021-04-18 21:00:11 -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
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
687066af3d
[wpilib] Remove GyroBase
2021-04-13 22:40:55 -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
d7fabe81fe
[wpilib] Remove RobotDrive ( #3295 )
...
This has been deprecated for several years, and its functionality has been
completely superseded by other drive classes (DifferentialDrive et al).
2021-04-10 10:28:32 -07:00
Peter Johnson
1dc81669c2
[wpilib] Remove GearTooth ( #3293 )
...
This sensor has had zero usage for many years and was last in the KOP
over a decade ago. There are much better rotation sensors available,
and it's no longer worth maintaining this class.
2021-04-10 10:28:05 -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
79267f9e60
[ntcore] Remove NetworkTable -> nt::NetworkTable shim
2021-04-08 22:35:28 -07:00
Starlight220
f57c188f2e
[wpilib] Add AnalogEncoder(int) ctor ( #3273 )
2021-04-02 08:26:41 -07:00
Prateek Machiraju
8471c4fb26
[wpilib] FieldObject2d: Add setTrajectory() method ( #3277 )
2021-04-01 22:08:07 -07:00
Peter Johnson
c97acd18e7
[glass] Field2d enhancements ( #3234 )
...
- Add raw support for pose lists > 255/3 in length
- Improve drag selection, especially with closely overlapping objects
- Drag selection of corner also highlights center of object with smaller circle
- Multiple styles (box, line, closed line, track)
- Configurable line and arrow settings (color, weight)
- Add tooltip for object name, index, x, y, rotation
- Context menu for pose edit/add/remove
- View/edit in feet or inches as well as meters
- Configurable object selectability
Implementation: use vector of Pose2d internally, use units
2021-03-27 13:34:44 -07:00
Prateek Machiraju
ffb590bfcc
[wpilib] Fix Compressor sendable properties ( #3269 )
2021-03-26 21:20:54 -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
Peter Johnson
9550777b9d
[wpilib] PWMSpeedController: Use PWM by composition ( #3248 )
...
This cleans up the user experience by removing lower-level functions from the
interface.
Also remove MotorSafety from "raw" PWM.
2021-03-21 11:12:49 -07:00
Peter Johnson
8afa596fdf
[wpilib] Remove deprecated Sendable functions and SendableBase ( #3210 )
2021-03-19 13:41:11 -07:00
Tyler Veness
3cf44e0a53
[hal] Add function for changing HAL Notifier thread priority ( #3218 )
2021-02-28 22:05:26 -08:00
Starlight220
959611420b
[wpilib] Require non-zero positive value for PIDController.period ( #3175 )
2021-02-16 18:07:29 -08:00
Starlight220
d241bc81ae
[sim] Add DoubleSolenoidSim and SolenoidSim classes ( #3177 )
2021-02-16 18:03:57 -08:00
Tyler Veness
cb7f39afa1
[wpilibc] Add RobotController::GetBatteryVoltage() to C++ ( #3179 )
...
This function already exists in Java.
2021-02-16 18:03:25 -08:00
Starlight220
d447c7dc32
[sim] Add SimDeviceSim ctor overloads ( #3134 )
...
Better parallelism with SimDevice.create(), so teams don't have to mess with concatenating the index/channel themselves.
2021-02-12 22:17:13 -08:00
Zhiquan Yeo
69e8d0b65d
[wpilib] Move RomiGyro into main wpilibc/j ( #3143 )
2021-02-12 22:14:29 -08:00
Prateek Machiraju
f82aa1d564
[wpilib] Fix HolonomicDriveController atReference() behavior ( #3163 )
...
The atReference() method previously used the rotation error between the
desired trajectory state and the current pose. This was a bug because we
allow teams to use custom rotation setpoints and that wasn't being taken
into account.
2021-02-12 22:11:57 -08:00
Matt
406d055f07
[wpilib] Fixup wouldHitLowerLimit in elevator and arm simulation classes. ( #3076 )
...
Closes #3050 .
2021-01-14 00:28:00 -08:00
Peter Johnson
bc80c55353
[hal] Add SimValue reset() function ( #3064 )
...
This enables correct behavior for resetting incremental sensor values like
encoder counts or gyro accumulated angle with WebSockets.
2021-01-12 00:38:58 -08:00
Peter Johnson
9c3b51ca0f
[wpilib] Document simulation APIs ( #3079 )
...
- Remove sim checkstyle suppression
- Add [[nodiscard]] to C++ register callback functions
- Add a couple of missing sim functions
Co-authored-by: Peter Johnson <johnson.peter@gmail.com >
Co-authored-by: Starlight220 <yotamshlomi@gmail.com >
2021-01-11 21:55:45 -08:00
Dustin Spicuzza
64e72f7103
[wpilibc] Add missing function RoboRioSim::ResetData ( #3073 )
2021-01-10 22:50:25 -08:00