File tree Expand file tree Collapse file tree 2 files changed +20
-2
lines changed
features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NORDIC_CORDIO/TARGET_NRF5x Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -313,6 +313,21 @@ void NRFCordioHCIDriver::start_reset_sequence()
313
313
CordioHCIDriver::start_reset_sequence ();
314
314
}
315
315
316
+ bool NRFCordioHCIDriver::get_random_static_address (ble::address_t & address)
317
+ {
318
+ /* Load address from nRF configuration. */
319
+ uint64_t devAddr = (((uint64_t )NRF_FICR->DEVICEADDR [0 ]) << 0 ) |
320
+ (((uint64_t )NRF_FICR->DEVICEADDR [1 ]) << 32 );
321
+
322
+ for (size_t i = 0 ; i < address.size (); ++i) {
323
+ address[i] = devAddr >> (i * 8 );
324
+ }
325
+
326
+ address[5 ] |= 0xC0 ; /* cf. "Static Address" (Vol C, Part 3, section 10.8.1) */
327
+ return true ;
328
+ }
329
+
330
+
316
331
ble::vendor::cordio::CordioHCIDriver& ble_cordio_get_hci_driver () {
317
332
static NRFCordioHCITransportDriver transport_driver;
318
333
@@ -344,6 +359,4 @@ void PlatformLoadBdAddress(uint8_t *pDevAddr)
344
359
pDevAddr[i] = devAddr >> (i * 8 );
345
360
i++;
346
361
}
347
-
348
- pDevAddr[5 ] |= 0xC0 ; /* cf. "Static Address" (Vol C, Part 3, section 10.8.1) */
349
362
}
Original file line number Diff line number Diff line change @@ -59,6 +59,11 @@ class NRFCordioHCIDriver : public cordio::CordioHCIDriver {
59
59
*/
60
60
// virtual void handle_reset_sequence(uint8_t *msg);
61
61
62
+ /* *
63
+ * @copydoc cordio::CordioHCIDriver::get_random_static_address
64
+ */
65
+ virtual bool get_random_static_address (ble::address_t & address);
66
+
62
67
private:
63
68
/* *
64
69
* Initialize the chip.
You can’t perform that action at this time.
0 commit comments