diff options
Diffstat (limited to 'src/plugins/sensors')
-rw-r--r-- | src/plugins/sensors/blackberry/bbdistancesensor.cpp | 58 | ||||
-rw-r--r-- | src/plugins/sensors/blackberry/bbdistancesensor.h | 60 | ||||
-rw-r--r-- | src/plugins/sensors/blackberry/blackberry.pro | 2 | ||||
-rw-r--r-- | src/plugins/sensors/blackberry/main.cpp | 6 | ||||
-rw-r--r-- | src/plugins/sensors/generic/genericalssensor.h | 6 | ||||
-rw-r--r-- | src/plugins/sensors/generic/genericorientationsensor.h | 6 | ||||
-rw-r--r-- | src/plugins/sensors/generic/genericrotationsensor.h | 8 | ||||
-rw-r--r-- | src/plugins/sensors/generic/generictiltsensor.h | 6 | ||||
-rw-r--r-- | src/plugins/sensors/generic/main.cpp | 6 | ||||
-rw-r--r-- | src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp | 16 | ||||
-rw-r--r-- | src/plugins/sensors/sensorfw/sensorfwproximitysensor.h | 1 |
11 files changed, 149 insertions, 26 deletions
diff --git a/src/plugins/sensors/blackberry/bbdistancesensor.cpp b/src/plugins/sensors/blackberry/bbdistancesensor.cpp new file mode 100644 index 00000000..c40845a4 --- /dev/null +++ b/src/plugins/sensors/blackberry/bbdistancesensor.cpp @@ -0,0 +1,58 @@ +/**************************************************************************** +** +** Copyright (C) 2014 BlackBerry Limited. All rights reserved. +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtSensors module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include "bbdistancesensor.h" + +BbDistanceSensor::BbDistanceSensor(QSensor *sensor) + : BbSensorBackend<QDistanceReading>(devicePath(), SENSOR_TYPE_PROXIMITY, sensor) +{ + setDescription(QLatin1String("Distance")); +} + +QString BbDistanceSensor::devicePath() +{ + return QLatin1String("/dev/sensor/prox"); +} + +bool BbDistanceSensor::updateReadingFromEvent(const sensor_event_t &event, QDistanceReading *reading) +{ + reading->setDistance(event.proximity_s.distance); + return true; +} diff --git a/src/plugins/sensors/blackberry/bbdistancesensor.h b/src/plugins/sensors/blackberry/bbdistancesensor.h new file mode 100644 index 00000000..c9ea48fe --- /dev/null +++ b/src/plugins/sensors/blackberry/bbdistancesensor.h @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2014 BlackBerry Limited. All rights reserved. +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtSensors module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef BBDISTANCESENSOR_H +#define BBDISTANCESENSOR_H + +#include "bbsensorbackend.h" +#include <qdistancesensor.h> + +class BbDistanceSensor : public BbSensorBackend<QDistanceReading> +{ + Q_OBJECT + +public: + explicit BbDistanceSensor(QSensor *sensor); + + static QString devicePath(); + +protected: + bool updateReadingFromEvent(const sensor_event_t &event, QDistanceReading *reading) Q_DECL_OVERRIDE; +}; + +#endif diff --git a/src/plugins/sensors/blackberry/blackberry.pro b/src/plugins/sensors/blackberry/blackberry.pro index 8095cf16..2b0a9541 100644 --- a/src/plugins/sensors/blackberry/blackberry.pro +++ b/src/plugins/sensors/blackberry/blackberry.pro @@ -22,6 +22,7 @@ HEADERS += bbsensorbackend.h \ bbaltimeter.h \ bbambientlightsensor.h \ bbcompass.h \ + bbdistancesensor.h \ bbgyroscope.h \ bbirproximitysensor.h \ bblightsensor.h \ @@ -39,6 +40,7 @@ SOURCES += bbsensorbackend.cpp \ bbaltimeter.cpp \ bbambientlightsensor.cpp \ bbcompass.cpp \ + bbdistancesensor.cpp \ bbgyroscope.cpp \ bbirproximitysensor.cpp \ bblightsensor.cpp \ diff --git a/src/plugins/sensors/blackberry/main.cpp b/src/plugins/sensors/blackberry/main.cpp index 61f9aa08..9037e66b 100644 --- a/src/plugins/sensors/blackberry/main.cpp +++ b/src/plugins/sensors/blackberry/main.cpp @@ -54,6 +54,7 @@ #include "bbproximitysensor.h" #include "bbrotationsensor.h" #include "bbtemperaturesensor.h" +#include "bbdistancesensor.h" #include "bbguihelper.h" #include <qsensormanager.h> @@ -75,6 +76,7 @@ static const char *bbPressureSensorId = "bbPressureSensor"; static const char *bbProximitySensorId = "bbProximitySensor"; static const char *bbRotationSensorId = "bbRotationSensor"; static const char *bbTemperatureSensorId = "bbTemperatureSensor"; +static const char *bbDistanceSensorId = "bbDistanceSensor"; class BbSensorPlugin : public QObject, public QSensorPluginInterface, public QSensorBackendFactory { @@ -115,6 +117,8 @@ public: QSensorManager::registerBackend(QRotationSensor::type, bbRotationSensorId, this); if (sensorSupported(BbTemperatureSensor::devicePath())) QSensorManager::registerBackend(QAmbientTemperatureSensor::type, bbTemperatureSensorId, this); + if (sensorSupported(BbDistanceSensor::devicePath())) + QSensorManager::registerBackend(QDistanceSensor::type, bbDistanceSensorId, this); } QSensorBackend *createBackend(QSensor *sensor) Q_DECL_OVERRIDE @@ -150,6 +154,8 @@ public: backend = new BbRotationSensor(sensor); if (sensor->identifier() == bbTemperatureSensorId) backend = new BbTemperatureSensor(sensor); + if (sensor->identifier() == bbDistanceSensorId) + backend = new BbDistanceSensor(sensor); backend->initSensorInfo(); backend->setGuiHelper(&m_guiHelper); return backend; diff --git a/src/plugins/sensors/generic/genericalssensor.h b/src/plugins/sensors/generic/genericalssensor.h index 1ed6e76e..f9066522 100644 --- a/src/plugins/sensors/generic/genericalssensor.h +++ b/src/plugins/sensors/generic/genericalssensor.h @@ -42,9 +42,9 @@ #ifndef GENERICALSSENSOR_H #define GENERICALSSENSOR_H -#include <qsensorbackend.h> -#include <qlightsensor.h> -#include <qambientlightsensor.h> +#include <QtSensors/qsensorbackend.h> +#include <QtSensors/qlightsensor.h> +#include <QtSensors/qambientlightsensor.h> class genericalssensor : public QSensorBackend, public QLightFilter { diff --git a/src/plugins/sensors/generic/genericorientationsensor.h b/src/plugins/sensors/generic/genericorientationsensor.h index d1e7d343..95ec4ab8 100644 --- a/src/plugins/sensors/generic/genericorientationsensor.h +++ b/src/plugins/sensors/generic/genericorientationsensor.h @@ -42,9 +42,9 @@ #ifndef GENERICORIENTATIONSENSOR_H #define GENERICORIENTATIONSENSOR_H -#include <qsensorbackend.h> -#include <qorientationsensor.h> -#include <qaccelerometer.h> +#include <QtSensors/qsensorbackend.h> +#include <QtSensors/qorientationsensor.h> +#include <QtSensors/qaccelerometer.h> class genericorientationsensor : public QSensorBackend, public QAccelerometerFilter { diff --git a/src/plugins/sensors/generic/genericrotationsensor.h b/src/plugins/sensors/generic/genericrotationsensor.h index 693528fa..6b86eeae 100644 --- a/src/plugins/sensors/generic/genericrotationsensor.h +++ b/src/plugins/sensors/generic/genericrotationsensor.h @@ -42,10 +42,10 @@ #ifndef GENERICROTATIONSENSOR_H #define GENERICROTATIONSENSOR_H -#include <qsensorbackend.h> -#include <qrotationsensor.h> -#include <qaccelerometer.h> -#include <qmagnetometer.h> +#include <QtSensors/qsensorbackend.h> +#include <QtSensors/qrotationsensor.h> +#include <QtSensors/qaccelerometer.h> +#include <QtSensors/qmagnetometer.h> class genericrotationsensor : public QSensorBackend, public QSensorFilter { diff --git a/src/plugins/sensors/generic/generictiltsensor.h b/src/plugins/sensors/generic/generictiltsensor.h index f62c1f58..d781728f 100644 --- a/src/plugins/sensors/generic/generictiltsensor.h +++ b/src/plugins/sensors/generic/generictiltsensor.h @@ -42,9 +42,9 @@ #ifndef GENERICTILTSENSOR_H #define GENERICTILTSENSOR_H -#include <qsensorbackend.h> -#include <qtiltsensor.h> -#include <qaccelerometer.h> +#include <QtSensors/qsensorbackend.h> +#include <QtSensors/qtiltsensor.h> +#include <QtSensors/qaccelerometer.h> QT_BEGIN_NAMESPACE diff --git a/src/plugins/sensors/generic/main.cpp b/src/plugins/sensors/generic/main.cpp index aa9f58c2..dcaa4988 100644 --- a/src/plugins/sensors/generic/main.cpp +++ b/src/plugins/sensors/generic/main.cpp @@ -51,9 +51,9 @@ #ifdef QTSENSORS_GENERICTILTSENSOR #include "generictiltsensor.h" #endif -#include <qsensorplugin.h> -#include <qsensorbackend.h> -#include <qsensormanager.h> +#include <QtSensors/qsensorplugin.h> +#include <QtSensors/qsensorbackend.h> +#include <QtSensors/qsensormanager.h> #include <QFile> #include <QDebug> diff --git a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp index d98dfd1a..76ce38d6 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_exClose(false) - , m_initDone(false) + m_exClose(false), + m_initDone(false), + firstRun(true) { init(); setReading<QProximityReading>(&m_reading); @@ -57,12 +57,6 @@ SensorfwProximitySensor::SensorfwProximitySensor(QSensor *sensor) void SensorfwProximitySensor::start() { - 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(); } @@ -70,11 +64,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); |