diff --git a/rdev.toml b/rdev.toml index fb797f7eb..d4eb22405 100644 --- a/rdev.toml +++ b/rdev.toml @@ -11,20 +11,20 @@ [py_versions] # Usually the same as wpilib_bin_version -native = "2025.3.2" +native = "2025.3.2.1" # Will eventually sync with native halsim_native = "2025.3.2.2" # Usually similar to native, but subminor version is bumped for bugfixes # - ./rdev.sh ci check_tag will fail if this doesn't match current tag -wrapper = "2025.3.2.3" +wrapper = "2025.3.2.4" [params] -wpilib_bin_url = "https://frcmaven.wpi.edu/artifactory/release" -wpilib_bin_version = "2025.3.2" -#wpilib_bin_url = "https://frcmaven.wpi.edu/artifactory/development" +# wpilib_bin_url = "https://frcmaven.wpi.edu/artifactory/release" +wpilib_bin_version = "2025.3.2-54-g7a3df61" +wpilib_bin_url = "https://frcmaven.wpi.edu/artifactory/development" # Don't update these maven artifacts exclude_artifacts = [ diff --git a/subprojects/pyntcore/pyproject.toml b/subprojects/pyntcore/pyproject.toml index a58593324..d08f7cbeb 100644 --- a/subprojects/pyntcore/pyproject.toml +++ b/subprojects/pyntcore/pyproject.toml @@ -5,24 +5,24 @@ requires = [ "hatch-meson~=0.1.0b2", "hatch-robotpy~=0.2", "hatchling", - "robotpy-native-ntcore==2025.3.2", - "robotpy-wpiutil==2025.3.2.3", - "robotpy-wpinet==2025.3.2.3", + "robotpy-native-ntcore==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4", + "robotpy-wpinet==2025.3.2.4", ] [project] name = "pyntcore" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "Binary wrappers for the FRC ntcore library" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-ntcore==2025.3.2", - "robotpy-wpiutil==2025.3.2.3", - "robotpy-wpinet==2025.3.2.3", + "robotpy-native-ntcore==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4", + "robotpy-wpinet==2025.3.2.4", ] [project.urls] diff --git a/subprojects/robotpy-apriltag/pyproject.toml b/subprojects/robotpy-apriltag/pyproject.toml index dcfcb0413..4ac196f76 100644 --- a/subprojects/robotpy-apriltag/pyproject.toml +++ b/subprojects/robotpy-apriltag/pyproject.toml @@ -5,23 +5,23 @@ requires = [ "hatch-meson~=0.1.0b2", "hatch-robotpy~=0.2", "hatchling", - "robotpy-native-apriltag==2025.3.2", - "robotpy-wpiutil==2025.3.2.3", - "robotpy-wpimath==2025.3.2.3", + "robotpy-native-apriltag==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4", + "robotpy-wpimath==2025.3.2.4", ] [project] name = "robotpy-apriltag" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "RobotPy bindings for WPILib's AprilTag library" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-apriltag==2025.3.2", - "robotpy-wpiutil==2025.3.2.3", - "robotpy-wpimath==2025.3.2.3", + "robotpy-native-apriltag==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4", + "robotpy-wpimath==2025.3.2.4", ] [project.urls] diff --git a/subprojects/robotpy-cscore/pyproject.toml b/subprojects/robotpy-cscore/pyproject.toml index c2843be59..fb8021e6d 100644 --- a/subprojects/robotpy-cscore/pyproject.toml +++ b/subprojects/robotpy-cscore/pyproject.toml @@ -5,24 +5,24 @@ requires = [ "hatch-meson~=0.1.0b2", "hatch-robotpy~=0.2", "hatchling", - "robotpy-wpiutil==2025.3.2.3", - "robotpy-wpinet==2025.3.2.3", - "pyntcore==2025.3.2.3", + "robotpy-wpiutil==2025.3.2.4", + "robotpy-wpinet==2025.3.2.4", + "pyntcore==2025.3.2.4", # "numpy", # required for pybind11-stubgen to not complain, broken in raspbian CI ] [project] name = "robotpy-cscore" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "RobotPy bindings for cscore image processing library" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-wpiutil==2025.3.2.3", - "robotpy-wpinet==2025.3.2.3", - "pyntcore==2025.3.2.3", + "robotpy-wpiutil==2025.3.2.4", + "robotpy-wpinet==2025.3.2.4", + "pyntcore==2025.3.2.4", ] [project.urls] @@ -43,8 +43,8 @@ version_file = "cscore/version.py" [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "cscore-cpp" group_id = "edu.wpi.first.cscore" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" staticlibs = ["cscore"] extract_to = "lib" @@ -52,8 +52,8 @@ extract_to = "lib" [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "cameraserver-cpp" group_id = "edu.wpi.first.cameraserver" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" staticlibs = ["cameraserver"] extract_to = "lib" diff --git a/subprojects/robotpy-hal/pyproject.toml b/subprojects/robotpy-hal/pyproject.toml index 77f2186e6..87a2085d1 100644 --- a/subprojects/robotpy-hal/pyproject.toml +++ b/subprojects/robotpy-hal/pyproject.toml @@ -4,21 +4,21 @@ requires = [ "semiwrap~=0.1.2", "hatch-meson~=0.1.0b2", "hatchling", - "robotpy-native-wpihal==2025.3.2", - "robotpy-wpiutil==2025.3.2.3", + "robotpy-native-wpihal==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4", ] [project] name = "robotpy-hal" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "Binary wrapper for FRC HAL" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpihal==2025.3.2", - "robotpy-wpiutil==2025.3.2.3", + "robotpy-native-wpihal==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4", ] [project.urls] diff --git a/subprojects/robotpy-halsim-ds-socket/pyproject.toml b/subprojects/robotpy-halsim-ds-socket/pyproject.toml index 32ccd891f..1dedf3db0 100644 --- a/subprojects/robotpy-halsim-ds-socket/pyproject.toml +++ b/subprojects/robotpy-halsim-ds-socket/pyproject.toml @@ -14,8 +14,8 @@ authors = [ ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpihal==2025.3.2", - "robotpy-native-wpinet==2025.3.2", + "robotpy-native-wpihal==2025.3.2.1", + "robotpy-native-wpinet==2025.3.2.1", ] [project.entry-points.robotpysimext] @@ -28,8 +28,8 @@ version_file = "halsim_ds_socket/version.py" [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "halsim_ds_socket" group_id = "edu.wpi.first.halsim" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" use_headers = false extract_to = "halsim_ds_socket" diff --git a/subprojects/robotpy-halsim-gui/pyproject.toml b/subprojects/robotpy-halsim-gui/pyproject.toml index e219770ea..c98b84158 100644 --- a/subprojects/robotpy-halsim-gui/pyproject.toml +++ b/subprojects/robotpy-halsim-gui/pyproject.toml @@ -5,25 +5,25 @@ requires = [ "hatch-meson~=0.1.0b2", "hatch-robotpy~=0.2", "hatchling", - "robotpy-wpiutil==2025.3.2.3", - "robotpy-wpimath==2025.3.2.3", - "robotpy-hal==2025.3.2.3", - "pyntcore==2025.3.2.3", + "robotpy-wpiutil==2025.3.2.4", + "robotpy-wpimath==2025.3.2.4", + "robotpy-hal==2025.3.2.4", + "pyntcore==2025.3.2.4", ] [project] name = "robotpy-halsim-gui" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "WPILib simulation GUI" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-wpiutil==2025.3.2.3", - "robotpy-wpimath==2025.3.2.3", - "robotpy-hal==2025.3.2.3", - "pyntcore==2025.3.2.3", + "robotpy-wpiutil==2025.3.2.4", + "robotpy-wpimath==2025.3.2.4", + "robotpy-hal==2025.3.2.4", + "pyntcore==2025.3.2.4", ] [project.urls] @@ -36,8 +36,8 @@ version_file = "halsim_gui/version.py" [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "halsim_gui" group_id = "edu.wpi.first.halsim" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" use_headers = true libs = ["halsim_gui"] diff --git a/subprojects/robotpy-halsim-ws/pyproject.toml b/subprojects/robotpy-halsim-ws/pyproject.toml index 1dd5a23df..fca1263a4 100644 --- a/subprojects/robotpy-halsim-ws/pyproject.toml +++ b/subprojects/robotpy-halsim-ws/pyproject.toml @@ -14,8 +14,8 @@ authors = [ ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpihal==2025.3.2", - "robotpy-native-wpinet==2025.3.2", + "robotpy-native-wpihal==2025.3.2.1", + "robotpy-native-wpinet==2025.3.2.1", ] [project.entry-points.robotpysimext] @@ -33,8 +33,8 @@ version_file = "halsim_ws/version.py" [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "halsim_ws_server" group_id = "edu.wpi.first.halsim" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" use_headers = false extract_to = "halsim_ws/server" @@ -43,8 +43,8 @@ libs = ["halsim_ws_server"] [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "halsim_ws_client" group_id = "edu.wpi.first.halsim" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" use_headers = false extract_to = "halsim_ws/client" diff --git a/subprojects/robotpy-native-apriltag/pyproject.toml b/subprojects/robotpy-native-apriltag/pyproject.toml index 6d0f88fc8..598638069 100644 --- a/subprojects/robotpy-native-apriltag/pyproject.toml +++ b/subprojects/robotpy-native-apriltag/pyproject.toml @@ -4,19 +4,19 @@ requires = [ "hatchling", "hatch-nativelib~=0.2.0", "hatch-robotpy~=0.2", - "robotpy-native-wpiutil==2025.3.2", - "robotpy-native-wpimath==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", + "robotpy-native-wpimath==2025.3.2.1", ] [project] name = "robotpy-native-apriltag" -version = "2025.3.2" +version = "2025.3.2.1" description = "WPILib AprilTag Library" license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpiutil==2025.3.2", - "robotpy-native-wpimath==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", + "robotpy-native-wpimath==2025.3.2.1", ] [tool.hatch.build.targets.wheel] @@ -25,8 +25,8 @@ packages = ["src/native"] [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "apriltag-cpp" group_id = "edu.wpi.first.apriltag" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" extract_to = "src/native/apriltag" libs = ["apriltag"] diff --git a/subprojects/robotpy-native-ntcore/pyproject.toml b/subprojects/robotpy-native-ntcore/pyproject.toml index 83f83e7b5..43d6b54a5 100644 --- a/subprojects/robotpy-native-ntcore/pyproject.toml +++ b/subprojects/robotpy-native-ntcore/pyproject.toml @@ -4,19 +4,19 @@ requires = [ "hatchling", "hatch-nativelib~=0.2.0", "hatch-robotpy~=0.2", - "robotpy-native-wpiutil==2025.3.2", - "robotpy-native-wpinet==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", + "robotpy-native-wpinet==2025.3.2.1", ] [project] name = "robotpy-native-ntcore" -version = "2025.3.2" +version = "2025.3.2.1" description = "WPILib NetworkTables Library" license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpiutil==2025.3.2", - "robotpy-native-wpinet==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", + "robotpy-native-wpinet==2025.3.2.1", ] [tool.hatch.build.targets.wheel] @@ -25,8 +25,8 @@ packages = ["src/native"] [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "ntcore-cpp" group_id = "edu.wpi.first.ntcore" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" extract_to = "src/native/ntcore" libs = ["ntcore"] diff --git a/subprojects/robotpy-native-romi/pyproject.toml b/subprojects/robotpy-native-romi/pyproject.toml index 476883671..1c54201f8 100644 --- a/subprojects/robotpy-native-romi/pyproject.toml +++ b/subprojects/robotpy-native-romi/pyproject.toml @@ -4,17 +4,17 @@ requires = [ "hatchling", "hatch-nativelib~=0.2.0", "hatch-robotpy~=0.2", - "robotpy-native-wpilib==2025.3.2", + "robotpy-native-wpilib==2025.3.2.1", ] [project] name = "robotpy-native-romi" -version = "2025.3.2" +version = "2025.3.2.1" description = "WPILib Romi support library" license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpilib==2025.3.2", + "robotpy-native-wpilib==2025.3.2.1", ] [tool.hatch.build.targets.wheel] @@ -23,8 +23,8 @@ packages = ["src/native"] [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "romiVendordep-cpp" group_id = "edu.wpi.first.romiVendordep" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" extract_to = "src/native/romi" libs = ["romiVendordep"] diff --git a/subprojects/robotpy-native-wpihal/pyproject.toml b/subprojects/robotpy-native-wpihal/pyproject.toml index 0ee6480eb..1367f5f4e 100644 --- a/subprojects/robotpy-native-wpihal/pyproject.toml +++ b/subprojects/robotpy-native-wpihal/pyproject.toml @@ -4,17 +4,17 @@ requires = [ "hatchling", "hatch-nativelib~=0.2.0", "hatch-robotpy~=0.2", - "robotpy-native-wpiutil==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", ] [project] name = "robotpy-native-wpihal" -version = "2025.3.2" +version = "2025.3.2.1" description = "WPILib HAL implementation" license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpiutil==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", ] [tool.hatch.build.targets.wheel] @@ -23,8 +23,8 @@ packages = ["src/native"] [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "hal-cpp" group_id = "edu.wpi.first.hal" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" extract_to = "src/native/wpihal" libs = ["wpiHal"] diff --git a/subprojects/robotpy-native-wpilib/pyproject.toml b/subprojects/robotpy-native-wpilib/pyproject.toml index 9a418fa63..6c1bdf63e 100644 --- a/subprojects/robotpy-native-wpilib/pyproject.toml +++ b/subprojects/robotpy-native-wpilib/pyproject.toml @@ -4,25 +4,25 @@ requires = [ "hatchling", "hatch-nativelib~=0.2.0", "hatch-robotpy~=0.2", - "robotpy-native-wpiutil==2025.3.2", - "robotpy-native-wpinet==2025.3.2", - "robotpy-native-ntcore==2025.3.2", - "robotpy-native-wpimath==2025.3.2", - "robotpy-native-wpihal==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", + "robotpy-native-wpinet==2025.3.2.1", + "robotpy-native-ntcore==2025.3.2.1", + "robotpy-native-wpimath==2025.3.2.1", + "robotpy-native-wpihal==2025.3.2.1", ] [project] name = "robotpy-native-wpilib" -version = "2025.3.2" +version = "2025.3.2.1" description = "WPILib Robotics Library" license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpiutil==2025.3.2", - "robotpy-native-wpinet==2025.3.2", - "robotpy-native-ntcore==2025.3.2", - "robotpy-native-wpimath==2025.3.2", - "robotpy-native-wpihal==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", + "robotpy-native-wpinet==2025.3.2.1", + "robotpy-native-ntcore==2025.3.2.1", + "robotpy-native-wpimath==2025.3.2.1", + "robotpy-native-wpihal==2025.3.2.1", ] [tool.hatch.build.targets.wheel] @@ -31,8 +31,8 @@ packages = ["src/native"] [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "wpilibc-cpp" group_id = "edu.wpi.first.wpilibc" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" extract_to = "src/native/wpilib" libs = ["wpilibc"] diff --git a/subprojects/robotpy-native-wpimath/pyproject.toml b/subprojects/robotpy-native-wpimath/pyproject.toml index 72b8bcd3c..ab5861e4c 100644 --- a/subprojects/robotpy-native-wpimath/pyproject.toml +++ b/subprojects/robotpy-native-wpimath/pyproject.toml @@ -4,17 +4,17 @@ requires = [ "hatchling", "hatch-nativelib~=0.2.0", "hatch-robotpy~=0.2", - "robotpy-native-wpiutil==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", ] [project] name = "robotpy-native-wpimath" -version = "2025.3.2" +version = "2025.3.2.1" description = "WPILib Math Library" license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpiutil==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", ] [tool.hatch.build.targets.wheel] @@ -23,8 +23,8 @@ packages = ["src/native"] [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "wpimath-cpp" group_id = "edu.wpi.first.wpimath" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" extract_to = "src/native/wpimath" libs = ["wpimath"] diff --git a/subprojects/robotpy-native-wpinet/pyproject.toml b/subprojects/robotpy-native-wpinet/pyproject.toml index ac928d9d1..79303109f 100644 --- a/subprojects/robotpy-native-wpinet/pyproject.toml +++ b/subprojects/robotpy-native-wpinet/pyproject.toml @@ -4,17 +4,17 @@ requires = [ "hatchling", "hatch-nativelib~=0.2.0", "hatch-robotpy~=0.2", - "robotpy-native-wpiutil==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", ] [project] name = "robotpy-native-wpinet" -version = "2025.3.2" +version = "2025.3.2.1" description = "WPILib Networking Library" license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpiutil==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", ] [tool.hatch.build.targets.wheel] @@ -23,8 +23,8 @@ packages = ["src/native"] [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "wpinet-cpp" group_id = "edu.wpi.first.wpinet" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" extract_to = "src/native/wpinet" libs = ["wpinet"] diff --git a/subprojects/robotpy-native-wpiutil/pyproject.toml b/subprojects/robotpy-native-wpiutil/pyproject.toml index e0a6e6045..75a2ad1d4 100644 --- a/subprojects/robotpy-native-wpiutil/pyproject.toml +++ b/subprojects/robotpy-native-wpiutil/pyproject.toml @@ -8,7 +8,7 @@ requires = [ [project] name = "robotpy-native-wpiutil" -version = "2025.3.2" +version = "2025.3.2.1" description = "WPILib Utility Library" license = "BSD-3-Clause" @@ -22,8 +22,8 @@ packages = ["src/native"] [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "wpiutil-cpp" group_id = "edu.wpi.first.wpiutil" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" extract_to = "src/native/wpiutil" libs = ["wpiutil"] diff --git a/subprojects/robotpy-native-xrp/pyproject.toml b/subprojects/robotpy-native-xrp/pyproject.toml index 7499b4d60..554d76107 100644 --- a/subprojects/robotpy-native-xrp/pyproject.toml +++ b/subprojects/robotpy-native-xrp/pyproject.toml @@ -4,17 +4,17 @@ requires = [ "hatchling", "hatch-nativelib~=0.2.0", "hatch-robotpy~=0.2", - "robotpy-native-wpilib==2025.3.2", + "robotpy-native-wpilib==2025.3.2.1", ] [project] name = "robotpy-native-xrp" -version = "2025.3.2" +version = "2025.3.2.1" description = "WPILib XRP vendor library" license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpilib==2025.3.2", + "robotpy-native-wpilib==2025.3.2.1", ] [tool.hatch.build.targets.wheel] @@ -23,8 +23,8 @@ packages = ["src/native"] [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "xrpVendordep-cpp" group_id = "edu.wpi.first.xrpVendordep" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" extract_to = "src/native/xrp" libs = ["xrpVendordep"] diff --git a/subprojects/robotpy-romi/pyproject.toml b/subprojects/robotpy-romi/pyproject.toml index 4566a43bc..c81b976fd 100644 --- a/subprojects/robotpy-romi/pyproject.toml +++ b/subprojects/robotpy-romi/pyproject.toml @@ -5,22 +5,22 @@ requires = [ "hatch-meson~=0.1.0b2", "hatch-robotpy~=0.2", "hatchling", - "robotpy-native-romi==2025.3.2", - "wpilib==2025.3.2.3", + "robotpy-native-romi==2025.3.2.1", + "wpilib==2025.3.2.4", ] [project] name = "robotpy-romi" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "Binary wrapper for WPILib Romi Vendor library" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-romi==2025.3.2", - "wpilib==2025.3.2.3" + "robotpy-native-romi==2025.3.2.1", + "wpilib==2025.3.2.4" ] [project.urls] diff --git a/subprojects/robotpy-wpilib/pyproject.toml b/subprojects/robotpy-wpilib/pyproject.toml index 6b6621dfa..b70faf374 100644 --- a/subprojects/robotpy-wpilib/pyproject.toml +++ b/subprojects/robotpy-wpilib/pyproject.toml @@ -5,27 +5,27 @@ requires = [ "hatch-meson~=0.1.0b2", "hatch-robotpy~=0.2", "hatchling", - "robotpy-native-wpilib==2025.3.2", - "robotpy-wpiutil==2025.3.2.3", - "robotpy-wpimath==2025.3.2.3", - "robotpy-hal==2025.3.2.3", - "pyntcore==2025.3.2.3", + "robotpy-native-wpilib==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4", + "robotpy-wpimath==2025.3.2.4", + "robotpy-hal==2025.3.2.4", + "pyntcore==2025.3.2.4", ] [project] name = "wpilib" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "Binary wrapper for FRC WPILib" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpilib==2025.3.2", - "robotpy-wpiutil==2025.3.2.3", - "robotpy-wpimath==2025.3.2.3", - "robotpy-hal==2025.3.2.3", - "pyntcore==2025.3.2.3", + "robotpy-native-wpilib==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4", + "robotpy-wpimath==2025.3.2.4", + "robotpy-hal==2025.3.2.4", + "pyntcore==2025.3.2.4", "robotpy-cli~=2024.0b" ] diff --git a/subprojects/robotpy-wpimath/pyproject.toml b/subprojects/robotpy-wpimath/pyproject.toml index ed29e3354..5fbdf70ee 100644 --- a/subprojects/robotpy-wpimath/pyproject.toml +++ b/subprojects/robotpy-wpimath/pyproject.toml @@ -5,22 +5,22 @@ requires = [ "hatch-meson~=0.1.0b2", "hatch-robotpy~=0.2", "hatchling", - "robotpy-native-wpimath==2025.3.2", - "robotpy-wpiutil==2025.3.2.3", + "robotpy-native-wpimath==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4", # "numpy", # broken in raspbian CI ] [project] name = "robotpy-wpimath" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "Binary wrapper for FRC WPIMath library" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpimath==2025.3.2", - "robotpy-wpiutil==2025.3.2.3", + "robotpy-native-wpimath==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4", ] [project.urls] diff --git a/subprojects/robotpy-wpimath/semiwrap/controls/TrapezoidProfile.yml b/subprojects/robotpy-wpimath/semiwrap/controls/TrapezoidProfile.yml index 3d70fcebe..adaef7e8a 100644 --- a/subprojects/robotpy-wpimath/semiwrap/controls/TrapezoidProfile.yml +++ b/subprojects/robotpy-wpimath/semiwrap/controls/TrapezoidProfile.yml @@ -77,7 +77,8 @@ classes: maxAcceleration_: name: maxAcceleration default: '0' - template_inline_code: | + inline_code: | + ; { std::string clsNameCopy = clsName; diff --git a/subprojects/robotpy-wpimath/tests/trajectory/test_trapezoidal_profile.py b/subprojects/robotpy-wpimath/tests/trajectory/test_trapezoidal_profile.py new file mode 100644 index 000000000..c77961135 --- /dev/null +++ b/subprojects/robotpy-wpimath/tests/trajectory/test_trapezoidal_profile.py @@ -0,0 +1,176 @@ +# Copyright (c) FIRST and other WPILib contributors. +# Open Source Software; you can modify and/or share it under the terms of +# the WPILib BSD license file in the root directory of this project. + + +import math + +from wpimath.trajectory import TrapezoidProfile + +kDt = 0.01 # 10 ms + + +def test_reaches_goal(): + constraints = TrapezoidProfile.Constraints(1.75, 0.75) + goal = TrapezoidProfile.State(3.0, 0.0) + state = TrapezoidProfile.State() + + profile = TrapezoidProfile(constraints) + for _ in range(450): + state = profile.calculate(kDt, state, goal) + assert state == goal + + +def test_pos_continuous_under_vel_change(): + constraints = TrapezoidProfile.Constraints(1.75, 0.75) + goal = TrapezoidProfile.State(12.0, 0.0) + profile = TrapezoidProfile(constraints) + state = profile.calculate(kDt, TrapezoidProfile.State(), goal) + + last_pos = state.position + for i in range(1600): + if i == 400: + constraints = TrapezoidProfile.Constraints(0.75, 0.75) + profile = TrapezoidProfile(constraints) + + state = profile.calculate(kDt, state, goal) + estimated_vel = (state.position - last_pos) / kDt + + if i >= 400: + if estimated_vel <= constraints.maxVelocity: + assert estimated_vel <= constraints.maxVelocity + else: + assert math.isclose( + estimated_vel, constraints.maxVelocity, abs_tol=1e-4 + ) + assert state.velocity <= constraints.maxVelocity + + last_pos = state.position + + assert state == goal + + +def test_backwards(): + constraints = TrapezoidProfile.Constraints(0.75, 0.75) + goal = TrapezoidProfile.State(-2.0, 0.0) + state = TrapezoidProfile.State() + profile = TrapezoidProfile(constraints) + + for _ in range(400): + state = profile.calculate(kDt, state, goal) + assert state == goal + + +def test_switch_goal_in_middle(): + constraints = TrapezoidProfile.Constraints(0.75, 0.75) + goal = TrapezoidProfile.State(-2.0, 0.0) + state = TrapezoidProfile.State() + profile = TrapezoidProfile(constraints) + + for _ in range(200): + state = profile.calculate(kDt, state, goal) + assert state != goal + + goal = TrapezoidProfile.State(0.0, 0.0) + profile = TrapezoidProfile(constraints) + for _ in range(550): + state = profile.calculate(kDt, state, goal) + assert state == goal + + +def test_top_speed(): + constraints = TrapezoidProfile.Constraints(0.75, 0.75) + goal = TrapezoidProfile.State(4.0, 0.0) + state = TrapezoidProfile.State() + profile = TrapezoidProfile(constraints) + + for _ in range(200): + state = profile.calculate(kDt, state, goal) + assert math.isclose(constraints.maxVelocity, state.velocity, abs_tol=1e-4) + + profile = TrapezoidProfile(constraints) + for _ in range(2000): + state = profile.calculate(kDt, state, goal) + assert state == goal + + +def test_timing_to_current(): + constraints = TrapezoidProfile.Constraints(0.75, 0.75) + goal = TrapezoidProfile.State(2.0, 0.0) + state = TrapezoidProfile.State() + profile = TrapezoidProfile(constraints) + + for _ in range(400): + state = profile.calculate(kDt, state, goal) + assert math.isclose(profile.timeLeftUntil(state.position), 0.0, abs_tol=0.02) + + +def test_timing_to_goal(): + constraints = TrapezoidProfile.Constraints(0.75, 0.75) + goal = TrapezoidProfile.State(2.0, 0.0) + profile = TrapezoidProfile(constraints) + + state = profile.calculate(kDt, goal, TrapezoidProfile.State()) + predicted_time_left = profile.timeLeftUntil(goal.position) + + reached_goal = False + for i in range(400): + state = profile.calculate(kDt, state, goal) + if not reached_goal and state == goal: + assert math.isclose(predicted_time_left, i * kDt, abs_tol=0.25) + reached_goal = True + + +def test_timing_before_goal(): + constraints = TrapezoidProfile.Constraints(0.75, 0.75) + goal = TrapezoidProfile.State(2.0, 0.0) + profile = TrapezoidProfile(constraints) + + state = profile.calculate(kDt, goal, TrapezoidProfile.State()) + predicted_time_left = profile.timeLeftUntil(1.0) + + reached_goal = False + for i in range(400): + state = profile.calculate(kDt, state, goal) + if not reached_goal and abs(state.velocity - 1.0) < 1e-4: + assert math.isclose(predicted_time_left, i * kDt, abs_tol=0.02) + reached_goal = True + + +def test_timing_to_negative_goal(): + constraints = TrapezoidProfile.Constraints(0.75, 0.75) + goal = TrapezoidProfile.State(-2.0, 0.0) + profile = TrapezoidProfile(constraints) + + state = profile.calculate(kDt, goal, TrapezoidProfile.State()) + predicted_time_left = profile.timeLeftUntil(goal.position) + + reached_goal = False + for i in range(400): + state = profile.calculate(kDt, state, goal) + if not reached_goal and state == goal: + assert math.isclose(predicted_time_left, i * kDt, abs_tol=0.25) + reached_goal = True + + +def test_timing_before_negative_goal(): + constraints = TrapezoidProfile.Constraints(0.75, 0.75) + goal = TrapezoidProfile.State(-2.0, 0.0) + profile = TrapezoidProfile(constraints) + + state = profile.calculate(kDt, goal, TrapezoidProfile.State()) + predicted_time_left = profile.timeLeftUntil(-1.0) + + reached_goal = False + for i in range(400): + state = profile.calculate(kDt, state, goal) + if not reached_goal and abs(state.velocity + 1.0) < 1e-4: + assert math.isclose(predicted_time_left, i * kDt, abs_tol=0.02) + reached_goal = True + + +def test_initialization_of_current_state(): + constraints = TrapezoidProfile.Constraints(1.0, 1.0) + profile = TrapezoidProfile(constraints) + assert math.isclose(profile.timeLeftUntil(0.0), 0.0, abs_tol=1e-10) + assert math.isclose(profile.totalTime(), 0.0, abs_tol=1e-10) diff --git a/subprojects/robotpy-wpinet/pyproject.toml b/subprojects/robotpy-wpinet/pyproject.toml index a31ffa3d0..abcd2eebc 100644 --- a/subprojects/robotpy-wpinet/pyproject.toml +++ b/subprojects/robotpy-wpinet/pyproject.toml @@ -4,21 +4,21 @@ requires = [ "semiwrap~=0.1.2", "hatch-meson~=0.1.0b2", "hatchling", - "robotpy-native-wpinet==2025.3.2", - "robotpy-wpiutil==2025.3.2.3" + "robotpy-native-wpinet==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4" ] [project] name = "robotpy-wpinet" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "Binary wrapper for FRC wpinet library" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpinet==2025.3.2", - "robotpy-wpiutil==2025.3.2.3" + "robotpy-native-wpinet==2025.3.2.1", + "robotpy-wpiutil==2025.3.2.4" ] [project.urls] diff --git a/subprojects/robotpy-wpiutil/pyproject.toml b/subprojects/robotpy-wpiutil/pyproject.toml index 179d7412e..fd5a7642b 100644 --- a/subprojects/robotpy-wpiutil/pyproject.toml +++ b/subprojects/robotpy-wpiutil/pyproject.toml @@ -5,19 +5,19 @@ requires = [ "hatch-meson~=0.1.0b2", "hatch-robotpy~=0.2", "hatchling", - "robotpy-native-wpiutil==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", ] [project] name = "robotpy-wpiutil" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "Binary wrapper for FRC WPIUtil library" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-wpiutil==2025.3.2", + "robotpy-native-wpiutil==2025.3.2.1", ] [project.urls] diff --git a/subprojects/robotpy-xrp/pyproject.toml b/subprojects/robotpy-xrp/pyproject.toml index 6f74edb9e..43807734c 100644 --- a/subprojects/robotpy-xrp/pyproject.toml +++ b/subprojects/robotpy-xrp/pyproject.toml @@ -5,22 +5,22 @@ requires = [ "hatch-meson~=0.1.0b2", "hatch-robotpy~=0.2", "hatchling", - "robotpy-native-xrp==2025.3.2", - "wpilib==2025.3.2.3", + "robotpy-native-xrp==2025.3.2.1", + "wpilib==2025.3.2.4", ] [project] name = "robotpy-xrp" -version = "2025.3.2.3" +version = "2025.3.2.4" description = "Binary wrapper for WPILib XRP Vendor library" authors = [ {name = "RobotPy Development Team", email = "robotpy@googlegroups.com"}, ] license = "BSD-3-Clause" dependencies = [ - "robotpy-native-xrp==2025.3.2", - "wpilib==2025.3.2.3" + "robotpy-native-xrp==2025.3.2.1", + "wpilib==2025.3.2.4" ] [project.entry-points.robotpysimext] @@ -33,8 +33,8 @@ version_file = "xrp/version.py" [[tool.hatch.build.hooks.robotpy.maven_lib_download]] artifact_id = "halsim_xrp" group_id = "edu.wpi.first.halsim" -repo_url = "https://frcmaven.wpi.edu/artifactory/release" -version = "2025.3.2" +repo_url = "https://frcmaven.wpi.edu/artifactory/development" +version = "2025.3.2-54-g7a3df61" use_headers = false extract_to = "xrp/extension"