iNavFlight / inav

INAV: Navigation-enabled flight control software
https://inavflight.github.io
GNU General Public License v3.0
3.21k stars 1.49k forks source link

Altitude switches between home and gps when crsf and mavlink telemetry run simultaneously #6413

Closed iblackymb closed 8 months ago

iblackymb commented 3 years ago

PLEASE MAKE SURE YOU READ AND UNDERSTAND THE SOCIAL MEDIA SUPPORT CHANNELS. QUESTIONS ABOUT FLASHING, CONFIGURING, PILOTING MAY BE CLOSED WITHOUT FURTHER INTERACTION.

Please double-check that nobody reported the issue before by using search in this bug tracker.

PLEASE DELETE THE TEXT ABOVE AFTER READING AND UNDERSTANDING IT


Current Behavior

https://photos.app.goo.gl/3AFYEz9vywPS42WZ8 Same behavior is seen sending the telemetry through the internal bluetooth of the crossfire module, so i think that a opentx bug is not probable.

The problem disappears using Sbus instead on crsf as serial rx protocol.

Same behavior on 3 planes, current and default settings tested.

Steps to Reproduce

  1. Crsf serial rx protocol
  2. Mavlink telemetry enabled
  3. INAV 2.5.2

Expected behavior

Stable alt data through telemetry to be used with an antenna tracker.

Suggested solution(s)

Maybe giving the option to disable crsf telemetry output or be able to choose between home and gps Altitude.

Additional context


issue-label-bot[bot] commented 3 years ago

Issue-Label Bot is automatically applying the label BUG to this issue, with a confidence of 0.92. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

OptimusTi commented 3 years ago

Have you tried to delete and rediscover the telemetry sensors? I can't reproduce the problem here.

iblackymb commented 3 years ago

Hi Optimus.

Yes deleted them several time, tried with a new opentx model too.

iblackymb commented 3 years ago

Just to add some more data.

I just set up a new f765 with inav 2.6, only with the essential settings to make work the gps and rc, and I'm getting the same behavior.

iblackymb commented 3 years ago

Have you tried to delete and rediscover the telemetry sensors? I can't reproduce the problem here.

Hi Optimus

Can you tell me your setup? I dont know what else to try, the only way I make it work together is disconnecting the CRSF RX cable.

iblackymb commented 3 years ago

Hi,

I just tried to disabling crsf, using sbus to send the rc channels and receive the telemetry by mavlink. Just realized that testing each one separately, crsf telemetry send the relative altitude, and mavlink send the gps telemetry. This is why I have this variances when both telemetry runs simultaneously.

Problem is that I need the mavlink telemetry to use my tracker, and now with inav I found useful the crsf state in the osd info.

HazzaHFPV commented 3 years ago

I actually have the exact same problem. Crossfire Nano Rx on latest Firmware (4.11) with an F4 flight Controller with Baro onboard and a BN880 GPS including a Compass. Only Crossfire connected: Height above Ground received via telemetry. Mavlink Telemetry connected: Height above sea-level shown. Both connected: value jumps between the two as in @iblackymb video.

And I just noticed that the pitch value with mavlink is also inverted. Meaning that when actual pitch is +10°, Mavlink telemetry will report -10°. However, Crossfire telemetry shows correct pitch value. When Crossfire and mavlink telemetry are configured the pitch value jumps between positive and negative values continiously.

So far I was not able to pinpoint the problem or solve it. Using INAV 2.6.1

Maxeemo commented 2 years ago

Hi, I have the exact same problem, have you solved in some way?

b14ckyy commented 8 months ago

if both use the same sensor ID, there is nothing we can do about it. Disable one of the sensors with the altitude you don't want in the sensors list of OTX/ETX.