ESPHome 2025.6.0
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ade7880_registers.h
Go to the documentation of this file.
1#pragma once
2
3// This file is a modified version of the one created by Michaël Piron (@michaelpiron on GitHub)
4
5// Source: https://www.analog.com/media/en/technical-documentation/application-notes/AN-1127.pdf
6
7namespace esphome {
8namespace ade7880 {
9
10// DSP Data Memory RAM registers
11constexpr uint16_t AIGAIN = 0x4380;
12constexpr uint16_t AVGAIN = 0x4381;
13constexpr uint16_t BIGAIN = 0x4382;
14constexpr uint16_t BVGAIN = 0x4383;
15constexpr uint16_t CIGAIN = 0x4384;
16constexpr uint16_t CVGAIN = 0x4385;
17constexpr uint16_t NIGAIN = 0x4386;
18
19constexpr uint16_t DICOEFF = 0x4388;
20
21constexpr uint16_t APGAIN = 0x4389;
22constexpr uint16_t AWATTOS = 0x438A;
23constexpr uint16_t BPGAIN = 0x438B;
24constexpr uint16_t BWATTOS = 0x438C;
25constexpr uint16_t CPGAIN = 0x438D;
26constexpr uint16_t CWATTOS = 0x438E;
27constexpr uint16_t AIRMSOS = 0x438F;
28constexpr uint16_t AVRMSOS = 0x4390;
29constexpr uint16_t BIRMSOS = 0x4391;
30constexpr uint16_t BVRMSOS = 0x4392;
31constexpr uint16_t CIRMSOS = 0x4393;
32constexpr uint16_t CVRMSOS = 0x4394;
33constexpr uint16_t NIRMSOS = 0x4395;
34constexpr uint16_t HPGAIN = 0x4398;
35constexpr uint16_t ISUMLVL = 0x4399;
36
37constexpr uint16_t VLEVEL = 0x439F;
38
39constexpr uint16_t AFWATTOS = 0x43A2;
40constexpr uint16_t BFWATTOS = 0x43A3;
41constexpr uint16_t CFWATTOS = 0x43A4;
42
43constexpr uint16_t AFVAROS = 0x43A5;
44constexpr uint16_t BFVAROS = 0x43A6;
45constexpr uint16_t CFVAROS = 0x43A7;
46
47constexpr uint16_t AFIRMSOS = 0x43A8;
48constexpr uint16_t BFIRMSOS = 0x43A9;
49constexpr uint16_t CFIRMSOS = 0x43AA;
50
51constexpr uint16_t AFVRMSOS = 0x43AB;
52constexpr uint16_t BFVRMSOS = 0x43AC;
53constexpr uint16_t CFVRMSOS = 0x43AD;
54
55constexpr uint16_t HXWATTOS = 0x43AE;
56constexpr uint16_t HYWATTOS = 0x43AF;
57constexpr uint16_t HZWATTOS = 0x43B0;
58constexpr uint16_t HXVAROS = 0x43B1;
59constexpr uint16_t HYVAROS = 0x43B2;
60constexpr uint16_t HZVAROS = 0x43B3;
61
62constexpr uint16_t HXIRMSOS = 0x43B4;
63constexpr uint16_t HYIRMSOS = 0x43B5;
64constexpr uint16_t HZIRMSOS = 0x43B6;
65constexpr uint16_t HXVRMSOS = 0x43B7;
66constexpr uint16_t HYVRMSOS = 0x43B8;
67constexpr uint16_t HZVRMSOS = 0x43B9;
68
69constexpr uint16_t AIRMS = 0x43C0;
70constexpr uint16_t AVRMS = 0x43C1;
71constexpr uint16_t BIRMS = 0x43C2;
72constexpr uint16_t BVRMS = 0x43C3;
73constexpr uint16_t CIRMS = 0x43C4;
74constexpr uint16_t CVRMS = 0x43C5;
75constexpr uint16_t NIRMS = 0x43C6;
76
77constexpr uint16_t ISUM = 0x43C7;
78
79// Internal DSP Memory RAM registers
80constexpr uint16_t RUN = 0xE228;
81
82constexpr uint16_t AWATTHR = 0xE400;
83constexpr uint16_t BWATTHR = 0xE401;
84constexpr uint16_t CWATTHR = 0xE402;
85constexpr uint16_t AFWATTHR = 0xE403;
86constexpr uint16_t BFWATTHR = 0xE404;
87constexpr uint16_t CFWATTHR = 0xE405;
88constexpr uint16_t AFVARHR = 0xE409;
89constexpr uint16_t BFVARHR = 0xE40A;
90constexpr uint16_t CFVARHR = 0xE40B;
91
92constexpr uint16_t AVAHR = 0xE40C;
93constexpr uint16_t BVAHR = 0xE40D;
94constexpr uint16_t CVAHR = 0xE40E;
95
96constexpr uint16_t IPEAK = 0xE500;
97constexpr uint16_t VPEAK = 0xE501;
98
99constexpr uint16_t STATUS0 = 0xE502;
100constexpr uint16_t STATUS1 = 0xE503;
101
102constexpr uint16_t AIMAV = 0xE504;
103constexpr uint16_t BIMAV = 0xE505;
104constexpr uint16_t CIMAV = 0xE506;
105
106constexpr uint16_t OILVL = 0xE507;
107constexpr uint16_t OVLVL = 0xE508;
108constexpr uint16_t SAGLVL = 0xE509;
109constexpr uint16_t MASK0 = 0xE50A;
110constexpr uint16_t MASK1 = 0xE50B;
111
112constexpr uint16_t IAWV = 0xE50C;
113constexpr uint16_t IBWV = 0xE50D;
114constexpr uint16_t ICWV = 0xE50E;
115constexpr uint16_t INWV = 0xE50F;
116constexpr uint16_t VAWV = 0xE510;
117constexpr uint16_t VBWV = 0xE511;
118constexpr uint16_t VCWV = 0xE512;
119
120constexpr uint16_t AWATT = 0xE513;
121constexpr uint16_t BWATT = 0xE514;
122constexpr uint16_t CWATT = 0xE515;
123
124constexpr uint16_t AFVAR = 0xE516;
125constexpr uint16_t BFVAR = 0xE517;
126constexpr uint16_t CFVAR = 0xE518;
127
128constexpr uint16_t AVA = 0xE519;
129constexpr uint16_t BVA = 0xE51A;
130constexpr uint16_t CVA = 0xE51B;
131
132constexpr uint16_t CHECKSUM = 0xE51F;
133constexpr uint16_t VNOM = 0xE520;
134constexpr uint16_t LAST_RWDATA_24BIT = 0xE5FF;
135constexpr uint16_t PHSTATUS = 0xE600;
136constexpr uint16_t ANGLE0 = 0xE601;
137constexpr uint16_t ANGLE1 = 0xE602;
138constexpr uint16_t ANGLE2 = 0xE603;
139constexpr uint16_t PHNOLOAD = 0xE608;
140constexpr uint16_t LINECYC = 0xE60C;
141constexpr uint16_t ZXTOUT = 0xE60D;
142constexpr uint16_t COMPMODE = 0xE60E;
143constexpr uint16_t GAIN = 0xE60F;
144constexpr uint16_t CFMODE = 0xE610;
145constexpr uint16_t CF1DEN = 0xE611;
146constexpr uint16_t CF2DEN = 0xE612;
147constexpr uint16_t CF3DEN = 0xE613;
148constexpr uint16_t APHCAL = 0xE614;
149constexpr uint16_t BPHCAL = 0xE615;
150constexpr uint16_t CPHCAL = 0xE616;
151constexpr uint16_t PHSIGN = 0xE617;
152constexpr uint16_t CONFIG = 0xE618;
153constexpr uint16_t MMODE = 0xE700;
154constexpr uint16_t ACCMODE = 0xE701;
155constexpr uint16_t LCYCMODE = 0xE702;
156constexpr uint16_t PEAKCYC = 0xE703;
157constexpr uint16_t SAGCYC = 0xE704;
158constexpr uint16_t CFCYC = 0xE705;
159constexpr uint16_t HSDC_CFG = 0xE706;
160constexpr uint16_t VERSION = 0xE707;
161constexpr uint16_t DSPWP_SET = 0xE7E3;
162constexpr uint16_t LAST_RWDATA_8BIT = 0xE7FD;
163constexpr uint16_t DSPWP_SEL = 0xE7FE;
164constexpr uint16_t FVRMS = 0xE880;
165constexpr uint16_t FIRMS = 0xE881;
166constexpr uint16_t FWATT = 0xE882;
167constexpr uint16_t FVAR = 0xE883;
168constexpr uint16_t FVA = 0xE884;
169constexpr uint16_t FPF = 0xE885;
170constexpr uint16_t VTHDN = 0xE886;
171constexpr uint16_t ITHDN = 0xE887;
172constexpr uint16_t HXVRMS = 0xE888;
173constexpr uint16_t HXIRMS = 0xE889;
174constexpr uint16_t HXWATT = 0xE88A;
175constexpr uint16_t HXVAR = 0xE88B;
176constexpr uint16_t HXVA = 0xE88C;
177constexpr uint16_t HXPF = 0xE88D;
178constexpr uint16_t HXVHD = 0xE88E;
179constexpr uint16_t HXIHD = 0xE88F;
180constexpr uint16_t HYVRMS = 0xE890;
181constexpr uint16_t HYIRMS = 0xE891;
182constexpr uint16_t HYWATT = 0xE892;
183constexpr uint16_t HYVAR = 0xE893;
184constexpr uint16_t HYVA = 0xE894;
185constexpr uint16_t HYPF = 0xE895;
186constexpr uint16_t HYVHD = 0xE896;
187constexpr uint16_t HYIHD = 0xE897;
188constexpr uint16_t HZVRMS = 0xE898;
189constexpr uint16_t HZIRMS = 0xE899;
190constexpr uint16_t HZWATT = 0xE89A;
191constexpr uint16_t HZVAR = 0xE89B;
192constexpr uint16_t HZVA = 0xE89C;
193constexpr uint16_t HZPF = 0xE89D;
194constexpr uint16_t HZVHD = 0xE89E;
195constexpr uint16_t HZIHD = 0xE89F;
196constexpr uint16_t HCONFIG = 0xE900;
197constexpr uint16_t APF = 0xE902;
198constexpr uint16_t BPF = 0xE903;
199constexpr uint16_t CPF = 0xE904;
200constexpr uint16_t APERIOD = 0xE905;
201constexpr uint16_t BPERIOD = 0xE906;
202constexpr uint16_t CPERIOD = 0xE907;
203constexpr uint16_t APNOLOAD = 0xE908;
204constexpr uint16_t VARNOLOAD = 0xE909;
205constexpr uint16_t VANOLOAD = 0xE90A;
206constexpr uint16_t LAST_ADD = 0xE9FE;
207constexpr uint16_t LAST_RWDATA_16BIT = 0xE9FF;
208constexpr uint16_t CONFIG3 = 0xEA00;
209constexpr uint16_t LAST_OP = 0xEA01;
210constexpr uint16_t WTHR = 0xEA02;
211constexpr uint16_t VARTHR = 0xEA03;
212constexpr uint16_t VATHR = 0xEA04;
213
214constexpr uint16_t HX_REG = 0xEA08;
215constexpr uint16_t HY_REG = 0xEA09;
216constexpr uint16_t HZ_REG = 0xEA0A;
217constexpr uint16_t LPOILVL = 0xEC00;
218constexpr uint16_t CONFIG2 = 0xEC01;
219
220// STATUS1 Register Bits
221constexpr uint32_t STATUS1_RSTDONE = (1 << 15);
222
223// CONFIG Register Bits
224constexpr uint16_t CONFIG_SWRST = (1 << 7);
225
226// CONFIG2 Register Bits
227constexpr uint8_t CONFIG2_I2C_LOCK = (1 << 1);
228
229// COMPMODE Register Bits
230constexpr uint16_t COMPMODE_DEFAULT = 0x01FF;
231constexpr uint16_t COMPMODE_SELFREQ = (1 << 14);
232
233// RUN Register Bits
234constexpr uint16_t RUN_ENABLE = (1 << 0);
235
236// DSPWP_SET Register Bits
237constexpr uint8_t DSPWP_SET_RO = (1 << 7);
238
239// DSPWP_SEL Register Bits
240constexpr uint8_t DSPWP_SEL_SET = 0xAD;
241
242} // namespace ade7880
243} // namespace esphome
constexpr uint16_t LCYCMODE
constexpr uint16_t CIRMS
constexpr uint16_t HXWATTOS
constexpr uint16_t PHSIGN
constexpr uint16_t HYVAROS
constexpr uint16_t ISUMLVL
constexpr uint16_t SAGLVL
constexpr uint16_t APGAIN
constexpr uint16_t CIGAIN
constexpr uint16_t LAST_RWDATA_16BIT
constexpr uint16_t BVRMSOS
constexpr uint16_t CWATT
constexpr uint16_t AIMAV
constexpr uint16_t HSDC_CFG
constexpr uint16_t NIRMSOS
constexpr uint16_t HXVAR
constexpr uint16_t ANGLE0
constexpr uint16_t HYIHD
constexpr uint16_t CFIRMSOS
constexpr uint16_t AIGAIN
constexpr uint16_t DSPWP_SEL
constexpr uint16_t HZVAROS
constexpr uint16_t CVRMSOS
constexpr uint16_t IAWV
constexpr uint16_t BPERIOD
constexpr uint16_t AWATT
constexpr uint16_t APERIOD
constexpr uint16_t CWATTOS
constexpr uint16_t BFVAR
constexpr uint16_t CPHCAL
constexpr uint16_t GAIN
constexpr uint16_t MASK1
constexpr uint16_t HYVHD
constexpr uint16_t CF2DEN
constexpr uint16_t HZIHD
constexpr uint16_t FPF
constexpr uint16_t CHECKSUM
constexpr uint16_t BWATTHR
constexpr uint16_t HXIRMS
constexpr uint8_t DSPWP_SEL_SET
constexpr uint16_t APHCAL
constexpr uint16_t CFVAR
constexpr uint16_t HXVAROS
constexpr uint16_t BPHCAL
constexpr uint16_t LAST_RWDATA_24BIT
constexpr uint16_t VLEVEL
constexpr uint16_t HXVRMS
constexpr uint16_t HZVA
constexpr uint16_t BIMAV
constexpr uint16_t HZWATTOS
constexpr uint16_t AFWATTOS
constexpr uint16_t ICWV
constexpr uint16_t CIRMSOS
constexpr uint16_t BFVRMSOS
constexpr uint16_t AWATTOS
constexpr uint16_t AFWATTHR
constexpr uint16_t AVGAIN
constexpr uint16_t AVAHR
constexpr uint16_t BFVARHR
constexpr uint16_t HZVRMS
constexpr uint16_t ITHDN
constexpr uint16_t NIGAIN
constexpr uint16_t BVA
constexpr uint16_t BFWATTOS
constexpr uint16_t AFIRMSOS
constexpr uint16_t AFVARHR
constexpr uint16_t APF
constexpr uint16_t ANGLE1
constexpr uint16_t LPOILVL
constexpr uint16_t VBWV
constexpr uint16_t FVA
constexpr uint16_t LAST_RWDATA_8BIT
constexpr uint16_t CFVARHR
constexpr uint8_t DSPWP_SET_RO
constexpr uint16_t HYIRMS
constexpr uint16_t LINECYC
constexpr uint16_t HYVA
constexpr uint16_t INWV
constexpr uint16_t CFCYC
constexpr uint16_t AIRMS
constexpr uint16_t HZ_REG
constexpr uint16_t HYWATT
constexpr uint16_t BVGAIN
constexpr uint16_t HXVHD
constexpr uint16_t CVRMS
constexpr uint16_t PHNOLOAD
constexpr uint16_t HZVHD
constexpr uint16_t HZVRMSOS
constexpr uint16_t CIMAV
constexpr uint16_t BWATT
constexpr uint16_t VATHR
constexpr uint16_t LAST_ADD
constexpr uint16_t WTHR
constexpr uint16_t HZPF
constexpr uint16_t VARTHR
constexpr uint16_t APNOLOAD
constexpr uint16_t BVRMS
constexpr uint16_t NIRMS
constexpr uint16_t OVLVL
constexpr uint16_t RUN_ENABLE
constexpr uint16_t FVRMS
constexpr uint16_t OILVL
constexpr uint16_t HZWATT
constexpr uint16_t MMODE
constexpr uint16_t CFWATTHR
constexpr uint16_t BPGAIN
constexpr uint16_t FIRMS
constexpr uint16_t HXVA
constexpr uint16_t CONFIG3
constexpr uint16_t CF3DEN
constexpr uint16_t HYVRMSOS
constexpr uint16_t PHSTATUS
constexpr uint16_t BVAHR
constexpr uint16_t HXVRMSOS
constexpr uint16_t CVA
constexpr uint16_t HX_REG
constexpr uint16_t HZIRMS
constexpr uint16_t BIGAIN
constexpr uint16_t LAST_OP
constexpr uint16_t CONFIG
constexpr uint16_t FWATT
constexpr uint16_t AFVAROS
constexpr uint16_t HY_REG
constexpr uint16_t CONFIG_SWRST
constexpr uint16_t VERSION
constexpr uint16_t AVA
constexpr uint16_t CPERIOD
constexpr uint16_t RUN
constexpr uint16_t HYIRMSOS
constexpr uint16_t HXIHD
constexpr uint16_t CONFIG2
constexpr uint16_t BIRMS
constexpr uint16_t BFVAROS
constexpr uint16_t HYVAR
constexpr uint16_t AVRMSOS
constexpr uint16_t BIRMSOS
constexpr uint16_t STATUS0
constexpr uint16_t HCONFIG
constexpr uint16_t HXWATT
constexpr uint16_t HYWATTOS
constexpr uint16_t HYPF
constexpr uint16_t CFWATTOS
constexpr uint16_t FVAR
constexpr uint16_t IPEAK
constexpr uint16_t VAWV
constexpr uint16_t CPF
constexpr uint16_t VTHDN
constexpr uint16_t VANOLOAD
constexpr uint16_t BPF
constexpr uint16_t VNOM
constexpr uint16_t AFVAR
constexpr uint16_t CF1DEN
constexpr uint16_t CVAHR
constexpr uint16_t COMPMODE
constexpr uint16_t VCWV
constexpr uint16_t MASK0
constexpr uint16_t VARNOLOAD
constexpr uint16_t ISUM
constexpr uint16_t HZVAR
constexpr uint16_t CWATTHR
constexpr uint16_t HXPF
constexpr uint8_t CONFIG2_I2C_LOCK
constexpr uint16_t COMPMODE_SELFREQ
constexpr uint16_t HPGAIN
constexpr uint16_t CFVRMSOS
constexpr uint16_t BFIRMSOS
constexpr uint16_t AIRMSOS
constexpr uint16_t HZIRMSOS
constexpr uint16_t CFVAROS
constexpr uint16_t BFWATTHR
constexpr uint16_t HXIRMSOS
constexpr uint16_t SAGCYC
constexpr uint16_t DSPWP_SET
constexpr uint16_t CFMODE
constexpr uint16_t CVGAIN
constexpr uint16_t HYVRMS
constexpr uint16_t PEAKCYC
constexpr uint16_t AFVRMSOS
constexpr uint16_t AVRMS
constexpr uint16_t COMPMODE_DEFAULT
constexpr uint16_t ACCMODE
constexpr uint16_t BWATTOS
constexpr uint16_t AWATTHR
constexpr uint16_t STATUS1
constexpr uint16_t IBWV
constexpr uint16_t ZXTOUT
constexpr uint16_t DICOEFF
constexpr uint16_t CPGAIN
constexpr uint16_t ANGLE2
constexpr uint32_t STATUS1_RSTDONE
constexpr uint16_t VPEAK
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7