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/y2017/actors/autonomous_actor.h b/y2017/actors/autonomous_actor.h
index f0bcfc8..5eed336 100644
--- a/y2017/actors/autonomous_actor.h
+++ b/y2017/actors/autonomous_actor.h
@@ -165,7 +165,7 @@
goal->mutable_indexer()->mutate_voltage_rollers(0.0);
}
- if (!builder.Send(goal_offset)) {
+ if (builder.Send(goal_offset) != aos::RawSender::Error::kOk) {
AOS_LOG(ERROR, "Sending superstructure goal failed.\n");
}
}
diff --git a/y2017/control_loops/superstructure/superstructure.cc b/y2017/control_loops/superstructure/superstructure.cc
index c707653..84da59c 100644
--- a/y2017/control_loops/superstructure/superstructure.cc
+++ b/y2017/control_loops/superstructure/superstructure.cc
@@ -260,10 +260,10 @@
}
if (output) {
- output->Send(Output::Pack(*output->fbb(), &output_struct));
+ output->CheckOk(output->Send(Output::Pack(*output->fbb(), &output_struct)));
}
- status->Send(status_builder.Finish());
+ (void)status->Send(status_builder.Finish());
}
} // namespace superstructure
diff --git a/y2017/control_loops/superstructure/superstructure_lib_test.cc b/y2017/control_loops/superstructure/superstructure_lib_test.cc
index 7690937..05ca333 100644
--- a/y2017/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2017/control_loops/superstructure/superstructure_lib_test.cc
@@ -246,7 +246,8 @@
position_builder.add_intake(intake_offset);
position_builder.add_hood(hood_offset);
- builder.Send(position_builder.Finish());
+ ASSERT_EQ(builder.Send(position_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
double hood_position() const { return hood_plant_->X(0, 0); }
@@ -635,7 +636,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(5));
@@ -691,7 +693,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
// Give it a lot of time to get there.
@@ -738,7 +741,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(8));
VerifyNearGoal();
@@ -789,7 +793,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
superstructure_plant_.set_peak_intake_velocity(23.0);
superstructure_plant_.set_peak_turret_velocity(23.0);
@@ -844,7 +849,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
superstructure_plant_.set_peak_intake_velocity(0.2);
@@ -906,7 +912,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -964,7 +971,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -1024,7 +1032,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -1086,7 +1095,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -1144,7 +1154,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -1192,7 +1203,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -1239,7 +1251,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -1271,7 +1284,8 @@
auto builder = superstructure_goal_sender_.MakeBuilder();
Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
{
auto builder = superstructure_goal_sender_.MakeBuilder();
@@ -1303,7 +1317,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::milliseconds(100));
@@ -1356,7 +1371,8 @@
goal_builder.add_shooter(shooter_offset);
goal_builder.add_indexer(indexer_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
// Run disabled for 2 seconds
@@ -1426,7 +1442,8 @@
goal_builder.add_indexer(indexer_offset);
goal_builder.add_shooter(shooter_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(5));
@@ -1462,7 +1479,8 @@
goal_builder.add_indexer(indexer_offset);
goal_builder.add_shooter(shooter_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
// Make sure we don't apply voltage on spin-down.
@@ -1508,7 +1526,8 @@
goal_builder.add_indexer(indexer_offset);
goal_builder.add_shooter(shooter_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(5));
EXPECT_EQ(nullptr, superstructure_output_fetcher_.get());
@@ -1554,7 +1573,8 @@
goal_builder.add_indexer(indexer_offset);
goal_builder.add_shooter(shooter_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(5));
@@ -1656,7 +1676,8 @@
goal_builder.add_indexer(indexer_offset);
goal_builder.add_shooter(shooter_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(5));
diff --git a/y2017/control_loops/superstructure/vision_time_adjuster_test.cc b/y2017/control_loops/superstructure/vision_time_adjuster_test.cc
index d7a5fb4..49e4460 100644
--- a/y2017/control_loops/superstructure/vision_time_adjuster_test.cc
+++ b/y2017/control_loops/superstructure/vision_time_adjuster_test.cc
@@ -19,8 +19,7 @@
: ::testing::Test(),
configuration_(aos::configuration::ReadConfig("y2017/config.json")),
event_loop_factory_(&configuration_.message()),
- simulation_event_loop_(
- event_loop_factory_.MakeEventLoop("drivetrain")),
+ simulation_event_loop_(event_loop_factory_.MakeEventLoop("drivetrain")),
drivetrain_status_sender_(
simulation_event_loop_
->MakeSender<::frc971::control_loops::drivetrain::Status>(
@@ -99,7 +98,8 @@
status_builder.add_estimated_left_position(drivetrain_left_);
status_builder.add_estimated_right_position(drivetrain_right_);
- ASSERT_TRUE(builder.Send(status_builder.Finish()));
+ ASSERT_EQ(builder.Send(status_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
void SendVisionTarget() {
@@ -118,7 +118,8 @@
drivetrain_history_[0]);
vision_status_builder.add_image_valid(true);
- ASSERT_TRUE(builder.Send(vision_status_builder.Finish()));
+ ASSERT_EQ(builder.Send(vision_status_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
double GetDriveTrainAngle() const {
diff --git a/y2017/joystick_reader.cc b/y2017/joystick_reader.cc
index 13b8720..cb21d3e 100644
--- a/y2017/joystick_reader.cc
+++ b/y2017/joystick_reader.cc
@@ -292,7 +292,8 @@
goal_builder.add_hood(hood_goal_offset);
goal_builder.add_shooter(shooter_goal_offset);
- if (!builder.Send(goal_builder.Finish())) {
+ if (builder.Send(goal_builder.Finish()) !=
+ aos::RawSender::Error::kOk) {
AOS_LOG(ERROR, "Sending superstructure goal failed.\n");
}
}
diff --git a/y2017/vision/target_receiver.cc b/y2017/vision/target_receiver.cc
index 84d3428..ba09425 100644
--- a/y2017/vision/target_receiver.cc
+++ b/y2017/vision/target_receiver.cc
@@ -48,7 +48,7 @@
builder.MakeBuilder<VisionStatus>();
vision_status_builder.add_image_valid(target.has_target());
if (target.has_target()) {
- vision_status_builder.add_target_time (
+ vision_status_builder.add_target_time(
std::chrono::duration_cast<std::chrono::nanoseconds>(
target_time.time_since_epoch())
.count());
@@ -57,13 +57,14 @@
double angle = 0.0;
finder.GetAngleDist(
aos::vision::Vector<2>(target.target().x(), target.target().y()),
- /* TODO: Insert down estimate here in radians: */ 0.0,
- &distance, &angle);
+ /* TODO: Insert down estimate here in radians: */ 0.0, &distance,
+ &angle);
vision_status_builder.add_distance(distance);
vision_status_builder.add_angle(angle);
}
- if (!builder.Send(vision_status_builder.Finish())) {
+ if (builder.Send(vision_status_builder.Finish()) !=
+ aos::RawSender::Error::kOk) {
AOS_LOG(ERROR, "Failed to send vision information\n");
}
}
diff --git a/y2017/wpilib_interface.cc b/y2017/wpilib_interface.cc
index 04e19b6..6a4596e 100644
--- a/y2017/wpilib_interface.cc
+++ b/y2017/wpilib_interface.cc
@@ -222,7 +222,7 @@
position_builder.add_left_speed(
drivetrain_velocity_translate(drivetrain_left_encoder_->GetPeriod()));
- builder.Send(position_builder.Finish());
+ builder.CheckOk(builder.Send(position_builder.Finish()));
}
}
@@ -278,7 +278,7 @@
Values::kShooterEncoderCountsPerRevolution,
Values::kShooterEncoderRatio));
- builder.Send(position_builder.Finish());
+ builder.CheckOk(builder.Send(position_builder.Finish()));
}
{
@@ -293,7 +293,7 @@
}
}
auto_builder.add_mode(mode);
- builder.Send(auto_builder.Finish());
+ builder.CheckOk(builder.Send(auto_builder.Finish()));
}
}