CANVASOSD - ShikOfTheRa/scarab-osd GitHub Wiki


About

  • Canvas mode OSD provides a blank canvas for a flight controller- or any other device to send and display data to the OSD. The OSD does no processing. It purely display information sent to it.

Canvas mode for developers

byte: description

  • 0: MSP_DISPLAYPORT

  • 1: sub-command

    1. sub command 0: Enter/hold canvas mode Sender must periodically send the enter/hold message: FC may exist menu mode without notifying for many reasons, including manual reset or power off/cycle. We expect the FC to sustain canvasMode by sending non-exit message within CANVAS_TIMO while the menu mode is active.

    2. sub command 1: Exit canvas mode and resume normal OSD operation

    3. sub command 2: Updates display with data sent since last "Update". Then clears buffer ready for next data refresh.

    4. sub command 3: Draw string at (row,col) with attribute attr Automagically wraps to next row.

  • For sub-command 3 above (draw string):

    1. 2: row
    2. 3: col
    3. 4: attr (0=normal, 1=inverted)
    4. 5...len-1: string to draw Zero prematurely terminates the string.

Enabling in betaflight

  • serial X 1 115200 57600 0 115200 where X is the port OSD is connected to
  • set osd_displayport_device = MSP
  • set displayport_msp_serial = Y where Y is one less than the number of the serial port. e.g. Y = 2 for serial 3