2015-01-11 16:02:49 -05:00
|
|
|
#include "OI.h"
|
2015-02-03 15:55:11 -05:00
|
|
|
#include "Commands/Elevator/Lower.h"
|
|
|
|
#include "Commands/Elevator/Raise.h"
|
2015-03-24 14:42:11 -04:00
|
|
|
#include "Commands/Elevator/ElevatorCycle.h"
|
2015-02-13 19:40:23 -05:00
|
|
|
#include "Commands/Collector/RollIn.h"
|
|
|
|
#include "Commands/Collector/RollOut.h"
|
2015-03-21 10:24:33 -04:00
|
|
|
#include "Commands/Collector/RollVar.h"
|
2015-02-13 21:41:38 -05:00
|
|
|
#include "Commands/BinElevator/BinLower.h"
|
|
|
|
#include "Commands/BinElevator/BinRaise.h"
|
2015-02-21 08:43:19 -05:00
|
|
|
#include "Commands/BinElevator/BinCloseArms.h"
|
|
|
|
#include "Commands/BinElevator/BinOpenArms.h"
|
2015-04-06 20:36:35 -04:00
|
|
|
#include "Commands/BinCollector/BinIn.h"
|
|
|
|
#include "Commands/BinCollector/BinOut.h"
|
2015-02-24 12:02:30 -05:00
|
|
|
#include "Commands/Autonomous/CollectTote.h"
|
|
|
|
#include "Commands/Autonomous/ReleaseTote.h"
|
2015-07-31 12:52:15 -04:00
|
|
|
OI::OI() {
|
2015-02-07 17:04:16 -05:00
|
|
|
// Joysticks
|
2015-03-23 10:52:02 -04:00
|
|
|
leftStick = new Joystick(0);
|
|
|
|
rightStick = new Joystick(1);
|
2015-02-07 17:04:16 -05:00
|
|
|
// Collector
|
2015-03-23 10:52:02 -04:00
|
|
|
JoystickButton *left1 = new JoystickButton(leftStick, 1);
|
|
|
|
JoystickButton *left2 = new JoystickButton(leftStick, 2);
|
|
|
|
JoystickButton *left7 = new JoystickButton(leftStick, 7);
|
2015-02-21 08:43:19 -05:00
|
|
|
left1->WhileHeld(new RollIn(GetLeftThrottle()));
|
2015-03-08 15:32:45 -04:00
|
|
|
left2->WhileHeld(new RollOut(2.0));
|
2015-03-21 10:24:33 -04:00
|
|
|
// 0.8 is the multiplier, so they roll at 80% power
|
|
|
|
left7->WhileHeld(new RollVar(0.8));
|
2015-02-07 17:04:16 -05:00
|
|
|
// Elevator
|
2015-03-23 10:52:02 -04:00
|
|
|
raise = new Raise(3.5);
|
|
|
|
lower = new Lower(3.0);
|
2015-03-24 14:42:11 -04:00
|
|
|
cycle = new ElevatorCycle();
|
2015-03-23 10:52:02 -04:00
|
|
|
JoystickButton *right4 = new JoystickButton(rightStick, 4);
|
|
|
|
JoystickButton *right6 = new JoystickButton(rightStick, 6);
|
2015-03-24 14:42:11 -04:00
|
|
|
JoystickButton *right7 = new JoystickButton(rightStick, 7);
|
2015-09-18 16:34:20 -04:00
|
|
|
JoystickButton *right10 = new JoystickButton(rightStick, 10);
|
|
|
|
JoystickButton *right11 = new JoystickButton(rightStick, 11);
|
2015-03-24 14:42:11 -04:00
|
|
|
JoystickButton *right12 = new JoystickButton(rightStick, 12);
|
2015-10-05 16:29:33 -04:00
|
|
|
right4->WhileHeld(lower);
|
|
|
|
right6->WhileHeld(raise);
|
2015-03-24 14:42:11 -04:00
|
|
|
right7->WhenPressed(cycle);
|
2015-09-18 16:34:20 -04:00
|
|
|
right10->WhenPressed(new BinCloseArms(2));
|
|
|
|
right11->WhenPressed(new BinOpenArms(2));
|
2015-03-24 14:42:11 -04:00
|
|
|
right4->CancelWhenPressed(raise);
|
2015-02-07 17:34:44 -05:00
|
|
|
right6->CancelWhenPressed(lower);
|
2015-03-24 14:42:11 -04:00
|
|
|
right4->CancelWhenPressed(cycle);
|
|
|
|
right6->CancelWhenPressed(cycle);
|
|
|
|
right7->CancelWhenPressed(raise);
|
|
|
|
right7->CancelWhenPressed(lower);
|
|
|
|
// Killall elevator functions
|
|
|
|
right12->CancelWhenPressed(raise);
|
|
|
|
right12->CancelWhenPressed(lower);
|
|
|
|
right12->CancelWhenPressed(cycle);
|
2015-02-13 21:41:38 -05:00
|
|
|
// BinElevator
|
2015-03-23 10:52:02 -04:00
|
|
|
JoystickButton *right3 = new JoystickButton(rightStick, 3);
|
|
|
|
JoystickButton *right5 = new JoystickButton(rightStick, 5);
|
|
|
|
binRaise = new BinRaise(3.0);
|
|
|
|
binLower = new BinLower(2.0);
|
2015-03-14 11:24:04 -04:00
|
|
|
right3->WhileHeld(binLower);
|
2015-02-14 13:45:54 -05:00
|
|
|
right3->CancelWhenPressed(binRaise);
|
2015-03-14 11:24:04 -04:00
|
|
|
right5->WhileHeld(binRaise);
|
2015-02-14 13:45:54 -05:00
|
|
|
right5->CancelWhenPressed(binLower);
|
2015-04-06 20:36:35 -04:00
|
|
|
|
|
|
|
// BinCollector
|
|
|
|
JoystickButton *left3 = new JoystickButton(leftStick, 3);
|
|
|
|
JoystickButton *left4 = new JoystickButton(leftStick, 4);
|
|
|
|
left3->WhileHeld(new BinIn(2.0));
|
|
|
|
left4->WhileHeld(new BinOut(2.0));
|
2015-01-17 12:21:16 -05:00
|
|
|
}
|
2015-07-31 12:52:15 -04:00
|
|
|
Joystick* OI::GetRightStick() {
|
2015-01-17 12:21:16 -05:00
|
|
|
return rightStick;
|
|
|
|
}
|
2015-07-31 12:52:15 -04:00
|
|
|
Joystick* OI::GetLeftStick() {
|
2015-01-17 12:21:16 -05:00
|
|
|
return leftStick;
|
2015-01-11 16:02:49 -05:00
|
|
|
}
|
2015-07-31 12:52:15 -04:00
|
|
|
double OI::GetRightThrottle() {
|
2015-02-15 17:10:20 -05:00
|
|
|
return (-rightStick->GetRawAxis(3)+1.0)/2;
|
|
|
|
}
|
2015-07-31 12:52:15 -04:00
|
|
|
double OI::GetLeftThrottle() {
|
2015-02-15 17:10:20 -05:00
|
|
|
return (-leftStick->GetRawAxis(3)+1.0)/2;
|
|
|
|
}
|
2015-02-08 12:26:15 -05:00
|
|
|
// vim: ts=2:sw=2:et
|