Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: source/platform/btle.cpp
- Revision:
- 221:7896e6d8b652
- Parent:
- 220:e02936f0d4c7
- Child:
- 223:36df860f7ffc
diff -r e02936f0d4c7 -r 7896e6d8b652 source/platform/btle.cpp
--- a/source/platform/btle.cpp Tue Apr 05 11:23:33 2016 +0200
+++ b/source/platform/btle.cpp Wed Apr 06 18:04:02 2016 +0200
@@ -87,9 +87,6 @@
static char versionString[32];
uint8_t bnrg_expansion_board = IDB04A1; /* at startup, suppose the X-NUCLEO-IDB04A1 is used */
-Gap::Address_t bleAddr;
-Gap::AddressType_t addr_type = BLEProtocol::AddressType::PUBLIC;
-
/**************************************************************************/
/*!
@brief Initialises BTLE and the underlying HW/Device
@@ -149,14 +146,14 @@
// ANDREA
if(isSetAddress)
{
+ Gap::Address_t bleAddr;
+ Gap::AddressType_t addr_type;
+
BlueNRGGap::getInstance().getAddress(&addr_type, bleAddr);
- Gap::Address_t bdaddr;
- Osal_MemCpy(bdaddr, bleAddr, BDADDR_SIZE);
-
ret = aci_hal_write_config_data(CONFIG_DATA_PUBADDR_OFFSET,
CONFIG_DATA_PUBADDR_LEN,
- bdaddr);
+ bleAddr);
} else {
const Gap::Address_t BLE_address_BE = {0xFD,0x66,0x05,0x13,0xBE,0xBA};
@@ -363,7 +360,7 @@
hci_event_pckt *event_pckt = (hci_event_pckt*)hci_pckt->data;
if(hci_pckt->type != HCI_EVENT_PKT)
- return;
+ return;
switch(event_pckt->evt){
@@ -371,9 +368,9 @@
{
PRINTF("EVT_DISCONN_COMPLETE\n");
- evt_disconn_complete *evt = (evt_disconn_complete*)event_pckt;
+ evt_disconn_complete *evt = (evt_disconn_complete*)event_pckt->data;
- BlueNRGGap::getInstance().processDisconnectionEvent(evt->handle, BlueNRGGap::REMOTE_USER_TERMINATED_CONNECTION);
+ BlueNRGGap::getInstance().processDisconnectionEvent(evt->handle, (Gap::DisconnectionReason_t)evt->reason);
}
break;
@@ -388,6 +385,10 @@
case EVT_LE_CONN_COMPLETE:
{
PRINTF("EVT_LE_CONN_COMPLETE\n");
+ Gap::Address_t ownAddr;
+ Gap::AddressType_t ownAddrType;
+ BlueNRGGap::getInstance().getAddress(&ownAddrType, ownAddr);
+
Gap::AddressType_t peerAddrType = BLEProtocol::AddressType::PUBLIC;
Gap::Role_t role;
@@ -423,7 +424,13 @@
break;
}
//PRINTF("EVT_LE_CONN_COMPLETE GAP role=%d\n", role);
- BlueNRGGap::getInstance().processConnectionEvent(cc->handle, role/*Gap::PERIPHERAL*/, peerAddrType, cc->peer_bdaddr, addr_type, bleAddr, (const BlueNRGGap::ConnectionParams_t *)&connectionParams);
+ BlueNRGGap::getInstance().processConnectionEvent(cc->handle,
+ role,
+ peerAddrType,
+ cc->peer_bdaddr,
+ ownAddrType,
+ ownAddr,
+ &connectionParams);
}
break;