Convert y2018 to use event loop time
Change-Id: Id695b94dc7877b51ac7898f333fe8152faa7600b
diff --git a/y2018/control_loops/superstructure/arm/arm.cc b/y2018/control_loops/superstructure/arm/arm.cc
index f3f58f8..d3cb262 100644
--- a/y2018/control_loops/superstructure/arm/arm.cc
+++ b/y2018/control_loops/superstructure/arm/arm.cc
@@ -44,7 +44,8 @@
void Arm::Reset() { state_ = State::UNINITIALIZED; }
-void Arm::Iterate(const uint32_t *unsafe_goal, bool grab_box, bool open_claw,
+void Arm::Iterate(const ::aos::monotonic_clock::time_point monotonic_now,
+ const uint32_t *unsafe_goal, bool grab_box, bool open_claw,
bool close_claw, const control_loops::ArmPosition *position,
const bool claw_beambreak_triggered,
const bool box_back_beambreak_triggered,
@@ -261,7 +262,7 @@
if (claw_beambreak_triggered) {
grab_state_ = GrabState::CLAW_CLOSE;
// Snap time for the delay here.
- claw_close_start_time_ = ::aos::monotonic_clock::now();
+ claw_close_start_time_ = monotonic_now;
} else {
grab_state_ = GrabState::SHORT_BOX;
}
@@ -275,14 +276,14 @@
if (claw_beambreak_triggered) {
grab_state_ = GrabState::CLAW_CLOSE;
// Snap time for the delay here.
- claw_close_start_time_ = ::aos::monotonic_clock::now();
+ claw_close_start_time_ = monotonic_now;
} else {
grab_state_ = GrabState::WAIT_FOR_BOX;
}
}
break;
case GrabState::CLAW_CLOSE:
- if (::aos::monotonic_clock::now() >
+ if (monotonic_now >
claw_close_start_time_ + ::std::chrono::milliseconds(300)) {
grab_state_ = GrabState::OPEN_INTAKE;
}