diff --git a/docs/api.md b/docs/api.md index 636fe52c..49ab1067 100644 --- a/docs/api.md +++ b/docs/api.md @@ -252,6 +252,39 @@ None Serial.println(address); +``` + +### `BLE.address(uint8_t* address)` + +Query the Bluetooth® address of the Bluetooth® Low Energy device. + +#### Syntax + +``` +uint8_t address[6]; +BLE.address(address) + +``` + +#### Parameters + +None + +#### Returns +- The **Bluetooth® address** of the Bluetooth® Low Energy device (as a array of byte). + +#### Example + +```arduino + + uint8_t address[6]; + BLE.address(address); + + Serial.print(“Local address is: “); + for(int i=0;i<6;i++) + Serial.print(address[i], HEX); + + ``` ### `BLE.rssi()` diff --git a/src/BLEDevice.cpp b/src/BLEDevice.cpp index 5f64c1d6..75e10bae 100644 --- a/src/BLEDevice.cpp +++ b/src/BLEDevice.cpp @@ -80,6 +80,12 @@ String BLEDevice::address() const return result; } +void BLEDevice::address(uint8_t* address) const +{ + memcpy( address, _address, sizeof(_address) ); +} + + bool BLEDevice::hasLocalName() const { return (localName().length() > 0); diff --git a/src/BLEDevice.h b/src/BLEDevice.h index bf710744..955badba 100644 --- a/src/BLEDevice.h +++ b/src/BLEDevice.h @@ -48,6 +48,7 @@ class BLEDevice { virtual bool disconnect(); virtual String address() const; + virtual void address(uint8_t* address) const; bool hasLocalName() const;