32#if (HAL_USE_RTC == TRUE) || defined(__DOXYGEN__)
45#define RTC_BASE_YEAR 1980U
51#define RTC_FAT_TIME_SECONDS_MASK 0x0000001FU
52#define RTC_FAT_TIME_MINUTES_MASK 0x000007E0U
53#define RTC_FAT_TIME_HOURS_MASK 0x0000F800U
54#define RTC_FAT_DATE_DAYS_MASK 0x001F0000U
55#define RTC_FAT_DATE_MONTHS_MASK 0x01E00000U
56#define RTC_FAT_DATE_YEARS_MASK 0xFE000000U
63#define RTC_DAY_CATURDAY 0U
64#define RTC_DAY_MONDAY 1U
65#define RTC_DAY_TUESDAY 2U
66#define RTC_DAY_WEDNESDAY 3U
67#define RTC_DAY_THURSDAY 4U
68#define RTC_DAY_FRIDAY 5U
69#define RTC_DAY_SATURDAY 6U
70#define RTC_DAY_SUNDAY 7U
112#define _rtc_driver_methods \
113 _base_pers_storage_methods
119#if !defined(RTC_SUPPORTS_CALLBACKS)
120#error "RTC LLD does not define the required RTC_SUPPORTS_CALLBACKS macro"
123#if !defined(RTC_ALARMS)
124#error "RTC LLD does not define the required RTC_ALARMS macro"
127#if !defined(RTC_HAS_STORAGE)
128#error "RTC LLD does not define the required RTC_HAS_STORAGE macro"
131#if (RTC_HAS_STORAGE == TRUE) || defined(__DOXYGEN__)
146#if (RTC_HAS_STORAGE == TRUE) || defined(__DOXYGEN__)
152#if defined(RTC_DRIVER_EXT_FIELDS)
153 RTC_DRIVER_EXT_FIELDS
167#if !defined(__DOXYGEN__)
169#if RTC_HAS_STORAGE == TRUE
187#if RTC_SUPPORTS_CALLBACKS == TRUE
#define _rtc_driver_methods
BasePersistentStorage specific methods.
void rtcSetTime(RTCDriver *rtcp, const RTCDateTime *timespec)
Set current time.
void rtcSetCallback(RTCDriver *rtcp, rtccb_t callback)
Enables or disables RTC callbacks.
void rtcConvertStructTmToDateTime(const struct tm *timp, uint32_t tv_msec, RTCDateTime *timespec)
Convert broken-down time structure to RTCDateTime.
void rtcInit(void)
RTC Driver initialization.
#define rtc_lld_driver_fields
Implementation-specific RTCDriver fields.
void rtcSetAlarm(RTCDriver *rtcp, rtcalarm_t alarm, const RTCAlarm *alarmspec)
Set alarm time.
void rtcGetTime(RTCDriver *rtcp, RTCDateTime *timespec)
Get current time.
void rtcGetAlarm(RTCDriver *rtcp, rtcalarm_t alarm, RTCAlarm *alarmspec)
Get current alarm.
void rtcConvertDateTimeToStructTm(const RTCDateTime *timespec, struct tm *timp, uint32_t *tv_msec)
Convert RTCDateTime to broken-down time structure.
unsigned int rtcalarm_t
Type of an RTC alarm number.
void(* rtccb_t)(RTCDriver *rtcp, rtcevent_t event)
Type of a generic RTC callback.
uint32_t rtcConvertDateTimeToFAT(const RTCDateTime *timespec)
Get current time in format suitable for usage in FAT file system.
void rtcObjectInit(RTCDriver *rtcp)
Initializes a generic RTC driver object.
PLATFORM RTC subsystem low level driver header.
Type of a structure representing an RTC alarm time stamp.
Type of a structure representing an RTC date/time stamp.
uint32_t dstflag
DST correction flag.
uint32_t day
Day of the month 1..31.
uint32_t millisecond
Milliseconds since midnight.
uint32_t dayofweek
Day of week 1..7.
uint32_t month
Months 1..12.
uint32_t year
Years since 1980.
Structure representing an RTC driver.
const struct RTCDriverVMT * vmt
Virtual Methods Table.
RTCDriver virtual methods table.