Hi Alan,
BluetoothDeviceInfo.Rssi returns a System.Byte
So the value is always positive in range 0-255.
After testing with my device, i realised that
to get a bluetooth specification conform value
within the range -127 and 128,i had to convert
the byte to sbyte.
System.Convert will throw overflow exception,
so i suggest to use unchecked((sbyte)bdi.Rssi)
In my tests,i was getting values in range of
-16 (240) to +24(24). This behaviour looks now
to be OK since the hardware manufacturers are
free in implementing the negative and positive
scaling of the RSSI values out of the Golden
Receiver Range.
I have added the post in MSDN forums as well..