-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathPCA2129T.h
55 lines (45 loc) · 1.41 KB
/
PCA2129T.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
* PCA2129T.h
*
* Author: Kestutis Bivainis
*/
#ifndef PCA2129T_H_
#define PCA2129T_H_
#define PCA2129T_I2C_ADDR_7BIT 0xA2
#define PCA2129T_CONTROL1_REGISTER 0x00
#define PCA2129T_CONTROL2_REGISTER 0x01
#define PCA2129T_CONTROL3_REGISTER 0x02
#define PCA2129T_TIMEDATE_REGISTER 0x03
#define PCA2129T_CLKOUT_CONTROL_REGISTER 0x0F
#define PCA2129T_WATHCDOG_TIMER_CONTROL_REGISTER 0x10
#define PCA2129T_TIMESTAMP_CONTROL_REGISTER 0x12
#define PCA2129T_AGING_OFFSET_REGISTER 0x19
#define PCA2129T_CONTROL1_LENGTH 1
#define PCA2129T_CONTROL2_LENGTH 1
#define PCA2129T_CONTROL3_LENGTH 1
#define PCA2129T_TIMEDATE_LENGHT 7
#define PCA2129T_CLKOUT_CONTROL_LENGHT 1
#define PCA2129T_WATHCDOG_TIMER_CONTROL_LENGHT 1
#define PCA2129T_TIMESTAMP_CONTROL_LENGTH 1
#define PCA2129T_OFFSET_LENGHT 1
#define PCA2129T_MIN_OFFSET 0
#define PCA2129T_MAX_OFFSET 15
#define PCA2129T_MIN_HOUR 0
#define PCA2129T_MAX_HOUR 23
#define PCA2129T_MIN_MINUTE 0
#define PCA2129T_MAX_MINUTE 59
#define PCA2129T_MIN_SECOND 0
#define PCA2129T_MAX_SECOND 59
#define PCA2129T_MIN_WORKDAY 0
#define PCA2129T_MAX_WORKDAY 6
#define PCA2129T_MIN_DAY 1
#define PCA2129T_MAX_DAY 31
#define PCA2129T_MIN_MONTH 1
#define PCA2129T_MAX_MONTH 12
#define PCA2129T_MIN_YEAR 0
#define PCA2129T_MAX_YEAR 99
#define TO_BCD(x) ((((x)/10)<<4)|((x)%10))
#define FROM_BCD(x) ((((x)&0xF0)>>4)*10+((x)&0x0F))
#define FROM_BCD_HIGH(x) ((x)>>4)
#define FROM_BCD_LOW(x) ((x)&0x0F)
#endif