diff --git a/firmware/chibios/os/hal/platforms/STM32/RTCv2/rtc_lld.c b/firmware/chibios/os/hal/platforms/STM32/RTCv2/rtc_lld.c index e6df4beecc..d556398fa3 100644 --- a/firmware/chibios/os/hal/platforms/STM32/RTCv2/rtc_lld.c +++ b/firmware/chibios/os/hal/platforms/STM32/RTCv2/rtc_lld.c @@ -154,6 +154,8 @@ void rtc_lld_set_time(RTCDriver *rtcp, const RTCTime *timespec) { void rtc_lld_get_time(RTCDriver *rtcp, RTCTime *timespec) { (void)rtcp; + chDbgAssert(RTCD1.id_rtc == RTC, "RTC", "RTC"); + rtc_lld_apb1_sync(); #if STM32_RTC_HAS_SUBSECONDS diff --git a/firmware/util/efilib.cpp b/firmware/util/efilib.cpp index 83f8683b8f..1a3779174c 100644 --- a/firmware/util/efilib.cpp +++ b/firmware/util/efilib.cpp @@ -13,8 +13,6 @@ #include "datalogging.h" #include "histogram.h" -#define _MAX_FILLER 11 - const char * boolToString(bool value) { return value ? "Yes" : "No"; } @@ -118,6 +116,9 @@ int atoi(const char *string) { static char todofixthismesswithcopy[100]; +/** + * WARNING: due to implementation details specifid buffer should be at least size of '_MAX_FILLER' + */ static char *ltoa_internal(char *p, long num, unsigned radix) { int i; char *q; diff --git a/firmware/util/efilib.h b/firmware/util/efilib.h index e49894d2f7..740eece8a0 100644 --- a/firmware/util/efilib.h +++ b/firmware/util/efilib.h @@ -11,6 +11,8 @@ #include #include "global.h" +#define _MAX_FILLER 11 + // http://en.wikipedia.org/wiki/Endianness #define SWAP_UINT16(x) ((x) << 8) | ((x) >> 8)