42#ifdef PREINIT_SUPPORTED
46#ifdef MikroCCoreVersion
47 #if MikroCCoreVersion >= 1
52#include "drv_digital_out.h"
53#include "drv_digital_in.h"
54#include "drv_i2c_master.h"
66#define RTC3_MAP_MIKROBUS( cfg, mikrobus ) \
67 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
68 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
69 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
76#define RTC3_I2C_ADDRESS 0x68
83#define RTC3_REG_TIME_SEC 0x00
84#define RTC3_REG_TIME_MIN 0x01
85#define RTC3_REG_TIME_HOUR 0x02
86#define RTC3_REG_TIME_DAY_OF_THE_WEEK 0x03
87#define RTC3_REG_TIME_DATE_DAY 0x04
88#define RTC3_REG_TIME_DATE_MONTH 0x05
89#define RTC3_REG_TIME_DATE_YEAR 0x06
90#define RTC3_REG_CONFIG1 0x07
91#define RTC3_REG_TRICKLE_CHARGE2 0x08
92#define RTC3_REG_CONFIG2 0x09
93#define RTC3_REG_SF_KEY1 0x20
94#define RTC3_REG_SF_KEY2 0x21
95#define RTC3_REG_SFR 0x22
102#define RTC3_ENABLE_COUNTING 0x7F
103#define RTC3_DISABLE_COUNTING 0x80
104#define RTC3_CONFIG1_INITIAL 0x80
105#define RTC3_TCH2_OPEN 0x00
106#define RTC3_TCH2_CLOSED 0x20
107#define RTC3_TCFE_OPEN 0x00
108#define RTC3_TCFE_CLOSED 0x20
109#define RTC3_FTF_NORMAL_512_HZ 0x00
110#define RTC3_FTF_1_HZ 0x01
void rtc3_set_counting(rtc3_t *ctx, uint8_t en_dis)
Enable/Disable counting function.
void rtc3_set_time(rtc3_t *ctx)
Set time hours, minutes, seconds function.
void rtc3_set_frequency_calibration(rtc3_t *ctx, uint8_t ftf)
Set frequency calibration control function.
uint8_t rtc3_get_interrupt(rtc3_t *ctx)
Get state of interrupt pin function.
void rtc3_set_trickle_charge_bypass(rtc3_t *ctx, uint8_t tcfe)
Set trickle charge bypass control function.
err_t rtc3_init(rtc3_t *ctx, rtc3_cfg_t *cfg)
Initialization function.
void rtc3_set_date(rtc3_t *ctx)
Set day of the week, day, month and year function.
void rtc3_set_calibration(rtc3_t *ctx, uint8_t cal_sign, uint8_t cal_mumber)
Set calibration function.
void rtc3_get_time(rtc3_t *ctx)
Get time hours, minutes, seconds function.
void rtc3_set_trickle_charge(rtc3_t *ctx, uint8_t tch2)
Set trickle charge control function.
void rtc3_generic_write(rtc3_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic write function.
void rtc3_set_special_function_key1(rtc3_t *ctx, uint8_t sfkey1)
Set special function key byte 1 function.
void rtc3_generic_read(rtc3_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic read function.
void rtc3_get_date(rtc3_t *ctx)
Get day of the week, day, month and year function.
void rtc3_set_special_function_key2(rtc3_t *ctx, uint8_t sfkey2)
Set special function key byte 2 function.
void rtc3_cfg_setup(rtc3_cfg_t *cfg)
Config Object Initialization function.
Date data structure.
Definition rtc3.h:132
uint8_t date_month
Definition rtc3.h:135
uint8_t day_of_the_week
Definition rtc3.h:133
uint8_t date_day
Definition rtc3.h:134
uint8_t date_year
Definition rtc3.h:136
Click configuration structure definition.
Definition rtc3.h:175
uint32_t i2c_speed
Definition rtc3.h:184
pin_name_t scl
Definition rtc3.h:177
pin_name_t int_pin
Definition rtc3.h:181
pin_name_t sda
Definition rtc3.h:178
uint8_t i2c_address
Definition rtc3.h:185
Click ctx object definition.
Definition rtc3.h:155
time_data_t time
Definition rtc3.h:167
date_data_t date
Definition rtc3.h:166
digital_in_t int_pin
Definition rtc3.h:157
i2c_master_t i2c
Definition rtc3.h:160
uint8_t slave_address
Definition rtc3.h:163
Time data structure.
Definition rtc3.h:144
uint8_t time_hours
Definition rtc3.h:145
uint8_t time_minutes
Definition rtc3.h:146
uint8_t time_seconds
Definition rtc3.h:147