From ce7cb76273431bffb1a0cdcac367a06e5aa6b393 Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Sat, 11 Nov 2023 02:52:54 -0500 Subject: [PATCH 1/3] Update to latest Phoenix 5 --- .github/workflows/dist.yml | 10 +- ctre/__init__.py | 1 + ctre/_init_phoenix6.py | 3 + gen/BaseMotorController.yml | 3 +- gen/BasePigeon.yml | 3 +- gen/BufferedTrajectoryPointStream.yml | 5 +- gen/CANdleConfiguration.yml | 21 ++-- gen/ColorFlowAnimation.yml | 2 - gen/LarsonAnimation.yml | 2 - gen/LimitSwitchType.yml | 6 +- gen/Pigeon2.yml | 12 ++- gen/PigeonIMU.yml | 6 +- gen/StatorCurrentLimitConfiguration.yml | 2 +- gen/SupplyCurrentLimitConfiguration.yml | 2 +- gen/TalonSRX.yml | 2 +- gen/TwinkleAnimation.yml | 2 - gen/TwinkleOffAnimation.yml | 2 - gen/VictorSPX.yml | 2 +- pyproject.toml | 123 +++++++++++++----------- 19 files changed, 111 insertions(+), 98 deletions(-) create mode 100644 ctre/_init_phoenix6.py diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml index 2765b53..e4a4c43 100644 --- a/.github/workflows/dist.yml +++ b/.github/workflows/dist.yml @@ -11,16 +11,18 @@ on: jobs: ci: - uses: robotpy/build-actions/.github/workflows/package-ci.yml@v2023 + uses: robotpy/build-actions/.github/workflows/package-ci.yml@v2024 with: enable_raspbian: false enable_sphinx_check: false + artifactory_repo_type: vendor fail_fast: false + python_versions: >- + ["3.9", "3.10", "3.11", "3.12"] secrets: - SSH_USER: ${{ secrets.SSH_USER }} - SSH_KEY: ${{ secrets.SSH_KEY }} - SSH_PASSPHRASE: ${{ secrets.SSH_PASSPHRASE }} META_REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }} RTD_TOKEN: ${{ secrets.RTD_TOKEN }} RTD_WEBHOOK: ${{ secrets.RTD_WEBHOOK }} + WPI_ARTIFACTORY_USERNAME: ${{ secrets.WPI_ARTIFACTORY_USERNAME }} + WPI_ARTIFACTORY_TOKEN: ${{ secrets.WPI_ARTIFACTORY_TOKEN }} PYPI_API_TOKEN: ${{ secrets.PYPI_PASSWORD }} diff --git a/ctre/__init__.py b/ctre/__init__.py index 8e5d0b6..ab29932 100644 --- a/ctre/__init__.py +++ b/ctre/__init__.py @@ -1,3 +1,4 @@ +from . import _init_phoenix6 from . import _init_ctre # autogenerated by 'robotpy-build create-imports ctre' diff --git a/ctre/_init_phoenix6.py b/ctre/_init_phoenix6.py new file mode 100644 index 0000000..d862b17 --- /dev/null +++ b/ctre/_init_phoenix6.py @@ -0,0 +1,3 @@ +from phoenix6.phoenix_native import Native + +Native.instance() diff --git a/gen/BaseMotorController.yml b/gen/BaseMotorController.yml index 2351977..0d9b27e 100644 --- a/gen/BaseMotorController.yml +++ b/gen/BaseMotorController.yml @@ -13,7 +13,7 @@ classes: overloads: "": rename: __str__ - std::string&: + const std::string&: FilterConfiguration: shared_ptr: true attributes: @@ -322,6 +322,7 @@ classes: GetSlotConfigs: GetFilterConfigs: GetHandle: + ignore: true GetVictorSPXSimCollection: BaseConfigAllSettings: BaseGetAllConfigs: diff --git a/gen/BasePigeon.yml b/gen/BasePigeon.yml index 61ecf15..9523fdb 100644 --- a/gen/BasePigeon.yml +++ b/gen/BasePigeon.yml @@ -55,8 +55,6 @@ classes: GetCompassHeading: GetCompassFieldStrength: GetTemp: - overloads: - '[const]': GetUpTime: GetRawMagnetometer: GetBiasedMagnetometer: @@ -79,6 +77,7 @@ classes: GetFirmwareVersion: ClearStickyFaults: GetLowLevelHandle: + ignore: true ConfigAllSettings: GetAllConfigs: ConfigFactoryDefault: diff --git a/gen/BufferedTrajectoryPointStream.yml b/gen/BufferedTrajectoryPointStream.yml index 024211b..08f6ba4 100644 --- a/gen/BufferedTrajectoryPointStream.yml +++ b/gen/BufferedTrajectoryPointStream.yml @@ -8,6 +8,7 @@ classes: Clear: Write: overloads: - TrajectoryPoint&: - TrajectoryPoint*, uint32_t: + const TrajectoryPoint&: + const TrajectoryPoint*, uint32_t: GetHandle: + ignore: true diff --git a/gen/CANdleConfiguration.yml b/gen/CANdleConfiguration.yml index d83262f..2b41e50 100644 --- a/gen/CANdleConfiguration.yml +++ b/gen/CANdleConfiguration.yml @@ -10,21 +10,14 @@ classes: force_no_trampoline: true base_qualnames: CustomParamConfiguration: ctre::phoenix::CustomParamConfiguration + attributes: + stripType: + brightnessScalar: + disableWhenLOS: + statusLedOffWhenActive: + vBatOutputMode: + v5Enabled: methods: CANdleConfiguration: toString: rename: __str__ - -inline_code: | - cls_CANdleConfiguration - .def_readwrite("stripType", &ctre::phoenix::led::CANdleConfiguration::stripType, - py::doc("What type of LEDs the CANdle controls")) - .def_readwrite("brightnessScalar", &ctre::phoenix::led::CANdleConfiguration::brightnessScalar, - py::doc("Brightness scalar for all LEDs controlled")) - .def_readwrite("disableWhenLOS", &ctre::phoenix::led::CANdleConfiguration::disableWhenLOS, - py::doc("True to turn off LEDs when Loss of Signal occurrs")) - .def_readwrite("statusLedOffWhenActive", &ctre::phoenix::led::CANdleConfiguration::statusLedOffWhenActive, - py::doc("True to turn off Status LED when CANdle is actively being controlled")) - .def_readwrite("vBatOutputMode", &ctre::phoenix::led::CANdleConfiguration::vBatOutputMode, - py::doc("The behavior of VBat output")) - ; \ No newline at end of file diff --git a/gen/ColorFlowAnimation.yml b/gen/ColorFlowAnimation.yml index 43c78fb..3d8d69d 100644 --- a/gen/ColorFlowAnimation.yml +++ b/gen/ColorFlowAnimation.yml @@ -3,8 +3,6 @@ classes: ColorFlowAnimation: subpackage: led - typealias: - - ctre::phoenix::led::ColorFlowAnimation::Direction enums: Direction: methods: diff --git a/gen/LarsonAnimation.yml b/gen/LarsonAnimation.yml index 2155de3..3eb2023 100644 --- a/gen/LarsonAnimation.yml +++ b/gen/LarsonAnimation.yml @@ -3,8 +3,6 @@ classes: LarsonAnimation: subpackage: led - typealias: - - ctre::phoenix::led::LarsonAnimation::BounceMode enums: BounceMode: methods: diff --git a/gen/LimitSwitchType.yml b/gen/LimitSwitchType.yml index fa1d6ab..6d0772d 100644 --- a/gen/LimitSwitchType.yml +++ b/gen/LimitSwitchType.yml @@ -13,9 +13,9 @@ classes: IsRemote: toString: overloads: - ctre::phoenix::motorcontrol::LimitSwitchSource: + LimitSwitchSource: ignore: true - ctre::phoenix::motorcontrol::RemoteLimitSwitchSource: + RemoteLimitSwitchSource: ignore: true - ctre::phoenix::motorcontrol::LimitSwitchNormal: + LimitSwitchNormal: ignore: true diff --git a/gen/Pigeon2.yml b/gen/Pigeon2.yml index c0f5d49..c5686c8 100644 --- a/gen/Pigeon2.yml +++ b/gen/Pigeon2.yml @@ -12,6 +12,16 @@ classes: force_no_trampoline: true base_qualnames: CustomParamConfiguration: ctre::phoenix::CustomParamConfiguration + attributes: + MountPoseYaw: + MountPosePitch: + MountPoseRoll: + EnableCompass: + DisableTemperatureCompensation: + DisableNoMotionCalibration: + XAxisGyroError: + YAxisGyroError: + ZAxisGyroError: methods: Pigeon2Configuration: toString: @@ -44,7 +54,7 @@ classes: GetStickyFaults: ConfigMountPose: overloads: - ctre::phoenix::sensors::AxisDirection, ctre::phoenix::sensors::AxisDirection, int: + AxisDirection, AxisDirection, int: double, double, double, int: ConfigMountPoseYaw: ConfigMountPosePitch: diff --git a/gen/PigeonIMU.yml b/gen/PigeonIMU.yml index 0a54f97..537ba12 100644 --- a/gen/PigeonIMU.yml +++ b/gen/PigeonIMU.yml @@ -102,7 +102,7 @@ classes: default: "{0,0,0}" GetFusedHeading: overloads: - PigeonIMU::FusionStatus&: + FusionStatus&: "[const]": GetResetCount: GetResetFlags: @@ -110,8 +110,8 @@ classes: HasResetOccurred: ToString: overloads: - ctre::phoenix::sensors::PigeonIMU::PigeonState: - ctre::phoenix::sensors::PigeonIMU::CalibrationMode: + PigeonIMU::PigeonState: + CalibrationMode: ConfigSetCustomParam: ConfigGetCustomParam: ignore: true diff --git a/gen/StatorCurrentLimitConfiguration.yml b/gen/StatorCurrentLimitConfiguration.yml index f867174..4e9c475 100644 --- a/gen/StatorCurrentLimitConfiguration.yml +++ b/gen/StatorCurrentLimitConfiguration.yml @@ -12,7 +12,7 @@ classes: StatorCurrentLimitConfiguration: overloads: "": - double*, int: + const double*, int: ignore: true # unsafe array bool, double, double, double: ToString: diff --git a/gen/SupplyCurrentLimitConfiguration.yml b/gen/SupplyCurrentLimitConfiguration.yml index 9908cff..35db164 100644 --- a/gen/SupplyCurrentLimitConfiguration.yml +++ b/gen/SupplyCurrentLimitConfiguration.yml @@ -13,7 +13,7 @@ classes: overloads: "": bool, double, double, double: - double*, int: + const double*, int: ignore: true # unsafe array ToString: rename: __str__ diff --git a/gen/TalonSRX.yml b/gen/TalonSRX.yml index c1e4ef1..eb84ee3 100644 --- a/gen/TalonSRX.yml +++ b/gen/TalonSRX.yml @@ -45,7 +45,7 @@ classes: TalonSRX: overloads: int: - int, std::string&: + int, const std::string&: "": ignore: true ConfigSelectedFeedbackSensor: diff --git a/gen/TwinkleAnimation.yml b/gen/TwinkleAnimation.yml index 501e10b..7e7dc47 100644 --- a/gen/TwinkleAnimation.yml +++ b/gen/TwinkleAnimation.yml @@ -3,8 +3,6 @@ classes: TwinkleAnimation: subpackage: led - typealias: - - ctre::phoenix::led::TwinkleAnimation::TwinklePercent enums: TwinklePercent: methods: diff --git a/gen/TwinkleOffAnimation.yml b/gen/TwinkleOffAnimation.yml index 387cf33..af6f5d4 100644 --- a/gen/TwinkleOffAnimation.yml +++ b/gen/TwinkleOffAnimation.yml @@ -3,8 +3,6 @@ classes: TwinkleOffAnimation: subpackage: led - typealias: - - ctre::phoenix::led::TwinkleOffAnimation::TwinkleOffPercent enums: TwinkleOffPercent: methods: diff --git a/gen/VictorSPX.yml b/gen/VictorSPX.yml index 20a2571..647b7c9 100644 --- a/gen/VictorSPX.yml +++ b/gen/VictorSPX.yml @@ -68,7 +68,7 @@ classes: VictorSPX: overloads: int: - int, std::string&: + int, const std::string&: GetPIDConfigs: ConfigAllSettings: GetAllConfigs: diff --git a/pyproject.toml b/pyproject.toml index 3641344..75df29d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,13 +6,15 @@ author_email = "robotpy@googlegroups.com" url = "https://github.com/robotpy/robotpy-ctre" license = "MIT" install_requires = [ - "wpilib<2024.0.0,>=2023.1.1.0", + "wpilib<2025.0.0,>=2024.0.0b2", + "phoenix6~=24.0.0b2", ] [build-system] requires = [ - "robotpy-build<2024.0.0,>=2023.0.0", - "wpilib<2024.0.0,>=2023.1.1.0", + "robotpy-build<2025.0.0,>=2024.0.0b4", + "wpilib<2025.0.0,>=2024.0.0b2", + "phoenix6~=24.0.0b2", ] [tool.robotpy-build] @@ -44,7 +46,7 @@ depends = [ artifact_id = "wpiapi-cpp" group_id = "com.ctre.phoenix" repo_url = "https://maven.ctr-electronics.com/release" -version = "5.30.4" +version = "5.32.0-beta-1" libs = [ "CTRE_Phoenix_WPI", ] @@ -64,7 +66,7 @@ depends = [ artifact_id = "api-cpp" group_id = "com.ctre.phoenix" repo_url = "https://maven.ctr-electronics.com/release" -version = "5.30.4" +version = "5.32.0-beta-1" libs = [ "CTRE_Phoenix", ] @@ -83,7 +85,7 @@ depends = [ artifact_id = "cci" group_id = "com.ctre.phoenix" repo_url = "https://maven.ctr-electronics.com/release" -version = "5.30.4" +version = "5.32.0-beta-1" libs = [ "CTRE_PhoenixCCI", ] @@ -97,9 +99,9 @@ ignore = false [tool.robotpy-build.wrappers."ctre._tools".maven_lib_download] artifact_id = "tools" -group_id = "com.ctre.phoenixpro" +group_id = "com.ctre.phoenix6" repo_url = "https://maven.ctr-electronics.com/release" -version = "23.0.8" +version = "24.0.0-beta-2" libs = [ "CTRE_PhoenixTools", ] @@ -121,7 +123,7 @@ ignore = true artifact_id = "wpiapi-cpp-sim" group_id = "com.ctre.phoenix.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "5.30.4" +version = "5.32.0-beta-1" libs = [ "CTRE_Phoenix_WPISim", ] @@ -140,7 +142,7 @@ ignore = true artifact_id = "api-cpp-sim" group_id = "com.ctre.phoenix.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "5.30.4" +version = "5.32.0-beta-1" libs = [ "CTRE_PhoenixSim", ] @@ -158,7 +160,7 @@ ignore = true artifact_id = "cci-sim" group_id = "com.ctre.phoenix.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "5.30.4" +version = "5.32.0-beta-1" libs = [ "CTRE_PhoenixCCISim", ] @@ -181,12 +183,13 @@ ignore = true [tool.robotpy-build.wrappers."ctre._tools_sim".maven_lib_download] artifact_id = "tools-sim" -group_id = "com.ctre.phoenixpro.sim" +group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "23.0.8" -libs = [ - "CTRE_PhoenixTools_Sim", -] +version = "24.0.0-beta-2" +libs = [] +# libs = [ +# "CTRE_PhoenixTools_Sim", +# ] [tool.robotpy-build.wrappers."ctre._simtalonsrx"] name = "ctre_simtalonsrx" @@ -196,12 +199,13 @@ ignore = true [tool.robotpy-build.wrappers."ctre._simtalonsrx".maven_lib_download] artifact_id = "simTalonSRX" -group_id = "com.ctre.phoenixpro.sim" +group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "23.0.8" -libs = [ - "CTRE_SimTalonSRX", -] +version = "24.0.0-beta-2" +libs = [] +# libs = [ +# "CTRE_SimTalonSRX", +# ] [tool.robotpy-build.wrappers."ctre._simtalonfx"] name = "ctre_simtalonfx" @@ -211,12 +215,13 @@ ignore = true [tool.robotpy-build.wrappers."ctre._simtalonfx".maven_lib_download] artifact_id = "simTalonFX" -group_id = "com.ctre.phoenixpro.sim" +group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "23.0.8" -libs = [ - "CTRE_SimTalonFX", -] +version = "24.0.0-beta-2" +libs = [] +# libs = [ +# "CTRE_SimTalonFX", +# ] [tool.robotpy-build.wrappers."ctre._simvictorspx"] name = "ctre_simvictorspx" @@ -226,12 +231,13 @@ ignore = true [tool.robotpy-build.wrappers."ctre._simvictorspx".maven_lib_download] artifact_id = "simVictorSPX" -group_id = "com.ctre.phoenixpro.sim" +group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "23.0.8" -libs = [ - "CTRE_SimVictorSPX", -] +version = "24.0.0-beta-2" +libs = [] +# libs = [ +# "CTRE_SimVictorSPX", +# ] [tool.robotpy-build.wrappers."ctre._simpigeonimu"] name = "ctre_simpigeonimu" @@ -241,12 +247,13 @@ ignore = true [tool.robotpy-build.wrappers."ctre._simpigeonimu".maven_lib_download] artifact_id = "simPigeonIMU" -group_id = "com.ctre.phoenixpro.sim" +group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "23.0.8" -libs = [ - "CTRE_SimPigeonIMU", -] +version = "24.0.0-beta-2" +libs = [] +# libs = [ +# "CTRE_SimPigeonIMU", +# ] [tool.robotpy-build.wrappers."ctre._simcancoder"] name = "ctre_simcancoder" @@ -256,12 +263,13 @@ ignore = true [tool.robotpy-build.wrappers."ctre._simcancoder".maven_lib_download] artifact_id = "simCANCoder" -group_id = "com.ctre.phoenixpro.sim" +group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "23.0.8" -libs = [ - "CTRE_SimCANCoder", -] +version = "24.0.0-beta-2" +libs = [] +# libs = [ +# "CTRE_SimCANCoder", +# ] [tool.robotpy-build.wrappers."ctre._simprotalonfx"] name = "ctre_simprotalonfx" @@ -271,12 +279,13 @@ ignore = true [tool.robotpy-build.wrappers."ctre._simprotalonfx".maven_lib_download] artifact_id = "simProTalonFX" -group_id = "com.ctre.phoenixpro.sim" +group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "23.0.8" -libs = [ - "CTRE_SimProTalonFX", -] +version = "24.0.0-beta-2" +libs = [] +# libs = [ +# "CTRE_SimProTalonFX", +# ] [tool.robotpy-build.wrappers."ctre._simprocancoder"] name = "ctre_simprocancoder" @@ -286,12 +295,13 @@ ignore = true [tool.robotpy-build.wrappers."ctre._simprocancoder".maven_lib_download] artifact_id = "simProCANcoder" -group_id = "com.ctre.phoenixpro.sim" +group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "23.0.8" -libs = [ - "CTRE_SimProCANcoder", -] +version = "24.0.0-beta-2" +libs = [] +# libs = [ +# "CTRE_SimProCANcoder", +# ] [tool.robotpy-build.wrappers."ctre._simpropigeon2"] name = "ctre_simpropigeon2" @@ -301,12 +311,13 @@ ignore = true [tool.robotpy-build.wrappers."ctre._simpropigeon2".maven_lib_download] artifact_id = "simProPigeon2" -group_id = "com.ctre.phoenixpro.sim" +group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" -version = "23.0.8" -libs = [ - "CTRE_SimProPigeon2", -] +version = "24.0.0-beta-2" +libs = [] +# libs = [ +# "CTRE_SimProPigeon2", +# ] # End autogenerated TOML From 082fe2a60499c5cd0b8f2d8365b2c47ec2363ecd Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Sun, 12 Nov 2023 01:23:44 -0500 Subject: [PATCH 2/3] Add hack to find libraries on OSX --- ctre/_osx_phoenix6_pkgcfg.py | 52 ++++++++++++++++++++++++++++++++++++ pyproject.toml | 8 +++++- setup.py | 23 ++++++++++++++++ 3 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 ctre/_osx_phoenix6_pkgcfg.py diff --git a/ctre/_osx_phoenix6_pkgcfg.py b/ctre/_osx_phoenix6_pkgcfg.py new file mode 100644 index 0000000..b9aa9cf --- /dev/null +++ b/ctre/_osx_phoenix6_pkgcfg.py @@ -0,0 +1,52 @@ +# Hack to get around needing to depend on phoenix 6's binaries and +# they aren't exported directly + + +from os.path import abspath, join, dirname +import phoenix6 + +_root = abspath(dirname(phoenix6.__file__)) + +libinit_import = "ctre._init_phoenix6" +depends = [] +pypi_package = "phoenix6" + + +def get_include_dirs(): + return [] + + +def get_library_dirs(): + return [join(_root, "lib")] + + +def get_library_dirs_rel(): + return ["lib"] + + +def get_library_names(): + return [ + "CTRE_PhoenixTools_Sim", + "CTRE_SimCANCoder", + "CTRE_SimPigeonIMU", + "CTRE_SimProCANcoder", + "CTRE_SimProPigeon2", + "CTRE_SimProTalonFX", + "CTRE_SimTalonFX", + "CTRE_SimTalonSRX", + "CTRE_SimVictorSPX", + ] + + +def get_library_full_names(): + return [ + "libCTRE_PhoenixTools_Sim.dylib", + "libCTRE_SimCANCoder.dylib", + "libCTRE_SimPigeonIMU.dylib", + "libCTRE_SimProCANcoder.dylib", + "libCTRE_SimProPigeon2.dylib", + "libCTRE_SimProTalonFX.dylib", + "libCTRE_SimTalonFX.dylib", + "libCTRE_SimTalonSRX.dylib", + "libCTRE_SimVictorSPX.dylib", + ] diff --git a/pyproject.toml b/pyproject.toml index 75df29d..4f81c5c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ install_requires = [ [build-system] requires = [ - "robotpy-build<2025.0.0,>=2024.0.0b4", + "robotpy-build<2025.0.0,>=2024.0.0b5", "wpilib<2025.0.0,>=2024.0.0b2", "phoenix6~=24.0.0b2", ] @@ -153,6 +153,12 @@ depends = [ "ctre_tools_sim", ] +[tool.robotpy-build.wrappers."ctre._cci_sim".override.os_osx] +depends = [ + "ctre_tools_sim", + "phoenix6_workaround" +] + [tool.robotpy-build.wrappers."ctre._cci_sim".override.arch_athena] ignore = true diff --git a/setup.py b/setup.py index 3542d0c..7ca42e4 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,28 @@ #!/usr/bin/env python3 +import sys + +# HACK: insert an entrypoint for phoenix 6 so we can link to it +if sys.platform.startswith("darwin"): + import robotpy_build.pkgcfg_provider + from importlib.metadata import entry_points, EntryPoint + + def entry_points_hook(*args, **kwargs): + ep = EntryPoint( + name="phoenix6_workaround", + value="ctre._osx_phoenix6_pkgcfg", + group="robotpybuild", + ) + + eps = entry_points(*args, **kwargs) + if isinstance(eps, dict): + eps["robotpybuild"] = (ep, *eps.get("robotpybuild", tuple())) + else: + eps = (ep, *eps) + return eps + + robotpy_build.pkgcfg_provider.entry_points = entry_points_hook + from robotpy_build.setup import setup setup() From 126e0a4ec28bb0ed8be42b9d6d9ac03cbc530499 Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Sun, 12 Nov 2023 02:31:34 -0500 Subject: [PATCH 3/3] Rename 'ctre' package to 'phoenix5' - Will be more consistent for users in the future --- .gitignore | 18 +-- README.rst | 2 +- docs/api.rst | 6 +- docs/conf.py | 8 +- examples/basic/robot.py | 4 +- examples/getting-started/robot.py | 6 +- examples/motion_magic/robot.py | 2 +- examples/position_closed_loop/robot.py | 12 +- {ctre => phoenix5}/__init__.py | 0 {ctre => phoenix5}/_api_cpp/__init__.py | 0 {ctre => phoenix5}/_api_cpp_sim/__init__.py | 0 {ctre => phoenix5}/_cci/__init__.py | 0 {ctre => phoenix5}/_cci_sim/__init__.py | 0 {ctre => phoenix5}/_init_phoenix6.py | 0 {ctre => phoenix5}/_osx_phoenix6_pkgcfg.py | 2 +- {ctre => phoenix5}/_simcancoder/__init__.py | 0 {ctre => phoenix5}/_simpigeonimu/__init__.py | 0 .../_simprocancoder/__init__.py | 0 {ctre => phoenix5}/_simpropigeon2/__init__.py | 0 {ctre => phoenix5}/_simprotalonfx/__init__.py | 0 {ctre => phoenix5}/_simtalonfx/__init__.py | 0 {ctre => phoenix5}/_simtalonsrx/__init__.py | 0 {ctre => phoenix5}/_simvictorspx/__init__.py | 0 {ctre => phoenix5}/_tools/__init__.py | 0 {ctre => phoenix5}/_tools_sim/__init__.py | 0 {ctre => phoenix5}/_wpiapi_cpp/__init__.py | 0 .../_wpiapi_cpp_sim/__init__.py | 0 {ctre => phoenix5}/ctre.cpp | 0 {ctre => phoenix5}/led.py | 0 {ctre => phoenix5}/sensors.py | 0 pyproject.toml | 108 +++++++++--------- setup.py | 2 +- tests/test_ctre.py | 18 +-- tests/test_sensors.py | 8 +- 34 files changed, 98 insertions(+), 98 deletions(-) rename {ctre => phoenix5}/__init__.py (100%) rename {ctre => phoenix5}/_api_cpp/__init__.py (100%) rename {ctre => phoenix5}/_api_cpp_sim/__init__.py (100%) rename {ctre => phoenix5}/_cci/__init__.py (100%) rename {ctre => phoenix5}/_cci_sim/__init__.py (100%) rename {ctre => phoenix5}/_init_phoenix6.py (100%) rename {ctre => phoenix5}/_osx_phoenix6_pkgcfg.py (96%) rename {ctre => phoenix5}/_simcancoder/__init__.py (100%) rename {ctre => phoenix5}/_simpigeonimu/__init__.py (100%) rename {ctre => phoenix5}/_simprocancoder/__init__.py (100%) rename {ctre => phoenix5}/_simpropigeon2/__init__.py (100%) rename {ctre => phoenix5}/_simprotalonfx/__init__.py (100%) rename {ctre => phoenix5}/_simtalonfx/__init__.py (100%) rename {ctre => phoenix5}/_simtalonsrx/__init__.py (100%) rename {ctre => phoenix5}/_simvictorspx/__init__.py (100%) rename {ctre => phoenix5}/_tools/__init__.py (100%) rename {ctre => phoenix5}/_tools_sim/__init__.py (100%) rename {ctre => phoenix5}/_wpiapi_cpp/__init__.py (100%) rename {ctre => phoenix5}/_wpiapi_cpp_sim/__init__.py (100%) rename {ctre => phoenix5}/ctre.cpp (100%) rename {ctre => phoenix5}/led.py (100%) rename {ctre => phoenix5}/sensors.py (100%) diff --git a/.gitignore b/.gitignore index 6dc1b9b..9b72fa8 100644 --- a/.gitignore +++ b/.gitignore @@ -43,15 +43,15 @@ __pycache__/ *$py.class # C extensions -/ctre/_init_ctre.py -/ctre/pkgcfg.py -/ctre/rpy-include -/ctre/version.py -/ctre/py.typed - -/ctre/_*/_init_*.py -/ctre/_*/pkgcfg.py -/ctre/_*/include +/phoenix5/_init_ctre.py +/phoenix5/pkgcfg.py +/phoenix5/rpy-include +/phoenix5/version.py +/phoenix5/py.typed + +/phoenix5/_*/_init_*.py +/phoenix5/_*/pkgcfg.py +/phoenix5/_*/include # Distribution / packaging diff --git a/README.rst b/README.rst index 0adb82b..6e39e4d 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ robotpy-ctre ============ -This is a python wrapper around the CTRE Phoenix library. The RobotPy project +This is a python wrapper around the CTRE Phoenix v5 API. The RobotPy project is not associated with or endorsed by Cross The Road Electronics. **NOTE**: CTRE only supports simulation for the following platforms: diff --git a/docs/api.rst b/docs/api.rst index aeaa97b..b0a7807 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -17,6 +17,6 @@ and we'll try to address the problem. .. toctree:: - ctre - ctre.led - ctre.sensors + phoenix5 + phoenix5.led + phoenix5.sensors diff --git a/docs/conf.py b/docs/conf.py index 7b240a1..99ddc5c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -6,7 +6,7 @@ from os.path import abspath, join, dirname -import ctre +import phoenix5 # -- RTD configuration ------------------------------------------------ @@ -136,6 +136,6 @@ root = abspath(dirname(__file__)) -gen_package(root, "ctre") -gen_package(root, "ctre.led") -gen_package(root, "ctre.sensors") +gen_package(root, "phoenix5") +gen_package(root, "phoenix5.led") +gen_package(root, "phoenix5.sensors") diff --git a/examples/basic/robot.py b/examples/basic/robot.py index ee89966..948f075 100755 --- a/examples/basic/robot.py +++ b/examples/basic/robot.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import wpilib -import ctre +import phoenix5 class MyRobot(wpilib.TimedRobot): @@ -11,7 +11,7 @@ class MyRobot(wpilib.TimedRobot): """ def robotInit(self): - self.motor = ctre.WPI_TalonSRX(1) # Initialize the TalonSRX on device 1. + self.motor = phoenix5.WPI_TalonSRX(1) # Initialize the TalonSRX on device 1. def disabledPeriodic(self): self.motor.disable() diff --git a/examples/getting-started/robot.py b/examples/getting-started/robot.py index c1696a1..8dfd626 100755 --- a/examples/getting-started/robot.py +++ b/examples/getting-started/robot.py @@ -7,7 +7,7 @@ import wpilib import wpilib.drive -import ctre +import phoenix5 class MyRobot(wpilib.TimedRobot): @@ -16,8 +16,8 @@ def robotInit(self): This function is called upon program startup and should be used for any initialization code. """ - self.leftDrive = ctre.WPI_TalonFX(1) - self.rightDrive = ctre.WPI_TalonFX(2) + self.leftDrive = phoenix5.WPI_TalonFX(1) + self.rightDrive = phoenix5.WPI_TalonFX(2) self.robotDrive = wpilib.drive.DifferentialDrive( self.leftDrive, self.rightDrive ) diff --git a/examples/motion_magic/robot.py b/examples/motion_magic/robot.py index 5377916..8498258 100755 --- a/examples/motion_magic/robot.py +++ b/examples/motion_magic/robot.py @@ -19,7 +19,7 @@ * use button1 to motion-magic servo to target position specified by the gamepad stick. """ -from ctre import WPI_TalonSRX +from phoenix5 import WPI_TalonSRX import wpilib diff --git a/examples/position_closed_loop/robot.py b/examples/position_closed_loop/robot.py index 409fb6f..9f796f5 100755 --- a/examples/position_closed_loop/robot.py +++ b/examples/position_closed_loop/robot.py @@ -18,7 +18,7 @@ * Tweak the PID gains accordingly. """ -import ctre +import phoenix5 import wpilib @@ -37,7 +37,7 @@ class Robot(wpilib.TimedRobot): kTimeoutMs = 10 def robotInit(self): - self.talon = ctre.WPI_TalonSRX(3) + self.talon = phoenix5.WPI_TalonSRX(3) self.joy = wpilib.Joystick(0) self.loops = 0 @@ -46,7 +46,7 @@ def robotInit(self): # choose the sensor and sensor direction self.talon.configSelectedFeedbackSensor( - ctre.FeedbackDevice.CTRE_MagEncoder_Relative, + phoenix5.FeedbackDevice.CTRE_MagEncoder_Relative, self.kPIDLoopIdx, self.kTimeoutMs, ) @@ -106,14 +106,14 @@ def teleopPeriodic(self): # 10 Rotations * 4096 u/rev in either direction self.targetPos = leftYstick * 4096 * 10.0 - self.talon.set(ctre.ControlMode.Position, self.targetPos) + self.talon.set(phoenix5.ControlMode.Position, self.targetPos) # on button2 just straight drive if button2: # Percent voltage mode - self.talon.set(ctre.ControlMode.PercentOutput, leftYstick) + self.talon.set(phoenix5.ControlMode.PercentOutput, leftYstick) - if self.talon.getControlMode() == ctre.ControlMode.Position: + if self.talon.getControlMode() == phoenix5.ControlMode.Position: # append more signals to print when in speed mode. sb.append("\terr: %s" % self.talon.getClosedLoopError(self.kPIDLoopIdx)) sb.append("\ttrg: %.3f" % self.targetPos) diff --git a/ctre/__init__.py b/phoenix5/__init__.py similarity index 100% rename from ctre/__init__.py rename to phoenix5/__init__.py diff --git a/ctre/_api_cpp/__init__.py b/phoenix5/_api_cpp/__init__.py similarity index 100% rename from ctre/_api_cpp/__init__.py rename to phoenix5/_api_cpp/__init__.py diff --git a/ctre/_api_cpp_sim/__init__.py b/phoenix5/_api_cpp_sim/__init__.py similarity index 100% rename from ctre/_api_cpp_sim/__init__.py rename to phoenix5/_api_cpp_sim/__init__.py diff --git a/ctre/_cci/__init__.py b/phoenix5/_cci/__init__.py similarity index 100% rename from ctre/_cci/__init__.py rename to phoenix5/_cci/__init__.py diff --git a/ctre/_cci_sim/__init__.py b/phoenix5/_cci_sim/__init__.py similarity index 100% rename from ctre/_cci_sim/__init__.py rename to phoenix5/_cci_sim/__init__.py diff --git a/ctre/_init_phoenix6.py b/phoenix5/_init_phoenix6.py similarity index 100% rename from ctre/_init_phoenix6.py rename to phoenix5/_init_phoenix6.py diff --git a/ctre/_osx_phoenix6_pkgcfg.py b/phoenix5/_osx_phoenix6_pkgcfg.py similarity index 96% rename from ctre/_osx_phoenix6_pkgcfg.py rename to phoenix5/_osx_phoenix6_pkgcfg.py index b9aa9cf..e52ee1d 100644 --- a/ctre/_osx_phoenix6_pkgcfg.py +++ b/phoenix5/_osx_phoenix6_pkgcfg.py @@ -7,7 +7,7 @@ _root = abspath(dirname(phoenix6.__file__)) -libinit_import = "ctre._init_phoenix6" +libinit_import = "phoenix5._init_phoenix6" depends = [] pypi_package = "phoenix6" diff --git a/ctre/_simcancoder/__init__.py b/phoenix5/_simcancoder/__init__.py similarity index 100% rename from ctre/_simcancoder/__init__.py rename to phoenix5/_simcancoder/__init__.py diff --git a/ctre/_simpigeonimu/__init__.py b/phoenix5/_simpigeonimu/__init__.py similarity index 100% rename from ctre/_simpigeonimu/__init__.py rename to phoenix5/_simpigeonimu/__init__.py diff --git a/ctre/_simprocancoder/__init__.py b/phoenix5/_simprocancoder/__init__.py similarity index 100% rename from ctre/_simprocancoder/__init__.py rename to phoenix5/_simprocancoder/__init__.py diff --git a/ctre/_simpropigeon2/__init__.py b/phoenix5/_simpropigeon2/__init__.py similarity index 100% rename from ctre/_simpropigeon2/__init__.py rename to phoenix5/_simpropigeon2/__init__.py diff --git a/ctre/_simprotalonfx/__init__.py b/phoenix5/_simprotalonfx/__init__.py similarity index 100% rename from ctre/_simprotalonfx/__init__.py rename to phoenix5/_simprotalonfx/__init__.py diff --git a/ctre/_simtalonfx/__init__.py b/phoenix5/_simtalonfx/__init__.py similarity index 100% rename from ctre/_simtalonfx/__init__.py rename to phoenix5/_simtalonfx/__init__.py diff --git a/ctre/_simtalonsrx/__init__.py b/phoenix5/_simtalonsrx/__init__.py similarity index 100% rename from ctre/_simtalonsrx/__init__.py rename to phoenix5/_simtalonsrx/__init__.py diff --git a/ctre/_simvictorspx/__init__.py b/phoenix5/_simvictorspx/__init__.py similarity index 100% rename from ctre/_simvictorspx/__init__.py rename to phoenix5/_simvictorspx/__init__.py diff --git a/ctre/_tools/__init__.py b/phoenix5/_tools/__init__.py similarity index 100% rename from ctre/_tools/__init__.py rename to phoenix5/_tools/__init__.py diff --git a/ctre/_tools_sim/__init__.py b/phoenix5/_tools_sim/__init__.py similarity index 100% rename from ctre/_tools_sim/__init__.py rename to phoenix5/_tools_sim/__init__.py diff --git a/ctre/_wpiapi_cpp/__init__.py b/phoenix5/_wpiapi_cpp/__init__.py similarity index 100% rename from ctre/_wpiapi_cpp/__init__.py rename to phoenix5/_wpiapi_cpp/__init__.py diff --git a/ctre/_wpiapi_cpp_sim/__init__.py b/phoenix5/_wpiapi_cpp_sim/__init__.py similarity index 100% rename from ctre/_wpiapi_cpp_sim/__init__.py rename to phoenix5/_wpiapi_cpp_sim/__init__.py diff --git a/ctre/ctre.cpp b/phoenix5/ctre.cpp similarity index 100% rename from ctre/ctre.cpp rename to phoenix5/ctre.cpp diff --git a/ctre/led.py b/phoenix5/led.py similarity index 100% rename from ctre/led.py rename to phoenix5/led.py diff --git a/ctre/sensors.py b/phoenix5/sensors.py similarity index 100% rename from ctre/sensors.py rename to phoenix5/sensors.py diff --git a/pyproject.toml b/pyproject.toml index 4f81c5c..1474244 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,17 +18,17 @@ requires = [ ] [tool.robotpy-build] -base_package = "ctre" +base_package = "phoenix5" # # Autogenerated TOML with vendorjson.py # -[tool.robotpy-build.wrappers."ctre._wpiapi_cpp"] +[tool.robotpy-build.wrappers."phoenix5._wpiapi_cpp"] name = "ctre_wpiapi_cpp" ignore = true -[tool.robotpy-build.wrappers."ctre._wpiapi_cpp".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._wpiapi_cpp".override.arch_athena] ignore = false depends = [ "wpiutil", @@ -42,7 +42,7 @@ depends = [ "ctre_api_cpp", ] -[tool.robotpy-build.wrappers."ctre._wpiapi_cpp".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._wpiapi_cpp".maven_lib_download] artifact_id = "wpiapi-cpp" group_id = "com.ctre.phoenix" repo_url = "https://maven.ctr-electronics.com/release" @@ -51,18 +51,18 @@ libs = [ "CTRE_Phoenix_WPI", ] -[tool.robotpy-build.wrappers."ctre._api_cpp"] +[tool.robotpy-build.wrappers."phoenix5._api_cpp"] name = "ctre_api_cpp" ignore = true -[tool.robotpy-build.wrappers."ctre._api_cpp".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._api_cpp".override.arch_athena] ignore = false depends = [ "ctre_tools", "ctre_cci", ] -[tool.robotpy-build.wrappers."ctre._api_cpp".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._api_cpp".maven_lib_download] artifact_id = "api-cpp" group_id = "com.ctre.phoenix" repo_url = "https://maven.ctr-electronics.com/release" @@ -71,17 +71,17 @@ libs = [ "CTRE_Phoenix", ] -[tool.robotpy-build.wrappers."ctre._cci"] +[tool.robotpy-build.wrappers."phoenix5._cci"] name = "ctre_cci" ignore = true -[tool.robotpy-build.wrappers."ctre._cci".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._cci".override.arch_athena] ignore = false depends = [ "ctre_tools", ] -[tool.robotpy-build.wrappers."ctre._cci".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._cci".maven_lib_download] artifact_id = "cci" group_id = "com.ctre.phoenix" repo_url = "https://maven.ctr-electronics.com/release" @@ -90,14 +90,14 @@ libs = [ "CTRE_PhoenixCCI", ] -[tool.robotpy-build.wrappers."ctre._tools"] +[tool.robotpy-build.wrappers."phoenix5._tools"] name = "ctre_tools" ignore = true -[tool.robotpy-build.wrappers."ctre._tools".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._tools".override.arch_athena] ignore = false -[tool.robotpy-build.wrappers."ctre._tools".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._tools".maven_lib_download] artifact_id = "tools" group_id = "com.ctre.phoenix6" repo_url = "https://maven.ctr-electronics.com/release" @@ -106,7 +106,7 @@ libs = [ "CTRE_PhoenixTools", ] -[tool.robotpy-build.wrappers."ctre._wpiapi_cpp_sim"] +[tool.robotpy-build.wrappers."phoenix5._wpiapi_cpp_sim"] name = "ctre_wpiapi_cpp_sim" depends = [ "wpiutil", @@ -116,10 +116,10 @@ depends = [ "ctre_api_cpp_sim", ] -[tool.robotpy-build.wrappers."ctre._wpiapi_cpp_sim".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._wpiapi_cpp_sim".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._wpiapi_cpp_sim".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._wpiapi_cpp_sim".maven_lib_download] artifact_id = "wpiapi-cpp-sim" group_id = "com.ctre.phoenix.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -128,17 +128,17 @@ libs = [ "CTRE_Phoenix_WPISim", ] -[tool.robotpy-build.wrappers."ctre._api_cpp_sim"] +[tool.robotpy-build.wrappers."phoenix5._api_cpp_sim"] name = "ctre_api_cpp_sim" depends = [ "ctre_tools_sim", "ctre_cci_sim", ] -[tool.robotpy-build.wrappers."ctre._api_cpp_sim".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._api_cpp_sim".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._api_cpp_sim".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._api_cpp_sim".maven_lib_download] artifact_id = "api-cpp-sim" group_id = "com.ctre.phoenix.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -147,22 +147,22 @@ libs = [ "CTRE_PhoenixSim", ] -[tool.robotpy-build.wrappers."ctre._cci_sim"] +[tool.robotpy-build.wrappers."phoenix5._cci_sim"] name = "ctre_cci_sim" depends = [ "ctre_tools_sim", ] -[tool.robotpy-build.wrappers."ctre._cci_sim".override.os_osx] +[tool.robotpy-build.wrappers."phoenix5._cci_sim".override.os_osx] depends = [ "ctre_tools_sim", "phoenix6_workaround" ] -[tool.robotpy-build.wrappers."ctre._cci_sim".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._cci_sim".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._cci_sim".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._cci_sim".maven_lib_download] artifact_id = "cci-sim" group_id = "com.ctre.phoenix.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -171,7 +171,7 @@ libs = [ "CTRE_PhoenixCCISim", ] -[tool.robotpy-build.wrappers."ctre._tools_sim"] +[tool.robotpy-build.wrappers."phoenix5._tools_sim"] name = "ctre_tools_sim" depends = [ "ctre_simpropigeon2", @@ -184,10 +184,10 @@ depends = [ "ctre_simvictorspx", ] -[tool.robotpy-build.wrappers."ctre._tools_sim".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._tools_sim".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._tools_sim".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._tools_sim".maven_lib_download] artifact_id = "tools-sim" group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -197,13 +197,13 @@ libs = [] # "CTRE_PhoenixTools_Sim", # ] -[tool.robotpy-build.wrappers."ctre._simtalonsrx"] +[tool.robotpy-build.wrappers."phoenix5._simtalonsrx"] name = "ctre_simtalonsrx" -[tool.robotpy-build.wrappers."ctre._simtalonsrx".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._simtalonsrx".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._simtalonsrx".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._simtalonsrx".maven_lib_download] artifact_id = "simTalonSRX" group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -213,13 +213,13 @@ libs = [] # "CTRE_SimTalonSRX", # ] -[tool.robotpy-build.wrappers."ctre._simtalonfx"] +[tool.robotpy-build.wrappers."phoenix5._simtalonfx"] name = "ctre_simtalonfx" -[tool.robotpy-build.wrappers."ctre._simtalonfx".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._simtalonfx".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._simtalonfx".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._simtalonfx".maven_lib_download] artifact_id = "simTalonFX" group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -229,13 +229,13 @@ libs = [] # "CTRE_SimTalonFX", # ] -[tool.robotpy-build.wrappers."ctre._simvictorspx"] +[tool.robotpy-build.wrappers."phoenix5._simvictorspx"] name = "ctre_simvictorspx" -[tool.robotpy-build.wrappers."ctre._simvictorspx".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._simvictorspx".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._simvictorspx".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._simvictorspx".maven_lib_download] artifact_id = "simVictorSPX" group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -245,13 +245,13 @@ libs = [] # "CTRE_SimVictorSPX", # ] -[tool.robotpy-build.wrappers."ctre._simpigeonimu"] +[tool.robotpy-build.wrappers."phoenix5._simpigeonimu"] name = "ctre_simpigeonimu" -[tool.robotpy-build.wrappers."ctre._simpigeonimu".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._simpigeonimu".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._simpigeonimu".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._simpigeonimu".maven_lib_download] artifact_id = "simPigeonIMU" group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -261,13 +261,13 @@ libs = [] # "CTRE_SimPigeonIMU", # ] -[tool.robotpy-build.wrappers."ctre._simcancoder"] +[tool.robotpy-build.wrappers."phoenix5._simcancoder"] name = "ctre_simcancoder" -[tool.robotpy-build.wrappers."ctre._simcancoder".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._simcancoder".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._simcancoder".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._simcancoder".maven_lib_download] artifact_id = "simCANCoder" group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -277,13 +277,13 @@ libs = [] # "CTRE_SimCANCoder", # ] -[tool.robotpy-build.wrappers."ctre._simprotalonfx"] +[tool.robotpy-build.wrappers."phoenix5._simprotalonfx"] name = "ctre_simprotalonfx" -[tool.robotpy-build.wrappers."ctre._simprotalonfx".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._simprotalonfx".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._simprotalonfx".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._simprotalonfx".maven_lib_download] artifact_id = "simProTalonFX" group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -293,13 +293,13 @@ libs = [] # "CTRE_SimProTalonFX", # ] -[tool.robotpy-build.wrappers."ctre._simprocancoder"] +[tool.robotpy-build.wrappers."phoenix5._simprocancoder"] name = "ctre_simprocancoder" -[tool.robotpy-build.wrappers."ctre._simprocancoder".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._simprocancoder".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._simprocancoder".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._simprocancoder".maven_lib_download] artifact_id = "simProCANcoder" group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -309,13 +309,13 @@ libs = [] # "CTRE_SimProCANcoder", # ] -[tool.robotpy-build.wrappers."ctre._simpropigeon2"] +[tool.robotpy-build.wrappers."phoenix5._simpropigeon2"] name = "ctre_simpropigeon2" -[tool.robotpy-build.wrappers."ctre._simpropigeon2".override.arch_athena] +[tool.robotpy-build.wrappers."phoenix5._simpropigeon2".override.arch_athena] ignore = true -[tool.robotpy-build.wrappers."ctre._simpropigeon2".maven_lib_download] +[tool.robotpy-build.wrappers."phoenix5._simpropigeon2".maven_lib_download] artifact_id = "simProPigeon2" group_id = "com.ctre.phoenix6.sim" repo_url = "https://maven.ctr-electronics.com/release" @@ -329,7 +329,7 @@ libs = [] # End autogenerated TOML -[tool.robotpy-build.wrappers.ctre] +[tool.robotpy-build.wrappers.phoenix5] name = "ctre" depends = [ "wpiutil", @@ -353,12 +353,12 @@ depends = [ ] sources = [ - "ctre/ctre.cpp" + "phoenix5/ctre.cpp" ] generation_data = "gen" -[tool.robotpy-build.wrappers.ctre.override.arch_athena] +[tool.robotpy-build.wrappers.phoenix5.override.arch_athena] depends = [ "wpiutil", "wpinet", @@ -372,7 +372,7 @@ depends = [ "ctre_tools", ] -[tool.robotpy-build.wrappers."ctre".autogen_headers] +[tool.robotpy-build.wrappers."phoenix5".autogen_headers] # ctre/phoenix # WPI_CallbackHelper = "ctre/phoenix/WPI_CallbackHelper.h" diff --git a/setup.py b/setup.py index 7ca42e4..2ac07da 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ def entry_points_hook(*args, **kwargs): ep = EntryPoint( name="phoenix6_workaround", - value="ctre._osx_phoenix6_pkgcfg", + value="phoenix5._osx_phoenix6_pkgcfg", group="robotpybuild", ) diff --git a/tests/test_ctre.py b/tests/test_ctre.py index b425727..eb96efd 100644 --- a/tests/test_ctre.py +++ b/tests/test_ctre.py @@ -1,12 +1,12 @@ -import ctre +import phoenix5 import sys import pytest @pytest.mark.skipif(sys.platform == "darwin", reason="OSX CI failure") def test_wpi_talonsrx(): - m = ctre.WPI_TalonSRX(0) - m.setNeutralMode(ctre.NeutralMode.Brake) + m = phoenix5.WPI_TalonSRX(0) + m.setNeutralMode(phoenix5.NeutralMode.Brake) m.set(0.5) assert m.get() == 0.5 del m @@ -14,8 +14,8 @@ def test_wpi_talonsrx(): @pytest.mark.skipif(sys.platform == "darwin", reason="OSX CI failure") def test_wpi_talonfx(): - m = ctre.WPI_TalonFX(1) - m.setNeutralMode(ctre.NeutralMode.Brake) + m = phoenix5.WPI_TalonFX(1) + m.setNeutralMode(phoenix5.NeutralMode.Brake) m.set(0.5) assert m.get() == 0.5 del m @@ -23,8 +23,8 @@ def test_wpi_talonfx(): @pytest.mark.skipif(sys.platform == "darwin", reason="OSX CI failure") def test_wpi_victorspx(): - m = ctre.WPI_VictorSPX(2) - m.setNeutralMode(ctre.NeutralMode.Brake) + m = phoenix5.WPI_VictorSPX(2) + m.setNeutralMode(phoenix5.NeutralMode.Brake) m.set(0.5) assert m.get() == 0.5 del m @@ -32,8 +32,8 @@ def test_wpi_victorspx(): @pytest.mark.skipif(sys.platform == "darwin", reason="OSX CI failure") def test_follow(): - m1 = ctre.WPI_TalonFX(3) - m2 = ctre.WPI_TalonFX(4) + m1 = phoenix5.WPI_TalonFX(3) + m2 = phoenix5.WPI_TalonFX(4) m2.follow(m1) m1.set(0.5) assert m1.get() == 0.5 diff --git a/tests/test_sensors.py b/tests/test_sensors.py index a96ed30..bf92817 100644 --- a/tests/test_sensors.py +++ b/tests/test_sensors.py @@ -1,15 +1,15 @@ import pytest -import ctre.sensors +import phoenix5.sensors def test_cancoder(): - enc = ctre.sensors.CANCoder(0) + enc = phoenix5.sensors.CANCoder(0) enc.getPosition() def test_deprecated_import(): with pytest.warns(FutureWarning, match="moved"): - from ctre import CANCoder + from phoenix5 import CANCoder - assert CANCoder is ctre.sensors.CANCoder + assert CANCoder is phoenix5.sensors.CANCoder