Create an enum for sender errors
Will replace usages of bools, and will now currently only be used
for indicating that messages were sent too fast
After we merge this commit we will replace this enum with a general
Status class for all of aos, similar to absl::Status.
Change-Id: I4b5b2e7685744b3c6826a241cd3c84190eaa96ee
Signed-off-by: milind-u <milind.upadhyay@gmail.com>
diff --git a/y2016/control_loops/shooter/shooter.cc b/y2016/control_loops/shooter/shooter.cc
index 8b719c3..d317d4f 100644
--- a/y2016/control_loops/shooter/shooter.cc
+++ b/y2016/control_loops/shooter/shooter.cc
@@ -186,12 +186,12 @@
output_builder.add_push_to_shooter(shoot);
}
- output->Send(output_builder.Finish());
+ output->CheckOk(output->Send(output_builder.Finish()));
}
status_builder.add_shots(shots_);
- status->Send(status_builder.Finish());
+ (void)status->Send(status_builder.Finish());
}
} // namespace shooter
diff --git a/y2016/control_loops/shooter/shooter_lib_test.cc b/y2016/control_loops/shooter/shooter_lib_test.cc
index 6934a75..46b96c0 100644
--- a/y2016/control_loops/shooter/shooter_lib_test.cc
+++ b/y2016/control_loops/shooter/shooter_lib_test.cc
@@ -76,7 +76,8 @@
position_builder.add_theta_left(shooter_plant_left_->Y(0, 0));
position_builder.add_theta_right(shooter_plant_right_->Y(0, 0));
- builder.Send(position_builder.Finish());
+ EXPECT_EQ(builder.Send(position_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
void set_left_voltage_offset(double voltage_offset) {
@@ -172,7 +173,8 @@
auto builder = shooter_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
goal_builder.add_angular_velocity(0.0);
- EXPECT_TRUE(builder.Send(goal_builder.Finish()));
+ EXPECT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(dt() * 3 / 2);
@@ -193,7 +195,8 @@
auto builder = shooter_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
goal_builder.add_angular_velocity(450.0);
- EXPECT_TRUE(builder.Send(goal_builder.Finish()));
+ EXPECT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(1));
@@ -204,7 +207,8 @@
auto builder = shooter_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
goal_builder.add_angular_velocity(0.0);
- EXPECT_TRUE(builder.Send(goal_builder.Finish()));
+ EXPECT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
// Make sure we don't apply voltage on spin-down.
@@ -230,7 +234,8 @@
auto builder = shooter_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
goal_builder.add_angular_velocity(20.0);
- EXPECT_TRUE(builder.Send(goal_builder.Finish()));
+ EXPECT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
// Cause problems by adding a voltage error on one side.
shooter_plant_.set_right_voltage_offset(-4.0);
@@ -267,7 +272,8 @@
auto builder = shooter_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
goal_builder.add_angular_velocity(200.0);
- EXPECT_TRUE(builder.Send(goal_builder.Finish()));
+ EXPECT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(5));
EXPECT_TRUE(shooter_output_fetcher_.Fetch());