bugfix: 支援不同的 addree type 連線
1. Public address (cc2650 目前使用, 需向 ieee 註冊) 2. Random static address (bmd380 目前使用) 3. Resolvable random private address (未使用) 4. Non-resolvable random private address (未使用)
This commit is contained in:
+17
-1
@@ -139,13 +139,29 @@ static void on_ins_scan(ins_scan_t *p_ins)
|
||||
static void on_ins_connect(ins_connect_t *p_ins)
|
||||
{
|
||||
ble_gap_addr_t peer_addr;
|
||||
memset(&peer_addr, 0x00, sizeof(peer_addr));
|
||||
|
||||
peer_addr.addr_id_peer = 0;
|
||||
peer_addr.addr[0] = p_ins->addr[5];
|
||||
peer_addr.addr[1] = p_ins->addr[4];
|
||||
peer_addr.addr[2] = p_ins->addr[3];
|
||||
peer_addr.addr[3] = p_ins->addr[2];
|
||||
peer_addr.addr[4] = p_ins->addr[1];
|
||||
peer_addr.addr[5] = p_ins->addr[0];
|
||||
switch (peer_addr.addr[5] & 0b11000000)
|
||||
{
|
||||
case 0b00000000:
|
||||
peer_addr.addr_type = BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE;
|
||||
break;
|
||||
case 0b11000000:
|
||||
peer_addr.addr_type = BLE_GAP_ADDR_TYPE_RANDOM_STATIC;
|
||||
break;
|
||||
case 0b01000000:
|
||||
peer_addr.addr_type = BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE;
|
||||
break;
|
||||
case 0b10000000:
|
||||
peer_addr.addr_type = BLE_GAP_ADDR_TYPE_PUBLIC;
|
||||
break;
|
||||
}
|
||||
|
||||
extern void le_scan_stop(void);
|
||||
le_scan_stop();
|
||||
|
||||
Reference in New Issue
Block a user