extra_includes: - wpi/driverstation/DriverStation.hpp - rpy/ControlWord.h functions: # TODO RunHALInitialization: ignore: true RunRobot: ignore: true StartRobot: ignore: true ResetMotorSafety: ignore: true classes: wpi::RobotBase: attributes: m_threadId: ignore: true connListenerHandle: ignore: true methods: IsEnabled: IsDisabled: IsAutonomous: IsAutonomousEnabled: IsTeleop: IsTeleopEnabled: IsTest: IsTestEnabled: GetThreadId: ignore: true StartCompetition: EndCompetition: GetRuntimeType: IsReal: IsSimulation: RobotBase: inline_code: | .def_static("main", [](py::object robot_cls) -> py::object { auto start = py::module::import("wpilib._impl.start"); auto starter = start.attr("RobotStarter")(); return starter.attr("run")(robot_cls); }, py::arg("robot_cls"), py::doc("Starting point for the application")) .def( "getControlState", [](RobotBase *self) -> std::tuple { py::gil_scoped_release release; return rpy::GetControlState(); }, py::doc("More efficient way to determine what state the robot is in.\n" "\n" ":returns: booleans representing enabled, isautonomous, istest\n" "\n" ".. versionadded:: 2019.2.1\n" "\n" ".. note:: This function only exists in RobotPy\n")); auto logger = py::module::import("logging").attr("getLogger")("robot"); cls_RobotBase.attr("logger") = logger;