39#ifdef PREINIT_SUPPORTED
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
51#include "drv_i2c_master.h"
73#define RTC16_REG_SECOND_COUNTER 0x00
74#define RTC16_REG_MINUTE_COUNTER 0x01
75#define RTC16_REG_HOUR_COUNTER 0x02
76#define RTC16_REG_DAY_OF_WEEK_COUNTER 0x03
77#define RTC16_REG_DAY_COUNTER 0x04
78#define RTC16_REG_MONTH_COUNTER 0x05
79#define RTC16_REG_YEAR_COUNTER 0x06
80#define RTC16_REG_TIME_TRIMMING 0x07
81#define RTC16_REG_ALARM_A_MINUTE 0x08
82#define RTC16_REG_ALARM_A_HOUR 0x09
83#define RTC16_REG_ALARM_A_DAY_OF_WEEK 0x0A
84#define RTC16_REG_ALARM_B_MINUTE 0x0B
85#define RTC16_REG_ALARM_B_HOUR 0x0C
86#define RTC16_REG_ALARM_B_DAY_OF_WEEK 0x0D
87#define RTC16_REG_CONTROL1 0x0E
88#define RTC16_REG_CONTROL2 0x0F
106#define RTC16_CONTROL1_ALARM_A_DISABLE 0x00
107#define RTC16_CONTROL1_ALARM_A_ENABLE 0x80
108#define RTC16_CONTROL1_ALARM_B_DISABLE 0x00
109#define RTC16_CONTROL1_ALARM_B_ENABLE 0x40
110#define RTC16_CONTROL1_TEST_NORMAL 0x00
111#define RTC16_CONTROL1_TEST_TEST 0x10
112#define RTC16_CONTROL1_CT_OFF 0x00
113#define RTC16_CONTROL1_CT_FIXED_L 0x01
114#define RTC16_CONTROL1_CT_PULSE_2HZ 0x02
115#define RTC16_CONTROL1_CT_PULSE_1HZ 0x03
116#define RTC16_CONTROL1_CT_EVERY_SECOND 0x04
117#define RTC16_CONTROL1_CT_EVERY_MINUTE 0x05
118#define RTC16_CONTROL1_CT_EVERY_HOUR 0x06
119#define RTC16_CONTROL1_CT_EVERY_MONTH 0x07
125#define RTC16_CONTROL2_12HOUR_TIME 0x00
126#define RTC16_CONTROL2_24HOUR_TIME 0x20
127#define RTC16_CONTROL2_ADJ_BIT 0x10
128#define RTC16_CONTROL2_CLOCK_ENABLE 0x00
129#define RTC16_CONTROL2_CLOCK_DISABLE 0x08
130#define RTC16_CONTROL2_CLEAR_INTERRUPT 0x04
131#define RTC16_CONTROL2_CLEAR_ALARM_A 0x02
132#define RTC16_CONTROL2_CLEAR_ALARM_B 0x01
138#define RTC16_MONDAY 0x00
139#define RTC16_TUESDAY 0x01
140#define RTC16_WEDNESDAY 0x02
141#define RTC16_THURSDAY 0x03
142#define RTC16_FRIDAY 0x04
143#define RTC16_SATURDAY 0x05
144#define RTC16_SUNDAY 0x06
150#define RTC16_FAST_READ_BIT 0x04
157#define RTC16_DEVICE_ADDRESS 0x32
175#define RTC16_MAP_MIKROBUS( cfg, mikrobus ) \
176 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
177 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
178 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
err_t rtc16_write_register(rtc16_t *ctx, uint8_t reg, uint8_t data_in)
RTC 16 write register function.
err_t rtc16_set_date(rtc16_t *ctx, rtc16_date_t *date)
RTC 16 set date function.
err_t rtc16_default_cfg(rtc16_t *ctx)
RTC 16 default configuration function.
void rtc16_cfg_setup(rtc16_cfg_t *cfg)
RTC 16 configuration object setup function.
err_t rtc16_clear_interrupts(rtc16_t *ctx)
RTC 16 clear interrupts function.
err_t rtc16_read_multiple_registers(rtc16_t *ctx, uint8_t reg, uint8_t *rx_buf, uint8_t rx_len)
RTC 16 read multiple registers function.
err_t rtc16_read_register_fast(rtc16_t *ctx, uint8_t reg, uint8_t *data_out)
RTC 16 read register fast function.
err_t rtc16_read_multiple_registers_fast(rtc16_t *ctx, uint8_t reg, uint8_t *rx_buf, uint8_t rx_len)
RTC 16 read multiple registers fast function.
err_t rtc16_write_multiple_registers(rtc16_t *ctx, uint8_t reg, uint8_t *tx_buf, uint8_t tx_len)
RTC 16 write multiple registers function.
err_t rtc16_read_register(rtc16_t *ctx, uint8_t reg, uint8_t *data_out)
RTC 16 read register function.
err_t rtc16_read_date(rtc16_t *ctx, rtc16_date_t *date)
RTC 16 read date function.
err_t rtc16_read_time(rtc16_t *ctx, rtc16_time_t *time)
RTC 16 read time function.
uint8_t rtc16_get_int_pin(rtc16_t *ctx)
RTC 16 get int pin function.
err_t rtc16_init(rtc16_t *ctx, rtc16_cfg_t *cfg)
RTC 16 initialization function.
err_t rtc16_set_time(rtc16_t *ctx, rtc16_time_t *time)
RTC 16 set time function.
rtc16_return_value_t
RTC 16 Click return value data.
Definition rtc16.h:248
@ RTC16_ERROR
Definition rtc16.h:250
@ RTC16_OK
Definition rtc16.h:249
RTC 16 Click configuration object.
Definition rtc16.h:205
uint32_t i2c_speed
Definition rtc16.h:211
pin_name_t scl
Definition rtc16.h:206
pin_name_t int_pin
Definition rtc16.h:209
pin_name_t sda
Definition rtc16.h:207
uint8_t i2c_address
Definition rtc16.h:212
RTC 16 Click date object.
Definition rtc16.h:235
uint8_t month
Definition rtc16.h:238
uint8_t day
Definition rtc16.h:237
uint8_t year
Definition rtc16.h:239
uint8_t day_of_week
Definition rtc16.h:236
RTC 16 Click context object.
Definition rtc16.h:188
digital_in_t int_pin
Definition rtc16.h:190
i2c_master_t i2c
Definition rtc16.h:193
uint8_t slave_address
Definition rtc16.h:196
RTC 16 Click time object.
Definition rtc16.h:222
uint8_t second
Definition rtc16.h:223
uint8_t minute
Definition rtc16.h:224
uint8_t hour
Definition rtc16.h:225