Servers by jDrones

MSP DisplayPort support aka Canvas Mode

Hi,
this is to track development of the MSP DisplayPort backend for ArduPilot.
MSP DisplayPort is an MSP extension that allows to draw text on compatible external OSDs like FatSharks’s SharkByte or MWOSD, DisplayPort is also known as CANVAS MODE.
Basically it’s a remote text only frame buffer that uses local fonts (local to the rendering engine i.e. the OSD hardware) to render strings sent via MSP.
The protocol is pretty simple: clear buffer, draw strings to the buffer, grab the screen, draw the buffer on the screen.
ArduPilot does this at around 10Hz but current OSD hardware (SharkByte fw 09042021) only manage an fps of around 3Hz, anyway good enough for status text message scrolling.

As you can see from the above image the character set is different from the ArduPilot one since for rendering we must rely on the OSD built in fonts which are somewhat limited

the code can be tested by compiling my branch or you can ask for a custom build
edit: uploaded some binaries here

to enable displayport

  • SERIALn_PROTOCOL = 38
  • OSD_TYPE = 5

tested on SharkByte fw 09042021
as always testers are really welcome :slight_smile:

3 Likes

Outstanding work Alex. Will play tonight.

1 Like

Thanks Ian, let me know if you need a build

If there is anything sharkbyte needs to cooperate with, you can send an email to Carl.

can you PM me his email, I only have Allan’s and Greg’s, thanks a lot!

Can I have a build for a cube purple And orange if possible please Alex :).

@yaapu, this is great work! what are your thoughts on using this approach with the DJI FPV system? are you waiting for DJI to make it possible, or is it already possible?

I would love to see the artificial horizon inside DJI goggles.

It will take DJI to implement and at this stage they have no real interest in making changes to the system as I understand it.

It’s more complicated than that but it’s not in development basically.

sure, I’ll post it soon!

…added some binaries here

@MadRC how did the testing go?

All fine on Skark Byte. No issues I could see. Not flown it but bench tested fine.

1 Like

great!
@yaapu let’s get this in master

ok @tridge , I’ll do a last check and perhaps a rebase.

New Sharkbyte firmware maybe only support BTFL & INAV,Sharkbyte system will detect FC_VARIANT first to Choose a different font.
In the past version, except INAV, all OSDs will use the BTFL font library for display.
Some modifications have been made in the new version, mainly considering that the font libraries of different FCs may be incompatible, which may cause confusion during display.

Servers by jDrones