1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-19 06:15:16 +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

@ -983,10 +983,10 @@ static bool mspCommonProcessOutCommand(int16_t cmdMSP, sbuf_t *dst, mspPostProce
sbufWriteU8(dst, osdFlags);
#ifdef USE_MAX7456
// send video system (AUTO/PAL/NTSC)
// send video system (AUTO/PAL/NTSC/HD)
sbufWriteU8(dst, vcdProfile()->video_system);
#else
sbufWriteU8(dst, 0);
sbufWriteU8(dst, VIDEO_SYSTEM_HD);
#endif
#ifdef USE_OSD
@ -1056,6 +1056,14 @@ static bool mspCommonProcessOutCommand(int16_t cmdMSP, sbuf_t *dst, mspPostProce
break;
}
case MSP_OSD_CANVAS: {
#ifdef USE_OSD
sbufWriteU8(dst, osdConfig()->canvas_cols);
sbufWriteU8(dst, osdConfig()->canvas_rows);
#endif
break;
}
default:
return false;
}
@ -1245,7 +1253,7 @@ case MSP_NAME:
// Voltage -> 0-63,75V step 0,25V
if ((dshotTelemetryState.motorState[i].telemetryTypes & (1 << DSHOT_TELEMETRY_TYPE_VOLTAGE)) != 0) {
escVoltage = dshotTelemetryState.motorState[i].telemetryData[DSHOT_TELEMETRY_TYPE_VOLTAGE] >> 2;
escVoltage = dshotTelemetryState.motorState[i].telemetryData[DSHOT_TELEMETRY_TYPE_VOLTAGE] >> 2;
}
}
}
@ -4182,6 +4190,16 @@ static mspResult_e mspCommonProcessInCommand(mspDescriptor_t srcDesc, int16_t cm
}
}
break;
case MSP_SET_OSD_CANVAS:
{
osdConfigMutable()->canvas_cols = sbufReadU8(src);
osdConfigMutable()->canvas_rows = sbufReadU8(src);
// An HD VTX has communicated it's canvas size, so we must be in HD mode
vcdProfileMutable()->video_system = VIDEO_SYSTEM_HD;
}
break;
#endif // OSD
default: