mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
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>
111 lines
2.3 KiB
Python
111 lines
2.3 KiB
Python
EXAMPLES_FOLDERS = [
|
|
"addressableled",
|
|
"apriltagsvision",
|
|
"arcadedrive",
|
|
"arcadedrivexboxcontroller",
|
|
"armsimulation",
|
|
"canpdp",
|
|
"differentialdrivebot",
|
|
"differentialdriveposeestimator",
|
|
"digitalcommunication",
|
|
"drivedistanceoffboard",
|
|
"dutycycleencoder",
|
|
"dutycycleinput",
|
|
"elevatorexponentialprofile",
|
|
"elevatorexponentialsimulation",
|
|
"elevatorprofiledpid",
|
|
"elevatorsimulation",
|
|
"elevatortrapezoidprofile",
|
|
"encoder",
|
|
"eventloop",
|
|
"flywheelbangbangcontroller",
|
|
"gettingstarted",
|
|
"gyro",
|
|
"gyromecanum",
|
|
"hatchbotinlined",
|
|
"hatchbottraditional",
|
|
"hidrumble",
|
|
"httpcamera",
|
|
"i2ccommunication",
|
|
"intermediatevision",
|
|
"mecanumbot",
|
|
"mecanumdrive",
|
|
"mecanumdriveposeestimator",
|
|
"mechanism2d",
|
|
"motorcontrol",
|
|
"potentiometerpid",
|
|
"quickvision",
|
|
"rapidreactcommandbot",
|
|
"romireference",
|
|
"selectcommand",
|
|
"simpledifferentialdrivesimulation",
|
|
"solenoid",
|
|
"statespacearm",
|
|
"statespaceelevator",
|
|
"statespaceflywheel",
|
|
"statespaceflywheelsysid",
|
|
"swervebot",
|
|
"swervedriveposeestimator",
|
|
"sysidroutine",
|
|
"tankdrive",
|
|
"tankdrivexboxcontroller",
|
|
"unittest",
|
|
"xrpreference",
|
|
]
|
|
|
|
COMMANDS_V2_FOLDERS = [
|
|
"command2",
|
|
"emptyclass",
|
|
"instantcommand",
|
|
"parallelcommandgroup",
|
|
"paralleldeadlinegroup",
|
|
"parallelracegroup",
|
|
"sequentialcommandgroup",
|
|
"subsystem2",
|
|
]
|
|
|
|
SNIPPETS_FOLDERS = [
|
|
"accelerometercollision",
|
|
"accelerometerfilter",
|
|
"adxlaccelerometers",
|
|
"analogaccelerometer",
|
|
"analogencoder",
|
|
"analoginput",
|
|
"analogpotentiometer",
|
|
"digitalinput",
|
|
"dutycycleencoder",
|
|
"encoder",
|
|
"encoderdrive",
|
|
"encoderhoming",
|
|
"limitswitch",
|
|
"onboardimu",
|
|
"profiledpidfeedforward",
|
|
]
|
|
|
|
TEMPLATES_FOLDERS = [
|
|
"commandv2",
|
|
"commandv2skeleton",
|
|
"educational",
|
|
"opmode",
|
|
"robotbaseskeleton",
|
|
"romicommandv2",
|
|
"romieducational",
|
|
"romitimed",
|
|
"timed",
|
|
"timedskeleton",
|
|
"timeslice",
|
|
"timesliceskeleton",
|
|
"xrpcommandv2",
|
|
"xrpeducational",
|
|
"xrptimed",
|
|
]
|
|
|
|
TEST_FOLDERS = [
|
|
"armsimulation",
|
|
"digitalcommunication",
|
|
"elevatorsimulation",
|
|
"i2ccommunication",
|
|
"potentiometerpid",
|
|
"unittest",
|
|
]
|