Skip to content

Commit 65125e6

Browse files
authored
Merge pull request #81 from robotpy/2026-dev
Update to 2026.0.0-beta-1
2 parents 68a5d3e + fd08a11 commit 65125e6

File tree

81 files changed

+480
-139
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+480
-139
lines changed

.github/workflows/dist.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111

1212
jobs:
1313
ci:
14-
uses: robotpy/build-actions/.github/workflows/package-ci.yml@v2025
14+
uses: robotpy/build-actions/.github/workflows/package-ci.yml@v2026
1515
with:
1616
artifactory_repo_type: vendor
1717
enable_raspbian: false

meson.build

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ cpp = meson.get_compiler('cpp')
1616
libs_path = meson.current_source_dir() + '/lib/lib'
1717

1818
rev_deps += [
19+
cpp.find_library('BackendDriver', dirs: libs_path),
20+
cpp.find_library('REVLibWpi', dirs: libs_path),
1921
cpp.find_library('REVLibDriver', dirs: libs_path),
2022
cpp.find_library('REVLib', dirs: libs_path),
2123
]

pyproject.toml

Lines changed: 79 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ build-backend = "hatchling.build"
33
requires = [
44
"hatchling",
55
"hatch-vcs",
6-
"semiwrap~=0.1",
7-
"hatch-meson~=0.1.0b2",
8-
"hatch-robotpy~=0.2.0",
9-
"wpilib~=2025.3.2.2",
6+
"semiwrap~=0.2.1",
7+
"hatch-meson~=0.1.0",
8+
"hatch-robotpy~=0.2.1",
9+
"wpilib~=2026.1.1b1",
1010
]
1111

1212

@@ -16,7 +16,7 @@ dynamic = ["version"]
1616
description = "REVLib for RobotPy"
1717
license = "BSD-3-Clause"
1818
dependencies = [
19-
"wpilib~=2025.3.2.2",
19+
"wpilib~=2026.1.1b1",
2020
]
2121

2222
[[project.authors]]
@@ -44,18 +44,40 @@ packages = ["rev"]
4444
artifact_id = "REVLib-cpp"
4545
group_id = "com.revrobotics.frc"
4646
repo_url = "https://maven.revrobotics.com"
47-
version = "2025.0.3"
47+
version = "2026.0.0-beta-1"
4848
staticlibs = ["REVLib"]
4949
extract_to = "lib"
5050

5151
[[tool.hatch.build.hooks.robotpy.maven_lib_download]]
5252
artifact_id = "REVLib-driver"
5353
group_id = "com.revrobotics.frc"
5454
repo_url = "https://maven.revrobotics.com"
55-
version = "2025.0.3"
55+
version = "2026.0.0-beta-1"
5656
staticlibs = [ "REVLibDriver"]
5757
extract_to = "lib"
5858

59+
[[tool.hatch.build.hooks.robotpy.maven_lib_download]]
60+
artifact_id = "RevLibBackendDriver"
61+
group_id = "com.revrobotics.frc"
62+
repo_url = "https://maven.revrobotics.com"
63+
version = "2026.0.0-beta-1"
64+
staticlibs = [
65+
"BackendDriver",
66+
]
67+
extract_to = "lib"
68+
use_headers = false
69+
70+
[[tool.hatch.build.hooks.robotpy.maven_lib_download]]
71+
artifact_id = "RevLibWpiBackendDriver"
72+
group_id = "com.revrobotics.frc"
73+
repo_url = "https://maven.revrobotics.com"
74+
version = "2026.0.0-beta-1"
75+
staticlibs = [
76+
"REVLibWpi",
77+
]
78+
extract_to = "lib"
79+
use_headers = false
80+
5981
#
6082
# End autogenerated TOML
6183
#
@@ -69,7 +91,39 @@ extract_to = "lib"
6991

7092
[tool.semiwrap]
7193
update_init = ["rev"]
72-
94+
scan_headers_ignore = [
95+
# rev
96+
"rev/CANCommonParameters.h",
97+
"rev/CANDeviceScanner.h",
98+
"rev/CANDriverPrivate.h",
99+
"rev/CANServoHubDriver.h",
100+
"rev/CANServoHubFrames.h",
101+
"rev/CANServoHubParameters.h",
102+
"rev/CANSparkDriver.h",
103+
"rev/CANSparkFrames.h",
104+
"rev/CANSparkParameters.h",
105+
"rev/REVCommon.h",
106+
"rev/REVLibDaemon.h",
107+
"rev/REVUtils.h",
108+
"rev/SparkFrameManager.h",
109+
"rev/StatusLoggerDriver.h",
110+
111+
# rev/canupdate
112+
"rev/canupdate/CANSparkSWDL.h",
113+
"rev/canupdate/DfuSeFile.h",
114+
115+
# rev/rev
116+
"rev/rev/REVLibVersion.h",
117+
118+
# rev/sim
119+
"rev/sim/CANServoHub.h",
120+
"rev/sim/CANSpark.h",
121+
"rev/sim/MAXMotion.h",
122+
"rev/sim/SmartCurrentLimit.h",
123+
124+
# .
125+
"sparkbaseconfig_apply.h",
126+
]
73127

74128
[tool.semiwrap.extension_modules."rev._rev"]
75129
name = "rev"
@@ -83,26 +137,6 @@ includes = [
83137
]
84138

85139
[tool.semiwrap.extension_modules."rev._rev".headers]
86-
# rev
87-
# CANSparkDriver = "rev/CANSparkDriver.h"
88-
# CANSparkDriverPrivate = "rev/CANSparkDriverPrivate.h"
89-
# CANSparkFrames = "rev/CANSparkFrames.h"
90-
# CANSparkMaxFrames = "rev/CANSparkMaxFrames.h"
91-
# CANSparkParameters = "rev/CANSparkParameters.h"
92-
# CANSparkSWDL = "rev/CANSparkSWDL.h"
93-
# REVCommon = "rev/REVCommon.h"
94-
# REVLibDaemon = "rev/REVLibDaemon.h"
95-
# REVLibErrors = "rev/REVLibErrors.h"
96-
# REVUtils = "rev/REVUtils.h"
97-
# SparkFrameManager = "rev/SparkFrameManager.h"
98-
99-
# rev/rev
100-
# REVLibVersion = "rev/rev/REVLibVersion.h"
101-
102-
# rev/sim
103-
# CANSpark = "rev/sim/CANSpark.h"
104-
# MAXMotion = "rev/sim/MAXMotion.h"
105-
# SmartCurrentLimit = "rev/sim/SmartCurrentLimit.h"
106140

107141
# rev
108142
AbsoluteEncoder = "rev/AbsoluteEncoder.h"
@@ -111,10 +145,15 @@ AnalogInput = "rev/AnalogInput.h"
111145
# marked as `static inline`
112146
# CANDeviceScanner = "rev/CANDeviceScanner.h"
113147
CIEColor = "rev/CIEColor.h"
148+
ClosedLoopTypes = "rev/ClosedLoopTypes.h"
114149
ColorMatch = "rev/ColorMatch.h"
115150
ColorSensorV3 = "rev/ColorSensorV3.h"
116151
REVLibError = "rev/REVLibError.h"
117152
RelativeEncoder = "rev/RelativeEncoder.h"
153+
ServoChannel = "rev/ServoChannel.h"
154+
ServoHub = "rev/ServoHub.h"
155+
ServoHubLowLevel = "rev/ServoHubLowLevel.h"
156+
ServoHubSim = "rev/ServoHubSim.h"
118157
SparkAbsoluteEncoder = "rev/SparkAbsoluteEncoder.h"
119158
SparkAnalogSensor = "rev/SparkAnalogSensor.h"
120159
SparkBase = "rev/SparkBase.h"
@@ -127,6 +166,7 @@ SparkMax = "rev/SparkMax.h"
127166
SparkMaxAlternateEncoder = "rev/SparkMaxAlternateEncoder.h"
128167
SparkRelativeEncoder = "rev/SparkRelativeEncoder.h"
129168
SparkSim = "rev/SparkSim.h"
169+
SparkSoftLimit = "rev/SparkSoftLimit.h"
130170

131171
# rev/config
132172
AbsoluteEncoderConfig = "rev/config/AbsoluteEncoderConfig.h"
@@ -138,19 +178,23 @@ AnalogSensorConfigAccessor = "rev/config/AnalogSensorConfigAccessor.h"
138178
BaseConfig = "rev/config/BaseConfig.h"
139179
ClosedLoopConfig = "rev/config/ClosedLoopConfig.h"
140180
ClosedLoopConfigAccessor = "rev/config/ClosedLoopConfigAccessor.h"
141-
ClosedLoopSlot = "rev/ClosedLoopSlot.h"
142181
EncoderConfig = "rev/config/EncoderConfig.h"
143182
EncoderConfigAccessor = "rev/config/EncoderConfigAccessor.h"
144183
ExternalEncoderConfig = "rev/config/ExternalEncoderConfig.h"
145184
ExternalEncoderConfigAccessor = "rev/config/ExternalEncoderConfigAccessor.h"
185+
FeedForwardConfig = "rev/config/FeedForwardConfig.h"
186+
FeedForwardConfigAccessor = "rev/config/FeedForwardConfigAccessor.h"
146187
LimitSwitchConfig = "rev/config/LimitSwitchConfig.h"
147188
LimitSwitchConfigAccessor = "rev/config/LimitSwitchConfigAccessor.h"
148189
MAXMotionConfig = "rev/config/MAXMotionConfig.h"
149190
MAXMotionConfigAccessor = "rev/config/MAXMotionConfigAccessor.h"
191+
ServoChannelConfig = "rev/config/ServoChannelConfig.h"
192+
ServoChannelConfigAccessor = "rev/config/ServoChannelConfigAccessor.h"
193+
ServoHubConfig = "rev/config/ServoHubConfig.h"
194+
ServoHubConfigAccessor = "rev/config/ServoHubConfigAccessor.h"
195+
ServoHubParameters = "rev/config/ServoHubParameters.h"
150196
SignalsConfig = "rev/config/SignalsConfig.h"
151197
SignalsConfigAccessor = "rev/config/SignalsConfigAccessor.h"
152-
SmartMotionConfig = "rev/config/SmartMotionConfig.h"
153-
SmartMotionConfigAccessor = "rev/config/SmartMotionConfigAccessor.h"
154198
SoftLimitConfig = "rev/config/SoftLimitConfig.h"
155199
SoftLimitConfigAccessor = "rev/config/SoftLimitConfigAccessor.h"
156200
SparkBaseConfig = "rev/config/SparkBaseConfig.h"
@@ -164,6 +208,7 @@ SparkParameters = "rev/config/SparkParameters.h"
164208
# rev/sim
165209
MovingAverageFilterSim = "rev/sim/MovingAverageFilterSim.h"
166210
NoiseGenerator = "rev/sim/NoiseGenerator.h"
211+
ServoHubSimFaultManager = "rev/sim/ServoHubSimFaultManager.h"
167212
SparkAbsoluteEncoderSim = "rev/sim/SparkAbsoluteEncoderSim.h"
168213
SparkAnalogSensorSim = "rev/sim/SparkAnalogSensorSim.h"
169214
SparkExternalEncoderSim = "rev/sim/SparkExternalEncoderSim.h"
@@ -173,3 +218,6 @@ SparkMaxAlternateEncoderSim = "rev/sim/SparkMaxAlternateEncoderSim.h"
173218
SparkMaxSim = "rev/sim/SparkMaxSim.h"
174219
SparkRelativeEncoderSim = "rev/sim/SparkRelativeEncoderSim.h"
175220
SparkSimFaultManager = "rev/sim/SparkSimFaultManager.h"
221+
222+
# rev/util
223+
StatusLogger = "rev/util/StatusLogger.h"

rev/__init__.py

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
EncoderConfigAccessor,
2424
ExternalEncoderConfig,
2525
ExternalEncoderConfigAccessor,
26+
FeedForwardConfig,
27+
FeedForwardConfigAccessor,
28+
FeedbackSensor,
2629
LimitSwitchConfig,
2730
LimitSwitchConfigAccessor,
2831
MAXMotionConfig,
@@ -31,10 +34,18 @@
3134
NoiseGenerator,
3235
REVLibError,
3336
RelativeEncoder,
37+
ServoChannel,
38+
ServoChannelConfig,
39+
ServoChannelConfigAccessor,
40+
ServoHub,
41+
ServoHubConfig,
42+
ServoHubConfigAccessor,
43+
ServoHubLowLevel,
44+
ServoHubParameter,
45+
ServoHubSim,
46+
ServoHubSimFaultManager,
3447
SignalsConfig,
3548
SignalsConfigAccessor,
36-
SmartMotionConfig,
37-
SmartMotionConfigAccessor,
3849
SoftLimitConfig,
3950
SoftLimitConfigAccessor,
4051
SparkAbsoluteEncoder,
@@ -65,6 +76,8 @@
6576
SparkRelativeEncoderSim,
6677
SparkSim,
6778
SparkSimFaultManager,
79+
SparkSoftLimit,
80+
StatusLogger,
6881
)
6982

7083
__all__ = [
@@ -87,6 +100,9 @@
87100
"EncoderConfigAccessor",
88101
"ExternalEncoderConfig",
89102
"ExternalEncoderConfigAccessor",
103+
"FeedForwardConfig",
104+
"FeedForwardConfigAccessor",
105+
"FeedbackSensor",
90106
"LimitSwitchConfig",
91107
"LimitSwitchConfigAccessor",
92108
"MAXMotionConfig",
@@ -95,10 +111,18 @@
95111
"NoiseGenerator",
96112
"REVLibError",
97113
"RelativeEncoder",
114+
"ServoChannel",
115+
"ServoChannelConfig",
116+
"ServoChannelConfigAccessor",
117+
"ServoHub",
118+
"ServoHubConfig",
119+
"ServoHubConfigAccessor",
120+
"ServoHubLowLevel",
121+
"ServoHubParameter",
122+
"ServoHubSim",
123+
"ServoHubSimFaultManager",
98124
"SignalsConfig",
99125
"SignalsConfigAccessor",
100-
"SmartMotionConfig",
101-
"SmartMotionConfigAccessor",
102126
"SoftLimitConfig",
103127
"SoftLimitConfigAccessor",
104128
"SparkAbsoluteEncoder",
@@ -129,4 +153,6 @@
129153
"SparkRelativeEncoderSim",
130154
"SparkSim",
131155
"SparkSimFaultManager",
156+
"SparkSoftLimit",
157+
"StatusLogger",
132158
]

rev/rev.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
11
#include <semiwrap_init.rev._rev.hpp>
22

3-
SEMIWRAP_PYBIND11_MODULE(m) { initWrapper(m); }
3+
// rev doesn't expose the internal API, but you need to call these
4+
// to initialize the library otherwise it crashes
5+
extern "C" {
6+
void *getRevLibWpiDriver(void);
7+
void setREVLibDriver(void *newDriver);
8+
}
9+
10+
SEMIWRAP_PYBIND11_MODULE(m) {
11+
setREVLibDriver(getRevLibWpiDriver());
12+
13+
initWrapper(m);
14+
}

semiwrap/AbsoluteEncoder.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
classes:
32
rev::AbsoluteEncoder:
43
methods:

semiwrap/AbsoluteEncoderConfig.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
classes:
32
rev::spark::AbsoluteEncoderConfig:
43
base_qualnames:

semiwrap/AbsoluteEncoderConfigAccessor.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
classes:
32
rev::spark::AbsoluteEncoderConfigAccessor:
43
methods:

semiwrap/AlternateEncoderConfig.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
classes:
32
rev::spark::AlternateEncoderConfig:
43
base_qualnames:

semiwrap/AlternateEncoderConfigAccessor.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
classes:
32
rev::spark::AlternateEncoderConfigAccessor:
43
methods:

0 commit comments

Comments
 (0)