-
Notifications
You must be signed in to change notification settings - Fork 214
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #134 from polldo/example-enhanced-advertising
Add enhanced advertising examples
- Loading branch information
Showing
2 changed files
with
85 additions
and
0 deletions.
There are no files selected for viewing
44 changes: 44 additions & 0 deletions
44
examples/Peripheral/Advertising/EnhancedAdvertising/EnhancedAdvertising.ino
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#include <ArduinoBLE.h> | ||
|
||
BLEService myService("fff0"); | ||
BLEIntCharacteristic myCharacteristic("fff1", BLERead | BLEBroadcast); | ||
|
||
// Advertising parameters should have a global scope. Do NOT define them in 'setup' or in 'loop' | ||
const uint8_t manufactData[4] = {0x01, 0x02, 0x03, 0x04}; | ||
const uint8_t serviceData[3] = {0x00, 0x01, 0x02}; | ||
|
||
void setup() { | ||
Serial.begin(9600); | ||
while (!Serial); | ||
|
||
if (!BLE.begin()) { | ||
Serial.println("failed to initialize BLE!"); | ||
while (1); | ||
} | ||
|
||
myService.addCharacteristic(myCharacteristic); | ||
BLE.addService(myService); | ||
|
||
// Build scan response data packet | ||
BLEAdvertisingData scanData; | ||
// Set parameters for scan response packet | ||
scanData.setLocalName("Test enhanced advertising"); | ||
// Copy set parameters in the actual scan response packet | ||
BLE.setScanResponseData(scanData); | ||
|
||
// Build advertising data packet | ||
BLEAdvertisingData advData; | ||
// Set parameters for advertising packet | ||
advData.setManufacturerData(0x004C, manufactData, sizeof(manufactData)); | ||
advData.setAdvertisedService(myService); | ||
advData.setAdvertisedServiceData(0xfff0, serviceData, sizeof(serviceData)); | ||
// Copy set parameters in the actual advertising packet | ||
BLE.setAdvertisingData(advData); | ||
|
||
BLE.advertise(); | ||
Serial.println("advertising ..."); | ||
} | ||
|
||
void loop() { | ||
BLE.poll(); | ||
} |
41 changes: 41 additions & 0 deletions
41
examples/Peripheral/Advertising/RawDataAdvertising/RawDataAdvertising.ino
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#include <ArduinoBLE.h> | ||
|
||
BLEService myService("fff0"); | ||
BLEIntCharacteristic myCharacteristic("fff1", BLERead | BLEBroadcast); | ||
|
||
// Advertising parameters should have a global scope. Do NOT define them in 'setup' or in 'loop' | ||
const uint8_t completeRawAdvertisingData[] = {0x02,0x01,0x06,0x09,0xff,0x01,0x01,0x00,0x01,0x02,0x03,0x04,0x05}; | ||
|
||
void setup() { | ||
Serial.begin(9600); | ||
while (!Serial); | ||
|
||
if (!BLE.begin()) { | ||
Serial.println("failed to initialize BLE!"); | ||
while (1); | ||
} | ||
|
||
myService.addCharacteristic(myCharacteristic); | ||
BLE.addService(myService); | ||
|
||
// Build advertising data packet | ||
BLEAdvertisingData advData; | ||
// If a packet has a raw data parameter, then all the other parameters of the packet will be ignored | ||
advData.setRawData(completeRawAdvertisingData, sizeof(completeRawAdvertisingData)); | ||
// Copy set parameters in the actual advertising packet | ||
BLE.setAdvertisingData(advData); | ||
|
||
// Build scan response data packet | ||
BLEAdvertisingData scanData; | ||
scanData.setLocalName("Test advertising raw data"); | ||
// Copy set parameters in the actual scan response packet | ||
BLE.setScanResponseData(scanData); | ||
|
||
BLE.advertise(); | ||
|
||
Serial.println("advertising ..."); | ||
} | ||
|
||
void loop() { | ||
BLE.poll(); | ||
} |