diff options
Diffstat (limited to 'src/plugins/sensors/sensorfw')
-rw-r--r-- | src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp | 14 | ||||
-rw-r--r-- | src/plugins/sensors/sensorfw/sensorfwproximitysensor.h | 1 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp index b8d782d9..8f949ff1 100644 --- a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp +++ b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp @@ -42,12 +42,12 @@ #include "sensorfwproximitysensor.h" char const * const SensorfwProximitySensor::id("sensorfw.proximitysensor"); -//bool SensorfwProximitySensor::m_initDone = false; SensorfwProximitySensor::SensorfwProximitySensor(QSensor *sensor) : SensorfwSensorBase(sensor), m_initDone(false), - m_exClose(false) + m_exClose(false), + firstRun(true) { init(); setReading<QProximityReading>(&m_reading); @@ -59,12 +59,6 @@ void SensorfwProximitySensor::start() { if (reinitIsNeeded) init(); - if (m_sensorInterface) { - Unsigned data(((ProximitySensorChannelInterface*)m_sensorInterface)->proximity()); - m_reading.setClose(data.x()? true: false); - m_reading.setTimestamp(data.UnsignedData().timestamp_); - newReadingAvailable(); - } SensorfwSensorBase::start(); } @@ -72,11 +66,13 @@ void SensorfwProximitySensor::start() void SensorfwProximitySensor::slotDataAvailable(const Unsigned& data) { bool close = data.x()? true: false; - if (close == m_exClose) return; + if (!firstRun && close == m_exClose) return; m_reading.setClose(close); m_reading.setTimestamp(data.UnsignedData().timestamp_); newReadingAvailable(); m_exClose = close; + if (firstRun) + firstRun = false; } bool SensorfwProximitySensor::doConnect() diff --git a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h index caaa9b97..a9352fb7 100644 --- a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h +++ b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h @@ -66,6 +66,7 @@ private: QProximityReading m_reading; bool m_initDone; bool m_exClose; + bool firstRun; private slots: void slotDataAvailable(const Unsigned& data); |