как получить доступ и прочитать данные message_t tinyos

привет всем, я хочу спросить вас, знаете ли вы способ извлечения данных из message_t в самой старой версии TinyOs есть TOS_Msg и TOS_MsgPtr, но в message_t я не мог найти способ, пожалуйста, помогите мне, и я хочу знать, есть ли любой тип данных для хранения данных, таких как таблица или список массивов

typedef nx_struct message_localization{
    nx_uint8_t   NodeId;
    bool       ancre_nature;
    nx_uint8_t   x_coordinate;
    nx_uint8_t   y_coordinate; 
    x_uint8_t   energie_transmited;

 } message_localization_t;

person kamal Hadj Hafsi    schedule 22.02.2015    source источник


Ответы (1)


В интерфейсе Packet есть команда getPayload, которая вам нужна:

command void *getPayload(message_t *msg, uint8_t len);

См. документацию. Чтобы получить больше информации.

Чтобы получить доступ к полю данных, вы можете сделать следующее:

message_t msg;
message_localization_t *payload =
    (message_localization_t *)call Packet.getPayload(
        &msg, sizeof(message_localization_t));
payload->x_coordinate = x;
payload->y_coordinate = y;
/* and so on */

Эта же команда для удобства включена в интерфейсы Send и AMSend. Packet и AMSend предоставлены ActiveMessageC конфигурация.

person maral    schedule 25.02.2015