Make monotonic_now a required parameter to PhasedLoop
This prepares us much better for mocking out time as part of the event
loop conversion.
Change-Id: I57560b97b265ddd41fe7a4e9f74d7b1324d15955
diff --git a/y2018/actors/autonomous_actor.cc b/y2018/actors/autonomous_actor.cc
index 425f6d3..c195fff 100644
--- a/y2018/actors/autonomous_actor.cc
+++ b/y2018/actors/autonomous_actor.cc
@@ -106,6 +106,7 @@
::aos::time::DurationInSeconds(monotonic_clock::now() - start_time));
::aos::time::PhasedLoop phased_loop(::std::chrono::milliseconds(5),
+ event_loop()->monotonic_now(),
::std::chrono::milliseconds(5) / 2);
while (!ShouldCancel()) {
diff --git a/y2018/actors/autonomous_actor.h b/y2018/actors/autonomous_actor.h
index 50218bb..a97f0d1 100644
--- a/y2018/actors/autonomous_actor.h
+++ b/y2018/actors/autonomous_actor.h
@@ -108,6 +108,7 @@
bool WaitForArmTrajectoryOrDriveClose(double drive_threshold,
double arm_threshold) {
::aos::time::PhasedLoop phased_loop(::std::chrono::milliseconds(5),
+ event_loop()->monotonic_now(),
::std::chrono::milliseconds(5) / 2);
constexpr double kPositionTolerance = 0.02;
@@ -168,6 +169,7 @@
bool WaitForArmTrajectoryClose(double threshold) {
::aos::time::PhasedLoop phased_loop(::std::chrono::milliseconds(5),
+ event_loop()->monotonic_now(),
::std::chrono::milliseconds(5) / 2);
while (true) {
if (ShouldCancel()) {
@@ -188,6 +190,7 @@
bool WaitForBoxGrabed() {
::aos::time::PhasedLoop phased_loop(::std::chrono::milliseconds(5),
+ event_loop()->monotonic_now(),
::std::chrono::milliseconds(5) / 2);
while (true) {
if (ShouldCancel()) {
diff --git a/y2018/wpilib_interface.cc b/y2018/wpilib_interface.cc
index 4e18114..dc327a7 100644
--- a/y2018/wpilib_interface.cc
+++ b/y2018/wpilib_interface.cc
@@ -417,6 +417,7 @@
::aos::SetCurrentThreadRealtimePriority(27);
::aos::time::PhasedLoop phased_loop(::std::chrono::milliseconds(20),
+ ::aos::monotonic_clock::now(),
::std::chrono::milliseconds(1));
while (run_) {