From 6ddfe48843be758512542ad9ae3698fe2f861538 Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Tue, 9 Dec 2025 23:18:39 -0500 Subject: [PATCH 1/2] Update to 2026.0.0-beta-1 --- .github/workflows/dist.yml | 2 +- meson.build | 2 + pyproject.toml | 110 +++++++++++++----- rev/__init__.py | 34 +++++- semiwrap/AbsoluteEncoder.yml | 1 - semiwrap/AbsoluteEncoderConfig.yml | 1 - semiwrap/AbsoluteEncoderConfigAccessor.yml | 1 - semiwrap/AlternateEncoderConfig.yml | 1 - semiwrap/AlternateEncoderConfigAccessor.yml | 1 - semiwrap/AnalogInput.yml | 1 - semiwrap/AnalogSensorConfig.yml | 1 - semiwrap/AnalogSensorConfigAccessor.yml | 1 - semiwrap/BaseConfig.yml | 1 - semiwrap/CIEColor.yml | 1 - semiwrap/ClosedLoopConfig.yml | 8 +- semiwrap/ClosedLoopConfigAccessor.yml | 4 +- ...ClosedLoopSlot.yml => ClosedLoopTypes.yml} | 3 +- semiwrap/ColorMatch.yml | 1 - semiwrap/ColorSensorV3.yml | 1 - semiwrap/EncoderConfig.yml | 1 - semiwrap/EncoderConfigAccessor.yml | 1 - semiwrap/ExternalEncoderConfig.yml | 1 - semiwrap/ExternalEncoderConfigAccessor.yml | 1 - semiwrap/FeedForwardConfig.yml | 19 +++ semiwrap/FeedForwardConfigAccessor.yml | 9 ++ semiwrap/LimitSwitchConfig.yml | 7 +- semiwrap/LimitSwitchConfigAccessor.yml | 5 +- semiwrap/MAXMotionConfig.yml | 3 +- semiwrap/MAXMotionConfigAccessor.yml | 3 +- semiwrap/MovingAverageFilterSim.yml | 1 - semiwrap/NoiseGenerator.yml | 1 - semiwrap/REVLibError.yml | 1 - semiwrap/RelativeEncoder.yml | 1 - semiwrap/ServoChannel.yml | 14 +++ semiwrap/ServoChannelConfig.yml | 19 +++ semiwrap/ServoChannelConfigAccessor.yml | 5 + semiwrap/ServoHub.yml | 49 ++++++++ semiwrap/ServoHubConfig.yml | 18 +++ semiwrap/ServoHubConfigAccessor.yml | 11 ++ semiwrap/ServoHubLowLevel.yml | 102 ++++++++++++++++ semiwrap/ServoHubParameters.yml | 2 + semiwrap/ServoHubSim.yml | 16 +++ semiwrap/ServoHubSimFaultManager.yml | 8 ++ semiwrap/SignalsConfig.yml | 11 +- semiwrap/SignalsConfigAccessor.yml | 11 +- semiwrap/SmartMotionConfig.yml | 12 -- semiwrap/SmartMotionConfigAccessor.yml | 8 -- semiwrap/SoftLimitConfig.yml | 1 - semiwrap/SoftLimitConfigAccessor.yml | 1 - semiwrap/SparkAbsoluteEncoder.yml | 1 - semiwrap/SparkAbsoluteEncoderSim.yml | 3 - semiwrap/SparkAnalogSensor.yml | 1 - semiwrap/SparkAnalogSensorSim.yml | 3 - semiwrap/SparkBase.yml | 17 ++- semiwrap/SparkBaseConfig.yml | 1 - semiwrap/SparkBaseConfigAccessor.yml | 1 - semiwrap/SparkClosedLoopController.yml | 8 +- semiwrap/SparkExternalEncoderSim.yml | 3 - semiwrap/SparkFlex.yml | 1 - semiwrap/SparkFlexConfig.yml | 1 - semiwrap/SparkFlexConfigAccessor.yml | 1 - semiwrap/SparkFlexExternalEncoder.yml | 1 - semiwrap/SparkFlexSim.yml | 1 - semiwrap/SparkLimitSwitch.yml | 1 - semiwrap/SparkLimitSwitchSim.yml | 1 - semiwrap/SparkLowLevel.yml | 14 ++- semiwrap/SparkMax.yml | 4 - semiwrap/SparkMaxAlternateEncoder.yml | 1 - semiwrap/SparkMaxAlternateEncoderSim.yml | 3 - semiwrap/SparkMaxConfig.yml | 1 - semiwrap/SparkMaxConfigAccessor.yml | 1 - semiwrap/SparkMaxSim.yml | 1 - semiwrap/SparkParameters.yml | 1 - semiwrap/SparkRelativeEncoder.yml | 1 - semiwrap/SparkRelativeEncoderSim.yml | 3 - semiwrap/SparkSim.yml | 1 - semiwrap/SparkSimFaultManager.yml | 1 - semiwrap/SparkSoftLimit.yml | 4 + semiwrap/StatusLogger.yml | 6 + tests/requirements.txt | 2 +- 80 files changed, 468 insertions(+), 138 deletions(-) rename semiwrap/{ClosedLoopSlot.yml => ClosedLoopTypes.yml} (58%) create mode 100644 semiwrap/FeedForwardConfig.yml create mode 100644 semiwrap/FeedForwardConfigAccessor.yml create mode 100644 semiwrap/ServoChannel.yml create mode 100644 semiwrap/ServoChannelConfig.yml create mode 100644 semiwrap/ServoChannelConfigAccessor.yml create mode 100644 semiwrap/ServoHub.yml create mode 100644 semiwrap/ServoHubConfig.yml create mode 100644 semiwrap/ServoHubConfigAccessor.yml create mode 100644 semiwrap/ServoHubLowLevel.yml create mode 100644 semiwrap/ServoHubParameters.yml create mode 100644 semiwrap/ServoHubSim.yml create mode 100644 semiwrap/ServoHubSimFaultManager.yml delete mode 100644 semiwrap/SmartMotionConfig.yml delete mode 100644 semiwrap/SmartMotionConfigAccessor.yml create mode 100644 semiwrap/SparkSoftLimit.yml create mode 100644 semiwrap/StatusLogger.yml diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml index 388fcdc..334bd52 100644 --- a/.github/workflows/dist.yml +++ b/.github/workflows/dist.yml @@ -11,7 +11,7 @@ on: jobs: ci: - uses: robotpy/build-actions/.github/workflows/package-ci.yml@v2025 + uses: robotpy/build-actions/.github/workflows/package-ci.yml@v2026 with: artifactory_repo_type: vendor enable_raspbian: false diff --git a/meson.build b/meson.build index 79cab7a..cb8302e 100644 --- a/meson.build +++ b/meson.build @@ -16,6 +16,8 @@ cpp = meson.get_compiler('cpp') libs_path = meson.current_source_dir() + '/lib/lib' rev_deps += [ + cpp.find_library('BackendDriver', dirs: libs_path), + cpp.find_library('REVLibWpi', dirs: libs_path), cpp.find_library('REVLibDriver', dirs: libs_path), cpp.find_library('REVLib', dirs: libs_path), ] diff --git a/pyproject.toml b/pyproject.toml index 69d5fac..522def8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,10 +3,10 @@ build-backend = "hatchling.build" requires = [ "hatchling", "hatch-vcs", - "semiwrap~=0.1", - "hatch-meson~=0.1.0b2", - "hatch-robotpy~=0.2.0", - "wpilib~=2025.3.2.2", + "semiwrap~=0.2.1", + "hatch-meson~=0.1.0", + "hatch-robotpy~=0.2.1", + "wpilib~=2026.1.1b1", ] @@ -16,7 +16,7 @@ dynamic = ["version"] description = "REVLib for RobotPy" license = "BSD-3-Clause" dependencies = [ - "wpilib~=2025.3.2.2", + "wpilib~=2026.1.1b1", ] [[project.authors]] @@ -44,7 +44,7 @@ packages = ["rev"] artifact_id = "REVLib-cpp" group_id = "com.revrobotics.frc" repo_url = "https://maven.revrobotics.com" -version = "2025.0.3" +version = "2026.0.0-beta-1" staticlibs = ["REVLib"] extract_to = "lib" @@ -52,10 +52,32 @@ extract_to = "lib" artifact_id = "REVLib-driver" group_id = "com.revrobotics.frc" repo_url = "https://maven.revrobotics.com" -version = "2025.0.3" +version = "2026.0.0-beta-1" staticlibs = [ "REVLibDriver"] extract_to = "lib" +[[tool.hatch.build.hooks.robotpy.maven_lib_download]] +artifact_id = "RevLibBackendDriver" +group_id = "com.revrobotics.frc" +repo_url = "https://maven.revrobotics.com" +version = "2026.0.0-beta-1" +staticlibs = [ + "BackendDriver", +] +extract_to = "lib" +use_headers = false + +[[tool.hatch.build.hooks.robotpy.maven_lib_download]] +artifact_id = "RevLibWpiBackendDriver" +group_id = "com.revrobotics.frc" +repo_url = "https://maven.revrobotics.com" +version = "2026.0.0-beta-1" +staticlibs = [ + "REVLibWpi", +] +extract_to = "lib" +use_headers = false + # # End autogenerated TOML # @@ -69,7 +91,39 @@ extract_to = "lib" [tool.semiwrap] update_init = ["rev"] - +scan_headers_ignore = [ + # rev + "rev/CANCommonParameters.h", + "rev/CANDeviceScanner.h", + "rev/CANDriverPrivate.h", + "rev/CANServoHubDriver.h", + "rev/CANServoHubFrames.h", + "rev/CANServoHubParameters.h", + "rev/CANSparkDriver.h", + "rev/CANSparkFrames.h", + "rev/CANSparkParameters.h", + "rev/REVCommon.h", + "rev/REVLibDaemon.h", + "rev/REVUtils.h", + "rev/SparkFrameManager.h", + "rev/StatusLoggerDriver.h", + + # rev/canupdate + "rev/canupdate/CANSparkSWDL.h", + "rev/canupdate/DfuSeFile.h", + + # rev/rev + "rev/rev/REVLibVersion.h", + + # rev/sim + "rev/sim/CANServoHub.h", + "rev/sim/CANSpark.h", + "rev/sim/MAXMotion.h", + "rev/sim/SmartCurrentLimit.h", + + # . + "sparkbaseconfig_apply.h", +] [tool.semiwrap.extension_modules."rev._rev"] name = "rev" @@ -83,26 +137,6 @@ includes = [ ] [tool.semiwrap.extension_modules."rev._rev".headers] -# rev -# CANSparkDriver = "rev/CANSparkDriver.h" -# CANSparkDriverPrivate = "rev/CANSparkDriverPrivate.h" -# CANSparkFrames = "rev/CANSparkFrames.h" -# CANSparkMaxFrames = "rev/CANSparkMaxFrames.h" -# CANSparkParameters = "rev/CANSparkParameters.h" -# CANSparkSWDL = "rev/CANSparkSWDL.h" -# REVCommon = "rev/REVCommon.h" -# REVLibDaemon = "rev/REVLibDaemon.h" -# REVLibErrors = "rev/REVLibErrors.h" -# REVUtils = "rev/REVUtils.h" -# SparkFrameManager = "rev/SparkFrameManager.h" - -# rev/rev -# REVLibVersion = "rev/rev/REVLibVersion.h" - -# rev/sim -# CANSpark = "rev/sim/CANSpark.h" -# MAXMotion = "rev/sim/MAXMotion.h" -# SmartCurrentLimit = "rev/sim/SmartCurrentLimit.h" # rev AbsoluteEncoder = "rev/AbsoluteEncoder.h" @@ -111,10 +145,15 @@ AnalogInput = "rev/AnalogInput.h" # marked as `static inline` # CANDeviceScanner = "rev/CANDeviceScanner.h" CIEColor = "rev/CIEColor.h" +ClosedLoopTypes = "rev/ClosedLoopTypes.h" ColorMatch = "rev/ColorMatch.h" ColorSensorV3 = "rev/ColorSensorV3.h" REVLibError = "rev/REVLibError.h" RelativeEncoder = "rev/RelativeEncoder.h" +ServoChannel = "rev/ServoChannel.h" +ServoHub = "rev/ServoHub.h" +ServoHubLowLevel = "rev/ServoHubLowLevel.h" +ServoHubSim = "rev/ServoHubSim.h" SparkAbsoluteEncoder = "rev/SparkAbsoluteEncoder.h" SparkAnalogSensor = "rev/SparkAnalogSensor.h" SparkBase = "rev/SparkBase.h" @@ -127,6 +166,7 @@ SparkMax = "rev/SparkMax.h" SparkMaxAlternateEncoder = "rev/SparkMaxAlternateEncoder.h" SparkRelativeEncoder = "rev/SparkRelativeEncoder.h" SparkSim = "rev/SparkSim.h" +SparkSoftLimit = "rev/SparkSoftLimit.h" # rev/config AbsoluteEncoderConfig = "rev/config/AbsoluteEncoderConfig.h" @@ -138,19 +178,23 @@ AnalogSensorConfigAccessor = "rev/config/AnalogSensorConfigAccessor.h" BaseConfig = "rev/config/BaseConfig.h" ClosedLoopConfig = "rev/config/ClosedLoopConfig.h" ClosedLoopConfigAccessor = "rev/config/ClosedLoopConfigAccessor.h" -ClosedLoopSlot = "rev/ClosedLoopSlot.h" EncoderConfig = "rev/config/EncoderConfig.h" EncoderConfigAccessor = "rev/config/EncoderConfigAccessor.h" ExternalEncoderConfig = "rev/config/ExternalEncoderConfig.h" ExternalEncoderConfigAccessor = "rev/config/ExternalEncoderConfigAccessor.h" +FeedForwardConfig = "rev/config/FeedForwardConfig.h" +FeedForwardConfigAccessor = "rev/config/FeedForwardConfigAccessor.h" LimitSwitchConfig = "rev/config/LimitSwitchConfig.h" LimitSwitchConfigAccessor = "rev/config/LimitSwitchConfigAccessor.h" MAXMotionConfig = "rev/config/MAXMotionConfig.h" MAXMotionConfigAccessor = "rev/config/MAXMotionConfigAccessor.h" +ServoChannelConfig = "rev/config/ServoChannelConfig.h" +ServoChannelConfigAccessor = "rev/config/ServoChannelConfigAccessor.h" +ServoHubConfig = "rev/config/ServoHubConfig.h" +ServoHubConfigAccessor = "rev/config/ServoHubConfigAccessor.h" +ServoHubParameters = "rev/config/ServoHubParameters.h" SignalsConfig = "rev/config/SignalsConfig.h" SignalsConfigAccessor = "rev/config/SignalsConfigAccessor.h" -SmartMotionConfig = "rev/config/SmartMotionConfig.h" -SmartMotionConfigAccessor = "rev/config/SmartMotionConfigAccessor.h" SoftLimitConfig = "rev/config/SoftLimitConfig.h" SoftLimitConfigAccessor = "rev/config/SoftLimitConfigAccessor.h" SparkBaseConfig = "rev/config/SparkBaseConfig.h" @@ -164,6 +208,7 @@ SparkParameters = "rev/config/SparkParameters.h" # rev/sim MovingAverageFilterSim = "rev/sim/MovingAverageFilterSim.h" NoiseGenerator = "rev/sim/NoiseGenerator.h" +ServoHubSimFaultManager = "rev/sim/ServoHubSimFaultManager.h" SparkAbsoluteEncoderSim = "rev/sim/SparkAbsoluteEncoderSim.h" SparkAnalogSensorSim = "rev/sim/SparkAnalogSensorSim.h" SparkExternalEncoderSim = "rev/sim/SparkExternalEncoderSim.h" @@ -173,3 +218,6 @@ SparkMaxAlternateEncoderSim = "rev/sim/SparkMaxAlternateEncoderSim.h" SparkMaxSim = "rev/sim/SparkMaxSim.h" SparkRelativeEncoderSim = "rev/sim/SparkRelativeEncoderSim.h" SparkSimFaultManager = "rev/sim/SparkSimFaultManager.h" + +# rev/util +StatusLogger = "rev/util/StatusLogger.h" \ No newline at end of file diff --git a/rev/__init__.py b/rev/__init__.py index 7f270d7..3b57725 100644 --- a/rev/__init__.py +++ b/rev/__init__.py @@ -23,6 +23,9 @@ EncoderConfigAccessor, ExternalEncoderConfig, ExternalEncoderConfigAccessor, + FeedForwardConfig, + FeedForwardConfigAccessor, + FeedbackSensor, LimitSwitchConfig, LimitSwitchConfigAccessor, MAXMotionConfig, @@ -31,10 +34,18 @@ NoiseGenerator, REVLibError, RelativeEncoder, + ServoChannel, + ServoChannelConfig, + ServoChannelConfigAccessor, + ServoHub, + ServoHubConfig, + ServoHubConfigAccessor, + ServoHubLowLevel, + ServoHubParameter, + ServoHubSim, + ServoHubSimFaultManager, SignalsConfig, SignalsConfigAccessor, - SmartMotionConfig, - SmartMotionConfigAccessor, SoftLimitConfig, SoftLimitConfigAccessor, SparkAbsoluteEncoder, @@ -65,6 +76,8 @@ SparkRelativeEncoderSim, SparkSim, SparkSimFaultManager, + SparkSoftLimit, + StatusLogger, ) __all__ = [ @@ -87,6 +100,9 @@ "EncoderConfigAccessor", "ExternalEncoderConfig", "ExternalEncoderConfigAccessor", + "FeedForwardConfig", + "FeedForwardConfigAccessor", + "FeedbackSensor", "LimitSwitchConfig", "LimitSwitchConfigAccessor", "MAXMotionConfig", @@ -95,10 +111,18 @@ "NoiseGenerator", "REVLibError", "RelativeEncoder", + "ServoChannel", + "ServoChannelConfig", + "ServoChannelConfigAccessor", + "ServoHub", + "ServoHubConfig", + "ServoHubConfigAccessor", + "ServoHubLowLevel", + "ServoHubParameter", + "ServoHubSim", + "ServoHubSimFaultManager", "SignalsConfig", "SignalsConfigAccessor", - "SmartMotionConfig", - "SmartMotionConfigAccessor", "SoftLimitConfig", "SoftLimitConfigAccessor", "SparkAbsoluteEncoder", @@ -129,4 +153,6 @@ "SparkRelativeEncoderSim", "SparkSim", "SparkSimFaultManager", + "SparkSoftLimit", + "StatusLogger", ] diff --git a/semiwrap/AbsoluteEncoder.yml b/semiwrap/AbsoluteEncoder.yml index e139179..a67036c 100644 --- a/semiwrap/AbsoluteEncoder.yml +++ b/semiwrap/AbsoluteEncoder.yml @@ -1,4 +1,3 @@ - classes: rev::AbsoluteEncoder: methods: diff --git a/semiwrap/AbsoluteEncoderConfig.yml b/semiwrap/AbsoluteEncoderConfig.yml index f4bbd36..dd271f2 100644 --- a/semiwrap/AbsoluteEncoderConfig.yml +++ b/semiwrap/AbsoluteEncoderConfig.yml @@ -1,4 +1,3 @@ - classes: rev::spark::AbsoluteEncoderConfig: base_qualnames: diff --git a/semiwrap/AbsoluteEncoderConfigAccessor.yml b/semiwrap/AbsoluteEncoderConfigAccessor.yml index dcbfbc3..a460cb5 100644 --- a/semiwrap/AbsoluteEncoderConfigAccessor.yml +++ b/semiwrap/AbsoluteEncoderConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::AbsoluteEncoderConfigAccessor: methods: diff --git a/semiwrap/AlternateEncoderConfig.yml b/semiwrap/AlternateEncoderConfig.yml index 63612fb..aaf8be5 100644 --- a/semiwrap/AlternateEncoderConfig.yml +++ b/semiwrap/AlternateEncoderConfig.yml @@ -1,4 +1,3 @@ - classes: rev::spark::AlternateEncoderConfig: base_qualnames: diff --git a/semiwrap/AlternateEncoderConfigAccessor.yml b/semiwrap/AlternateEncoderConfigAccessor.yml index f228087..235e4d6 100644 --- a/semiwrap/AlternateEncoderConfigAccessor.yml +++ b/semiwrap/AlternateEncoderConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::AlternateEncoderConfigAccessor: methods: diff --git a/semiwrap/AnalogInput.yml b/semiwrap/AnalogInput.yml index d9b0928..c17a33c 100644 --- a/semiwrap/AnalogInput.yml +++ b/semiwrap/AnalogInput.yml @@ -1,4 +1,3 @@ - classes: rev::AnalogInput: methods: diff --git a/semiwrap/AnalogSensorConfig.yml b/semiwrap/AnalogSensorConfig.yml index da2c54d..7f721f1 100644 --- a/semiwrap/AnalogSensorConfig.yml +++ b/semiwrap/AnalogSensorConfig.yml @@ -1,4 +1,3 @@ - classes: rev::spark::AnalogSensorConfig: base_qualnames: diff --git a/semiwrap/AnalogSensorConfigAccessor.yml b/semiwrap/AnalogSensorConfigAccessor.yml index 0bfbc73..b49d0c7 100644 --- a/semiwrap/AnalogSensorConfigAccessor.yml +++ b/semiwrap/AnalogSensorConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::AnalogSensorConfigAccessor: methods: diff --git a/semiwrap/BaseConfig.yml b/semiwrap/BaseConfig.yml index 2ff338c..81c6754 100644 --- a/semiwrap/BaseConfig.yml +++ b/semiwrap/BaseConfig.yml @@ -1,4 +1,3 @@ - classes: rev::BaseConfig: methods: diff --git a/semiwrap/CIEColor.yml b/semiwrap/CIEColor.yml index e462e51..05d3ddc 100644 --- a/semiwrap/CIEColor.yml +++ b/semiwrap/CIEColor.yml @@ -1,4 +1,3 @@ - classes: rev::CIEColor: methods: diff --git a/semiwrap/ClosedLoopConfig.yml b/semiwrap/ClosedLoopConfig.yml index 78098e7..e21abc9 100644 --- a/semiwrap/ClosedLoopConfig.yml +++ b/semiwrap/ClosedLoopConfig.yml @@ -1,20 +1,17 @@ - classes: rev::spark::ClosedLoopConfig: base_qualnames: BaseConfig: rev::BaseConfig attributes: maxMotion: - smartMotion: - enums: - FeedbackSensor: + feedForward: methods: ClosedLoopConfig: Apply: overloads: ClosedLoopConfig&: - SmartMotionConfig&: MAXMotionConfig&: + FeedForwardConfig&: Pidf: Pid: P: @@ -33,3 +30,4 @@ classes: PositionWrappingInputRange: SetFeedbackSensor: Flatten: + AllowedClosedLoopError: diff --git a/semiwrap/ClosedLoopConfigAccessor.yml b/semiwrap/ClosedLoopConfigAccessor.yml index f109b3a..991e504 100644 --- a/semiwrap/ClosedLoopConfigAccessor.yml +++ b/semiwrap/ClosedLoopConfigAccessor.yml @@ -1,9 +1,8 @@ - classes: rev::spark::ClosedLoopConfigAccessor: attributes: maxMotion: - smartMotion: + feedForward: methods: GetP: GetI: @@ -18,3 +17,4 @@ classes: GetPositionWrappingMinInput: GetPositionWrappingMaxInput: GetFeedbackSensor: + GetAllowedClosedLoopError: diff --git a/semiwrap/ClosedLoopSlot.yml b/semiwrap/ClosedLoopTypes.yml similarity index 58% rename from semiwrap/ClosedLoopSlot.yml rename to semiwrap/ClosedLoopTypes.yml index bbf7b70..2ad8bd4 100644 --- a/semiwrap/ClosedLoopSlot.yml +++ b/semiwrap/ClosedLoopTypes.yml @@ -1,4 +1,3 @@ ---- - enums: ClosedLoopSlot: + FeedbackSensor: diff --git a/semiwrap/ColorMatch.yml b/semiwrap/ColorMatch.yml index 59007b6..1b5df61 100644 --- a/semiwrap/ColorMatch.yml +++ b/semiwrap/ColorMatch.yml @@ -1,4 +1,3 @@ - classes: rev::ColorMatch: methods: diff --git a/semiwrap/ColorSensorV3.yml b/semiwrap/ColorSensorV3.yml index 9fd3fbb..0d6bed1 100644 --- a/semiwrap/ColorSensorV3.yml +++ b/semiwrap/ColorSensorV3.yml @@ -1,4 +1,3 @@ - classes: rev::ColorSensorV3: enums: diff --git a/semiwrap/EncoderConfig.yml b/semiwrap/EncoderConfig.yml index 17a1efd..bb07151 100644 --- a/semiwrap/EncoderConfig.yml +++ b/semiwrap/EncoderConfig.yml @@ -1,4 +1,3 @@ - classes: rev::spark::EncoderConfig: base_qualnames: diff --git a/semiwrap/EncoderConfigAccessor.yml b/semiwrap/EncoderConfigAccessor.yml index 592f7de..6c656bf 100644 --- a/semiwrap/EncoderConfigAccessor.yml +++ b/semiwrap/EncoderConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::EncoderConfigAccessor: methods: diff --git a/semiwrap/ExternalEncoderConfig.yml b/semiwrap/ExternalEncoderConfig.yml index 449206e..b6a173b 100644 --- a/semiwrap/ExternalEncoderConfig.yml +++ b/semiwrap/ExternalEncoderConfig.yml @@ -1,4 +1,3 @@ - classes: rev::spark::ExternalEncoderConfig: base_qualnames: diff --git a/semiwrap/ExternalEncoderConfigAccessor.yml b/semiwrap/ExternalEncoderConfigAccessor.yml index e269b4c..5a9f6d9 100644 --- a/semiwrap/ExternalEncoderConfigAccessor.yml +++ b/semiwrap/ExternalEncoderConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::ExternalEncoderConfigAccessor: methods: diff --git a/semiwrap/FeedForwardConfig.yml b/semiwrap/FeedForwardConfig.yml new file mode 100644 index 0000000..a6ae01a --- /dev/null +++ b/semiwrap/FeedForwardConfig.yml @@ -0,0 +1,19 @@ +classes: + rev::spark::FeedForwardConfig: + base_qualnames: + BaseConfig: rev::BaseConfig + methods: + FeedForwardConfig: + Apply: + kS: + kV: + kA: + kG: + kCos: + kCosRatio: + sv: + sva: + svag: + svacr: + sg: + scr: diff --git a/semiwrap/FeedForwardConfigAccessor.yml b/semiwrap/FeedForwardConfigAccessor.yml new file mode 100644 index 0000000..df46dd1 --- /dev/null +++ b/semiwrap/FeedForwardConfigAccessor.yml @@ -0,0 +1,9 @@ +classes: + rev::spark::FeedForwardConfigAccessor: + methods: + getkS: + getkV: + getkA: + getkG: + getkCos: + getkCosRatio: diff --git a/semiwrap/LimitSwitchConfig.yml b/semiwrap/LimitSwitchConfig.yml index e8ae0c3..2077b17 100644 --- a/semiwrap/LimitSwitchConfig.yml +++ b/semiwrap/LimitSwitchConfig.yml @@ -1,10 +1,10 @@ - classes: rev::spark::LimitSwitchConfig: base_qualnames: BaseConfig: rev::BaseConfig enums: Type: + Behavior: methods: LimitSwitchConfig: Apply: @@ -13,3 +13,8 @@ classes: ForwardLimitSwitchType: ReverseLimitSwitchEnabled: ReverseLimitSwitchType: + ForwardLimitSwitchTriggerBehavior: + ForwardLimitSwitchPosition: + ReverseLimitSwitchTriggerBehavior: + ReverseLimitSwitchPosition: + LimitSwitchPositionSensor: diff --git a/semiwrap/LimitSwitchConfigAccessor.yml b/semiwrap/LimitSwitchConfigAccessor.yml index 86d3238..6451133 100644 --- a/semiwrap/LimitSwitchConfigAccessor.yml +++ b/semiwrap/LimitSwitchConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::LimitSwitchConfigAccessor: methods: @@ -6,3 +5,7 @@ classes: GetForwardSwitchType: GetReverseLimitSwitchEnabled: GetReverseSwitchType: + GetForwardLimitSwitchTriggerBehavior: + GetForwardLimitSwitchPosition: + GetReverseLimitSwitchTriggerBehavior: + GetReverseLimitSwitchPosition: diff --git a/semiwrap/MAXMotionConfig.yml b/semiwrap/MAXMotionConfig.yml index 2b0814e..3501fb4 100644 --- a/semiwrap/MAXMotionConfig.yml +++ b/semiwrap/MAXMotionConfig.yml @@ -1,4 +1,3 @@ - classes: rev::spark::MAXMotionConfig: base_qualnames: @@ -12,3 +11,5 @@ classes: MaxAcceleration: AllowedClosedLoopError: PositionMode: + CruiseVelocity: + AllowedProfileError: diff --git a/semiwrap/MAXMotionConfigAccessor.yml b/semiwrap/MAXMotionConfigAccessor.yml index d17dc1a..14c3577 100644 --- a/semiwrap/MAXMotionConfigAccessor.yml +++ b/semiwrap/MAXMotionConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::MAXMotionConfigAccessor: methods: @@ -6,3 +5,5 @@ classes: GetMaxAcceleration: GetAllowedClosedLoopError: GetPositionMode: + GetCruiseVelocity: + GetAllowedProfileError: diff --git a/semiwrap/MovingAverageFilterSim.yml b/semiwrap/MovingAverageFilterSim.yml index b260812..930edf9 100644 --- a/semiwrap/MovingAverageFilterSim.yml +++ b/semiwrap/MovingAverageFilterSim.yml @@ -1,4 +1,3 @@ - classes: rev::spark::MovingAverageFilterSim: methods: diff --git a/semiwrap/NoiseGenerator.yml b/semiwrap/NoiseGenerator.yml index c280140..a75c6d6 100644 --- a/semiwrap/NoiseGenerator.yml +++ b/semiwrap/NoiseGenerator.yml @@ -1,4 +1,3 @@ - classes: rev::spark::NoiseGenerator: methods: diff --git a/semiwrap/REVLibError.yml b/semiwrap/REVLibError.yml index e9d9f99..a425dad 100644 --- a/semiwrap/REVLibError.yml +++ b/semiwrap/REVLibError.yml @@ -1,4 +1,3 @@ ---- enums: REVLibError: diff --git a/semiwrap/RelativeEncoder.yml b/semiwrap/RelativeEncoder.yml index 3ca05ac..a29e473 100644 --- a/semiwrap/RelativeEncoder.yml +++ b/semiwrap/RelativeEncoder.yml @@ -1,4 +1,3 @@ - extra_includes_first: - rev/REVLibError.h diff --git a/semiwrap/ServoChannel.yml b/semiwrap/ServoChannel.yml new file mode 100644 index 0000000..5c7f70a --- /dev/null +++ b/semiwrap/ServoChannel.yml @@ -0,0 +1,14 @@ +classes: + rev::servohub::ServoChannel: + attributes: + kNumServoChannels: + enums: + ChannelId: + methods: + GetChannelId: + GetPulseWidth: + IsEnabled: + GetCurrent: + SetPulseWidth: + SetEnabled: + SetPowered: diff --git a/semiwrap/ServoChannelConfig.yml b/semiwrap/ServoChannelConfig.yml new file mode 100644 index 0000000..56528e9 --- /dev/null +++ b/semiwrap/ServoChannelConfig.yml @@ -0,0 +1,19 @@ +classes: + rev::servohub::ServoChannelConfig: + base_qualnames: + BaseConfig: rev::BaseConfig + enums: + BehaviorWhenDisabled: + methods: + ServoChannelConfig: + Apply: + PulseRange: + overloads: + uint32_t, uint32_t, uint32_t: + const PulseRange_t&: + DisableBehavior: + rev::servohub::ServoChannelConfig::PulseRange_t: + attributes: + minPulse_us: + centerPulse_us: + maxPulse_us: diff --git a/semiwrap/ServoChannelConfigAccessor.yml b/semiwrap/ServoChannelConfigAccessor.yml new file mode 100644 index 0000000..139f053 --- /dev/null +++ b/semiwrap/ServoChannelConfigAccessor.yml @@ -0,0 +1,5 @@ +classes: + rev::servohub::ServoChannelConfigAccessor: + methods: + GetPulseRange: + GetDisableBehavior: diff --git a/semiwrap/ServoHub.yml b/semiwrap/ServoHub.yml new file mode 100644 index 0000000..edfae0b --- /dev/null +++ b/semiwrap/ServoHub.yml @@ -0,0 +1,49 @@ +classes: + rev::servohub::ServoHub: + attributes: + configAccessor: + enums: + ResetMode: + Bank: + methods: + ServoHub: + Configure: + ConfigureAsync: + HasActiveFault: + HasStickyFault: + HasActiveWarning: + HasStickyWarning: + GetFaults: + GetStickyFaults: + GetWarnings: + GetStickyWarnings: + ClearFaults: + GetDeviceVoltage: + GetDeviceCurrent: + GetServoVoltage: + GetServoChannel: + SetBankPulsePeriod: + rev::servohub::ServoHub::Faults: + attributes: + regulatorPowerGood: + hardware: + firmware: + lowBattery: + rawBits: + methods: + Faults: + rev::servohub::ServoHub::Warnings: + attributes: + brownout: + canWarning: + canBusOff: + hasReset: + channel0Overcurrent: + channel1Overcurrent: + channel2Overcurrent: + channel3Overcurrent: + channel4Overcurrent: + channel5Overcurrent: + rawBits: + methods: + Warnings: diff --git a/semiwrap/ServoHubConfig.yml b/semiwrap/ServoHubConfig.yml new file mode 100644 index 0000000..bd43098 --- /dev/null +++ b/semiwrap/ServoHubConfig.yml @@ -0,0 +1,18 @@ +classes: + rev::servohub::ServoHubConfig: + base_qualnames: + BaseConfig: rev::BaseConfig + attributes: + channel0: + channel1: + channel2: + channel3: + channel4: + channel5: + methods: + ServoHubConfig: + Apply: + overloads: + ServoHubConfig&: + ServoChannel::ChannelId, ServoChannelConfig&: + Flatten: diff --git a/semiwrap/ServoHubConfigAccessor.yml b/semiwrap/ServoHubConfigAccessor.yml new file mode 100644 index 0000000..a6e81d6 --- /dev/null +++ b/semiwrap/ServoHubConfigAccessor.yml @@ -0,0 +1,11 @@ +classes: + rev::servohub::ServoHubConfigAccessor: + attributes: + channel0: + channel1: + channel2: + channel3: + channel4: + channel5: + methods: + channel: diff --git a/semiwrap/ServoHubLowLevel.yml b/semiwrap/ServoHubLowLevel.yml new file mode 100644 index 0000000..2c185ce --- /dev/null +++ b/semiwrap/ServoHubLowLevel.yml @@ -0,0 +1,102 @@ +classes: + rev::servohub::ServoHubLowLevel: + attributes: + m_servoHubHandle: + enums: + CommunicationMode: + methods: + GetDeviceId: + GetFirmwareVersion: + GetFirmwareVersionString: + SetPeriodicFrameTimeout: + SetCANTimeout: + SetCANMaxRetries: + SetControlFramePeriodMs: + GetControlFramePeriodMs: + GetPeriodicStatus0: + GetPeriodicStatus1: + GetPeriodicStatus2: + GetPeriodicStatus3: + GetPeriodicStatus4: + CreateSimFaultManager: + ServoHubLowLevel: + rev::servohub::ServoHubLowLevel::FirmwareVersion: + attributes: + firmwareFix: + firmwareMinor: + firmwareYear: + hardwareMinor: + hardwareMajor: + rev::servohub::ServoHubLowLevel::PeriodicStatus0: + attributes: + voltage: + servoVoltage: + deviceCurrent: + primaryHeartbeatLock: + systemEnabled: + communicationMode: + programmingEnabled: + activelyProgramming: + timestamp: + rev::servohub::ServoHubLowLevel::PeriodicStatus1: + attributes: + regulatorPowerGoodFault: + brownout: + canWarning: + canBusOff: + hardwareFault: + firmwareFault: + hasReset: + channel0Overcurrent: + channel1Overcurrent: + channel2Overcurrent: + channel3Overcurrent: + channel4Overcurrent: + channel5Overcurrent: + stickyRegulatorPowerGoodFault: + stickyBrownout: + stickyCanWarning: + stickyCanBusOff: + stickyHardwareFault: + stickyFirmwareFault: + stickyHasReset: + stickyChannel0Overcurrent: + stickyChannel1Overcurrent: + stickyChannel2Overcurrent: + stickyChannel3Overcurrent: + stickyChannel4Overcurrent: + stickyChannel5Overcurrent: + timestamp: + rev::servohub::ServoHubLowLevel::PeriodicStatus2: + attributes: + channel0PulseWidth: + channel1PulseWidth: + channel2PulseWidth: + channel0Enabled: + channel1Enabled: + channel2Enabled: + channel0OutOfRange: + channel1OutOfRange: + channel2OutOfRange: + timestamp: + rev::servohub::ServoHubLowLevel::PeriodicStatus3: + attributes: + channel3PulseWidth: + channel4PulseWidth: + channel5PulseWidth: + channel3Enabled: + channel4Enabled: + channel5Enabled: + channel3OutOfRange: + channel4OutOfRange: + channel5OutOfRange: + timestamp: + rev::servohub::ServoHubLowLevel::PeriodicStatus4: + attributes: + channel0Current: + channel1Current: + channel2Current: + channel3Current: + channel4Current: + channel5Current: + timestamp: diff --git a/semiwrap/ServoHubParameters.yml b/semiwrap/ServoHubParameters.yml new file mode 100644 index 0000000..02907df --- /dev/null +++ b/semiwrap/ServoHubParameters.yml @@ -0,0 +1,2 @@ +enums: + ServoHubParameter: diff --git a/semiwrap/ServoHubSim.yml b/semiwrap/ServoHubSim.yml new file mode 100644 index 0000000..269777c --- /dev/null +++ b/semiwrap/ServoHubSim.yml @@ -0,0 +1,16 @@ +classes: + rev::servohub::ServoHubSim: + methods: + ServoHubSim: + GetDeviceVoltage: + SetDeviceVoltage: + GetDeviceCurrent: + SetDeviceCurrent: + GetServoVoltage: + SetServoVoltage: + GetBankPulsePeriod: + SetBankPulsePeriod: + enable: + disable: + useDriverStationEnable: + GetFaultManager: diff --git a/semiwrap/ServoHubSimFaultManager.yml b/semiwrap/ServoHubSimFaultManager.yml new file mode 100644 index 0000000..359437c --- /dev/null +++ b/semiwrap/ServoHubSimFaultManager.yml @@ -0,0 +1,8 @@ +classes: + rev::servohub::ServoHubSimFaultManager: + methods: + ServoHubSimFaultManager: + SetFaults: + SetStickyFaults: + SetWarnings: + SetStickyWarnings: diff --git a/semiwrap/SignalsConfig.yml b/semiwrap/SignalsConfig.yml index fc195f7..8cd75c9 100644 --- a/semiwrap/SignalsConfig.yml +++ b/semiwrap/SignalsConfig.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SignalsConfig: base_qualnames: @@ -40,3 +39,13 @@ classes: AbsoluteEncoderPositionAlwaysOn: IAccumulationPeriodMs: IAccumulationAlwaysOn: + SetpointPeriodMs: + SetpointAlwaysOn: + IsAtSetpointPeriodMs: + IsAtSetpointAlwaysOn: + SelectedSlotPeriodMs: + SelectedSlotAlwaysOn: + MaxMotionSetpointPositionPeriodMs: + MaxMotionSetpointPositionAlwaysOn: + MaxMotionSetpointVelocityPeriodMs: + MaxMotionSetpointVelocityAlwaysOn: diff --git a/semiwrap/SignalsConfigAccessor.yml b/semiwrap/SignalsConfigAccessor.yml index 9864d93..b29ce6e 100644 --- a/semiwrap/SignalsConfigAccessor.yml +++ b/semiwrap/SignalsConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SignalsConfigAccessor: methods: @@ -36,3 +35,13 @@ classes: GetAbsoluteEncoderPositionAlwaysOn: GetIAccumulationPeriodMs: GetIAccumulationAlwaysOn: + GetSetpointPeriodMs: + GetSetpointAlwaysOn: + GetIsAtSetpointPeriodMs: + GetIsAtSetpointAlwaysOn: + GetSelectedSlotPeriodMs: + GetSelectedSlotAlwaysOn: + GetMAXMotionSetpointPositionPeriodMs: + GetMAXMotionSetpointPositionAlwaysOn: + GetMAXMotionSetpointVelocityPeriodMs: + GetMAXMotionSetpointVelocityAlwaysOn: diff --git a/semiwrap/SmartMotionConfig.yml b/semiwrap/SmartMotionConfig.yml deleted file mode 100644 index b53b8a5..0000000 --- a/semiwrap/SmartMotionConfig.yml +++ /dev/null @@ -1,12 +0,0 @@ - -classes: - rev::spark::SmartMotionConfig: - base_qualnames: - BaseConfig: rev::BaseConfig - methods: - SmartMotionConfig: - Apply: - MaxVelocity: - MaxAcceleration: - MinOutputVelocity: - AllowedClosedLoopError: diff --git a/semiwrap/SmartMotionConfigAccessor.yml b/semiwrap/SmartMotionConfigAccessor.yml deleted file mode 100644 index df1d046..0000000 --- a/semiwrap/SmartMotionConfigAccessor.yml +++ /dev/null @@ -1,8 +0,0 @@ - -classes: - rev::spark::SmartMotionConfigAccessor: - methods: - GetMaxVelocity: - GetMaxAcceleration: - GetMinOutputVelocity: - GetAllowedClosedLoopError: diff --git a/semiwrap/SoftLimitConfig.yml b/semiwrap/SoftLimitConfig.yml index e0787d6..89775b3 100644 --- a/semiwrap/SoftLimitConfig.yml +++ b/semiwrap/SoftLimitConfig.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SoftLimitConfig: base_qualnames: diff --git a/semiwrap/SoftLimitConfigAccessor.yml b/semiwrap/SoftLimitConfigAccessor.yml index 3818c6c..fe20b51 100644 --- a/semiwrap/SoftLimitConfigAccessor.yml +++ b/semiwrap/SoftLimitConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SoftLimitConfigAccessor: methods: diff --git a/semiwrap/SparkAbsoluteEncoder.yml b/semiwrap/SparkAbsoluteEncoder.yml index c31b0c4..6888467 100644 --- a/semiwrap/SparkAbsoluteEncoder.yml +++ b/semiwrap/SparkAbsoluteEncoder.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkAbsoluteEncoder: base_qualnames: diff --git a/semiwrap/SparkAbsoluteEncoderSim.yml b/semiwrap/SparkAbsoluteEncoderSim.yml index 377f465..8d4f304 100644 --- a/semiwrap/SparkAbsoluteEncoderSim.yml +++ b/semiwrap/SparkAbsoluteEncoderSim.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkAbsoluteEncoderSim: methods: @@ -14,8 +13,6 @@ classes: GetInverted: SetZeroOffset: GetZeroOffset: - SetPositionConversionFactor: GetPositionConversionFactor: - SetVelocityConversionFactor: GetVelocityConversionFactor: iterate: diff --git a/semiwrap/SparkAnalogSensor.yml b/semiwrap/SparkAnalogSensor.yml index beb9aae..39fb593 100644 --- a/semiwrap/SparkAnalogSensor.yml +++ b/semiwrap/SparkAnalogSensor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkAnalogSensor: base_qualnames: diff --git a/semiwrap/SparkAnalogSensorSim.yml b/semiwrap/SparkAnalogSensorSim.yml index 2941c8c..ef017e9 100644 --- a/semiwrap/SparkAnalogSensorSim.yml +++ b/semiwrap/SparkAnalogSensorSim.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkAnalogSensorSim: methods: @@ -14,8 +13,6 @@ classes: GetVelocity: SetInverted: GetInverted: - SetPositionConversionFactor: GetPositionConversionFactor: - SetVelocityConversionFactor: GetVelocityConversionFactor: iterate: diff --git a/semiwrap/SparkBase.yml b/semiwrap/SparkBase.yml index ab98fe8..047210b 100644 --- a/semiwrap/SparkBase.yml +++ b/semiwrap/SparkBase.yml @@ -1,4 +1,3 @@ - extra_includes_first: - rev/REVLibError.h @@ -41,6 +40,14 @@ classes: ignore: true m_setpoint: ignore: true + m_ForwardSoftLimit: + ignore: true + m_forwardSoftLimitCreated: + ignore: true + m_ReverseSoftLimit: + ignore: true + m_reverseSoftLimitCreated: + ignore: true enums: IdleMode: SoftLimitDirection: @@ -85,13 +92,15 @@ classes: ClearFaults: SetCANTimeout: GetLastError: - PreGetAbsoluteEncoder: - PreGetForwardLimitSwitch: - PreGetReverseLimitSwitch: SparkBase: GetEncoderEvenIfAlreadyCreated: GetMotorInterface: GetSparkModel: + ConfigureAsync: + GetForwardSoftLimit: + GetReverseSoftLimit: + ResumeFollowerModeAsync: + PauseFollowerModeAsync: rev::spark::SparkBase::Faults: attributes: other: diff --git a/semiwrap/SparkBaseConfig.yml b/semiwrap/SparkBaseConfig.yml index 74c9910..961f6be 100644 --- a/semiwrap/SparkBaseConfig.yml +++ b/semiwrap/SparkBaseConfig.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkBaseConfig: base_qualnames: diff --git a/semiwrap/SparkBaseConfigAccessor.yml b/semiwrap/SparkBaseConfigAccessor.yml index 7bb3368..547983e 100644 --- a/semiwrap/SparkBaseConfigAccessor.yml +++ b/semiwrap/SparkBaseConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkBaseConfigAccessor: attributes: diff --git a/semiwrap/SparkClosedLoopController.yml b/semiwrap/SparkClosedLoopController.yml index 55f50af..795cbed 100644 --- a/semiwrap/SparkClosedLoopController.yml +++ b/semiwrap/SparkClosedLoopController.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkClosedLoopController: enums: @@ -7,3 +6,10 @@ classes: SetReference: SetIAccum: GetIAccum: + SetSetpoint: + GetControlType: + GetSetpoint: + IsAtSetpoint: + GetSelectedSlot: + GetMAXMotionSetpointPosition: + GetMAXMotionSetpointVelocity: diff --git a/semiwrap/SparkExternalEncoderSim.yml b/semiwrap/SparkExternalEncoderSim.yml index 193a447..83c9f16 100644 --- a/semiwrap/SparkExternalEncoderSim.yml +++ b/semiwrap/SparkExternalEncoderSim.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkExternalEncoderSim: methods: @@ -11,8 +10,6 @@ classes: GetInverted: SetZeroOffset: GetZeroOffset: - SetPositionConversionFactor: GetPositionConversionFactor: - SetVelocityConversionFactor: GetVelocityConversionFactor: iterate: diff --git a/semiwrap/SparkFlex.yml b/semiwrap/SparkFlex.yml index 61e5427..b506730 100644 --- a/semiwrap/SparkFlex.yml +++ b/semiwrap/SparkFlex.yml @@ -1,4 +1,3 @@ - extra_includes_first: - rev/REVLibError.h diff --git a/semiwrap/SparkFlexConfig.yml b/semiwrap/SparkFlexConfig.yml index fe256dc..7514797 100644 --- a/semiwrap/SparkFlexConfig.yml +++ b/semiwrap/SparkFlexConfig.yml @@ -1,4 +1,3 @@ - extra_includes: - sparkbaseconfig_apply.h diff --git a/semiwrap/SparkFlexConfigAccessor.yml b/semiwrap/SparkFlexConfigAccessor.yml index 83260b3..f40706f 100644 --- a/semiwrap/SparkFlexConfigAccessor.yml +++ b/semiwrap/SparkFlexConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkFlexConfigAccessor: is_polymorphic: false diff --git a/semiwrap/SparkFlexExternalEncoder.yml b/semiwrap/SparkFlexExternalEncoder.yml index c44138f..572406f 100644 --- a/semiwrap/SparkFlexExternalEncoder.yml +++ b/semiwrap/SparkFlexExternalEncoder.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkFlexExternalEncoder: base_qualnames: diff --git a/semiwrap/SparkFlexSim.yml b/semiwrap/SparkFlexSim.yml index 6e1d5bc..506ebd3 100644 --- a/semiwrap/SparkFlexSim.yml +++ b/semiwrap/SparkFlexSim.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkFlexSim: is_polymorphic: false diff --git a/semiwrap/SparkLimitSwitch.yml b/semiwrap/SparkLimitSwitch.yml index 3bfaa8c..112bdf9 100644 --- a/semiwrap/SparkLimitSwitch.yml +++ b/semiwrap/SparkLimitSwitch.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkLimitSwitch: methods: diff --git a/semiwrap/SparkLimitSwitchSim.yml b/semiwrap/SparkLimitSwitchSim.yml index 520be95..6d1a28b 100644 --- a/semiwrap/SparkLimitSwitchSim.yml +++ b/semiwrap/SparkLimitSwitchSim.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkLimitSwitchSim: methods: diff --git a/semiwrap/SparkLowLevel.yml b/semiwrap/SparkLowLevel.yml index 28dc046..44c19eb 100644 --- a/semiwrap/SparkLowLevel.yml +++ b/semiwrap/SparkLowLevel.yml @@ -1,4 +1,3 @@ - extra_includes_first: - rev/REVLibError.h @@ -54,6 +53,8 @@ classes: ignore: true GetSafeFloat: ignore: true + GetPeriodicStatus8: + GetPeriodicStatus9: rev::spark::SparkLowLevel::PeriodicStatus0: attributes: appliedOutput: @@ -134,3 +135,14 @@ classes: attributes: iAccumulation: timestamp: + rev::spark::SparkLowLevel::PeriodicStatus8: + attributes: + setpoint: + isAtSetpoint: + selectedPidSlot: + timestamp: + rev::spark::SparkLowLevel::PeriodicStatus9: + attributes: + maxMotionSetpointPosition: + maxMotionSetpointVelocity: + timestamp: diff --git a/semiwrap/SparkMax.yml b/semiwrap/SparkMax.yml index e1cfbe5..b637432 100644 --- a/semiwrap/SparkMax.yml +++ b/semiwrap/SparkMax.yml @@ -1,4 +1,3 @@ - extra_includes_first: - rev/REVLibError.h - rev/SparkLowLevel.h @@ -22,6 +21,3 @@ classes: return_value_policy: reference_internal GetReverseLimitSwitch: return_value_policy: reference_internal - PreGetAbsoluteEncoder: - PreGetForwardLimitSwitch: - PreGetReverseLimitSwitch: diff --git a/semiwrap/SparkMaxAlternateEncoder.yml b/semiwrap/SparkMaxAlternateEncoder.yml index e6f6619..8c1ef4b 100644 --- a/semiwrap/SparkMaxAlternateEncoder.yml +++ b/semiwrap/SparkMaxAlternateEncoder.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkMaxAlternateEncoder: base_qualnames: diff --git a/semiwrap/SparkMaxAlternateEncoderSim.yml b/semiwrap/SparkMaxAlternateEncoderSim.yml index d81b9f0..29b4501 100644 --- a/semiwrap/SparkMaxAlternateEncoderSim.yml +++ b/semiwrap/SparkMaxAlternateEncoderSim.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkMaxAlternateEncoderSim: methods: @@ -11,8 +10,6 @@ classes: GetInverted: SetZeroOffset: GetZeroOffset: - SetPositionConversionFactor: GetPositionConversionFactor: - SetVelocityConversionFactor: GetVelocityConversionFactor: iterate: diff --git a/semiwrap/SparkMaxConfig.yml b/semiwrap/SparkMaxConfig.yml index bd3c070..eb303e7 100644 --- a/semiwrap/SparkMaxConfig.yml +++ b/semiwrap/SparkMaxConfig.yml @@ -1,4 +1,3 @@ - extra_includes: - sparkbaseconfig_apply.h diff --git a/semiwrap/SparkMaxConfigAccessor.yml b/semiwrap/SparkMaxConfigAccessor.yml index a18724e..9d39ae8 100644 --- a/semiwrap/SparkMaxConfigAccessor.yml +++ b/semiwrap/SparkMaxConfigAccessor.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkMaxConfigAccessor: is_polymorphic: false diff --git a/semiwrap/SparkMaxSim.yml b/semiwrap/SparkMaxSim.yml index 16d9a25..009c45e 100644 --- a/semiwrap/SparkMaxSim.yml +++ b/semiwrap/SparkMaxSim.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkMaxSim: is_polymorphic: false diff --git a/semiwrap/SparkParameters.yml b/semiwrap/SparkParameters.yml index 3be3e13..dcc9b0a 100644 --- a/semiwrap/SparkParameters.yml +++ b/semiwrap/SparkParameters.yml @@ -1,4 +1,3 @@ ---- enums: SparkParameter: diff --git a/semiwrap/SparkRelativeEncoder.yml b/semiwrap/SparkRelativeEncoder.yml index 74ff9e7..3bfcb84 100644 --- a/semiwrap/SparkRelativeEncoder.yml +++ b/semiwrap/SparkRelativeEncoder.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkRelativeEncoder: base_qualnames: diff --git a/semiwrap/SparkRelativeEncoderSim.yml b/semiwrap/SparkRelativeEncoderSim.yml index cbc996d..ae34e45 100644 --- a/semiwrap/SparkRelativeEncoderSim.yml +++ b/semiwrap/SparkRelativeEncoderSim.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkRelativeEncoderSim: methods: @@ -14,8 +13,6 @@ classes: GetInverted: SetZeroOffset: GetZeroOffset: - SetPositionConversionFactor: GetPositionConversionFactor: - SetVelocityConversionFactor: GetVelocityConversionFactor: iterate: diff --git a/semiwrap/SparkSim.yml b/semiwrap/SparkSim.yml index ec5c686..1b93023 100644 --- a/semiwrap/SparkSim.yml +++ b/semiwrap/SparkSim.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkSim: methods: diff --git a/semiwrap/SparkSimFaultManager.yml b/semiwrap/SparkSimFaultManager.yml index 4421fe9..f62fd6e 100644 --- a/semiwrap/SparkSimFaultManager.yml +++ b/semiwrap/SparkSimFaultManager.yml @@ -1,4 +1,3 @@ - classes: rev::spark::SparkSimFaultManager: methods: diff --git a/semiwrap/SparkSoftLimit.yml b/semiwrap/SparkSoftLimit.yml new file mode 100644 index 0000000..a8e277d --- /dev/null +++ b/semiwrap/SparkSoftLimit.yml @@ -0,0 +1,4 @@ +classes: + rev::spark::SparkSoftLimit: + methods: + isReached: diff --git a/semiwrap/StatusLogger.yml b/semiwrap/StatusLogger.yml new file mode 100644 index 0000000..f6353bb --- /dev/null +++ b/semiwrap/StatusLogger.yml @@ -0,0 +1,6 @@ +classes: + StatusLogger: + methods: + Start: + Stop: + DisableAutoLogging: diff --git a/tests/requirements.txt b/tests/requirements.txt index 5c6735e..cdcf824 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,2 +1,2 @@ pytest -pyfrc<2026.0.0,>=2025.0.0 +pyfrc<2027.0.0,>=2026.0.1b1 From fd08a1176d2b970f7126cb53edac66b61bec77c1 Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Wed, 10 Dec 2025 21:10:56 -0500 Subject: [PATCH 2/2] Initialize driver on load --- rev/rev.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/rev/rev.cpp b/rev/rev.cpp index e8f3376..b362017 100644 --- a/rev/rev.cpp +++ b/rev/rev.cpp @@ -1,3 +1,14 @@ #include -SEMIWRAP_PYBIND11_MODULE(m) { initWrapper(m); } \ No newline at end of file +// rev doesn't expose the internal API, but you need to call these +// to initialize the library otherwise it crashes +extern "C" { +void *getRevLibWpiDriver(void); +void setREVLibDriver(void *newDriver); +} + +SEMIWRAP_PYBIND11_MODULE(m) { + setREVLibDriver(getRevLibWpiDriver()); + + initWrapper(m); +} \ No newline at end of file