added main menu added debug display many debug widgets for plotting live data worked on android live sensors added offline-data sensor feeding some dummy data sensors worked on the map display added ui debug for grid-points, particles and weights added a cool dude to display the estimation added real filtering based on the Indoor components c++11 fixes for android compilation online and offline filtering support new resampling technique for testing map loading via dialog
49 lines
966 B
C++
49 lines
966 B
C++
#ifndef GYROSCOPESENSORDUMMY_H
|
|
#define GYROSCOPESENSORDUMMY_H
|
|
|
|
#include "../GyroscopeSensor.h"
|
|
#include "RandomSensor.h"
|
|
#include <random>
|
|
|
|
class GyroscopeSensorDummy : public RandomSensor<GyroscopeData, GyroscopeSensor> {
|
|
|
|
private:
|
|
|
|
/** hidden ctor */
|
|
GyroscopeSensorDummy() : RandomSensor(Timestamp::fromMS(10)) {
|
|
;
|
|
}
|
|
|
|
public:
|
|
|
|
/** singleton access */
|
|
static GyroscopeSensorDummy& get() {
|
|
static GyroscopeSensorDummy gyro;
|
|
return gyro;
|
|
}
|
|
|
|
|
|
protected:
|
|
|
|
std::minstd_rand gen;
|
|
std::uniform_real_distribution<float> distNoise = std::uniform_real_distribution<float>(-0.1, +0.1);
|
|
|
|
GyroscopeData getRandomEntry() override {
|
|
|
|
const Timestamp ts = Timestamp::fromRunningTime();
|
|
|
|
const float Hz = 0.1;
|
|
const float intensity = 0.35;
|
|
|
|
const float x = distNoise(gen);
|
|
const float y = distNoise(gen);
|
|
const float z = std::sin(ts.sec()*2*M_PI*Hz) * intensity + distNoise(gen);
|
|
|
|
return GyroscopeData(x,y,z);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
#endif // GYROSCOPESENSORDUMMY_H
|