From 252cbe193994a109aa9bdf236389dba39193a566 Mon Sep 17 00:00:00 2001 From: Jonah Bonner <47046556+jwbonner@users.noreply.github.com> Date: Wed, 16 Oct 2024 18:53:58 -0400 Subject: [PATCH] Update to WPILib 2025.1.1-beta-1 (#103) * Update to WPILib 2025.1.1-beta-1 * Fix methods using `WPI_String` * Fix Java 17 build * Attempt to fix Windows * Update vendordep year * Fix segfault * Add logging for comms disable count --- .bazelrc | 7 +- .github/workflows/build.yml | 22 +-- build_tools/repo/vendordep/vendordep_top.tpl | 2 +- .../littletonrobotics/conduit/ConduitApi.java | 4 + conduit/conduit_schema.fbs | 1 + conduit/wpilibio/src/system_reader.cc | 28 ++-- frcmaven_install.json | 144 +++++++++--------- generate_library_deps.py | 4 +- .../littletonrobotics/junction/LogTable.java | 75 +++++---- .../littletonrobotics/junction/Logger.java | 2 +- .../junction/inputs/LoggedSystemStats.java | 4 + .../junction/wpilog/WPILOGWriter.java | 6 +- .../wpi/first/wpilibj/PowerDistribution.java | 10 +- .../wpi/first/wpilibj/RobotController.java | 26 +++- .../src/edu/wpi/first/wpilibj/TimedRobot.java | 12 +- library_deps.bzl | 132 ++++++++-------- 16 files changed, 273 insertions(+), 206 deletions(-) diff --git a/.bazelrc b/.bazelrc index a480f1c6..c4dbab73 100644 --- a/.bazelrc +++ b/.bazelrc @@ -2,7 +2,10 @@ try-import %workspace%/user.bazelrc build --enable_platform_specific_config build --enable_runfiles -build --java_language_version=11 +build --java_language_version=17 +build --java_runtime_version=17 +build --tool_java_language_version=17 +build --tool_java_runtime_version=17 build --spawn_strategy=local # This disables sandboxing, which is a stopgap instead of using SandboxFS (we'd like to do this eventually, WPILib toolchain doesn't like the symlink tree) build --incompatible_enable_cc_toolchain_resolution # Enables the new toolchain identification feature which uses platforms to find the right cc toolchain @@ -17,6 +20,6 @@ build:athena --cxxopt=-std=c++20 --cxxopt=-pedantic-errors build:athena --platform_suffix=_athena build:linux --cxxopt=-std=c++20 --cxxopt=-pedantic-errors build:macos --cxxopt=-std=c++20 --cxxopt=-pedantic-errors -build:windows --cxxopt=/std:c++20 +build:windows --cxxopt=/std:c++20 --cxxopt=/utf-8 test --test_output=all # Show stdout for any tests that do not pass diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4e6f67e6..9ec17c05 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: "temurin" - java-version: "11" + java-version: "17" - name: "Build all" run: bazelisk build --config=athena --verbose_failures ... - name: "Release: Get version number" @@ -149,9 +149,9 @@ jobs: - name: 'Release: Upload "junction/shims/wpilib" to GitHub' if: github.event_name == 'release' run: bazelisk run --define "maven_repo=https://maven.pkg.github.com/Mechanical-Advantage/AdvantageKit" --define "maven_user=Mechanical-Advantage" --define "maven_password=${{ secrets.GITHUB_TOKEN }}" --define "publishing_version=${{ steps.get_version.outputs.version-without-v }}" //junction/shims/wpilib:wpilib-export.publish - + # Upload local repo - - name: 'Release: Upload local repo' + - name: "Release: Upload local repo" uses: actions/upload-artifact@v3 if: github.event_name == 'release' with: @@ -163,25 +163,25 @@ jobs: matrix: host: - { - os: macos-12, - displayName: "macOS", + os: macos-12, + displayName: "macOS", classifier: "osxuniversal", mavenLocal: "file://$HOME/maven_offline", - mavenLocalUpload: "~/maven_offline" + mavenLocalUpload: "~/maven_offline", } - { os: ubuntu-22.04, displayName: "Linux", classifier: "linuxx86-64", mavenLocal: "file://$HOME/maven_offline", - mavenLocalUpload: "~/maven_offline" + mavenLocalUpload: "~/maven_offline", } - { os: windows-2019, displayName: "Windows", classifier: "windowsx86-64", mavenLocal: "file://%userprofile%\\maven_offline", - mavenLocalUpload: "%userprofile%/maven_offline" + mavenLocalUpload: "%userprofile%/maven_offline", } name: Build for ${{ matrix.host.displayName }} @@ -195,7 +195,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: "temurin" - java-version: "11" + java-version: "17" - name: "Build all" run: bazelisk build --verbose_failures ... - name: "Test all" @@ -229,7 +229,7 @@ jobs: run: python3 build_tools/repo/publish_zip.py --url https://maven.pkg.github.com/Mechanical-Advantage/AdvantageKit --group_id org.littletonrobotics.akit.conduit --artifact_id conduit-wpilibio --version ${{ steps.get_version.outputs.version-without-v }} --classifier ${{ matrix.host.classifier }} --file_path bazel-bin/conduit/wpilibio/wpilibio-${{ steps.get_version.outputs.version-without-v }}-${{ matrix.host.classifier }}.zip --username Mechanical-Advantage --access_token ${{ secrets.GITHUB_TOKEN }} # Upload local repo - - name: 'Release: Upload local repo' + - name: "Release: Upload local repo" uses: actions/upload-artifact@v3 if: github.event_name == 'release' with: @@ -283,4 +283,4 @@ jobs: upload_url: ${{ steps.get_release_info.outputs.upload_url }} asset_path: maven_offline.zip asset_name: maven_offline.zip - asset_content_type: application/zip \ No newline at end of file + asset_content_type: application/zip diff --git a/build_tools/repo/vendordep/vendordep_top.tpl b/build_tools/repo/vendordep/vendordep_top.tpl index a2231030..1a1aaa67 100644 --- a/build_tools/repo/vendordep/vendordep_top.tpl +++ b/build_tools/repo/vendordep/vendordep_top.tpl @@ -3,7 +3,7 @@ "name": "{name}", "version": "{version}", "uuid": "{uuid}", - "frcYear": "2024", + "frcYear": "2025", "mavenUrls": [], "jsonUrl": "https://github.com/Mechanical-Advantage/AdvantageKit/releases/latest/download/AdvantageKit.json", "javaDependencies": [{javaDependencies} ], diff --git a/conduit/api/src/org/littletonrobotics/conduit/ConduitApi.java b/conduit/api/src/org/littletonrobotics/conduit/ConduitApi.java index 8f114053..a99dec9c 100644 --- a/conduit/api/src/org/littletonrobotics/conduit/ConduitApi.java +++ b/conduit/api/src/org/littletonrobotics/conduit/ConduitApi.java @@ -245,6 +245,10 @@ public boolean getBrownedOut() { return sys.brownedOut() != 0; } + public int getCommsDisableCount() { + return sys.commsDisableCount(); + } + public boolean getRSLState() { return sys.rslState() != 0; } diff --git a/conduit/conduit_schema.fbs b/conduit/conduit_schema.fbs index 8aade3b0..d3c11fee 100644 --- a/conduit/conduit_schema.fbs +++ b/conduit/conduit_schema.fbs @@ -70,6 +70,7 @@ struct SystemData { fpga_button:int32; system_active:int32; browned_out:int32; + comms_disable_count:int32; rsl_state:int32; system_time_valid:int32; voltage_vin:float64; diff --git a/conduit/wpilibio/src/system_reader.cc b/conduit/wpilibio/src/system_reader.cc index f61f6518..36572c19 100644 --- a/conduit/wpilibio/src/system_reader.cc +++ b/conduit/wpilibio/src/system_reader.cc @@ -37,17 +37,17 @@ void SystemReader::read(schema::SystemData* system_buf) { system_buf->mutate_fpga_version(HAL_GetFPGAVersion(&status)); system_buf->mutate_fpga_revision(HAL_GetFPGARevision(&status)); - char serialNum[9]; - size_t serialNumLen = HAL_GetSerialNumber(serialNum, sizeof(serialNum)); - system_buf->mutate_serial_number_size(serialNumLen); - std::memcpy(system_buf->mutable_serial_number()->Data(), serialNum, - system_buf->serial_number()->size()); - - char comments[65]; - size_t commentsLen = HAL_GetComments(comments, sizeof(comments)); - system_buf->mutate_comments_size(commentsLen); - std::memcpy(system_buf->mutable_comments()->Data(), comments, - system_buf->comments()->size()); + WPI_String serialNum; + HAL_GetSerialNumber(&serialNum); + system_buf->mutate_serial_number_size(serialNum.len); + std::memcpy(system_buf->mutable_serial_number()->Data(), serialNum.str, + serialNum.len); + + WPI_String comments; + HAL_GetComments(&comments); + system_buf->mutate_comments_size(comments.len); + std::memcpy(system_buf->mutable_comments()->Data(), comments.str, + comments.len); system_buf->mutate_team_number(HAL_GetTeamNumber()); } @@ -55,6 +55,7 @@ void SystemReader::read(schema::SystemData* system_buf) { system_buf->mutate_fpga_button(HAL_GetFPGAButton(&status)); system_buf->mutate_system_active(HAL_GetSystemActive(&status)); system_buf->mutate_browned_out(HAL_GetBrownedOut(&status)); + system_buf->mutate_comms_disable_count(HAL_GetCommsDisableCount(&status)); system_buf->mutate_rsl_state(HAL_GetRSLState(&status)); if (cycleCount % 50 == 0) { // This read takes longer @@ -91,8 +92,9 @@ void SystemReader::read(schema::SystemData* system_buf) { uint32_t tx_full_count = 0; uint32_t receive_error_count = 0; uint32_t transmit_error_count = 0; - HAL_CAN_GetCANStatus(&percent_bus_utilization, &bus_off_count, &tx_full_count, - &receive_error_count, &transmit_error_count, &status); + HAL_CAN_GetCANStatus(&percent_bus_utilization, &bus_off_count, + &tx_full_count, &receive_error_count, + &transmit_error_count, &status); system_buf->mutable_can_status().mutate_percent_bus_utilization( percent_bus_utilization); diff --git a/frcmaven_install.json b/frcmaven_install.json index c0907b2e..9b7e5603 100644 --- a/frcmaven_install.json +++ b/frcmaven_install.json @@ -1,97 +1,97 @@ { "dependency_tree": { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 250602098, - "__RESOLVED_ARTIFACTS_HASH": 653131711, + "__INPUT_ARTIFACTS_HASH": 430093443, + "__RESOLVED_ARTIFACTS_HASH": 1577932018, "conflict_resolution": {}, "dependencies": [ { - "coord": "edu.wpi.first.cameraserver:cameraserver-java:jar:sources:2024.3.2", + "coord": "edu.wpi.first.cameraserver:cameraserver-java:jar:sources:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2024.3.2/cameraserver-java-2024.3.2-sources.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2025.1.1-beta-1/cameraserver-java-2025.1.1-beta-1-sources.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2024.3.2/cameraserver-java-2024.3.2-sources.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2025.1.1-beta-1/cameraserver-java-2025.1.1-beta-1-sources.jar" ], - "sha256": "c7563237336ce24ee53f2b027c2525317fb6aefa8558ed0381b38f8574d6b9c6", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2024.3.2/cameraserver-java-2024.3.2-sources.jar" + "sha256": "16b45f29364600fc2c24273755392ef85ff68ee79c4f823176485f5542ed10d2", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2025.1.1-beta-1/cameraserver-java-2025.1.1-beta-1-sources.jar" }, { - "coord": "edu.wpi.first.cameraserver:cameraserver-java:2024.3.2", + "coord": "edu.wpi.first.cameraserver:cameraserver-java:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2024.3.2/cameraserver-java-2024.3.2.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2025.1.1-beta-1/cameraserver-java-2025.1.1-beta-1.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2024.3.2/cameraserver-java-2024.3.2.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2025.1.1-beta-1/cameraserver-java-2025.1.1-beta-1.jar" ], - "sha256": "e1ab57b422cc116266c4e474af27afddd7cd7eb4d02dda7992d6e7238c8fa2a3", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2024.3.2/cameraserver-java-2024.3.2.jar" + "sha256": "5d63a44b858ccba23c0658e48d197881468f4978b05b64985950982a44695bbc", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cameraserver/cameraserver-java/2025.1.1-beta-1/cameraserver-java-2025.1.1-beta-1.jar" }, { - "coord": "edu.wpi.first.cscore:cscore-java:jar:sources:2024.3.2", + "coord": "edu.wpi.first.cscore:cscore-java:jar:sources:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2024.3.2/cscore-java-2024.3.2-sources.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2025.1.1-beta-1/cscore-java-2025.1.1-beta-1-sources.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2024.3.2/cscore-java-2024.3.2-sources.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2025.1.1-beta-1/cscore-java-2025.1.1-beta-1-sources.jar" ], - "sha256": "da7b7b38c53930dd7ed45da3b691bb09c9a0b79573d3dacaf59048a27a11ed6e", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2024.3.2/cscore-java-2024.3.2-sources.jar" + "sha256": "0bddfdf44bf2e7f501746107fd91e8f3f03afd463cddcc7a4946cf591bf82c1f", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2025.1.1-beta-1/cscore-java-2025.1.1-beta-1-sources.jar" }, { - "coord": "edu.wpi.first.cscore:cscore-java:2024.3.2", + "coord": "edu.wpi.first.cscore:cscore-java:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2024.3.2/cscore-java-2024.3.2.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2025.1.1-beta-1/cscore-java-2025.1.1-beta-1.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2024.3.2/cscore-java-2024.3.2.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2025.1.1-beta-1/cscore-java-2025.1.1-beta-1.jar" ], - "sha256": "f84a294febc0fe11c9e83f7a517ad6c1718874a773ff184599d180fcbce8c853", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2024.3.2/cscore-java-2024.3.2.jar" + "sha256": "ecbae019836bfdddc7faac8130aee45b246ee865b91a96299ef628ee799785d0", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/cscore/cscore-java/2025.1.1-beta-1/cscore-java-2025.1.1-beta-1.jar" }, { - "coord": "edu.wpi.first.hal:hal-java:jar:sources:2024.3.2", + "coord": "edu.wpi.first.hal:hal-java:jar:sources:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2024.3.2/hal-java-2024.3.2-sources.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2025.1.1-beta-1/hal-java-2025.1.1-beta-1-sources.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2024.3.2/hal-java-2024.3.2-sources.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2025.1.1-beta-1/hal-java-2025.1.1-beta-1-sources.jar" ], - "sha256": "3d39302324b1752c766e0e993ddf688eb5af62ceb15e5f3dc9b0a09ed39634b6", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2024.3.2/hal-java-2024.3.2-sources.jar" + "sha256": "e2df01c9d88f1a66b3423d5501f319e7e6b360c13ddc446afc8bee5eb87e7023", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2025.1.1-beta-1/hal-java-2025.1.1-beta-1-sources.jar" }, { - "coord": "edu.wpi.first.hal:hal-java:2024.3.2", + "coord": "edu.wpi.first.hal:hal-java:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2024.3.2/hal-java-2024.3.2.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2025.1.1-beta-1/hal-java-2025.1.1-beta-1.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2024.3.2/hal-java-2024.3.2.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2025.1.1-beta-1/hal-java-2025.1.1-beta-1.jar" ], - "sha256": "3c07e9d8c59f4f9d0863587499adfb56e97904e3d4b8b81de1acbe48f924dd04", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2024.3.2/hal-java-2024.3.2.jar" + "sha256": "2b98b7f8163ea6c5cd39157c01cfe9b9709fa64a0770706d4c66c7293c02e993", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-java/2025.1.1-beta-1/hal-java-2025.1.1-beta-1.jar" }, { - "coord": "edu.wpi.first.ntcore:ntcore-java:jar:sources:2024.3.2", + "coord": "edu.wpi.first.ntcore:ntcore-java:jar:sources:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2024.3.2/ntcore-java-2024.3.2-sources.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2025.1.1-beta-1/ntcore-java-2025.1.1-beta-1-sources.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2024.3.2/ntcore-java-2024.3.2-sources.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2025.1.1-beta-1/ntcore-java-2025.1.1-beta-1-sources.jar" ], - "sha256": "03429dd88039b33a531c03e306c545262e11be77e2f1a037aebd0645e219b533", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2024.3.2/ntcore-java-2024.3.2-sources.jar" + "sha256": "b309a6de4a1114b4323abae58a1fa0452100bfb66d01e0fd3fb25d76bfe2ab95", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2025.1.1-beta-1/ntcore-java-2025.1.1-beta-1-sources.jar" }, { - "coord": "edu.wpi.first.ntcore:ntcore-java:2024.3.2", + "coord": "edu.wpi.first.ntcore:ntcore-java:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2024.3.2/ntcore-java-2024.3.2.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2025.1.1-beta-1/ntcore-java-2025.1.1-beta-1.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2024.3.2/ntcore-java-2024.3.2.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2025.1.1-beta-1/ntcore-java-2025.1.1-beta-1.jar" ], - "sha256": "97fd22badcf89d49e5080a6aa930926a5e560f57f95612c888c155e7e4a3f017", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2024.3.2/ntcore-java-2024.3.2.jar" + "sha256": "7ae375a41bdf3b8fae478dcff5f8a28e5fbefa02a04319302651de65008e1086", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-java/2025.1.1-beta-1/ntcore-java-2025.1.1-beta-1.jar" }, { "coord": "edu.wpi.first.thirdparty.frc2024.opencv:opencv-java:jar:sources:4.8.0-2", @@ -116,70 +116,70 @@ "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/thirdparty/frc2024/opencv/opencv-java/4.8.0-2/opencv-java-4.8.0-2.jar" }, { - "coord": "edu.wpi.first.wpimath:wpimath-java:jar:sources:2024.3.2", + "coord": "edu.wpi.first.wpimath:wpimath-java:jar:sources:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2024.3.2/wpimath-java-2024.3.2-sources.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2025.1.1-beta-1/wpimath-java-2025.1.1-beta-1-sources.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2024.3.2/wpimath-java-2024.3.2-sources.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2025.1.1-beta-1/wpimath-java-2025.1.1-beta-1-sources.jar" ], - "sha256": "f3eb0001f57e75cf44eeb975a9e639d5f3cd2cde81e02aed75cec135e241b8f7", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2024.3.2/wpimath-java-2024.3.2-sources.jar" + "sha256": "a6b926fdae3778c31763415494a20b29ef0929e51c56e8ed95a3454116b02356", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2025.1.1-beta-1/wpimath-java-2025.1.1-beta-1-sources.jar" }, { - "coord": "edu.wpi.first.wpimath:wpimath-java:2024.3.2", + "coord": "edu.wpi.first.wpimath:wpimath-java:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2024.3.2/wpimath-java-2024.3.2.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2025.1.1-beta-1/wpimath-java-2025.1.1-beta-1.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2024.3.2/wpimath-java-2024.3.2.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2025.1.1-beta-1/wpimath-java-2025.1.1-beta-1.jar" ], - "sha256": "6933ee9a12965917d08f60135fc0dbb95d70066b75dbf6c673abd59ec7fbff87", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2024.3.2/wpimath-java-2024.3.2.jar" + "sha256": "4dd74c798eadfb1101e86a42695b8f833205ad78f7b079db8aa4ccc35a762111", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-java/2025.1.1-beta-1/wpimath-java-2025.1.1-beta-1.jar" }, { - "coord": "edu.wpi.first.wpiunits:wpiunits-java:jar:sources:2024.3.2", + "coord": "edu.wpi.first.wpiunits:wpiunits-java:jar:sources:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2024.3.2/wpiunits-java-2024.3.2-sources.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2025.1.1-beta-1/wpiunits-java-2025.1.1-beta-1-sources.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2024.3.2/wpiunits-java-2024.3.2-sources.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2025.1.1-beta-1/wpiunits-java-2025.1.1-beta-1-sources.jar" ], - "sha256": "97e6c543730effcd5af2381894a6d8b8c7b6db9efdab8ba5c02ecef7ae4df5ab", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2024.3.2/wpiunits-java-2024.3.2-sources.jar" + "sha256": "7a98dbae7aac9f938e1a6fc8dcc443e9dd4b542d297b73644f0cb62fa4a27420", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2025.1.1-beta-1/wpiunits-java-2025.1.1-beta-1-sources.jar" }, { - "coord": "edu.wpi.first.wpiunits:wpiunits-java:2024.3.2", + "coord": "edu.wpi.first.wpiunits:wpiunits-java:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2024.3.2/wpiunits-java-2024.3.2.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2025.1.1-beta-1/wpiunits-java-2025.1.1-beta-1.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2024.3.2/wpiunits-java-2024.3.2.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2025.1.1-beta-1/wpiunits-java-2025.1.1-beta-1.jar" ], - "sha256": "c4d70c7bfd83cf6578bd218f755313da15c83f0bade97bcf05d1bb7bd0c1f03c", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2024.3.2/wpiunits-java-2024.3.2.jar" + "sha256": "e4efbe80d625c6d5696e8aa2fe91b13710927a71f42ed972948edb933be441b8", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiunits/wpiunits-java/2025.1.1-beta-1/wpiunits-java-2025.1.1-beta-1.jar" }, { - "coord": "edu.wpi.first.wpiutil:wpiutil-java:jar:sources:2024.3.2", + "coord": "edu.wpi.first.wpiutil:wpiutil-java:jar:sources:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2024.3.2/wpiutil-java-2024.3.2-sources.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2025.1.1-beta-1/wpiutil-java-2025.1.1-beta-1-sources.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2024.3.2/wpiutil-java-2024.3.2-sources.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2025.1.1-beta-1/wpiutil-java-2025.1.1-beta-1-sources.jar" ], - "sha256": "c9921e22da76cf08319f757014681942bf9acb16a5368765fb93a0e473ecbe67", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2024.3.2/wpiutil-java-2024.3.2-sources.jar" + "sha256": "2bddce05859ed96cf33966ee40ef63827a09b79663d04afc8cfdf4013eabe9f6", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2025.1.1-beta-1/wpiutil-java-2025.1.1-beta-1-sources.jar" }, { - "coord": "edu.wpi.first.wpiutil:wpiutil-java:2024.3.2", + "coord": "edu.wpi.first.wpiutil:wpiutil-java:2025.1.1-beta-1", "dependencies": [], "directDependencies": [], - "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2024.3.2/wpiutil-java-2024.3.2.jar", + "file": "v1/https/frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2025.1.1-beta-1/wpiutil-java-2025.1.1-beta-1.jar", "mirror_urls": [ - "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2024.3.2/wpiutil-java-2024.3.2.jar" + "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2025.1.1-beta-1/wpiutil-java-2025.1.1-beta-1.jar" ], - "sha256": "47d49d5e01b945b67f2850b0c1775fcb9fc39341384453b2c9f16b6094704556", - "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2024.3.2/wpiutil-java-2024.3.2.jar" + "sha256": "7503a85e07319ce94394fa0c2b332d656599773cfd897b0e9d851a07dec065c7", + "url": "https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-java/2025.1.1-beta-1/wpiutil-java-2025.1.1-beta-1.jar" } ], "version": "0.1.0" diff --git a/generate_library_deps.py b/generate_library_deps.py index 5c5b9890..bb53ec96 100644 --- a/generate_library_deps.py +++ b/generate_library_deps.py @@ -25,8 +25,8 @@ FRC_ARTIFACTORY_URL = "https://frcmaven.wpi.edu/artifactory" # Version of WPILib dependencies to use -NI_VERSION = "2024.2.1" -WPILIB_VERSION = "2024.3.2" +NI_VERSION = "2025.0.0" +WPILIB_VERSION = "2025.1.1-beta-1" # --- Artifacts and versions --- # Dependencies to pull from standard maven repositories (currently just central) diff --git a/junction/core/src/org/littletonrobotics/junction/LogTable.java b/junction/core/src/org/littletonrobotics/junction/LogTable.java index b7b7048f..6152fff9 100644 --- a/junction/core/src/org/littletonrobotics/junction/LogTable.java +++ b/junction/core/src/org/littletonrobotics/junction/LogTable.java @@ -27,6 +27,7 @@ import org.littletonrobotics.junction.LogTable.LogValue; +import edu.wpi.first.units.mutable.GenericMutableMeasureImpl; import edu.wpi.first.units.ImmutableMeasure; import edu.wpi.first.units.MutableMeasure; import edu.wpi.first.units.Measure; @@ -185,7 +186,8 @@ private boolean writeAllowed(String key, LoggableType type) { * as a different type. */ public void put(String key, LogValue value) { - if (value == null) return; + if (value == null) + return; if (writeAllowed(key, value.type)) { data.put(prefix + key, value); } @@ -196,7 +198,8 @@ public void put(String key, LogValue value) { * as a different type. */ public void put(String key, byte[] value) { - if (value == null) return; + if (value == null) + return; byte[] valueClone = new byte[value.length]; System.arraycopy(value, 0, valueClone, 0, value.length); put(key, new LogValue(valueClone, null)); @@ -247,7 +250,8 @@ public void put(String key, double value) { * a different type. */ public void put(String key, String value) { - if (value == null) return; + if (value == null) + return; put(key, new LogValue(value, null)); } @@ -256,7 +260,8 @@ public void put(String key, String value) { * a different type. */ public > void put(String key, E value) { - if (value == null) return; + if (value == null) + return; put(key, new LogValue(value.name(), null)); } @@ -264,8 +269,9 @@ public > void put(String key, E value) { * Writes a new Measure value to the table. Skipped if the key already exists as * a different type. */ - public > void put(String key, Measure value) { - if (value == null) return; + public void put(String key, Measure value) { + if (value == null) + return; put(key, new LogValue(value.baseUnitMagnitude(), null)); } @@ -274,7 +280,8 @@ public > void put(String key, Measure value) { * exists as a different type. */ public void put(String key, boolean[] value) { - if (value == null) return; + if (value == null) + return; boolean[] valueClone = new boolean[value.length]; System.arraycopy(value, 0, valueClone, 0, value.length); put(key, new LogValue(valueClone, null)); @@ -285,7 +292,8 @@ public void put(String key, boolean[] value) { * exists as a different type. */ public void put(String key, int[] value) { - if (value == null) return; + if (value == null) + return; long[] valueClone = new long[value.length]; for (int i = 0; i < value.length; i++) { valueClone[i] = value[i]; @@ -298,7 +306,8 @@ public void put(String key, int[] value) { * exists as a different type. */ public void put(String key, long[] value) { - if (value == null) return; + if (value == null) + return; long[] valueClone = new long[value.length]; System.arraycopy(value, 0, valueClone, 0, value.length); put(key, new LogValue(valueClone, null)); @@ -309,7 +318,8 @@ public void put(String key, long[] value) { * exists as a different type. */ public void put(String key, float[] value) { - if (value == null) return; + if (value == null) + return; float[] valueClone = new float[value.length]; System.arraycopy(value, 0, valueClone, 0, value.length); put(key, new LogValue(valueClone, null)); @@ -320,7 +330,8 @@ public void put(String key, float[] value) { * exists as a different type. */ public void put(String key, double[] value) { - if (value == null) return; + if (value == null) + return; double[] valueClone = new double[value.length]; System.arraycopy(value, 0, valueClone, 0, value.length); put(key, new LogValue(valueClone, null)); @@ -331,7 +342,8 @@ public void put(String key, double[] value) { * exists as a different type. */ public void put(String key, String[] value) { - if (value == null) return; + if (value == null) + return; String[] valueClone = new String[value.length]; System.arraycopy(value, 0, valueClone, 0, value.length); put(key, new LogValue(valueClone, null)); @@ -363,7 +375,8 @@ private void addStructSchema(Struct struct, Set seen) { */ @SuppressWarnings("unchecked") public void put(String key, Struct struct, T value) { - if (value == null) return; + if (value == null) + return; if (writeAllowed(key, LoggableType.Raw)) { addStructSchema(struct, new HashSet<>()); if (!structBuffers.containsKey(struct.getTypeString())) { @@ -384,7 +397,8 @@ public void put(String key, Struct struct, T value) { */ @SuppressWarnings("unchecked") public void put(String key, Struct struct, T... value) { - if (value == null) return; + if (value == null) + return; if (writeAllowed(key, LoggableType.Raw)) { addStructSchema(struct, new HashSet<>()); if (!structBuffers.containsKey(struct.getTypeString())) { @@ -405,7 +419,8 @@ public void put(String key, Struct struct, T... value) { */ @SuppressWarnings("unchecked") public > void put(String key, Protobuf proto, T value) { - if (value == null) return; + if (value == null) + return; if (writeAllowed(key, LoggableType.Raw)) { proto.forEachDescriptor((name) -> data.containsKey("/.schema/" + name), (typeString, schema) -> data .put("/.schema/" + typeString, new LogValue(schema, "proto:FileDescriptorProto"))); @@ -427,11 +442,11 @@ public > void put(String key, Protobuf findStructType(Class classObj) { */ @SuppressWarnings("unchecked") public void put(String key, T value) { - if (value == null) return; + if (value == null) + return; // If struct is supported, write as struct Struct struct = (Struct) findStructType(value.getClass()); if (struct != null) { @@ -503,7 +519,8 @@ public void put(String key, T value) { */ @SuppressWarnings("unchecked") public void put(String key, T... value) { - if (value == null) return; + if (value == null) + return; // If struct is supported, write as struct Struct struct = (Struct) findStructType(value.getClass().getComponentType()); if (struct != null) { @@ -594,20 +611,22 @@ public > E get(String key, E defaultValue) { } /** Reads a Measure value from the table. */ - public > Measure get(String key, Measure defaultValue) { + public > M get(String key, M defaultValue) { if (data.containsKey(prefix + key)) { - double value = get(key).getDouble(defaultValue.magnitude()); - return ImmutableMeasure.ofBaseUnits(value, defaultValue.unit()); + double value = get(key).getDouble(defaultValue.baseUnitMagnitude()); + return (M) defaultValue.unit().ofBaseUnits(value); } else { return defaultValue; } } /** Reads a MutableMeasure value from the table. */ - public > MutableMeasure get(String key, MutableMeasure defaultValue) { + public , M extends MutableMeasure> M get( + String key, M defaultValue) { if (data.containsKey(prefix + key)) { - double value = get(key).getDouble(defaultValue.magnitude()); - return MutableMeasure.ofBaseUnits(value, defaultValue.unit()); + double baseValue = get(key).getDouble(defaultValue.baseUnitMagnitude()); + double relativeValue = defaultValue.unit().fromBaseUnits(baseValue); + return (M) new GenericMutableMeasureImpl<>(relativeValue, baseValue, defaultValue.unit()); } else { return defaultValue; } diff --git a/junction/core/src/org/littletonrobotics/junction/Logger.java b/junction/core/src/org/littletonrobotics/junction/Logger.java index a9a7490b..65b8e9f7 100644 --- a/junction/core/src/org/littletonrobotics/junction/Logger.java +++ b/junction/core/src/org/littletonrobotics/junction/Logger.java @@ -628,7 +628,7 @@ public static > void recordOutput(String key, E value) { * "/RealOutputs" or "/ReplayOutputs" * @param value The value of the field. */ - public static > void recordOutput(String key, Measure value) { + public static void recordOutput(String key, Measure value) { if (running) { outputTable.put(key, value); } diff --git a/junction/core/src/org/littletonrobotics/junction/inputs/LoggedSystemStats.java b/junction/core/src/org/littletonrobotics/junction/inputs/LoggedSystemStats.java index 7ff09d00..2dc6a769 100644 --- a/junction/core/src/org/littletonrobotics/junction/inputs/LoggedSystemStats.java +++ b/junction/core/src/org/littletonrobotics/junction/inputs/LoggedSystemStats.java @@ -37,6 +37,7 @@ public static class SystemStatsInputs implements LoggableInputs { public boolean fpgaButton = false; public boolean systemActive = false; public boolean brownedOut = false; + public int commsDisableCount = 0; public boolean rslState = false; public boolean systemTimeValid = false; public double voltageVin = 12.0; @@ -68,6 +69,7 @@ public void toLog(LogTable table) { table.put("FPGAButton", fpgaButton); table.put("SystemActive", systemActive); table.put("BrownedOut", brownedOut); + table.put("CommsDisableCount", commsDisableCount); table.put("RSLState", rslState); table.put("SystemTimeValid", systemTimeValid); @@ -110,6 +112,7 @@ public void fromLog(LogTable table) { teamNumber = table.get("TeamNumber", teamNumber); fpgaButton = table.get("FPGAButton", fpgaButton); systemActive = table.get("SystemActive", systemActive); + commsDisableCount = table.get("CommsDisableCount", commsDisableCount); brownedOut = table.get("BrownedOut", brownedOut); rslState = table.get("RSLState", rslState); systemTimeValid = table.get("SystemTimeValid", systemTimeValid); @@ -159,6 +162,7 @@ public static void periodic() { sysInputs.fpgaButton = conduit.getFPGAButton(); sysInputs.systemActive = conduit.getSystemActive(); sysInputs.brownedOut = conduit.getBrownedOut(); + sysInputs.commsDisableCount = conduit.getCommsDisableCount(); sysInputs.rslState = conduit.getRSLState(); sysInputs.systemTimeValid = conduit.getSystemTimeValid(); diff --git a/junction/core/src/org/littletonrobotics/junction/wpilog/WPILOGWriter.java b/junction/core/src/org/littletonrobotics/junction/wpilog/WPILOGWriter.java index c5ba3864..a1f0f33d 100644 --- a/junction/core/src/org/littletonrobotics/junction/wpilog/WPILOGWriter.java +++ b/junction/core/src/org/littletonrobotics/junction/wpilog/WPILOGWriter.java @@ -29,7 +29,7 @@ import org.littletonrobotics.junction.LogTable.LoggableType; import org.littletonrobotics.junction.Logger; -import edu.wpi.first.util.datalog.DataLog; +import edu.wpi.first.util.datalog.DataLogBackgroundWriter; import edu.wpi.first.wpilibj.DriverStation; import edu.wpi.first.wpilibj.DriverStation.MatchType; import edu.wpi.first.wpilibj.RobotBase; @@ -54,7 +54,7 @@ public class WPILOGWriter implements LogDataReceiver { private LocalDateTime logDate; private String logMatchText; - private DataLog log; + private DataLogBackgroundWriter log; private LogTable lastTable; private int timestampID; private Map entryIDs; @@ -129,7 +129,7 @@ public void start() { } // Create new log - log = new DataLog(folder, filename, writePeriodSecs, WPILOGConstants.extraHeader); + log = new DataLogBackgroundWriter(folder, filename, writePeriodSecs, WPILOGConstants.extraHeader); timestampID = log.start(timestampKey, LoggableType.Integer.getWPILOGType(), WPILOGConstants.entryMetadata, 0); lastTable = new LogTable(0); diff --git a/junction/shims/wpilib/src/edu/wpi/first/wpilibj/PowerDistribution.java b/junction/shims/wpilib/src/edu/wpi/first/wpilibj/PowerDistribution.java index 209f8b62..a93b1270 100644 --- a/junction/shims/wpilib/src/edu/wpi/first/wpilibj/PowerDistribution.java +++ b/junction/shims/wpilib/src/edu/wpi/first/wpilibj/PowerDistribution.java @@ -117,10 +117,18 @@ public double getTemperature() { */ public double getCurrent(int channel) { double current = LoggedPowerDistribution.getInstance().getInputs().pdpChannelCurrents[channel]; - return current; } + /** + * Query all currents of the PDP. + * + * @return The current of each channel in Amperes + */ + public double[] getAllCurrents() { + return LoggedPowerDistribution.getInstance().getInputs().pdpChannelCurrents.clone(); + } + /** * Query the current of all monitored channels. * diff --git a/junction/shims/wpilib/src/edu/wpi/first/wpilibj/RobotController.java b/junction/shims/wpilib/src/edu/wpi/first/wpilibj/RobotController.java index d18e5b7c..d77b2c1f 100644 --- a/junction/shims/wpilib/src/edu/wpi/first/wpilibj/RobotController.java +++ b/junction/shims/wpilib/src/edu/wpi/first/wpilibj/RobotController.java @@ -20,6 +20,7 @@ import org.littletonrobotics.junction.Logger; import org.littletonrobotics.junction.inputs.LoggedSystemStats; +import edu.wpi.first.hal.HAL; import edu.wpi.first.hal.HALUtil; import edu.wpi.first.hal.LEDJNI; import edu.wpi.first.hal.PowerJNI; @@ -139,6 +140,16 @@ public static boolean isBrownedOut() { return LoggedSystemStats.getInputs().brownedOut; } + /** + * Gets the number of times the system has been disabled due to communication + * errors with the Driver Station. + * + * @return number of disables due to communication errors. + */ + public static int getCommsDisableCount() { + return LoggedSystemStats.getInputs().commsDisableCount; + } + /** * Gets the current state of the Robot Signal Light (RSL). * @@ -316,6 +327,11 @@ public static int getFaultCount6V() { return LoggedSystemStats.getInputs().userCurrentFaults6v; } + /** Reset the overcurrent fault counters for all user rails to 0. */ + public static void resetRailFaultCounts() { + PowerJNI.resetUserCurrentFaults(); + } + /** * Get the current brownout voltage setting. * @@ -388,8 +404,9 @@ public static RadioLEDState fromValue(int value) { } /** - * Set the state of the "Radio" LED. On the RoboRIO, this writes to sysfs, so this function should - * not be called multiple times per loop cycle to avoid overruns. + * Set the state of the "Radio" LED. On the RoboRIO, this writes to sysfs, so + * this function should not be called multiple times per loop cycle to avoid + * overruns. * * @param state The state to set the LED to. */ @@ -398,8 +415,9 @@ public static void setRadioLEDState(RadioLEDState state) { } /** - * Get the state of the "Radio" LED. On the RoboRIO, this reads from sysfs, so this function - * should not be called multiple times per loop cycle to avoid overruns. + * Get the state of the "Radio" LED. On the RoboRIO, this reads from sysfs, so + * this function should not be called multiple times per loop cycle to avoid + * overruns. * * @return The state of the LED. */ diff --git a/junction/shims/wpilib/src/edu/wpi/first/wpilibj/TimedRobot.java b/junction/shims/wpilib/src/edu/wpi/first/wpilibj/TimedRobot.java index 2bf6b937..0c979e5a 100644 --- a/junction/shims/wpilib/src/edu/wpi/first/wpilibj/TimedRobot.java +++ b/junction/shims/wpilib/src/edu/wpi/first/wpilibj/TimedRobot.java @@ -17,6 +17,8 @@ package edu.wpi.first.wpilibj; +import edu.wpi.first.units.measure.Time; + /** * @Deprecated The main robot class must inherit from LoggedRobot instead of * TimedRobot when using AdvantageKit's WPILib shims. For more @@ -27,8 +29,8 @@ public class TimedRobot extends IterativeRobotBase { static class Callback implements Comparable { public Runnable func; - public double period; - public double expirationTime; + public long period; + public long expirationTime; Callback(Runnable func, double startTimeSeconds, double periodSeconds, double offsetSeconds) { } @@ -77,4 +79,10 @@ public void addPeriodic(Runnable callback, double periodSeconds) { public void addPeriodic(Runnable callback, double periodSeconds, double offsetSeconds) { } + + public final void addPeriodic(Runnable callback, Time period) { + } + + public final void addPeriodic(Runnable callback, Time period, Time offset) { + } } \ No newline at end of file diff --git a/library_deps.bzl b/library_deps.bzl index 346fbab6..5a69235d 100644 --- a/library_deps.bzl +++ b/library_deps.bzl @@ -6,24 +6,24 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file" MAVEN_ARTIFACTS = ['io.github.classgraph:classgraph:4.8.128', 'com.fasterxml.jackson.core:jackson-annotations:2.15.2', 'com.fasterxml.jackson.core:jackson-core:2.15.2', 'com.fasterxml.jackson.core:jackson-databind:2.15.2', 'org.ejml:ejml-simple:0.43.1', 'org.ejml:ejml-core:0.43.1', 'junit:junit:4.13.2', 'com.squareup:javapoet:1.13.0', 'us.hebi.quickbuf:quickbuf-runtime:1.3.2'] -WPILIB_VERSION = "2024.3.2" +WPILIB_VERSION = "2025.1.1-beta-1" -FRCMAVEN_ARTIFACTS = ['edu.wpi.first.hal:hal-java:2024.3.2', 'edu.wpi.first.wpiutil:wpiutil-java:2024.3.2', 'edu.wpi.first.wpimath:wpimath-java:2024.3.2', 'edu.wpi.first.ntcore:ntcore-java:2024.3.2', 'edu.wpi.first.cscore:cscore-java:2024.3.2', 'edu.wpi.first.cameraserver:cameraserver-java:2024.3.2', 'edu.wpi.first.wpiunits:wpiunits-java:2024.3.2', 'edu.wpi.first.thirdparty.frc2024.opencv:opencv-java:4.8.0-2'] +FRCMAVEN_ARTIFACTS = ['edu.wpi.first.hal:hal-java:2025.1.1-beta-1', 'edu.wpi.first.wpiutil:wpiutil-java:2025.1.1-beta-1', 'edu.wpi.first.wpimath:wpimath-java:2025.1.1-beta-1', 'edu.wpi.first.ntcore:ntcore-java:2025.1.1-beta-1', 'edu.wpi.first.cscore:cscore-java:2025.1.1-beta-1', 'edu.wpi.first.cameraserver:cameraserver-java:2025.1.1-beta-1', 'edu.wpi.first.wpiunits:wpiunits-java:2025.1.1-beta-1', 'edu.wpi.first.thirdparty.frc2024.opencv:opencv-java:4.8.0-2'] def library_deps_setup(): http_file( name = "wpilibj_jar_file", downloaded_file_path = "wpilibj.jar", # java_import needs the filename to contain .jar - sha256 = "bed4279a81862ebf9e739f2ef4a26bb50c6ff0942f76e14cef0aedd7a6659144", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpilibj/wpilibj-java/2024.3.2/wpilibj-java-2024.3.2.jar"], + sha256 = "eba3b526ce5727725b2a58700b8ff4e792c6681918e43631de72ab612100d48d", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpilibj/wpilibj-java/2025.1.1-beta-1/wpilibj-java-2025.1.1-beta-1.jar"], ) http_file( name = "wpilibj_sources_jar_file", downloaded_file_path = "wpilibj_sources.jar", - sha256 = "32bbae97157edd7914225b809d3329b297414781271663674b5a237513431f9e", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpilibj/wpilibj-java/2024.3.2/wpilibj-java-2024.3.2-sources.jar"], + sha256 = "fb183cd291c136490362b248af54d0aecd2bd47d7beefb218ec0531041f2ad2a", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpilibj/wpilibj-java/2025.1.1-beta-1/wpilibj-java-2025.1.1-beta-1-sources.jar"], ) @@ -54,8 +54,8 @@ cc_library( visibility = ["@//third_party/ni:__pkg__"], ) """, - sha256 = "68fb8880e37863cddb39c1514ac73f3c5a4b5c79961c356f7d9e60dc02cddf15", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/visa/2024.2.1/visa-2024.2.1-headers.zip"] + sha256 = "a712c5d89d1920d04a82cc079f74f63f477415be2260e28683d920fdbc38efec", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/visa/2025.0.0/visa-2025.0.0-headers.zip"] ) http_archive( @@ -79,8 +79,8 @@ filegroup( visibility = ["@//third_party/ni:__pkg__"], ) """, - sha256 = "162511fd08957eb9a35c2b97ec8584fc5b43c6b9a8deb049de88376690a495fe", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/visa/2024.2.1/visa-2024.2.1-linuxathena.zip"] + sha256 = "0529b9332268e47bf0b67641e465c953b9aec1e663b2ba96988c4ae9920c91a7", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/visa/2025.0.0/visa-2025.0.0-linuxathena.zip"] ) http_archive( @@ -110,8 +110,8 @@ cc_library( visibility = ["@//third_party/ni:__pkg__"], ) """, - sha256 = "b3de04c3e8950c9017ec1a6adce7ca6be295aa1a599a931778f96ab1b4245786", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/netcomm/2024.2.1/netcomm-2024.2.1-headers.zip"] + sha256 = "4e5e78c30bcc91abb650701c16b7b4718672e40f2ad8b28299e848ccc8d150f1", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/netcomm/2025.0.0/netcomm-2025.0.0-headers.zip"] ) http_archive( @@ -135,8 +135,8 @@ filegroup( visibility = ["@//third_party/ni:__pkg__"], ) """, - sha256 = "8b1ba57c0fde3b1b3216a16bdf31b9440f3b7782637384cdca34e217e0eb4bf9", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/netcomm/2024.2.1/netcomm-2024.2.1-linuxathena.zip"] + sha256 = "cf64ac6fbeb960865ccfa711efc8d78d31a3bebf1762199156e891368a65c69e", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/netcomm/2025.0.0/netcomm-2025.0.0-linuxathena.zip"] ) http_archive( @@ -166,8 +166,8 @@ cc_library( visibility = ["@//third_party/ni:__pkg__"], ) """, - sha256 = "c4299902974440b00d9046d4473d9350cb9489cd673f0875eadf88441056461f", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/chipobject/2024.2.1/chipobject-2024.2.1-headers.zip"] + sha256 = "d21054ef17b22206d777236f60794f0686c61f4a00621e6803570ce7481cdcce", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/chipobject/2025.0.0/chipobject-2025.0.0-headers.zip"] ) http_archive( @@ -191,8 +191,8 @@ filegroup( visibility = ["@//third_party/ni:__pkg__"], ) """, - sha256 = "c42aee14154143489825022c76aaeeeefe46840c89ad48c757f7c70f8a46cf7f", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/chipobject/2024.2.1/chipobject-2024.2.1-linuxathena.zip"] + sha256 = "2ab0f076e85898941c3465015a99be5d1ff823215986f423b2f3eb99bd8ab6ab", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/chipobject/2025.0.0/chipobject-2025.0.0-linuxathena.zip"] ) http_archive( @@ -216,8 +216,8 @@ filegroup( visibility = ["@//third_party/ni:__pkg__"], ) """, - sha256 = "5ad951daea54da1193ebd4416a8077ee3de9abd8c8974cc7275238c1221687b2", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/runtime/2024.2.1/runtime-2024.2.1-linuxathena.zip"] + sha256 = "b4e857ef8a6e065f1f06d2350b80a61c8d5e3b51435bd7bd54862259d153c821", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ni-libraries/runtime/2025.0.0/runtime-2025.0.0-linuxathena.zip"] ) http_archive( @@ -247,8 +247,8 @@ cc_library( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "e69c5ceeefddcf84700498dc42f210ea796d2b355303f63935cd0c8aceadea42", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-cpp/2024.3.2/wpiutil-cpp-2024.3.2-headers.zip"] + sha256 = "25ec13e1109839a559668d92fa9fa7067b5706ebdb107600c29c71cfbf77fa5c", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-cpp/2025.1.1-beta-1/wpiutil-cpp-2025.1.1-beta-1-headers.zip"] ) http_archive( @@ -272,8 +272,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "9f283c039c69c2a51f7cdc050f315b458dcba6760f600e52c9d76ffa3fcf3cee", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-cpp/2024.3.2/wpiutil-cpp-2024.3.2-linuxathena.zip"] + sha256 = "d626e9090bad82dd12207d27f63d5c09a5e35bcd3c4e6d8f2ec990a873ee7af2", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-cpp/2025.1.1-beta-1/wpiutil-cpp-2025.1.1-beta-1-linuxathena.zip"] ) http_archive( @@ -297,8 +297,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "c8cb26526edfec0780216b23786f580f6b45717469f461f0d1a3a79a1738bf32", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-cpp/2024.3.2/wpiutil-cpp-2024.3.2-linuxx86-64.zip"] + sha256 = "6397ee04d8e25b50ee9d1399799387a579ebc355214539754bb4b5b99dccf63e", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-cpp/2025.1.1-beta-1/wpiutil-cpp-2025.1.1-beta-1-linuxx86-64.zip"] ) http_archive( @@ -322,8 +322,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "46cb0601431235e005542ba1db85ac5e7aabf969d858c98c262c4d5d6e23bbf8", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-cpp/2024.3.2/wpiutil-cpp-2024.3.2-windowsx86-64.zip"] + sha256 = "bbab37aa11690a5c05cdb10dc0dd4720ee7bbfa20c88ed224126e52bf9acac67", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-cpp/2025.1.1-beta-1/wpiutil-cpp-2025.1.1-beta-1-windowsx86-64.zip"] ) http_archive( @@ -347,8 +347,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "76ccb7638cef4ecd2fc4ba11680bc416e6a0f3cb20ed8ea7b79af0120e89eaac", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-cpp/2024.3.2/wpiutil-cpp-2024.3.2-osxuniversal.zip"] + sha256 = "7b8070093e653ab81bb1c22017ef3938af1373735aee920c1eaafdcaa9f57497", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpiutil/wpiutil-cpp/2025.1.1-beta-1/wpiutil-cpp-2025.1.1-beta-1-osxuniversal.zip"] ) http_archive( @@ -378,8 +378,8 @@ cc_library( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "668455010c7d64ba48b413cf3da4fd582d74273c6d421f6d66e94869ee1ea4b7", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-cpp/2024.3.2/wpimath-cpp-2024.3.2-headers.zip"] + sha256 = "ffa806d7573a15de30b5d8ccb23bbf7a19efefbe5b283af453ab4f864fd43be6", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-cpp/2025.1.1-beta-1/wpimath-cpp-2025.1.1-beta-1-headers.zip"] ) http_archive( @@ -403,8 +403,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "01518c5224f7b12cb1eac2df0b74198e21daa60d05fc21137625db0f8af5a2eb", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-cpp/2024.3.2/wpimath-cpp-2024.3.2-linuxathena.zip"] + sha256 = "56747add2a21a9765a318628ee154f93aaf96337e6d9d00c78b6fa7e21cb60b6", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-cpp/2025.1.1-beta-1/wpimath-cpp-2025.1.1-beta-1-linuxathena.zip"] ) http_archive( @@ -428,8 +428,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "97afdc96fde5db88bea05e6ffb3f9020c883b98d2d36c6fb15e0f2740d6dc248", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-cpp/2024.3.2/wpimath-cpp-2024.3.2-linuxx86-64.zip"] + sha256 = "f776c80c65e42e05881b2f5662fb65b276932139c5eb2814a23b34a28f339b25", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-cpp/2025.1.1-beta-1/wpimath-cpp-2025.1.1-beta-1-linuxx86-64.zip"] ) http_archive( @@ -453,8 +453,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "76ac04d74cbf6e755cb7c1aee629fe51274a2c69961d8f306a7011ee1897eba3", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-cpp/2024.3.2/wpimath-cpp-2024.3.2-windowsx86-64.zip"] + sha256 = "7ff5bbf506fa85298b3826075a74addcd125cf4e9973602fb4c8ff01e2d272fe", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-cpp/2025.1.1-beta-1/wpimath-cpp-2025.1.1-beta-1-windowsx86-64.zip"] ) http_archive( @@ -478,8 +478,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "4d7390a49dc142c177606c409d16d9b5a0260752a12f5da555572a4b5746dd64", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-cpp/2024.3.2/wpimath-cpp-2024.3.2-osxuniversal.zip"] + sha256 = "2fd7aca6d929a9fd8430a58d1f582d901ddcd891542e8cbd5bb63c03e5289ae0", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/wpimath/wpimath-cpp/2025.1.1-beta-1/wpimath-cpp-2025.1.1-beta-1-osxuniversal.zip"] ) http_archive( @@ -509,8 +509,8 @@ cc_library( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "769a558157a76c28b127379074180c47aac2886ab66d0b3a3df0baa9f83d7a59", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-cpp/2024.3.2/ntcore-cpp-2024.3.2-headers.zip"] + sha256 = "b5d833200a7fe4eba0e263b4f4c96245054ad2db8a0e146f7b70c8640b4c98ac", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-cpp/2025.1.1-beta-1/ntcore-cpp-2025.1.1-beta-1-headers.zip"] ) http_archive( @@ -534,8 +534,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "63b01e220bb93eb3a6ec632f8589714533d0fade697cb8d94e4b68e308a55a53", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-cpp/2024.3.2/ntcore-cpp-2024.3.2-linuxathena.zip"] + sha256 = "37a1372d0040fea7b999f53394f19274e2dc30acc9dd401291df4c58fbfdf698", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-cpp/2025.1.1-beta-1/ntcore-cpp-2025.1.1-beta-1-linuxathena.zip"] ) http_archive( @@ -559,8 +559,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "1b34267202e99f09a8f65577aab72a0e5562688f9c0c0bae7229c7c515d2f1c2", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-cpp/2024.3.2/ntcore-cpp-2024.3.2-linuxx86-64.zip"] + sha256 = "49ab39f65f3d7639b5153bd2efe9a39ecae75ae5314d41e46eadcbfc7627378b", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-cpp/2025.1.1-beta-1/ntcore-cpp-2025.1.1-beta-1-linuxx86-64.zip"] ) http_archive( @@ -584,8 +584,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "4a3e729e7105e6327ec24484f022a795c6f112d515b7be16a9fc03a756bd1640", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-cpp/2024.3.2/ntcore-cpp-2024.3.2-windowsx86-64.zip"] + sha256 = "4d7651d84bfedfb37e4b0665c35e55da0a609c9cc825720be1ca739d6133932e", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-cpp/2025.1.1-beta-1/ntcore-cpp-2025.1.1-beta-1-windowsx86-64.zip"] ) http_archive( @@ -609,8 +609,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "ab42bd5b99fcdc30517db74b89c2b96dd5dc42c4578d4c02e41b7f9e104d1f30", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-cpp/2024.3.2/ntcore-cpp-2024.3.2-osxuniversal.zip"] + sha256 = "8b4d761514e163d93d4dba45038036d31139ca6ddcb15b8db3ad3ea97f4906ca", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/ntcore/ntcore-cpp/2025.1.1-beta-1/ntcore-cpp-2025.1.1-beta-1-osxuniversal.zip"] ) http_archive( @@ -640,8 +640,8 @@ cc_library( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "5dbd4ffe68fbf942b73fc7dff6f6478343aea98a9f0778d8bbcecb6d40d8f431", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-cpp/2024.3.2/hal-cpp-2024.3.2-headers.zip"] + sha256 = "be5d1d4d6b2c4c2f4a9ef2fccc258813383a49ca41c8ee75d1f79ba5471b8c08", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-cpp/2025.1.1-beta-1/hal-cpp-2025.1.1-beta-1-headers.zip"] ) http_archive( @@ -665,8 +665,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "af1c27bada6165060556e0f435e90d676967988cecc837a2b05be7eff5c18d74", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-cpp/2024.3.2/hal-cpp-2024.3.2-linuxathena.zip"] + sha256 = "3c7cc8182c35e047d43f57af029e6b5fbc1b70d1ee93938ec9d1ac7f772401ec", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-cpp/2025.1.1-beta-1/hal-cpp-2025.1.1-beta-1-linuxathena.zip"] ) http_archive( @@ -690,8 +690,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "ab0d06457100bbc6578703b54468c8fe22d5041f90bed4f0e73250198d0c39f4", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-cpp/2024.3.2/hal-cpp-2024.3.2-linuxx86-64.zip"] + sha256 = "9f4f0ece41aed7f33e3399561f04e83fa2f64cd3f77d5df6bedfb4c16c54d46e", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-cpp/2025.1.1-beta-1/hal-cpp-2025.1.1-beta-1-linuxx86-64.zip"] ) http_archive( @@ -715,8 +715,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "295fe768609663b7e8580c99cd21460c31e93455ac025e30152b920cff2e06b4", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-cpp/2024.3.2/hal-cpp-2024.3.2-windowsx86-64.zip"] + sha256 = "8869b1a9737179cbb687360344b448143011fe5596a8f0da64b76341f6ce42f7", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-cpp/2025.1.1-beta-1/hal-cpp-2025.1.1-beta-1-windowsx86-64.zip"] ) http_archive( @@ -740,8 +740,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "9b6692dbe25891ad1bcbe5a39c45c0ab584f74833c236d55414afa18bc5f5ba3", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-cpp/2024.3.2/hal-cpp-2024.3.2-osxuniversal.zip"] + sha256 = "784622e43a6959e62b91d0765b23d0c898de960a86c0f53a2950082e18a74c20", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/hal/hal-cpp/2025.1.1-beta-1/hal-cpp-2025.1.1-beta-1-osxuniversal.zip"] ) http_archive( @@ -765,8 +765,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "cd4f3e5595d142bfc437442ee2ba181684268b4086a8e2ccda32b9737eefa912", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/halsim/halsim_gui/2024.3.2/halsim_gui-2024.3.2-linuxx86-64.zip"] + sha256 = "a9ea342ad9416fec70bee48d4ad42125f4f9bd7fb335912e84f86f637ec09c06", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/halsim/halsim_gui/2025.1.1-beta-1/halsim_gui-2025.1.1-beta-1-linuxx86-64.zip"] ) http_archive( @@ -790,8 +790,8 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "f70c6c2e06cc4f42d7eeefe8cb27194e74f3fd3039abe3f2c415b7e705593116", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/halsim/halsim_gui/2024.3.2/halsim_gui-2024.3.2-windowsx86-64.zip"] + sha256 = "6e47795c3800222e22a9d8b5d39478fb637f964e7e3f8afe9790023d02b9add6", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/halsim/halsim_gui/2025.1.1-beta-1/halsim_gui-2025.1.1-beta-1-windowsx86-64.zip"] ) http_archive( @@ -815,7 +815,7 @@ filegroup( visibility = ["@//third_party/wpilib:__pkg__"], ) """, - sha256 = "559b6f8e400e53a1a09160152d78918b7bcd80cd51b731a60f1c143775c0b853", - urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/halsim/halsim_gui/2024.3.2/halsim_gui-2024.3.2-osxuniversal.zip"] + sha256 = "9a56fe4ce96ee639e76997fae273bfe3189db161150e72cca98f54f62e692a20", + urls = ["https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/halsim/halsim_gui/2025.1.1-beta-1/halsim_gui-2025.1.1-beta-1-osxuniversal.zip"] )