/*----------------------------------------------------------------------------*/ /* Copyright (c) 2017 FIRST. All Rights Reserved. */ /* Open Source Software - may be modified and shared by FRC teams. The code */ /* must be accompanied by the FIRST BSD license file in the root directory of */ /* the project. */ /*----------------------------------------------------------------------------*/ #include #include #include #include #include #include class Robot : public frc::TimedRobot { public: void RobotInit() { m_chooser.AddDefault(kAutoNameDefault, kAutoNameDefault); m_chooser.AddObject(kAutoNameCustom, kAutoNameCustom); frc::SmartDashboard::PutData("Auto Modes", &m_chooser); } /* * This autonomous (along with the chooser code above) shows how to * select between different autonomous modes using the dashboard. The * sendable chooser code works with the Java SmartDashboard. If you * prefer the LabVIEW Dashboard, remove all of the chooser code and * uncomment the GetString line to get the auto name from the text box * below the Gyro. * * You can add additional auto modes by adding additional comparisons to * the if-else structure below with additional strings. If using the * SendableChooser make sure to add them to the chooser code above as * well. */ void AutonomousInit() override { m_autoSelected = m_chooser.GetSelected(); // m_autoSelected = SmartDashboard::GetString("Auto Selector", // kAutoNameDefault); std::cout << "Auto selected: " << m_autoSelected << std::endl; if (m_autoSelected == kAutoNameCustom) { // Custom Auto goes here } else { // Default Auto goes here } } void AutonomousPeriodic() { if (m_autoSelected == kAutoNameCustom) { // Custom Auto goes here } else { // Default Auto goes here } } void TeleopInit() {} void TeleopPeriodic() {} void TestPeriodic() { m_lw.Run(); } private: frc::LiveWindow& m_lw = *LiveWindow::GetInstance(); frc::SendableChooser m_chooser; const std::string kAutoNameDefault = "Default"; const std::string kAutoNameCustom = "My Auto"; std::string m_autoSelected; }; START_ROBOT_CLASS(Robot)