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
52
53
56
57
60
61
64
65
68
69
70
72
74
76
78
80
82
84
86
88
90
92
94
96
98
100
102
104
106
108
110
112
113
116
117
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
145
146
149
150
153
154
157
158
161
162
163
164
165
166
167
168
/* ... */
#ifndef __IDD_H
#define __IDD_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
/* ... */
/* ... */
/* ... */
/* ... */
/* ... */
typedef struct
{
uint16_t AmpliGain;
/* ... */
uint16_t VddMin;
/* ... */
uint16_t Shunt0Value;
/* ... */
uint16_t Shunt1Value;
/* ... */
uint16_t Shunt2Value;
/* ... */
uint16_t Shunt3Value;
/* ... */
uint16_t Shunt4Value;
/* ... */
uint16_t Shunt0StabDelay;
/* ... */
uint16_t Shunt1StabDelay;
/* ... */
uint16_t Shunt2StabDelay;
/* ... */
uint16_t Shunt3StabDelay;
/* ... */
uint16_t Shunt4StabDelay;
/* ... */
uint8_t ShuntNbOnBoard;
/* ... */
uint8_t ShuntNbUsed;
/* ... */
uint8_t VrefMeasurement;
/* ... */
uint8_t Calibration;
/* ... */
uint8_t PreDelayUnit;
/* ... */
uint8_t PreDelayValue;
/* ... */
uint8_t MeasureNb;
/* ... */
uint8_t DeltaDelayUnit;
/* ... */
uint8_t DeltaDelayValue;
/* ... */
...}IDD_ConfigTypeDef;
/* ... */
/* ... */
typedef struct
{
void (*Init)(uint16_t);
void (*DeInit)(uint16_t);
uint16_t (*ReadID)(uint16_t);
void (*Reset)(uint16_t);
void (*LowPower)(uint16_t);
void (*WakeUp)(uint16_t);
void (*Start)(uint16_t);
void (*Config)(uint16_t,IDD_ConfigTypeDef);
void (*GetValue)(uint16_t, uint32_t *);
void (*EnableIT)(uint16_t);
void (*ClearIT)(uint16_t);
uint8_t (*GetITStatus)(uint16_t);
void (*DisableIT)(uint16_t);
void (*ErrorEnableIT)(uint16_t);
void (*ErrorClearIT)(uint16_t);
uint8_t (*ErrorGetITStatus)(uint16_t);
void (*ErrorDisableIT)(uint16_t);
uint8_t (*ErrorGetSrc)(uint16_t);
uint8_t (*ErrorGetCode)(uint16_t);
...}IDD_DrvTypeDef;
/* ... */
/* ... */
/* ... */
/* ... */
/* ... */
#ifdef __cplusplus
}extern "C" { ... }
#endif
/* ... */
#endif