Moving calibration file naming to a centralized call, for consistency

Moving to format of:
calibration_NODE_NAME-TEAM#-CAMERA#_cam-24-XX_TIMESTAMP.json

Change-Id: Iece87428a9428cbdd70496f7335f5ec977357200
Signed-off-by: Jim Ostrowski <yimmy13@gmail.com>
diff --git a/frc971/vision/vision_util_lib.cc b/frc971/vision/vision_util_lib.cc
index bfd6209..45aa199 100644
--- a/frc971/vision/vision_util_lib.cc
+++ b/frc971/vision/vision_util_lib.cc
@@ -1,5 +1,6 @@
 #include "frc971/vision/vision_util_lib.h"
 
+#include "absl/strings/str_format.h"
 #include "glog/logging.h"
 
 namespace frc971::vision {
@@ -58,4 +59,19 @@
   return camera_number;
 }
 
+std::string CalibrationFilename(std::string calibration_folder,
+                                std::string node_name, int team_number,
+                                int camera_number, std::string camera_id,
+                                std::string timestamp) {
+  // Get rid of any fractional seconds-- we shouldn't need those and it makes
+  // the string unnecessarily longer
+  timestamp = timestamp.substr(0, timestamp.find("."));
+  std::string calibration_filename =
+      calibration_folder +
+      absl::StrFormat("/calibration_%s-%d-%d_cam-%s_%s.json", node_name.c_str(),
+                      team_number, camera_number, camera_id.c_str(),
+                      timestamp.c_str());
+  return calibration_filename;
+}
+
 }  // namespace frc971::vision