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; }