Commit Graph

6710 Commits

Author SHA1 Message Date
Peter Johnson
7c8a36f3eb [wpiutil] Add Struct and Protobuf clone and immutable checks (#6686) 2024-06-01 11:58:53 -07:00
Wispy
ae8e4289b9 [dlt] Fix build.gradle description (#6682) 2024-05-31 13:43:51 -07:00
CoolSpy3
c1fc86033a [sim] Clarify Sim CAN Device Documentation (#6679) 2024-05-30 05:32:45 -07:00
Dean Brettle
9782abbcb1 [wpilib] Add protected default constructor for CallbackStore (#6667)
This  is to allow 3rd party sim providers (eg vendors) to subclass this class so that the register methods of their sim classes can return CallbackStores like the builtin sims.

Although it was already possible to create such a subclass but passing dummy parameters to one of the other constructors, this eliminates the need to pass such dummy parameters and makes it clearer that subclassing is allowed.
2024-05-27 21:19:12 -07:00
Gold856
0ad4cd69d0 [hal] Initialize DIO to true in sim (#6670) 2024-05-27 21:18:19 -07:00
Avi
76685fe7e8 [wpilibj] Fix docs typo (NFC) (#6672) 2024-05-27 21:17:41 -07:00
Dean Brettle
3b8d8a367b [wpilibj] Make CallbackStore.close() idempotent (#6666)
This is "strongly recommended" in the javadocs for the AutoCloseable.close().
2024-05-27 07:58:03 -07:00
CoolSpy3
a6ac4228c3 [sim] WebSockets Documentation Fixes (#6668) 2024-05-27 06:52:25 -07:00
CoolSpy3
98fcbdb44e [sim] Update WebSockets API Specification (#6664)
Also update AddressableLED data to be output instead of input.
2024-05-26 14:58:32 -07:00
Thad House
958387ddd3 [wpiutil] Add method to skip SetDllDirectory for windows loading (#6662)
With DependentLoadFlags, we shouldn't need this function anymore. Add a way to test this easily without needing to modify allwpilib.
2024-05-26 14:22:29 -07:00
Thad House
a2f2502f70 [build] Bump Native Utils to 2025.0.0 (#6663)
Adds DependentLoadFlags
2024-05-26 11:55:55 -07:00
Thad House
fbfef85f45 [wpiutil] Fix CombinedRuntimeLoader default path (#6661) 2024-05-26 11:12:44 -07:00
Vasista Vovveti
cdbd64c3df [ci] Give comment action PR write permission (#6594) 2024-05-25 19:42:28 -07:00
Joseph Eng
eb3635e622 [commands] Make CommandGenericHID a public base class of CommandXboxController (#6658) 2024-05-25 11:44:41 -07:00
Joseph Eng
9ef6d13b27 [wpilibj] Suppress this-escape warning on SharpIR (#6659) 2024-05-25 11:43:27 -07:00
Wispy
e2545231b8 [glass] Save input after clicking away (#6657) 2024-05-25 09:19:52 -07:00
sciencewhiz
4252a36668 DevelopmentBuilds.md: Fix missing apostrophe (#6655) 2024-05-24 19:46:11 -07:00
Jade
f1e072fc98 [commands] GenericHIDController: use composition in C++ (#6296) 2024-05-24 16:36:05 -07:00
Theinatorinator
221d568bd9 [wpilibj] Add tests for ADIS16448 simulation (#6152) 2024-05-24 16:33:25 -07:00
scarmain
c62396ce4e [wpilib] Fix PowerDistribution.GetAllCurrents() (#6025) 2024-05-24 16:31:19 -07:00
Nicholas Armstrong
f42bc45ee8 [wpilib] FlywheelSim cleanup (#6629)
This is a cleanup of the FlywheelSim class with a few added features.

- One FlywheelSim constructor that takes a plant, DCMotor, and a optional number of measurementStdDevs. The documentation now states how to construct the plant either through LinearSystemId.createFlywheelSystem or identifyVelocitySystem.

- The gearbox, gearing and moment of Inertia (J) are now private final fields. The gearing is determined from the plant in the constructor as well as the moment of inertia. There are getter methods that allow the flywheelSim to return the gearbox, gearing, and moment of inertia.

- The getCurrentDrawAmps function now uses m_x instead of getAngularVelocityRadPerSec in accordance with more accuracy and matches the patter in other sims.

- Added getter methods for the InputVoltage, angularAcceleration and torque

- (Java only) A third getter method for returning the AngularVelocity of the flywheel using a MutableMeasure as a backing field that is set when getAngularVelocity is called. This summarily returns the angularVelocity as just a Measure object. This allows the user of this class to handle unit conversions with less numerical manipulation. Alterations in C++ for this feature were not needed.
2024-05-24 16:05:14 -07:00
Wispy
8c107e4b75 [wpilibj] Add TimedRobot.addPeriodic() measure overloads (#6654) 2024-05-24 16:02:36 -07:00
Peter Johnson
652c721895 [ci] Remove build-dir from Windows Gradle build (#6269)
This is no longer required due to increased disk space in Actions.
2024-05-24 14:03:00 -07:00
Peter Johnson
7e00f2d3eb [wpilib] Fix docs for Sharp IR simulation (NFC) (#6653) 2024-05-24 14:02:22 -07:00
Joseph Eng
5c5e5af0c6 [commands] Add missing C++ decorators (#6599) 2024-05-24 13:14:15 -07:00
Dean Brettle
237ebfd0f2 [sim] Add CAN message schema to wpilib-ws.yaml and add 2 CANMotor props (#6651)
Co-authored-by: CoolSpy3 <coolspythree@gmail.com>
2024-05-24 12:56:34 -07:00
Dustin Spicuzza
dc0e9712e6 [wpilib] Add support for Sharp IR sensors (#6023) 2024-05-24 12:55:30 -07:00
Thad House
d05c7c125b [wpilib] Rewrite DutyCycleEncoder and AnalogEncoder (#6398) 2024-05-24 11:53:56 -07:00
Carl Hauser
294c9946ae [wpimath] PIDController.setIntegratorRange documentation fix (#6489) 2024-05-24 11:49:00 -07:00
Jade
6220c6be4d [wpiutil] Remove RuntimeDetector and simplify RuntimeLoader (#6600) 2024-05-24 10:48:59 -07:00
Gold856
72a6d22d9a [build] Organize cmake files (#6617) 2024-05-24 10:48:05 -07:00
Jade
8834cb1de4 [wpimath] ChassisSpeeds: add equals method (#6414) 2024-05-24 10:42:32 -07:00
Tyler Veness
ae655a3a71 Rename myRobot to developerRobot and move docs to subproject (#6283) 2024-05-24 10:41:23 -07:00
Ryan Blue
65f4505e3c [wpimath] Add constraints support to ProfiledPIDController Sendable implementation (#6354) 2024-05-24 10:39:56 -07:00
bovlb
badd090538 [wpimath] Document example usage for InterpolatingDoubleTreeMap (NFC) (#6456) 2024-05-24 10:35:42 -07:00
Gold856
2fd8dae503 [ci] Use LF line endings for pregenerate.yml (#6650) 2024-05-23 08:23:54 -07:00
Tyler Veness
27efd37c52 [upstream_utils] Upgrade Eigen to include GCC 14 patches (#6646) 2024-05-23 06:49:20 -07:00
Tyler Veness
0c822b45ab [wpimath] Fix Eigen maybe-uninitialized warnings (#6636) 2024-05-20 16:53:22 -07:00
Jade
58751338ec [ci] Remove workaround for sanitizers (#6638)
It's been added to the base image.
2024-05-20 12:20:12 -07:00
ncorrea210
0b5aec82ff [wpimath] Add ChassisSpeeds::ToTwist2d() to ChassisSpeeds (#6634)
Co-authored-by: Tyler Veness <calcmogul@gmail.com>
2024-05-20 12:19:17 -07:00
Wispy
820f68dc08 [wpimath] Add InterpolatingDoubleTreeMap.ofEntries() (#6635)
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>
2024-05-20 12:18:28 -07:00
Benjamin Hall
8c420fa4c1 [wpimath] Modify C++ LinearFilter::Reset(span<double>, span<double>) to take span<T> (#6628)
Previously, the overload took a span<double>. However, m_inputs and m_outputs store type T, so the function could not be called for any T that does not have an implicit constructor from double.
2024-05-15 14:46:10 -06:00
Nicholas Armstrong
ab315e24c8 [wpimath] LinearSystemSim Constructor and method cleanup (#6502)
Modified Java constructors to take a variable number of measurement std devs argument with checks in place to make sure the right amount (or none) are passed into the constructor. All changes passed down to classes utilizing LinearSystemSim.

Removed excess constructors

Removed Java and C++ CurrentDrawAmps method as it doesn't belong in a generic (non electrical) linear system. Kept a non override version in all derived electrical classes.

Also LinearSystemSim has now been made agnostic to electrical systems. Inputs don't have to be voltage. BatteryVoltage clamp function has been pushed down to electrical subclasses.

Co-authored-by: Tyler Veness <calcmogul@gmail.com>
2024-05-15 11:40:30 -06:00
Tyler Veness
0f45fe9486 [upstream_utils] Fix Eigen macro name (#6627)
I've confirmed this fixes the build with GCC 14 in C++23 mode.
2024-05-15 07:42:53 -06:00
Nicholas Armstrong
7fc17811fa [wpimath] Add full state support to LinearSystemId functions (#6554)
Co-authored-by: Tyler Veness <calcmogul@gmail.com>
2024-05-15 07:23:22 -06:00
Wispy
7fbbecb5b7 [wpiunits] Add Measure.divide(Measure<U2>) (#6611) 2024-05-15 07:22:38 -06:00
Michael Fisher
b0d3bf4ddf [build] cmake: add absl dependency for newer protobuf (#6609)
Works around a bug on some systems where protobuf does not correctly depend on required absl libraries.
2024-05-14 21:25:15 -06:00
Tyler Veness
40b35f0d51 [upstream_utils] Fix compilation failures on constexpr matrices with GCC 14 (#6626) 2024-05-14 21:22:32 -06:00
Tyler Veness
637647b941 [upstream_utils] Improve Eigen intellisense fix (#6621) 2024-05-14 18:47:51 -06:00
Tyler Veness
0a967e0e62 [upstream_utils] Suppress deprecation warnings for Eigen's has_denorm (#6619)
std::has_denorm and std::has_denorm_loss were deprecated in C++23.
This avoids deprecation warnings with Clang 18 set to C++23.
2024-05-14 16:33:57 -06:00