diff options
author | Kari Hautamäki <kari.hautamaki@qt.io> | 2017-02-13 10:28:20 +0200 |
---|---|---|
committer | Titta Heikkala <titta.heikkala@qt.io> | 2017-02-15 07:56:58 +0000 |
commit | 4b5beeedda5e129018c167dd0a5cd1f17fc5c246 (patch) | |
tree | b96df903324ce8f080c9af97c98488d39aab4905 /tradeshow/iot-sensortag/bluetoothdevice.cpp | |
parent | cacd82b316c8632edde4c37e92d0c0e9747bf5d6 (diff) |
iot-sensortag: Add sensor tag setup for Embedded World
- Added two sensor tags with unique capabilities by faking that each
provide only a subset of available sensor data
Change-Id: I9b7ad9f7b41ea7c5abaad0bc3fbe063219b19a9e
Reviewed-by: Titta Heikkala <titta.heikkala@qt.io>
Diffstat (limited to 'tradeshow/iot-sensortag/bluetoothdevice.cpp')
-rw-r--r-- | tradeshow/iot-sensortag/bluetoothdevice.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/tradeshow/iot-sensortag/bluetoothdevice.cpp b/tradeshow/iot-sensortag/bluetoothdevice.cpp index 4f6abe9..c37a5ea 100644 --- a/tradeshow/iot-sensortag/bluetoothdevice.cpp +++ b/tradeshow/iot-sensortag/bluetoothdevice.cpp @@ -56,7 +56,6 @@ #include <QLoggingCategory> #include <QList> #include <QTimer> -#include <QDebug> #include <QtMath> #include <QDateTime> #include "bluetoothapiconstants.h" @@ -264,6 +263,7 @@ void BluetoothDevice::temperatureDetailsDiscovered(QLowEnergyService::ServiceSta } m_temperatureMeasurementStarted = true; + isDeviceReady(); } } @@ -302,6 +302,7 @@ void BluetoothDevice::barometerDetailsDiscovered(QLowEnergyService::ServiceState } m_barometerMeasurementStarted = true; + isDeviceReady(); } } @@ -341,6 +342,7 @@ void BluetoothDevice::humidityDetailsDiscovered(QLowEnergyService::ServiceState } m_humidityMeasurementStarted = true; + isDeviceReady(); } } @@ -380,6 +382,7 @@ void BluetoothDevice::lightIntensityDetailsDiscovered(QLowEnergyService::Service } m_lightIntensityMeasurementStarted = true; + isDeviceReady(); } } @@ -421,6 +424,7 @@ void BluetoothDevice::motionDetailsDiscovered(QLowEnergyService::ServiceState ne motionService->writeCharacteristic(characteristic, QByteArray::fromHex(SENSORTAG_RAPID_TIMER_TIMEOUT_STR), QLowEnergyService::WriteWithResponse); } m_motionMeasurementStarted = true; + isDeviceReady(); } } @@ -466,6 +470,15 @@ double BluetoothDevice::convertIrTemperatureAPIReadingToCelsius(quint16 rawReadi return t * SCALE_LSB; } +void BluetoothDevice::isDeviceReady() const +{ + if (m_temperatureMeasurementStarted && + m_humidityMeasurementStarted && + m_lightIntensityMeasurementStarted && + m_motionMeasurementStarted) + setState(DeviceState::Connected); +} + void BluetoothDevice::irTemperatureReceived(const QByteArray &value) { const unsigned int rawObjectTemperature = (((quint8)value.at(3)) << 8) + ((quint8)value.at(2)); @@ -551,7 +564,7 @@ void BluetoothDevice::motionReceived(const QByteArray &value) void BluetoothDevice::deviceConnected() { - setState(DeviceState::Connected); + setState(DeviceState::Scanning); statusUpdated("(Discovering services...)"); controller->discoverServices(); } |