代码拉取完成,页面将自动刷新
一、经典蓝牙EDR
1、作为主机搜索模式下,在搜索结果会有返回rssi值。
u8 bt_emitter_search_result(char *name, u8 name_len, u8 *addr, u32 dev_class, char rssi)
2、当 EDR连上后(无论是做主机或者从机模式),可通过对方地址来获取rssi值,提供接口如下。
s8 bredr_get_rssi_for_address(u8 *address);
二、低功耗蓝牙BLE
1、作为主机scan模式下,在scan结果会有返回;adv_report_t 结构体带有rssi值。
static bool __resolve_adv_report(adv_report_t *report_pt, u16 len)
typedef struct {
u8 event_type; //对方广播包类型: 0--ADV_IND,1--ADV_DIRECT_IND,2--ADV_SCAN_IND,3--ADV_NONCONN_IND,4--SCAN_RSP
u8 address_type; //对方地址类型:0--public address,1--random address
u8 address[6]; //peer_address
s8 rssi; //range:-127 ~128 dbm
u8 length; //广播包长度
u8 data[0]; //广播包内容
} adv_report_t;
2、当 BLE连上后(无论是做主机或者从机模式),可通过链路conn_handle获取rssi值,提供接口如下。
s8 ble_vendor_get_peer_rssi(u16 conn_handle);