-
Notifications
You must be signed in to change notification settings - Fork 0
/
PAC1720.cpp
132 lines (111 loc) · 3.39 KB
/
PAC1720.cpp
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
///-------------------------------------------------------------------------------------------------
/// @file POC\PAC1720.cpp.
///
/// @brief Implements the pac 1720 class
#include "PAC1720.h"
///-------------------------------------------------------------------------------------------------
/// @fn PAC1720::PAC1720(BasicPOCModule* itsPOCModule, list<Component*>& componentList)
///
/// @brief Constructor
///
/// @author Benjamin
/// @date 28.09.2020
///
/// @param [in,out] itsPOCModule If non-null, its poc module.
/// @param [in,out] componentList [in,out] If non-null, list of components.
PAC1720::PAC1720(BasicPOCModule* itsPOCModule, list<Component*>& componentList) :
I2CComponent("PAC1720", 0x29, false, 100000, itsPOCModule, componentList) {
}
///-------------------------------------------------------------------------------------------------
/// @fn void PAC1720::init()
///
/// @brief Initializes this object
///
/// @author Benjamin
/// @date 28.09.2020
void PAC1720::init() {
//TODO
}
///-------------------------------------------------------------------------------------------------
/// @fn void PAC1720::selfTest()
///
/// @brief Tests self
///
/// @author Benjamin
/// @date 28.09.2020
void PAC1720::selfTest() {
//TODO
}
///-------------------------------------------------------------------------------------------------
/// @fn unsigned int PAC1720::getCurrentDrawHS()
///
/// @brief Gets current draw hs
///
/// @author Benjamin
/// @date 28.09.2020
///
/// @returns The current draw hs.
unsigned int PAC1720::getCurrentDrawHS() {
//TODO
return ((readRegister(0x0D) & (0xEF)) << 4) | (readRegister(0x0E) >> 4);
}
///-------------------------------------------------------------------------------------------------
/// @fn unsigned int PAC1720::getVoltageHS()
///
/// @brief Gets voltage hs
///
/// @author Benjamin
/// @date 28.09.2020
///
/// @returns The voltage hs.
unsigned int PAC1720::getVoltageHS() {
return (readRegister(0x11) << 3) | (readRegister(0x12) >> 5);
}
///-------------------------------------------------------------------------------------------------
/// @fn unsigned int PAC1720::getPowerHS()
///
/// @brief Gets power hs
///
/// @author Benjamin
/// @date 28.09.2020
///
/// @returns The power hs.
unsigned int PAC1720::getPowerHS() {
return (readRegister(0x15) << 8) | readRegister(0x16);
}
///-------------------------------------------------------------------------------------------------
/// @fn unsigned int PAC1720::getCurrentDrawLS()
///
/// @brief Gets current draw ls
///
/// @author Benjamin
/// @date 28.09.2020
///
/// @returns The current draw ls.
unsigned int PAC1720::getCurrentDrawLS() {
return ((readRegister(0x0F) & (0xEF)) << 4) | (readRegister(0x10) >> 4);
}
///-------------------------------------------------------------------------------------------------
/// @fn unsigned int PAC1720::getVoltageLS()
///
/// @brief Gets voltage ls
///
/// @author Benjamin
/// @date 28.09.2020
///
/// @returns The voltage ls.
unsigned int PAC1720::getVoltageLS() {
return (readRegister(0x13) << 3) | (readRegister(0x14) >> 5);
}
///-------------------------------------------------------------------------------------------------
/// @fn unsigned int PAC1720::getPowerLS()
///
/// @brief Gets power ls
///
/// @author Benjamin
/// @date 28.09.2020
///
/// @returns The power ls.
unsigned int PAC1720::getPowerLS() {
return (readRegister(0x17) << 8) | readRegister(0x18);
}