Switch to c++11 enums for flatbuffers
Change-Id: I99171464bf54efbb7eb322c556760dee86648f5e
diff --git a/aos/flatbuffer_introspection_test.cc b/aos/flatbuffer_introspection_test.cc
index 54a2ab2..893b402 100644
--- a/aos/flatbuffer_introspection_test.cc
+++ b/aos/flatbuffer_introspection_test.cc
@@ -145,7 +145,7 @@
flatbuffers::FlatBufferBuilder builder;
ConfigurationBuilder config_builder(builder);
- config_builder.add_foo_enum(BaseType_UShort);
+ config_builder.add_foo_enum(BaseType::UShort);
builder.Finish(config_builder.Finish());
@@ -271,11 +271,12 @@
TEST_F(FlatbufferIntrospectionTest, VectorEnumTest) {
flatbuffers::FlatBufferBuilder builder;
- auto enums = builder.CreateVector<int8_t>(
- {BaseType_UShort, BaseType_Obj, BaseType_UInt});
+ auto enums = builder.CreateVector<BaseType>(
+ {BaseType::UShort, BaseType::Obj, BaseType::UInt});
ConfigurationBuilder config_builder(builder);
- config_builder.add_vector_foo_enum(enums);
+ config_builder.add_vector_foo_enum(
+ flatbuffers::Offset<flatbuffers::Vector<int8_t>>(enums.o));
builder.Finish(config_builder.Finish());
@@ -287,7 +288,7 @@
TEST_F(FlatbufferIntrospectionTest, StructEnumTest) {
flatbuffers::FlatBufferBuilder builder;
- StructEnum foo_struct(BaseType_UShort);
+ StructEnum foo_struct(BaseType::UShort);
ConfigurationBuilder config_builder(builder);
config_builder.add_foo_struct_enum(&foo_struct);
diff --git a/aos/input/drivetrain_input.cc b/aos/input/drivetrain_input.cc
index 687c8bb..8860c4d 100644
--- a/aos/input/drivetrain_input.cc
+++ b/aos/input/drivetrain_input.cc
@@ -108,9 +108,9 @@
goal_builder.add_quickturn(data.IsPressed(quick_turn_));
goal_builder.add_controller_type(
is_line_following
- ? drivetrain::ControllerType_LINE_FOLLOWER
- : (is_control_loop_driving ? drivetrain::ControllerType_MOTION_PROFILE
- : drivetrain::ControllerType_POLYDRIVE));
+ ? drivetrain::ControllerType::LINE_FOLLOWER
+ : (is_control_loop_driving ? drivetrain::ControllerType::MOTION_PROFILE
+ : drivetrain::ControllerType::POLYDRIVE));
goal_builder.add_left_goal(current_left_goal);
goal_builder.add_right_goal(current_right_goal);
goal_builder.add_linear(linear_offset);
diff --git a/frc971/autonomous/base_autonomous_actor.cc b/frc971/autonomous/base_autonomous_actor.cc
index dee2931..27b63cc 100644
--- a/frc971/autonomous/base_autonomous_actor.cc
+++ b/frc971/autonomous/base_autonomous_actor.cc
@@ -47,7 +47,7 @@
drivetrain::Goal::Builder goal_builder =
builder.MakeBuilder<drivetrain::Goal>();
- goal_builder.add_controller_type(drivetrain::ControllerType_POLYDRIVE);
+ goal_builder.add_controller_type(drivetrain::ControllerType::POLYDRIVE);
goal_builder.add_highgear(true);
goal_builder.add_wheel(0.0);
goal_builder.add_throttle(0.0);
@@ -85,7 +85,7 @@
drivetrain::Goal::Builder goal_builder =
builder.MakeBuilder<drivetrain::Goal>();
- goal_builder.add_controller_type(drivetrain::ControllerType_MOTION_PROFILE);
+ goal_builder.add_controller_type(drivetrain::ControllerType::MOTION_PROFILE);
goal_builder.add_highgear(true);
goal_builder.add_wheel(0.0);
goal_builder.add_throttle(0.0);
@@ -420,7 +420,7 @@
drivetrain::Goal::Builder goal_builder =
builder.MakeBuilder<drivetrain::Goal>();
goal_builder.add_controller_type(
- drivetrain::ControllerType_SPLINE_FOLLOWER);
+ drivetrain::ControllerType::SPLINE_FOLLOWER);
// TODO(james): Currently the 4.0 is copied from the
// line_follow_drivetrain.cc, but it is somewhat year-specific, so we should
// factor it out in some way.
@@ -469,7 +469,7 @@
builder.MakeBuilder<drivetrain::Goal>();
drivetrain::ControllerType controller_type =
- drivetrain::ControllerType_SPLINE_FOLLOWER;
+ drivetrain::ControllerType::SPLINE_FOLLOWER;
if (drivetrain_goal_fetcher_.get()) {
controller_type = drivetrain_goal_fetcher_->controller_type();
goal_builder.add_throttle(drivetrain_goal_fetcher_->throttle());
@@ -493,7 +493,7 @@
((base_autonomous_actor_->drivetrain_status_fetcher_->trajectory_logging()
->planning_spline_idx() == spline_handle_ &&
base_autonomous_actor_->drivetrain_status_fetcher_->trajectory_logging()
- ->planning_state() == 3) ||
+ ->planning_state() == drivetrain::PlanningState::PLANNED) ||
base_autonomous_actor_->drivetrain_status_fetcher_->trajectory_logging()
->current_spline_idx() == spline_handle_)) {
return true;
@@ -521,7 +521,7 @@
auto builder = base_autonomous_actor_->drivetrain_goal_sender_.MakeBuilder();
drivetrain::Goal::Builder goal_builder =
builder.MakeBuilder<drivetrain::Goal>();
- goal_builder.add_controller_type(drivetrain::ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(drivetrain::ControllerType::SPLINE_FOLLOWER);
AOS_LOG(INFO, "Starting spline\n");
diff --git a/frc971/autonomous/base_autonomous_actor.h b/frc971/autonomous/base_autonomous_actor.h
index 09d9a0e..9444389 100644
--- a/frc971/autonomous/base_autonomous_actor.h
+++ b/frc971/autonomous/base_autonomous_actor.h
@@ -85,7 +85,7 @@
void LineFollowAtVelocity(
double velocity,
y2019::control_loops::drivetrain::SelectionHint hint =
- y2019::control_loops::drivetrain::SelectionHint_NONE);
+ y2019::control_loops::drivetrain::SelectionHint::NONE);
// Waits until the robot is pitched up above the specified angle, or the move
// finishes. Returns true on success, and false if it cancels.
diff --git a/frc971/control_loops/drivetrain/drivetrain.cc b/frc971/control_loops/drivetrain/drivetrain.cc
index 42f0935..63caaab 100644
--- a/frc971/control_loops/drivetrain/drivetrain.cc
+++ b/frc971/control_loops/drivetrain/drivetrain.cc
@@ -257,7 +257,7 @@
dt_openloop_.SetPosition(position, left_gear_, right_gear_);
- ControllerType controller_type = ControllerType_POLYDRIVE;
+ ControllerType controller_type = ControllerType::POLYDRIVE;
if (goal) {
controller_type = goal->controller_type();
@@ -271,7 +271,7 @@
dt_openloop_.Update(robot_state().voltage_battery());
dt_closedloop_.Update(output != nullptr &&
- controller_type == ControllerType_MOTION_PROFILE);
+ controller_type == ControllerType::MOTION_PROFILE);
const Eigen::Matrix<double, 5, 1> trajectory_state =
(Eigen::Matrix<double, 5, 1>() << localizer_->x(), localizer_->y(),
@@ -280,7 +280,7 @@
.finished();
dt_spline_.Update(
- output != nullptr && controller_type == ControllerType_SPLINE_FOLLOWER,
+ output != nullptr && controller_type == ControllerType::SPLINE_FOLLOWER,
trajectory_state);
dt_line_follow_.Update(monotonic_now, trajectory_state);
@@ -288,16 +288,16 @@
OutputT output_struct;
switch (controller_type) {
- case ControllerType_POLYDRIVE:
+ case ControllerType::POLYDRIVE:
dt_openloop_.SetOutput(output != nullptr ? &output_struct : nullptr);
break;
- case ControllerType_MOTION_PROFILE:
+ case ControllerType::MOTION_PROFILE:
dt_closedloop_.SetOutput(output != nullptr ? &output_struct : nullptr);
break;
- case ControllerType_SPLINE_FOLLOWER:
+ case ControllerType::SPLINE_FOLLOWER:
dt_spline_.SetOutput(output != nullptr ? &output_struct : nullptr);
break;
- case ControllerType_LINE_FOLLOWER:
+ case ControllerType::LINE_FOLLOWER:
if (!dt_line_follow_.SetOutput(output != nullptr ? &output_struct
: nullptr)) {
// If the line follow drivetrain was unable to execute (generally due to
diff --git a/frc971/control_loops/drivetrain/drivetrain_lib_test.cc b/frc971/control_loops/drivetrain/drivetrain_lib_test.cc
index 05b870b..3b668dd 100644
--- a/frc971/control_loops/drivetrain/drivetrain_lib_test.cc
+++ b/frc971/control_loops/drivetrain/drivetrain_lib_test.cc
@@ -93,8 +93,7 @@
RunFor(dt());
EXPECT_TRUE(drivetrain_status_fetcher_.Fetch());
} while (CHECK_NOTNULL(drivetrain_status_fetcher_->trajectory_logging())
- ->planning_state() !=
- (int8_t)SplineDrivetrain::PlanState::kPlannedTrajectory);
+ ->planning_state() != PlanningState::PLANNED);
}
void WaitForTrajectoryExecution() {
@@ -132,7 +131,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_MOTION_PROFILE);
+ goal_builder.add_controller_type(ControllerType::MOTION_PROFILE);
goal_builder.add_left_goal(-1.0);
goal_builder.add_right_goal(1.0);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -148,7 +147,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_MOTION_PROFILE);
+ goal_builder.add_controller_type(ControllerType::MOTION_PROFILE);
goal_builder.add_left_goal(-1.0);
goal_builder.add_right_goal(1.0);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -164,7 +163,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_MOTION_PROFILE);
+ goal_builder.add_controller_type(ControllerType::MOTION_PROFILE);
goal_builder.add_left_goal(-1.0);
goal_builder.add_right_goal(1.0);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -194,7 +193,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_MOTION_PROFILE);
+ goal_builder.add_controller_type(ControllerType::MOTION_PROFILE);
goal_builder.add_left_goal(4.0);
goal_builder.add_right_goal(4.0);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -218,7 +217,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_MOTION_PROFILE);
+ goal_builder.add_controller_type(ControllerType::MOTION_PROFILE);
goal_builder.add_left_goal(4.0);
goal_builder.add_right_goal(3.9);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -277,7 +276,7 @@
angular_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_MOTION_PROFILE);
+ goal_builder.add_controller_type(ControllerType::MOTION_PROFILE);
goal_builder.add_left_goal(4.0);
goal_builder.add_right_goal(4.0);
goal_builder.add_linear(linear_offset);
@@ -318,7 +317,7 @@
angular_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_MOTION_PROFILE);
+ goal_builder.add_controller_type(ControllerType::MOTION_PROFILE);
goal_builder.add_left_goal(-1.0);
goal_builder.add_right_goal(1.0);
goal_builder.add_linear(linear_offset);
@@ -359,7 +358,7 @@
angular_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_MOTION_PROFILE);
+ goal_builder.add_controller_type(ControllerType::MOTION_PROFILE);
goal_builder.add_left_goal(5.0);
goal_builder.add_right_goal(4.0);
goal_builder.add_linear(linear_offset);
@@ -381,7 +380,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_POLYDRIVE);
+ goal_builder.add_controller_type(ControllerType::POLYDRIVE);
goal_builder.add_wheel(0.0);
goal_builder.add_throttle(1.0);
goal_builder.add_highgear(true);
@@ -394,7 +393,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_POLYDRIVE);
+ goal_builder.add_controller_type(ControllerType::POLYDRIVE);
goal_builder.add_wheel(0.0);
goal_builder.add_throttle(-0.3);
goal_builder.add_highgear(true);
@@ -407,7 +406,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_POLYDRIVE);
+ goal_builder.add_controller_type(ControllerType::POLYDRIVE);
goal_builder.add_wheel(0.0);
goal_builder.add_throttle(0.0);
goal_builder.add_highgear(true);
@@ -434,7 +433,7 @@
angular_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_MOTION_PROFILE);
+ goal_builder.add_controller_type(ControllerType::MOTION_PROFILE);
goal_builder.add_left_goal(5.0);
goal_builder.add_right_goal(4.0);
goal_builder.add_linear(linear_offset);
@@ -483,7 +482,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -493,7 +492,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -532,7 +531,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -541,7 +540,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -597,7 +596,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -637,7 +636,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -655,7 +654,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(0);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -700,7 +699,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -718,7 +717,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(0);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -728,7 +727,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -773,7 +772,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -782,7 +781,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -822,7 +821,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -831,7 +830,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -872,7 +871,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -881,7 +880,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -920,7 +919,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -929,7 +928,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -966,7 +965,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -976,7 +975,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(2);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -1014,7 +1013,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(1);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -1027,7 +1026,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(0);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -1060,7 +1059,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
goal_builder.add_spline_handle(2);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -1101,7 +1100,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
goal_builder.add_spline_handle(0);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -1137,7 +1136,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
goal_builder.add_spline_handle(0);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -1148,7 +1147,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(2);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -1187,7 +1186,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -1220,7 +1219,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
@@ -1231,7 +1230,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(2);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -1269,7 +1268,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -1280,7 +1279,7 @@
drivetrain_status_fetcher_.Fetch();
EXPECT_EQ(CHECK_NOTNULL(drivetrain_status_fetcher_->trajectory_logging())
->planning_state(),
- 3);
+ PlanningState::PLANNED);
::std::this_thread::sleep_for(::std::chrono::milliseconds(2));
}
VerifyNearSplineGoal();
@@ -1315,7 +1314,7 @@
spline_goal_builder.Finish();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline(spline_goal_offset);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -1326,7 +1325,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_SPLINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(1);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -1344,7 +1343,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_LINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::LINE_FOLLOWER);
goal_builder.add_throttle(0.5);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
@@ -1381,7 +1380,7 @@
{
auto builder = drivetrain_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- goal_builder.add_controller_type(ControllerType_LINE_FOLLOWER);
+ goal_builder.add_controller_type(ControllerType::LINE_FOLLOWER);
goal_builder.add_throttle(0.5);
EXPECT_TRUE(builder.Send(goal_builder.Finish()));
}
diff --git a/frc971/control_loops/drivetrain/line_follow_drivetrain.cc b/frc971/control_loops/drivetrain/line_follow_drivetrain.cc
index 7c92f8b..1e2c76f 100644
--- a/frc971/control_loops/drivetrain/line_follow_drivetrain.cc
+++ b/frc971/control_loops/drivetrain/line_follow_drivetrain.cc
@@ -115,7 +115,7 @@
// Freeze the target once the driver presses the button; if we haven't yet
// confirmed a target when the driver presses the button, we will not do
// anything and report not ready until we have a target.
- if (goal->controller_type() == drivetrain::ControllerType_LINE_FOLLOWER) {
+ if (goal->controller_type() == drivetrain::ControllerType::LINE_FOLLOWER) {
last_enable_ = now;
// If we already acquired a target, we want to keep track if it.
if (have_target_) {
diff --git a/frc971/control_loops/drivetrain/line_follow_drivetrain_test.cc b/frc971/control_loops/drivetrain/line_follow_drivetrain_test.cc
index bd45e92..180af4b 100644
--- a/frc971/control_loops/drivetrain/line_follow_drivetrain_test.cc
+++ b/frc971/control_loops/drivetrain/line_follow_drivetrain_test.cc
@@ -55,8 +55,8 @@
Goal::Builder goal_builder(fbb);
goal_builder.add_throttle(driver_model_(state_));
goal_builder.add_controller_type(freeze_target_
- ? ControllerType_LINE_FOLLOWER
- : ControllerType_POLYDRIVE);
+ ? ControllerType::LINE_FOLLOWER
+ : ControllerType::POLYDRIVE);
fbb.Finish(goal_builder.Finish());
aos::FlatbufferDetachedBuffer<Goal> goal(fbb.Release());
diff --git a/frc971/control_loops/drivetrain/splinedrivetrain.cc b/frc971/control_loops/drivetrain/splinedrivetrain.cc
index bfd0c96..2790978 100644
--- a/frc971/control_loops/drivetrain/splinedrivetrain.cc
+++ b/frc971/control_loops/drivetrain/splinedrivetrain.cc
@@ -42,7 +42,7 @@
past_distance_spline_.reset();
past_trajectory_.reset();
- plan_state_ = PlanningState_BUILDING_TRAJECTORY;
+ plan_state_ = PlanningState::BUILDING_TRAJECTORY;
future_spline_idx_ = goal_.spline_idx;
planning_spline_idx_ = future_spline_idx_;
const MultiSpline &multispline = goal_.spline;
@@ -70,28 +70,28 @@
for (size_t i = 0; i < multispline.constraints.size(); ++i) {
const ::frc971::ConstraintT &constraint = multispline.constraints[i];
switch (constraint.constraint_type) {
- case frc971::ConstraintType_CONSTRAINT_TYPE_UNDEFINED:
+ case frc971::ConstraintType::CONSTRAINT_TYPE_UNDEFINED:
break;
- case frc971::ConstraintType_LONGITUDINAL_ACCELERATION:
+ case frc971::ConstraintType::LONGITUDINAL_ACCELERATION:
future_trajectory_->set_longitudinal_acceleration(constraint.value);
break;
- case frc971::ConstraintType_LATERAL_ACCELERATION:
+ case frc971::ConstraintType::LATERAL_ACCELERATION:
future_trajectory_->set_lateral_acceleration(constraint.value);
break;
- case frc971::ConstraintType_VOLTAGE:
+ case frc971::ConstraintType::VOLTAGE:
future_trajectory_->set_voltage_limit(constraint.value);
break;
- case frc971::ConstraintType_VELOCITY:
+ case frc971::ConstraintType::VELOCITY:
future_trajectory_->LimitVelocity(constraint.start_distance,
constraint.end_distance,
constraint.value);
break;
}
}
- plan_state_ = PlanningState_PLANNING_TRAJECTORY;
+ plan_state_ = PlanningState::PLANNING_TRAJECTORY;
future_trajectory_->Plan();
- plan_state_ = PlanningState_PLANNED;
+ plan_state_ = PlanningState::PLANNED;
}
}
@@ -137,7 +137,7 @@
&goal_.spline.constraints[i]);
} else {
goal_.spline.constraints[i].constraint_type =
- ConstraintType_CONSTRAINT_TYPE_UNDEFINED;
+ ConstraintType::CONSTRAINT_TYPE_UNDEFINED;
}
}
diff --git a/frc971/control_loops/drivetrain/splinedrivetrain.h b/frc971/control_loops/drivetrain/splinedrivetrain.h
index 4f21b29..b28334c 100644
--- a/frc971/control_loops/drivetrain/splinedrivetrain.h
+++ b/frc971/control_loops/drivetrain/splinedrivetrain.h
@@ -95,7 +95,7 @@
bool enable_ = false;
bool output_was_capped_ = false;
- std::atomic<PlanningState> plan_state_ = {PlanningState_NO_PLAN};
+ std::atomic<PlanningState> plan_state_ = {PlanningState::NO_PLAN};
::std::thread worker_thread_;
// mutex_ is held by the worker thread while it is doing work or by the main
diff --git a/third_party/flatbuffers/build_defs.bzl b/third_party/flatbuffers/build_defs.bzl
index facb24b..da61852 100644
--- a/third_party/flatbuffers/build_defs.bzl
+++ b/third_party/flatbuffers/build_defs.bzl
@@ -22,6 +22,7 @@
"--reflect-names",
"--cpp-ptr-type flatbuffers::unique_ptr",
"--force-empty",
+ "--scoped-enums",
"--gen-name-strings",
]
diff --git a/y2016/actors/vision_align_actor.cc b/y2016/actors/vision_align_actor.cc
index e1c1892..ae05c70 100644
--- a/y2016/actors/vision_align_actor.cc
+++ b/y2016/actors/vision_align_actor.cc
@@ -74,7 +74,7 @@
goal_builder.add_highgear(false);
goal_builder.add_quickturn(false);
goal_builder.add_controller_type(
- frc971::control_loops::drivetrain::ControllerType_MOTION_PROFILE);
+ frc971::control_loops::drivetrain::ControllerType::MOTION_PROFILE);
goal_builder.add_left_goal(left_current + side_distance_change);
goal_builder.add_right_goal(right_current - side_distance_change);
diff --git a/y2019/actors/auto_splines.cc b/y2019/actors/auto_splines.cc
index 6166ca8..397229c 100644
--- a/y2019/actors/auto_splines.cc
+++ b/y2019/actors/auto_splines.cc
@@ -33,7 +33,7 @@
frc971::Constraint::Builder longitudinal_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
longitudinal_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LONGITUDINAL_ACCELERATION);
+ frc971::ConstraintType::LONGITUDINAL_ACCELERATION);
longitudinal_constraint_builder.add_value(2.0);
longitudinal_constraint_offset = longitudinal_constraint_builder.Finish();
}
@@ -42,7 +42,7 @@
frc971::Constraint::Builder lateral_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
lateral_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LATERAL_ACCELERATION);
+ frc971::ConstraintType::LATERAL_ACCELERATION);
lateral_constraint_builder.add_value(2.0);
lateral_constraint_offset = lateral_constraint_builder.Finish();
}
@@ -51,7 +51,7 @@
frc971::Constraint::Builder voltage_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
voltage_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VOLTAGE);
+ frc971::ConstraintType::VOLTAGE);
voltage_constraint_builder.add_value(11.0);
voltage_constraint_offset = voltage_constraint_builder.Finish();
}
@@ -60,7 +60,7 @@
frc971::Constraint::Builder velocity_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint_builder.add_value(4.0);
velocity_constraint_builder.add_start_distance(0.0);
velocity_constraint_builder.add_end_distance(10.0);
@@ -108,7 +108,7 @@
frc971::Constraint::Builder longitudinal_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
longitudinal_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LONGITUDINAL_ACCELERATION);
+ frc971::ConstraintType::LONGITUDINAL_ACCELERATION);
longitudinal_constraint_builder.add_value(3.0);
longitudinal_constraint_offset = longitudinal_constraint_builder.Finish();
}
@@ -117,7 +117,7 @@
frc971::Constraint::Builder lateral_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
lateral_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LATERAL_ACCELERATION);
+ frc971::ConstraintType::LATERAL_ACCELERATION);
lateral_constraint_builder.add_value(2.0);
lateral_constraint_offset = lateral_constraint_builder.Finish();
}
@@ -126,7 +126,7 @@
frc971::Constraint::Builder voltage_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
voltage_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VOLTAGE);
+ frc971::ConstraintType::VOLTAGE);
voltage_constraint_builder.add_value(11.0);
voltage_constraint_offset = voltage_constraint_builder.Finish();
}
@@ -135,7 +135,7 @@
frc971::Constraint::Builder velocity_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint_builder.add_value(4.5);
velocity_constraint_builder.add_start_distance(0.0);
velocity_constraint_builder.add_end_distance(10.0);
@@ -181,7 +181,7 @@
frc971::Constraint::Builder longitudinal_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
longitudinal_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LONGITUDINAL_ACCELERATION);
+ frc971::ConstraintType::LONGITUDINAL_ACCELERATION);
longitudinal_constraint_builder.add_value(3.0);
longitudinal_constraint_offset = longitudinal_constraint_builder.Finish();
}
@@ -190,7 +190,7 @@
frc971::Constraint::Builder lateral_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
lateral_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LATERAL_ACCELERATION);
+ frc971::ConstraintType::LATERAL_ACCELERATION);
lateral_constraint_builder.add_value(3.0);
lateral_constraint_offset = lateral_constraint_builder.Finish();
}
@@ -199,7 +199,7 @@
frc971::Constraint::Builder voltage_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
voltage_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VOLTAGE);
+ frc971::ConstraintType::VOLTAGE);
voltage_constraint_builder.add_value(11.0);
voltage_constraint_offset = voltage_constraint_builder.Finish();
}
@@ -208,7 +208,7 @@
frc971::Constraint::Builder velocity_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint_builder.add_value(4.0);
velocity_constraint_builder.add_start_distance(7.0);
velocity_constraint_builder.add_end_distance(15.0);
@@ -280,7 +280,7 @@
frc971::Constraint::Builder longitudinal_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
longitudinal_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LONGITUDINAL_ACCELERATION);
+ frc971::ConstraintType::LONGITUDINAL_ACCELERATION);
longitudinal_constraint_builder.add_value(2.0);
longitudinal_constraint_offset = longitudinal_constraint_builder.Finish();
}
@@ -289,7 +289,7 @@
frc971::Constraint::Builder voltage_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
voltage_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VOLTAGE);
+ frc971::ConstraintType::VOLTAGE);
voltage_constraint_builder.add_value(10.0);
voltage_constraint_offset = voltage_constraint_builder.Finish();
}
@@ -298,7 +298,7 @@
frc971::Constraint::Builder velocity_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint_builder.add_value(1.6);
velocity_constraint_builder.add_start_distance(4.0);
velocity_constraint_builder.add_end_distance(10.0);
@@ -345,7 +345,7 @@
frc971::Constraint::Builder voltage_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
voltage_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VOLTAGE);
+ frc971::ConstraintType::VOLTAGE);
voltage_constraint_builder.add_value(11.0);
voltage_constraint_offset = voltage_constraint_builder.Finish();
}
@@ -354,7 +354,7 @@
frc971::Constraint::Builder velocity_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint_builder.add_value(4.0);
velocity_constraint_builder.add_start_distance(0.0);
velocity_constraint_builder.add_end_distance(10.0);
@@ -401,7 +401,7 @@
frc971::Constraint::Builder voltage_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
voltage_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VOLTAGE);
+ frc971::ConstraintType::VOLTAGE);
voltage_constraint_builder.add_value(10.0);
voltage_constraint_offset = voltage_constraint_builder.Finish();
}
@@ -410,7 +410,7 @@
frc971::Constraint::Builder velocity_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint_builder.add_value(3.5);
velocity_constraint_builder.add_start_distance(0.0);
velocity_constraint_builder.add_end_distance(10.0);
@@ -421,7 +421,7 @@
frc971::Constraint::Builder velocity_constraint2_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint2_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint2_builder.add_value(2.0);
velocity_constraint2_builder.add_start_distance(6.0);
velocity_constraint2_builder.add_end_distance(10.0);
@@ -465,7 +465,7 @@
frc971::Constraint::Builder velocity_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint_builder.add_value(0.5);
velocity_constraint_builder.add_start_distance(0.0);
velocity_constraint_builder.add_end_distance(10.0);
@@ -511,7 +511,7 @@
frc971::Constraint::Builder longitudinal_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
longitudinal_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LONGITUDINAL_ACCELERATION);
+ frc971::ConstraintType::LONGITUDINAL_ACCELERATION);
longitudinal_constraint_builder.add_value(2.0);
longitudinal_constraint_offset = longitudinal_constraint_builder.Finish();
}
@@ -520,7 +520,7 @@
frc971::Constraint::Builder lateral_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
lateral_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LATERAL_ACCELERATION);
+ frc971::ConstraintType::LATERAL_ACCELERATION);
lateral_constraint_builder.add_value(2.0);
lateral_constraint_offset = lateral_constraint_builder.Finish();
}
@@ -529,7 +529,7 @@
frc971::Constraint::Builder voltage_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
voltage_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VOLTAGE);
+ frc971::ConstraintType::VOLTAGE);
voltage_constraint_builder.add_value(11.0);
voltage_constraint_offset = voltage_constraint_builder.Finish();
}
@@ -538,7 +538,7 @@
frc971::Constraint::Builder velocity_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint_builder.add_value(1.7);
velocity_constraint_builder.add_start_distance(0.0);
velocity_constraint_builder.add_end_distance(0.8);
@@ -584,7 +584,7 @@
frc971::Constraint::Builder longitudinal_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
longitudinal_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LONGITUDINAL_ACCELERATION);
+ frc971::ConstraintType::LONGITUDINAL_ACCELERATION);
longitudinal_constraint_builder.add_value(1.5);
longitudinal_constraint_offset = longitudinal_constraint_builder.Finish();
}
@@ -593,7 +593,7 @@
frc971::Constraint::Builder lateral_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
lateral_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LATERAL_ACCELERATION);
+ frc971::ConstraintType::LATERAL_ACCELERATION);
lateral_constraint_builder.add_value(1.0);
lateral_constraint_offset = lateral_constraint_builder.Finish();
}
@@ -602,7 +602,7 @@
frc971::Constraint::Builder voltage_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
voltage_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VOLTAGE);
+ frc971::ConstraintType::VOLTAGE);
voltage_constraint_builder.add_value(11.0);
voltage_constraint_offset = voltage_constraint_builder.Finish();
}
@@ -611,7 +611,7 @@
frc971::Constraint::Builder velocity_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint_builder.add_value(0.5);
velocity_constraint_builder.add_start_distance(9.5);
velocity_constraint_builder.add_end_distance(10.0);
@@ -652,7 +652,7 @@
frc971::Constraint::Builder longitudinal_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
longitudinal_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LONGITUDINAL_ACCELERATION);
+ frc971::ConstraintType::LONGITUDINAL_ACCELERATION);
longitudinal_constraint_builder.add_value(1.0);
longitudinal_constraint_offset = longitudinal_constraint_builder.Finish();
}
@@ -661,7 +661,7 @@
frc971::Constraint::Builder lateral_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
lateral_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LATERAL_ACCELERATION);
+ frc971::ConstraintType::LATERAL_ACCELERATION);
lateral_constraint_builder.add_value(1.0);
lateral_constraint_offset = lateral_constraint_builder.Finish();
}
@@ -670,7 +670,7 @@
frc971::Constraint::Builder voltage_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
voltage_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VOLTAGE);
+ frc971::ConstraintType::VOLTAGE);
voltage_constraint_builder.add_value(11.0);
voltage_constraint_offset = voltage_constraint_builder.Finish();
}
@@ -679,7 +679,7 @@
frc971::Constraint::Builder velocity_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
velocity_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VELOCITY);
+ frc971::ConstraintType::VELOCITY);
velocity_constraint_builder.add_value(0.5);
velocity_constraint_builder.add_start_distance(2.7);
velocity_constraint_builder.add_end_distance(10.0);
@@ -719,7 +719,7 @@
frc971::Constraint::Builder longitudinal_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
longitudinal_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LONGITUDINAL_ACCELERATION);
+ frc971::ConstraintType::LONGITUDINAL_ACCELERATION);
longitudinal_constraint_builder.add_value(1.0);
longitudinal_constraint_offset = longitudinal_constraint_builder.Finish();
}
@@ -728,7 +728,7 @@
frc971::Constraint::Builder lateral_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
lateral_constraint_builder.add_constraint_type(
- frc971::ConstraintType_LATERAL_ACCELERATION);
+ frc971::ConstraintType::LATERAL_ACCELERATION);
lateral_constraint_builder.add_value(1.0);
lateral_constraint_offset = lateral_constraint_builder.Finish();
}
@@ -737,7 +737,7 @@
frc971::Constraint::Builder voltage_constraint_builder =
builder->MakeBuilder<frc971::Constraint>();
voltage_constraint_builder.add_constraint_type(
- frc971::ConstraintType_VOLTAGE);
+ frc971::ConstraintType::VOLTAGE);
voltage_constraint_builder.add_value(6.0);
voltage_constraint_offset = voltage_constraint_builder.Finish();
}
diff --git a/y2019/actors/autonomous_actor.cc b/y2019/actors/autonomous_actor.cc
index fbde0be..aa2c808 100644
--- a/y2019/actors/autonomous_actor.cc
+++ b/y2019/actors/autonomous_actor.cc
@@ -198,14 +198,14 @@
if (!spline1.WaitForSplineDistanceRemaining(0.2)) return true;
LineFollowAtVelocity(1.3,
- control_loops::drivetrain::SelectionHint_FAR_ROCKET);
+ control_loops::drivetrain::SelectionHint::FAR_ROCKET);
if (!WaitForMilliseconds(::std::chrono::milliseconds(1200))) return true;
set_suction_goal(false, 1);
SendSuperstructureGoal();
if (!WaitForMilliseconds(::std::chrono::milliseconds(200))) return true;
LineFollowAtVelocity(-1.0,
- control_loops::drivetrain::SelectionHint_FAR_ROCKET);
+ control_loops::drivetrain::SelectionHint::FAR_ROCKET);
SplineHandle spline2 =
PlanSpline(BindIsLeft(AutonomousSplines::FarRocketToHP, is_left),
SplineDirection::kBackward);
@@ -240,7 +240,7 @@
SendSuperstructureGoal();
if (!WaitForDriveXGreater(7.1)) return true;
LineFollowAtVelocity(-1.5,
- control_loops::drivetrain::SelectionHint_FAR_ROCKET);
+ control_loops::drivetrain::SelectionHint::FAR_ROCKET);
if (!WaitForMilliseconds(::std::chrono::milliseconds(1000))) return true;
set_elevator_wrist_goal(kPanelBackwardUpperPos);
SendSuperstructureGoal();
@@ -249,7 +249,7 @@
SendSuperstructureGoal();
if (!WaitForMilliseconds(::std::chrono::milliseconds(400))) return true;
LineFollowAtVelocity(1.0,
- control_loops::drivetrain::SelectionHint_FAR_ROCKET);
+ control_loops::drivetrain::SelectionHint::FAR_ROCKET);
SendSuperstructureGoal();
if (!WaitForMilliseconds(::std::chrono::milliseconds(200))) return true;
} else if (mode == Mode::kCargoship) {
@@ -282,7 +282,7 @@
if (!spline1.WaitForSplineDistanceRemaining(0.8)) return true;
// Line follow in to the first disc.
LineFollowAtVelocity(-0.9,
- control_loops::drivetrain::SelectionHint_MID_SHIP);
+ control_loops::drivetrain::SelectionHint::MID_SHIP);
if (!WaitForDriveYCloseToZero(1.2)) return true;
set_suction_goal(false, 1);
@@ -294,7 +294,7 @@
if (!WaitForMilliseconds(::std::chrono::milliseconds(300))) return true;
LineFollowAtVelocity(0.9,
- control_loops::drivetrain::SelectionHint_MID_SHIP);
+ control_loops::drivetrain::SelectionHint::MID_SHIP);
SplineHandle spline2 = PlanSpline(
BindIsLeft(AutonomousSplines::SecondCargoShipBayToHP, is_left),
SplineDirection::kForward);
@@ -331,7 +331,7 @@
if (!spline3.WaitForSplineDistanceRemaining(0.7)) return true;
// Line follow in to the second disc.
LineFollowAtVelocity(-0.7,
- control_loops::drivetrain::SelectionHint_FAR_SHIP);
+ control_loops::drivetrain::SelectionHint::FAR_SHIP);
AOS_LOG(INFO, "Drawing in disc 2 %f\n",
::aos::time::DurationInSeconds(monotonic_now() - start_time));
if (!WaitForDriveYCloseToZero(1.2)) return true;
@@ -346,7 +346,7 @@
AOS_LOG(INFO, "Backing up %f\n",
::aos::time::DurationInSeconds(monotonic_now() - start_time));
LineFollowAtVelocity(0.9,
- control_loops::drivetrain::SelectionHint_FAR_SHIP);
+ control_loops::drivetrain::SelectionHint::FAR_SHIP);
if (!WaitForMilliseconds(::std::chrono::milliseconds(400))) return true;
} else {
// Grab the disk, wait until we have vacuum, then jump
diff --git a/y2019/control_loops/drivetrain/localized_drivetrain_test.cc b/y2019/control_loops/drivetrain/localized_drivetrain_test.cc
index 3a6bec7..24dd6c2 100644
--- a/y2019/control_loops/drivetrain/localized_drivetrain_test.cc
+++ b/y2019/control_loops/drivetrain/localized_drivetrain_test.cc
@@ -212,7 +212,7 @@
Goal::Builder drivetrain_builder = builder.MakeBuilder<Goal>();
drivetrain_builder.add_controller_type(
- frc971::control_loops::drivetrain::ControllerType_MOTION_PROFILE);
+ frc971::control_loops::drivetrain::ControllerType::MOTION_PROFILE);
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
@@ -233,7 +233,7 @@
Goal::Builder drivetrain_builder = builder.MakeBuilder<Goal>();
drivetrain_builder.add_controller_type(
- frc971::control_loops::drivetrain::ControllerType_MOTION_PROFILE);
+ frc971::control_loops::drivetrain::ControllerType::MOTION_PROFILE);
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
@@ -253,7 +253,7 @@
Goal::Builder drivetrain_builder = builder.MakeBuilder<Goal>();
drivetrain_builder.add_controller_type(
- frc971::control_loops::drivetrain::ControllerType_MOTION_PROFILE);
+ frc971::control_loops::drivetrain::ControllerType::MOTION_PROFILE);
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
@@ -275,7 +275,7 @@
Goal::Builder drivetrain_builder = builder.MakeBuilder<Goal>();
drivetrain_builder.add_controller_type(
- frc971::control_loops::drivetrain::ControllerType_MOTION_PROFILE);
+ frc971::control_loops::drivetrain::ControllerType::MOTION_PROFILE);
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
@@ -304,7 +304,7 @@
Goal::Builder drivetrain_builder = builder.MakeBuilder<Goal>();
drivetrain_builder.add_controller_type(
- frc971::control_loops::drivetrain::ControllerType_MOTION_PROFILE);
+ frc971::control_loops::drivetrain::ControllerType::MOTION_PROFILE);
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
@@ -340,7 +340,7 @@
Goal::Builder drivetrain_builder = builder.MakeBuilder<Goal>();
drivetrain_builder.add_controller_type(
- frc971::control_loops::drivetrain::ControllerType_MOTION_PROFILE);
+ frc971::control_loops::drivetrain::ControllerType::MOTION_PROFILE);
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
@@ -368,7 +368,7 @@
Goal::Builder drivetrain_builder = builder.MakeBuilder<Goal>();
drivetrain_builder.add_controller_type(
- frc971::control_loops::drivetrain::ControllerType_LINE_FOLLOWER);
+ frc971::control_loops::drivetrain::ControllerType::LINE_FOLLOWER);
drivetrain_builder.add_throttle(0.5);
EXPECT_TRUE(builder.Send(drivetrain_builder.Finish()));
diff --git a/y2019/control_loops/drivetrain/localizer_test.cc b/y2019/control_loops/drivetrain/localizer_test.cc
index fbce275..319065e 100644
--- a/y2019/control_loops/drivetrain/localizer_test.cc
+++ b/y2019/control_loops/drivetrain/localizer_test.cc
@@ -178,7 +178,7 @@
goal_builder.add_spline(spline_offset);
goal_builder.add_controller_type(
- frc971::control_loops::drivetrain::ControllerType_SPLINE_FOLLOWER);
+ frc971::control_loops::drivetrain::ControllerType::SPLINE_FOLLOWER);
goal_builder.add_spline_handle(1);
fbb.Finish(goal_builder.Finish());
@@ -211,7 +211,7 @@
status(fbb.Release());
if (status.message().trajectory_logging()->planning_state() ==
- ::frc971::control_loops::drivetrain::PlanningState_PLANNED) {
+ ::frc971::control_loops::drivetrain::PlanningState::PLANNED) {
break;
}
}
diff --git a/y2019/control_loops/drivetrain/target_selector.cc b/y2019/control_loops/drivetrain/target_selector.cc
index 7f2259d..87115ae 100644
--- a/y2019/control_loops/drivetrain/target_selector.cc
+++ b/y2019/control_loops/drivetrain/target_selector.cc
@@ -28,9 +28,8 @@
if (hint_fetcher_.Fetch()) {
VLOG(1) << "selector_hint: " << aos::FlatbufferToJson(hint_fetcher_.get());
// suggested_target is unsigned so we don't check for >= 0.
- if (hint_fetcher_->suggested_target() < 4) {
- target_hint_ =
- static_cast<SelectionHint>(hint_fetcher_->suggested_target());
+ if (hint_fetcher_->suggested_target() < drivetrain::SelectionHint::MAX) {
+ target_hint_ = hint_fetcher_->suggested_target();
} else {
AOS_LOG(ERROR, "Got invalid suggested target.\n");
}
@@ -64,30 +63,30 @@
continue;
}
switch (target_hint_) {
- case SelectionHint::kNearShip:
+ case drivetrain::SelectionHint::NEAR_SHIP:
if (view.target->target_type() !=
Target::TargetType::kNearSideCargoBay) {
continue;
}
break;
- case SelectionHint::kMidShip:
+ case drivetrain::SelectionHint::MID_SHIP:
if (view.target->target_type() !=
Target::TargetType::kMidSideCargoBay) {
continue;
}
break;
- case SelectionHint::kFarShip:
+ case drivetrain::SelectionHint::FAR_SHIP:
if (view.target->target_type() !=
Target::TargetType::kFarSideCargoBay) {
continue;
}
break;
- case SelectionHint::kFarRocket:
+ case drivetrain::SelectionHint::FAR_ROCKET:
if (view.target->target_type() != Target::TargetType::kFarRocket) {
continue;
}
break;
- case SelectionHint::kNone:
+ case drivetrain::SelectionHint::NONE:
default:
break;
}
diff --git a/y2019/control_loops/drivetrain/target_selector.fbs b/y2019/control_loops/drivetrain/target_selector.fbs
index d264992..f7a3291 100644
--- a/y2019/control_loops/drivetrain/target_selector.fbs
+++ b/y2019/control_loops/drivetrain/target_selector.fbs
@@ -1,7 +1,7 @@
namespace y2019.control_loops.drivetrain;
// These should match the SelectionHint enum in target_selector.h.
-enum SelectionHint : byte {
+enum SelectionHint : ubyte {
// No selection, we should just default to whatever.
NONE,
// Near, middle, and far targets.
diff --git a/y2019/control_loops/drivetrain/target_selector.h b/y2019/control_loops/drivetrain/target_selector.h
index e75e122..4ab65ef 100644
--- a/y2019/control_loops/drivetrain/target_selector.h
+++ b/y2019/control_loops/drivetrain/target_selector.h
@@ -29,16 +29,6 @@
typedef TypedCamera<y2019::constants::Field::kNumTargets,
/*num_obstacles=*/0, double> FakeCamera;
- enum class SelectionHint {
- // No hint
- kNone = 0,
- // Cargo ship bays
- kNearShip = 1,
- kMidShip = 2,
- kFarShip = 3,
- kFarRocket = 4,
- };
-
TargetSelector(::aos::EventLoop *event_loop);
bool UpdateSelection(const ::Eigen::Matrix<double, 5, 1> &state,
@@ -72,7 +62,7 @@
// Whether we are currently in ball mode.
bool ball_mode_ = false;
- SelectionHint target_hint_ = SelectionHint::kNone;
+ drivetrain::SelectionHint target_hint_ = drivetrain::SelectionHint::NONE;
};
} // namespace control_loops
diff --git a/y2019/control_loops/drivetrain/target_selector_test.cc b/y2019/control_loops/drivetrain/target_selector_test.cc
index 90ca830..43a0456 100644
--- a/y2019/control_loops/drivetrain/target_selector_test.cc
+++ b/y2019/control_loops/drivetrain/target_selector_test.cc
@@ -118,7 +118,7 @@
// targets:
TestParams{(State() << 0.0, 0.0, 0.0, 1.0, 1.0).finished(),
/*ball_mode=*/false,
- drivetrain::SelectionHint_NONE,
+ drivetrain::SelectionHint::NONE,
1.0,
false,
{},
@@ -127,43 +127,43 @@
// anything.
TestParams{(State() << 4.0, 2.0, M_PI, 0.05, 0.05).finished(),
/*ball_mode=*/false,
- drivetrain::SelectionHint_NONE,
+ drivetrain::SelectionHint::NONE,
0.05,
false,
{},
/*expected_radius=*/0.0},
TestParams{(State() << 4.0, 2.0, M_PI, -0.05, -0.05).finished(),
/*ball_mode=*/false,
- drivetrain::SelectionHint_NONE,
+ drivetrain::SelectionHint::NONE,
-0.05,
false,
{},
/*expected_radius=*/0.0},
TestParams{(State() << 4.0, 2.0, M_PI, 0.5, 0.5).finished(),
- /*ball_mode=*/false, drivetrain::SelectionHint_NONE, 1.0,
+ /*ball_mode=*/false, drivetrain::SelectionHint::NONE, 1.0,
true, HPSlotLeft(), /*expected_radius=*/0.0},
// Put ourselves between the rocket and cargo ship; we should see the
// hatches driving one direction and the near cargo ship port the other.
// We also command a speed opposite the current direction of motion and
// confirm that that behaves as expected.
TestParams{(State() << 6.0, 2.0, -M_PI_2, -0.5, -0.5).finished(),
- /*ball_mode=*/false, drivetrain::SelectionHint_NONE, 1.0,
+ /*ball_mode=*/false, drivetrain::SelectionHint::NONE, 1.0,
true, CargoNearLeft(), /*expected_radius=*/HatchRadius()},
TestParams{(State() << 6.0, 2.0, M_PI_2, 0.5, 0.5).finished(),
- /*ball_mode=*/false, drivetrain::SelectionHint_NONE, -1.0,
+ /*ball_mode=*/false, drivetrain::SelectionHint::NONE, -1.0,
true, CargoNearLeft(), /*expected_radius=*/HatchRadius()},
TestParams{(State() << 6.0, 2.0, -M_PI_2, 0.5, 0.5).finished(),
- /*ball_mode=*/false, drivetrain::SelectionHint_NONE, -1.0,
+ /*ball_mode=*/false, drivetrain::SelectionHint::NONE, -1.0,
true, RocketHatchFarLeft(),
/*expected_radius=*/HatchRadius()},
TestParams{(State() << 6.0, 2.0, M_PI_2, -0.5, -0.5).finished(),
- /*ball_mode=*/false, drivetrain::SelectionHint_NONE, 1.0,
+ /*ball_mode=*/false, drivetrain::SelectionHint::NONE, 1.0,
true, RocketHatchFarLeft(),
/*expected_radius=*/HatchRadius()},
// And we shouldn't see anything spinning in place:
TestParams{(State() << 6.0, 2.0, M_PI_2, -0.5, 0.5).finished(),
/*ball_mode=*/false,
- drivetrain::SelectionHint_NONE,
+ drivetrain::SelectionHint::NONE,
0.0,
false,
{},
@@ -171,7 +171,7 @@
// Drive backwards off the field--we should not see anything.
TestParams{(State() << -0.1, 0.0, 0.0, -0.5, -0.5).finished(),
/*ball_mode=*/false,
- drivetrain::SelectionHint_NONE,
+ drivetrain::SelectionHint::NONE,
-1.0,
false,
{},
@@ -179,12 +179,12 @@
// In ball mode, we should be able to see the portal, and get zero
// radius.
TestParams{(State() << 6.0, 2.0, M_PI_2, 0.5, 0.5).finished(),
- /*ball_mode=*/true, drivetrain::SelectionHint_NONE, 1.0,
+ /*ball_mode=*/true, drivetrain::SelectionHint::NONE, 1.0,
true, RocketPortal(),
/*expected_radius=*/0.0},
// Reversing direction should get cargo ship with zero radius.
TestParams{(State() << 6.0, 2.0, M_PI_2, 0.5, 0.5).finished(),
- /*ball_mode=*/true, drivetrain::SelectionHint_NONE, -1.0,
+ /*ball_mode=*/true, drivetrain::SelectionHint::NONE, -1.0,
true, CargoNearLeft(),
/*expected_radius=*/0.0}));
diff --git a/y2019/joystick_reader.cc b/y2019/joystick_reader.cc
index 427fc6d..0f37112 100644
--- a/y2019/joystick_reader.cc
+++ b/y2019/joystick_reader.cc
@@ -258,28 +258,28 @@
.MakeBuilder<control_loops::drivetrain::TargetSelectorHint>();
if (data.IsPressed(kNearCargoHint)) {
target_selector_hint_builder.add_suggested_target(
- control_loops::drivetrain::SelectionHint_NEAR_SHIP);
+ control_loops::drivetrain::SelectionHint::NEAR_SHIP);
} else if (data.IsPressed(kMidCargoHint)) {
target_selector_hint_builder.add_suggested_target(
- control_loops::drivetrain::SelectionHint_MID_SHIP);
+ control_loops::drivetrain::SelectionHint::MID_SHIP);
} else if (data.IsPressed(kFarCargoHint)) {
target_selector_hint_builder.add_suggested_target(
- control_loops::drivetrain::SelectionHint_FAR_SHIP);
+ control_loops::drivetrain::SelectionHint::FAR_SHIP);
} else {
const double cargo_joy_y = data.GetAxis(kCargoSelectorY);
const double cargo_joy_x = data.GetAxis(kCargoSelectorX);
if (cargo_joy_y > 0.5) {
target_selector_hint_builder.add_suggested_target(
- control_loops::drivetrain::SelectionHint_NEAR_SHIP);
+ control_loops::drivetrain::SelectionHint::NEAR_SHIP);
} else if (cargo_joy_y < -0.5) {
target_selector_hint_builder.add_suggested_target(
- control_loops::drivetrain::SelectionHint_FAR_SHIP);
+ control_loops::drivetrain::SelectionHint::FAR_SHIP);
} else if (::std::abs(cargo_joy_x) > 0.5) {
target_selector_hint_builder.add_suggested_target(
- control_loops::drivetrain::SelectionHint_MID_SHIP);
+ control_loops::drivetrain::SelectionHint::MID_SHIP);
} else {
target_selector_hint_builder.add_suggested_target(
- control_loops::drivetrain::SelectionHint_NONE);
+ control_loops::drivetrain::SelectionHint::NONE);
}
}
if (!builder.Send(target_selector_hint_builder.Finish())) {