27#ifndef LIBWS_CART_RTC_H_
28#define LIBWS_CART_RTC_H_
37#define WS_CART_RTC_MONTH_AMPM 0x80
38#define WS_CART_RTC_MONTH_AM 0x00
39#define WS_CART_RTC_MONTH_PM 0x80
41#define WS_CART_RTC_STATUS_POWER_LOST 0x80
42#define WS_CART_RTC_STATUS_12_HOUR 0x00
43#define WS_CART_RTC_STATUS_24_HOUR 0x40
44#define WS_CART_RTC_STATUS_INTAE 0x20
45#define WS_CART_RTC_STATUS_INTME 0x08
46#define WS_CART_RTC_STATUS_INTFE 0x02
47#define WS_CART_RTC_STATUS_INT_OFF 0
48#define WS_CART_RTC_STATUS_INT_FREQ_STEADY (WS_CART_RTC_STATUS_INTFE)
49#define WS_CART_RTC_STATUS_INT_MINUTE_EDGE (WS_CART_RTC_STATUS_INTME)
50#define WS_CART_RTC_STATUS_INT_MINUTE_STEADY (WS_CART_RTC_STATUS_INTME | WS_CART_RTC_STATUS_INTFE)
51#define WS_CART_RTC_STATUS_INT_ALARM (WS_CART_RTC_STATUS_INTAE)
62typedef struct __attribute__((packed)) {
72typedef struct __attribute__((packed)) {
78typedef struct __attribute__((packed)) {
142 alarm = __builtin_bswap16(alarm);
static bool ws_cart_rtc_read_time(ws_cart_rtc_time_t __wf_cram *result)
static bool ws_cart_rtc_write_time(ws_cart_rtc_time_t __wf_cram *result)
uint16_t ws_cart_rtc_write(uint8_t command, const void __wf_cram *buffer, uint16_t length)
Send command and write to RTC.
static bool ws_cart_rtc_read_status(uint8_t __wf_cram *result)
static bool ws_cart_rtc_read_datetime(ws_cart_rtc_datetime_t __wf_cram *result)
static bool ws_cart_rtc_write_status(uint8_t result)
static bool ws_cart_rtc_write_datetime(ws_cart_rtc_datetime_t __wf_cram *result)
static bool ws_cart_rtc_write_alarm(uint16_t alarm)
static bool ws_cart_rtc_reset(void)
bool ws_cart_rtc_wait_ready(void)
Wait until the RTC is ready.
uint16_t ws_cart_rtc_read(uint8_t command, void __wf_cram *buffer, uint16_t length)
Send command and read from RTC.
#define WS_CART_RTC_CTRL_CMD_READ_DATETIME
#define WS_CART_RTC_CTRL_CMD_WRITE_STATUS
#define WS_CART_RTC_CTRL_PORT
#define WS_CART_RTC_CTRL_CMD_WRITE_DATETIME
#define WS_CART_RTC_CTRL_CMD_WRITE_TIME
#define WS_CART_RTC_CTRL_CMD_READ_STATUS
#define WS_CART_RTC_CTRL_ACTIVE
#define WS_CART_RTC_CTRL_CMD_READ_TIME
#define WS_CART_RTC_CTRL_CMD_WRITE_ALARM
#define WS_CART_RTC_CTRL_CMD_RESET
Structure containing the date read from the RTC, BCD-encoded.
Structure containing the time read from the RTC, BCD-encoded.