recieve params on jevois cameras.
Change-Id: I6075ab70dad44c6e31ec4eeda5e492611bef6a46
diff --git a/y2019/jevois/structures.h b/y2019/jevois/structures.h
index 28da405..055f201 100644
--- a/y2019/jevois/structures.h
+++ b/y2019/jevois/structures.h
@@ -139,6 +139,9 @@
// The calibration matrix. This defines where the camera is pointing.
//
// TODO(Parker): What are the details on how this is defined?
+ // [0][0]: mount_angle
+ // [0][1]: focal_length
+ // [0][2]: barrel_mount
Eigen::Matrix<float, 3, 4> calibration;
// A local timestamp from the Teensy. This starts at 0 when the Teensy is
diff --git a/y2019/vision/target_finder.h b/y2019/vision/target_finder.h
index 633733a..5957fa6 100644
--- a/y2019/vision/target_finder.h
+++ b/y2019/vision/target_finder.h
@@ -57,6 +57,7 @@
const Target &GetTemplateTarget() { return target_template_; }
const IntrinsicParams &intrinsics() const { return intrinsics_; }
+ IntrinsicParams *mutable_intrinsics() { return &intrinsics_; }
private:
// Find a loosly connected target.
diff --git a/y2019/vision/target_sender.cc b/y2019/vision/target_sender.cc
index be56e91..2617d33 100644
--- a/y2019/vision/target_sender.cc
+++ b/y2019/vision/target_sender.cc
@@ -381,6 +381,11 @@
frc971::jevois::UartUnpackToCamera(packet);
if (calibration_question) {
const auto &calibration = *calibration_question;
+ IntrinsicParams *intrinsics = finder_.mutable_intrinsics();
+ intrinsics->mount_angle = calibration.calibration(0, 0);
+ intrinsics->focal_length = calibration.calibration(0, 1);
+ intrinsics->barrel_mount = calibration.calibration(0, 2);
+
switch (calibration.camera_command) {
case CameraCalibration::CameraCommand::kNormal:
break;