added a spit out button
diff --git a/frc971/control_loops/index/index.cc b/frc971/control_loops/index/index.cc
index cf6aa8a..7460a36 100644
--- a/frc971/control_loops/index/index.cc
+++ b/frc971/control_loops/index/index.cc
@@ -1044,7 +1044,11 @@
if (output) {
output->intake_voltage = intake_voltage;
- output->transfer_voltage = transfer_voltage;
+ if (goal->override_transfer) {
+ output->transfer_voltage = goal->transfer_voltage;
+ } else {
+ output->transfer_voltage = transfer_voltage;
+ }
if (goal->override_index) {
output->index_voltage = goal->index_voltage;
} else {
diff --git a/frc971/control_loops/index/index_motor.q b/frc971/control_loops/index/index_motor.q
index b299b42..9530a4f 100644
--- a/frc971/control_loops/index/index_motor.q
+++ b/frc971/control_loops/index/index_motor.q
@@ -20,6 +20,8 @@
// If true, set the indexer voltage to index_voltage.
bool override_index;
double index_voltage;
+ bool override_transfer;
+ double transfer_voltage;
};
message Position {
diff --git a/frc971/input/JoystickReader.cc b/frc971/input/JoystickReader.cc
index ce9b6ac..be4e188 100644
--- a/frc971/input/JoystickReader.cc
+++ b/frc971/input/JoystickReader.cc
@@ -52,6 +52,7 @@
const ButtonLocation kIntake(3, 10);
const ButtonLocation kForceFire(3, 12);
const ButtonLocation kForceIndexUp(3, 9), kForceIndexDown(3, 7);
+const ButtonLocation kForceSpitOut(2, 11);
const ButtonLocation kDeployHangers(3, 1);
@@ -228,7 +229,9 @@
const bool index_up = data.IsPressed(kForceIndexUp);
const bool index_down = data.IsPressed(kForceIndexDown);
- index_goal->override_index = index_up || index_down;
+ const bool spit_out = data.IsPressed(kForceSpitOut);
+ index_goal->override_index = index_up || index_down || spit_out;
+ index_goal->override_transfer = spit_out;
if (index_up && index_down) {
index_goal->index_voltage = 0.0;
} else if (index_up) {
@@ -236,6 +239,10 @@
} else if (index_down) {
index_goal->index_voltage = -12.0;
}
+ if (spit_out) {
+ index_goal->index_voltage = -12.0;
+ index_goal->transfer_voltage = -12.0;
+ }
index_goal.Send();
shooter_goal.Send();