* Pedro Almeida:
>I'm using a micaz, so it is CC2420 indeed.
>I've looked into the Zigbee specification, 802.15.4 frame formats and
>understood (I believe, even if lightly) the frame formats.
>But I am not sure of what the 32 bytes I receive are, exactly.

Recently, I looked at data gathered by java net.tinyos.tools.Listen,
over USB serial ports, which was a bunch of lines like this one:

0C 00 00 00 00 00 7E 00 2A 7D 00 00 1F 00 02 00 00 00 D3 00 4D 00 

I explained it like this:

#!! little endian
#uint8_t length = sizeof (data) = sizeof (struct SignalMsg) = 0Ch
#uint16_t fcf = 0 (n/a for UART)
#uint8_t dsn = 0 (n/a for UART)
#uint16_t destpan = 0 (n/a for UART)
#uint16_t addr = 0x007E = TOS_UART_ADDR
#uint8_t type = 0x2A = 42 = AM_SIGNALMSG (GenericComm interface parameter 42)
#uint8_t group = 0x7D = TOS_AM_GROUP
#struct SignalMsg { // this was the message structure defined in my programme
#  uint16_t nodeID; // local node address = XX
#  uint16_t senderID;
#  uint32_t seqNum;
#  uint16_t rssiVal;
#  uint16_t lqiVal;
#};

The CC2420 data sheet says that the length byte is the first byte put
into RXFIFO, the rest is according to message_header_t. It helped
reading the receive routines of the radio stack, and tracing the send
calls through to the UART implementation, to understand which fields
were set. In your case, there might be other pieces of code composing
the message. Try to find the function that sends the data, from there
you can normally see what headers are being used and what are their
values.

Hope this helped,
Alexander

_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to