Стек Contiki Rime, как получить идентификатор вещания в Example_Broadcast - PullRequest
0 голосов
/ 03 января 2019

Я работаю над примером трансляции стека Rime от contiki:

https://github.com/contiki-os/contiki/blob/master/examples/rime/example-broadcast.c

При получении трансляции я легко могу прочитать идентификатор отправителя:

broadcast_recv(struct broadcast_conn *c, const linkaddr_t *from)
{
  printf("Sender: %d.%d\n", from->u8[0], from->u8[1]);
}

Но как я могу получить идентификатор "моего" / текущего узла?

Любая помощь приветствуется

1 Ответ

0 голосов
/ 03 января 2019

Местный адрес в Contiki хранится в linkaddr_node_addr:

#include "net/linkaddr.h"
...
printf("Local: %d.%d\n", linkaddr_node_addr.u8[0], linkaddr_node_addr.u8[1]);

Существует также другая переменная: uint16_t node_id, по крайней мере, на большинстве платформ. По умолчанию он равен linkaddr_node_addr.u8[0] + (linkaddr_node_addr.u8[1] << 8). Для этого добавьте #include "sys/node-id.h".

...