Hello David :
i got some datas from serial port :
00 FF FF 00 08 1A 00 06 00 03 26 88 41 01 00 22 FF FF 00 08 06 EF 6B 00 01
00 2B 31 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 04 26 88 41 02 00 22 FF FF 00 08 06 EF 6B 00 01
00 99 50 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 05 26 88 41 03 00 22 FF FF 00 08 06 EF 6C 00 01
00 07 3D 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 06 26 88 41 04 00 22 FF FF 00 08 06 EE 6B 00 01
00 74 D2 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 07 26 88 41 05 00 22 FF FF 00 08 06 EF 6C 00 01
00 E3 39 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 08 26 88 41 06 00 22 FF FF 00 08 06 EE 6B 00 01
00 50 B5 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 09 26 88 41 07 00 22 FF FF 00 08 06 EF 6C 00 01
00 BF 50 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 0A 26 88 41 08 00 22 FF FF 00 08 06 EF 6A 00 01
00 2D 57 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 0B 26 88 41 09 00 22 FF FF 00 08 06 EF 6B 00 01
00 9A 25 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 0C 26 88 41 0A 00 22 FF FF 00 08 06 EF 6C 00 01
00 08 A8 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 0D 26 88 41 0B 00 22 FF FF 00 08 06 EF 6B 00 01
00 76 DE 00 00 00 00 00 00

the red font is the metadata , they are
rssi,lqi,tx_power,crc,ack,time,rxInterval,maxRetries and retryDelay .
i note that the ack is 01 , but i don't use the auto-ack . does it use the
auto-ack acquiescently?

2008/6/3 David Moss <[EMAIL PROTECTED]>:

>  The metadata contains information about the packet that is used by the
> radio stack.  Like you said, it is not transmitted as part of the packet,
> but rather contains side-note information about the packet.
>
>
>
> The metadata fields are all 0's at boot time, because they haven't been
> initialized.  When you receive a packet, the buffer receiving the packet
> doesn't have any of its metadata configured except the RSSI and LQI fields.
>  When you copy the metadata fields from your received packet to the payload
> portion of a serial packet, seeing 0's in most of the fields is correct.
>
that is to say the fields like tx_power,crc,rxInterval,maxRetries and
retryDelay are not given an significative in the implementation ? why do you
set these filelds in the implemenation ?  from the data i received from
serial port , PACKET_LINK is defined in somewhere , is it defined defaultly
?

>
>
> The timestamp should be the local relative time the packet was received,
> which is the time the SFD (start frame delimiter) interrupt fired on the
> radio chip when it began to receive a packet.
>
i don't find the orderliness  between the values of time i get . what kind
of time is it ? is it  a counter which counte from zero ? why do you set
this field in the implemention ? i don't find where does this filed is used
.

>   The RSSI and LQI fields reflect those values while the packet was being
> received.  At that time, there is a transmitter nearby, so you'll see lots
> of energy on the channel.  The RssiToSerial application monitors the RSSI at
> any time �C and the values you read mostly occur when a transmitter is not on
> the channel.  In those cases, you'll be reading the energy of the noise
> floor.
>
>
>
> When the radio receives a packet, it will automatically fill in the RSSI
> and LQI fields in the metadata for that packet.  If you want to read the
> RSSI values when the radio is not receiving a packet, you would use
> CC2420ControlC's ReadRssi interface.  LQI values are only available when
> receiving a packet.
>
>
>
> -David
>


>
>
>
>
>
>  ------------------------------
>
> *From:* jiwen zhang [mailto:[EMAIL PROTECTED]
> *Sent:* Monday, June 02, 2008 8:11 AM
> *To:* David Moss
> *Subject:* about the metadata of cc2420
>
>
>
> Hello David :
>
>    as we know , the metadata is not sended when we use the command
> AMSend.send to send a packet . Can you explain  the function of the
> metadata  ?
>
>
>
>   i see some codes of cc2420 driver . are  all fields of metadata given an
> significative value ? such as rssi , lqi and so on ?
>
>
>
> i put the metadata in the payload when i receive a packet and send the
> packet to serial port in order to see what the values are . i
> find  rxInterval,maxRetries and retryDelay are equal to zero . are they
> right ?
>
> and the time field is some strange value , for example , every second , i
> send a packet , the value of time field i receive are 3e 43 , ac 4d , 1a 27
> , 88 46 ... , i don't know how do they figure out in the implemention of
> cc2420 driver .
>
>
>
> the rssi value i get (i use the interface CC2420PacketBody)  is E5 or E9
> when there is only one sender and one receiver . it is different with the
> value i get by the application of /apps/tests/cc2420RssiToSerial whose value
> is about 4A ,4B or 4C,  why ? how do these value get in the implemention  of
> cc2420 driver ? read from the specified register ? and what about lqi ? (the
> value i get is about 6B or 6C , and also one sender , one receiver )
>
>
>
>  typedef nx_struct cc2420_metadata_t {
>   nx_uint8_t rssi;
>   nx_uint8_t lqi;
>   nx_uint8_t tx_power;
>   nx_bool crc;
>   nx_bool ack;
>   nx_uint16_t time;
>   nx_uint16_t rxInterval;
>
>   /** Packet Link Metadata */
> #ifdef PACKET_LINK
>   nx_uint16_t maxRetries;
>   nx_uint16_t retryDelay;
> #endif
>
> } cc2420_metadata_t;
>
> --
> zhang jiwen
>



-- 
zhang jiwen
_______________________________________________
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to