37#ifndef DRIVER_RX8025T_H
38#define DRIVER_RX8025T_H
163 uint8_t (*
iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
164 uint8_t (*
iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
204#define DRIVER_RX8025T_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
212#define DRIVER_RX8025T_LINK_IIC_INIT(HANDLE, FUC) (HANDLE)->iic_init = FUC
220#define DRIVER_RX8025T_LINK_IIC_DEINIT(HANDLE, FUC) (HANDLE)->iic_deinit = FUC
228#define DRIVER_RX8025T_LINK_IIC_READ(HANDLE, FUC) (HANDLE)->iic_read = FUC
236#define DRIVER_RX8025T_LINK_IIC_WRITE(HANDLE, FUC) (HANDLE)->iic_write = FUC
244#define DRIVER_RX8025T_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
252#define DRIVER_RX8025T_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
260#define DRIVER_RX8025T_LINK_RECEIVE_CALLBACK(HANDLE, FUC) (HANDLE)->receive_callback = FUC
uint8_t rx8025t_get_square_wave_frequency(rx8025t_handle_t *handle, rx8025t_square_wave_frequency_t *freq)
get square wave frequency
rx8025t_flag_t
rx8025t flag enumeration definition
uint8_t rx8025t_set_time(rx8025t_handle_t *handle, rx8025t_time_t *t)
set the current time
uint8_t rx8025t_get_flag(rx8025t_handle_t *handle, uint8_t *flag)
get flag
uint8_t rx8025t_set_update_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable update interrupt
uint8_t rx8025t_set_timer_counter(rx8025t_handle_t *handle, uint16_t counter)
set timer counter
uint8_t rx8025t_stop(rx8025t_handle_t *handle)
stop
uint8_t rx8025t_info(rx8025t_info_t *info)
get chip's information
uint8_t rx8025t_get_temperature_compensation_interval(rx8025t_handle_t *handle, rx8025t_temperature_compensation_interval_t *interval)
get the temperature compensation interval
uint8_t rx8025t_set_minute_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable minute alarm mask
rx8025t_update_select_t
rx8025t update select enumeration definition
uint8_t rx8025t_get_update_select(rx8025t_handle_t *handle, rx8025t_update_select_t *select)
get update select
uint8_t rx8025t_get_minute_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get minute alarm mask status
uint8_t rx8025t_get_update_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get update interrupt status
uint8_t rx8025t_set_ram(rx8025t_handle_t *handle, uint8_t data)
set ram
uint8_t rx8025t_set_timer_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable timer interrupt
rx8025t_square_wave_frequency_t
rx8025t square wave frequency enumeration definition
uint8_t rx8025t_set_hour_alarm(rx8025t_handle_t *handle, uint8_t hour)
set hour alarm
uint8_t rx8025t_set_alarm_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable alarm interrupt
uint8_t rx8025t_start(rx8025t_handle_t *handle)
start
uint8_t rx8025t_init(rx8025t_handle_t *handle)
initialize the chip
uint8_t rx8025t_get_test(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get test status
uint8_t rx8025t_clear_flag(rx8025t_handle_t *handle)
clear flag
rx8025t_alarm_t
rx8025t alarm enumeration definition
uint8_t rx8025t_get_alarm_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get alarm interrupt status
uint8_t rx8025t_get_date_alarm(rx8025t_handle_t *handle, uint8_t *date)
get date alarm
uint8_t rx8025t_get_hour_alarm(rx8025t_handle_t *handle, uint8_t *hour)
get hour alarm
uint8_t rx8025t_set_update_select(rx8025t_handle_t *handle, rx8025t_update_select_t select)
set update select
uint8_t rx8025t_get_ram(rx8025t_handle_t *handle, uint8_t *data)
get ram
struct rx8025t_time_s rx8025t_time_t
rx8025t time structure definition
uint8_t rx8025t_get_timer_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get timer interrupt status
uint8_t rx8025t_set_week_alarm(rx8025t_handle_t *handle, uint8_t week)
set week alarm
uint8_t rx8025t_get_timer(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get timer status
uint8_t rx8025t_get_timer_counter(rx8025t_handle_t *handle, uint16_t *counter)
get timer counter
uint8_t rx8025t_set_test(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable test
uint8_t rx8025t_get_alarm_day_week(rx8025t_handle_t *handle, rx8025t_alarm_t *alarm)
get alarm day week
uint8_t rx8025t_set_hour_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable hour alarm mask
rx8025t_timer_clock_t
rx8025t timer clock enumeration definition
rx8025t_status_t
rx8025t status enumeration definition
uint8_t rx8025t_set_timer_clock(rx8025t_handle_t *handle, rx8025t_timer_clock_t clk)
set timer clock
uint8_t rx8025t_get_time(rx8025t_handle_t *handle, rx8025t_time_t *t)
get the current time
uint8_t rx8025t_get_week_alarm(rx8025t_handle_t *handle, uint8_t *week)
get week alarm
uint8_t rx8025t_get_hour_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get hour alarm mask status
uint8_t rx8025t_set_square_wave_frequency(rx8025t_handle_t *handle, rx8025t_square_wave_frequency_t freq)
set square wave frequency
uint8_t rx8025t_set_week_day_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable week day alarm mask
uint8_t rx8025t_set_temperature_compensation_interval(rx8025t_handle_t *handle, rx8025t_temperature_compensation_interval_t interval)
set the temperature compensation interval
uint8_t rx8025t_set_alarm_day_week(rx8025t_handle_t *handle, rx8025t_alarm_t alarm)
set alarm day week
uint8_t rx8025t_irq_handler(rx8025t_handle_t *handle)
irq handler
uint8_t rx8025t_get_timer_clock(rx8025t_handle_t *handle, rx8025t_timer_clock_t *clk)
get timer clock
rx8025t_bool_t
rx8025t bool enumeration definition
uint8_t rx8025t_set_minute_alarm(rx8025t_handle_t *handle, uint8_t minute)
set minute alarm
uint8_t rx8025t_set_timer(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable timer
rx8025t_temperature_compensation_interval_t
rx8025t temperature compensation interval enumeration definition
uint8_t rx8025t_get_minute_alarm(rx8025t_handle_t *handle, uint8_t *minute)
get minute alarm
uint8_t rx8025t_get_week_day_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get week day alarm mask status
struct rx8025t_handle_s rx8025t_handle_t
rx8025t handle structure definition
uint8_t rx8025t_set_date_alarm(rx8025t_handle_t *handle, uint8_t date)
set date alarm
uint8_t rx8025t_deinit(rx8025t_handle_t *handle)
close the chip
struct rx8025t_info_s rx8025t_info_t
rx8025t information structure definition
@ RX8025T_FLAG_VOLTAGE_DETECTION
@ RX8025T_FLAG_VOLTAGE_LOW
@ RX8025T_UPDATE_SELECT_SECOND
@ RX8025T_UPDATE_SELECT_MINUTE
@ RX8025T_SQUARE_WAVE_FREQUENCY_32768_HZ
@ RX8025T_SQUARE_WAVE_FREQUENCY_1_HZ
@ RX8025T_SQUARE_WAVE_FREQUENCY_1024_HZ
@ RX8025T_TIMER_CLOCK_64_HZ
@ RX8025T_TIMER_CLOCK_MINUTE
@ RX8025T_TIMER_CLOCK_4096_HZ
@ RX8025T_TIMER_CLOCK_1_HZ
@ RX8025T_STATUS_VOLTAGE_DETECTION
@ RX8025T_STATUS_VOLTAGE_LOW
@ RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_10_SECOND
@ RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_0P5_SECOND
@ RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_30_SECOND
@ RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_2P0_SECOND
uint8_t rx8025t_set_reg(rx8025t_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
set the chip register
uint8_t rx8025t_get_reg(rx8025t_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
get the chip register
rx8025t handle structure definition
void(* delay_ms)(uint32_t ms)
void(* receive_callback)(uint8_t type)
void(* debug_print)(const char *const fmt,...)
uint8_t(* iic_init)(void)
uint8_t(* iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
uint8_t(* iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
uint8_t(* iic_deinit)(void)
rx8025t information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v
rx8025t time structure definition