diff options
Diffstat (limited to 'src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp')
-rw-r--r-- | src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp | 14 |
1 files changed, 5 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() |