summaryrefslogtreecommitdiff
path: root/src/calibration.hpp
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2022-02-15 12:33:52 +0100
committerHampusM <hampus@hampusmat.com>2022-02-15 12:33:52 +0100
commitbcdce9633dc351d3bc7f347a165348b8fab87cd9 (patch)
tree88c2f5d8f0c5fac2bca28e4b543e5209f3bc98fb /src/calibration.hpp
parent917adc6a2b6b166e37fc3d4f94b41488f0c245a5 (diff)
refactor: reorganize files & improve classes
Diffstat (limited to 'src/calibration.hpp')
-rw-r--r--src/calibration.hpp73
1 files changed, 0 insertions, 73 deletions
diff --git a/src/calibration.hpp b/src/calibration.hpp
deleted file mode 100644
index e29602a..0000000
--- a/src/calibration.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#pragma once
-
-#include "sensor/sensor.hpp"
-#include "utils/memory.hpp"
-#include "utils/serial.hpp"
-
-// Calibration precision
-constexpr float ACCEL_CAL_X_MAX = 0.006;
-constexpr float ACCEL_CAL_X_MIN = -0.006;
-
-constexpr float ACCEL_CAL_Y_MAX = 0.006;
-constexpr float ACCEL_CAL_Y_MIN = -0.006;
-
-constexpr float ACCEL_CAL_Z_MAX = 0.006;
-constexpr float ACCEL_CAL_Z_MIN = -0.006;
-
-constexpr float GYRO_CAL_X_MAX = 0.06;
-constexpr float GYRO_CAL_X_MIN = -0.06;
-
-constexpr float GYRO_CAL_Y_MAX = 0.06;
-constexpr float GYRO_CAL_Y_MIN = -0.06;
-
-constexpr float GYRO_CAL_Z_MAX = 0.06;
-constexpr float GYRO_CAL_Z_MIN = -0.06;
-
-constexpr uint32_t CALIBRATION_TIMEOUT = 120000; // Milliseconds
-
-constexpr unsigned int SENSOR_READ_CNT = 20;
-constexpr float SENSOR_VAL_ADJUST = 0.05;
-
-/**
- * Sensor calibrator.
- */
-class SensorCalibrator
-{
-public:
- /**
- * Sensor calibrator.
- *
- * @param sensor A sensor to calibrate
- * @param sout A Serial output stream
- */
- SensorCalibrator(UniquePtr<Sensor> &sensor, 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 _resetValues();
- void _updateValues();
- void _adjustValues();
- bool _isValuesInRange();
-
- void _adjustCalibration();
-
- UniquePtr<Sensor> &_sensor;
-
- SerialStream _sout;
-
- double _accel_x = 0;
- double _accel_y = 0;
- double _accel_z = 0;
-
- double _gyro_x = 0;
- double _gyro_y = 0;
- double _gyro_z = 0;
-};