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

Added RTC date/time to OSD.

This commit is contained in:
mikeller 2017-11-11 18:46:30 +13:00
parent 0c84506336
commit 968efb86bf
5 changed files with 60 additions and 13 deletions

View file

@ -309,6 +309,22 @@ STATIC_UNIT_TESTED void osdFormatTimer(char *buff, bool showSymbol, int timerInd
osdFormatTime(buff, OSD_TIMER_PRECISION(timer), osdGetTimerValue(src));
}
#ifdef USE_RTC_TIME
bool printRtcDateTime(char *buffer)
{
dateTime_t dateTime;
if (!rtcGetDateTime(&dateTime)) {
buffer[0] = '\0';
return false;
}
dateTimeFormatLocalShort(buffer, &dateTime);
return true;
}
#endif
static void osdDrawSingleElement(uint8_t item)
{
if (!VISIBLE(osdConfig()->item_pos[item]) || BLINK(item)) {
@ -723,6 +739,11 @@ static void osdDrawSingleElement(uint8_t item)
break;
#endif
#ifdef USE_RTC_TIME
case OSD_RTC_DATETIME:
printRtcDateTime(&buff[0]);
break;
#endif
default:
return;
}
@ -787,6 +808,11 @@ static void osdDrawElements(void)
osdDrawSingleElement(OSD_ESC_RPM);
}
#endif
#ifdef USE_RTC_TIME
osdDrawSingleElement(OSD_RTC_DATETIME);
#endif
}
void pgResetFn_osdConfig(osdConfig_t *osdConfig)
@ -869,7 +895,14 @@ void osdInit(displayPort_t *osdDisplayPortToUse)
displayWrite(osdDisplayPort, 11, 10, CMS_STARTUP_HELP_TEXT3);
#endif
displayResync(osdDisplayPort);
#ifdef USE_RTC_TIME
char dateTimeBuffer[FORMATTED_DATE_TIME_BUFSIZE];
if (printRtcDateTime(&dateTimeBuffer[0])) {
displayWrite(osdDisplayPort, 5, 12, dateTimeBuffer);
}
#endif
displayResync(osdDisplayPort);
resumeRefreshAt = micros() + (4 * REFRESH_1S);
}