[py] Fix opmodes (#8498)

Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>
This commit is contained in:
PJ Reiniger
2025-12-31 12:05:00 -05:00
committed by GitHub
parent 1bbb284ad1
commit bdc9391738
13 changed files with 196 additions and 19 deletions

View File

@@ -19,8 +19,3 @@ classes:
ClearOpModes:
wpi::OpModeRobot:
ignore: true
methods:
AddOpMode:
overloads:
RobotMode, std::string_view, std::string_view, std::string_view, const wpi::util::Color&, const wpi::util::Color&:
RobotMode, std::string_view, std::string_view, std::string_view:

View File

@@ -1,6 +1,27 @@
classes:
wpi::sim::OpModeOptions:
ignore: true
ignored_bases:
- std::span<HAL_OpModeOption>
force_no_trampoline: true
methods:
OpModeOptions:
overloads:
"":
ignore: true
HAL_OpModeOption*, int32_t:
ignore: true
inline_code: |
.def("__len__", [](const OpModeOptions &self) { return self.size(); })
.def("__getitem__", [](const OpModeOptions &self, int index) {
if (index >= static_cast<int>(self.size())) {
throw std::out_of_range("OpModeOptions index out of range");
}
return self[index];
})
.def("__iter__", [](OpModeOptions &self) {
return py::make_iterator(self.begin(), self.end());
}, py::keep_alive<0,1>());
wpi::sim::DriverStationSim:
force_type_casters:
- std::function
@@ -54,5 +75,5 @@ classes:
GetOpMode:
SetOpMode:
RegisterOpModeOptionsCallback:
GetOpModeOptions:
ignore: true
GetOpModeOptions:

View File

@@ -47,7 +47,6 @@ from ._wpilib import (
OnboardIMU,
OpMode,
OpModeRobotBase,
PeriodicOpMode,
PS4Controller,
PS5Controller,
PWM,
@@ -58,6 +57,7 @@ from ._wpilib import (
PWMTalonSRX,
PWMVenom,
PWMVictorSPX,
PeriodicOpMode,
PneumaticHub,
PneumaticsBase,
PneumaticsControlModule,
@@ -139,7 +139,6 @@ __all__ = [
"OnboardIMU",
"OpMode",
"OpModeRobotBase",
"PeriodicOpMode",
"PS4Controller",
"PS5Controller",
"PWM",
@@ -150,6 +149,7 @@ __all__ = [
"PWMTalonSRX",
"PWMVenom",
"PWMVictorSPX",
"PeriodicOpMode",
"PneumaticHub",
"PneumaticsBase",
"PneumaticsControlModule",

View File

@@ -32,6 +32,7 @@ from ._simulation import (
LinearSystemSim_2_1_2,
LinearSystemSim_2_2_1,
LinearSystemSim_2_2_2,
OpModeOptions,
PS4ControllerSim,
PS5ControllerSim,
PWMMotorControllerSim,
@@ -48,11 +49,13 @@ from ._simulation import (
StadiaControllerSim,
XboxControllerSim,
getProgramStarted,
getProgramState,
isTimingPaused,
pauseTiming,
restartTiming,
resumeTiming,
setProgramStarted,
setProgramState,
setRuntimeType,
stepTiming,
stepTimingAsync,
@@ -87,6 +90,7 @@ __all__ = [
"LinearSystemSim_2_1_2",
"LinearSystemSim_2_2_1",
"LinearSystemSim_2_2_2",
"OpModeOptions",
"PS4ControllerSim",
"PS5ControllerSim",
"PWMMotorControllerSim",
@@ -103,11 +107,13 @@ __all__ = [
"StadiaControllerSim",
"XboxControllerSim",
"getProgramStarted",
"getProgramState",
"isTimingPaused",
"pauseTiming",
"restartTiming",
"resumeTiming",
"setProgramStarted",
"setProgramState",
"setRuntimeType",
"stepTiming",
"stepTimingAsync",