This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
YASMIN/sensors/dummy/CompassSensorDummy.h
kazu b0712ec005 added gps support
added compass support
added ui elements for gps and compass
added support for writing sensor data
2017-03-21 16:27:14 +01:00

44 lines
842 B
C++

#ifndef COMPASSSENSORDUMMY_H
#define COMPASSSENSORDUMMY_H
#include "../CompassSensor.h"
#include "RandomSensor.h"
#include <random>
class CompassSensorDummy : public RandomSensor<CompassData, CompassSensor> {
private:
std::thread thread;
/** hidden ctor */
CompassSensorDummy() : RandomSensor(Timestamp::fromMS(100)) {
;
}
public:
/** singleton access */
static CompassSensorDummy& get() {
static CompassSensorDummy compass;
return compass;
}
protected:
std::minstd_rand gen;
std::uniform_real_distribution<float> distNoise = std::uniform_real_distribution<float>(-0.07, +0.07);
CompassData getRandomEntry() override {
const Timestamp ts = Timestamp::fromRunningTime();
const float azimuth = 0 + std::sin(ts.sec()) * 0.5 + distNoise(gen);
return CompassData(azimuth);
}
};
#endif // COMPASSSENSORDUMMY_H