Go to the documentation of this file.
38 #include "mikrosdk_version.h"
41 #if mikroSDK_GET_VERSION < 20800ul
42 #include "rcu_delays.h"
48 #include "drv_digital_out.h"
49 #include "drv_digital_in.h"
50 #include "drv_i2c_master.h"
62 #define RTC3_MAP_MIKROBUS( cfg, mikrobus ) \
63 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
64 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
65 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
72 #define RTC3_I2C_ADDRESS 0x68
79 #define RTC3_REG_TIME_SEC 0x00
80 #define RTC3_REG_TIME_MIN 0x01
81 #define RTC3_REG_TIME_HOUR 0x02
82 #define RTC3_REG_TIME_DAY_OF_THE_WEEK 0x03
83 #define RTC3_REG_TIME_DATE_DAY 0x04
84 #define RTC3_REG_TIME_DATE_MONTH 0x05
85 #define RTC3_REG_TIME_DATE_YEAR 0x06
86 #define RTC3_REG_CONFIG1 0x07
87 #define RTC3_REG_TRICKLE_CHARGE2 0x08
88 #define RTC3_REG_CONFIG2 0x09
89 #define RTC3_REG_SF_KEY1 0x20
90 #define RTC3_REG_SF_KEY2 0x21
91 #define RTC3_REG_SFR 0x22
98 #define RTC3_ENABLE_COUNTING 0x7F
99 #define RTC3_DISABLE_COUNTING 0x80
100 #define RTC3_CONFIG1_INITIAL 0x80
101 #define RTC3_TCH2_OPEN 0x00
102 #define RTC3_TCH2_CLOSED 0x20
103 #define RTC3_TCFE_OPEN 0x00
104 #define RTC3_TCFE_CLOSED 0x20
105 #define RTC3_FTF_NORMAL_512_HZ 0x00
106 #define RTC3_FTF_1_HZ 0x01
114 #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:140
pin_name_t int_pin
Definition: rtc3.h:177
uint8_t time_seconds
Definition: rtc3.h:143
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:142
void rtc3_get_time(rtc3_t *ctx)
Get time hours, minutes, seconds function.
uint8_t slave_address
Definition: rtc3.h:159
pin_name_t scl
Definition: rtc3.h:173
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:128
uint8_t date_year
Definition: rtc3.h:132
digital_in_t int_pin
Definition: rtc3.h:153
uint8_t day_of_the_week
Definition: rtc3.h:129
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:156
Click configuration structure definition.
Definition: rtc3.h:171
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:141
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:181
time_data_t time
Definition: rtc3.h:163
uint8_t date_day
Definition: rtc3.h:130
uint8_t date_month
Definition: rtc3.h:131
err_t rtc3_init(rtc3_t *ctx, rtc3_cfg_t *cfg)
Initialization function.
uint32_t i2c_speed
Definition: rtc3.h:180
pin_name_t sda
Definition: rtc3.h:174
date_data_t date
Definition: rtc3.h:162
Click ctx object definition.
Definition: rtc3.h:151