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/android/BarometerSensorAndroid.h
2016-09-28 12:16:45 +02:00

60 lines
925 B
C++

#ifndef BAROMETERSENSORANDROID_H
#define BAROMETERSENSORANDROID_H
#ifdef ANDROID
#include <sstream>
#include "../BarometerSensor.h"
#include <QtSensors/QPressureSensor>
#include "../AccelerometerSensor.h"
class BarometerSensorAndroid : public BarometerSensor {
private:
QPressureSensor baro;
/** hidden ctor. use singleton */
BarometerSensorAndroid() {
;
}
public:
/** singleton access */
static BarometerSensorAndroid& get() {
static BarometerSensorAndroid baro;
return baro;
}
void start() override {
auto onSensorData = [&] () {
BarometerData data(baro.reading()->pressure() / 100.0f); // convert Pa to hPa
informListeners(data);
};
baro.connect(&baro, &QPressureSensor::readingChanged, onSensorData);
baro.start();
}
bool isRunning() const override {
return baro.isActive();
}
void stop() override {
throw "TODO";
}
};
#endif
#endif // BAROMETERSENSORANDROID_H