Commit Graph

6769 Commits

Author SHA1 Message Date
Tyler Veness
19ea73ef69 [upstream_utils] Upgrade to fmtlib 11.0.0 (#6796) 2024-07-02 13:34:59 -07:00
Ryan Blue
6a5448322b [wpilib] Add metadata to all dashboard ".type" entries (#6799) 2024-07-02 13:31:50 -07:00
beardedone55
7366a03fc9 [xrp] Add Support for Encoder Period on XRP (#6795)
The XRP firmware has been updated to provide the
encoder period along with the encoder count.

This change allows WPILIB to use the encoder period
data from the XRP so that the GetRate function can
be used to determine the motor speed.
2024-07-02 13:29:52 -07:00
Chris Padwick
1ccd8d14f0 [build] cmake: Add check for protobuf compiler (#6792) 2024-06-30 20:25:10 -07:00
sciencewhiz
a2beb7510b [ci] Add dispatch to tag PathWeaver and Shuffleboard (#6788) 2024-06-29 13:58:09 -07:00
sciencewhiz
88658fb30b [ci] Patch tools builds to only use local artifacts (#6787) 2024-06-29 12:30:21 -07:00
Gold856
c3c1671cf7 [build] CMake: Fix find_package(wpilib) calls when some libraries are missing (#6784) 2024-06-29 06:55:04 -07:00
Jade
8ba9a55759 [commands] Remove deprecated C++ method TransferOwnership (#6780) 2024-06-29 05:37:29 -07:00
sciencewhiz
8e97587765 [ci] Update tools build year to 2025 (#6783)
Fixes robotbuilder build that failed after 2025 alpha tag
2024-06-28 20:16:48 -07:00
Jade
047eaac11e [wpinet] Remove non GP language (#6774) 2024-06-28 20:14:26 -07:00
Joseph Eng
512a4bfc12 [wpimath] Simplify pose estimator (#6705) 2024-06-28 20:12:12 -07:00
Ryan Blue
5e745bc5ef [ci] Add spotless diff to summary and artifacts (#6779) 2024-06-28 06:29:21 -07:00
Gold856
5ce72d43e4 [build] Fix CMake protobuf dependency handling (#6772)
Reverts #6609 since that fix didn't Just Work(tm) on Windows. (edit: or Ubuntu. Seems to have broken everything except macOS.) This PR configures CMake to try and find protobuf-config.cmake first, which allows protobuf to pull in abseil for us. If protobuf-config.cmake is not available (coprocessors which don't have a new enough protobuf installed are a common case), it will fallback to CMake's built-in FindProtobuf module, which is what we were using before.

Add wpi::CreateMessage, a wrapper with an ifdef to switch between Arena::CreateMessage and Arena::Create, since the former is deprecated in newer versions of protobuf. This allows forward compatibility with newer versions of protobuf.
2024-06-28 06:28:39 -07:00
Tyler Veness
a7173dbd3c [apriltag] Fix GCC 14 calloc() warning (#6773) v2025.0.0-alpha-1 2024-06-23 20:24:45 -07:00
Tyler Veness
2ff7033edf [upstream_utils] Update to LLVM 18.1.8 (#6764) 2024-06-21 23:21:39 -07:00
Wispy
ca92ef89d3 [sim] Don't send joystick data during auto (#6732)
Testing on a Rio showed that the joystick inputs are not zeroed, they just don't update.
2024-06-21 20:56:23 -07:00
Tyler Veness
b8c2571638 [wpimath] Fix precondition violation messages in LQR and Kalman filters (#6731) 2024-06-21 20:55:01 -07:00
Tyler Veness
d2b1aa1869 [sysid] Remove CTRE v5 CANCoder preset (#6753)
Fixes #6466.
2024-06-21 20:54:29 -07:00
Gold856
76a3a60712 [ci] Bump actions versions to Node 20 (#6758)
Bump webfactory/ssh-agent to 0.9.0 (Node 20)
Switch to gradle/actions/wrapper-validation (Node 20)
Bump mozilla-actions/sccache-action to 0.0.5 (Node 20 for sanitizers only)
Bump actions/github-script to 7 (Node 20 for documentation only)
Bump wpilibsuite/import-signing-certificate to 2 (Node 20)
Bump JamesIves/github-pages-deploy-action to 4.6.1 (Node 20)
2024-06-21 20:53:51 -07:00
sciencewhiz
f5df6f88c8 [ci] Add dispatch actions task to ping tools on tag (#6755)
Allows automation of tagging of tools on allwpilib tag
Adapted from robotpy
2024-06-21 17:15:42 -07:00
Gold856
7f5970b27a [ci] Remove unused steps/package installs (#6756)
Removed steps/packages were used for protobuf/generated files
2024-06-21 11:15:42 -07:00
Tyler Veness
25865759f4 [upstream_utils] Upgrade Sleipnir and use wpi::SmallVector (#6748) 2024-06-21 11:14:19 -07:00
Tyler Veness
e2893fc1a3 [upstream_utils] Add wpi::SmallVector erase_if() (#6752) 2024-06-18 14:03:43 -06:00
PJ Reiniger
b6bd798f9e [wpilib] Pregenerate PWM motor controllers (#6742)
Co-authored-by: Gold856 <117957790+Gold856@users.noreply.github.com>
2024-06-18 08:43:08 -06:00
PJ Reiniger
66c0abb732 [build] Use pathlib in pre-generation scripts (#6745) 2024-06-18 08:40:37 -06:00
Brendan Raykoff
e884221a8d [wpilib] Propagate PWMMotorController stopMotor() and disable() to followers (#6750) 2024-06-18 07:40:32 -06:00
Gold856
3a0ee5c9a7 [build] cmake: Improve OpenCV file search (#6747) 2024-06-16 17:08:48 -07:00
Ryan Blue
bb8480c690 [wpilib] Include sendable type information in topic metadata (#6741) 2024-06-14 08:12:18 -06:00
Ryan Blue
d3aa7f85dd [ci] Revert disable std::mutex constexpr constructor on Windows (#6736) 2024-06-12 14:45:59 -06:00
Gold856
3d6b710293 [wpiutil] DataLog: Don't constantly retry log creation when low on space (#6730) 2024-06-10 20:22:50 -06:00
Gold856
ae6954c78f [wpiunits] Clarify return conditions for isEquivalent (NFC) (#6727) 2024-06-09 17:54:31 -06:00
Tyler Veness
a087544933 [upstream_utils] Disable spurious maybe-uninitialized warning from GCC 14 (#6728) 2024-06-09 17:53:38 -06:00
Gold856
b9935c9885 [ci] Fix robotpy PR commenting (#6723) 2024-06-09 06:37:30 -07:00
Ryan Blue
3617a95260 [ci] Disable std::mutex constexpr constructor on Windows (#6725)
Fixes cmake builds, works around issue with windows runners.

Revert when GitHub runner images are fixed.
2024-06-09 06:36:29 -07: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
72ae751b9a [ci] Fix PathWeaver name typo (#6717) 2024-06-08 11:58:45 -07:00
Tyler Veness
27cbbfe2ab [upstream_utils] Update to LLVM 18.1.7 (#6715) 2024-06-08 11:24:42 -07:00
Gold856
65c6306047 [wpilib,commands] Use Jinja to generate HID classes (#6274) 2024-06-08 09:59:07 -07:00
sciencewhiz
a0efc9ca31 [ci] Add workflow to build java tools for PRs (#6698)
This can catch breaking changes earlier.
- Builds linux only for speed
- Builds and publishes artifacts in this file as it was actually faster
then reusing the artifacts from the gradle file as those need the
combiner run on them. It uploads the artifacts to Actions with a 1 day
retention, because that allows the tools to be built in parallel, which
overall sped things up. This also only allows relevant tasks in wpilib
to be run
- The tool builds are uploaded with a shorter retention time in case
someone wants to do more extensive tests.
2024-06-08 09:55:07 -07:00
Thad House
917b5dde66 [build] Update Native Utils, remove all rpath tricks (#6671)
With fixes to Windows and macOS library path handling, all the tricks we used in the past to make library loading work are no longer required.
2024-06-08 09:52:29 -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
Gold856
1c884b2260 [ci] Use the comment command token for robotpy comment action (#6711) 2024-06-07 16:15:30 -07:00
Gold856
5b94421b5a [ci] Fix permissions for commenting on commands PRs (#6708) 2024-06-06 10:39:58 -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
Wispy
df4694c9df [wpinet] Add indication of success/failure to PortForwarder (#6697) 2024-06-04 21:09:45 -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
Joseph Eng
d6b66bfa55 [wpiutil] Add remove_prefix() and remove_suffix() (#6118) 2024-06-04 21:01:52 -07:00