Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
DJI strikes again, the O4 firmware currently shipping has a regression, when compared to DJI O3.
DJI O4 seem to not accept INAV's reply to STATUS/STATUS_EX commands.
This patch adds the option to re-use the workaround needed for the Original DJI FPV System, where INAV would reply with a custom message to those messages.
The main difference is related to the number of flight modes in INAV vs Betaflight. INAV has a lot more modes and is likely sending a reply that DJI thinks is too big and marked as invalid.
While the arming bit is supposed to be the same accross BF and INAV, they are also not using the correct workflow of asking the firmware for the list of modes supported (and corresponding bits) to check what is active or not.
While it is not critical to check the modes, as it is very unlikely the ARM bit will move/change, it is certainly incorrect to ignore the reply based on the number of modes, if you haven't checked how many modes there should be.
There has been zero communication from DJI about INAV firmware or font and the team had zero access to hardware/firmware before release. As it stands, we can only reinforce the recommendation of using HD-Zero, Walksnail or Analog for the full INAV OSD compatibility.
To enable the fix, type this on the cli:
set enable_broken_o4_workaround= ON