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