added opertaor << and fix remove calibration

This commit is contained in:
2023-05-25 17:10:42 +02:00
parent 49e0c2d1ef
commit b9be10e063
2 changed files with 24 additions and 5 deletions
+21 -5
View File
@@ -73,14 +73,11 @@ void CalibrateCompass::start() {
this->clearData(); this->clearData();
this->state = State::Calibrating; this->state = State::Calibrating;
this->compass->setCalibration(0, 0, 0, 0, 0, 0); this->compass->removeCalibration();
this->lastChange = millis(); this->lastChange = millis();
} }
void CalibrateCompass::useData() { void CalibrateCompass::useData() {
if (this->state != State::Finished)
return;
this->compass->setCalibration( this->data.data[0][0], this->compass->setCalibration( this->data.data[0][0],
this->data.data[0][1], this->data.data[0][1],
this->data.data[1][0], this->data.data[1][0],
@@ -88,11 +85,13 @@ void CalibrateCompass::useData() {
this->data.data[2][0], this->data.data[2][0],
this->data.data[2][1] this->data.data[2][1]
); );
std::cout << "CalibrateCompass::useData " << *this << std::endl;
} }
void CalibrateCompass::resetData() { void CalibrateCompass::resetData() {
this->reset(); this->reset();
this->compass->setCalibration(0, 0, 0, 0, 0, 0); this->compass->removeCalibration();
} }
void CalibrateCompass::reset() { void CalibrateCompass::reset() {
@@ -137,3 +136,20 @@ void CalibrateCompass::clearData() {
this->data.data[i][1] = 0; this->data.data[i][1] = 0;
} }
} }
std::ostream& operator<<(std::ostream& os, const CalibrateCompass& caliComp) {
os << "(";
os << caliComp.data.data[0][0];
os << ", ";
os << caliComp.data.data[0][1];
os << ", ";
os << caliComp.data.data[1][0];
os << ", ";
os << caliComp.data.data[1][1];
os << ", ";
os << caliComp.data.data[2][0];
os << ", ";
os << caliComp.data.data[2][1];
os << ")";
return os;
}
+3
View File
@@ -13,6 +13,7 @@
#include <QMC5883LCompass.h> #include <QMC5883LCompass.h>
#include <Preferences.h> #include <Preferences.h>
#include <iostream>
class CalibrateCompass { class CalibrateCompass {
public: public:
@@ -39,6 +40,8 @@ class CalibrateCompass {
State getState() const { return this->state; } State getState() const { return this->state; }
CallibrationData getCallibrationData() const { return this->data; } CallibrationData getCallibrationData() const { return this->data; }
friend std::ostream& operator<<(std::ostream& os, const CalibrateCompass& caliComp);
private: private:
QMC5883LCompass* compass; QMC5883LCompass* compass;
State state; State state;