You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+42-34
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
-
# DisplayPort OSD Framebuffer
1
+
# MSP-OSD - Full OSD / Displayport OSD
2
2
3
-
This takes Betaflight MSP DisplayPort (so-called "canvas" although this is a misnomer as there is another Betaflight "canvas" mode for Pixel OSDs) messages through UDP and renders them to a framebuffer overlaid under the DJI `dji_glasses` menu system.
3
+
This package gives you support for full flight controller driven OSD in line with those on analog + other HD systems.
4
+
5
+
Technically - it takes MSP DisplayPort (so-called "canvas" although this is a misnomer as there is another Betaflight "canvas" mode for Pixel OSDs) messages through UDP and renders them to a framebuffer overlaid under the DJI `dji_glasses` menu system.
4
6
5
7
A custom `font.bin` package may be placed on the root of the goggles SD card, at which point it will override the font in `/blackbox/font.bin`.
Betaflight's OSD supports a 30 * 16 Grid, which looks large/blocky when displayed in the DJI Goggles.
91
+
Betaflight's (before 4.4) OSD supports a 30 * 16 Grid, which looks large/blocky when displayed in the DJI Goggles.
90
92
91
-
Until Betaflight adds support for a larger grid, as a workaround, we have a mode called "FakeHD". It chops up the Betaflight OSD into sections and positions them evenly around an HD grid (with gaps between). Two rows are left unsplit + centered to use for warnings, and the bottom row is unsplit/offset to sit between the DJI OSD elements. This then allows the use of smaller fonts - so it looks nicer/more in keeping with the built in Goggles OSD (but you still only have 30 columns / 16 rows to configure.... and you have gaps to contend with).
93
+
For versions of Betaflight before 4.4 (or other FC firmwares without HD support), as a workaround, we have a mode called "FakeHD". It chops up the OSD into sections and positions them evenly around an HD grid (with gaps between) - the way this is done is configurable, explained below. This then allows the use of smaller fonts - so it looks nicer/more in keeping with the built in Goggles OSD (but you still only have 30 columns / 16 rows to configure.... and you have the gaps to contend with).
92
94
93
95
A diagram to help...
94
96
@@ -216,9 +218,11 @@ Select MSP on serial and select DJI WTF as canvas dialect. That's it.
216
218
217
219
Configure the UART under Digital VTX - see https://docs.bosshobby.com/Configuring-Quicksilver/#setup
218
220
219
-
## Choose a Font
221
+
## Fonts
222
+
223
+
We bundle in default fonts for the flight controller variants we support. [Preview images are available here](docs/fonts). Or you can use a custom one...
220
224
221
-
* Download a font package. See below for known community fonts!
225
+
* Download a font package. See below for known community fonts.
222
226
* Rename the files for your desired font to `font_<fc variant>` - see table below for examples or take a look at the `fonts` directory for a template for how the file names should look. (If your FC firmware is not listed below, use the generic filenames)
223
227
* Place these four files on the root of your Goggles SD card.
224
228
* Reboot.
@@ -242,22 +246,6 @@ VTx (AU/Vista) which have not had their msp-osd upgraded, as well as flight cont
242
246
-[SNEAKY_FPV's colour fonts for INAV, ARDU and BF](https://sites.google.com/view/sneaky-fpv/home)
As of 0.7.0, a new option, `compress_osd`, has been added to the air side process.
248
-
249
-
If this is set to "true", then the entire character buffer will be sent using LZ4 compression at the rate defined in `osd_update_rate_hz`, instead of sending raw MSP messages over the air.
250
-
251
-
When enabled, this should fix INAV delta update related issues as well as provide better link stability.
252
-
253
-
To enable:
254
-
255
-
Visit https://fpv.wtf/package/fpv-wtf/msp-osd with your Air Unit / Vista plugged in to edit package options.
256
-
257
-
This option is enabled by default as of 0.10.0, however, if you upgraded from an older version, your configuration will need to be updated using the configurator.
258
-
259
-
If you continue to have issues with especially INAV character corruption, it is likely your serial link is saturated. Check that the "Custom OSD" option in your DJI goggles menus is set to _disabled_ , and also try out the cache_serial option.
260
-
261
249
### Generate your own Font from an analog font (advanced)
262
250
263
251
* Download [mcm2img](https://github.com/bri3d/mcm2img) and set up a working Python environment to run it.
@@ -276,6 +264,24 @@ If you continue to have issues with especially INAV character corruption, it is
276
264
277
265
You can customize the font color by changing the 255 255 255 RGB values.
278
266
267
+
Useful tool for working with fonts: https://github.com/shellixyz/hd_fpv_osd_font_tool
268
+
269
+
## Compressed Transmission
270
+
271
+
As of 0.7.0, a new option, `compress_osd`, has been added to the air side process.
272
+
273
+
If this is set to "true", then the entire character buffer will be sent using LZ4 compression at the rate defined in `osd_update_rate_hz`, instead of sending raw MSP messages over the air.
274
+
275
+
When enabled, this should fix INAV delta update related issues as well as provide better link stability.
276
+
277
+
To enable:
278
+
279
+
Visit https://fpv.wtf/package/fpv-wtf/msp-osd with your Air Unit / Vista plugged in to edit package options.
280
+
281
+
This option is enabled by default as of 0.10.0, however, if you upgraded from an older version, your configuration will need to be updated using the configurator.
282
+
283
+
If you continue to have issues with especially INAV character corruption, it is likely your serial link is saturated. Check that the "Custom OSD" option in your DJI goggles menus is set to _disabled_ , and also try out the cache_serial option.
284
+
279
285
## Configuration options
280
286
281
287
Configuration options can be set using the WTFOS Configurator.
@@ -286,27 +292,29 @@ Visit https://fpv.wtf/package/fpv-wtf/msp-osd with your Goggles or Air Unit plug
286
292
287
293
| Option | Description | Type | Default|
288
294
| ------ | ----------- | ---- |--------|
295
+
|`show_waiting`| enables or disables WAITING FOR OSD message | true/false | true |
296
+
|`show_au_data`| enables AU data (temp/voltage) overlay on the right | true/false | false |
297
+
|`rec_enabled`| enable OSD recording to .msp files alongside video | true/false | true |
298
+
|`rec_pb_enabled`| enable OSD playback if .msp file is stored alongside video | true/false | true |
299
+
|`hide_diagnostics`| hide the diagnostic information in the bottom right | true/false | false |
289
300
|`fakehd_enable`| enables [FakeHD](#FakeHD); the other FakeHD options don't do anything if this is disabled. FakeHD is force disabled if the Flight Controller supports proper HD / RealHD | true/false| false |
290
-
|`fakehd_menu_switch`| FakeHD will use this character as the menu switch to detect when you are in menus/postfligght and triggger centering. | integer/number | 4 (Betaflight Throttle) |
301
+
|`fakehd_lock_center`| Lock FakeHD in centered mode all the time; no gaps/spreading out even when you are flying. | true/false | false |
302
+
|`fakehd_menu_switch`| FakeHD will use this character as the menu switch to detect when you are in menus/postflight and triggger centering. | integer/number | 4 (Betaflight Throttle) |
291
303
|`fakehd_hide_menu_switch`| FakeHD will hide the menu switch set above; and the next 5 characters | true / false | false |
292
-
|`fakehd_rows`| FakeHD row alignment config, each character configures the alignment for one row | 16 characters, each one of L C R W T F D | WWWWWWCCWWWWWWWD |
293
304
|`fakehd_columns`| FakeHD column alignment config | Single character, one of T M B S | S |
294
-
|`fakehd_lock_center`| Lock FakeHD in centered mode all the time; no gaps/spreading out even when you are flying. | true/false | false |
295
-
|`show_au_data`| enables AU data overlay on the right | true/false | false |
|`hide_diagnostics`| hide the diagnostic information in the bottom right | true/false | false |
298
-
|`rec_enabled`| enable OSD recording to .msp files alongside video | true/false | true |
299
-
|`rec_pb_enabled`| enable OSD playback if .msp file is stored alongside video | true/false | true |
305
+
|`fakehd_rows`| FakeHD row alignment config, each character configures the alignment for one row | 16 characters, each one of L C R W T F D | WWWWWWCCWWWWWWWD |
306
+
307
+
300
308
301
309
### Current available options (Air Unit/Vista):
302
310
303
311
| Option | Description | Type | Default|
304
312
| ------ | ----------- | ---- |--------|
305
-
|`compress_osd`| Enable [compressed transmission](#Compressed-Transmission) - see information above| true/false| true |
313
+
|`compress_osd`| Enable sending full frames of compressed data. Disable to send raw MSP data [Read more](#Compressed-Transmission)| true/false| true |
306
314
|`osd_update_rate_hz`| Configure the update rate in hz for the OSD when using compressed transmission | integer | 10 |
315
+
|`disable_betaflight_hd`| Disable HD Mode, which is otherwise set by default in Betaflight 4.4 | true/false | false |
316
+
|`fast_serial`| Change serial baud rate to 240400 baud, which can improve OSD performance in some situations - FC UART config must be changed to match. | true/false | false |
307
317
|`cache_serial`| Cache unimportant MSP messages for seldom-used features (like PID tuning in the DJI Goggles Settings Menu) to reduce serial pressure | true/false | false |
308
-
|`fast_serial`| Change serial baud rate to 240400 baud, which can improve OSD performance in some situations | true/false | false |
309
-
|`disable_betaflight_hd`| Disable HD Mode, which is otherwise set by default with Betaflight 4.4 | true/false | false |
310
318
311
319
## FAQ / Suggestions
312
320
@@ -331,7 +339,7 @@ For Betaflight after 4.4, you should see "HD" fonts by default. Make sure your V
331
339
332
340
### What is RealHD
333
341
334
-
Sometimes we refer to the proper MSP OSD HD grid supported by ArduPilot / Kiss Ultra / INAV as RealHD, to distinguish from FakeHD.
342
+
Sometimes we refer to the proper MSP OSD HD grid supported by ArduPilot / Kiss Ultra / INAV / Betaflight (from 4.4) + others as RealHD, to distinguish from FakeHD.
0 commit comments