Moving v4l2_reader into frc971/vision.  Fixing dependencies

Change-Id: I25e821b7fb77a6c183dfeb697b81c771cd5d2339
Signed-off-by: Jim Ostrowski <yimmy13@gmail.com>
diff --git a/frc971/vision/BUILD b/frc971/vision/BUILD
new file mode 100644
index 0000000..1e3ed58
--- /dev/null
+++ b/frc971/vision/BUILD
@@ -0,0 +1,35 @@
+load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
+
+flatbuffer_cc_library(
+    name = "vision_fbs",
+    srcs = ["vision.fbs"],
+    gen_reflections = 1,
+    target_compatible_with = ["@platforms//os:linux"],
+    visibility = ["//visibility:public"],
+)
+
+flatbuffer_ts_library(
+    name = "vision_ts_fbs",
+    srcs = ["vision.fbs"],
+    target_compatible_with = ["@platforms//os:linux"],
+    visibility = ["//visibility:public"],
+)
+
+cc_library(
+    name = "v4l2_reader",
+    srcs = [
+        "v4l2_reader.cc",
+    ],
+    hdrs = [
+        "v4l2_reader.h",
+    ],
+    target_compatible_with = ["@platforms//os:linux"],
+    visibility = ["//visibility:public"],
+    deps = [
+        ":vision_fbs",
+        "//aos/events:event_loop",
+        "//aos/scoped:scoped_fd",
+        "@com_github_google_glog//:glog",
+        "@com_google_absl//absl/base",
+    ],
+)
diff --git a/y2020/vision/v4l2_reader.cc b/frc971/vision/v4l2_reader.cc
similarity index 97%
rename from y2020/vision/v4l2_reader.cc
rename to frc971/vision/v4l2_reader.cc
index 3f24f1e..793d8cd 100644
--- a/y2020/vision/v4l2_reader.cc
+++ b/frc971/vision/v4l2_reader.cc
@@ -1,4 +1,4 @@
-#include "y2020/vision/v4l2_reader.h"
+#include "frc971/vision/v4l2_reader.h"
 
 #include <fcntl.h>
 #include <linux/videodev2.h>
@@ -60,8 +60,8 @@
 }
 
 bool V4L2Reader::ReadLatestImage() {
-  // First, enqueue any old buffer we already have. This is the one which may
-  // have been sent.
+  // First, enqueue any old buffer we already have. This is the one which
+  // may have been sent.
   if (saved_buffer_) {
     EnqueueBuffer(saved_buffer_.index);
     saved_buffer_.Clear();
@@ -189,8 +189,8 @@
   if (result == 0) {
     return;
   }
-  // Some devices (like Alex's webcam) return this if streaming isn't currently
-  // on, unlike what the documentations says should happen.
+  // Some devices (like Alex's webcam) return this if streaming isn't
+  // currently on, unlike what the documentations says should happen.
   if (errno == EBUSY) {
     return;
   }
diff --git a/y2020/vision/v4l2_reader.h b/frc971/vision/v4l2_reader.h
similarity index 95%
rename from y2020/vision/v4l2_reader.h
rename to frc971/vision/v4l2_reader.h
index b9b3ce4..6f90cec 100644
--- a/y2020/vision/v4l2_reader.h
+++ b/frc971/vision/v4l2_reader.h
@@ -1,5 +1,5 @@
-#ifndef Y2020_VISION_V4L2_READER_H_
-#define Y2020_VISION_V4L2_READER_H_
+#ifndef FRC971_VISION_V4L2_READER_H_
+#define FRC971_VISION_V4L2_READER_H_
 
 #include <array>
 #include <string>
@@ -9,7 +9,7 @@
 
 #include "aos/events/event_loop.h"
 #include "aos/scoped/scoped_fd.h"
-#include "y2020/vision/vision_generated.h"
+#include "frc971/vision/vision_generated.h"
 
 namespace frc971 {
 namespace vision {
@@ -119,4 +119,4 @@
 }  // namespace vision
 }  // namespace frc971
 
-#endif  // Y2020_VISION_V4L2_READER_H_
+#endif  // FRC971_VISION_V4L2_READER_H_
diff --git a/y2020/vision/vision.fbs b/frc971/vision/vision.fbs
similarity index 100%
rename from y2020/vision/vision.fbs
rename to frc971/vision/vision.fbs
diff --git a/y2020/BUILD b/y2020/BUILD
index 0a32370..82a7848 100644
--- a/y2020/BUILD
+++ b/y2020/BUILD
@@ -155,9 +155,9 @@
         "//aos/network:message_bridge_client_fbs",
         "//aos/network:message_bridge_server_fbs",
         "//aos/network:timestamp_fbs",
+        "//frc971/vision:vision_fbs",
         "//y2020/vision/sift:sift_fbs",
         "//y2020/vision/sift:sift_training_fbs",
-        "//y2020/vision:vision_fbs",
     ],
     target_compatible_with = ["@platforms//os:linux"],
     visibility = ["//visibility:public"],
@@ -179,12 +179,12 @@
         flatbuffers = [
             "//aos/network:message_bridge_client_fbs",
             "//aos/network:message_bridge_server_fbs",
+            "//aos/network:remote_message_fbs",
             "//aos/network:timestamp_fbs",
+            "//frc971/vision:vision_fbs",
+            "//y2020/vision:galactic_search_path_fbs",
             "//y2020/vision/sift:sift_fbs",
             "//y2020/vision/sift:sift_training_fbs",
-            "//y2020/vision:vision_fbs",
-            "//aos/network:remote_message_fbs",
-            "//y2020/vision:galactic_search_path_fbs",
         ],
         target_compatible_with = ["@platforms//os:linux"],
         visibility = ["//visibility:public"],
@@ -209,11 +209,11 @@
     flatbuffers = [
         "//aos/network:message_bridge_client_fbs",
         "//aos/network:message_bridge_server_fbs",
+        "//aos/network:remote_message_fbs",
         "//aos/network:timestamp_fbs",
+        "//frc971/vision:vision_fbs",
         "//y2020/vision/sift:sift_fbs",
         "//y2020/vision/sift:sift_training_fbs",
-        "//y2020/vision:vision_fbs",
-        "//aos/network:remote_message_fbs",
     ],
     target_compatible_with = ["@platforms//os:linux"],
     visibility = ["//visibility:public"],
diff --git a/y2020/vision/BUILD b/y2020/vision/BUILD
index 330848a..5156b59 100644
--- a/y2020/vision/BUILD
+++ b/y2020/vision/BUILD
@@ -1,12 +1,4 @@
-load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
-
-flatbuffer_cc_library(
-    name = "vision_fbs",
-    srcs = ["vision.fbs"],
-    gen_reflections = 1,
-    target_compatible_with = ["@platforms//os:linux"],
-    visibility = ["//y2020:__subpackages__"] + ["//y2022:__subpackages__"],
-)
+load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
 flatbuffer_cc_library(
     name = "galactic_search_path_fbs",
@@ -16,25 +8,6 @@
     visibility = ["//y2020:__subpackages__"],
 )
 
-cc_library(
-    name = "v4l2_reader",
-    srcs = [
-        "v4l2_reader.cc",
-    ],
-    hdrs = [
-        "v4l2_reader.h",
-    ],
-    target_compatible_with = ["@platforms//os:linux"],
-    visibility = ["//y2020:__subpackages__"],
-    deps = [
-        ":vision_fbs",
-        "//aos/events:event_loop",
-        "//aos/scoped:scoped_fd",
-        "@com_github_google_glog//:glog",
-        "@com_google_absl//absl/base",
-    ],
-)
-
 cc_binary(
     name = "camera_reader",
     srcs = [
@@ -63,11 +36,11 @@
     target_compatible_with = ["@platforms//os:linux"],
     visibility = ["//y2020:__subpackages__"] + ["//y2022:__subpackages__"],
     deps = [
-        ":v4l2_reader",
-        ":vision_fbs",
         "//aos:flatbuffer_merge",
         "//aos/events:event_loop",
         "//aos/network:team_number",
+        "//frc971/vision:v4l2_reader",
+        "//frc971/vision:vision_fbs",
         "//third_party:opencv",
         "//y2020/vision/sift:sift971",
         "//y2020/vision/sift:sift_fbs",
@@ -76,13 +49,6 @@
     ],
 )
 
-flatbuffer_ts_library(
-    name = "vision_ts_fbs",
-    srcs = ["vision.fbs"],
-    target_compatible_with = ["@platforms//os:linux"],
-    visibility = ["//y2020:__subpackages__"],
-)
-
 cc_binary(
     name = "viewer",
     srcs = [
@@ -94,9 +60,10 @@
     target_compatible_with = ["@platforms//os:linux"],
     visibility = ["//y2020:__subpackages__"],
     deps = [
-        ":vision_fbs",
         "//aos:init",
         "//aos/events:shm_event_loop",
+        "//frc971/vision:v4l2_reader",
+        "//frc971/vision:vision_fbs",
         "//third_party:opencv",
         "//y2020/vision/sift:sift_fbs",
     ],
@@ -113,12 +80,12 @@
     target_compatible_with = ["@platforms//os:linux"],
     visibility = ["//y2020:__subpackages__"],
     deps = [
-        ":vision_fbs",
         "//aos:flatbuffers",
         "//aos/events:event_loop",
         "//aos/network:message_bridge_server_fbs",
         "//aos/network:team_number",
         "//frc971/control_loops:quaternion_utils",
+        "//frc971/vision:vision_fbs",
         "//third_party:opencv",
         "//y2020/vision/sift:sift_fbs",
         "//y2020/vision/sift:sift_training_fbs",
@@ -142,10 +109,10 @@
     visibility = ["//y2020:__subpackages__"],
     deps = [
         ":charuco_lib",
-        ":vision_fbs",
         "//aos:init",
         "//aos/events:shm_event_loop",
         "//frc971/control_loops/drivetrain:improved_down_estimator",
+        "//frc971/vision:vision_fbs",
         "//frc971/wpilib:imu_batch_fbs",
         "//frc971/wpilib:imu_fbs",
         "//third_party:opencv",
@@ -168,10 +135,10 @@
     target_compatible_with = ["@platforms//os:linux"],
     visibility = ["//y2020:__subpackages__"],
     deps = [
-        ":vision_fbs",
         "//aos:init",
         "//aos/events:simulated_event_loop",
         "//aos/events/logging:log_reader",
+        "//frc971/vision:vision_fbs",
         "//third_party:opencv",
     ],
 )
diff --git a/y2020/vision/camera_reader.cc b/y2020/vision/camera_reader.cc
index 1e28e82..9966a5b 100644
--- a/y2020/vision/camera_reader.cc
+++ b/y2020/vision/camera_reader.cc
@@ -9,12 +9,12 @@
 #include "aos/events/event_loop.h"
 #include "aos/flatbuffer_merge.h"
 #include "aos/network/team_number.h"
+#include "frc971/vision/v4l2_reader.h"
+#include "frc971/vision/vision_generated.h"
 #include "y2020/vision/sift/sift971.h"
 #include "y2020/vision/sift/sift_generated.h"
 #include "y2020/vision/sift/sift_training_generated.h"
 #include "y2020/vision/tools/python_code/sift_training_data.h"
-#include "y2020/vision/v4l2_reader.h"
-#include "y2020/vision/vision_generated.h"
 
 DEFINE_bool(skip_sift, false,
             "If true don't run any feature extraction.  Just forward images.");
diff --git a/y2020/vision/camera_reader.h b/y2020/vision/camera_reader.h
index c05ebea..37fb5a9 100644
--- a/y2020/vision/camera_reader.h
+++ b/y2020/vision/camera_reader.h
@@ -10,12 +10,12 @@
 #include "aos/events/event_loop.h"
 #include "aos/flatbuffer_merge.h"
 #include "aos/network/team_number.h"
+#include "frc971/vision/v4l2_reader.h"
+#include "frc971/vision/vision_generated.h"
 #include "y2020/vision/sift/sift971.h"
 #include "y2020/vision/sift/sift_generated.h"
 #include "y2020/vision/sift/sift_training_generated.h"
 #include "y2020/vision/tools/python_code/sift_training_data.h"
-#include "y2020/vision/v4l2_reader.h"
-#include "y2020/vision/vision_generated.h"
 
 namespace frc971 {
 namespace vision {
diff --git a/y2020/vision/charuco_lib.cc b/y2020/vision/charuco_lib.cc
index 21bdcc3..0df820b 100644
--- a/y2020/vision/charuco_lib.cc
+++ b/y2020/vision/charuco_lib.cc
@@ -11,11 +11,11 @@
 #include "aos/flatbuffers.h"
 #include "aos/network/team_number.h"
 #include "frc971/control_loops/quaternion_utils.h"
+#include "frc971/vision/vision_generated.h"
 #include "glog/logging.h"
 #include "y2020/vision/sift/sift_generated.h"
 #include "y2020/vision/sift/sift_training_generated.h"
 #include "y2020/vision/tools/python_code/sift_training_data.h"
-#include "y2020/vision/vision_generated.h"
 
 DEFINE_uint32(min_targets, 10,
               "The mininum number of targets required to match.");
@@ -133,8 +133,7 @@
 
     const monotonic_clock::time_point eof = eof_source_node - offset;
 
-    const monotonic_clock::duration age =
-        event_loop_->monotonic_now() - eof;
+    const monotonic_clock::duration age = event_loop_->monotonic_now() - eof;
     const double age_double =
         std::chrono::duration_cast<std::chrono::duration<double>>(age).count();
     if (age > std::chrono::milliseconds(100)) {
diff --git a/y2020/vision/extrinsics_calibration.cc b/y2020/vision/extrinsics_calibration.cc
index 1d4de28..c7ef752 100644
--- a/y2020/vision/extrinsics_calibration.cc
+++ b/y2020/vision/extrinsics_calibration.cc
@@ -12,13 +12,13 @@
 #include "frc971/analysis/in_process_plotter.h"
 #include "frc971/control_loops/drivetrain/improved_down_estimator.h"
 #include "frc971/control_loops/quaternion_utils.h"
+#include "frc971/vision/vision_generated.h"
 #include "frc971/wpilib/imu_batch_generated.h"
 #include "y2020/vision/calibration_accumulator.h"
 #include "y2020/vision/charuco_lib.h"
 #include "y2020/vision/sift/sift_generated.h"
 #include "y2020/vision/sift/sift_training_generated.h"
 #include "y2020/vision/tools/python_code/sift_training_data.h"
-#include "y2020/vision/vision_generated.h"
 
 DEFINE_string(config, "config.json", "Path to the config file to use.");
 DEFINE_string(pi, "pi-7971-2", "Pi name to calibrate.");
@@ -120,7 +120,7 @@
 
   const Eigen::Quaternion<Scalar> &orientation() const { return orientation_; }
 
-  std::vector<Eigen::Matrix<Scalar, 3, 1> > errors_;
+  std::vector<Eigen::Matrix<Scalar, 3, 1>> errors_;
 
   // Returns the angular errors for each camera sample.
   size_t num_errors() const { return errors_.size(); }
@@ -136,18 +136,18 @@
     result.template block<4, 1>(0, 0) = q.coeffs();
     result.template block<6, 1>(4, 0) = x_hat;
     result.template block<36, 1>(10, 0) =
-        Eigen::Map<Eigen::Matrix<Scalar, 36, 1> >(p.data(), p.size());
+        Eigen::Map<Eigen::Matrix<Scalar, 36, 1>>(p.data(), p.size());
 
     return result;
   }
 
   std::tuple<Eigen::Quaternion<Scalar>, Eigen::Matrix<Scalar, 6, 1>,
-             Eigen::Matrix<Scalar, 6, 6> >
+             Eigen::Matrix<Scalar, 6, 6>>
   UnPack(Eigen::Matrix<Scalar, 46, 1> input) {
     Eigen::Quaternion<Scalar> q(input.template block<4, 1>(0, 0));
     Eigen::Matrix<Scalar, 6, 1> x_hat(input.template block<6, 1>(4, 0));
     Eigen::Matrix<Scalar, 6, 6> p =
-        Eigen::Map<Eigen::Matrix<Scalar, 6, 6> >(input.data() + 10, 6, 6);
+        Eigen::Map<Eigen::Matrix<Scalar, 6, 6>>(input.data() + 10, 6, 6);
     return std::make_tuple(q, x_hat, p);
   }
 
@@ -361,8 +361,8 @@
   std::vector<double> imu_ratez;
 
   std::vector<double> times_;
-  std::vector<Eigen::Matrix<double, 6, 1> > x_hats_;
-  std::vector<Eigen::Quaternion<double> > orientations_;
+  std::vector<Eigen::Matrix<double, 6, 1>> x_hats_;
+  std::vector<Eigen::Quaternion<double>> orientations_;
 
   Eigen::Matrix<double, 3, 1> last_accel_ = Eigen::Matrix<double, 3, 1>::Zero();
 };
diff --git a/y2020/vision/tools/python_code/BUILD b/y2020/vision/tools/python_code/BUILD
index b495658..d259ba7 100644
--- a/y2020/vision/tools/python_code/BUILD
+++ b/y2020/vision/tools/python_code/BUILD
@@ -192,8 +192,8 @@
     deps = [
         ":sift_training_data_test",
         "//aos/testing:googletest",
+        "//frc971/vision:vision_fbs",
         "//third_party:opencv",
-        "//y2020/vision:vision_fbs",
         "//y2020/vision/sift:sift_fbs",
         "//y2020/vision/sift:sift_training_fbs",
     ],
diff --git a/y2020/vision/tools/python_code/camera_param_test.cc b/y2020/vision/tools/python_code/camera_param_test.cc
index 483fe75..a2d3a75 100644
--- a/y2020/vision/tools/python_code/camera_param_test.cc
+++ b/y2020/vision/tools/python_code/camera_param_test.cc
@@ -12,9 +12,9 @@
 #include "y2020/vision/tools/python_code/sift_training_data.h"
 #endif
 
+#include "frc971/vision/vision_generated.h"
 #include "y2020/vision/sift/sift_generated.h"
 #include "y2020/vision/sift/sift_training_generated.h"
-#include "y2020/vision/vision_generated.h"
 
 namespace frc971 {
 namespace vision {
diff --git a/y2020/vision/viewer.cc b/y2020/vision/viewer.cc
index 2aff3fb..37ff4a3 100644
--- a/y2020/vision/viewer.cc
+++ b/y2020/vision/viewer.cc
@@ -8,8 +8,9 @@
 #include "aos/events/shm_event_loop.h"
 #include "aos/init.h"
 #include "aos/time/time.h"
+#include "frc971/vision/v4l2_reader.h"
+#include "frc971/vision/vision_generated.h"
 #include "y2020/vision/sift/sift_generated.h"
-#include "y2020/vision/vision_generated.h"
 
 DEFINE_string(config, "config.json", "Path to the config file to use.");
 DEFINE_bool(show_features, true, "Show the SIFT features that matched.");
diff --git a/y2020/vision/viewer_replay.cc b/y2020/vision/viewer_replay.cc
index 93e531d..a818859 100644
--- a/y2020/vision/viewer_replay.cc
+++ b/y2020/vision/viewer_replay.cc
@@ -6,7 +6,7 @@
 #include "aos/events/logging/log_reader.h"
 #include "aos/events/simulated_event_loop.h"
 #include "aos/init.h"
-#include "y2020/vision/vision_generated.h"
+#include "frc971/vision/vision_generated.h"
 
 DEFINE_string(node, "pi1", "Node name to replay.");
 DEFINE_string(image_save_prefix, "/tmp/img",
diff --git a/y2020/www/BUILD b/y2020/www/BUILD
index 27c0392..8467994 100644
--- a/y2020/www/BUILD
+++ b/y2020/www/BUILD
@@ -15,7 +15,7 @@
         "//aos/network:connect_ts_fbs",
         "//aos/network:web_proxy_ts_fbs",
         "//aos/network/www:proxy",
-        "//y2020/vision:vision_ts_fbs",
+        "//frc971/vision:vision_ts_fbs",
         "//y2020/vision/sift:sift_ts_fbs",
         "@com_github_google_flatbuffers//ts:flatbuffers_ts",
     ],
diff --git a/y2020/www/image_handler.ts b/y2020/www/image_handler.ts
index b254f2c..661100b 100644
--- a/y2020/www/image_handler.ts
+++ b/y2020/www/image_handler.ts
@@ -4,7 +4,7 @@
 import {ByteBuffer} from 'org_frc971/external/com_github_google_flatbuffers/ts/byte-buffer';
 import {Long} from 'org_frc971/external/com_github_google_flatbuffers/ts/long';
 import * as sift from 'org_frc971/y2020/vision/sift/sift_generated'
-import * as vision from 'org_frc971/y2020/vision/vision_generated';
+import * as vision from 'org_frc971/frc971/vision/vision_generated';
 import * as web_proxy from 'org_frc971/aos/network/web_proxy_generated';
 
 import Channel = configuration.aos.Channel;
diff --git a/y2022/vision/BUILD b/y2022/vision/BUILD
index c10bf85..c461365 100644
--- a/y2022/vision/BUILD
+++ b/y2022/vision/BUILD
@@ -34,7 +34,7 @@
         "viewer.cc",
     ],
     data = [
-        "//y2020:config",
+        "//y2022:config",
     ],
     target_compatible_with = ["@platforms//os:linux"],
     visibility = ["//y2022:__subpackages__"],
@@ -42,8 +42,7 @@
         ":blob_detector_lib",
         "//aos:init",
         "//aos/events:shm_event_loop",
+        "//frc971/vision:vision_fbs",
         "//third_party:opencv",
-        "//y2020/vision:vision_fbs",
-        "//y2020/vision/sift:sift_fbs",
     ],
 )
diff --git a/y2022/vision/viewer.cc b/y2022/vision/viewer.cc
index 8b76d21..8959f53 100644
--- a/y2022/vision/viewer.cc
+++ b/y2022/vision/viewer.cc
@@ -8,7 +8,7 @@
 #include "aos/events/shm_event_loop.h"
 #include "aos/init.h"
 #include "aos/time/time.h"
-#include "y2020/vision/vision_generated.h"
+#include "frc971/vision/vision_generated.h"
 #include "y2022/vision/blob_detector.h"
 
 DEFINE_string(capture, "",