Files
Bachelorarbeit-Rover/lib/calibrateCompass/calibrateCompass.h
T
kleiax 1b25f59719 added possibility to save and load the data
from flash for compass calibration
2023-05-24 11:41:07 +02:00

53 lines
1.0 KiB
C++

/**
* @file calibrateCompass.h
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2023-05-23
*
* @copyright Copyright (c) 2023
*
*/
#pragma once
#include <QMC5883LCompass.h>
#include <Preferences.h>
class CalibrateCompass {
public:
enum State {
Ready,
Calibrating,
Finished
};
struct CallibrationData {
int data[3][2];
};
CalibrateCompass(QMC5883LCompass* compass);
void loop();
void start();
void useData();
void resetData();
void reset();
void saveData();
void loadData();
State getState() const { return this->state; }
CallibrationData getCallibrationData() const { return this->data; }
private:
QMC5883LCompass* compass;
State state;
CallibrationData data;
void clearData();
bool newData = false;
const uint16_t maxTimeWithoutChange = 5000;
uint32_t lastChange = 0;
};