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/y2018/actors/autonomous_actor.h b/y2018/actors/autonomous_actor.h
index 014459a..67d9c84 100644
--- a/y2018/actors/autonomous_actor.h
+++ b/y2018/actors/autonomous_actor.h
@@ -105,7 +105,8 @@
superstructure_builder.add_deploy_fork(deploy_fork_);
superstructure_builder.add_trajectory_override(false);
- if (!builder.Send(superstructure_builder.Finish())) {
+ if (builder.Send(superstructure_builder.Finish()) !=
+ aos::RawSender::Error::kOk) {
AOS_LOG(ERROR, "Sending superstructure goal failed.\n");
}
}
diff --git a/y2018/control_loops/superstructure/superstructure.cc b/y2018/control_loops/superstructure/superstructure.cc
index 7d12fd5..fc08280 100644
--- a/y2018/control_loops/superstructure/superstructure.cc
+++ b/y2018/control_loops/superstructure/superstructure.cc
@@ -329,10 +329,10 @@
output_builder.add_forks_release(forks_release_output);
output_builder.add_voltage_winch(voltage_winch_output);
- output->Send(output_builder.Finish());
+ output->CheckOk(output->Send(output_builder.Finish()));
}
- status->Send(status_builder.Finish());
+ (void)status->Send(status_builder.Finish());
}
void Superstructure::SendColors(float red, float green, float blue) {
@@ -344,7 +344,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/y2018/control_loops/superstructure/superstructure_lib_test.cc b/y2018/control_loops/superstructure/superstructure_lib_test.cc
index 9d2c10e..c52d8db 100644
--- a/y2018/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2018/control_loops/superstructure/superstructure_lib_test.cc
@@ -262,7 +262,8 @@
position_builder.add_left_intake(left_intake_offset);
position_builder.add_right_intake(right_intake_offset);
position_builder.add_arm(arm_offset);
- EXPECT_TRUE(builder.Send(position_builder.Finish()));
+ EXPECT_EQ(builder.Send(position_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
// Sets the difference between the commanded and applied powers.
@@ -409,7 +410,8 @@
goal_builder.add_arm_goal_position(arm::UpIndex());
goal_builder.add_open_claw(true);
- 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.
@@ -440,7 +442,8 @@
goal_builder.add_arm_goal_position(arm::UpIndex());
goal_builder.add_open_claw(true);
- 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.
@@ -469,7 +472,8 @@
goal_builder.add_arm_goal_position(arm::UpIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -508,7 +512,8 @@
goal_builder.add_arm_goal_position(arm::UpIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -552,7 +557,8 @@
goal_builder.add_arm_goal_position(arm::UpIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
{
@@ -570,7 +576,8 @@
goal_builder.add_arm_goal_position(arm::UpIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
VerifyNearGoal();
@@ -598,7 +605,8 @@
goal_builder.add_arm_goal_position(arm::UpIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -627,7 +635,8 @@
goal_builder.add_arm_goal_position(arm::UpIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -675,7 +684,8 @@
goal_builder.add_arm_goal_position(arm::FrontHighBoxIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
EXPECT_EQ(arm::Arm::State::RUNNING, superstructure_.arm().state());
@@ -699,7 +709,8 @@
goal_builder.add_arm_goal_position(arm::FrontHighBoxIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -721,7 +732,8 @@
goal_builder.add_arm_goal_position(arm::ReadyAboveBoxIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -748,7 +760,8 @@
goal_builder.add_arm_goal_position(arm::BackLowBoxIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
@@ -770,7 +783,8 @@
goal_builder.add_arm_goal_position(arm::ReadyAboveBoxIndex());
goal_builder.add_open_claw(true);
- ASSERT_TRUE(builder.Send(goal_builder.Finish()));
+ ASSERT_EQ(builder.Send(goal_builder.Finish()),
+ aos::RawSender::Error::kOk);
}
RunFor(chrono::seconds(10));
diff --git a/y2018/joystick_reader.cc b/y2018/joystick_reader.cc
index 42620ff..3a5ed63 100644
--- a/y2018/joystick_reader.cc
+++ b/y2018/joystick_reader.cc
@@ -351,7 +351,8 @@
superstructure_builder.add_open_claw(false);
}
- if (!builder.Send(superstructure_builder.Finish())) {
+ if (builder.Send(superstructure_builder.Finish()) !=
+ aos::RawSender::Error::kOk) {
AOS_LOG(ERROR, "Sending superstructure goal failed.\n");
}
diff --git a/y2018/vision/vision_status.cc b/y2018/vision/vision_status.cc
index 15daefc..ca11dd8 100644
--- a/y2018/vision/vision_status.cc
+++ b/y2018/vision/vision_status.cc
@@ -35,7 +35,8 @@
builder.MakeBuilder<VisionStatus>();
vision_status_builder.add_high_frame_count(status.high_frame_count());
vision_status_builder.add_low_frame_count(status.low_frame_count());
- 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/y2018/wpilib_interface.cc b/y2018/wpilib_interface.cc
index ef4c058..4ee8031 100644
--- a/y2018/wpilib_interface.cc
+++ b/y2018/wpilib_interface.cc
@@ -293,7 +293,7 @@
drivetrain_shifter_pot_translate(
right_drivetrain_shifter_->GetVoltage()));
- builder.Send(drivetrain_builder.Finish());
+ builder.CheckOk(builder.Send(drivetrain_builder.Finish()));
}
}
@@ -396,7 +396,7 @@
superstructure_builder.add_box_distance(lidar_lite_.last_width() /
0.00001 / 100.0 / 2);
- builder.Send(superstructure_builder.Finish());
+ builder.CheckOk(builder.Send(superstructure_builder.Finish()));
}
}
@@ -516,7 +516,7 @@
pcm_->Flush();
to_log_builder.add_read_solenoids(pcm_->GetAll());
- builder.Send(to_log_builder.Finish());
+ (void)builder.Send(to_log_builder.Finish());
}
monotonic_clock::time_point monotonic_now = event_loop_->monotonic_now();