made the angle adjust deadband voltage changeable per robot
diff --git a/frc971/constants.cpp b/frc971/constants.cpp
index 989b77e..bb12ac2 100644
--- a/frc971/constants.cpp
+++ b/frc971/constants.cpp
@@ -61,6 +61,9 @@
const double kAngleAdjustZeroingSpeed = -0.2;
const double kAngleAdjustZeroingOffSpeed = -0.5;
+const double kPracticeAngleAdjustDeadband = 0.825;
+const double kCompAngleAdjustDeadband = 0.825;
+
const int kCompCameraCenter = -2;
const int kPracticeCameraCenter = -5;
@@ -98,6 +101,9 @@
// Zeroing off speed.
double angle_adjust_zeroing_off_speed;
+ // Deadband voltage.
+ double angle_adjust_deadband;
+
// what camera_center returns
int camera_center;
};
@@ -129,6 +135,7 @@
kCompAngleAdjustLowerPhysicalLimit,
kAngleAdjustZeroingSpeed,
kAngleAdjustZeroingOffSpeed,
+ kCompAngleAdjustDeadband,
kCompCameraCenter};
break;
case kPracticeTeamNumber:
@@ -148,6 +155,7 @@
kPracticeAngleAdjustLowerPhysicalLimit,
kAngleAdjustZeroingSpeed,
kAngleAdjustZeroingOffSpeed,
+ kPracticeAngleAdjustDeadband,
kPracticeCameraCenter};
break;
default:
@@ -271,6 +279,13 @@
return true;
}
+bool angle_adjust_deadband(double *voltage) {
+ const Values *const values = GetValues();
+ if (values == NULL) return false;
+ *voltage = values->angle_adjust_deadband;
+ return true;
+}
+
bool camera_center(int *center) {
const Values *const values = GetValues();
if (values == NULL) return false;
diff --git a/frc971/constants.h b/frc971/constants.h
index 296a4f4..6a14e87 100644
--- a/frc971/constants.h
+++ b/frc971/constants.h
@@ -40,6 +40,9 @@
bool angle_adjust_zeroing_speed(double *speed);
bool angle_adjust_zeroing_off_speed(double *speed);
+// Returns the deadband voltage to use.
+bool angle_adjust_deadband(double *voltage);
+
// Sets *center to how many pixels off center the vertical line
// on the camera view is.
bool camera_center(int *center);
diff --git a/frc971/control_loops/angle_adjust/angle_adjust.cc b/frc971/control_loops/angle_adjust/angle_adjust.cc
index 52baebb..3ecafa6 100644
--- a/frc971/control_loops/angle_adjust/angle_adjust.cc
+++ b/frc971/control_loops/angle_adjust/angle_adjust.cc
@@ -49,7 +49,10 @@
}
config_data->max_zeroing_voltage = 4.0;
- config_data->deadband_voltage = 0.825;
+ if (!constants::angle_adjust_deadband(&config_data->deadband_voltage)) {
+ LOG(ERROR, "Failed to fetch the angle adjust deadband voltage constant.\n");
+ return false;
+ }
return true;
}