1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-26 01:35:41 +03:00

Render spec screen over normal OSD (#13460)

This commit is contained in:
Steve Evans 2024-03-21 17:59:18 +00:00 committed by GitHub
parent 9dfa09a07e
commit dc00d34bfd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 21 additions and 31 deletions

View file

@ -1462,31 +1462,10 @@ void osdUpdate(timeUs_t currentTimeUs)
if (resumeRefreshAt) {
osdState = OSD_STATE_TRANSFER;
} else {
#ifdef USE_SPEC_PREARM_SCREEN
osdState = OSD_STATE_REFRESH_PREARM;
#else
osdState = OSD_STATE_UPDATE_CANVAS;
#endif
}
break;
case OSD_STATE_REFRESH_PREARM:
{
#ifdef USE_SPEC_PREARM_SCREEN
if (!ARMING_FLAG(ARMED) && osdConfig()->osd_show_spec_prearm) {
if (osdDrawSpec(osdDisplayPort)) {
// Rendering is complete
osdState = OSD_STATE_COMMIT;
}
} else
#endif // USE_SPEC_PREARM_SCREEN
{
osdState = OSD_STATE_UPDATE_CANVAS;
}
}
break;
case OSD_STATE_UPDATE_CANVAS:
// Hide OSD when OSDSW mode is active
if (IS_RC_MODE_ACTIVE(BOXOSD)) {
@ -1555,10 +1534,27 @@ void osdUpdate(timeUs_t currentTimeUs)
break;
}
osdState = OSD_STATE_COMMIT;
#ifdef USE_SPEC_PREARM_SCREEN
if (!ARMING_FLAG(ARMED) && osdConfig()->osd_show_spec_prearm) {
osdState = OSD_STATE_REFRESH_PREARM;
} else
#endif // USE_SPEC_PREARM_SCREEN
{
osdState = OSD_STATE_COMMIT;
}
}
break;
#ifdef USE_SPEC_PREARM_SCREEN
case OSD_STATE_REFRESH_PREARM:
if (osdDrawSpec(osdDisplayPort)) {
// Rendering is complete
osdState = OSD_STATE_COMMIT;
}
break;
#endif // USE_SPEC_PREARM_SCREEN
case OSD_STATE_COMMIT:
displayCommitTransaction(osdDisplayPort);