dwm_anchor_list_get
读取周围锚点的列表,仅对锚点有效。 列表中的锚点可以来自同一网络或邻居网络。
- 
void dwm_anchor_list_get(dwm_anchor_list_t *list)
 - 参数
 input – (SPI/UART) ‘0’ | ‘1’(页码(仅在 SPI/UART 上,用户应用程序在一次调用中读取整个列表),有效数字为 0,1)
input – (用户应用程序) (无)
output – 状态代码, cnt, {node_id, position, rssi, seat, neighbor_network}
cnt – 1 字节?(元素计数,对于 SPI/UART 最大为 15,对于用户应用程序最大为 30)
node_id – 2 字节(锚点 ID)
position – 12 字节?
rssi – 1 字节带符号?(信号强度指示器)
seat – 5 位(锚点占用的座位号)
neighbor_network – 1 位(状态标志,表示锚点是来自当前网络,还是来自邻居网络)。
C代码示例
dwm_anchor_list_t list;
int i;
dwm_anchor_list_get(&list);
for (i:0; i < list.cnt; ++i) {
     printf("%d. id=0x%04X pos=[%ld,%ld,%ld] rssi=%d seat=%u neighbor=%d\n", i,
                     list.v[i].node_id,
                     list.v[i].x,
                     list.v[i].y,
                     list.v[i].z,
                     list.v[i].rssi,
                     list.v[i].seat,
                     list.v[i].neighbor_network);
}
SPI/UART 示例 1
TLV 请求  | 
||
|---|---|---|
类型  | 
长度  | 
价值  | 
0x0B  | 
0x01  | 
0x00  | 
类型 0x0B 表示命令 dwm_an_list_get
TLV 响应  | 
||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
类型  | 
长度  | 
价值  | 
类型  | 
长度  | 
价值  | 
|||||
uint8 - 错误代码  | 
uint8 - 编码元素的数量  | 
uint16 - UWB 地址,小端序  | 
锚点 nr.1  | 
锚点nr. 2 … nr.15  | 
||||||
3 x int32 - 位置坐标 x, y, z (小端序)  | 
int8 - RSSI  | 
uint8 - 标志 
(0-4 位)座位号 
(第 5 位)邻居网络 
(6-7位) 保留 
 | 
…  | 
|||||||
0x40  | 
0x01  | 
0x00  | 
0x56  | 
0xE1  | 
0x0F  | 
0xAB 0x1E …  | 
…  | 
|||
SPI/UART 示例 2
TLV 请求  | 
||
|---|---|---|
类型  | 
长度  | 
价值  | 
0x0B  | 
0x01  | 
0x01  | 
类型 0x0B 表示命令 dwm_an_list_get
TLV 响应(锚点列表为空)  | 
|||||
|---|---|---|---|---|---|
类型  | 
长度  | 
价值  | 
类型  | 
长度  | 
价值  | 
0x40  | 
0x01  | 
0x00  | 
0x56  | 
0x01  | 
uint8 - 值中编码的元素个数  | 
0x00  | 
|||||