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