37#ifndef DRIVER_DS1302_H
38#define DRIVER_DS1302_H
170#define DRIVER_DS1302_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
178#define DRIVER_DS1302_LINK_CE_GPIO_INIT(HANDLE, FUC) (HANDLE)->ce_gpio_init = FUC
186#define DRIVER_DS1302_LINK_CE_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->ce_gpio_deinit = FUC
194#define DRIVER_DS1302_LINK_CE_GPIO_WRITE(HANDLE, FUC) (HANDLE)->ce_gpio_write = FUC
202#define DRIVER_DS1302_LINK_SCLK_GPIO_INIT(HANDLE, FUC) (HANDLE)->sclk_gpio_init = FUC
210#define DRIVER_DS1302_LINK_SCLK_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->sclk_gpio_deinit = FUC
218#define DRIVER_DS1302_LINK_SCLK_GPIO_WRITE(HANDLE, FUC) (HANDLE)->sclk_gpio_write = FUC
226#define DRIVER_DS1302_LINK_IO_GPIO_INIT(HANDLE, FUC) (HANDLE)->io_gpio_init = FUC
234#define DRIVER_DS1302_LINK_IO_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->io_gpio_deinit = FUC
242#define DRIVER_DS1302_LINK_CS_GPIO_WRITE(HANDLE, FUC) (HANDLE)->io_gpio_write = FUC
250#define DRIVER_DS1302_LINK_CS_GPIO_READ(HANDLE, FUC) (HANDLE)->io_gpio_read = FUC
258#define DRIVER_DS1302_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
266#define DRIVER_DS1302_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
274#define DRIVER_DS1302_LINK_DELAY_US(HANDLE, FUC) (HANDLE)->delay_us = FUC
uint8_t ds1302_clock_burst_read(ds1302_handle_t *handle, uint8_t *buf, uint8_t len)
clock burst read
uint8_t ds1302_ram_burst_write(ds1302_handle_t *handle, uint8_t *buf, uint8_t len)
ram burst write
uint8_t ds1302_clock_burst_write(ds1302_handle_t *handle, uint8_t *buf, uint8_t len)
clock burst write
uint8_t ds1302_ram_burst_read(ds1302_handle_t *handle, uint8_t *buf, uint8_t len)
ram burst read
uint8_t ds1302_init(ds1302_handle_t *handle)
initialize the chip
uint8_t ds1302_set_write_protect(ds1302_handle_t *handle, ds1302_bool_t enable)
enable or disable write protect
struct ds1302_time_s ds1302_time_t
ds1302 time structure definition
ds1302_bool_t
ds1302 bool enumeration definition
uint8_t ds1302_deinit(ds1302_handle_t *handle)
close the chip
ds1302_format_t
ds1302 format enumeration definition
struct ds1302_info_s ds1302_info_t
ds1302 information structure definition
uint8_t ds1302_set_oscillator(ds1302_handle_t *handle, ds1302_bool_t enable)
enable or disable the oscillator
uint8_t ds1302_get_write_protect(ds1302_handle_t *handle, ds1302_bool_t *enable)
get write protect status
ds1302_am_pm_t
ds1302 am pm enumeration definition
uint8_t ds1302_get_time(ds1302_handle_t *handle, ds1302_time_t *t)
get the current time
ds1302_charge_t
ds1302 charge enumeration definition
uint8_t ds1302_info(ds1302_info_t *info)
get chip's information
uint8_t ds1302_read_ram(ds1302_handle_t *handle, uint8_t addr, uint8_t *buf, uint8_t len)
read ram
uint8_t ds1302_get_oscillator(ds1302_handle_t *handle, ds1302_bool_t *enable)
get the chip oscillator status
struct ds1302_handle_s ds1302_handle_t
ds1302 handle structure definition
uint8_t ds1302_write_ram(ds1302_handle_t *handle, uint8_t addr, uint8_t *buf, uint8_t len)
write ram
uint8_t ds1302_set_charge(ds1302_handle_t *handle, uint8_t charge)
set charge
uint8_t ds1302_set_time(ds1302_handle_t *handle, ds1302_time_t *t)
set the current time
uint8_t ds1302_get_charge(ds1302_handle_t *handle, uint8_t *charge)
get charge
uint8_t ds1302_set_reg(ds1302_handle_t *handle, uint8_t reg, uint8_t *buf, uint8_t len)
set the chip register
uint8_t ds1302_get_reg(ds1302_handle_t *handle, uint8_t reg, uint8_t *buf, uint8_t len)
get the chip register
ds1302 handle structure definition
uint8_t(* ce_gpio_deinit)(void)
uint8_t(* io_gpio_init)(void)
void(* delay_ms)(uint32_t ms)
uint8_t(* sclk_gpio_write)(uint8_t value)
uint8_t(* sclk_gpio_deinit)(void)
uint8_t(* io_gpio_write)(uint8_t value)
void(* debug_print)(const char *const fmt,...)
void(* delay_us)(uint32_t us)
uint8_t(* sclk_gpio_init)(void)
uint8_t(* ce_gpio_init)(void)
uint8_t(* ce_gpio_write)(uint8_t value)
uint8_t(* io_gpio_deinit)(void)
uint8_t(* io_gpio_read)(uint8_t *value)
ds1302 information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v
ds1302 time structure definition