To All:

Thanks to those who helped me get the RSSI sent over the serial port. I am using the Telos B motes and doing some RSSI experiments. I am in the process of modifying the serial forwarder some so that it will convert the RSSI value I receive over the serial port to the actual RSSI value. In the sflisten.c file, I have added the following code to do this conversion before displaying it on the monitor:

const unsigned char *packet = read_sf_packet(fd, &len);
                
                /*Perform 2's complement conversion and add offset (-45 dBm)*/
                if (packet[10] < 128) //Positive Number
                        adj_rssi = packet[10];
                if (packet[10] > 127) //Negative number
                {
                        adj_rssi = -1*((packet[10] - 1)^(0xFF))-45;
                }
                
                if (!packet)
                        exit(0);
                
                /*Display various information from the packet to monitor*/
                printf("Node ID: ");
                printf("%02x ", packet[12]);
                printf("RAW RSSI: ");
                printf("%02x ", packet[10]);
                printf("Adjusted RSSI: ");
                printf("%d ", adj_rssi);
                putchar('\n');
                fflush(stdout);
                free((void *)packet);


The way I understand it, the raw RSSI is an 8-bit unsigned integer. So, I have to do the two's complement conversion and add the offset. Then I simply parse out what I want from the packet and print it along with the converted RSSI to the screen. Does anyone see an obvious flaw in my conversion or a more compact way to do the conversion--aside from changing the if/if to and if/else. (I was coding very late last night lol)

Many thanks again for the help.

Paul

*****************************************
Paul David Kavan
[EMAIL PROTECTED]
329 Walter Scott Engineering Center
University of Nebraska
402-472-2764
*****************************************


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

Reply via email to