Skip to content
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

Update the compatibility mode for DJI to use the actual DJI font. #10046

Merged
merged 2 commits into from
May 17, 2024

Conversation

MrD-RC
Copy link
Collaborator

@MrD-RC MrD-RC commented May 16, 2024

Since INAV 6.0, there has been a feature introduced to add support for DJI's incomplete MSP DisplayPort implementation. It was called BFCOMPAT mode. The issue is, at the time it was believed that DJI's font was using BetaFlight's font. But the truth is that it doesn't. DJI's font uses some elements of an old BetaFlight font, and some of their 4.3 font. Meaning, it doesn't actually align with BetaFlight. It's DJI's own font layout.

BetaFlight's original font BetaFlight's current (single page) font DJI's font

Here is a document containing the differences BF vs BF vs DJI.xlsx

This PR works toward making a couple of changes for better compatibility with DJI.

BFCOMPAT?

Firstly. INAV doesn't need to be compatible with BetaFlight's font. The two firmwares are not sharing OSD data. So BFCOMPAT is really a misnomer. What we are trying to be compatible with is DJI's incomplete MSP DisplayPort implementation. So this is really what that OSD type is really about. No other system uses only BetaFlight's font. All of this is just for DJI. So I believe the distinction should be made.

To address this. This PR renames BFCOMPAT to DJICOMPAT.

What the font?

Because this whole thing is to try and give DJI pilots the best viewing experience. Until DJI stop being selfish, inconsiderate arseholes and actually fix their product, that is. This should be based on the font inside the DJI goggles. This font has not changed since the first goggles were released. So it is pretty stable.

While I appreciate that in the future DJI could make changes to their font. There is also nothing stopping BetaFlight to make changes too. Those changes could actually pull it further away from DJI's font. Meaning more incompatibility. So yes, in the future. DJI's font could change. I see it as no worse than sticking with BetaFlight's font. However, there are some positives to using DJI's font. As there are elements that can be used, which were not previously mapped because BetaFlight's later font was being used. Which no longer had those elements.

This PR maps available characters in the DJI font to symbols in INAV. I have also added some extra translations which seem appropriate and acceptable.


This was all discussed in Discord. I know that some are for the change, others are against. There was a vote, which resulted in a tie. So I have done the work, and will leave it up to @DzikuVx to decide if this change goes ahead or not. At the end of the day, I don't even use DJI. So my OSDs are already perfect. In fact, I think DJI are a shady, despicable company who are only after people's money.

  • They deliberately release new hardware that is not backwards compatible, when it could be (and is even made backwards compatible sometimes with later firmware).
  • They bully companies to stop releasing PnP quads with their competitors hardware. Threatening to cut all ties with them if they do.
  • They keep data on their servers relating to all your flights
  • They send data to Russia
  • Plus, they have know that their OSD is substandard, and how to fix it, since the release of WTFOS. Even when they released their new O3 product. They didn't address this issue. Despite being something the community needs.

Even after all that. I still put this PR forward. Why? Because I believe it's the best way we can support their pilots using INAV. That is until DJI hopefully do the right thing and fully implement MSP DisplayPort, with user uploadable fonts. Just like every other mainstream HD system does.

@MrD-RC MrD-RC added this to the 8.0 milestone May 16, 2024
@dzaro-dev
Copy link
Contributor

Please feel free to close my PR#10037 if this PR is merged.

@MrD-RC has incorporated all the changes that I proposed in my PR already.

@druckgott
Copy link
Contributor

druckgott commented May 16, 2024

I have seen you also implement this, thx
#9971

@MrD-RC
Where can I find the Voting on Discord I can´t see it

@DzikuVx DzikuVx merged commit ee747d6 into master May 17, 2024
14 checks passed
@MrD-RC MrD-RC deleted the MrD_Change-BF-COMPAT-to-DJI-COMPAT branch August 10, 2024 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants