blob: dfba510f29be6c764a42f94e538a7ab7ab910e93 [file] [log] [blame]
Cristina Opriceana37e3be92015-03-04 02:37:15 +02001#ifndef _METER_H
2#define _METER_H
3
Jonathan Cameron06458e22012-04-25 15:54:58 +01004#include <linux/iio/sysfs.h>
Barry Song09434ef2010-10-27 21:44:14 -04005
6/* metering ic types of attribute */
7
8#define IIO_DEV_ATTR_CURRENT_A_OFFSET(_mode, _show, _store, _addr) \
9 IIO_DEVICE_ATTR(current_a_offset, _mode, _show, _store, _addr)
10
11#define IIO_DEV_ATTR_CURRENT_B_OFFSET(_mode, _show, _store, _addr) \
12 IIO_DEVICE_ATTR(current_b_offset, _mode, _show, _store, _addr)
13
14#define IIO_DEV_ATTR_CURRENT_C_OFFSET(_mode, _show, _store, _addr) \
15 IIO_DEVICE_ATTR(current_c_offset, _mode, _show, _store, _addr)
16
17#define IIO_DEV_ATTR_VOLT_A_OFFSET(_mode, _show, _store, _addr) \
18 IIO_DEVICE_ATTR(volt_a_offset, _mode, _show, _store, _addr)
19
20#define IIO_DEV_ATTR_VOLT_B_OFFSET(_mode, _show, _store, _addr) \
21 IIO_DEVICE_ATTR(volt_b_offset, _mode, _show, _store, _addr)
22
23#define IIO_DEV_ATTR_VOLT_C_OFFSET(_mode, _show, _store, _addr) \
24 IIO_DEVICE_ATTR(volt_c_offset, _mode, _show, _store, _addr)
25
Darshana Padmadas8594e072014-09-30 23:04:58 +053026#define IIO_DEV_ATTR_REACTIVE_POWER_A_OFFSET(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040027 IIO_DEVICE_ATTR(reactive_power_a_offset, _mode, _show, _store, _addr)
28
Darshana Padmadas8594e072014-09-30 23:04:58 +053029#define IIO_DEV_ATTR_REACTIVE_POWER_B_OFFSET(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040030 IIO_DEVICE_ATTR(reactive_power_b_offset, _mode, _show, _store, _addr)
31
Darshana Padmadas8594e072014-09-30 23:04:58 +053032#define IIO_DEV_ATTR_REACTIVE_POWER_C_OFFSET(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040033 IIO_DEVICE_ATTR(reactive_power_c_offset, _mode, _show, _store, _addr)
34
Darshana Padmadas8594e072014-09-30 23:04:58 +053035#define IIO_DEV_ATTR_ACTIVE_POWER_A_OFFSET(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040036 IIO_DEVICE_ATTR(active_power_a_offset, _mode, _show, _store, _addr)
37
Darshana Padmadas8594e072014-09-30 23:04:58 +053038#define IIO_DEV_ATTR_ACTIVE_POWER_B_OFFSET(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040039 IIO_DEVICE_ATTR(active_power_b_offset, _mode, _show, _store, _addr)
40
Darshana Padmadas8594e072014-09-30 23:04:58 +053041#define IIO_DEV_ATTR_ACTIVE_POWER_C_OFFSET(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040042 IIO_DEVICE_ATTR(active_power_c_offset, _mode, _show, _store, _addr)
43
Darshana Padmadas8594e072014-09-30 23:04:58 +053044#define IIO_DEV_ATTR_CURRENT_A_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040045 IIO_DEVICE_ATTR(current_a_gain, _mode, _show, _store, _addr)
46
Darshana Padmadas8594e072014-09-30 23:04:58 +053047#define IIO_DEV_ATTR_CURRENT_B_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040048 IIO_DEVICE_ATTR(current_b_gain, _mode, _show, _store, _addr)
49
Darshana Padmadas8594e072014-09-30 23:04:58 +053050#define IIO_DEV_ATTR_CURRENT_C_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040051 IIO_DEVICE_ATTR(current_c_gain, _mode, _show, _store, _addr)
52
Darshana Padmadas8594e072014-09-30 23:04:58 +053053#define IIO_DEV_ATTR_APPARENT_POWER_A_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040054 IIO_DEVICE_ATTR(apparent_power_a_gain, _mode, _show, _store, _addr)
55
Darshana Padmadas8594e072014-09-30 23:04:58 +053056#define IIO_DEV_ATTR_APPARENT_POWER_B_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040057 IIO_DEVICE_ATTR(apparent_power_b_gain, _mode, _show, _store, _addr)
58
Darshana Padmadas8594e072014-09-30 23:04:58 +053059#define IIO_DEV_ATTR_APPARENT_POWER_C_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040060 IIO_DEVICE_ATTR(apparent_power_c_gain, _mode, _show, _store, _addr)
61
Darshana Padmadas8594e072014-09-30 23:04:58 +053062#define IIO_DEV_ATTR_ACTIVE_POWER_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040063 IIO_DEVICE_ATTR(active_power_gain, _mode, _show, _store, _addr)
64
Darshana Padmadas8594e072014-09-30 23:04:58 +053065#define IIO_DEV_ATTR_ACTIVE_POWER_A_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040066 IIO_DEVICE_ATTR(active_power_a_gain, _mode, _show, _store, _addr)
67
Darshana Padmadas8594e072014-09-30 23:04:58 +053068#define IIO_DEV_ATTR_ACTIVE_POWER_B_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040069 IIO_DEVICE_ATTR(active_power_b_gain, _mode, _show, _store, _addr)
70
Darshana Padmadas8594e072014-09-30 23:04:58 +053071#define IIO_DEV_ATTR_ACTIVE_POWER_C_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040072 IIO_DEVICE_ATTR(active_power_c_gain, _mode, _show, _store, _addr)
73
Darshana Padmadas8594e072014-09-30 23:04:58 +053074#define IIO_DEV_ATTR_REACTIVE_POWER_A_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040075 IIO_DEVICE_ATTR(reactive_power_a_gain, _mode, _show, _store, _addr)
76
Darshana Padmadas8594e072014-09-30 23:04:58 +053077#define IIO_DEV_ATTR_REACTIVE_POWER_B_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040078 IIO_DEVICE_ATTR(reactive_power_b_gain, _mode, _show, _store, _addr)
79
Darshana Padmadas8594e072014-09-30 23:04:58 +053080#define IIO_DEV_ATTR_REACTIVE_POWER_C_GAIN(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -040081 IIO_DEVICE_ATTR(reactive_power_c_gain, _mode, _show, _store, _addr)
82
83#define IIO_DEV_ATTR_CURRENT_A(_show, _addr) \
84 IIO_DEVICE_ATTR(current_a, S_IRUGO, _show, NULL, _addr)
85
86#define IIO_DEV_ATTR_CURRENT_B(_show, _addr) \
87 IIO_DEVICE_ATTR(current_b, S_IRUGO, _show, NULL, _addr)
88
89#define IIO_DEV_ATTR_CURRENT_C(_show, _addr) \
90 IIO_DEVICE_ATTR(current_c, S_IRUGO, _show, NULL, _addr)
91
92#define IIO_DEV_ATTR_VOLT_A(_show, _addr) \
93 IIO_DEVICE_ATTR(volt_a, S_IRUGO, _show, NULL, _addr)
94
95#define IIO_DEV_ATTR_VOLT_B(_show, _addr) \
96 IIO_DEVICE_ATTR(volt_b, S_IRUGO, _show, NULL, _addr)
97
98#define IIO_DEV_ATTR_VOLT_C(_show, _addr) \
99 IIO_DEVICE_ATTR(volt_c, S_IRUGO, _show, NULL, _addr)
100
101#define IIO_DEV_ATTR_AENERGY(_show, _addr) \
102 IIO_DEVICE_ATTR(aenergy, S_IRUGO, _show, NULL, _addr)
103
104#define IIO_DEV_ATTR_LENERGY(_show, _addr) \
105 IIO_DEVICE_ATTR(lenergy, S_IRUGO, _show, NULL, _addr)
106
107#define IIO_DEV_ATTR_RAENERGY(_show, _addr) \
108 IIO_DEVICE_ATTR(raenergy, S_IRUGO, _show, NULL, _addr)
109
110#define IIO_DEV_ATTR_LAENERGY(_show, _addr) \
111 IIO_DEVICE_ATTR(laenergy, S_IRUGO, _show, NULL, _addr)
112
113#define IIO_DEV_ATTR_VAENERGY(_show, _addr) \
114 IIO_DEVICE_ATTR(vaenergy, S_IRUGO, _show, NULL, _addr)
115
116#define IIO_DEV_ATTR_LVAENERGY(_show, _addr) \
117 IIO_DEVICE_ATTR(lvaenergy, S_IRUGO, _show, NULL, _addr)
118
119#define IIO_DEV_ATTR_RVAENERGY(_show, _addr) \
120 IIO_DEVICE_ATTR(rvaenergy, S_IRUGO, _show, NULL, _addr)
121
122#define IIO_DEV_ATTR_LVARENERGY(_show, _addr) \
123 IIO_DEVICE_ATTR(lvarenergy, S_IRUGO, _show, NULL, _addr)
124
125#define IIO_DEV_ATTR_CHKSUM(_show, _addr) \
126 IIO_DEVICE_ATTR(chksum, S_IRUGO, _show, NULL, _addr)
127
128#define IIO_DEV_ATTR_ANGLE0(_show, _addr) \
129 IIO_DEVICE_ATTR(angle0, S_IRUGO, _show, NULL, _addr)
130
131#define IIO_DEV_ATTR_ANGLE1(_show, _addr) \
132 IIO_DEVICE_ATTR(angle1, S_IRUGO, _show, NULL, _addr)
133
134#define IIO_DEV_ATTR_ANGLE2(_show, _addr) \
135 IIO_DEVICE_ATTR(angle2, S_IRUGO, _show, NULL, _addr)
136
137#define IIO_DEV_ATTR_AWATTHR(_show, _addr) \
138 IIO_DEVICE_ATTR(awatthr, S_IRUGO, _show, NULL, _addr)
139
140#define IIO_DEV_ATTR_BWATTHR(_show, _addr) \
141 IIO_DEVICE_ATTR(bwatthr, S_IRUGO, _show, NULL, _addr)
142
143#define IIO_DEV_ATTR_CWATTHR(_show, _addr) \
144 IIO_DEVICE_ATTR(cwatthr, S_IRUGO, _show, NULL, _addr)
145
146#define IIO_DEV_ATTR_AFWATTHR(_show, _addr) \
147 IIO_DEVICE_ATTR(afwatthr, S_IRUGO, _show, NULL, _addr)
148
149#define IIO_DEV_ATTR_BFWATTHR(_show, _addr) \
150 IIO_DEVICE_ATTR(bfwatthr, S_IRUGO, _show, NULL, _addr)
151
152#define IIO_DEV_ATTR_CFWATTHR(_show, _addr) \
153 IIO_DEVICE_ATTR(cfwatthr, S_IRUGO, _show, NULL, _addr)
154
155#define IIO_DEV_ATTR_AVARHR(_show, _addr) \
156 IIO_DEVICE_ATTR(avarhr, S_IRUGO, _show, NULL, _addr)
157
158#define IIO_DEV_ATTR_BVARHR(_show, _addr) \
159 IIO_DEVICE_ATTR(bvarhr, S_IRUGO, _show, NULL, _addr)
160
161#define IIO_DEV_ATTR_CVARHR(_show, _addr) \
162 IIO_DEVICE_ATTR(cvarhr, S_IRUGO, _show, NULL, _addr)
163
164#define IIO_DEV_ATTR_AVAHR(_show, _addr) \
165 IIO_DEVICE_ATTR(avahr, S_IRUGO, _show, NULL, _addr)
166
167#define IIO_DEV_ATTR_BVAHR(_show, _addr) \
168 IIO_DEVICE_ATTR(bvahr, S_IRUGO, _show, NULL, _addr)
169
170#define IIO_DEV_ATTR_CVAHR(_show, _addr) \
171 IIO_DEVICE_ATTR(cvahr, S_IRUGO, _show, NULL, _addr)
172
173#define IIO_DEV_ATTR_IOS(_mode, _show, _store, _addr) \
174 IIO_DEVICE_ATTR(ios, _mode, _show, _store, _addr)
175
176#define IIO_DEV_ATTR_VOS(_mode, _show, _store, _addr) \
177 IIO_DEVICE_ATTR(vos, _mode, _show, _store, _addr)
178
179#define IIO_DEV_ATTR_PHCAL(_mode, _show, _store, _addr) \
180 IIO_DEVICE_ATTR(phcal, _mode, _show, _store, _addr)
181
182#define IIO_DEV_ATTR_APHCAL(_mode, _show, _store, _addr) \
183 IIO_DEVICE_ATTR(aphcal, _mode, _show, _store, _addr)
184
185#define IIO_DEV_ATTR_BPHCAL(_mode, _show, _store, _addr) \
186 IIO_DEVICE_ATTR(bphcal, _mode, _show, _store, _addr)
187
188#define IIO_DEV_ATTR_CPHCAL(_mode, _show, _store, _addr) \
189 IIO_DEVICE_ATTR(cphcal, _mode, _show, _store, _addr)
190
191#define IIO_DEV_ATTR_APOS(_mode, _show, _store, _addr) \
192 IIO_DEVICE_ATTR(apos, _mode, _show, _store, _addr)
193
194#define IIO_DEV_ATTR_AAPOS(_mode, _show, _store, _addr) \
195 IIO_DEVICE_ATTR(aapos, _mode, _show, _store, _addr)
196
197#define IIO_DEV_ATTR_BAPOS(_mode, _show, _store, _addr) \
198 IIO_DEVICE_ATTR(bapos, _mode, _show, _store, _addr)
199
200#define IIO_DEV_ATTR_CAPOS(_mode, _show, _store, _addr) \
201 IIO_DEVICE_ATTR(capos, _mode, _show, _store, _addr)
202
203#define IIO_DEV_ATTR_AVRMSGAIN(_mode, _show, _store, _addr) \
204 IIO_DEVICE_ATTR(avrmsgain, _mode, _show, _store, _addr)
205
206#define IIO_DEV_ATTR_BVRMSGAIN(_mode, _show, _store, _addr) \
207 IIO_DEVICE_ATTR(bvrmsgain, _mode, _show, _store, _addr)
208
209#define IIO_DEV_ATTR_CVRMSGAIN(_mode, _show, _store, _addr) \
210 IIO_DEVICE_ATTR(cvrmsgain, _mode, _show, _store, _addr)
211
212#define IIO_DEV_ATTR_AIGAIN(_mode, _show, _store, _addr) \
213 IIO_DEVICE_ATTR(aigain, _mode, _show, _store, _addr)
214
215#define IIO_DEV_ATTR_BIGAIN(_mode, _show, _store, _addr) \
216 IIO_DEVICE_ATTR(bigain, _mode, _show, _store, _addr)
217
218#define IIO_DEV_ATTR_CIGAIN(_mode, _show, _store, _addr) \
219 IIO_DEVICE_ATTR(cigain, _mode, _show, _store, _addr)
220
221#define IIO_DEV_ATTR_NIGAIN(_mode, _show, _store, _addr) \
222 IIO_DEVICE_ATTR(nigain, _mode, _show, _store, _addr)
223
224#define IIO_DEV_ATTR_AVGAIN(_mode, _show, _store, _addr) \
225 IIO_DEVICE_ATTR(avgain, _mode, _show, _store, _addr)
226
227#define IIO_DEV_ATTR_BVGAIN(_mode, _show, _store, _addr) \
228 IIO_DEVICE_ATTR(bvgain, _mode, _show, _store, _addr)
229
230#define IIO_DEV_ATTR_CVGAIN(_mode, _show, _store, _addr) \
231 IIO_DEVICE_ATTR(cvgain, _mode, _show, _store, _addr)
232
233#define IIO_DEV_ATTR_WGAIN(_mode, _show, _store, _addr) \
234 IIO_DEVICE_ATTR(wgain, _mode, _show, _store, _addr)
235
236#define IIO_DEV_ATTR_WDIV(_mode, _show, _store, _addr) \
237 IIO_DEVICE_ATTR(wdiv, _mode, _show, _store, _addr)
238
239#define IIO_DEV_ATTR_CFNUM(_mode, _show, _store, _addr) \
240 IIO_DEVICE_ATTR(cfnum, _mode, _show, _store, _addr)
241
242#define IIO_DEV_ATTR_CFDEN(_mode, _show, _store, _addr) \
243 IIO_DEVICE_ATTR(cfden, _mode, _show, _store, _addr)
244
245#define IIO_DEV_ATTR_CF1DEN(_mode, _show, _store, _addr) \
246 IIO_DEVICE_ATTR(cf1den, _mode, _show, _store, _addr)
247
248#define IIO_DEV_ATTR_CF2DEN(_mode, _show, _store, _addr) \
249 IIO_DEVICE_ATTR(cf2den, _mode, _show, _store, _addr)
250
251#define IIO_DEV_ATTR_CF3DEN(_mode, _show, _store, _addr) \
252 IIO_DEVICE_ATTR(cf3den, _mode, _show, _store, _addr)
253
254#define IIO_DEV_ATTR_IRMS(_mode, _show, _store, _addr) \
255 IIO_DEVICE_ATTR(irms, _mode, _show, _store, _addr)
256
257#define IIO_DEV_ATTR_VRMS(_mode, _show, _store, _addr) \
258 IIO_DEVICE_ATTR(vrms, _mode, _show, _store, _addr)
259
260#define IIO_DEV_ATTR_AIRMS(_mode, _show, _store, _addr) \
261 IIO_DEVICE_ATTR(airms, _mode, _show, _store, _addr)
262
263#define IIO_DEV_ATTR_BIRMS(_mode, _show, _store, _addr) \
264 IIO_DEVICE_ATTR(birms, _mode, _show, _store, _addr)
265
266#define IIO_DEV_ATTR_CIRMS(_mode, _show, _store, _addr) \
267 IIO_DEVICE_ATTR(cirms, _mode, _show, _store, _addr)
268
269#define IIO_DEV_ATTR_NIRMS(_mode, _show, _store, _addr) \
270 IIO_DEVICE_ATTR(nirms, _mode, _show, _store, _addr)
271
272#define IIO_DEV_ATTR_AVRMS(_mode, _show, _store, _addr) \
273 IIO_DEVICE_ATTR(avrms, _mode, _show, _store, _addr)
274
275#define IIO_DEV_ATTR_BVRMS(_mode, _show, _store, _addr) \
276 IIO_DEVICE_ATTR(bvrms, _mode, _show, _store, _addr)
277
278#define IIO_DEV_ATTR_CVRMS(_mode, _show, _store, _addr) \
279 IIO_DEVICE_ATTR(cvrms, _mode, _show, _store, _addr)
280
281#define IIO_DEV_ATTR_IRMSOS(_mode, _show, _store, _addr) \
282 IIO_DEVICE_ATTR(irmsos, _mode, _show, _store, _addr)
283
284#define IIO_DEV_ATTR_VRMSOS(_mode, _show, _store, _addr) \
285 IIO_DEVICE_ATTR(vrmsos, _mode, _show, _store, _addr)
286
287#define IIO_DEV_ATTR_AIRMSOS(_mode, _show, _store, _addr) \
288 IIO_DEVICE_ATTR(airmsos, _mode, _show, _store, _addr)
289
290#define IIO_DEV_ATTR_BIRMSOS(_mode, _show, _store, _addr) \
291 IIO_DEVICE_ATTR(birmsos, _mode, _show, _store, _addr)
292
293#define IIO_DEV_ATTR_CIRMSOS(_mode, _show, _store, _addr) \
294 IIO_DEVICE_ATTR(cirmsos, _mode, _show, _store, _addr)
295
296#define IIO_DEV_ATTR_AVRMSOS(_mode, _show, _store, _addr) \
297 IIO_DEVICE_ATTR(avrmsos, _mode, _show, _store, _addr)
298
299#define IIO_DEV_ATTR_BVRMSOS(_mode, _show, _store, _addr) \
300 IIO_DEVICE_ATTR(bvrmsos, _mode, _show, _store, _addr)
301
302#define IIO_DEV_ATTR_CVRMSOS(_mode, _show, _store, _addr) \
303 IIO_DEVICE_ATTR(cvrmsos, _mode, _show, _store, _addr)
304
305#define IIO_DEV_ATTR_VAGAIN(_mode, _show, _store, _addr) \
306 IIO_DEVICE_ATTR(vagain, _mode, _show, _store, _addr)
307
308#define IIO_DEV_ATTR_PGA_GAIN(_mode, _show, _store, _addr) \
309 IIO_DEVICE_ATTR(pga_gain, _mode, _show, _store, _addr)
310
311#define IIO_DEV_ATTR_VADIV(_mode, _show, _store, _addr) \
312 IIO_DEVICE_ATTR(vadiv, _mode, _show, _store, _addr)
313
314#define IIO_DEV_ATTR_LINECYC(_mode, _show, _store, _addr) \
315 IIO_DEVICE_ATTR(linecyc, _mode, _show, _store, _addr)
316
317#define IIO_DEV_ATTR_SAGCYC(_mode, _show, _store, _addr) \
318 IIO_DEVICE_ATTR(sagcyc, _mode, _show, _store, _addr)
319
320#define IIO_DEV_ATTR_CFCYC(_mode, _show, _store, _addr) \
321 IIO_DEVICE_ATTR(cfcyc, _mode, _show, _store, _addr)
322
323#define IIO_DEV_ATTR_PEAKCYC(_mode, _show, _store, _addr) \
324 IIO_DEVICE_ATTR(peakcyc, _mode, _show, _store, _addr)
325
326#define IIO_DEV_ATTR_SAGLVL(_mode, _show, _store, _addr) \
327 IIO_DEVICE_ATTR(saglvl, _mode, _show, _store, _addr)
328
329#define IIO_DEV_ATTR_IPKLVL(_mode, _show, _store, _addr) \
330 IIO_DEVICE_ATTR(ipklvl, _mode, _show, _store, _addr)
331
332#define IIO_DEV_ATTR_VPKLVL(_mode, _show, _store, _addr) \
333 IIO_DEVICE_ATTR(vpklvl, _mode, _show, _store, _addr)
334
335#define IIO_DEV_ATTR_IPEAK(_mode, _show, _store, _addr) \
336 IIO_DEVICE_ATTR(ipeak, _mode, _show, _store, _addr)
337
Darshana Padmadas8594e072014-09-30 23:04:58 +0530338#define IIO_DEV_ATTR_RIPEAK(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -0400339 IIO_DEVICE_ATTR(ripeak, _mode, _show, _store, _addr)
340
341#define IIO_DEV_ATTR_VPEAK(_mode, _show, _store, _addr) \
342 IIO_DEVICE_ATTR(vpeak, _mode, _show, _store, _addr)
343
Darshana Padmadas8594e072014-09-30 23:04:58 +0530344#define IIO_DEV_ATTR_RVPEAK(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -0400345 IIO_DEVICE_ATTR(rvpeak, _mode, _show, _store, _addr)
346
Darshana Padmadas8594e072014-09-30 23:04:58 +0530347#define IIO_DEV_ATTR_VPERIOD(_mode, _show, _store, _addr) \
Barry Song09434ef2010-10-27 21:44:14 -0400348 IIO_DEVICE_ATTR(vperiod, _mode, _show, _store, _addr)
349
Darshana Padmadas8594e072014-09-30 23:04:58 +0530350#define IIO_DEV_ATTR_CH_OFF(_num, _mode, _show, _store, _addr) \
Darshana Padmadase09b1422014-09-30 23:04:59 +0530351 IIO_DEVICE_ATTR(choff_##_num, _mode, _show, _store, _addr)
Barry Song09434ef2010-10-27 21:44:14 -0400352
353/* active energy register, AENERGY, is more than half full */
354#define IIO_EVENT_ATTR_AENERGY_HALF_FULL(_evlist, _show, _store, _mask) \
355 IIO_EVENT_ATTR_SH(aenergy_half_full, _evlist, _show, _store, _mask)
356
357/* a SAG on the line voltage */
358#define IIO_EVENT_ATTR_LINE_VOLT_SAG(_evlist, _show, _store, _mask) \
359 IIO_EVENT_ATTR_SH(line_volt_sag, _evlist, _show, _store, _mask)
360
361/*
362 * Indicates the end of energy accumulation over an integer number
363 * of half line cycles
364 */
365#define IIO_EVENT_ATTR_CYCEND(_evlist, _show, _store, _mask) \
366 IIO_EVENT_ATTR_SH(cycend, _evlist, _show, _store, _mask)
367
Justin P. Mattock4abf6f82012-02-29 22:00:38 -0800368/* on the rising and falling edge of the voltage waveform */
Barry Song09434ef2010-10-27 21:44:14 -0400369#define IIO_EVENT_ATTR_ZERO_CROSS(_evlist, _show, _store, _mask) \
370 IIO_EVENT_ATTR_SH(zero_cross, _evlist, _show, _store, _mask)
371
372/* the active energy register has overflowed */
373#define IIO_EVENT_ATTR_AENERGY_OVERFLOW(_evlist, _show, _store, _mask) \
374 IIO_EVENT_ATTR_SH(aenergy_overflow, _evlist, _show, _store, _mask)
375
376/* the apparent energy register has overflowed */
377#define IIO_EVENT_ATTR_VAENERGY_OVERFLOW(_evlist, _show, _store, _mask) \
378 IIO_EVENT_ATTR_SH(vaenergy_overflow, _evlist, _show, _store, _mask)
379
380/* the active energy register, VAENERGY, is more than half full */
381#define IIO_EVENT_ATTR_VAENERGY_HALF_FULL(_evlist, _show, _store, _mask) \
382 IIO_EVENT_ATTR_SH(vaenergy_half_full, _evlist, _show, _store, _mask)
383
384/* the power has gone from negative to positive */
385#define IIO_EVENT_ATTR_PPOS(_evlist, _show, _store, _mask) \
386 IIO_EVENT_ATTR_SH(ppos, _evlist, _show, _store, _mask)
387
388/* the power has gone from positive to negative */
389#define IIO_EVENT_ATTR_PNEG(_evlist, _show, _store, _mask) \
390 IIO_EVENT_ATTR_SH(pneg, _evlist, _show, _store, _mask)
391
392/* waveform sample from Channel 1 has exceeded the IPKLVL value */
393#define IIO_EVENT_ATTR_IPKLVL_EXC(_evlist, _show, _store, _mask) \
394 IIO_EVENT_ATTR_SH(ipklvl_exc, _evlist, _show, _store, _mask)
395
396/* waveform sample from Channel 2 has exceeded the VPKLVL value */
397#define IIO_EVENT_ATTR_VPKLVL_EXC(_evlist, _show, _store, _mask) \
398 IIO_EVENT_ATTR_SH(vpklvl_exc, _evlist, _show, _store, _mask)
399
Cristina Opriceana37e3be92015-03-04 02:37:15 +0200400#endif /* _METER_H */