From bcdce9633dc351d3bc7f347a165348b8fab87cd9 Mon Sep 17 00:00:00 2001 From: HampusM Date: Tue, 15 Feb 2022 12:33:52 +0100 Subject: refactor: reorganize files & improve classes --- src/calibration.hpp | 73 ----------------------------------------------------- 1 file changed, 73 deletions(-) delete mode 100644 src/calibration.hpp (limited to 'src/calibration.hpp') 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, 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; - - 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; -}; -- cgit v1.2.3-18-g5258