rtc7 2.0.0.0
rtc7.h File Reference

This file contains API for RTC 7 Click driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  rtc7_time_t
 
struct  rtc7_t
 Click ctx object definition. More...
 
struct  rtc7_cfg_t
 Click configuration structure definition. More...
 

Macros

#define RTC7_MAP_MIKROBUS(cfg, mikrobus)
 
#define RTC7_OK   0
 
#define RTC7_ERROR   -1
 
#define RTC7_SECONDS_ADDR   0x06
 
#define RTC7_MINUTES_ADDR   0x07
 
#define RTC7_HOURS_ADDR   0x08
 
#define RTC7_DAY_ADDR   0x09
 
#define RTC7_DATE_ADDR   0x0A
 
#define RTC7_MONTH_ADDR   0x0B
 
#define RTC7_YEAR_ADDR   0x0C
 
#define RTC7_TIMEDATE_BYTES   7
 
#define RTC7_SECONDS_BYTE   0
 
#define RTC7_MINUTES_BYTE   1
 
#define RTC7_HOURS_BYTE   2
 
#define RTC7_DAY_BYTE   3
 
#define RTC7_DATE_BYTE   4
 
#define RTC7_MONTH_BYTE   5
 
#define RTC7_YEAR_BYTE   6
 
#define RTC7_SECONDS_MASK   0x7F
 
#define RTC7_MINUTES_MASK   0x7F
 
#define RTC7_HOURS_MASK   0x1F
 
#define RTC7_DAY_MASK   0x07
 
#define RTC7_DATE_MASK   0x3F
 
#define RTC7_MONTH_MASK   0x1F
 
#define RTC7_YEAR_MASK   0xFF
 
#define RTC7_JULIAN_DAY_1970   2440588
 
#define RTC7_TIME_SEC_IN_MIN   60
 
#define RTC7_TIME_SEC_IN_HOUR   3600
 
#define RTC7_TIME_SEC_IN_24_HOURS   86400
 
#define RTC7_CONFIG1_REG   0x00
 
#define RTC7_CONFIG2_REG   0x01
 
#define RTC7_SLEEP_CONFIG_REG   0x02
 
#define RTC7_TIMER_CONFIG_REG   0x03
 
#define RTC7_INT_EN_REG   0x04
 
#define RTC7_INT_STATUS_REG   0x05
 
#define RTC7_ALM1_SEC_REG   0x0D
 
#define RTC7_ALM1_MIN_REG   0x0E
 
#define RTC7_ALM1_HRS_REG   0x0F
 
#define RTC7_ALM1_DAY_DATE_REG   0x10
 
#define RTC7_ALM2_MIN_REG   0x11
 
#define RTC7_ALM2_HRS_REG   0x12
 
#define RTC7_ALM2_DAY_DATE_REG   0x13
 
#define RTC7_TIMER_COUNT_REG   0x14
 
#define RTC7_TIMER_INIT_REG   0x15
 
#define RTC7_RAM0_REG_ADDR16H   0x16
 
#define RTC7_RAM63_REG_ADDR55H   0x55
 
#define RTC7_PWR_MGMT_REG   0x56
 
#define RTC7_TRICKLE_REG   0x57
 
#define RTC7_SPARE_REG   0x58
 
#define RTC7_SPARE_ST_REG   0x59
 
#define RTC7_TEST1_REG   0x64
 
#define RTC7_TEST2_REG   0x65
 
#define RTC7_TEST3_REG   0x66
 
#define RTC7_TCFG1_REG   0x67
 
#define RTC7_TCFG2_REG   0x68
 
#define RTC7_TCFG3_REG   0x69
 
#define RTC7_OTP1_B1_REG   0x6A
 
#define RTC7_OTP1_B2_REG   0x6B
 
#define RTC7_OTP1_B3_REG   0x6C
 
#define RTC7_OTP1_B4_REG   0x6D
 
#define RTC7_OTP2_B1_REG   0x6E
 
#define RTC7_OTP2_B2_REG   0x6F
 
#define RTC7_OTP2_B3_REG   0x70
 
#define RTC7_OTP2_B4_REG   0x71
 
#define RTC7_TCFG4_REG   0x72
 
#define RTC7_TCFG5_REG   0x73
 
#define RTC7_TEST_DIG_REG   0x74
 
#define RTC7_RESET_DIGITAL_BLOCK   0x00
 
#define RTC7_NOT_RESET_DIGITAL_BLOCK   0x01
 
#define RTC7_OUTPUT_FREQ_1HZ   0x00
 
#define RTC7_OUTPUT_FREQ_4098HZ   0x02
 
#define RTC7_OUTPUT_FREQ_8192HZ   0x04
 
#define RTC7_OUTPUT_FREQ_32768HZ   0x06
 
#define RTC7_ENABLE_OSC   0x00
 
#define RTC7_DISABLE_OSC   0x08
 
#define RTC7_INPUT_FREQ_1HZ   0x00
 
#define RTC7_INPUT_FREQ_50HZ   0x10
 
#define RTC7_INPUT_FREQ_60HZ   0x20
 
#define RTC7_INPUT_FREQ_32768HZ   0x30
 
#define RTC7_OUTPUT_SQUARE_WAVE   0x00
 
#define RTC7_OUTPUT_INTERRUPT   0x40
 
#define RTC7_DISABLE_EXT_CLOCK   0x00
 
#define RTC7_ENABLE_EXT_CLOCK   0x80
 
#define RTC7_SOLAR_MODE   0x00
 
#define RTC7_LUNAR_MODE   0x01
 
#define RTC7_WRITE_NOT_ALLOW   0x00
 
#define RTC7_WRITE_ALLOW   0x02
 
#define RTC7_READ_NOT_ALLOW   0x00
 
#define RTC7_READ_ALLOW   0x04
 
#define RTC7_I2C_TIMEOUT_DIS   0x00
 
#define RTC7_I2C_TIMEOUT_EN   0x08
 
#define RTC7_VOLTAGE_THRESH_1400MV   0x00
 
#define RTC7_VOLTAGE_THRESH_1800MV   0x10
 
#define RTC7_VOLTAGE_THRESH_2100MV   0x20
 
#define RTC7_VOLTAGE_THRESH_2500MV   0x30
 
#define RTC7_NORMAL_OP_MODE   0x00
 
#define RTC7_DATA_RETENTION_MODE   0x40
 
#define RTC7_SLEEP_PERIOD_NO_DELAY   0x00
 
#define RTC7_SLEEP_PERIOD_8_TO_16MS   0x01
 
#define RTC7_SLEEP_PERIOD_16_TO_24MS   0x02
 
#define RTC7_SLEEP_PERIOD_24_TO_32MS   0x03
 
#define RTC7_SLEEP_PERIOD_32_TO_40MS   0x04
 
#define RTC7_SLEEP_PERIOD_40_TO_48MS   0x05
 
#define RTC7_SLEEP_PERIOD_48_TO_56MS   0x06
 
#define RTC7_SLEEP_PERIOD_56_TO_64MS   0x07
 
#define RTC7_SLEEP_MANAGER_DIS   0x00
 
#define RTC7_SLEEP_MANAGER_EN   0x08
 
#define RTC7_DIN0_INTERR_FALL_EDGE   0x00
 
#define RTC7_DIN0_INTERR_RISE_EDGE   0x10
 
#define RTC7_DIN1_INTERR_FALL_EDGE   0x00
 
#define RTC7_DIN1_INTERR_RISE_EDGE   0x20
 
#define RTC7_AN_INTERR_FALL_EDGE   0x00
 
#define RTC7_AN_INTERR_RISE_EDGE   0x40
 
#define RTC7_SLEEP_MODE_DIS   0x00
 
#define RTC7_SLEEP_MODE_EN   0x80
 
#define RTC7_TIMER_FREQ_1024HZ   0x00
 
#define RTC7_TIMER_FREQ_256HZ   0x01
 
#define RTC7_TIMER_FREQ_64HZ   0x02
 
#define RTC7_TIMER_FREQ_16HZ   0x03
 
#define RTC7_TIMER_WILL_HALT   0x00
 
#define RTC7_TIMER_RELOADS_VALUE   0x04
 
#define RTC7_PULSE_INTERR_TM_IS_0   0x00
 
#define RTC7_PULSE_INTERR_TM_IS_1   0x08
 
#define RTC7_TIMER_DIS   0x00
 
#define RTC7_TIMER_EN   0x10
 
#define RTC7_ALARM1_INTERR_DIS   0x00
 
#define RTC7_ALARM1_INTERR_EN   0x01
 
#define RTC7_ALARM2_INTERR_DIS   0x00
 
#define RTC7_ALARM2_INTERR_EN   0x02
 
#define RTC7_TIMER_INTERR_DIS   0x00
 
#define RTC7_TIMER_INTERR_EN   0x04
 
#define RTC7_EXT_INTERR0_DIS   0x00
 
#define RTC7_EXT_INTERR0_EN   0x08
 
#define RTC7_EXT_INTERR1_DIS   0x00
 
#define RTC7_EXT_INTERR1_EN   0x10
 
#define RTC7_AN_INTERR_DIS   0x00
 
#define RTC7_AN_INTERR_EN   0x20
 

Functions

void rtc7_cfg_setup (rtc7_cfg_t *cfg)
 Config Object Initialization function.
 
err_t rtc7_init (rtc7_t *ctx, rtc7_cfg_t *cfg)
 Initialization function.
 
err_t rtc7_generic_write (rtc7_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
err_t rtc7_generic_read (rtc7_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
err_t rtc7_write_reg (rtc7_t *ctx, uint8_t reg, uint8_t data_in)
 Write one byte function.
 
err_t rtc7_read_reg (rtc7_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 Read one byte function.
 
err_t rtc7_init_time (rtc7_t *ctx, int8_t time_zone)
 Initialization function.
 
err_t rtc7_set_osc (rtc7_t *ctx, uint8_t enable_osc, uint8_t clk_in, uint8_t clk_out)
 Oscillator Set function.
 
err_t rtc7_set_timer (rtc7_t *ctx, uint8_t enable_timer, uint8_t timer_freq)
 Timer Set function.
 
err_t rtc7_reset (rtc7_t *ctx)
 Reset function.
 
err_t rtc7_get_gmt_time (rtc7_t *ctx, rtc7_time_t *gmt_time)
 Get Gmt Time function.
 
err_t rtc7_get_local_time (rtc7_t *ctx, rtc7_time_t *local_time)
 Get Local Time function.
 
err_t rtc7_set_gmt_time (rtc7_t *ctx, rtc7_time_t *time)
 Set Gmt Time function.
 
uint8_t rtc7_check_interrupt (rtc7_t *ctx)
 Interrupt Check function.
 
uint8_t rtc7_check_psw (rtc7_t *ctx)
 Power Switch Control function.
 

Detailed Description

This file contains API for RTC 7 Click driver.