aboutsummaryrefslogtreecommitdiff
path: root/apps/ble-read-characteristic.cpp
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2018-11-22 19:30:14 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2018-11-22 22:34:59 +0100
commitd88eee8fcf23e20ae76b3dd346b36af693849ccd (patch)
tree31407c1ef67b8e6a7f96189fc29906d70500346e /apps/ble-read-characteristic.cpp
parente8aa2eadf309fbc0c0e1418c6bee482e505fa09b (diff)
downloadble-toys-d88eee8fcf23e20ae76b3dd346b36af693849ccd.tar.gz
ble-toys-d88eee8fcf23e20ae76b3dd346b36af693849ccd.tar.bz2
ble-toys-d88eee8fcf23e20ae76b3dd346b36af693849ccd.tar.xz
ble-toys-d88eee8fcf23e20ae76b3dd346b36af693849ccd.zip
o Working enabling of notifications.
Diffstat (limited to 'apps/ble-read-characteristic.cpp')
-rw-r--r--apps/ble-read-characteristic.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/apps/ble-read-characteristic.cpp b/apps/ble-read-characteristic.cpp
index 8a0a7b6..a11b0cf 100644
--- a/apps/ble-read-characteristic.cpp
+++ b/apps/ble-read-characteristic.cpp
@@ -1,5 +1,6 @@
#include <stdexcept>
#include <iostream>
+#include <thread>
#include <vector>
#include <boost/uuid/uuid_io.hpp>
#include "ble/Bluetooth.h"
@@ -100,8 +101,18 @@ public:
cout << "Got data, size=" << response.getSize() << endl;
} else if (op_mode == op::NOTIFY) {
auto cccd = characteristic.get()->getDescriptor(trygvis::bluetooth::uuids::CLIENT_CHARACTERISTIC_CONFIG);
-// cccd->setValue(BluetoothGattDescriptor::ENABLE_NOTIFICATION_VALUE);
- gatt->setCharacteristicNotification(cccd, true);
+
+ if (!cccd) {
+ cout << "The characteristic does not have a CCCD" << endl;
+ } else {
+ cerr << "Enabling notifications" << endl;
+ cccd->setValue(ByteBuffer::wrapInitialized(BluetoothGattDescriptor::ENABLE_NOTIFICATION_VALUE));
+ gatt->setCharacteristicNotification(cccd, true);
+ gatt->write(cccd);
+
+ cout << "sleeping" << endl;
+ std::this_thread::sleep_for(10s);
+ }
} else {
cout << "Unsupported op mode." << endl;
}