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
PJ Reiniger
35744a036e
[wpimath] Move struct/proto classes to separate files ( #5918 )
...
Also add unit tests.
2023-11-21 10:11:57 -08:00
Sam Carlberg
0ca1e9b5f9
[wpimath] Add basic wpiunits support ( #5821 )
...
To reduce the need for users to manually perform unit conversions, this allows Measure objects from wpiunits to be passed into most places in wpimath that currently expect doubles in terms of SI units like meters.
For example, users would need to know that unit conversion is required - and what the correct units are. Using units would be more difficult to write code for than just hardcoding a value or using Units.inchesToMeters.
Now, using units has no more developer overhead than using raw numbers.
2023-11-17 10:45:04 -06:00
Tyler Veness
7d90d0bcc3
[wpimath] Clean up StateSpaceUtil ( #5891 )
2023-11-15 21:13:12 -08:00
Joseph Eng
79dd795bc0
[wpimath] Clean up VecBuilder and MatBuilder ( #5906 )
2023-11-14 12:23:50 -08:00
Peter Johnson
0f8129677b
[build] Distribute wpimath protobuf headers ( #5925 )
2023-11-13 19:50:42 -08:00
DeltaDizzy
78ebc6e9ec
[wpimath] change G to gearing in LinearSystemId factories ( #5834 )
2023-11-12 20:22:39 -08:00
Tyler Veness
3a1194be40
Replace static_cast<void>() with [[maybe_unused]] attribute ( #5892 )
...
This clarifies intent. Not done for thirdparty libraries or
structured binding variables.
2023-11-08 12:47:23 -08:00
Peter Johnson
14dcd0d26f
Use char instead of uint8_t for json::parse ( #5877 )
...
The uint8_t usage causes warnings on newer clang versions.
Add GetCharBuffer() to MemoryBuffer classes to make this easy.
2023-11-04 22:18:42 -07:00
Tyler Veness
201a42a3cd
[wpimath] Reorder TrapezoidProfile.calculate() arguments ( #5874 )
...
ProfiledPIDController and ExponentialProfile use current, then goal.
This isn't a breaking change because this overload of calculate() is
new for 2024.
2023-11-04 16:28:55 -07:00