Converted trapezoid_profile over to monotonic_clock

This also involves updating all the callers, and updating
control_loop's frequency variable.

Change-Id: Ic88d2715db30efcc25721da2dd8c89910ede7788
diff --git a/y2015/actors/drivetrain_actor.cc b/y2015/actors/drivetrain_actor.cc
index 5ace60d..f998fff 100644
--- a/y2015/actors/drivetrain_actor.cc
+++ b/y2015/actors/drivetrain_actor.cc
@@ -18,6 +18,8 @@
 namespace frc971 {
 namespace actors {
 
+namespace chrono = ::std::chrono;
+
 DrivetrainActor::DrivetrainActor(actors::DrivetrainActionQueueGroup* s)
     : aos::common::actions::ActorBase<actors::DrivetrainActionQueueGroup>(s) {}
 
@@ -30,8 +32,8 @@
   LOG(INFO, "Going to move %f and turn %f\n", yoffset, turn_offset);
 
   // Measured conversion to get the distance right.
-  ::aos::util::TrapezoidProfile profile(::aos::time::Time::InMS(5));
-  ::aos::util::TrapezoidProfile turn_profile(::aos::time::Time::InMS(5));
+  ::aos::util::TrapezoidProfile profile(chrono::milliseconds(5));
+  ::aos::util::TrapezoidProfile turn_profile(chrono::milliseconds(5));
   const double goal_velocity = 0.0;
   const double epsilon = 0.01;
   ::Eigen::Matrix<double, 2, 1> left_goal_state, right_goal_state;
diff --git a/y2015/actors/held_to_lift_actor.cc b/y2015/actors/held_to_lift_actor.cc
index 2336364..ddb2e29 100644
--- a/y2015/actors/held_to_lift_actor.cc
+++ b/y2015/actors/held_to_lift_actor.cc
@@ -17,6 +17,8 @@
 constexpr ProfileParams kFastElevatorMove{1.2, 5.0};
 }  // namespace
 
+namespace chrono = ::std::chrono;
+
 HeldToLiftActor::HeldToLiftActor(HeldToLiftActionQueueGroup *queues)
     : FridgeActorBase<HeldToLiftActionQueueGroup>(queues) {}
 
@@ -90,7 +92,8 @@
         MakeLiftAction(params.lift_params);
     lift_action->Start();
     while (lift_action->Running()) {
-      ::aos::time::PhasedLoopXMS(::aos::controls::kLoopFrequency.ToMSec(),
+      ::aos::time::PhasedLoopXMS(chrono::duration_cast<chrono::milliseconds>(
+                                     ::aos::controls::kLoopFrequency).count(),
                                  2500);
 
       if (ShouldCancel()) {
diff --git a/y2015/actors/pickup_actor.cc b/y2015/actors/pickup_actor.cc
index 0863ba6..4ae988e 100644
--- a/y2015/actors/pickup_actor.cc
+++ b/y2015/actors/pickup_actor.cc
@@ -92,7 +92,10 @@
   ::aos::time::Time end_time =
       ::aos::time::Time::Now() + aos::time::Time::InSeconds(params.intake_time);
   while ( ::aos::time::Time::Now() <= end_time) {
-    ::aos::time::PhasedLoopXMS(::aos::controls::kLoopFrequency.ToMSec(), 2500);
+    ::aos::time::PhasedLoopXMS(
+        ::std::chrono::duration_cast<::std::chrono::milliseconds>(
+            ::aos::controls::kLoopFrequency).count(),
+        2500);
     if (ShouldCancel()) return true;
   }
 
diff --git a/y2015/actors/score_actor.cc b/y2015/actors/score_actor.cc
index c0a398f..50b5f35 100644
--- a/y2015/actors/score_actor.cc
+++ b/y2015/actors/score_actor.cc
@@ -12,6 +12,8 @@
 
 using ::frc971::control_loops::fridge_queue;
 
+namespace chrono = ::std::chrono;
+
 namespace frc971 {
 namespace actors {
 namespace {
@@ -67,7 +69,9 @@
   }
 
   while (true) {
-    ::aos::time::PhasedLoopXMS(::aos::controls::kLoopFrequency.ToMSec(), 2500);
+    ::aos::time::PhasedLoopXMS(chrono::duration_cast<chrono::milliseconds>(
+                                   ::aos::controls::kLoopFrequency).count(),
+                               2500);
     if (ShouldCancel()) {
       return true;
     }
@@ -91,7 +95,9 @@
   bool started_lowering = false;
 
   while (true) {
-    ::aos::time::PhasedLoopXMS(::aos::controls::kLoopFrequency.ToMSec(), 2500);
+    ::aos::time::PhasedLoopXMS(chrono::duration_cast<chrono::milliseconds>(
+                                   ::aos::controls::kLoopFrequency).count(),
+                               2500);
     if (ShouldCancel()) {
       return true;
     }
@@ -129,7 +135,9 @@
   }
 
   while (true) {
-    ::aos::time::PhasedLoopXMS(::aos::controls::kLoopFrequency.ToMSec(), 2500);
+    ::aos::time::PhasedLoopXMS(chrono::duration_cast<chrono::milliseconds>(
+                                   ::aos::controls::kLoopFrequency).count(),
+                               2500);
     if (ShouldCancel()) {
       return true;
     }
@@ -158,7 +166,9 @@
 
   bool has_lifted = false;
   while (true) {
-    ::aos::time::PhasedLoopXMS(::aos::controls::kLoopFrequency.ToMSec(), 2500);
+    ::aos::time::PhasedLoopXMS(chrono::duration_cast<chrono::milliseconds>(
+                                   ::aos::controls::kLoopFrequency).count(),
+                               2500);
     if (ShouldCancel()) {
       return true;
     }
diff --git a/y2015/actors/stack_and_hold_actor.cc b/y2015/actors/stack_and_hold_actor.cc
index ae1eeda..1e87ff3 100644
--- a/y2015/actors/stack_and_hold_actor.cc
+++ b/y2015/actors/stack_and_hold_actor.cc
@@ -19,6 +19,8 @@
 constexpr ProfileParams kFastElevatorMove{1.2, 4.0};
 }  // namespace
 
+namespace chrono = ::std::chrono;
+
 StackAndHoldActor::StackAndHoldActor(StackAndHoldActionQueueGroup *queues)
     : FridgeActorBase<StackAndHoldActionQueueGroup>(queues) {}
 
@@ -76,7 +78,8 @@
         MakeStackAction(stack_params);
     stack_action->Start();
     while (stack_action->Running()) {
-      ::aos::time::PhasedLoopXMS(::aos::controls::kLoopFrequency.ToMSec(),
+      ::aos::time::PhasedLoopXMS(chrono::duration_cast<chrono::milliseconds>(
+                                     ::aos::controls::kLoopFrequency).count(),
                                  2500);
 
       if (ShouldCancel()) {
diff --git a/y2015/actors/stack_and_lift_actor.cc b/y2015/actors/stack_and_lift_actor.cc
index 32f7417..bff3c85 100644
--- a/y2015/actors/stack_and_lift_actor.cc
+++ b/y2015/actors/stack_and_lift_actor.cc
@@ -14,6 +14,8 @@
 namespace frc971 {
 namespace actors {
 
+namespace chrono = ::std::chrono;
+
 StackAndLiftActor::StackAndLiftActor(StackAndLiftActionQueueGroup *queues)
     : FridgeActorBase<StackAndLiftActionQueueGroup>(queues) {}
 
@@ -36,7 +38,8 @@
         MakeStackAction(stack_params);
     stack_action->Start();
     while (stack_action->Running()) {
-      ::aos::time::PhasedLoopXMS(::aos::controls::kLoopFrequency.ToMSec(),
+      ::aos::time::PhasedLoopXMS(chrono::duration_cast<chrono::milliseconds>(
+                                     ::aos::controls::kLoopFrequency).count(),
                                  2500);
 
       if (ShouldCancel()) {
@@ -75,7 +78,8 @@
     ::std::unique_ptr<LiftAction> lift_action = MakeLiftAction(lift_params);
     lift_action->Start();
     while (lift_action->Running()) {
-      ::aos::time::PhasedLoopXMS(::aos::controls::kLoopFrequency.ToMSec(),
+      ::aos::time::PhasedLoopXMS(chrono::duration_cast<chrono::milliseconds>(
+                                     ::aos::controls::kLoopFrequency).count(),
                                  2500);
 
       if (ShouldCancel()) {
diff --git a/y2015/control_loops/claw/claw.cc b/y2015/control_loops/claw/claw.cc
index e6ab9e7..ad8aaee 100644
--- a/y2015/control_loops/claw/claw.cc
+++ b/y2015/control_loops/claw/claw.cc
@@ -13,6 +13,7 @@
 namespace control_loops {
 
 using ::aos::time::Time;
+namespace chrono = ::std::chrono;
 
 constexpr double kZeroingVoltage = 4.0;
 
@@ -169,8 +170,9 @@
         SetClawOffset(claw_estimator_.offset());
       } else if (!disable) {
         claw_goal_velocity = claw_zeroing_velocity();
-        claw_goal_ +=
-            claw_goal_velocity * ::aos::controls::kLoopFrequency.ToSeconds();
+        claw_goal_ += claw_goal_velocity *
+                      chrono::duration_cast<chrono::duration<double>>(
+                          ::aos::controls::kLoopFrequency).count();
       }
 
       // Clear the current profile state if we are zeroing.
diff --git a/y2015/control_loops/fridge/fridge.cc b/y2015/control_loops/fridge/fridge.cc
index 083baf2..9f2241a 100644
--- a/y2015/control_loops/fridge/fridge.cc
+++ b/y2015/control_loops/fridge/fridge.cc
@@ -15,6 +15,8 @@
 namespace frc971 {
 namespace control_loops {
 
+namespace chrono = ::std::chrono;
+
 namespace {
 constexpr double kZeroingVoltage = 4.0;
 constexpr double kElevatorZeroingVelocity = 0.10;
@@ -333,7 +335,8 @@
           LOG(DEBUG, "Moving elevator to safe height.\n");
           if (elevator_goal_ < values.fridge.arm_zeroing_height) {
             elevator_goal_ += kElevatorSafeHeightVelocity *
-                              ::aos::controls::kLoopFrequency.ToSeconds();
+                              chrono::duration_cast<chrono::duration<double>>(
+                                  ::aos::controls::kLoopFrequency).count();
             elevator_goal_velocity_ = kElevatorSafeHeightVelocity;
             state_ = ZEROING_ELEVATOR;
           } else {
@@ -344,7 +347,8 @@
       } else if (!disable) {
         elevator_goal_velocity_ = elevator_zeroing_velocity();
         elevator_goal_ += elevator_goal_velocity_ *
-                          ::aos::controls::kLoopFrequency.ToSeconds();
+                          chrono::duration_cast<chrono::duration<double>>(
+                              ::aos::controls::kLoopFrequency).count();
       }
 
       // Bypass motion profiles while we are zeroing.
@@ -380,8 +384,9 @@
         LOG(DEBUG, "Zeroed the arm!\n");
       } else if (!disable) {
         arm_goal_velocity_ = arm_zeroing_velocity();
-        arm_goal_ +=
-            arm_goal_velocity_ * ::aos::controls::kLoopFrequency.ToSeconds();
+        arm_goal_ += arm_goal_velocity_ *
+                     chrono::duration_cast<chrono::duration<double>>(
+                         ::aos::controls::kLoopFrequency).count();
       }
 
       // Bypass motion profiles while we are zeroing.