Comments (4)
How does this work in general:
It's a custom extension to MSP DisplayPort built by the HDZero team and various FC developers. It's currently only supported in iNav. There are PRs open in ArduPilot for support : ArduPilot/ardupilot#19762 . I'm scared of even trying to bring it up with the BetaFlight developers, although supposedly there are new management there who may be more receptive.
The mechanics are quite simple: a new custom MSP DisplayPort message 5
was added, which specifies a "font number" (currently unused, the idea is you can have multiple fonts on your SD card but no FC supports it yet) and "HD mode." If HD mode is set to true, the MSP DisplayPort character map size extends to 50x18, providing a much larger drawing canvas to work with.
In the case of my and the HDZ OSD implementations, this also means the character size changes from 3x back to 2x in order to fit, giving a more "zoomed out" OSD feel.
from msp-osd.
Great, thanks. I have a proposal for similar implementation open in another issue:
#16
Basically the idea is to use the coordinates as indexes multiplied by a given factor. That should give more effective resolution even if the sending side doesn't support that. I think DJI is using something similar as approach as their OSD is much higher resolution and "zoomed out". The only downside to it is the addressability of the position of the elements. If we draw twice as many character boxes in the OSD, but the sending side only know about half of them it would mean that moving an OSD element 1 box to the right will result to 2 boxes of movement in the goggles, but I think thats a small price to pay.
Can you take a look and let me know what you think?
Thanks!
from msp-osd.
I was thinking something like this would be a good idea. It would be like if Fake HD had space between all the cells so they filled the screen but the cells would only set the starting point. The additional letters would be the correct spacing from the previous. Fake HD makes it difficult to position some long elements without them being split.
from msp-osd.
This approach isn't really that practical for various reasons (eg: inav likes to do partial updates; BF sends each character individually, some elements span multiple lines - nothing would line up, some elements grow/shrink depending on their data).
I am intending to add some configurability to the grid - so you can have space for longer elements; which should solve your problem here.
from msp-osd.
Related Issues (20)
- README needs updates for config GUI
- Improvmenet: store .osd stream in internal flash
- fakehd_hide_throttle_element vs fakehd_hide_menu_switch HOT 1
- Swap to Goggles GUI without uninstalling MSP OSD? HOT 3
- HD mode is only displaying upper-left part of the designed HD area. HOT 13
- msp-osd not showing up (INAV 6.0) HOT 2
- How to read .OSD files on Windows? HOT 10
- Add configurable log levels HOT 4
- DJI OSD and MSP-OSD overlap solution
- Ardupilot + MSP DisplayPort OSDn_POWER element not displayed
- OSD Freeze when video signal is weak HOT 2
- Show Goggles temp and duty cycle in overlay
- safely default to standard white font page if coloured font pages not available
- Centering the crosshair. Is it possible? HOT 5
- .osd files with Googles V2 and DJI O3 unit? HOT 1
- Support changing resolution during .osd recording
- Timestamped .osd recordings
- Add Betaflight Goggle* and VTX* elements? HOT 3
- Recording PX4 MSP OSD HOT 1
- Tx uplink Power OSD element is not working HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from msp-osd.