diff options
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(); } |