Hi Roberto,

We took indoor measurements of the strength value too. The value that we got back was a uint16_t value. And it showed a steadily increasing trend - which makes sense after reading this email.

However, the uint8_t part is a bit of a concern. Our measurements stared at a value of 60 and ended at a value of 324 (distances from 0" to about 100"). We applied the same transform that you suggested below (ours is a CC1000 radio so the offset's 41? :shrug: ). We did get a progressively decreasing trend. The strength variable is defined in AM.h as

uint16_t strength;

Could you please clear this up?

As always, thanks for all your help.


On Fri, 28 Apr 2006 02:47:16 -0500, Roberto <[EMAIL PROTECTED]> wrote:

the problem is solved. the RSSI values in indoor environment are quite smaller
then outdoor

We also need RSSI to do refinement in our localization project.
Can you please tell me the procdure to do so? I heard that msg -> strength
gives the RSSI value. How do i get the distance from this value?

when you receive the message

event TOS_MsgPtr ....... (TOS_MsgPtr m) {
// some code
m->strength;
return m;
}

the m->strength is a uint8_t value that contain the rssi in complement 2
notation. So, if you get a value > 0x80 ( 10000000 in binary ) the rssi is (m->strength) - 256. Adding the offset you have to do the following (on the pc for example)

uint8_t RSSI;

// some code to get the packets

if( RSSI > 0x80 )
value = RSSI - 256 - 45; // 45 is the offset of the CC2420 radio
else
value = RSSI - 45;





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

Reply via email to