shueja
6afff99640
[wpimath] ExponentialProfile: Return copy of input state ( #6370 )
...
As State is mutable, this avoids accidental modification of the passed-in object by the caller modifying the return value.
2024-02-15 16:32:51 -08:00
fodfodfod
1e168f363e
[wpimath] Feed forwards: Use correct 'k' value in error message ( #6360 )
2024-02-11 10:42:04 -08:00
Asa Paparo
62cba9a4d3
[wpimath] Add vector projection and geometry vector conversions ( #6343 )
2024-02-10 10:43:58 -08:00
N0tACyb0rg
3207795d0d
[wpimath] Add lastValue() method to filters ( #6351 )
2024-02-10 10:43:23 -08:00
Thad House
e9c744c456
[wpimath] Quaternion::Log(): Remove duplicate calls to norm() ( #6358 )
2024-02-10 10:41:19 -08:00
Tyler Veness
1db3936965
[wpimath] Remove unused include from RamseteController.cpp ( #6346 )
2024-02-05 22:43:50 -08:00
Tyler Veness
177132fa2a
Replace C++ unit .to<double>() with .value() ( #6317 )
...
The latter is shorter and is what we use everywhere else.
2024-01-27 07:58:25 -08:00
Tyler Veness
84ef71ace0
[wpimath] Make Rotation2d implicitly convert from any angle unit ( #6316 )
...
Add unit category concepts to support this.
2024-01-26 12:49:22 -08:00
Tyler Veness
68736d802d
[wpimath] Clean up profile classes ( #6311 )
...
* Reorder functions so they match between languages
* Copy more complete JavaDocs to C++
* Fix incorrect description for time parameter of
TrapezoidProfile.calculate()
2024-01-25 22:22:42 -08:00
David Vo
a274e297cd
Fix trivial errorprone warnings (NFC) ( #6135 )
2024-01-19 20:46:38 -08:00
Tyler Veness
ca35bcd827
[wpimath] Use tolerance in rotation interpolation tests ( #6237 )
2024-01-19 20:35:13 -08:00
Ben Goldberg
420020c0d5
[wpimath] Remove unused include in Quaternion.cpp ( #6219 )
2024-01-13 08:48:43 -08:00
Tyler Veness
f29a7d2e50
[docs] Add missing JavaDocs ( #6146 )
2024-01-04 08:38:06 -08:00
Gold856
4ac0720385
[build] Clean up CMake files ( #6141 )
2024-01-04 00:47:47 -08:00
Tyler Veness
c486972c55
[wpimath] Make ExponentialProfile.State mutable ( #6138 )
...
It was already mutable in the C++ ExponentialProfile and
TrapezoidProfile in both languages.
2024-01-02 11:39:55 -08:00
Tyler Veness
ad0859a8c9
[docs] Add missing JavaDocs ( #6125 )
2024-01-01 22:56:23 -08:00
Braykoff
e1d49b975c
[wpimath] Add LinearFilter reset() overload to initialize input and output buffers ( #6133 )
2024-01-01 21:20:53 -08:00
Joseph Eng
938bf45fd9
[wpiutil] Remove type param from ProtobufSerializable and StructSerializable ( #6122 )
2023-12-31 14:36:11 -08:00
Tyler Veness
09f76b32c2
[wpimath] Compile with UTF-8 encoding ( #6111 )
...
This allows using Greek letters in variable names, which is helpful to
make implemented equations follow their source paper more closely.
2023-12-29 23:56:06 -06:00
Tyler Veness
22a322c9f3
[wpimath] Report error on negative PID gains ( #6055 )
...
Defaults PID gains to zero if any are invalid.
2023-12-23 12:15:29 -08:00
Peter Johnson
aeb1a4aa33
[wpiutil] Add serializable marker interfaces ( #6060 )
2023-12-23 08:20:26 -08:00
ncorrea210
4e4a468d4d
[wpimath] Make feedforward classes throw exceptions for negative Kv or Ka ( #6084 )
2023-12-23 08:12:46 -08:00
m10653
43fb6e9f87
[glass] Add Profiled PID controller support & IZone Support ( #5959 )
2023-12-22 11:29:25 -08:00
Isaac Turner
35a1c52788
[build] Upgrade quickbuf to 1.3.3 ( #6072 )
2023-12-20 22:30:45 -06:00
Tyler Veness
0b4c6a1546
[wpimath] Add more docs to SimulatedAnnealing (NFC) ( #6054 )
2023-12-16 11:03:54 -08:00
Gold856
f87c64af8a
[wpimath] MecanumDriveWheelSpeeds: Fix desaturate() ( #6040 )
2023-12-14 20:52:45 -08:00
Tyler Veness
192a28af47
Fix JDK 21 warnings ( #6028 )
2023-12-09 21:45:02 -08:00
Tyler Veness
7d4e515a6b
[wpimath] Simplify calculation of C for DARE precondition ( #6022 )
2023-12-08 20:25:03 -08:00
Gold856
f5fc101fda
[build] cmake: Export jars and clean up jar installs ( #6014 )
2023-12-06 18:28:38 -08:00
Ashray._.g
9d11544c18
[wpimath] Rotate traveling salesman solution so input and solution have same initial pose ( #6015 )
2023-12-05 23:21:28 -08:00
Gold856
28deba20f5
[wpimath] Commit generated quickbuf Java files ( #5994 )
...
This removes a build dependency on the quickbuf generator being available for the build platform.
It's safe to generate Java because the quickbuf version is defined by the project.
C++ protobufs can't be committed because the protoc version must
match the library version (this is a particular issue for cmake builds).
2023-12-05 17:02:29 -08:00
Joseph Eng
14c3ade155
[wpimath] Struct cleanup ( #6011 )
2023-12-04 22:40:18 -08:00
Tyler Veness
d431abba3b
[upstream_utils] Fix GCEM namespace usage and add hypot(x, y, z) ( #6002 )
2023-12-03 16:40:08 -08:00
Tyler Veness
2bb1409b82
Clean up Java style ( #5990 )
...
Also make equivalent changes in C++ where applicable.
Co-authored-by: Sriman Achanta <68172138+srimanachanta@users.noreply.github.com >
2023-12-03 16:21:32 -08:00
Tyler Veness
e8f8c0ceb0
[upstream_utils] Update to latest Eigen HEAD ( #5996 )
...
There hasn't been a release in 2.5 years.
There's performance improvements for some NEON instructions, UB fixes, a lot of internal cleanup with the jump from C++11 to C++14, and more constexpr.
2023-12-03 16:18:19 -08:00
Peter Johnson
a583ca01e1
[wpiutil] Change Struct to allow non-constexpr implementation ( #5992 )
...
This required changing the constant values (e.g. kSize) into functions
(e.g. GetSize()).
Fixed implementations of ForEachNested to be inline (as these are actually
templates).
Also added a ntcore Struct test.
2023-12-02 23:36:44 -08:00
Tyler Veness
ca272de400
[build] Fix Gradle compile_commands.json and clang-tidy warnings ( #5977 )
2023-12-02 21:20:43 -08:00
PJ Reiniger
5dad46cd45
[wpimath] Commit generated files ( #5986 )
2023-12-01 20:52:38 -08:00
Tyler Veness
74b85b76a9
[wpimath] Make gcem call std functions if not constant-evaluated ( #5983 )
...
The one exception is macOS, which doesn't support std::beta().
2023-12-01 09:08:04 -08:00
Tyler Veness
30816111db
[wpimath] Fix TimeInterpolatableBuffer crash ( #5972 )
...
Don't decrement buffer iterator if it's at the beginning of the
container.
2023-11-30 23:18:38 -08:00
Tyler Veness
ac7d726ac3
[wpimath] Add simulated annealing ( #5961 )
...
Co-authored-by: Ashray._.g <ashray.gupta@gmail.com >
2023-11-30 22:57:50 -08:00
Tyler Veness
e09be72ee0
[wpimath] Remove unused SimpleMatrixUtils class ( #5979 )
...
It looks like it was gradually replaced by JNI wrappers around Eigen.
2023-11-30 21:12:43 -08:00
Tyler Veness
0f9ebe92d9
[wpimath] Add generic circular buffer class to Java ( #5969 )
...
The original is now called DoubleCircularBuffer.
2023-11-30 21:12:23 -08:00
Prateek Machiraju
51eecef2bd
[wpimath] Optimize 2nd derivative of quintic splines ( #3292 )
...
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2023-11-30 21:07:52 -08:00
Gold856
4fcf0b25a1
[build] Apply a formatter for CMake files ( #5973 )
2023-11-30 16:52:21 -08:00
Tyler Veness
31cd015970
[wpimath] Add SysId doc links to LinearSystemId in C++ (NFC) ( #5960 )
...
They already exist in Java.
2023-11-24 23:46:09 -08:00
Thad House
2aba97c610
Export pb files from wpimath
2023-11-23 22:40:47 -08:00
Tyler Veness
dfdea9c992
[wpimath] Make KalmanFilter variant for asymmetric updates ( #5951 )
2023-11-23 10:56:15 -08:00
Gold856
25b7dca46b
[build] Remove CMake flat install option ( #5944 )
2023-11-21 11:48:32 -08:00
PJ Reiniger
bb05e20247
[wpimath] Add protobuf/struct for trivial types ( #5935 )
...
This implements de/serialization for the types that aren't templated (SwerveDriveKinematics) in C++ or where there is no trivial way to go round-trip (Splines) for the messages.
2023-11-21 10:14:06 -08:00