Third robot commit.
All tests pass!
Change-Id: I086248537f075fd06afdfb3e94670eb7646aaf6c
diff --git a/frc971/control_loops/drivetrain/drivetrain.cc b/frc971/control_loops/drivetrain/drivetrain.cc
index f2b14a9..5757b58 100644
--- a/frc971/control_loops/drivetrain/drivetrain.cc
+++ b/frc971/control_loops/drivetrain/drivetrain.cc
@@ -107,6 +107,8 @@
right_gear_ = ComputeGear(position->right_shifter_position,
dt_config_.right_drive, right_high_requested_);
break;
+ case ShifterType::NO_SHIFTER:
+ break;
}
kf_.set_controller_index(ControllerIndexFromGears());
diff --git a/frc971/control_loops/drivetrain/drivetrain_config.h b/frc971/control_loops/drivetrain/drivetrain_config.h
index ea76ca9..24cc628 100644
--- a/frc971/control_loops/drivetrain/drivetrain_config.h
+++ b/frc971/control_loops/drivetrain/drivetrain_config.h
@@ -12,11 +12,12 @@
enum class ShifterType : int32_t {
HALL_EFFECT_SHIFTER = 0, // Detect when inbetween gears.
- SIMPLE_SHIFTER = 1, // Switch gears without speedmatch logic.
+ SIMPLE_SHIFTER = 1, // Switch gears without speedmatch logic.
+ NO_SHIFTER = 2, // Only one gear ratio.
};
enum class LoopType : int32_t {
- OPEN_LOOP = 0, // Only use open loop logic.
+ OPEN_LOOP = 0, // Only use open loop logic.
CLOSED_LOOP = 1, // Add in closed loop calculation.
};
@@ -32,10 +33,10 @@
::std::function<StateFeedbackLoop<2, 2, 2>()> make_v_drivetrain_loop;
::std::function<StateFeedbackLoop<7, 2, 3>()> make_kf_drivetrain_loop;
- double dt; // Control loop time step.
+ double dt; // Control loop time step.
double robot_radius; // Robot radius, in meters.
double wheel_radius; // Wheel radius, in meters.
- double v; // Motor velocity constant.
+ double v; // Motor velocity constant.
// Gear ratios, from wheel to motor shaft.
double high_gear_ratio;