-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OSD Link Quality Alarm showing when switching between RFMD1(50Hz) and RFMD2(150Hz) #9839
Comments
Yes this is something that also annoys me a bit since BF4.2. Imho LQ warning should be configurable when using crossfire by RFMD and LQ or set fixed to RFMD 1 and < 80% like in BF4.1. |
Hello @ianrmurphy I saw you have been implementing the LQ alerts initially, if you are still around, could you please take a look at this issue? |
I didn't implement the LQ monitor / alarm, I simply added it to the list of warnings that show up in the 'Warnings' OSD element. Previously the behaviour was that the smaller LQ OSD element would flash but this is not always easy to see. You might want to adjust the CLI parameter 'osd_link_quality_alarm' (default = 80) to a lower value. At what LQ value does the Crossfire switch modes? |
Thanks for the quick reply and sorry if I picked the wrong person. |
If you go back to my original issue (#8001) you can see that 80 for the LQ alarm was really just a first pass guess. One issue is that LQ might behave differently for all the different control links. E.g. CRSF works well down to 50 while FrSky might be unusable at that value. I guess it would be feasible to set a different default for each link, the data collection would need to be co-ordinated. How LQ is displayed has nothing to do with the alarm threshold. |
Ah I see. Strange thing is in BF4.1 the alarm only went off at 80 in mode 1. Now it triggers at mode 2 and quality <= 80 then it stops after mode is changed to 1 until quality <= 80. |
Interesting, the check done for OSD is
I noticed @mikeller did some refactoring on the LQ calculation, maybe this is a side effect. |
Yes there is an inconsistency here, the OSD display element uses
While the alarm element uses
At first glance these seem to work out the same for the LQ alarm (always comparing in percent) while displaying very different OSD LQ elements (CRSF shows 'Mode:0->99' while non-CRSF shows 0->9). I'm still thinking that if you need to stop the LQ alarm false triggering with CRSF, then lower the alarm setting to e.g. Not having Crossfire myself I can't really test this. |
Link to the TBS info below. As I read it LQ in 150Hz does not matter, an LQ of 70 or below in 50Hz is considered turn around and go home. If set at 50 it currently can't differentiate between RFMD1 and RFMD2 so you'll potentially be in a fail safe scenario. |
@ianrmurphy yes CRSF is a bit different there. LQ 50 at mode 1 will probably be almost unflyable since it degrades very fast at that point. So setting the alarm at 50 is too late. We somehow need to bring the rf mode back into the alarm calculation. |
There are 3 scenarios - RF profiles in crossfire settings a. RF profile = 150Hz It means constant RFMD 2. No down switching to 50Hz (RFMD 1). This is for racing where you have clear view and usually don’t fly more 100-150m away. If LQ in this profile drops below 70% you’ll failsafe. Btw I’ve heard failsafe occurs in this mode below lower LQ values like 40 or 50% but this has to be confirmed. b. RF profile = 50Hz. Constant RFMD 1. No upswitchig to 150Hz. Here as PansRocks stated LQ=80% is warning level and LQ=70% is critical c. RF profile = Dynamic. Starts in 150Hz (RFMD 2) and when LQ drops below some mystic value between 50% 70% it switches down to 50Hz (RFMD 1) and the very same moment LQ goes to 99% because 50Hz mode is more efficient. Then in another mystic moment when CRSF decides LQ is good enough switches up to 150Hz setting LQ to actual value which is not always 99%. May be for example 80% if quad is 100m then LQ increases as you approach transmitter. So as I understand in BF4.2 LQ variable used for OSD warning is the same regardless RFMD. That’s okay for scenario a & b. But for Dynamic RF profile - when LQ drops below warning level in RFMD 2 it should be ignored because after short moment CRSF will switch down go 50Hz RFMD 1 and no failsafe is possible. Btw my work around for the time being is to set CRSF RF profile to 50Hz (I’m not racing) so it is not switching back and forth between RFMD 1 and 2 and therefore false OSD warning is not showing. |
I don't think this can be accessed by Betaflight, as this is a TX setting. Maybe @tbs-trappy can shed some light? |
Related to #9986 |
Any comment from TBS? |
Crossfire basically just provides raw data and let the UI of the consumer decide where to set the limits. We also get many reports about RSSI being low where in fact it's not. Maybe we can address both the same time. There are multiple approaches we could do. 1: Crossfire will report LQ differently depending of the RF profile setting inside Crossfire everything else remains the same |
I can shed some light into how we do it in our OSD: we interpret LQ as a percentage of 50 frames per second. (frames received in last second / 50 ). This covers all 3 modes, as the value range of LQ goes from 0 to 300. This is also how we have output LQ parameter in the past via AUX inputs, but it was cut off at 100 since this was the maximum range provided due to the PWM nature of the signal. As a pilot it's important that my warning levels are the same across all TX and RX settings, profiles, etc. that may be switching without my knowledge. LQ also tells me how responsive my drone is, and we felt that "100% responsive" would be what people are typically used to from other control links. Therefore, the 0-300% LQ implementation is what we would recommend. Together with RSSI values and SNR (only shows up if <= 6), this will give the pilot all vitals at a single glance, and also allows for a standardized < 70% LQ warning & SNR < 0 warning. Modifications to CRSF protocol are encouraged, so if you'd like us to make changes to meet suggestion #1 or #2 from @sirPerna please let us know. In my opinion, it could be a cause for confusion. |
This issue / pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs within a week. |
@sirPerna, @tbs-trappy: Thanks for the explanations - not sure where we got this from, but the way that the crossfire link quality was calculated in Betaflight ( |
@mikeller okay we will work out a solution based on this and get back to you. |
So does this mean that the failsafe with xfire is broken? |
@CraigFPV42: Failsafe is different - for CRSF it requires a complete loss of connection to kick in. |
This issue / pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs within a week. |
Automatically closing as inactive. |
Is there any news regarding this functionnality ? I'm currently running in the constant 150Hz RF profile on my radio as a workaround. However I would love to get back to dynamic mode if possible. This would allow me to avoid stupids failsafe (like the one I got today) by coming back in a better coverage area while using the 50Hz RF profile. |
Describe the bug
Link quality alarm displaying excessively in the OSD when flying at relatively close range with Crossfire. Coming from BF4.1 the LQ in the OSD was very consistent normally never dropping below 90 on <1km flights, using the same drones (3 x different builds) upgraded to BF 4.2 RC1 the LQ is very twitchy jumping from RFMD 1 to RFMD 2 and displaying the alarm. The Taranis has the correct logic switches with alarms and I get no call outs from it at the same time.
To Reproduce
I have 3 x separate drones displaying this behaviour, all hardware (CF Tx, CF Rx, Antenna orientation, power output etc) proven on the same builds on BF 4.1. CF typically ran at 250Mw with Dynamic Off on 868Mhz.
Expected behaviour
No alarm should display when simply switching modes, the logical switches on the Taranis have a 0.5 sec delay to allow for switching, this is possibly the reason for the alarm showing.
Flight controller configuration
Setup / Versions
Additional context
I'm not sure how relevant it is to know that it has switched RFMD modes, it seems it switches from 150Hz to 50Hz after a relatively short distance, <100 meters in some flying spots. An option to display just basic LQ should be considered like BF4.1 - RFMD modes are not something I personally consider.
The text was updated successfully, but these errors were encountered: