Go to the documentation of this file.
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
118 #define RTC3_ERROR -1
uint8_t rtc3_get_interrupt(rtc3_t *ctx)
Get state of interrupt pin function.
void rtc3_get_date(rtc3_t *ctx)
Get day of the week, day, month and year function.
Time data structure.
Definition: rtc3.h:144
pin_name_t int_pin
Definition: rtc3.h:181
uint8_t time_seconds
Definition: rtc3.h:147
void rtc3_set_calibration(rtc3_t *ctx, uint8_t cal_sign, uint8_t cal_mumber)
Set calibration function.
uint8_t time_minutes
Definition: rtc3.h:146
void rtc3_get_time(rtc3_t *ctx)
Get time hours, minutes, seconds function.
uint8_t slave_address
Definition: rtc3.h:163
pin_name_t scl
Definition: rtc3.h:177
void rtc3_cfg_setup(rtc3_cfg_t *cfg)
Config Object Initialization function.
void rtc3_set_counting(rtc3_t *ctx, uint8_t en_dis)
Enable/Disable counting function.
Date data structure.
Definition: rtc3.h:132
uint8_t date_year
Definition: rtc3.h:136
digital_in_t int_pin
Definition: rtc3.h:157
uint8_t day_of_the_week
Definition: rtc3.h:133
void rtc3_set_special_function_key2(rtc3_t *ctx, uint8_t sfkey2)
Set special function key byte 2 function.
i2c_master_t i2c
Definition: rtc3.h:160
Click configuration structure definition.
Definition: rtc3.h:175
void rtc3_generic_read(rtc3_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic read function.
void rtc3_set_trickle_charge_bypass(rtc3_t *ctx, uint8_t tcfe)
Set trickle charge bypass control function.
void rtc3_set_time(rtc3_t *ctx)
Set time hours, minutes, seconds function.
void rtc3_set_trickle_charge(rtc3_t *ctx, uint8_t tch2)
Set trickle charge control function.
uint8_t time_hours
Definition: rtc3.h:145
void rtc3_generic_write(rtc3_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic write function.
void rtc3_set_frequency_calibration(rtc3_t *ctx, uint8_t ftf)
Set frequency calibration control function.
void rtc3_set_special_function_key1(rtc3_t *ctx, uint8_t sfkey1)
Set special function key byte 1 function.
void rtc3_set_date(rtc3_t *ctx)
Set day of the week, day, month and year function.
uint8_t i2c_address
Definition: rtc3.h:185
time_data_t time
Definition: rtc3.h:167
uint8_t date_day
Definition: rtc3.h:134
uint8_t date_month
Definition: rtc3.h:135
err_t rtc3_init(rtc3_t *ctx, rtc3_cfg_t *cfg)
Initialization function.
uint32_t i2c_speed
Definition: rtc3.h:184
pin_name_t sda
Definition: rtc3.h:178
date_data_t date
Definition: rtc3.h:166
Click ctx object definition.
Definition: rtc3.h:155