Factoring out camera_params.proto.

Change-Id: Idf886f9cb33764d505d5cff11ca766cea96d2024
diff --git a/y2017/vision/BUILD b/y2017/vision/BUILD
index b70e67f..c7b4b7e 100644
--- a/y2017/vision/BUILD
+++ b/y2017/vision/BUILD
@@ -20,6 +20,9 @@
 proto_cc_library(
   name = 'vision_config',
   src = 'vision_config.proto',
+  deps = [
+    '//aos/vision/image:camera_params',
+  ],
 )
 
 cc_binary(
diff --git a/y2017/vision/target_finder.cc b/y2017/vision/target_finder.cc
index e39fe73..1f2c46d 100644
--- a/y2017/vision/target_finder.cc
+++ b/y2017/vision/target_finder.cc
@@ -105,7 +105,6 @@
 aos::vision::RangeImage TargetFinder::Threshold(aos::vision::ImagePtr image) {
   return aos::vision::DoThreshold(image, [&](aos::vision::PixelRef &px) {
     if (px.g > 88) {
-      return true;
       uint8_t min = std::min(px.b, px.r);
       uint8_t max = std::max(px.b, px.r);
       if (min >= px.g || max >= px.g) return false;
diff --git a/y2017/vision/target_sender.cc b/y2017/vision/target_sender.cc
index 548d01d..8eb13f5 100644
--- a/y2017/vision/target_sender.cc
+++ b/y2017/vision/target_sender.cc
@@ -2,6 +2,7 @@
 #include <google/protobuf/text_format.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <sys/stat.h>
 #include <fstream>
 #include <iostream>
 #include <memory>
@@ -76,13 +77,9 @@
   std::ofstream ofst_;
 };
 
-ImageFormat GetImageFormat(const CameraSettings &params) {
-  return ImageFormat{params.width(), params.height()};
-}
-
 class ImageSender : public ImageStreamEvent {
  public:
-  ImageSender(camera::CameraParams params, GameSpecific game_cfg,
+  ImageSender(aos::vision::CameraParams params, GameSpecific game_cfg,
               const std::string &fname, const std::string &ipadder, int port)
       : ImageStreamEvent(fname, params),
         game_cfg_(game_cfg),
@@ -181,17 +178,11 @@
  private:
 };
 
-void RunCamera(CameraSettings settings, GameSpecific game_cfg,
+void RunCamera(aos::vision::CameraParams settings, GameSpecific game_cfg,
                const std::string &device, const std::string &ip_addr,
                int port) {
   printf("Creating camera (%dx%d).\n", settings.width(), settings.height());
-  camera::CameraParams params = {settings.width(),
-                                 settings.height(),
-                                 settings.exposure(),
-                                 settings.brightness(),
-                                 0,
-                                 (int32_t)settings.fps()};
-  ImageSender strm(params, game_cfg, device, ip_addr, port);
+  ImageSender strm(settings, game_cfg, device, ip_addr, port);
 
   aos::events::EpollLoop loop;
   loop.Add(strm.GetTCPServ());
diff --git a/y2017/vision/vision_config.proto b/y2017/vision/vision_config.proto
index 0bb7279..5501507 100644
--- a/y2017/vision/vision_config.proto
+++ b/y2017/vision/vision_config.proto
@@ -1,31 +1,9 @@
 syntax = "proto2";
 
+import "aos/vision/image/camera_params.proto";
+
 package y2017.vision;
 
-// Stores configuration for camera related settings and specs.
-message CameraSettings {
-  // The focal length of the camera in pixels.
-  optional double focal_length = 1 [default = 1418.6];
-
-  // Width of the image.
-  optional int32 width = 2 [default = 1280];
-
-  // Height of the image.
-  optional int32 height = 3 [default = 960];
-
-  // Exposure setting.
-  optional int32 exposure = 4 [default = 10];
-
-  // Brightness setting.
-  optional int32 brightness = 5 [default = 128];
-
-  // Hardware gain multiplier on pixel values.
-  optional double gain = 6 [default = 1.0];
-
-  // Frames per second to run camera.
-  optional double fps = 7 [default = 30.0];
-}
-
 message GameSpecific {
   // Needs more woojy.
   optional int32 woojy = 1;
@@ -51,9 +29,9 @@
   // Map robot name to the robot dependent configuration.
   map<string, RobotConfig> robot_configs = 1;
 
-  // Parameters for camera bringup.
-  optional CameraSettings camera_params = 2;
+  // Year independent camera parameters.
+  optional aos.vision.CameraParams camera_params = 3;
 
   // Parameters for this specific game
-  optional GameSpecific game_params = 3;
+  optional GameSpecific game_params = 4;
 }