Move CameraLog to event loop
Change-Id: I06c5e607f983b762ecb244d8c16cd24c78b596bb
diff --git a/y2019/joystick_reader.cc b/y2019/joystick_reader.cc
index 2ae46f9..e354647 100644
--- a/y2019/joystick_reader.cc
+++ b/y2019/joystick_reader.cc
@@ -147,7 +147,9 @@
localizer_control_sender_(
event_loop->MakeSender<
::frc971::control_loops::drivetrain::LocalizerControl>(
- ".frc971.control_loops.drivetrain.localizer_control")) {
+ ".frc971.control_loops.drivetrain.localizer_control")),
+ camera_log_sender_(
+ event_loop->MakeSender<::y2019::CameraLog>(".y2019.camera_log")) {
const uint16_t team = ::aos::network::GetTeamNumber();
superstructure_queue.goal.FetchLatest();
if (superstructure_queue.goal.get()) {
@@ -484,7 +486,7 @@
}
{
- auto camera_log_message = camera_log.MakeMessage();
+ auto camera_log_message = camera_log_sender_.MakeMessage();
camera_log_message->log = data.IsPressed(kCameraLog);
LOG_STRUCT(DEBUG, "camera_log", *camera_log_message);
camera_log_message.Send();
@@ -507,6 +509,8 @@
::aos::Sender<::frc971::control_loops::drivetrain::LocalizerControl>
localizer_control_sender_;
+ ::aos::Sender<::y2019::CameraLog> camera_log_sender_;
+
// Bool to track if we've been above the deploy position. Once this bool is
// set, don't let the stilts retract until we see the platform.
bool was_above_ = false;
diff --git a/y2019/status_light.q b/y2019/status_light.q
index 65a121a..66e8ad7 100644
--- a/y2019/status_light.q
+++ b/y2019/status_light.q
@@ -12,5 +12,3 @@
message CameraLog {
bool log;
};
-
-queue CameraLog camera_log;
diff --git a/y2019/wpilib_interface.cc b/y2019/wpilib_interface.cc
index 01c8afa..dec9b9c 100644
--- a/y2019/wpilib_interface.cc
+++ b/y2019/wpilib_interface.cc
@@ -312,7 +312,9 @@
: camera_frame_sender_(
event_loop
->MakeSender<::y2019::control_loops::drivetrain::CameraFrame>(
- ".y2019.control_loops.drivetrain.camera_frames")) {}
+ ".y2019.control_loops.drivetrain.camera_frames")),
+ camera_log_fetcher_(
+ event_loop->MakeFetcher<::y2019::CameraLog>(".y2019.camera_log")) {}
CameraReader(const CameraReader &) = delete;
CameraReader &operator=(const CameraReader &) = delete;
@@ -340,12 +342,12 @@
using namespace frc971::jevois;
RoborioToTeensy to_teensy{};
to_teensy.realtime_now = aos::realtime_clock::now();
- camera_log.FetchLatest();
+ camera_log_fetcher_.Fetch();
if (activate_usb_ && !activate_usb_->Get()) {
to_teensy.camera_command = CameraCommand::kUsb;
} else if (activate_passthrough_ && !activate_passthrough_->Get()) {
to_teensy.camera_command = CameraCommand::kCameraPassthrough;
- } else if (camera_log.get() && camera_log->log) {
+ } else if (camera_log_fetcher_.get() && camera_log_fetcher_->log) {
to_teensy.camera_command = CameraCommand::kLog;
} else {
to_teensy.camera_command = CameraCommand::kNormal;
@@ -428,6 +430,7 @@
private:
::aos::Sender<::y2019::control_loops::drivetrain::CameraFrame>
camera_frame_sender_;
+ ::aos::Fetcher<::y2019::CameraLog> camera_log_fetcher_;
frc::SPI *spi_ = nullptr;
::std::unique_ptr<frc::SPI> dummy_spi_;