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/y2019/control_loops/drivetrain/localized_drivetrain_test.cc b/y2019/control_loops/drivetrain/localized_drivetrain_test.cc
index 485dff6..4d6f84a 100644
--- a/y2019/control_loops/drivetrain/localized_drivetrain_test.cc
+++ b/y2019/control_loops/drivetrain/localized_drivetrain_test.cc
@@ -160,8 +160,10 @@
::std::get<0>(camera_delay_queue_.front()) <
monotonic_now() - camera_latency) {
auto builder = camera_sender_.MakeBuilder();
- ASSERT_TRUE(builder.Send(CameraFrame::Pack(
- *builder.fbb(), ::std::get<1>(camera_delay_queue_.front()).get())));
+ ASSERT_EQ(builder.Send(CameraFrame::Pack(
+ *builder.fbb(),
+ ::std::get<1>(camera_delay_queue_.front()).get())),
+ aos::RawSender::Error::kOk);
camera_delay_queue_.pop();
}
}
@@ -216,7 +218,8 @@
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
- EXPECT_TRUE(builder.Send(drivetrain_builder.Finish()));
+ EXPECT_EQ(builder.Send(drivetrain_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(3));
VerifyNearGoal();
@@ -237,7 +240,8 @@
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
- EXPECT_TRUE(builder.Send(drivetrain_builder.Finish()));
+ EXPECT_EQ(builder.Send(drivetrain_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(3));
VerifyNearGoal();
@@ -257,7 +261,8 @@
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
- EXPECT_TRUE(builder.Send(drivetrain_builder.Finish()));
+ EXPECT_EQ(builder.Send(drivetrain_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(3));
VerifyNearGoal();
@@ -279,7 +284,8 @@
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
- EXPECT_TRUE(builder.Send(drivetrain_builder.Finish()));
+ EXPECT_EQ(builder.Send(drivetrain_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(3));
// VerifyNearGoal succeeds because it is just checking wheel positions:
@@ -308,7 +314,8 @@
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
- EXPECT_TRUE(builder.Send(drivetrain_builder.Finish()));
+ EXPECT_EQ(builder.Send(drivetrain_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
{
@@ -321,7 +328,8 @@
localizer_control_builder.add_y(drivetrain_plant_.state().y());
localizer_control_builder.add_theta(drivetrain_plant_.state()(2, 0));
- EXPECT_TRUE(builder.Send(localizer_control_builder.Finish()));
+ EXPECT_EQ(builder.Send(localizer_control_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(3));
VerifyNearGoal();
@@ -344,7 +352,8 @@
drivetrain_builder.add_left_goal(-1.0);
drivetrain_builder.add_right_goal(1.0);
- EXPECT_TRUE(builder.Send(drivetrain_builder.Finish()));
+ EXPECT_EQ(builder.Send(drivetrain_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(5));
VerifyNearGoal(4e-3);
@@ -373,7 +382,8 @@
frc971::control_loops::drivetrain::ControllerType::LINE_FOLLOWER);
drivetrain_builder.add_throttle(0.5);
- EXPECT_TRUE(builder.Send(drivetrain_builder.Finish()));
+ EXPECT_EQ(builder.Send(drivetrain_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(6));
diff --git a/y2019/control_loops/drivetrain/target_selector_test.cc b/y2019/control_loops/drivetrain/target_selector_test.cc
index 5933f3f..f33224b 100644
--- a/y2019/control_loops/drivetrain/target_selector_test.cc
+++ b/y2019/control_loops/drivetrain/target_selector_test.cc
@@ -39,8 +39,7 @@
TargetSelectorParamTest()
: configuration_(aos::configuration::ReadConfig("y2019/config.json")),
event_loop_factory_(&configuration_.message()),
- event_loop_(
- this->event_loop_factory_.MakeEventLoop("drivetrain")),
+ event_loop_(this->event_loop_factory_.MakeEventLoop("drivetrain")),
test_event_loop_(this->event_loop_factory_.MakeEventLoop("test")),
target_selector_hint_sender_(
test_event_loop_->MakeSender<
@@ -82,12 +81,14 @@
builder.MakeBuilder<superstructure::Goal>();
goal_builder.add_suction(suction_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
{
auto builder = target_selector_hint_sender_.MakeBuilder();
- ASSERT_TRUE(builder.Send(drivetrain::CreateTargetSelectorHint(
- *builder.fbb(), GetParam().selection_hint)));
+ ASSERT_EQ(builder.Send(drivetrain::CreateTargetSelectorHint(
+ *builder.fbb(), GetParam().selection_hint)),
+ aos::RawSender::Error::kOk);
}
bool expect_target = GetParam().expect_target;
const State state = GetParam().state;
diff --git a/y2019/control_loops/superstructure/superstructure.cc b/y2019/control_loops/superstructure/superstructure.cc
index 9e7a5fe..e796f0b 100644
--- a/y2019/control_loops/superstructure/superstructure.cc
+++ b/y2019/control_loops/superstructure/superstructure.cc
@@ -119,7 +119,7 @@
output_struct.intake_roller_voltage = 0.0;
}
- output->Send(Output::Pack(*output->fbb(), &output_struct));
+ output->CheckOk(output->Send(Output::Pack(*output->fbb(), &output_struct)));
}
if (unsafe_goal) {
@@ -196,7 +196,7 @@
}
}
- status->Send(status_offset);
+ (void)status->Send(status_offset);
}
void Superstructure::SendColors(float red, float green, float blue) {
@@ -208,7 +208,8 @@
status_light_builder.add_green(green);
status_light_builder.add_blue(blue);
- if (!builder.Send(status_light_builder.Finish())) {
+ if (builder.Send(status_light_builder.Finish()) !=
+ aos::RawSender::Error::kOk) {
AOS_LOG(ERROR, "Failed to send lights.\n");
}
}
diff --git a/y2019/control_loops/superstructure/superstructure_lib_test.cc b/y2019/control_loops/superstructure/superstructure_lib_test.cc
index cabb4e2..d6b4f2d 100644
--- a/y2019/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2019/control_loops/superstructure/superstructure_lib_test.cc
@@ -7,6 +7,7 @@
#include "frc971/control_loops/control_loop_test.h"
#include "frc971/control_loops/position_sensor_sim.h"
#include "frc971/control_loops/team_number_test_environment.h"
+#include "glog/logging.h"
#include "gtest/gtest.h"
#include "y2019/constants.h"
#include "y2019/control_loops/superstructure/elevator/elevator_plant.h"
@@ -166,7 +167,8 @@
position_builder.add_stilts(stilts_offset);
position_builder.add_suction_pressure(simulated_pressure_);
- builder.Send(position_builder.Finish());
+ CHECK_EQ(builder.Send(position_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
double elevator_position() const { return elevator_plant_->X(0, 0); }
@@ -501,7 +503,8 @@
goal_builder.add_intake(intake_offset);
goal_builder.add_stilts(stilts_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
VerifyNearGoal();
@@ -550,7 +553,8 @@
goal_builder.add_intake(intake_offset);
goal_builder.add_stilts(stilts_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.
@@ -593,7 +597,8 @@
goal_builder.add_intake(intake_offset);
goal_builder.add_stilts(stilts_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(8));
VerifyNearGoal();
@@ -630,7 +635,8 @@
goal_builder.add_intake(intake_offset);
goal_builder.add_stilts(stilts_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
superstructure_plant_.set_peak_elevator_velocity(23.0);
superstructure_plant_.set_peak_elevator_acceleration(0.2);
@@ -682,7 +688,8 @@
goal_builder.add_intake(intake_offset);
goal_builder.add_stilts(stilts_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
WaitUntilZeroed();
VerifyNearGoal();
@@ -743,7 +750,8 @@
goal_builder.add_intake(intake_offset);
goal_builder.add_stilts(stilts_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.
@@ -783,7 +791,8 @@
goal_builder.add_stilts(stilts_offset);
goal_builder.add_roller_voltage(6.0);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(5));
@@ -818,7 +827,8 @@
goal_builder.add_stilts(stilts_offset);
goal_builder.add_roller_voltage(6.0);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(5));
@@ -860,7 +870,8 @@
goal_builder.add_stilts(stilts_offset);
goal_builder.add_suction(suction_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(Vacuum::kTimeAtHigherVoltage - chrono::milliseconds(10));
@@ -904,7 +915,8 @@
goal_builder.add_stilts(stilts_offset);
goal_builder.add_suction(suction_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
// Verify that at 0 pressure after short time voltage is still high
@@ -954,7 +966,8 @@
goal_builder.add_stilts(stilts_offset);
goal_builder.add_suction(suction_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
// Get a Gamepiece
@@ -991,7 +1004,8 @@
goal_builder.add_stilts(stilts_offset);
goal_builder.add_suction(suction_offset);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
superstructure_plant_.set_simulated_pressure(1.0);