Files
allwpilib/wpilibc/src/main/python/semiwrap/DriverStation.yml
Peter Johnson dacded37e5 [hal, wpilib] Add OpMode support (#7744)
User code:
- OpModeRobot used as the robot base class
- LinearOpMode and PeriodicOpMode are provided opmode base classes
- In Java, annotations can be used to automatically register opmode classes

Additional user code functionality:
- OpMode (string) is available in addition to the overall
auto/teleop/test robot mode
- OpMode does not indicate enable (enable/disable is still separate)
- The HAL API uses integer UIDs; these are exposed at the user API level
as well for faster checks
- User code creates opmodes on startup (these have name, category,
description, etc).

DS:
- DS will present opmode selection lists for auto and teleop for
match/practice. During a match, the DS will automatically activate the
selected opmode in the corresponding match period.
- For testing, an overall mode is selected (e.g. teleop/auto/test) and a
single opmode is selected

Future work:
- Command framework support/integration
- Python annotation support
- Unit tests (needs race-free DS sim updates)
- Porting of examples

Co-authored-by: Joseph Eng <91924258+KangarooKoala@users.noreply.github.com>
2025-12-12 20:25:57 -08:00

82 lines
1.9 KiB
YAML

extra_includes:
- wpi/datalog/DataLog.hpp
- wpi/util/Color.hpp
classes:
wpi::DriverStation:
attributes:
kJoystickPorts:
enums:
Alliance:
MatchType:
POVDirection:
methods:
GetStickButton:
GetStickButtonPressed:
GetStickButtonReleased:
GetStickAxis:
GetStickPOV:
GetStickButtons:
GetJoystickGamepadType:
GetJoystickSupportedOutputs:
GetJoystickName:
IsJoystickConnected:
IsEnabled:
IsDisabled:
IsEStopped:
IsAutonomous:
IsAutonomousEnabled:
IsTeleop:
IsTeleopEnabled:
IsTest:
IsTestEnabled:
IsDSAttached:
IsFMSAttached:
GetGameSpecificMessage:
GetEventName:
GetMatchType:
GetMatchNumber:
GetReplayNumber:
GetAlliance:
GetLocation:
GetMatchTime:
GetBatteryVoltage:
RefreshData:
ProvideRefreshedDataEventHandle:
RemoveRefreshedDataEventHandle:
SilenceJoystickConnectionWarning:
IsJoystickConnectionWarningSilenced:
StartDataLog:
GetAngle:
GetJoystickIsGamepad:
GetStickButtonIfAvailable:
GetStickAxisIfAvailable:
GetStickAxesMaximumIndex:
GetStickAxesAvailable:
GetStickPOVsMaximumIndex:
GetStickPOVsAvailable:
GetStickButtonsMaximumIndex:
GetStickButtonsAvailable:
GetRobotMode:
AddOpMode:
overloads:
RobotMode, std::string_view, std::string_view, std::string_view:
RobotMode, std::string_view, std::string_view, std::string_view, const wpi::util::Color&, const wpi::util::Color&:
RemoveOpMode:
PublishOpModes:
ClearOpModes:
GetOpModeId:
GetOpMode:
IsOpMode:
overloads:
int64_t:
std::string_view:
GetControlWord:
GetStickTouchpadFinger:
GetStickTouchpadFingerAvailable:
wpi::DriverStation::TouchpadFinger:
attributes:
down:
x:
y: