Tyler Veness
a087544933
[upstream_utils] Disable spurious maybe-uninitialized warning from GCC 14 ( #6728 )
2024-06-09 17:53:38 -06:00
Gold856
b0cc84a9c7
[build] Upgrade to PMD 7.2.0 ( #6718 )
2024-06-08 22:08:23 -07:00
Gold856
e2dcbd016d
[wpimath] Remove deprecated TrapezoidProfile method in C++ header ( #6721 )
2024-06-08 22:05:17 -07:00
Tyler Veness
300595da9e
[upstream_utils] Update Sleipnir ( #6709 )
...
Upstream now uses std::format/std::print, so we have to backport it to
fmtlib.
2024-06-08 09:50:59 -07:00
Brendan Raykoff
0606da64c9
[wpimath] LinearFilter lastValue(): Fix runtime exception ( #6713 )
2024-06-07 17:24:34 -07:00
Sam Carlberg
ad18fa62ee
[wpilib] Add LED pattern API for easily animating addressable LEDs ( #6344 )
...
Add LEDReader and LEDWriter helper interfaces to facilitate composing simple patterns into more complex ones, e.g. LEDPattern.solid(Color.kBlue).breathe(Seconds.of(0.75)). Pattern composition relies on changing out the write behavior; for example, offsetBy increments the indexes to write to; while blink will switch between playing a base pattern and turning off all the LEDs.
Add a view class for splitting a single large buffer into smaller distinct sections, which is useful for dealing with long chained LED strips mounted on different parts of a robot. Views cannot be written directly to an LED strip (in fact, trying to do so won't even compile).
Adds some utility methods to the Color class for interpolating between two colors, and support color representations with 32-bit integers to avoid object allocations.
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2024-06-05 19:41:10 -07:00
Tyler Veness
5221069bcc
[wpimath] Disambiguate wpimath JNI functions ( #6695 )
...
Each collection of JNI functions now has its own class.
2024-06-05 12:26:58 -07:00
Gold856
b99d9c1710
Use Java 17 features ( #6691 )
...
Uses enhanced instanceof (and simplify equals methods)
Uses switch expressions and arrow labels
Seal and finalize some Shuffleboard classes
Co-authored-by: Sam Carlberg <sam@slfc.dev >
2024-06-04 21:09:10 -07:00
Brendan Raykoff
8def7b2222
[wpimath] Add geometry classes for Rectangle2d and Ellipse2d ( #6555 )
...
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2024-06-04 18:27:32 -07:00
Tyler Veness
afaf7e2c3f
[upstream_utils] Format Eigen patches with Eigen's clang-format config ( #6699 )
2024-06-04 18:26:20 -07:00
Tyler Veness
bdc42532ed
[wpimath] Make unit max and min constexpr ( #6690 )
2024-06-02 21:45:02 -07:00
Tyler Veness
a97904ed1f
[upstream_utils] Fix gcem min and max compilation ( #6689 )
2024-06-02 15:52:12 -07:00
Joseph Eng
7751f6d1d2
[wpimath] Remove swerve wrappers for odometry and pose estimation, move wheel positions operations to kinematics ( #6673 )
2024-06-01 11:59:54 -07:00
Peter Johnson
7c8a36f3eb
[wpiutil] Add Struct and Protobuf clone and immutable checks ( #6686 )
2024-06-01 11:58:53 -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
Jade
8834cb1de4
[wpimath] ChassisSpeeds: add equals method ( #6414 )
2024-05-24 10:42:32 -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
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
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
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
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
Tyler Veness
d88c71ffdc
[wpiutil] Upgrade to fmt 10.2.1, add wpi::print ( #6161 )
...
We now use a wrapper (wpi::print) to catch exceptions since we can't patch
std::print() to not throw when we ultimately migrate to it.
fmtlib and std format/print throw the same exceptions and always have. We previously patched fmt::print() to not throw a write failure exception, but we can't do that for std::print(); wpi::print() is the migration plan.
2024-05-12 06:25:42 -07:00
Tyler Veness
dc00a13d83
[wpimath] Make cost and covariance matrix functions constexpr ( #6444 )
2024-05-07 15:32:14 -07:00
Tyler Veness
bdc7344df1
[upstream_utils] Upgrade Eigen to get more constexpr support ( #6596 )
2024-05-07 12:47:15 -07:00
Wispy
2563ff9f18
[wpimath] Add Pair.equals() ( #6580 )
2024-05-06 21:52:59 -07:00
Tyler Veness
e172aa66f7
[wpimath] Java: add static instantiations of common rotations ( #6563 )
...
C++ doesn't need this because it supports value types, which are much
cheaper to construct. constexpr is also available to make construction
zero-cost.
2024-05-03 12:39:35 -07:00
Tyler Veness
ae4bcefefc
[wpimath] Fix incorrect docs for Rotation3d default constructor ( #6571 )
...
A Rotation3d is not defined by one angle.
2024-05-01 09:06:13 -07:00
Tyler Veness
5359112b15
[wpimath] Deprecate RamseteController ( #6494 )
...
LTVUnicycleController is a drop-in replacement with better tuning knobs.
The RamseteCommand examples were removed instead of retrofitted with
LTVUnicycleController because we're planning on removing the command
controller classes anyway, so it would be wasted effort. The
SimpleDifferentialDriveSimulation example shows direct
LTVUnicycleController usage.
2024-04-29 22:01:42 -07:00
Tyler Veness
7601b7250a
[upstream_utils] Upgrade Sleipnir to use a small vector type ( #6565 )
...
This sped up ArmFeedforward.Calculate() by up to 2x.
2024-04-29 22:00:32 -07:00
Isaac Turner
70417f64da
[wpimath] Remove deprecated TrapezoidProfile constructors ( #6558 )
2024-04-29 21:04:57 -07:00
Isaac Turner
f5e08652f8
[wpimath] Remove deprecated MatBuilder factory ( #6557 )
2024-04-29 21:04:43 -07:00
Nicholas Armstrong
1ec089c7f9
[wpimath] Add ArmFeedforward calculate() overload that takes current and next velocity instead of acceleration ( #6540 )
...
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2024-04-28 12:01:08 -07:00
Tyler Veness
fd363fdf5a
[wpimath] Add Sleipnir ( #6541 )
...
This is useful for solving quadratic programs.
2024-04-27 22:42:42 -07:00
Joseph Eng
cdfa2ece6f
[wpimath] Add PoseEstimator.sampleAt() ( #6426 )
2024-04-27 21:03:37 -07:00
Tyler Veness
e73050a8fa
[wpimath] Templatize formatters ( #6535 )
...
This is required for compatibility with libc++'s std::format.
2024-04-25 16:08:24 -07:00
Isaac Turner
d14dfed828
[wpimath] Rotation2d: add Measure<Angle> getter (Java) ( #6492 )
2024-04-21 20:23:36 -07:00
Peter Johnson
c88be31ec2
Merge branch 'development'
2024-04-21 20:15:51 -07:00
Tyler Veness
2def62a1ef
[wpimath] Document ChassisSpeeds::Discretize() math (NFC) ( #6509 )
2024-04-10 22:03:44 -07:00
Tyler Veness
d26e6d9ecc
[wpimath] Support formatting Eigen array types ( #6496 )
2024-04-04 09:19:50 -07:00
Wispy
4a548935d3
[wpimath] Add Pair.toString() ( #6463 )
2024-03-24 23:51:08 -07:00
Tyler Veness
85ea5f8497
[wpimath] Make more LinearSystemId functions not throw if Kv = 0 ( #6465 )
2024-03-24 23:50:41 -07:00
Tyler Veness
5370f249a1
[build] Upgrade to wpiformat 2024.33 ( #6449 )
...
This upgrades to clang-format and clang-tidy 18.1.1. This has the
constructor attribute formatting fix, so we can remove our
WPI_DEPRECATED macro.
2024-03-18 23:11:20 -07:00