Move over to ABSL logging and flags.
Removes gperftools too since that wants gflags.
Here come the fireworks.
Change-Id: I79cb7bcf60f1047fbfa28bfffc21a0fd692e4b1c
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/frc971/imu/imu_calibrator-tmpl.h b/frc971/imu/imu_calibrator-tmpl.h
index 6743106..49d5c20 100644
--- a/frc971/imu/imu_calibrator-tmpl.h
+++ b/frc971/imu/imu_calibrator-tmpl.h
@@ -1,7 +1,10 @@
+#include "absl/flags/declare.h"
+#include "absl/flags/flag.h"
+
#include "frc971/imu/imu_calibrator.h"
#include "frc971/math/interpolate.h"
-DECLARE_int32(imu_zeroing_buffer);
+ABSL_DECLARE_FLAG(int32_t, imu_zeroing_buffer);
namespace frc971::imu {
@@ -26,7 +29,8 @@
const bool plausibly_stationary =
reading.gyro.squaredNorm() < kGyroMaxZeroingValue * kGyroMaxZeroingValue;
bool stationary = plausibly_stationary;
- int earliest_affected_index = readings.size() - FLAGS_imu_zeroing_buffer;
+ int earliest_affected_index =
+ readings.size() - absl::GetFlag(FLAGS_imu_zeroing_buffer);
for (size_t index = std::max(0, earliest_affected_index);
index < readings.size(); ++index) {
if (!plausibly_stationary) {
@@ -75,7 +79,8 @@
template <typename Scalar>
void ImuCalibrator<Scalar>::EvaluateRelativeResiduals() {
for (const auto &readings : imu_readings_) {
- CHECK_LT(static_cast<size_t>(FLAGS_imu_zeroing_buffer * 2), readings.size())
+ CHECK_LT(static_cast<size_t>(absl::GetFlag(FLAGS_imu_zeroing_buffer) * 2),
+ readings.size())
<< ": Insufficient readings to perform calibration.";
}
Scalar base_clock = imu_readings_[origin_index_][0].capture_time_adjusted;
diff --git a/frc971/imu/imu_calibrator.cc b/frc971/imu/imu_calibrator.cc
index 03fa377..73e16e0 100644
--- a/frc971/imu/imu_calibrator.cc
+++ b/frc971/imu/imu_calibrator.cc
@@ -1,6 +1,6 @@
#include "frc971/imu/imu_calibrator.h"
-DEFINE_int32(
- imu_zeroing_buffer, 100,
+ABSL_FLAG(
+ int32_t, imu_zeroing_buffer, 100,
"We will only consider readings stationary for purposes if calibration if "
"this many readings to either side appear to be stationary.");
diff --git a/frc971/imu/imu_calibrator.h b/frc971/imu/imu_calibrator.h
index 58ff12b..d8b7aab 100644
--- a/frc971/imu/imu_calibrator.h
+++ b/frc971/imu/imu_calibrator.h
@@ -6,10 +6,11 @@
#include <tuple>
#include <vector>
+#include "absl/log/check.h"
+#include "absl/log/log.h"
#include "absl/strings/str_format.h"
#include "absl/strings/str_join.h"
#include "ceres/ceres.h"
-#include "glog/logging.h"
#include <Eigen/Core>
#include <Eigen/Geometry>
diff --git a/frc971/imu/imu_calibrator_test.cc b/frc971/imu/imu_calibrator_test.cc
index a341b2a..2546da4 100644
--- a/frc971/imu/imu_calibrator_test.cc
+++ b/frc971/imu/imu_calibrator_test.cc
@@ -2,6 +2,7 @@
#include <random>
+#include "absl/flags/reflection.h"
#include "gtest/gtest.h"
#include "frc971/imu/imu_calibrator_solver.h"
@@ -140,7 +141,7 @@
// the IMU inputs; feeding in a sine wave works much better for allowing the
// solver to estimate the offset.
TEST(ImuCalibratorTest, TimeOffsetTest) {
- gflags::FlagSaver flag_saver;
+ absl::FlagSaver flag_saver;
std::vector<ImuConfig<double>> nominal_imus = {
ImuConfig<double>{true, std::nullopt},