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
kazu 44f9b6ac80 performance enhancements
memory enhancements
prevent starting sensors more than once
fix for wifi lag issues
map scaling for huge buildings
2016-10-01 10:21:15 +02:00

65 lines
985 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() {
;
}
bool started = false;
public:
/** singleton access */
static BarometerSensorAndroid& get() {
static BarometerSensorAndroid baro;
return baro;
}
void start() override {
if (started) {return;}
started = true;
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 started;
}
void stop() override {
throw "TODO";
}
};
#endif
#endif // BAROMETERSENSORANDROID_H