added support for the hanger pistons
diff --git a/frc971/input/JoystickReader.cc b/frc971/input/JoystickReader.cc
index b40643e..aeb8801 100644
--- a/frc971/input/JoystickReader.cc
+++ b/frc971/input/JoystickReader.cc
@@ -23,6 +23,7 @@
using ::frc971::control_loops::index_loop;
using ::frc971::control_loops::shooter;
using ::frc971::control_loops::angle_adjust;
+using ::frc971::control_loops::hangers;
namespace frc971 {
@@ -167,6 +168,14 @@
index_goal.Send();
shooter_goal.Send();
}
+
+ static int hanger_cycles = 0;
+ if (Pressed(2, 13)) {
+ ++hanger_cycles;
+ } else {
+ hanger_cycles = 0;
+ }
+ hangers.MakeWithBuilder().set(hanger_cycles >= 10).Send();
}
};
diff --git a/frc971/output/AtomMotorWriter.cc b/frc971/output/AtomMotorWriter.cc
index 36ee97e..8431fa7 100644
--- a/frc971/output/AtomMotorWriter.cc
+++ b/frc971/output/AtomMotorWriter.cc
@@ -21,6 +21,7 @@
using ::frc971::control_loops::shooter;
using ::frc971::control_loops::index_loop;
using ::frc971::control_loops::angle_adjust;
+using ::frc971::control_loops::hangers;
namespace frc971 {
namespace output {
@@ -91,6 +92,12 @@
AddMotor(TALON, 7, 0);
LOG(WARNING, "index not new enough\n");
}
+
+ hangers.FetchLatest();
+ if (hangers.IsNewerThanMS(kOutputMaxAgeMS)) {
+ AddSolenoid(4, hangers->set);
+ AddSolenoid(5, hangers->set);
+ }
}
};
diff --git a/frc971/queues/Piston.q b/frc971/queues/Piston.q
index 0819567..5811958 100644
--- a/frc971/queues/Piston.q
+++ b/frc971/queues/Piston.q
@@ -5,3 +5,4 @@
};
queue Piston shifters;
+queue Piston hangers;