#ifndef ACCELEROMETERSENSORDUMMY_H #define ACCELEROMETERSENSORDUMMY_H #include "../AccelerometerSensor.h" #include "RandomSensor.h" #include class AccelerometerSensorDummy : public RandomSensor { private: /** hidden ctor */ AccelerometerSensorDummy() : RandomSensor(Timestamp::fromMS(10)) { ; } public: /** singleton access */ static AccelerometerSensorDummy& get() { static AccelerometerSensorDummy acc; return acc; } protected: std::minstd_rand gen; std::uniform_real_distribution distNoise = std::uniform_real_distribution(-0.5, +0.5); AccelerometerData getRandomEntry() override { const Timestamp ts = Timestamp::fromRunningTime(); const float Hz = 1.6; const float intensity = 2.0; const float x = distNoise(gen); const float y = distNoise(gen); const float z = 9.81 + std::sin(ts.sec()*2*M_PI*Hz) * intensity + distNoise(gen); return AccelerometerData(x,y,z); } }; #endif // ACCELEROMETERSENSORDUMMY_H