mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-19 00:41:41 +00:00
Bump wpilib to 2026 beta (#2192)
## Description <!-- What changed? Why? (the code + comments should speak for itself on the "how") --> <!-- Fun screenshots or a cool video or something are super helpful as well. If this touches platform-specific behavior, this is where test evidence should be collected. --> <!-- Any issues this pull request closes or pull requests this supersedes should be linked with `Closes #issuenumber`. --> Bump to wpilib 2026 beta. This does not bump our pythonlib, as robotpy hasn't come out yet. ## Meta Merge checklist: - [ ] Pull Request title is [short, imperative summary](https://cbea.ms/git-commit/) of proposed changes - [ ] The description documents the _what_ and _why_ - [ ] This PR has been [linted](https://docs.photonvision.org/en/latest/docs/contributing/linting.html). - [ ] If this PR changes behavior or adds a feature, user documentation is updated - [ ] If this PR touches photon-serde, all messages have been regenerated and hashes have not changed unexpectedly - [ ] If this PR touches configuration, this is backwards compatible with settings back to v2025.3.2 - [ ] If this PR touches pipeline settings or anything related to data exchange, the frontend typing is updated - [ ] If this PR addresses a bug, a regression test for it is added --------- Co-authored-by: Gold856 <117957790+Gold856@users.noreply.github.com>
This commit is contained in:
@@ -4,7 +4,7 @@ plugins {
|
||||
id "cpp"
|
||||
id "com.diffplug.spotless" version "6.24.0"
|
||||
id "edu.wpi.first.wpilib.repositories.WPILibRepositoriesPlugin" version "2020.2"
|
||||
id "edu.wpi.first.GradleRIO" version "2025.3.2"
|
||||
id "edu.wpi.first.GradleRIO" version "2026.1.1-beta-1"
|
||||
id 'edu.wpi.first.WpilibTools' version '1.3.0'
|
||||
id 'com.google.protobuf' version '0.9.3' apply false
|
||||
id 'edu.wpi.first.GradleJni' version '1.1.0'
|
||||
@@ -32,7 +32,7 @@ ext.allOutputsFolder = file("$project.buildDir/outputs")
|
||||
apply from: "versioningHelper.gradle"
|
||||
|
||||
ext {
|
||||
wpilibVersion = "2025.3.2"
|
||||
wpilibVersion = "2026.1.1-beta-1"
|
||||
wpimathVersion = wpilibVersion
|
||||
openCVYear = "2025"
|
||||
openCVversion = "4.10.0-3"
|
||||
@@ -40,7 +40,7 @@ ext {
|
||||
libcameraDriverVersion = "dev-v2025.0.4-2-gc91d4b7"
|
||||
rknnVersion = "dev-v2025.0.0-7-g83c1bf3"
|
||||
rubikVersion = "dev-v2025.1.0-7-g39588a8"
|
||||
frcYear = "2025"
|
||||
frcYear = "2026beta"
|
||||
mrcalVersion = "dev-v2025.0.0-2-g2adb187";
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ VERY Limited macOS support is available.
|
||||
|
||||
## Installing Java
|
||||
|
||||
PhotonVision requires a JDK installed and on the system path. JDK 17 is needed (different versions will not work). You may already have this if you have installed WPILib 2025+. If not, [download and install it from here](https://adoptium.net/temurin/releases?version=17).
|
||||
PhotonVision requires a JDK installed and on the system path. JDK 17 is needed (different versions will not work). You may already have this if you have installed WPILib 2026+. If not, [download and install it from here](https://adoptium.net/temurin/releases?version=17).
|
||||
|
||||
:::{warning}
|
||||
Using a JDK other than JDK17 will cause issues when running PhotonVision and is not supported.
|
||||
|
||||
@@ -12,15 +12,7 @@ Bonjour provides more stable networking when using Windows PCs. Install [Bonjour
|
||||
|
||||
## Installing Java
|
||||
|
||||
PhotonVision requires a JDK installed and on the system path. **JDK 17 is needed. Windows Users must use the JDK that ships with WPILib.** [Download and install it from here.](https://github.com/wpilibsuite/allwpilib/releases/tag/v2025.3.2) Either ensure the only Java on your PATH is the WPILIB Java or specify it to gradle with `-Dorg.gradle.java.home=C:\Users\Public\wpilib\2025\jdk`:
|
||||
|
||||
```
|
||||
> ./gradlew run "-Dorg.gradle.java.home=C:\Users\Public\wpilib\2025\jdk"
|
||||
```
|
||||
|
||||
:::{warning}
|
||||
Using a JDK other than WPILIB's JDK17 will cause issues when running PhotonVision and is not supported.
|
||||
:::
|
||||
PhotonVision requires a JDK installed and on the system path. **JDK 17 is needed.** You may already have it if you installed WPILib, but ensure that running `java -version` shows JDK 17. You will likely have to add WPILib's JDK to JAVA_HOME and the JDK's `bin` directory to PATH. If you do not have a JDK 17 install, [download and install it from here.](https://adoptium.net/temurin/releases?version=17)
|
||||
|
||||
## Downloading the Latest Stable Release of PhotonVision
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ This section contains the build instructions from the source code available at [
|
||||
|
||||
**Java Development Kit:**
|
||||
|
||||
This project requires Java Development Kit (JDK) 17 to be compiled. This is the same Java version that comes with WPILib for 2025+. **Windows Users must use the JDK that ships with WPILib.** For other platforms, you can follow the instructions to install JDK 17 for your platform [here](https://bell-sw.com/pages/downloads/#jdk-17-lts).
|
||||
This project requires Java Development Kit (JDK) 17 to be compiled. This is the same Java version that comes with WPILib for 2026+. **Windows Users must use the JDK that ships with WPILib.** For other platforms, you can follow the instructions to install JDK 17 for your platform [here](https://bell-sw.com/pages/downloads/#jdk-17-lts).
|
||||
|
||||
**Node JS:**
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ A few issues make up the majority of support requests. Run through this checklis
|
||||
- Even if there's a switch between your laptop and coprocessor, you'll still want a radio or router in the loop somehow.
|
||||
- The FRC radio is the _only_ router we will officially support due to the innumerable variations between routers.
|
||||
- (Raspberry Pi, Orange Pi & Limelight only) have you flashed the correct image, and is it [up to date](https://github.com/PhotonVision/photonvision/releases/latest)?
|
||||
- Is your robot code using a **2025** version of WPILib, and is your coprocessor using the most up to date **2025** release?
|
||||
- 2022, 2023, 2024, and 2025 versions of either cannot be mix-and-matched!
|
||||
- Is your robot code using a **2026** version of WPILib, and is your coprocessor using the most up to date **2026** release?
|
||||
- 2022, 2023, 2024, 2025, and 2026 versions of either cannot be mix-and-matched!
|
||||
- Your PhotonVision version can be checked on the settings tab.
|
||||
- Is your team number correctly set on the settings tab?
|
||||
|
||||
@@ -30,7 +30,7 @@ Please check that:
|
||||
1\. You don't have the NetworkTables Server on (toggleable in the settings tab). Turn this off when doing work on a robot.
|
||||
2\. You have your team number set properly in the settings tab.
|
||||
3\. Your camera name in the `PhotonCamera` constructor matches the name in the UI.
|
||||
4\. You are using the 2025 version of WPILib and RoboRIO image.
|
||||
4\. You are using the 2026 version of WPILib and RoboRIO image.
|
||||
5\. Your robot is on.
|
||||
|
||||
If all of the above are met and you still have issues, feel free to {ref}`contact us <index:contact us>` and provide the following information:
|
||||
|
||||
@@ -156,8 +156,7 @@ struct ProblemState {
|
||||
#undef MAKE_ARGV
|
||||
};
|
||||
|
||||
wpi::expected<constrained_solvepnp::RobotStateMat,
|
||||
sleipnir::SolverExitCondition>
|
||||
wpi::expected<constrained_solvepnp::RobotStateMat, slp::ExitStatus>
|
||||
constrained_solvepnp::do_optimization(
|
||||
bool heading_free, int nTags,
|
||||
constrained_solvepnp::CameraCalibration cameraCal,
|
||||
@@ -173,7 +172,7 @@ constrained_solvepnp::do_optimization(
|
||||
if constexpr (VERBOSE) fmt::println("Got unexpected num cols!");
|
||||
// TODO find a new error code
|
||||
return wpi::unexpected{
|
||||
sleipnir::SolverExitCondition::kNonfiniteInitialCostOrConstraints};
|
||||
slp::ExitStatus::NONFINITE_INITIAL_COST_OR_CONSTRAINTS};
|
||||
}
|
||||
|
||||
// rescale observations to homogenous pixel coordinates
|
||||
@@ -203,7 +202,7 @@ constrained_solvepnp::do_optimization(
|
||||
auto problemOpt = createProblem(nTags, heading_free);
|
||||
if (!problemOpt) {
|
||||
return wpi::unexpected{
|
||||
sleipnir::SolverExitCondition::kNonfiniteInitialCostOrConstraints};
|
||||
slp::ExitStatus::NONFINITE_INITIAL_COST_OR_CONSTRAINTS};
|
||||
}
|
||||
|
||||
ProblemState<3> pState{robot2camera, field2points, point_observations,
|
||||
@@ -233,7 +232,7 @@ constrained_solvepnp::do_optimization(
|
||||
|
||||
// Check for diverging iterates
|
||||
if (x.template lpNorm<Eigen::Infinity>() > 1e20 || !x.allFinite()) {
|
||||
return wpi::unexpected{sleipnir::SolverExitCondition::kDivergingIterates};
|
||||
return wpi::unexpected{slp::ExitStatus::DIVERGING_ITERATES};
|
||||
}
|
||||
|
||||
GradMat g = pState.calculateGradJ(x);
|
||||
@@ -254,7 +253,7 @@ constrained_solvepnp::do_optimization(
|
||||
auto H_ldlt = H.ldlt();
|
||||
if (H_ldlt.info() != Eigen::Success) {
|
||||
std::cerr << "LDLT decomp failed! H=" << std::endl << H << std::endl;
|
||||
return wpi::unexpected{sleipnir::SolverExitCondition::kLocallyInfeasible};
|
||||
return wpi::unexpected{slp::ExitStatus::LOCALLY_INFEASIBLE};
|
||||
}
|
||||
|
||||
// Make sure H is positive definite (all eigenvalues are > 0)
|
||||
@@ -278,8 +277,7 @@ constrained_solvepnp::do_optimization(
|
||||
|
||||
if (H_ldlt.info() != Eigen::Success) {
|
||||
std::cerr << "LDLT decomp failed! H=" << std::endl << H << std::endl;
|
||||
return wpi::unexpected{
|
||||
sleipnir::SolverExitCondition::kLocallyInfeasible};
|
||||
return wpi::unexpected{slp::ExitStatus::LOCALLY_INFEASIBLE};
|
||||
}
|
||||
|
||||
// If our eigenvalues aren't positive definite, pick a new δ for next
|
||||
@@ -289,8 +287,7 @@ constrained_solvepnp::do_optimization(
|
||||
|
||||
// If the Hessian perturbation is too high, report failure
|
||||
if (δ > 1e20) {
|
||||
return wpi::unexpected{
|
||||
sleipnir::SolverExitCondition::kLocallyInfeasible};
|
||||
return wpi::unexpected{slp::ExitStatus::LOCALLY_INFEASIBLE};
|
||||
}
|
||||
} else {
|
||||
// Done!
|
||||
@@ -301,8 +298,7 @@ constrained_solvepnp::do_optimization(
|
||||
}
|
||||
|
||||
if (i_reg == MAX_REG_STEPS) {
|
||||
return wpi::unexpected{
|
||||
sleipnir::SolverExitCondition::kLocallyInfeasible};
|
||||
return wpi::unexpected{slp::ExitStatus::LOCALLY_INFEASIBLE};
|
||||
}
|
||||
} else {
|
||||
// std::printf("Already regularized\n");
|
||||
@@ -345,8 +341,7 @@ constrained_solvepnp::do_optimization(
|
||||
|
||||
// If our step size shrank too much, report local infesibility
|
||||
if (alpha < α_min_frac * γConstraint) {
|
||||
return wpi::unexpected{
|
||||
sleipnir::SolverExitCondition::kLocallyInfeasible};
|
||||
return wpi::unexpected{slp::ExitStatus::LOCALLY_INFEASIBLE};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -191,9 +191,8 @@ std::optional<photon::PnpResult> EstimateRobotPoseConstrainedSolvePNP(
|
||||
guess2.X().value(), guess2.Y().value(),
|
||||
guess2.Rotation().Radians().value()};
|
||||
|
||||
wpi::expected<constrained_solvepnp::RobotStateMat,
|
||||
sleipnir::SolverExitCondition>
|
||||
result = constrained_solvepnp::do_optimization(
|
||||
wpi::expected<constrained_solvepnp::RobotStateMat, slp::ExitStatus> result =
|
||||
constrained_solvepnp::do_optimization(
|
||||
headingFree, knownTags.size(), cameraCal, robotToCamera, guessMat,
|
||||
field2points, pointObservations, gyroTheta.Radians().value(),
|
||||
gyroErrorScaleFac);
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <Eigen/Core>
|
||||
#include <sleipnir/optimization/SolverExitCondition.hpp>
|
||||
#include <sleipnir/optimization/solver/exit_status.hpp>
|
||||
#include <wpi/expected>
|
||||
|
||||
namespace constrained_solvepnp {
|
||||
@@ -40,7 +40,7 @@ using RobotStateMat = Eigen::Matrix<casadi_real, 3, 1>;
|
||||
* to this. The number of columns in field2points and point_observations just be
|
||||
* exactly 4x nTags.
|
||||
*/
|
||||
wpi::expected<RobotStateMat, sleipnir::SolverExitCondition> do_optimization(
|
||||
wpi::expected<RobotStateMat, slp::ExitStatus> do_optimization(
|
||||
bool heading_free, int nTags, CameraCalibration cameraCal,
|
||||
// Note that casadi is column major, apparently
|
||||
Eigen::Matrix<casadi_real, 4, 4, Eigen::ColMajor> robot2camera,
|
||||
|
||||
@@ -84,9 +84,8 @@ Java_org_photonvision_jni_ConstrainedSolvepnpJni_do_1optimization
|
||||
std::cout << "observations:\n" << pointObservationsMat << std::endl;
|
||||
#endif
|
||||
|
||||
wpi::expected<constrained_solvepnp::RobotStateMat,
|
||||
sleipnir::SolverExitCondition>
|
||||
result = constrained_solvepnp::do_optimization(
|
||||
wpi::expected<constrained_solvepnp::RobotStateMat, slp::ExitStatus> result =
|
||||
constrained_solvepnp::do_optimization(
|
||||
headingFree, nTags, cameraCal_, robot2cameraMat, xGuessMat,
|
||||
field2pointsMat, pointObservationsMat, gyro_θ, gyro_error_scale_fac);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"enableCppIntellisense": true,
|
||||
"currentLanguage": "cpp",
|
||||
"projectYear": "2025",
|
||||
"projectYear": "2026beta",
|
||||
"teamNumber": 5
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
plugins {
|
||||
id "cpp"
|
||||
id "google-test-test-suite"
|
||||
id "edu.wpi.first.GradleRIO" version "2025.3.2"
|
||||
id "edu.wpi.first.GradleRIO" version "2026.1.1-beta-1"
|
||||
}
|
||||
|
||||
repositories {
|
||||
@@ -11,8 +11,8 @@ repositories {
|
||||
|
||||
wpi.maven.useLocal = false
|
||||
wpi.maven.useDevelopment = false
|
||||
wpi.versions.wpilibVersion = "2025.3.2"
|
||||
wpi.versions.wpimathVersion = "2025.3.2"
|
||||
wpi.versions.wpilibVersion = "2026.1.1-beta-1"
|
||||
wpi.versions.wpimathVersion = "2026.1.1-beta-1"
|
||||
|
||||
// Define my targets (RoboRIO) and artifacts (deployable files)
|
||||
// This is added by GradleRIO's backing project DeployUtils.
|
||||
|
||||
@@ -5,7 +5,7 @@ pluginManagement {
|
||||
mavenLocal()
|
||||
jcenter()
|
||||
gradlePluginPortal()
|
||||
String frcYear = '2025'
|
||||
String frcYear = '2026'
|
||||
File frcHome
|
||||
if (OperatingSystem.current().isWindows()) {
|
||||
String publicFolder = System.getenv('PUBLIC')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"enableCppIntellisense": true,
|
||||
"currentLanguage": "cpp",
|
||||
"projectYear": "2025",
|
||||
"projectYear": "2026beta",
|
||||
"teamNumber": 5
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
plugins {
|
||||
id "cpp"
|
||||
id "google-test-test-suite"
|
||||
id "edu.wpi.first.GradleRIO" version "2025.3.2"
|
||||
id "edu.wpi.first.GradleRIO" version "2026.1.1-beta-1"
|
||||
}
|
||||
|
||||
repositories {
|
||||
@@ -11,8 +11,8 @@ repositories {
|
||||
|
||||
wpi.maven.useLocal = false
|
||||
wpi.maven.useDevelopment = false
|
||||
wpi.versions.wpilibVersion = "2025.3.2"
|
||||
wpi.versions.wpimathVersion = "2025.3.2"
|
||||
wpi.versions.wpilibVersion = "2026.1.1-beta-1"
|
||||
wpi.versions.wpimathVersion = "2026.1.1-beta-1"
|
||||
|
||||
// Define my targets (RoboRIO) and artifacts (deployable files)
|
||||
// This is added by GradleRIO's backing project DeployUtils.
|
||||
|
||||
@@ -5,7 +5,7 @@ pluginManagement {
|
||||
mavenLocal()
|
||||
jcenter()
|
||||
gradlePluginPortal()
|
||||
String frcYear = '2025'
|
||||
String frcYear = '2026'
|
||||
File frcHome
|
||||
if (OperatingSystem.current().isWindows()) {
|
||||
String publicFolder = System.getenv('PUBLIC')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"enableCppIntellisense": true,
|
||||
"currentLanguage": "cpp",
|
||||
"projectYear": "2025",
|
||||
"projectYear": "2026beta",
|
||||
"teamNumber": 5
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
plugins {
|
||||
id "cpp"
|
||||
id "google-test-test-suite"
|
||||
id "edu.wpi.first.GradleRIO" version "2025.3.2"
|
||||
id "edu.wpi.first.GradleRIO" version "2026.1.1-beta-1"
|
||||
}
|
||||
|
||||
repositories {
|
||||
@@ -11,8 +11,8 @@ repositories {
|
||||
|
||||
wpi.maven.useLocal = false
|
||||
wpi.maven.useDevelopment = false
|
||||
wpi.versions.wpilibVersion = "2025.3.2"
|
||||
wpi.versions.wpimathVersion = "2025.3.2"
|
||||
wpi.versions.wpilibVersion = "2026.1.1-beta-1"
|
||||
wpi.versions.wpimathVersion = "2026.1.1-beta-1"
|
||||
|
||||
// Define my targets (RoboRIO) and artifacts (deployable files)
|
||||
// This is added by GradleRIO's backing project DeployUtils.
|
||||
|
||||
@@ -5,7 +5,7 @@ pluginManagement {
|
||||
mavenLocal()
|
||||
jcenter()
|
||||
gradlePluginPortal()
|
||||
String frcYear = '2025'
|
||||
String frcYear = '2026'
|
||||
File frcHome
|
||||
if (OperatingSystem.current().isWindows()) {
|
||||
String publicFolder = System.getenv('PUBLIC')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"enableCppIntellisense": false,
|
||||
"currentLanguage": "java",
|
||||
"projectYear": "2025",
|
||||
"projectYear": "2026beta",
|
||||
"teamNumber": 4512
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2009-2025 FIRST and other WPILib contributors
|
||||
Copyright (c) 2009-2026 FIRST and other WPILib contributors
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
plugins {
|
||||
id "java"
|
||||
id "edu.wpi.first.GradleRIO" version "2025.3.2"
|
||||
id "edu.wpi.first.GradleRIO" version "2026.1.1-beta-1"
|
||||
}
|
||||
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
@@ -13,8 +13,8 @@ repositories {
|
||||
}
|
||||
|
||||
wpi.maven.useDevelopment = true
|
||||
wpi.versions.wpilibVersion = "2025.3.2"
|
||||
wpi.versions.wpimathVersion = "2025.3.2"
|
||||
wpi.versions.wpilibVersion = "2026.1.1-beta-1"
|
||||
wpi.versions.wpimathVersion = "2026.1.1-beta-1"
|
||||
|
||||
|
||||
// Define my targets (RoboRIO) and artifacts (deployable files)
|
||||
|
||||
@@ -4,7 +4,7 @@ pluginManagement {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
gradlePluginPortal()
|
||||
String frcYear = '2025'
|
||||
String frcYear = '2026'
|
||||
File frcHome
|
||||
if (OperatingSystem.current().isWindows()) {
|
||||
String publicFolder = System.getenv('PUBLIC')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"enableCppIntellisense": false,
|
||||
"currentLanguage": "java",
|
||||
"projectYear": "2025",
|
||||
"projectYear": "2026beta",
|
||||
"teamNumber": 4512
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2009-2025 FIRST and other WPILib contributors
|
||||
Copyright (c) 2009-2026 FIRST and other WPILib contributors
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
plugins {
|
||||
id "java"
|
||||
id "edu.wpi.first.GradleRIO" version "2025.3.2"
|
||||
id "edu.wpi.first.GradleRIO" version "2026.1.1-beta-1"
|
||||
}
|
||||
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
@@ -9,8 +9,8 @@ targetCompatibility = JavaVersion.VERSION_17
|
||||
def ROBOT_MAIN_CLASS = "frc.robot.Main"
|
||||
|
||||
wpi.maven.useDevelopment = true
|
||||
wpi.versions.wpilibVersion = "2025.3.2"
|
||||
wpi.versions.wpimathVersion = "2025.3.2"
|
||||
wpi.versions.wpilibVersion = "2026.1.1-beta-1"
|
||||
wpi.versions.wpimathVersion = "2026.1.1-beta-1"
|
||||
|
||||
|
||||
// Define my targets (RoboRIO) and artifacts (deployable files)
|
||||
|
||||
@@ -4,7 +4,7 @@ pluginManagement {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
gradlePluginPortal()
|
||||
String frcYear = '2025'
|
||||
String frcYear = '2026'
|
||||
File frcHome
|
||||
if (OperatingSystem.current().isWindows()) {
|
||||
String publicFolder = System.getenv('PUBLIC')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"enableCppIntellisense": false,
|
||||
"currentLanguage": "java",
|
||||
"projectYear": "2025",
|
||||
"projectYear": "2026beta",
|
||||
"teamNumber": 4512
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2009-2025 FIRST and other WPILib contributors
|
||||
Copyright (c) 2009-2026 FIRST and other WPILib contributors
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
plugins {
|
||||
id "java"
|
||||
id "edu.wpi.first.GradleRIO" version "2025.3.2"
|
||||
id "edu.wpi.first.GradleRIO" version "2026.1.1-beta-1"
|
||||
}
|
||||
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
@@ -9,8 +9,8 @@ targetCompatibility = JavaVersion.VERSION_17
|
||||
def ROBOT_MAIN_CLASS = "frc.robot.Main"
|
||||
|
||||
wpi.maven.useDevelopment = true
|
||||
wpi.versions.wpilibVersion = "2025.3.2"
|
||||
wpi.versions.wpimathVersion = "2025.3.2"
|
||||
wpi.versions.wpilibVersion = "2026.1.1-beta-1"
|
||||
wpi.versions.wpimathVersion = "2026.1.1-beta-1"
|
||||
|
||||
|
||||
// Define my targets (RoboRIO) and artifacts (deployable files)
|
||||
|
||||
@@ -4,7 +4,7 @@ pluginManagement {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
gradlePluginPortal()
|
||||
String frcYear = '2025'
|
||||
String frcYear = '2026'
|
||||
File frcHome
|
||||
if (OperatingSystem.current().isWindows()) {
|
||||
String publicFolder = System.getenv('PUBLIC')
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
[tool.robotpy]
|
||||
|
||||
# Version of robotpy this project depends on
|
||||
robotpy_version = "2025.3.2"
|
||||
robotpy_version = "2026.1.1-beta-1"
|
||||
|
||||
# Which extra RobotPy components should be installed
|
||||
# -> equivalent to `pip install robotpy[extra1, ...]
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
[tool.robotpy]
|
||||
|
||||
# Version of robotpy this project depends on
|
||||
robotpy_version = "2025.3.2"
|
||||
robotpy_version = "2026.1.1-beta-1"
|
||||
|
||||
# Which extra RobotPy components should be installed
|
||||
# -> equivalent to `pip install robotpy[extra1, ...]
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
[tool.robotpy]
|
||||
|
||||
# Version of robotpy this project depends on
|
||||
robotpy_version = "2025.3.2"
|
||||
robotpy_version = "2026.1.1-beta-1"
|
||||
|
||||
# Which extra RobotPy components should be installed
|
||||
# -> equivalent to `pip install robotpy[extra1, ...]
|
||||
|
||||
@@ -10,7 +10,7 @@ nativeUtils.wpi.configureDependencies {
|
||||
wpimathVersion = wpimathVersion
|
||||
opencvYear = 'frc'+openCVYear
|
||||
opencvVersion = openCVversion
|
||||
niLibVersion = "2025.0.0"
|
||||
niLibVersion = "2026.1.0"
|
||||
}
|
||||
|
||||
// Configure warnings and errors
|
||||
|
||||
Reference in New Issue
Block a user