From cc9f21a1f42c1310b25574e4273e19a7a4ce39d0 Mon Sep 17 00:00:00 2001 From: lianggao Date: Mon, 13 Feb 2017 09:18:48 +0800 Subject: [PATCH] Jira 832 Sample Sketch to exercise the BLEbroadcast option. 1. Add example sketch libraries/CurieBLE/examples/peripheral/broadcast 2. Fix the CurieBLE can't send Advertisement when call broadcast. --- .../peripheral/broadcast/broadcast.ino | 30 +++++++++++++++++++ libraries/CurieBLE/src/BLECharacteristic.cpp | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 libraries/CurieBLE/examples/peripheral/broadcast/broadcast.ino diff --git a/libraries/CurieBLE/examples/peripheral/broadcast/broadcast.ino b/libraries/CurieBLE/examples/peripheral/broadcast/broadcast.ino new file mode 100644 index 00000000..bd15fda3 --- /dev/null +++ b/libraries/CurieBLE/examples/peripheral/broadcast/broadcast.ino @@ -0,0 +1,30 @@ +#include + +uint8_t value = 0; + +BLEService service = BLEService("EEE0"); +BLEShortCharacteristic characteristic = BLEShortCharacteristic("EEE1", BLERead | BLENotify | BLEBroadcast); + +void setup() { + Serial.begin(9600); + + BLE.setLocalName("BLEBroadcast"); + BLE.setAdvertisedServiceUuid(service.uuid()); + + BLE.addService(service); + service.addCharacteristic(characteristic); + + characteristic.setValue(value); + + BLE.begin(); + characteristic.broadcast(); + + Serial.println(F("BLE Broadcast Count")); +} + +void loop() { + BLE.poll(); + characteristic.setValue(value); + delay(1000); + value++; +} diff --git a/libraries/CurieBLE/src/BLECharacteristic.cpp b/libraries/CurieBLE/src/BLECharacteristic.cpp index f8432b11..009e2709 100644 --- a/libraries/CurieBLE/src/BLECharacteristic.cpp +++ b/libraries/CurieBLE/src/BLECharacteristic.cpp @@ -294,8 +294,8 @@ bool BLECharacteristic::broadcast() if (BLEDeviceManager::instance()->advertising()) { BLEDeviceManager::instance()->stopAdvertising(); - BLEDeviceManager::instance()->startAdvertising(); } + BLEDeviceManager::instance()->startAdvertising(); return _broadcast; }