2
0
mirror of https://github.com/team2059/Dent synced 2024-12-18 20:52:29 -05:00
dent/DentRobot.cpp

77 lines
2.5 KiB
C++
Raw Normal View History

2015-01-16 19:49:16 -05:00
#include "DentRobot.h"
#include "OI.h"
2015-02-19 12:33:23 -05:00
#include "RobotMap.h"
2015-02-07 12:32:46 -05:00
#include "Commands/Autonomous/Autonomous.h"
2015-01-17 12:21:16 -05:00
OI* DentRobot::oi=NULL;
Collector* DentRobot::collector=NULL;
Drivetrain* DentRobot::drivetrain=NULL;
Elevator* DentRobot::elevator=NULL;
2015-02-10 20:12:41 -05:00
BinElevator* DentRobot::binElevator=NULL;
2015-02-07 12:50:36 -05:00
CommandGroup* DentRobot::aut=NULL;
2015-02-20 15:54:41 -05:00
Pneumatics* DentRobot::pneumatics=NULL;
2015-01-17 12:21:16 -05:00
DentRobot::DentRobot(){
oi=new OI();
collector=new Collector();
drivetrain=new Drivetrain();
elevator=new Elevator();
2015-02-10 20:12:41 -05:00
binElevator=new BinElevator();
2015-02-20 15:54:41 -05:00
pneumatics=new Pneumatics();
2015-02-26 12:18:23 -05:00
//CameraServer::GetInstance()->SetQuality(25);
//CameraServer::GetInstance()->StartAutomaticCapture("cam0");
//SmartDashboard::PutNumber("Auto Wait Time", 1.0);
//SmartDashboard::PutNumber("Auto Sequence", 0);
2015-02-20 08:28:49 -05:00
printf("The robot is on\n");
2015-01-16 19:49:16 -05:00
}
void DentRobot::RobotInit(){
SmartDashboard::PutNumber("CodeVersion",CODE_VERSION);
// Autonomous
// Sequence of autonomous command
SmartDashboard::PutNumber("Auto Sequence",2.0);
SmartDashboard::PutNumber("Auto Wait Time",3.0);
// If the robot will be picking up three totes in sequence 3
SmartDashboard::PutBoolean("Three totes", true);
// TODO: Calibrate the following two values
// Distance (in time) to auto zone
2015-02-27 10:56:29 -05:00
SmartDashboard::PutNumber("Auto Zone Distance", 2.8);
// Distance (in time) to auto tote (used in sequence 3)
SmartDashboard::PutNumber("Auto Tote Distance", 0.5);
2015-02-27 10:56:29 -05:00
SmartDashboard::PutNumber("TurnAmount",2);
// Elevators
SmartDashboard::PutBoolean("Bin Elevator Bottom", false);
SmartDashboard::PutBoolean("Bin Elevator Top", false);
SmartDashboard::PutBoolean("Elevator Bottom", false);
SmartDashboard::PutBoolean("Elevator Top", false);
2015-01-16 19:49:16 -05:00
}
void DentRobot::DisabledPeriodic(){
Scheduler::GetInstance()->Run();
}
void DentRobot::AutonomousInit(){
aut=new Autonomous(SmartDashboard::GetNumber("Auto Sequence"));
printf("Enabling Auto Sequence %f\n",SmartDashboard::GetNumber("Auto Sequence"));
2015-02-27 03:32:21 -05:00
if(aut != NULL){
aut->Start();
}
2015-01-16 19:49:16 -05:00
}
void DentRobot::AutonomousPeriodic(){
2015-02-20 08:43:31 -05:00
printf("Running auto.\n");
2015-01-16 19:49:16 -05:00
Scheduler::GetInstance()->Run();
}
void DentRobot::TeleopInit(){
if (aut != NULL){
aut->Cancel();
}
2015-01-16 19:49:16 -05:00
}
void DentRobot::TeleopPeriodic(){
Scheduler::GetInstance()->Run();
// TODO: Calibrate 1.0 to the height we want the elevator to automatically raise
if(elevator->GetUseEncoder()&&elevator->GetHeight()<=-1.0){
// Raise the elevator if it dips below elevatorTop
oi->raise->Start();
}
2015-01-16 19:49:16 -05:00
}
void DentRobot::TestPeriodic(){
}
START_ROBOT_CLASS(DentRobot);
2015-02-08 12:26:15 -05:00
// vim: ts=2:sw=2:et