summaryrefslogtreecommitdiff
path: root/src/sensor/calibration.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sensor/calibration.hpp')
-rw-r--r--src/sensor/calibration.hpp76
1 files changed, 0 insertions, 76 deletions
diff --git a/src/sensor/calibration.hpp b/src/sensor/calibration.hpp
deleted file mode 100644
index c85d336..0000000
--- a/src/sensor/calibration.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#pragma once
-
-#include "common/memory/shared_ptr.hpp"
-#include "sensor/sensor.hpp"
-#include "serial.hpp"
-
-// Calibration precision
-constexpr double ACCEL_CAL_X_MAX = 0.003;
-constexpr double ACCEL_CAL_X_MIN = -0.003;
-
-constexpr double ACCEL_CAL_Y_MAX = 0.003;
-constexpr double ACCEL_CAL_Y_MIN = -0.003;
-
-constexpr double ACCEL_CAL_Z_MAX = 0.003;
-constexpr double ACCEL_CAL_Z_MIN = -0.003;
-
-constexpr double GYRO_CAL_X_MAX = 0.003;
-constexpr double GYRO_CAL_X_MIN = -0.003;
-
-constexpr double GYRO_CAL_Y_MAX = 0.05;
-constexpr double GYRO_CAL_Y_MIN = -0.05;
-
-constexpr double GYRO_CAL_Z_MAX = 0.04;
-constexpr double GYRO_CAL_Z_MIN = -0.04;
-
-constexpr uint32_t CALIBRATION_TIMEOUT = 120000; // milliseconds
-
-constexpr uint32_t SENSOR_READ_CNT = 20;
-constexpr double SENSOR_VAL_ADJUST = 0.05;
-
-class SensorCalibratorValues
-{
-public:
- double accel_x = 0;
- double accel_y = 0;
- double accel_z = 0;
-
- double gyro_x = 0;
- double gyro_y = 0;
- double gyro_z = 0;
-};
-
-/**
- * Sensor calibrator.
- */
-class SensorCalibrator
-{
-public:
- /**
- * Sensor calibrator.
- *
- * @param sensor A sensor to calibrate
- * @param sout A Serial output stream
- */
- SensorCalibrator(common::SharedPtr<Sensor> sensor,
- common::SharedPtr<SerialStream> sout);
-
- /**
- * Calibrates the sensor.
- *
- * @param throttle_time The sensor's throttle time
- * @returns Whether or not the calibration succeeded. Will return false on
- * timeout.
- */
- bool calibrate(unsigned int throttle_time);
-
-private:
- void _updateValues(SensorCalibratorValues &values);
- void _adjustCalibrationWithValues(const SensorCalibratorValues &values);
-
- static void _adjustValues(SensorCalibratorValues &values);
- static bool _isValuesInRange(const SensorCalibratorValues &values);
-
- common::SharedPtr<Sensor> _sensor;
- common::SharedPtr<SerialStream> _sout;
-};