/* * ======== INA4235.h ======== * INA4235 Interface */ #ifndef ti_sensors_INA4235__include #define ti_sensors_INA4235__include 1 #define INA4235_SHUNT_VOLTAGE_CH1_REGISTER 0x00 #define INA4235_SHUNT_VOLTAGE_CH2_REGISTER 0x08 #define INA4235_SHUNT_VOLTAGE_CH3_REGISTER 0x10 #define INA4235_SHUNT_VOLTAGE_CH4_REGISTER 0x18 #define INA4235_BUS_VOLTAGE_CH1_REGISTER 0x01 #define INA4235_BUS_VOLTAGE_CH2_REGISTER 0x09 #define INA4235_BUS_VOLTAGE_CH3_REGISTER 0x11 #define INA4235_BUS_VOLTAGE_CH4_REGISTER 0x19 #define INA4235_CURRENT_CH1_REGISTER 0x02 #define INA4235_CURRENT_CH2_REGISTER 0x0A #define INA4235_CURRENT_CH3_REGISTER 0x12 #define INA4235_CURRENT_CH4_REGISTER 0x1A #define INA4235_POWER_CH1_REGISTER 0x03 #define INA4235_POWER_CH2_REGISTER 0x0B #define INA4235_POWER_CH3_REGISTER 0x13 #define INA4235_POWER_CH4_REGISTER 0x1B #define INA4235_ENERGY_CH1_REGISTER 0x04 #define INA4235_ENERGY_CH2_REGISTER 0x0C #define INA4235_ENERGY_CH3_REGISTER 0x14 #define INA4235_ENERGY_CH4_REGISTER 0x1C #define INA4235_CALIBRATION_CH1_REGISTER 0x05 #define INA4235_CALIBRATION_CH2_REGISTER 0x0D #define INA4235_CALIBRATION_CH3_REGISTER 0x15 #define INA4235_CALIBRATION_CH4_REGISTER 0x1D #define INA4235_ALERT_LIMIT1_REGISTER 0x06 #define INA4235_ALERT_LIMIT2_REGISTER 0x0E #define INA4235_ALERT_LIMIT3_REGISTER 0x16 #define INA4235_ALERT_LIMIT4_REGISTER 0x1E #define INA4235_ALERT_CONFIG1_REGISTER 0x07 #define INA4235_ALERT_CONFIG2_REGISTER 0x0F #define INA4235_ALERT_CONFIG3_REGISTER 0x17 #define INA4235_ALERT_CONFIG4_REGISTER 0x1F #define INA4235_CONFIG1_REGISTER 0x20 #define INA4235_CONFIG2_REGISTER 0x21 #define INA4235_FLAGS_REGISTER 0x22 #define INA4235_CONFIG2_REGISTER_RANGE_CH1_2048MV 0x0001 #define INA4235_CONFIG2_REGISTER_RANGE_CH1_8192MV 0x0000 #define INA4235_CONFIG2_REGISTER_RANGE_CH2_2048MV 0x0002 #define INA4235_CONFIG2_REGISTER_RANGE_CH2_8192MV 0x0000 #define INA4235_CONFIG2_REGISTER_RANGE_CH3_2048MV 0x0004 #define INA4235_CONFIG2_REGISTER_RANGE_CH3_8192MV 0x0000 #define INA4235_CONFIG2_REGISTER_RANGE_CH4_2048MV 0x0008 #define INA4235_CONFIG2_REGISTER_RANGE_CH4_8192MV 0x0000 #define CURRENTLSB_CH1 0 #define CURRENTLSB_CH2 0 #define CURRENTLSB_CH3 0 #define CURRENTLSB_CH4 0 #define ADC_CHANNEL_1 1 #define ADC_CHANNEL_2 2 #define ADC_CHANNEL_3 3 #define ADC_CHANNEL_4 4 #define INA4235_MANUFACTURER_ID_REGISTER 0x7E #define INA4235_DEVICE_ID_REGISTER 0x7F /* Sensor's I2C bus ID and address */ #define BUSID 0 #define DEVADDR 0x40 /* * ======== INA4235_writeReg ======== * Write register */ extern int ina4235_write_value( unsigned int reg,uint64_t val); /* * ======== INA4235_setCURRENT_LSB ======== * Set the CURRENT_LSB value used for calculations */ extern void ina4235_setCURRENT_LSB(int channel); /* * ======== INA4235_readReg ======== * Read register */ extern int ina4235_read_value( unsigned int reg,unsigned int *regval); /* * ======== INA4235_getVSHUNT_μV ======== * Get VSHUNT value (μV) */ extern int ina4235_getVSHUNT_μV(int channel); /* * ======== INA4235_getVBUS_μV ======== * Get VBUS value (μV) */ extern int ina4235_getVBUS_μV(int channel); /* * ======== INA4235_getCURRENT_signedLSB ======== * Get CURRENT value (signed value in LSBs) */ extern int ina4235_getCURRENT_signedLSB(int channel); /* * ======== INA4235_getCURRENT_µA ======== * Get CURRENT value (µA) */ extern int ina4235_getCURRENT_µA(int channel); /* * ======== INA4235_getPOWER_signedLSB ======== * Get POWER value (signed value in LSBs) */ extern int ina4235_getPOWER_signedLSB(int channel); /* * ======== INA4235_getPOWER_mW ======== * Get POWER value (mW) */ extern int ina4235_getPOWER_mW(int channel); /* * ======== INA4235_getENERGY_signedLSB ======== * Get ENERGY value (signed value in LSBs) */ extern int ina4235_getENERGY_signedLSB(int channel); /* * ======== INA4235_getENERGY_mJ ======== * Get ENERGY value (mJ) */ extern int ina4235_getENERGY_mJ(int channel); #endif