no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
pcf85263.h
Go to the documentation of this file.
1/***************************************************************************/
33
34#ifndef __PCF85263_H__
35#define __PCF85263_H__
36
37#include <stdint.h>
38#include <string.h>
39#include "no_os_util.h"
40#include "no_os_i2c.h"
41
42#define PCF85263_REG_100TH_SECONDS 0x00
43#define PCF85263_REG_SECONDS 0x01
44#define PCF85263_REG_MINUTES 0x02
45#define PCF85263_REG_HOURS 0x03
46#define PCF85263_REG_DAYS 0x04
47#define PCF85263_REG_WEEKDAYS 0x05
48#define PCF85263_REG_MONTHS 0x06
49#define PCF85263_REG_YEARS 0x07
50#define PCF85263_REG_SECOND_ALARM1 0x08
51#define PCF85263_REG_MINUTE_ALARM1 0x09
52#define PCF85263_REG_HOUR_ALARM1 0x0A
53#define PCF85263_REG_DAY_ALARM1 0x0B
54#define PCF85263_REG_MONTH_ALARM1 0x0C
55#define PCF85263_REG_MINUTE_ALARM2 0x0D
56#define PCF85263_REG_HOUR_ALARM2 0x0E
57#define PCF85263_REG_WEEKDAY_ALARM2 0x0F
58#define PCF85263_REG_ALARM_ENABLES 0x10
59#define PCF85263_REG_TSR1_SECONDS 0x11
60#define PCF85263_REG_TSR1_MINUTES 0x12
61#define PCF85263_REG_TSR1_HOURS 0x13
62#define PCF85263_REG_TSR1_DAYS 0x14
63#define PCF85263_REG_TSR1_MONTHS 0x15
64#define PCF85263_REG_TSR1_YEARS 0x16
65#define PCF85263_REG_TSR2_SECONDS 0x17
66#define PCF85263_REG_TSR2_MINUTES 0x18
67#define PCF85263_REG_TSR2_HOURS 0x19
68#define PCF85263_REG_TSR2_DAYS 0x1A
69#define PCF85263_REG_TSR2_MONTHS 0x1B
70#define PCF85263_REG_TSR2_YEARS 0x1C
71#define PCF85263_REG_TSR3_SECONDS 0x1D
72#define PCF85263_REG_TSR3_MINUTES 0x1E
73#define PCF85263_REG_TSR3_HOURS 0x1F
74#define PCF85263_REG_TSR3_DAYS 0x20
75#define PCF85263_REG_TSR3_MONTHS 0x21
76#define PCF85263_REG_TSR3_YEARS 0x22
77#define PCF85263_REG_TSR_MODE 0x23
78#define PCF85263_REG_OFFSET 0x24
79#define PCF85263_REG_OSCILLATOR 0x25
80#define PCF85263_REG_BATTERY_SWITCH 0x26
81#define PCF85263_REG_PIN_IO 0x27
82#define PCF85263_REG_FUNCTION 0x28
83#define PCF85263_REG_INTA_ENABLE 0x29
84#define PCF85263_REG_INTB_ENABLE 0x2A
85#define PCF85263_REG_FLAGS 0x2B
86#define PCF85263_REG_RAM_BYTE 0x2C
87#define PCF85263_REG_WATCH_DOG 0x2D
88#define PCF85263_REG_STOP_ENABLE 0x2E
89#define PCF85263_REG_RESETS 0x2F
90
91#define PCF85263_CPR 0xA4
92#define PCF85263_BATTERY_SW_MSK NO_OS_BIT(4)
93
99 uint8_t sec;
100 uint8_t min;
101 uint8_t hr;
102 uint8_t day;
103 uint8_t mon;
104 uint8_t year;
105};
106
116
126
127/* Read device register. */
128int pcf85263_read(struct pcf85263_dev *dev, uint8_t reg_addr,
129 uint8_t *reg_data);
130
131/* Write device register. */
132int pcf85263_write(struct pcf85263_dev *dev, uint8_t reg_addr,
133 uint8_t reg_data);
134
135/* Update specific register bits. */
136int pcf85263_update_bits(struct pcf85263_dev *dev, uint8_t reg_addr,
137 uint8_t mask, uint8_t reg_data);
138
139/* Set date */
140int pcf85263_set_date(struct pcf85263_dev *dev, struct pcf85263_date date);
141
142/* Read time stamp */
143int pcf85263_read_ts(struct pcf85263_dev *dev, struct pcf85263_date *ts);
144
145/* Initialize the device. */
148
149/* Remove the device and release resources. */
150int pcf85263_remove(struct pcf85263_dev *dev);
151
152#endif //__PCF85263_H__
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
Header file of I2C Interface.
Header file of utility functions.
int pcf85263_write(struct pcf85263_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Write device register.
Definition pcf85263.c:65
int pcf85263_update_bits(struct pcf85263_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t reg_data)
Update specific register bits.
Definition pcf85263.c:83
int pcf85263_init(struct pcf85263_dev **device, struct pcf85263_init_param init_param)
Initialize the device.
Definition pcf85263.c:106
int pcf85263_set_date(struct pcf85263_dev *dev, struct pcf85263_date date)
Set date.
Definition pcf85263.c:147
int pcf85263_read_ts(struct pcf85263_dev *dev, struct pcf85263_date *ts)
Read time stamp.
Definition pcf85263.c:196
int pcf85263_remove(struct pcf85263_dev *dev)
Remove the device and release resources.
Definition pcf85263.c:244
int pcf85263_read(struct pcf85263_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
Read device register.
Definition pcf85263.c:47
Definition ad9361_util.h:63
Structure holding I2C address descriptor.
Definition no_os_i2c.h:89
Structure holding the parameters for I2C initialization.
Definition no_os_i2c.h:52
Structure holding the date parameters.
Definition pcf85263.h:98
uint8_t sec
Definition pcf85263.h:99
uint8_t min
Definition pcf85263.h:100
uint8_t day
Definition pcf85263.h:102
uint8_t mon
Definition pcf85263.h:103
uint8_t year
Definition pcf85263.h:104
uint8_t hr
Definition pcf85263.h:101
PCF85263 Device structure.
Definition pcf85263.h:121
uint8_t battery_en
Definition pcf85263.h:124
struct no_os_i2c_desc * i2c_desc
Definition pcf85263.h:123
PCF85263 Device initialization parameters.
Definition pcf85263.h:111
struct no_os_i2c_init_param * i2c_init
Definition pcf85263.h:113
uint8_t battery_en
Definition pcf85263.h:114