#[allow(dead_code)]
#[derive(Debug, Clone, Copy)]
pub enum Register {
MeterEn = 0x00,
ChannelMapI = 0x01,
ChannelMapU = 0x02,
SagPeakDetCfg = 0x05,
OVth = 0x06,
ZXConfig = 0x07,
SagTh = 0x08,
PhaseLossTh = 0x09,
InWarnTh = 0x0A,
OIth = 0x0B,
FreqLoTh = 0x0C,
FreqHiTh = 0x0D,
PMPwrCtrl = 0x0E,
IRQ0MergeCfg = 0x0F,
DetectCtrl = 0x10,
DetectTh1 = 0x11,
DetectTh2 = 0x12,
DetectTh3 = 0x13,
IDCoffsetA = 0x14,
IDCoffsetB = 0x15,
IDCoffsetC = 0x16,
UDCoffsetA = 0x17,
UDCoffsetB = 0x18,
UDCoffsetC = 0x19,
UGainTAB = 0x1A,
UGainTC = 0x1B,
PhiFreqComp = 0x1C,
LOGIrms0 = 0x20,
LOGIrms1 = 0x21,
F0 = 0x22,
T0 = 0x23,
PhiAIrms01 = 0x24,
PhiAIrms2 = 0x25,
GainAIrms01 = 0x26,
GainAIrms2 = 0x27,
PhiBIrms01 = 0x28,
PhiBIrms2 = 0x29,
GainBIrms01 = 0x2A,
GainBIrms2 = 0x2B,
PhiCIrms01 = 0x2C,
PhiCIrms2 = 0x2D,
GainCIrms01 = 0x2E,
GainCIrms2 = 0x2F,
PLconstH = 0x31,
PLconstL = 0x32,
MMode0 = 0x33,
MMode1 = 0x34,
PStartTh = 0x35,
QStartTh = 0x36,
SStartTh = 0x37,
PPhaseTh = 0x38,
QPhaseTh = 0x39,
SPhaseTh = 0x3A,
PoffsetA = 0x41,
QoffsetA = 0x42,
PoffsetB = 0x43,
QoffsetB = 0x44,
PoffsetC = 0x45,
QoffsetC = 0x46,
PQGainA = 0x47,
PhiA = 0x48,
PQGainB = 0x49,
PhiB = 0x4A,
PQGainC = 0x4B,
PhiC = 0x4C,
PoffsetAF = 0x51,
PoffsetBF = 0x52,
PoffsetCF = 0x53,
PGainAF = 0x54,
PGainBF = 0x55,
PGainCF = 0x56,
UgainA = 0x61,
IgainA = 0x62,
UoffsetA = 0x63,
IoffsetA = 0x64,
UgainB = 0x65,
IgainB = 0x66,
UoffsetB = 0x67,
IoffsetB = 0x68,
UgainC = 0x69,
IgainC = 0x6A,
UoffsetC = 0x6B,
IoffsetC = 0x6C,
SoftReset = 0x70,
EMMState0 = 0x71,
EMMState1 = 0x72,
EMMIntState0 = 0x73,
EMMIntState1 = 0x74,
EMMIntEn0 = 0x75,
EMMIntEn1 = 0x76,
LastSPIData = 0x78,
CRCErrStatus = 0x79,
CRCDigest = 0x7A,
CfgRegAccEn = 0x7F,
APenergyT = 0x80,
APenergyA = 0x81,
APenergyB = 0x82,
APenergyC = 0x83,
ANenergyT = 0x84,
ANenergyA = 0x85,
ANenergyB = 0x86,
ANenergyC = 0x87,
RPenergyT = 0x88,
RPenergyA = 0x89,
RPenergyB = 0x8A,
RPenergyC = 0x8B,
RNenergyT = 0x8C,
RNenergyA = 0x8D,
RNenergyB = 0x8E,
RNenergyC = 0x8F,
SAenergyT = 0x90,
SenergyA = 0x91,
SenergyB = 0x92,
SenergyC = 0x93,
APenergyTF = 0xA0,
APenergyAF = 0xA1,
APenergyBF = 0xA2,
APenergyCF = 0xA3,
ANenergyTF = 0xA4,
ANenergyAF = 0xA5,
ANenergyBF = 0xA6,
ANenergyCF = 0xA7,
APenergyTH = 0xA8,
APenergyAH = 0xA9,
APenergyBH = 0xAA,
APenergyCH = 0xAB,
ANenergyTH = 0xAC,
ANenergyAH = 0xAD,
ANenergyBH = 0xAE,
ANenergyCH = 0xAF,
PmeanT = 0xB0,
PmeanA = 0xB1,
PmeanB = 0xB2,
PmeanC = 0xB3,
QmeanT = 0xB4,
QmeanA = 0xB5,
QmeanB = 0xB6,
QmeanC = 0xB7,
SmeanT = 0xB8,
SmeanA = 0xB9,
SmeanB = 0xBA,
SmeanC = 0xBB,
PFmeanT = 0xBC,
PFmeanA = 0xBD,
PFmeanB = 0xBE,
PFmeanC = 0xBF,
PmeanTLSB = 0xC0,
PmeanALSB = 0xC1,
PmeanBLSB = 0xC2,
PmeanCLSB = 0xC3,
QmeanTLSB = 0xC4,
QmeanALSB = 0xC5,
QmeanBLSB = 0xC6,
QmeanCLSB = 0xC7,
SAmeanTLSB = 0xC8,
SmeanALSB = 0xC9,
SmeanBLSB = 0xCA,
SmeanCLSB = 0xCB,
PmeanTF = 0xD0,
PmeanAF = 0xD1,
PmeanBF = 0xD2,
PmeanCF = 0xD3,
PmeanTH = 0xD4,
PmeanAH = 0xD5,
PmeanBH = 0xD6,
PmeanCH = 0xD7,
UrmsA = 0xD9,
UrmsB = 0xDA,
UrmsC = 0xDB,
IrmsN = 0xDC,
IrmsA = 0xDD,
IrmsB = 0xDE,
IrmsC = 0xDF,
PmeanTFLSB = 0xE0,
PmeanAFLSB = 0xE1,
PmeanBFLSB = 0xE2,
PmeanCFLSB = 0xE3,
PmeanTHLSB = 0xE4,
PmeanAHLSB = 0xE5,
PmeanBHLSB = 0xE6,
PmeanCHLSB = 0xE7,
UrmsALSB = 0xE9,
UrmsBLSB = 0xEA,
UrmsCLSB = 0xEB,
IrmsALSB = 0xED,
IrmsBLSB = 0xEE,
IrmsCLSB = 0xEF,
UPeakA = 0xF1,
UPeakB = 0xF2,
UPeakC = 0xF3,
IPeakA = 0xF5,
IPeakB = 0xF6,
IPeakC = 0xF7,
Freq = 0xF8,
PAngleA = 0xF9,
PAngleB = 0xFA,
PAngleC = 0xFB,
Temp = 0xFC,
UangleA = 0xFD,
UangleB = 0xFE,
UangleC = 0xFF,
}