mirror of https://github.com/esphome/esphome.git
244 lines
7.4 KiB
C++
244 lines
7.4 KiB
C++
#pragma once
|
|
|
|
// This file is a modified version of the one created by Michaël Piron (@michaelpiron on GitHub)
|
|
|
|
// Source: https://www.analog.com/media/en/technical-documentation/application-notes/AN-1127.pdf
|
|
|
|
namespace esphome {
|
|
namespace ade7880 {
|
|
|
|
// DSP Data Memory RAM registers
|
|
constexpr uint16_t AIGAIN = 0x4380;
|
|
constexpr uint16_t AVGAIN = 0x4381;
|
|
constexpr uint16_t BIGAIN = 0x4382;
|
|
constexpr uint16_t BVGAIN = 0x4383;
|
|
constexpr uint16_t CIGAIN = 0x4384;
|
|
constexpr uint16_t CVGAIN = 0x4385;
|
|
constexpr uint16_t NIGAIN = 0x4386;
|
|
|
|
constexpr uint16_t DICOEFF = 0x4388;
|
|
|
|
constexpr uint16_t APGAIN = 0x4389;
|
|
constexpr uint16_t AWATTOS = 0x438A;
|
|
constexpr uint16_t BPGAIN = 0x438B;
|
|
constexpr uint16_t BWATTOS = 0x438C;
|
|
constexpr uint16_t CPGAIN = 0x438D;
|
|
constexpr uint16_t CWATTOS = 0x438E;
|
|
constexpr uint16_t AIRMSOS = 0x438F;
|
|
constexpr uint16_t AVRMSOS = 0x4390;
|
|
constexpr uint16_t BIRMSOS = 0x4391;
|
|
constexpr uint16_t BVRMSOS = 0x4392;
|
|
constexpr uint16_t CIRMSOS = 0x4393;
|
|
constexpr uint16_t CVRMSOS = 0x4394;
|
|
constexpr uint16_t NIRMSOS = 0x4395;
|
|
constexpr uint16_t HPGAIN = 0x4398;
|
|
constexpr uint16_t ISUMLVL = 0x4399;
|
|
|
|
constexpr uint16_t VLEVEL = 0x439F;
|
|
|
|
constexpr uint16_t AFWATTOS = 0x43A2;
|
|
constexpr uint16_t BFWATTOS = 0x43A3;
|
|
constexpr uint16_t CFWATTOS = 0x43A4;
|
|
|
|
constexpr uint16_t AFVAROS = 0x43A5;
|
|
constexpr uint16_t BFVAROS = 0x43A6;
|
|
constexpr uint16_t CFVAROS = 0x43A7;
|
|
|
|
constexpr uint16_t AFIRMSOS = 0x43A8;
|
|
constexpr uint16_t BFIRMSOS = 0x43A9;
|
|
constexpr uint16_t CFIRMSOS = 0x43AA;
|
|
|
|
constexpr uint16_t AFVRMSOS = 0x43AB;
|
|
constexpr uint16_t BFVRMSOS = 0x43AC;
|
|
constexpr uint16_t CFVRMSOS = 0x43AD;
|
|
|
|
constexpr uint16_t HXWATTOS = 0x43AE;
|
|
constexpr uint16_t HYWATTOS = 0x43AF;
|
|
constexpr uint16_t HZWATTOS = 0x43B0;
|
|
constexpr uint16_t HXVAROS = 0x43B1;
|
|
constexpr uint16_t HYVAROS = 0x43B2;
|
|
constexpr uint16_t HZVAROS = 0x43B3;
|
|
|
|
constexpr uint16_t HXIRMSOS = 0x43B4;
|
|
constexpr uint16_t HYIRMSOS = 0x43B5;
|
|
constexpr uint16_t HZIRMSOS = 0x43B6;
|
|
constexpr uint16_t HXVRMSOS = 0x43B7;
|
|
constexpr uint16_t HYVRMSOS = 0x43B8;
|
|
constexpr uint16_t HZVRMSOS = 0x43B9;
|
|
|
|
constexpr uint16_t AIRMS = 0x43C0;
|
|
constexpr uint16_t AVRMS = 0x43C1;
|
|
constexpr uint16_t BIRMS = 0x43C2;
|
|
constexpr uint16_t BVRMS = 0x43C3;
|
|
constexpr uint16_t CIRMS = 0x43C4;
|
|
constexpr uint16_t CVRMS = 0x43C5;
|
|
constexpr uint16_t NIRMS = 0x43C6;
|
|
|
|
constexpr uint16_t ISUM = 0x43C7;
|
|
|
|
// Internal DSP Memory RAM registers
|
|
constexpr uint16_t RUN = 0xE228;
|
|
|
|
constexpr uint16_t AWATTHR = 0xE400;
|
|
constexpr uint16_t BWATTHR = 0xE401;
|
|
constexpr uint16_t CWATTHR = 0xE402;
|
|
constexpr uint16_t AFWATTHR = 0xE403;
|
|
constexpr uint16_t BFWATTHR = 0xE404;
|
|
constexpr uint16_t CFWATTHR = 0xE405;
|
|
constexpr uint16_t AFVARHR = 0xE409;
|
|
constexpr uint16_t BFVARHR = 0xE40A;
|
|
constexpr uint16_t CFVARHR = 0xE40B;
|
|
|
|
constexpr uint16_t AVAHR = 0xE40C;
|
|
constexpr uint16_t BVAHR = 0xE40D;
|
|
constexpr uint16_t CVAHR = 0xE40E;
|
|
|
|
constexpr uint16_t IPEAK = 0xE500;
|
|
constexpr uint16_t VPEAK = 0xE501;
|
|
|
|
constexpr uint16_t STATUS0 = 0xE502;
|
|
constexpr uint16_t STATUS1 = 0xE503;
|
|
|
|
constexpr uint16_t AIMAV = 0xE504;
|
|
constexpr uint16_t BIMAV = 0xE505;
|
|
constexpr uint16_t CIMAV = 0xE506;
|
|
|
|
constexpr uint16_t OILVL = 0xE507;
|
|
constexpr uint16_t OVLVL = 0xE508;
|
|
constexpr uint16_t SAGLVL = 0xE509;
|
|
constexpr uint16_t MASK0 = 0xE50A;
|
|
constexpr uint16_t MASK1 = 0xE50B;
|
|
|
|
constexpr uint16_t IAWV = 0xE50C;
|
|
constexpr uint16_t IBWV = 0xE50D;
|
|
constexpr uint16_t ICWV = 0xE50E;
|
|
constexpr uint16_t INWV = 0xE50F;
|
|
constexpr uint16_t VAWV = 0xE510;
|
|
constexpr uint16_t VBWV = 0xE511;
|
|
constexpr uint16_t VCWV = 0xE512;
|
|
|
|
constexpr uint16_t AWATT = 0xE513;
|
|
constexpr uint16_t BWATT = 0xE514;
|
|
constexpr uint16_t CWATT = 0xE515;
|
|
|
|
constexpr uint16_t AFVAR = 0xE516;
|
|
constexpr uint16_t BFVAR = 0xE517;
|
|
constexpr uint16_t CFVAR = 0xE518;
|
|
|
|
constexpr uint16_t AVA = 0xE519;
|
|
constexpr uint16_t BVA = 0xE51A;
|
|
constexpr uint16_t CVA = 0xE51B;
|
|
|
|
constexpr uint16_t CHECKSUM = 0xE51F;
|
|
constexpr uint16_t VNOM = 0xE520;
|
|
constexpr uint16_t LAST_RWDATA_24BIT = 0xE5FF;
|
|
constexpr uint16_t PHSTATUS = 0xE600;
|
|
constexpr uint16_t ANGLE0 = 0xE601;
|
|
constexpr uint16_t ANGLE1 = 0xE602;
|
|
constexpr uint16_t ANGLE2 = 0xE603;
|
|
constexpr uint16_t PHNOLOAD = 0xE608;
|
|
constexpr uint16_t LINECYC = 0xE60C;
|
|
constexpr uint16_t ZXTOUT = 0xE60D;
|
|
constexpr uint16_t COMPMODE = 0xE60E;
|
|
constexpr uint16_t GAIN = 0xE60F;
|
|
constexpr uint16_t CFMODE = 0xE610;
|
|
constexpr uint16_t CF1DEN = 0xE611;
|
|
constexpr uint16_t CF2DEN = 0xE612;
|
|
constexpr uint16_t CF3DEN = 0xE613;
|
|
constexpr uint16_t APHCAL = 0xE614;
|
|
constexpr uint16_t BPHCAL = 0xE615;
|
|
constexpr uint16_t CPHCAL = 0xE616;
|
|
constexpr uint16_t PHSIGN = 0xE617;
|
|
constexpr uint16_t CONFIG = 0xE618;
|
|
constexpr uint16_t MMODE = 0xE700;
|
|
constexpr uint16_t ACCMODE = 0xE701;
|
|
constexpr uint16_t LCYCMODE = 0xE702;
|
|
constexpr uint16_t PEAKCYC = 0xE703;
|
|
constexpr uint16_t SAGCYC = 0xE704;
|
|
constexpr uint16_t CFCYC = 0xE705;
|
|
constexpr uint16_t HSDC_CFG = 0xE706;
|
|
constexpr uint16_t VERSION = 0xE707;
|
|
constexpr uint16_t DSPWP_SET = 0xE7E3;
|
|
constexpr uint16_t LAST_RWDATA_8BIT = 0xE7FD;
|
|
constexpr uint16_t DSPWP_SEL = 0xE7FE;
|
|
constexpr uint16_t FVRMS = 0xE880;
|
|
constexpr uint16_t FIRMS = 0xE881;
|
|
constexpr uint16_t FWATT = 0xE882;
|
|
constexpr uint16_t FVAR = 0xE883;
|
|
constexpr uint16_t FVA = 0xE884;
|
|
constexpr uint16_t FPF = 0xE885;
|
|
constexpr uint16_t VTHDN = 0xE886;
|
|
constexpr uint16_t ITHDN = 0xE887;
|
|
constexpr uint16_t HXVRMS = 0xE888;
|
|
constexpr uint16_t HXIRMS = 0xE889;
|
|
constexpr uint16_t HXWATT = 0xE88A;
|
|
constexpr uint16_t HXVAR = 0xE88B;
|
|
constexpr uint16_t HXVA = 0xE88C;
|
|
constexpr uint16_t HXPF = 0xE88D;
|
|
constexpr uint16_t HXVHD = 0xE88E;
|
|
constexpr uint16_t HXIHD = 0xE88F;
|
|
constexpr uint16_t HYVRMS = 0xE890;
|
|
constexpr uint16_t HYIRMS = 0xE891;
|
|
constexpr uint16_t HYWATT = 0xE892;
|
|
constexpr uint16_t HYVAR = 0xE893;
|
|
constexpr uint16_t HYVA = 0xE894;
|
|
constexpr uint16_t HYPF = 0xE895;
|
|
constexpr uint16_t HYVHD = 0xE896;
|
|
constexpr uint16_t HYIHD = 0xE897;
|
|
constexpr uint16_t HZVRMS = 0xE898;
|
|
constexpr uint16_t HZIRMS = 0xE899;
|
|
constexpr uint16_t HZWATT = 0xE89A;
|
|
constexpr uint16_t HZVAR = 0xE89B;
|
|
constexpr uint16_t HZVA = 0xE89C;
|
|
constexpr uint16_t HZPF = 0xE89D;
|
|
constexpr uint16_t HZVHD = 0xE89E;
|
|
constexpr uint16_t HZIHD = 0xE89F;
|
|
constexpr uint16_t HCONFIG = 0xE900;
|
|
constexpr uint16_t APF = 0xE902;
|
|
constexpr uint16_t BPF = 0xE903;
|
|
constexpr uint16_t CPF = 0xE904;
|
|
constexpr uint16_t APERIOD = 0xE905;
|
|
constexpr uint16_t BPERIOD = 0xE906;
|
|
constexpr uint16_t CPERIOD = 0xE907;
|
|
constexpr uint16_t APNOLOAD = 0xE908;
|
|
constexpr uint16_t VARNOLOAD = 0xE909;
|
|
constexpr uint16_t VANOLOAD = 0xE90A;
|
|
constexpr uint16_t LAST_ADD = 0xE9FE;
|
|
constexpr uint16_t LAST_RWDATA_16BIT = 0xE9FF;
|
|
constexpr uint16_t CONFIG3 = 0xEA00;
|
|
constexpr uint16_t LAST_OP = 0xEA01;
|
|
constexpr uint16_t WTHR = 0xEA02;
|
|
constexpr uint16_t VARTHR = 0xEA03;
|
|
constexpr uint16_t VATHR = 0xEA04;
|
|
|
|
constexpr uint16_t HX_REG = 0xEA08;
|
|
constexpr uint16_t HY_REG = 0xEA09;
|
|
constexpr uint16_t HZ_REG = 0xEA0A;
|
|
constexpr uint16_t LPOILVL = 0xEC00;
|
|
constexpr uint16_t CONFIG2 = 0xEC01;
|
|
|
|
// STATUS1 Register Bits
|
|
constexpr uint32_t STATUS1_RSTDONE = (1 << 15);
|
|
|
|
// CONFIG Register Bits
|
|
constexpr uint16_t CONFIG_SWRST = (1 << 7);
|
|
|
|
// CONFIG2 Register Bits
|
|
constexpr uint8_t CONFIG2_I2C_LOCK = (1 << 1);
|
|
|
|
// COMPMODE Register Bits
|
|
constexpr uint16_t COMPMODE_DEFAULT = 0x01FF;
|
|
constexpr uint16_t COMPMODE_SELFREQ = (1 << 14);
|
|
|
|
// RUN Register Bits
|
|
constexpr uint16_t RUN_ENABLE = (1 << 0);
|
|
|
|
// DSPWP_SET Register Bits
|
|
constexpr uint8_t DSPWP_SET_RO = (1 << 7);
|
|
|
|
// DSPWP_SEL Register Bits
|
|
constexpr uint8_t DSPWP_SEL_SET = 0xAD;
|
|
|
|
} // namespace ade7880
|
|
} // namespace esphome
|