Closed r1000ru closed 1 year ago
Excellent description of the issue ;)
If you increase the maximum limit to 255, will the sensor work correctly? The value would remain positive though.
In 1.4.4 the range [-255:0] will be correctly set on sensor creation. The received value will be multiplied by -1.
If you increase the maximum limit to 255, will the sensor work correctly? The value would remain positive though.
On Ethos 1.4.3 RSSI sensor range field is readonly. But under normal conditions on the table I would have to see 30-50dbm without multiple
In 1.4.4 the range [-255:0] will be correctly set on sensor creation.
In 1.4.4 with ELRS 3.x RSSI2 is displayed with 0db. ArduPlane shows a value of 99 which is correct. By the new definition unfortunately always 0db is indicated and never the correct value.
You have to rediscover your sensor so that it is created with the right range
You have to rediscover your sensor
I do this with every test ...
2 different ELRS modules and various receivers = RSSI2 = 0db, no value change when increasing the distance. Fail.
The same with Crossfire: e.g. -22db for RSSI1 and RSSI2. Value changes with distance. Ok.
The RSSI value in -db is probably correct in itself, but actually everywhere is normalized to 0-100%. There will be probably still some hints of the users ...
Interesting is what is displayed at OpenTX (same ELRS receiver):
1RSS = RSSI1 e.g. -33db, value changes when increasing the distance. 2RSS = RSSI2 always 0db, just like with Ethos.
But with Ethos no value is displayed at RSSI1.
When use external Crossfire/ELRS module, RX RSSI1, RX RSSI2, TX RSSI sensors is not work.
I look that they have a range of 0-100, but must have negative range from -255 to 0 Note that a positive value (uint8_t) is transmitted in CRSF protocol, on transmitter this value should be multiplied by -1.
If I receive RSSI1=0xFB does it mean -5dB ? If I am right, the value should NOT be multiplied by -1
Checked here, we receive negative values.
Hello, @bsongis-frsky I'm sorry I was misled about the RSSI type. Unsigned int8_t used in this frame from crsf-receiver to flight controller. At the same time, from the crsf-transmitter to the radio used signed int8_t, which does not require any action, but requires proper type.
When use external Crossfire/ELRS module, RX RSSI1, RX RSSI2, TX RSSI sensors is not work.
I look that they have a range of 0-100, but must have negative range from -255 to 0 Note that a positive value (uint8_t) is transmitted in CRSF protocol, on transmitter this value should be multiplied by -1.