Swap SZSDPS to use ProfileParametersT
Change-Id: I1af9552a0c95d38d6b43f03444c1416f3314f4d0
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem.h b/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem.h
index 65135d2..5c94bd5 100644
--- a/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem.h
+++ b/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem.h
@@ -6,12 +6,6 @@
namespace frc971 {
namespace control_loops {
-// TODO(austin): Use ProfileParametersT...
-struct ProfileParametersStruct {
- float max_velocity;
- float max_acceleration;
-};
-
template <typename ZeroingEstimator>
struct StaticZeroingSingleDOFProfiledSubsystemParams {
// Maximum voltage while the subsystem is zeroing
@@ -21,16 +15,16 @@
double operating_voltage;
// Maximum velocity (units/s) and acceleration while State::ZEROING
- ProfileParametersStruct zeroing_profile_params;
+ ProfileParametersT zeroing_profile_params;
// Maximum velocity (units/s) and acceleration while State::RUNNING if max
// velocity or acceleration in goal profile_params is 0
- ProfileParametersStruct default_profile_params;
+ ProfileParametersT default_profile_params;
// Maximum range of the subsystem in meters
::frc971::constants::Range range;
- // Zeroing constants for PotAndABsoluteEncoder estimator
+ // Zeroing constants for the estimator
typename ZeroingEstimator::ZeroingConstants zeroing_constants;
// Function that makes the integral loop for the subsystem
diff --git a/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem_test.cc b/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem_test.cc
index f9dfd8d..1fd9049 100644
--- a/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem_test.cc
+++ b/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem_test.cc
@@ -95,14 +95,14 @@
template <typename ZeroingEstimator>
const StaticZeroingSingleDOFProfiledSubsystemParams<ZeroingEstimator>
TestIntakeSystemValues<ZeroingEstimator>::make_params() {
- StaticZeroingSingleDOFProfiledSubsystemParams<ZeroingEstimator> params(
- {kZeroingVoltage,
- kOperatingVoltage,
- {0.1, 1.0},
- {0.3, 5.0},
- kRange,
- TestIntakeSystemValues::kZeroing,
- &MakeIntegralTestIntakeSystemLoop});
+ StaticZeroingSingleDOFProfiledSubsystemParams<ZeroingEstimator> params{
+ kZeroingVoltage,
+ kOperatingVoltage,
+ {{}, 0.1, 1.0},
+ {{}, 0.3, 5.0},
+ kRange,
+ TestIntakeSystemValues::kZeroing,
+ &MakeIntegralTestIntakeSystemLoop};
return params;
}
diff --git a/y2019/constants.cc b/y2019/constants.cc
index 380899a..0332252 100644
--- a/y2019/constants.cc
+++ b/y2019/constants.cc
@@ -77,8 +77,8 @@
// Elevator constants.
elevator_params->zeroing_voltage = 3.0;
elevator_params->operating_voltage = 12.0;
- elevator_params->zeroing_profile_params = {0.1, 1.0};
- elevator_params->default_profile_params = {4.0, 13.0};
+ elevator_params->zeroing_profile_params = {{}, 0.1, 1.0};
+ elevator_params->default_profile_params = {{}, 4.0, 13.0};
elevator_params->range = Values::kElevatorRange();
elevator_params->make_integral_loop =
&control_loops::superstructure::elevator::MakeIntegralElevatorLoop;
@@ -93,8 +93,8 @@
// Wrist constants.
wrist_params->zeroing_voltage = 4.0;
wrist_params->operating_voltage = 12.0;
- wrist_params->zeroing_profile_params = {0.5, 2.0};
- wrist_params->default_profile_params = {10.0, 40.0};
+ wrist_params->zeroing_profile_params = {{}, 0.5, 2.0};
+ wrist_params->default_profile_params = {{}, 10.0, 40.0};
wrist_params->range = Values::kWristRange();
wrist_params->make_integral_loop =
&control_loops::superstructure::wrist::MakeIntegralWristLoop;
@@ -109,8 +109,8 @@
// Intake constants.
intake->zeroing_voltage = 3.0;
intake->operating_voltage = 12.0;
- intake->zeroing_profile_params = {0.5, 3.0};
- intake->default_profile_params = {6.0, 30.0};
+ intake->zeroing_profile_params = {{}, 0.5, 3.0};
+ intake->default_profile_params = {{}, 6.0, 30.0};
intake->range = Values::kIntakeRange();
intake->make_integral_loop =
control_loops::superstructure::intake::MakeIntegralIntakeLoop;
@@ -125,8 +125,8 @@
// Stilts constants.
stilts_params->zeroing_voltage = 3.0;
stilts_params->operating_voltage = 12.0;
- stilts_params->zeroing_profile_params = {0.1, 0.5};
- stilts_params->default_profile_params = {0.15, 0.5};
+ stilts_params->zeroing_profile_params = {{}, 0.1, 0.5};
+ stilts_params->default_profile_params = {{}, 0.15, 0.5};
stilts_params->range = Values::kStiltsRange();
stilts_params->make_integral_loop =
&control_loops::superstructure::stilts::MakeIntegralStiltsLoop;
diff --git a/y2020/constants.cc b/y2020/constants.cc
index 6218f9b..e30ef0e 100644
--- a/y2020/constants.cc
+++ b/y2020/constants.cc
@@ -57,8 +57,8 @@
// Hood constants.
hood->zeroing_voltage = 2.0;
hood->operating_voltage = 12.0;
- hood->zeroing_profile_params = {0.5, 3.0};
- hood->default_profile_params = {6.0, 30.0};
+ hood->zeroing_profile_params = {{}, 0.5, 3.0};
+ hood->default_profile_params = {{}, 6.0, 30.0};
hood->range = Values::kHoodRange();
hood->make_integral_loop =
control_loops::superstructure::hood::MakeIntegralHoodLoop;
@@ -90,8 +90,8 @@
// Intake constants.
intake->zeroing_voltage = 3.0;
intake->operating_voltage = 12.0;
- intake->zeroing_profile_params = {0.5, 3.0};
- intake->default_profile_params = {6.0, 30.0};
+ intake->zeroing_profile_params = {{}, 0.5, 3.0};
+ intake->default_profile_params = {{}, 6.0, 30.0};
intake->range = Values::kIntakeRange();
intake->make_integral_loop =
control_loops::superstructure::intake::MakeIntegralIntakeLoop;
@@ -112,8 +112,8 @@
turret_params->zeroing_voltage = 4.0;
turret_params->operating_voltage = 8.0;
// TODO(austin): Tune these.
- turret_params->zeroing_profile_params = {0.5, 2.0};
- turret_params->default_profile_params = {15.0, 40.0};
+ turret_params->zeroing_profile_params = {{}, 0.5, 2.0};
+ turret_params->default_profile_params = {{}, 15.0, 40.0};
turret_params->range = Values::kTurretRange();
turret_params->make_integral_loop =
&control_loops::superstructure::turret::MakeIntegralTurretLoop;
diff --git a/y2022/constants.cc b/y2022/constants.cc
index 8ba3367..04ca14c 100644
--- a/y2022/constants.cc
+++ b/y2022/constants.cc
@@ -39,8 +39,8 @@
intake_params.zeroing_voltage = 3.0;
intake_params.operating_voltage = 12.0;
- intake_params.zeroing_profile_params = {0.5, 3.0};
- intake_params.default_profile_params = {6.0, 30.0};
+ intake_params.zeroing_profile_params = {{}, 0.5, 3.0};
+ intake_params.default_profile_params = {{}, 6.0, 30.0};
intake_params.range = Values::kIntakeRange();
intake_params.make_integral_loop =
control_loops::superstructure::intake::MakeIntegralIntakeLoop;
@@ -70,9 +70,9 @@
turret_params->zeroing_voltage = 4.0;
turret_params->operating_voltage = 12.0;
- turret_params->zeroing_profile_params = {0.5, 2.0};
- turret_params->default_profile_params = {10.0, 20.0};
- turret_params->default_profile_params = {15.0, 20.0};
+ turret_params->zeroing_profile_params = {{}, 0.5, 2.0};
+ turret_params->default_profile_params = {{}, 10.0, 20.0};
+ turret_params->default_profile_params = {{}, 15.0, 20.0};
turret_params->range = *turret_range;
turret_params->make_integral_loop =
control_loops::superstructure::turret::MakeIntegralTurretLoop;
@@ -89,8 +89,8 @@
auto *const climber = &r.climber;
climber->subsystem_params.zeroing_voltage = 3.0;
climber->subsystem_params.operating_voltage = 12.0;
- climber->subsystem_params.zeroing_profile_params = {0.5, 0.1};
- climber->subsystem_params.default_profile_params = {5.0, 1.0};
+ climber->subsystem_params.zeroing_profile_params = {{}, 0.5, 0.1};
+ climber->subsystem_params.default_profile_params = {{}, 5.0, 1.0};
climber->subsystem_params.range = Values::kClimberRange();
climber->subsystem_params.make_integral_loop =
control_loops::superstructure::climber::MakeIntegralClimberLoop;
@@ -99,8 +99,8 @@
Values::PotConstants flipper_arms;
flipper_arms.subsystem_params.zeroing_voltage = 3.0;
flipper_arms.subsystem_params.operating_voltage = 12.0;
- flipper_arms.subsystem_params.zeroing_profile_params = {0.5, 0.1};
- flipper_arms.subsystem_params.default_profile_params = {6.0, 1.0};
+ flipper_arms.subsystem_params.zeroing_profile_params = {{}, 0.5, 0.1};
+ flipper_arms.subsystem_params.default_profile_params = {{}, 6.0, 1.0};
flipper_arms.subsystem_params.range = Values::kFlipperArmRange();
auto *const flipper_arm_right = &r.flipper_arm_right;
@@ -119,8 +119,8 @@
catapult_params->zeroing_voltage = 4.0;
catapult_params->operating_voltage = 12.0;
- catapult_params->zeroing_profile_params = {0.5, 2.0};
- catapult_params->default_profile_params = {15.0, 40.0};
+ catapult_params->zeroing_profile_params = {{}, 0.5, 2.0};
+ catapult_params->default_profile_params = {{}, 15.0, 40.0};
catapult_params->range = Values::kCatapultRange();
catapult_params->make_integral_loop =
&control_loops::superstructure::catapult::MakeIntegralCatapultLoop;
diff --git a/y2022_bot3/constants.cc b/y2022_bot3/constants.cc
index 82982aa..ef5ad32 100644
--- a/y2022_bot3/constants.cc
+++ b/y2022_bot3/constants.cc
@@ -44,8 +44,8 @@
intake_params.zeroing_voltage = 3.0;
intake_params.operating_voltage = 12.0;
- intake_params.zeroing_profile_params = {0.5, 3.0};
- intake_params.default_profile_params = {6.0, 30.0};
+ intake_params.zeroing_profile_params = {{}, 0.5, 3.0};
+ intake_params.default_profile_params = {{}, 6.0, 30.0};
intake_params.range = Values::kIntakeRange();
intake_params.make_integral_loop =
control_loops::superstructure::intake::MakeIntegralIntakeLoop;
@@ -66,8 +66,8 @@
climber_params.zeroing_voltage = 3.0;
climber_params.operating_voltage = 12.0;
- climber_params.zeroing_profile_params = {0.5, 0.1};
- climber_params.default_profile_params = {5.0, 1.0};
+ climber_params.zeroing_profile_params = {{}, 0.5, 0.1};
+ climber_params.default_profile_params = {{}, 5.0, 1.0};
climber_params.range = Values::kClimberRange();
climber_params.make_integral_loop =
control_loops::superstructure::climber::MakeIntegralClimberLoop;
diff --git a/y2023/constants.cc b/y2023/constants.cc
index dcce935..6b63cda 100644
--- a/y2023/constants.cc
+++ b/y2023/constants.cc
@@ -49,8 +49,8 @@
wrist->subsystem_params.zeroing_voltage = 3.0;
wrist->subsystem_params.operating_voltage = 12.0;
- wrist->subsystem_params.zeroing_profile_params = {0.5, 3.0};
- wrist->subsystem_params.default_profile_params = {0.5, 5.0};
+ wrist->subsystem_params.zeroing_profile_params = {{}, 0.5, 3.0};
+ wrist->subsystem_params.default_profile_params = {{}, 0.5, 5.0};
wrist->subsystem_params.range = Values::kCompWristRange();
wrist->subsystem_params.make_integral_loop =
control_loops::superstructure::wrist::MakeIntegralWristLoop;