got all of the I/O hooked up (I think)
diff --git a/frc971/input/sensor_receiver.cc b/frc971/input/sensor_receiver.cc
index a7005a4..ff4fdf6 100644
--- a/frc971/input/sensor_receiver.cc
+++ b/frc971/input/sensor_receiver.cc
@@ -80,7 +80,8 @@
return in;
}
-void CopyHallEffectEdges(HallEffectStruct *output,
+template<typename Structure>
+void CopyHallEffectEdges(Structure *output,
const ::bbb::HallEffectEdges &input,
State::HallEffectCounters *state) {
output->posedge_count = state->posedges.Update(input.posedges);
@@ -153,9 +154,7 @@
auto shooter_position =
control_loops::shooter_queue_group.position.MakeMessage();
- CopyHallEffectEdges(&shooter_position->plunger, data->main.plunger,
- &state->plunger);
- shooter_position->plunger.current = data->main.bools.plunger;
+ shooter_position->plunger = data->main.bools.plunger;
CopyHallEffectEdges(&shooter_position->pusher_distal,
data->main.pusher_distal, &state->pusher_distal);
shooter_position->pusher_distal.current = data->main.bools.pusher_distal;
@@ -163,15 +162,13 @@
data->main.pusher_proximal, &state->pusher_proximal);
shooter_position->pusher_proximal.current =
data->main.bools.pusher_proximal;
- CopyHallEffectEdges(&shooter_position->latch, data->main.latch,
- &state->latch);
- shooter_position->latch.current = data->main.bools.latch;
+ shooter_position->latch = data->main.bools.latch;
shooter_position->position = shooter_translate(data->main.shooter_position);
- shooter_position->pusher_posedge_value =
- shooter_translate(data->main.shooter_posedge_position);
- shooter_position->pusher_negedge_value =
- shooter_translate(data->main.shooter_negedge_position);
+ shooter_position->pusher_distal.posedge_value =
+ shooter_translate(data->main.pusher_distal_posedge_position);
+ shooter_position->pusher_proximal.posedge_value =
+ shooter_translate(data->main.pusher_proximal_posedge_position);
shooter_position.Send();
}