1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-25 17:25:20 +03:00

Add HD OSD support (#11964)

This commit is contained in:
Steve Evans 2022-11-15 01:58:14 +00:00 committed by GitHub
parent 1a45c87281
commit 3e51d15559
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 287 additions and 32 deletions

View file

@ -60,7 +60,7 @@ static int output(displayPort_t *displayPort, uint8_t cmd, uint8_t *buf, int len
static int heartbeat(displayPort_t *displayPort)
{
uint8_t subcmd[] = { 0 };
uint8_t subcmd[] = { MSP_DP_HEARTBEAT };
// heartbeat is used to:
// a) ensure display is not released by MW OSD software
@ -128,6 +128,18 @@ static int writeString(displayPort_t *displayPort, uint8_t col, uint8_t row, uin
return output(displayPort, MSP_DISPLAYPORT, buf, len + 4);
}
static int writeSys(displayPort_t *displayPort, uint8_t col, uint8_t row, displayPortSystemElement_e systemElement)
{
uint8_t syscmd[4];
syscmd[0] = MSP_DP_SYS;
syscmd[1] = row;
syscmd[2] = col;
syscmd[3] = systemElement;
return output(displayPort, MSP_DISPLAYPORT, syscmd, sizeof(syscmd));
}
static int writeChar(displayPort_t *displayPort, uint8_t col, uint8_t row, uint8_t attr, uint8_t c)
{
char buf[2];
@ -169,6 +181,7 @@ static const displayPortVTable_t mspDisplayPortVTable = {
.clearScreen = clearScreen,
.drawScreen = drawScreen,
.screenSize = screenSize,
.writeSys = writeSys,
.writeString = writeString,
.writeChar = writeChar,
.isTransferInProgress = isTransferInProgress,