#ifndef REG_INA2x8_H
#define REG_INA2x8_H

// 寄存器地址
#define INA228_REG_CONFIG                   (0x00)      // 配置寄存器
#define INA228_REG_ADC_CONFIG               (0x01)      // ADC配置寄存器
#define INA228_REG_SHUNT_CAL                (0x02)      // 分流校准寄存器
#define INA228_REG_SHUNT_TEMPCO             (0x03)      // 分流温度系数寄存器
#define INA228_REG_VSHUNT                   (0x04)      // 分流电压测量寄存器
#define INA228_REG_VBUS                     (0x05)      // 总线电压测量寄存器
#define INA228_REG_DIETEMP                  (0x06)      // 温度测量寄存器
#define INA228_REG_CURRENT                  (0x07)      // 电流结果寄存器
#define INA228_REG_POWER                    (0x08)      // 功率结果寄存器
#define INA228_REG_ENERGY                   (0x09)      // 能量结果寄存器
#define INA228_REG_CHARGE                   (0x0A)      // 电荷结果寄存器
#define INA228_REG_DIAG_ALRT                (0x0B)      // 诊断标志和警报寄存器
#define INA228_REG_SOVL                     (0x0C)      // 分流过压阈值寄存器
#define INA228_REG_SUVL                     (0x0D)      // 分流欠压阈值寄存器
#define INA228_REG_BOVL                     (0x0E)      // 总线过压阈值寄存器
#define INA228_REG_BUVL                     (0x0F)      // 总线欠压阈值寄存器
#define INA228_REG_TEMP_LIMIT               (0x10)      // 温度超限阈值寄存器
#define INA228_REG_PWR_LIMIT                (0x11)      // 功率超限阈值寄存器
#define INA228_REG_MANUFACTURER_ID          (0x3E)      // 制造商ID寄存器
#define INA228_REG_DEVICE_ID                (0x3F)      // 设备ID寄存器

// 寄存器复位默认值
#define INA228_DEF_CONFIG                   (0x0000)
#define INA228_DEF_ADC_CONFIG               (0xFB68)
#define INA228_DEF_SHUNT_CAL                (0x1000)
#define INA228_DEF_SHUNT_TEMPCO             (0x0000)
#define INA228_DEF_VSHUNT                   (0x0000)
#define INA228_DEF_VBUS                     (0x0000)
#define INA228_DEF_DIETEMP                  (0x0000)
#define INA228_DEF_CURRENT                  (0x0000)
#define INA228_DEF_POWER                    (0x0000)
#define INA228_DEF_ENERGY                   (0x0000)
#define INA228_DEF_CHARGE                   (0x0000)
#define INA228_DEF_DIAG_ALRT                (0x0001)
#define INA228_DEF_SOVL                     (0x7FFF)
#define INA228_DEF_SUVL                     (0x8000)
#define INA228_DEF_BOVL                     (0x7FFF)
#define INA228_DEF_BUVL                     (0x0000)
#define INA228_DEF_TEMP_LIMIT               (0x7FFF)
#define INA228_DEF_PWR_LIMIT                (0xFFFF)
#define INA228_DEF_MANUFACTURER_ID          (0x5449)
#define INA228_DEF_DEVICE_ID                (0x2281)
#define INA238_DEF_DEVICE_ID                (0x2381)

#endif // REG_INA228_H
