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.