Add stuff we have so far to wpilib_interface.
Change-Id: If880956affacf585d12f4df799f3c6426cf677f1
diff --git a/y2016/control_loops/superstructure/superstructure_controls.cc b/y2016/control_loops/superstructure/superstructure_controls.cc
index 7cd67e3..e43c245 100644
--- a/y2016/control_loops/superstructure/superstructure_controls.cc
+++ b/y2016/control_loops/superstructure/superstructure_controls.cc
@@ -84,18 +84,16 @@
}
void Intake::CapGoal(const char *name, Eigen::Matrix<double, 3, 1> *goal) {
- const auto &values = constants::GetValues();
-
// Limit the goal to min/max allowable angles.
- if ((*goal)(0, 0) >= values.intake.limits.upper) {
+ if ((*goal)(0, 0) >= constants::Values::kIntakeRange.upper) {
LOG(WARNING, "Intake goal %s above limit, %f > %f\n", name, (*goal)(0, 0),
- values.intake.limits.upper);
- (*goal)(0, 0) = values.intake.limits.upper;
+ constants::Values::kIntakeRange.upper);
+ (*goal)(0, 0) = constants::Values::kIntakeRange.upper;
}
- if ((*goal)(0, 0) <= values.intake.limits.lower) {
+ if ((*goal)(0, 0) <= constants::Values::kIntakeRange.lower) {
LOG(WARNING, "Intake goal %s below limit, %f < %f\n", name, (*goal)(0, 0),
- values.intake.limits.lower);
- (*goal)(0, 0) = values.intake.limits.lower;
+ constants::Values::kIntakeRange.lower);
+ (*goal)(0, 0) = constants::Values::kIntakeRange.lower;
}
}
@@ -133,13 +131,12 @@
}
bool Intake::CheckHardLimits() {
- const auto &values = constants::GetValues();
// Returns whether hard limits have been exceeded.
- if (angle() >= values.intake.limits.upper_hard ||
- angle() <= values.intake.limits.lower_hard) {
+ if (angle() >= constants::Values::kIntakeRange.upper_hard ||
+ angle() <= constants::Values::kIntakeRange.lower_hard) {
LOG(ERROR, "Intake at %f out of bounds [%f, %f], ESTOPing\n", angle(),
- values.intake.limits.lower_hard, values.intake.limits.upper_hard);
+ constants::Values::kIntakeRange.lower_hard, constants::Values::kIntakeRange.upper_hard);
return true;
}
@@ -255,30 +252,29 @@
void Arm::CapGoal(const char *name, Eigen::Matrix<double, 6, 1> *goal) {
// Limit the goals to min/max allowable angles.
- const auto &values = constants::GetValues();
- if ((*goal)(0, 0) >= values.shoulder.limits.upper) {
+ if ((*goal)(0, 0) >= constants::Values::kShoulderRange.upper) {
LOG(WARNING, "Shoulder goal %s above limit, %f > %f\n", name, (*goal)(0, 0),
- values.shoulder.limits.upper);
- (*goal)(0, 0) = values.shoulder.limits.upper;
+ constants::Values::kShoulderRange.upper);
+ (*goal)(0, 0) = constants::Values::kShoulderRange.upper;
}
- if ((*goal)(0, 0) <= values.shoulder.limits.lower) {
+ if ((*goal)(0, 0) <= constants::Values::kShoulderRange.lower) {
LOG(WARNING, "Shoulder goal %s below limit, %f < %f\n", name, (*goal)(0, 0),
- values.shoulder.limits.lower);
- (*goal)(0, 0) = values.shoulder.limits.lower;
+ constants::Values::kShoulderRange.lower);
+ (*goal)(0, 0) = constants::Values::kShoulderRange.lower;
}
const double wrist_goal_angle_ungrounded = (*goal)(2, 0) - (*goal)(0, 0);
- if (wrist_goal_angle_ungrounded >= values.wrist.limits.upper) {
+ if (wrist_goal_angle_ungrounded >= constants::Values::kWristRange.upper) {
LOG(WARNING, "Wrist goal %s above limit, %f > %f\n", name,
- wrist_goal_angle_ungrounded, values.wrist.limits.upper);
- (*goal)(2, 0) = values.wrist.limits.upper + (*goal)(0, 0);
+ wrist_goal_angle_ungrounded, constants::Values::kWristRange.upper);
+ (*goal)(2, 0) = constants::Values::kWristRange.upper + (*goal)(0, 0);
}
- if (wrist_goal_angle_ungrounded <= values.wrist.limits.lower) {
+ if (wrist_goal_angle_ungrounded <= constants::Values::kWristRange.lower) {
LOG(WARNING, "Wrist goal %s below limit, %f < %f\n", name,
- wrist_goal_angle_ungrounded, values.wrist.limits.lower);
- (*goal)(2, 0) = values.wrist.limits.lower + (*goal)(0, 0);
+ wrist_goal_angle_ungrounded, constants::Values::kWristRange.lower);
+ (*goal)(2, 0) = constants::Values::kWristRange.lower + (*goal)(0, 0);
}
}
@@ -313,20 +309,19 @@
}
bool Arm::CheckHardLimits() {
- const auto &values = constants::GetValues();
- if (shoulder_angle() >= values.shoulder.limits.upper_hard ||
- shoulder_angle() <= values.shoulder.limits.lower_hard) {
+ if (shoulder_angle() >= constants::Values::kShoulderRange.upper_hard ||
+ shoulder_angle() <= constants::Values::kShoulderRange.lower_hard) {
LOG(ERROR, "Shoulder at %f out of bounds [%f, %f], ESTOPing\n",
- shoulder_angle(), values.shoulder.limits.lower_hard,
- values.shoulder.limits.upper_hard);
+ shoulder_angle(), constants::Values::kShoulderRange.lower_hard,
+ constants::Values::kShoulderRange.upper_hard);
return true;
}
- if (wrist_angle() - shoulder_angle() >= values.wrist.limits.upper_hard ||
- wrist_angle() - shoulder_angle() <= values.wrist.limits.lower_hard) {
+ if (wrist_angle() - shoulder_angle() >= constants::Values::kWristRange.upper_hard ||
+ wrist_angle() - shoulder_angle() <= constants::Values::kWristRange.lower_hard) {
LOG(ERROR, "Wrist at %f out of bounds [%f, %f], ESTOPing\n",
- wrist_angle() - shoulder_angle(), values.wrist.limits.lower_hard,
- values.wrist.limits.upper_hard);
+ wrist_angle() - shoulder_angle(), constants::Values::kWristRange.lower_hard,
+ constants::Values::kWristRange.upper_hard);
return true;
}