MSP DisplayPort

Hi,
welcome to ArduPilot!
we’re a bit off topic here for basic ArduPilot installation :slight_smile:

Please read the ArduPilot wiki and eventually post a specific question on the relevant vehicle forum here on discuss.

This is so cool to have msp display for sharkbyte too, great work!
Been testing it out, any idea why the OSD font is all messed up for some values and not others?
Using latest 4.2 dev, the whoop board and latest sharkbyte/hdzero firmware Rev 26012022
OSD_TYPE = 5
SERIAL6_PROTOCOL = 42
MSP_OPTIONS = 3

Hi, ardupilot will use it’s proprietary font set but you can force a betaflight compatible mode by setting MSP_OPTIONS = 4

BTW why are you using MSP_OPTIONS = 4?

Thanks
I don’t know about the MSP_OPTIONS = 4 I got confused with the wiki

By setting MSP_OPTIONS bit 3 to 1 one can force ArduPilot to impersonate betaflight and use a betaflight compatible font table on the remote OSD system. This is required if the remote OSD system does not have an ArduPilot compatible fonts table. MWOSD already supports custom fonts and therefore does not require this hack while FatShark’s SharkByte will support custom fonts in a future release. Default behaviour is to use the ArduPilot fonts table.

I have just changed MSP_OPTIONS value and now no OSD anymore whatever the value I set confusingly… :face_with_raised_eyebrow:

mhmm, should work. Did you power cycle the vtx/vrx combo?

Yes countless times, in the end I just flew without osd but with telemetry on the remote, a bit scary though (I’m relatively new to fixed wings and Arduplane).
Steps taken so far:

  • I’m using a Matek H743 wing V2.
  • I have checked and improved the soldering in case something had come loose.
  • The whoop board is soldered on RX4 and TX4 which is serial6. SERIAL6_PROTOCOL is set to 42
  • Since it was (partially) working it can’t really be wrong wiring I guess…
  • Can the whoop board be damaged in some way (overheat or whatever) and not transmit data properly? Though at least image transmission works nicely in flight a few hundred meters away
  • I have tried to rollback firmware on the whoop board but that didn’t help
  • Should I try to rollback the firmware on the VRX? Has the latest Rev 26012022 been tested with Arduplane 4.2?

edit:

  • Tried to rollback to hdzero firmware 23072021 on VRX and VTX.
  • Tested various values for OSD_FONT
  • Tested all values of OSD_OPTIONS
    No success so far

Many thanks for your help and suggestions!

Update:

  • I tested with a DJI Air Unit lite on the same RX4/TX4. Same result could not get OSD to show up even though I set up OSD_TYPE = 3 and SERIAL6_PROTOCOL = 33 MSP_OPTIONS = 0
  • Rolled-back to 4.1.6 and after resetting all params same result no OSD (I thought perhaps I messed up some OSD param somewhere)
  • Soldered the DJI Air Unit on RX3/TX3 and set the params for SERIAL4 and now OSD shows up!

So… I don’t know if that’s possible but it’s as if sharkbyte messed up my UART4 somehow. I’m not too keen on testing the whoop board on UART3 now :grimacing:

…that’s weird, not sure what might have gone bad!

Thanks Alex, it worked.

Matek F405 Wing
TX5M.1 rev 26012022
RX5.1 rev 2602022
Arduplane 4.2 Dev
OSD_Type = 5
Serial5_Protocol = 42
MSP_Option = 5

Below is the screenshot (Camera covered).

1 Like

Interesting so it does work thanks for reporting
Which flight controller are you using?

I am using F405-WING

Hi @yaapu

Not sure if you’re aware but there are two APIs:

  1. MSP DisplayPort API (text only)
  2. Canvas API (pixel / vector / shape)

It is EXTREMELY confusing for users and vendors to refer to MSP DisplayPort as Canvas Mode.

It recently came to my attention that HD Zero were saying they had Canvas support when in fact they had MSP DisplayPort support, Carl from Divimath have assured me they are correcting this.

To clarify:

  • MSP display port allows the external OSD/VTX to get a copy of FC’s OSD character buffer and is limited to CHARACTER MODES ONLY.
  • Canvas mode allows the flight controller to send DRAWING COMMANDS to an OSD so that the OSD draws pixels, shapes, text, etc.

The Canvas API is described here: https://github.com/hydra/PixelOSD/blob/master/doc/OSD.md

It used to be on FrSkyRC’s github site here: https://github.com/FrSkyRC/PixelOSD

An example product that supports canvas OSD is here:

iNav code for Canvas OSD’s is here:

iNav support for the FrSky CANVAS OSD is here:

Please can you correct all your naming and just use MSP DisplayPort and NOT Canvas mode?

Many thanks,

Dominic Clifton

1 Like

Thanks for your feedback @dominicclifton I reckon it might be misleading but in my limited experience I’ve never found PixelOSD referred to as “Canvas Mode” whilst pretty much anybody uses DisplayPort and Canvas Mode as synonyms so I’m curious as to where the official source is for such distinction, are you involved in the development of the PixelOSD? Would you mind pointing us at the official sources of the 2 names DisplayPort vs Canvas Mode so I can update the ArduPilot wiki with solid docs.
Unfortunately I won’t be able to update this whole blog since the articles over time become read only.

Alex

Hello to all the community …i use to fly arduplane and lately i got into HDZERO digital.
Im trying to make an f405 wing show osd from MSP but i have only fragments of osd data …
I use hdzero woop board on latest firmware . Arduplane parameters are .Arduplane 4.2 Dev
OSD_Type = 5
Serial5_Protocol = 42
MSP_Option = 5.Like i saw above .
This dont work for me .


I use serial 5 for the tx-rx to the board .
is thre anything more that i can do so it will work?

Is it somethink special i need to do ? It looks like firmware not ready yet …But how its working for some people and not for me …?

It’s very interesting as I have had the same problem as you but sadly haven’t found any solution yet…
I wonder if it has something to do with the whoop board as I was using it too.
Be careful as mine ended up mysteriously damaging my UART after multiple trying and testing.

BluZoo reported that it works with the TX5M.1. Btw @LUI_REYES are you using a capacitor on your TX5M.1?

It happened to me as well, garbage OSD fonts…

I just used the VTX_table (.json) from the zip file of Rev26012022

I didn’t use capacitors on my VTX as I have already capacitors on my ESC

The same setup I followed for my other VTX (whoop) , it worked fine.

1 Like

BluZoo please help…I can take the vtx table from hdzero latest version firmware but how can i upload it to the arduplane ?

do you mean to upload the file to tha woop vtx?

It started working…not sure what made it work .1.I let the osd at its default screen as it is and did not change any display position in the screen.
2. did somethink probably wrong…I copied the vtx table for woop vtx to hdzero vrx sd card and connected to the vtx with the programing cable …i saw nothing uploaded so probably it did nothing.
3.reflused the vtx with the same latest formware …
then mistiriusly it worked …
Anyone has an idea why?

2 Likes