Advertisement
YWLAElektraBots

ElektraBots 2016 Code

Feb 11th, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.37 KB | None | 0 0
  1. #include "WPILib.h"
  2. #include "DriveFunc.h"
  3.  
  4. #define DEADZONE .3
  5. #define DRIVERX_0 1
  6. #define DRIVERX_1 5
  7. #define OPERATORX_0 1
  8.  
  9. #define LEFT_REVERSE
  10. //#define RIGHT_REVERSE
  11. //#define INTAKE_REVERSE
  12.  
  13. int autonomous;
  14.  
  15. class Robot: public SampleRobot
  16. {
  17.     Joystick _driver, _operator;
  18.     VictorSP left_0, left_1, right_0, right_1;
  19.     Victor intake_0;
  20.  
  21. #ifdef LEFT_REVERSE
  22.     int leftPolarity = -1;
  23. #else
  24.     int leftPolarity = 1;
  25. #endif
  26.  
  27. #ifdef RIGHT_REVERSE
  28.     int rightPolarity = -1;
  29. #else
  30.     int rightPolarity = 1;
  31. #endif
  32.  
  33. #ifdef INTAKE_REVERSE
  34.     int intakePolarity = -1;
  35. #else
  36.     int intakePolarity = 1;
  37. #endif
  38.  
  39. public:
  40.     Robot() :
  41.         _driver(0),
  42.         _operator(1),
  43.         left_0(0),
  44.         left_1(1),
  45.         right_0(2),
  46.         right_1(3),
  47.         intake_0(4)
  48.  
  49.     {
  50.     }
  51.  
  52.     void RobotInit()
  53.     {
  54.         SmartDashboard::PutNumber("auton", 0);
  55.     }
  56.  
  57.  
  58.     void Autonomous()
  59.     {
  60.         autonomous = SmartDashboard::GetNumber("auton", 0);
  61.  
  62.         if(autonomous == 1)
  63.         {
  64.             cout << "ONE!";
  65.             left_0.Set(leftPolarity*LinearValueEstimator(-0.5, 0.0));
  66.             right_0.Set(leftPolarity*LinearValueEstimator(-0.5, 0.0));
  67.             left_1.Set(leftPolarity*LinearValueEstimator(-0.5, 0.0));
  68.             right_1.Set(leftPolarity*LinearValueEstimator(-0.5, 0.0));
  69.             Wait(0.005);
  70.         }
  71.         else if(autonomous == 2)
  72.         {
  73.             cout << "TWO!";
  74.         }
  75.         else{cout << "NONE!";}
  76.     }
  77.  
  78.  
  79.     void OperatorControl()
  80.     {
  81.  
  82.         while (IsOperatorControl() && IsEnabled())
  83.         {
  84.             double driverX_0 = _driver.GetRawAxis(DRIVERX_0);
  85.             double driverX_1 = _driver.GetRawAxis(DRIVERX_1);
  86.             double operatorX_0 = _operator.GetRawAxis(OPERATORX_0);
  87.  
  88.             if(driverX_0 > DEADZONE || driverX_0 < -DEADZONE)
  89.             {
  90.                 left_0.Set(leftPolarity*LinearValueEstimator(driverX_0, DEADZONE));
  91.                 left_1.Set(leftPolarity*LinearValueEstimator(driverX_0, DEADZONE));
  92.             }
  93.             else
  94.             {
  95.                 left_0.StopMotor();
  96.                 left_1.StopMotor();
  97.             }
  98.  
  99.             if(driverX_1 > DEADZONE || driverX_1 < -DEADZONE)
  100.             {
  101.                 right_0.Set(rightPolarity*LinearValueEstimator(driverX_1, DEADZONE));
  102.                 right_1.Set(rightPolarity*LinearValueEstimator(driverX_1, DEADZONE));
  103.             }
  104.             else
  105.             {
  106.                 right_0.StopMotor();
  107.                 right_1.StopMotor();
  108.             }
  109.  
  110.             if(operatorX_0 > DEADZONE || operatorX_0 < -DEADZONE)
  111.                 intake_0.Set(intakePolarity*LinearValueEstimator(operatorX_0, DEADZONE));
  112.             else
  113.                 intake_0.StopMotor();
  114.  
  115.  
  116.  
  117.  
  118.             Wait(0.005);
  119.         }
  120.     }
  121.  
  122.  
  123.     void Test()
  124.     {
  125.     }
  126. };
  127.  
  128. START_ROBOT_CLASS(Robot)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement