MSP OSD support for Walksnail VTX and AVATAR goggles

The message function filed( message[4] ) in betaflight and ardupilot are all B6(182)

// External OSD displayport mode messages
#define MSP_DISPLAYPORT                 182

But this filed PX4 every one is different

I have analyzed the MSPOSD drawing process of the latest betalight.

If you want to draw the pitch in OSD, such like in the picture above.

The complete data flow is as below. it’s base on subcmd in the message[5].

 24 4D 3E 01 B6 00 B7 // Release the display after clearing and updating
 24 4D 3E 01 B6 02 B5 // Clear the display
 24 4D 3E 0A B6 03 09 22 00 15 2D 30 30 2E 34 B6 // Write a string at given coordinates,this pit icon and data 
 24 4D 3E 01 B6 04 B3 // Trigger a screen draw

// repeat whole process again and again

The subcmd is this below

In third line.

24 4D 3E 0A B6 03 09 22 00 15 2D 30 30 2E 34 B6 // Write a string at given

Data is

09 22 00 15 2D 30 30 2E 34  // data content

09 22   // Y and X position to draw in the screen
00 15  // X and Y index of pit icon in font_btfl.png
2D 30 30 2E 34  // this is message in char -00.4

The supported icon, you can find in this file

1 Like