RSS RSSI values ​​are always in dBm on all Android devices?

I am new to Android and my application uses Bluetooth to receive data from a small cell amplifier. Although in some devices (Samsung) the BT (RSSI) signal strength varies as expected (from about -20, at a short distance to about -80, up to 10 m), in some others (at least one LG model) RSSI is pretty strange like about 200 (positive value!) in a short distance. I assume that the LG phone does not give RSSI values ​​in dBm. In all cases, Samsung phones and LG phones have always been connected to one remote device (an example of an amplifier that my client is developing). Actually, my question is, is this normal, in this case different Android devices (or different versions of Android) respond differently to the same API call.

+3
source share
1 answer

RSSI is an 8-bit signed integer of two additions (-128 to 127). If you read the value as a byte, you will get the correct range of values ​​for any device. If you read it as an integer or a string, you can get the correct values ​​on some devices, but incorrect for some others ...

200 as an 8-bit signed integer with two additions is -56

+4
source

All Articles