diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2014-08-18 14:36:00 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@digia.com> | 2014-08-25 14:03:12 +0200 |
commit | 1da3df99c196ed89696b4c8a10cfd8b191b8b0f0 (patch) | |
tree | 64ccda4f1d59a509b04595e3830bf009d156162c /examples | |
parent | ac0b7ac671d74878f2821241fd32e26090d60108 (diff) |
Provide a documentation overview for Bluetooth LE
Change-Id: I252c085f5b3ea6ccc2820a1f59d9228745ae2900
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/bluetooth/heartlistener/heartrate.cpp | 33 | ||||
-rw-r--r-- | examples/bluetooth/heartlistener/heartrate.h | 2 |
2 files changed, 26 insertions, 9 deletions
diff --git a/examples/bluetooth/heartlistener/heartrate.cpp b/examples/bluetooth/heartlistener/heartrate.cpp index ac61a076..6567fb90 100644 --- a/examples/bluetooth/heartlistener/heartrate.cpp +++ b/examples/bluetooth/heartlistener/heartrate.cpp @@ -46,6 +46,7 @@ HeartRate::HeartRate(): m_max(0), m_min(0), calories(0), m_control(0), timer(0), m_service(0) { + //! [devicediscovery-1] m_deviceDiscoveryAgent = new QBluetoothDeviceDiscoveryAgent(this); connect(m_deviceDiscoveryAgent, SIGNAL(deviceDiscovered(const QBluetoothDeviceInfo&)), @@ -53,6 +54,7 @@ HeartRate::HeartRate(): connect(m_deviceDiscoveryAgent, SIGNAL(error(QBluetoothDeviceDiscoveryAgent::Error)), this, SLOT(deviceScanError(QBluetoothDeviceDiscoveryAgent::Error))); connect(m_deviceDiscoveryAgent, SIGNAL(finished()), this, SLOT(scanFinished())); + //! [devicediscovery-1] // initialize random seed for demo mode qsrand(QTime::currentTime().msec()); @@ -68,21 +70,27 @@ void HeartRate::deviceSearch() { qDeleteAll(m_devices); m_devices.clear(); + //! [devicediscovery-2] m_deviceDiscoveryAgent->start(); + //! [devicediscovery-2] setMessage("Scanning for devices..."); } +//! [devicediscovery-3] void HeartRate::addDevice(const QBluetoothDeviceInfo &device) { if (device.coreConfigurations() & QBluetoothDeviceInfo::LowEnergyCoreConfiguration) { qWarning() << "Discovered LE Device name: " << device.name() << " Address: " << device.address().toString(); - +//! [devicediscovery-3] DeviceInfo *dev = new DeviceInfo(device); m_devices.append(dev); setMessage("Low Energy device found. Scanning for more..."); +//! [devicediscovery-4] } + //... } +//! [devicediscovery-4] void HeartRate::scanFinished() { @@ -153,16 +161,17 @@ void HeartRate::connectToService(const QString &address) connect(m_control, SIGNAL(error(QLowEnergyController::Error)), this, SLOT(controllerError(QLowEnergyController::Error))); connect(m_control, SIGNAL(connected()), - this, SLOT(serviceConnected())); + this, SLOT(deviceConnected())); + connect(m_control, SIGNAL(disconnected()), + this, SLOT(deviceDisconnected())); m_control->connectToDevice(); //! [Connect signals] } -// TODO fix the qdoc tag below //! [Connecting to service] -void HeartRate::serviceConnected() +void HeartRate::deviceConnected() { m_control->discoverServices(); } @@ -173,7 +182,9 @@ void HeartRate::deviceDisconnected() qWarning() << "Remote device disconnected"; } +//! [Connecting to service] +//! [Filter HeartRate service 1] void HeartRate::serviceDiscovered(const QBluetoothUuid &gatt) { if (gatt == QBluetoothUuid(QBluetoothUuid::HeartRate)) { @@ -181,12 +192,14 @@ void HeartRate::serviceDiscovered(const QBluetoothUuid &gatt) foundHeartRateService = true; } } +//! [Filter HeartRate service 1] void HeartRate::serviceScanDone() { delete m_service; m_service = 0; + //! [Filter HeartRate service 2] if (foundHeartRateService) { setMessage("Connecting to service..."); m_service = m_control->createServiceObject( @@ -206,10 +219,9 @@ void HeartRate::serviceScanDone() this, SLOT(confirmedDescriptorWrite(QLowEnergyDescriptor,QByteArray))); m_service->discoverDetails(); + //! [Filter HeartRate service 2] } -//! [Connecting to service] - void HeartRate::disconnectService() { foundHeartRateService = false; @@ -240,6 +252,7 @@ void HeartRate::controllerError(QLowEnergyController::Error error) //! [Error handling] +//! [Find HRM characteristic] void HeartRate::serviceStateChanged(QLowEnergyService::ServiceState s) { switch (s) { @@ -267,6 +280,7 @@ void HeartRate::serviceStateChanged(QLowEnergyService::ServiceState s) break; } } +//! [Find HRM characteristic] void HeartRate::serviceError(QLowEnergyService::ServiceError e) { @@ -279,6 +293,7 @@ void HeartRate::serviceError(QLowEnergyService::ServiceError e) } } +//! [Reading value 1] void HeartRate::updateHeartRateValue(const QLowEnergyCharacteristic &c, const QByteArray &value) { @@ -286,7 +301,7 @@ void HeartRate::updateHeartRateValue(const QLowEnergyCharacteristic &c, if (c.uuid() != QBluetoothUuid(QBluetoothUuid::HeartRateMeasurement)) return; - //! [Reading value] + const char *data = value.constData(); quint8 flags = data[0]; @@ -307,10 +322,12 @@ void HeartRate::updateHeartRateValue(const QLowEnergyCharacteristic &c, quint16 *energy = (quint16 *) &data[index]; qDebug() << "Used Energy:" << *energy; } - //! [Reading value] + //! [Reading value 1] Q_EMIT hrChanged(); +//! [Reading value 2] } +//! [Reading value 2] void HeartRate::confirmedDescriptorWrite(const QLowEnergyDescriptor &d, const QByteArray &value) diff --git a/examples/bluetooth/heartlistener/heartrate.h b/examples/bluetooth/heartlistener/heartrate.h index 65e92af8..8f5ee061 100644 --- a/examples/bluetooth/heartlistener/heartrate.h +++ b/examples/bluetooth/heartlistener/heartrate.h @@ -103,7 +103,7 @@ private slots: void serviceDiscovered(const QBluetoothUuid &); void serviceScanDone(); void controllerError(QLowEnergyController::Error); - void serviceConnected(); + void deviceConnected(); void deviceDisconnected(); |