Linduino  1.3.0
Linear Technology Arduino-Compatible Demonstration Board

LTC4282: High Current Hot Swap Controller with I2C Compatible Monitoring and EEPROM. More...

Detailed Description

LTC4282: High Current Hot Swap Controller with I2C Compatible Monitoring and EEPROM.

The LTC4282 Hot Swap controller allows a board to be safely inserted and removed from a live backplane.
Using one or more external N-channel pass transistors, board supply voltage and inrush current is ramped up at an adjustable rate.
An I2C interface and onboard ADC allows for monitoring of board current, voltage, power, energy and fault status.

I2C DATA FORMAT (MSB FIRST):

Data Out:
Byte #1                                    Byte #2                     Byte #3

START  SA6 SA5 SA4 SA3 SA2 SA1 SA0 W SACK  C7  C6 C5 C4 C3 C2 C1 C0 SACK D7 D6 D5 D4 D3 D2 D1 D0 SACK  STOP

Data In:
Byte #1                                    Byte #2                                    Byte #3

START  SA6 SA5 SA4 SA3 SA2 SA1 SA0 W SACK  C7  C6  C5 C4 C3 C2 C1 C0 SACK  Repeat Start SA6 SA5 SA4 SA3 SA2 SA1 SA0 R SACK

Byte #4                                   Byte #5
MSB                                       LSB
D15 D14  D13  D12  D11  D10  D9 D8 MACK   D7 D6 D5 D4 D3  D2  D1  D0  MNACK  STOP

START       : I2C Start
Repeat Start: I2c Repeat Start
STOP        : I2C Stop
SAx         : I2C Address
SACK        : I2C Slave Generated Acknowledge (Active Low)
MACK        : I2C Master Generated Acknowledge (Active Low)
MNACK       : I2c Master Generated Not Acknowledge
W           : I2C Write (0)
R           : I2C Read  (1)
Cx          : Command Code
Dx          : Data Bits
X           : Don't care



Example Code:

Read Voltage and Current

    static uint8_t CTRLREG_LSB = LTC4282_VIN_MODE_12_V;
    static uint8_t ILIM_ADJUST = (LTC4282_ILIM_ADJUST_25_V_0|LTC4282_FOLDBACK_MODE_12_V_0|LTC4282_ADC_VSOURCE|LTC4282_ADC_GPIO2_MODE)& ~LTC4282_ADC_16_BIT;

    resistor = .1; // Resistor Value On Demo Board

    ack |= LTC4282_read_16_bits(LTC4282_I2C_ADDRESS, LTC4282_VSOURCE_MSB_REG, &voltage_code);         //!< Read Voltage Code From VSOURCE Register
    vsource = LTC4282_code_to_voltage(voltage_code, voltage_fullscale);                               //!< Convert Voltage Code to Current Source Voltage

    ack |= LTC4282_read_16_bits(LTC4282_I2C_ADDRESS, LTC4282_CURRENT_MSB_REG, t_code); // Reads the voltage code across sense resistor
    current = LTC4282_code_to_current(current_code, resistor); // Calculates current from current code, resistor value.

    ack |= LTC4282_read_16_bits(LTC4282_I2C_ADDRESS, LTC4282_VOLTAGE_MSB_REG, &voltage_code);   // Reads voltage voltage code
    VIN = LTC4282_VIN_code_to_voltage(voltage_code);  // Calculates VIN voltage from VIN code and lsb

http://www.linear.com/product/LTC4282

http://www.linear.com/product/LTC4282#demoboards

Copyright 2018(c) Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
  • The use of this software may or may not infringe the patent rights of one or more patent holders. This license does not release you from the requirement that you obtain separate licenses from these patent holders to use this software.
  • Use of the software either in source or binary form, must be run on or directly connected to an Analog Devices Inc. component.

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Header for LTC4282: High Current Hot Swap Controller with I2C Compatible Monitoring and EEPROM

Definition in file LTC4282.h.

Go to the source code of this file.

Data Structures

union  LT_union_int64_8bytes
 

Functions

int8_t LTC4282_write (uint8_t i2c_address, uint8_t adc_command, uint8_t code)
 Write an 8-bit code to the LTC4282. More...
 
int8_t LTC4282_write_16_bits (uint8_t i2c_address, uint8_t adc_command, uint16_t code)
 Write an 16-bit code to the LTC4282. More...
 
int8_t LTC4282_write_32_bits (uint8_t i2c_address, uint8_t adc_command, uint32_t code)
 Write an 32-bit code to the LTC4282. More...
 
int8_t LTC4282_write_48_bits (uint8_t i2c_address, uint8_t adc_command, uint64_t code)
 Write an 48-bit code to the LTC4282. More...
 
int8_t LTC4282_read (uint8_t i2c_address, uint8_t adc_command, uint8_t *adc_code)
 Read an 8-bit code from the LTC4282. More...
 
int8_t LTC4282_read_16_bits (uint8_t i2c_address, uint8_t adc_command, uint16_t *adc_code)
 Read a 16-bit code from the LTC4282. More...
 
int8_t LTC4282_read_32_bits (uint8_t i2c_address, uint8_t adc_command, uint32_t *adc_code)
 Read a 32-bit code from the LTC4282. More...
 
int8_t LTC4282_read_48_bits (uint8_t i2c_address, uint8_t adc_command, uint64_t *adc_code)
 Read a 48-bit code from the LTC4282. More...
 
float LTC4282_code_to_VGPIO (uint16_t code)
 Convert ADC code to VGPIO. More...
 
float LTC4282_code_to_voltage (uint16_t code, float fullscaleVoltage)
 Convert ADC code to voltage. More...
 
float LTC4282_code_to_current (uint16_t code, float resistor)
 Convert ADC code to current. More...
 
float LTC4282_code_to_power (uint16_t code, float fullscaleVoltage, float resistor)
 Convert ADC code to power. More...
 
float LTC4282_code_to_energy (uint64_t code, float fullscaleVoltage, float resistor, float tConv)
 Convert ADC code to energy. More...
 
float LTC4282_code_to_coulombs (uint64_t code, float resistor, float tConv)
 Convert ADC code to coulombs. More...
 
float LTC4282_code_to_avg_power (uint64_t code, float energy, float tConv)
 Convert ADC code to average power. More...
 
float LTC4282_code_to_avg_current (uint64_t code, float coulombs, float tConv)
 Convert ADC code to average current. More...
 
float LTC4282_code_to_GPIO_alarm (uint8_t code)
 Convert ADC code to GPIO alarm voltage. More...
 
float LTC4282_code_to_volt_alarm (uint8_t code, float fullscaleVoltage)
 Convert ADC code to alarm voltage. More...
 
float LTC4282_code_to_current_alarm (uint8_t code, float resistor)
 Convert ADC code to alarm current. More...
 
float LTC4282_code_to_power_alarm (uint8_t code, float fullscaleVoltage, float resistor)
 Convert ADC code to alarm power. More...
 
uint8_t LTC4282_VGPIO_to_code_alarm (float vgpio)
 Convert GPIO voltage to alarm code. More...
 
uint8_t LTC4282_volt_to_code_alarm (float volt, float fullscaleVoltage)
 Convert voltage to alarm code. More...
 
uint8_t LTC4282_current_to_code_alarm (float current, float resistor)
 Convert current to alarm code. More...
 
uint8_t LTC4282_power_to_code_alarm (float power, float resistor, float fullscaleVoltage)
 Convert power to alarm code. More...
 

Macros

LTC4282 I2C Address

Use table to select address

LTC4282 I2C Address Assignment Value AD2 AD1 AD0
LTC4282_I2C_ADDRESS 0x40 Low NC Low
LTC4282_I2C_ADDRESS 0x41 Low High NC
LTC4282_I2C_ADDRESS 0x42 Low NC NC
LTC4282_I2C_ADDRESS 0x43 Low NC High
LTC4282_I2C_ADDRESS 0x44 Low Low Low
LTC4282_I2C_ADDRESS 0x45 Low High High
LTC4282_I2C_ADDRESS 0x46 Low Low NC
LTC4282_I2C_ADDRESS 0x47 Low Low High
LTC4282_I2C_ADDRESS 0x48 NC NC Low
LTC4282_I2C_ADDRESS 0x49 NC High NC
LTC4282_I2C_ADDRESS 0x4A NC NC NC
LTC4282_I2C_ADDRESS 0x4B NC NC High
LTC4282_I2C_ADDRESS 0x4C NC Low Low
LTC4282_I2C_ADDRESS 0x4D NC High High
LTC4282_I2C_ADDRESS 0x4E NC Low NC
LTC4282_I2C_ADDRESS 0x4F NC Low High
LTC4282_I2C_ADDRESS 0x50 High NC Low
LTC4282_I2C_ADDRESS 0x51 High High NC
LTC4282_I2C_ADDRESS 0x52 High NC NC
LTC4282_I2C_ADDRESS 0x53 High NC High
LTC4282_I2C_ADDRESS 0x54 High Low Low
LTC4282_I2C_ADDRESS 0x55 High High High
LTC4282_I2C_ADDRESS 0x56 High Low NC
LTC4282_I2C_ADDRESS 0x57 High Low High
LTC4282_I2C_ADDRESS 0x58 Low High Low
LTC4282_I2C_ADDRESS 0x59 NC High Low
LTC4282_I2C_ADDRESS 0x5A High High Low
LTC4282_I2C_MASS_WRITE 0x5F X X X
LTC4282_I2C_ALERT_RESPONSE 0x19 X X X
#define LTC4282_I2C_ADDRESS   0x4A
 
#define LTC4282_I2C_MASS_WRITE   0x5F
 
#define LTC4282_I2C_ALERT_RESPONSE   0x19
 
Registers
Name Value
LTC4282_CONTROL_MSB_REG 0x00
LTC4282_CONTROL_LSB_REG 0x01
LTC4282_ALERT_MSB_REG 0x02
LTC4282_ALERT_LSB_REG 0x03
LTC4282_FAULT_LOG_REG 0x04
LTC4282_ADC_ALERT_LOG_REG 0x05
LTC4282_FET_BAD_FAULT_TIME_REG 0x06
LTC4282_GPIO_CONFIG_REG 0x07
LTC4282_VSOURCE_ALARM_MIN_REG 0x08
LTC4282_VSOURCE_ALARM_MAX_REG 0x09
LTC4282_VGPIO_ALARM_MIN_REG 0x0A
LTC4282_VGPIO_ALARM_MAX_REG 0x0B
LTC4282_VSENSE_ALARM_MIN_REG 0x0C
LTC4282_VSENSE_ALARM_MAX_REG 0x0D
LTC4282_POWER_ALARM_MIN_REG 0x0E
LTC4282_POWER_ALARM_MAX_REG 0x0F
LTC4282_CLK_DEC_REG 0x10
LTC4282_ILIM_ADJUST_REG 0x11
LTC4282_METER_MSB5_REG 0x12
LTC4282_METER_MSB4_REG 0x13
LTC4282_METER_MSB3_REG 0x14
LTC4282_METER_MSB2_REG 0x15
LTC4282_METER_MSB1_REG 0x16
LTC4282_METER_LSB_REG 0x17
LTC4282_TICK_COUNTER_MSB3_REG 0x18
LTC4282_TICK_COUNTER_MSB2_REG 0x19
LTC4282_TICK_COUNTER_MSB1_REG 0x1A
LTC4282_TICK_COUNTER_LSB_REG 0x1B
LTC4282_ALERT_CONTROL_REG 0x1C
LTC4282_ADC_CONTROL_REG 0x1D
LTC4282_STATUS_MSB_REG 0x1E
LTC4282_STATUS_LSB_REG 0x1F
LTC4282_EE_CONTROL_MSB_REG 0x20
LTC4282_EE_CONTROL_LSB_REG 0x21
LTC4282_EE_ALERT_MSB_REG 0x22
LTC4282_EE_ALERT_LSB_REG 0x23
LTC4282_EE_FAULT_REG 0x24
LTC4282_EE_ADC_ALERT_LOG_REG 0x25
LTC4282_EE_FET_BAD_FAULT_TIME_REG 0x26
LTC4282_EE_GPIO_CONFIG_REG 0x27
LTC4282_EE_VSOURCE_ALARM_MIN_REG 0x28
LTC4282_EE_VSOURCE_ALARM_MAX_REG 0x29
LTC4282_EE_VGPIO_ALARM_MIN_REG 0x2A
LTC4282_EE_VGPIO_ALARM_MAX_REG 0x2B
LTC4282_EE_VSENSE_ALARM_MIN_REG 0x2C
LTC4282_EE_VSENSE_ALARM_MAX_REG 0x2D
LTC4282_EE_POWER_ALARM_MIN_REG 0x2E
LTC4282_EE_POWER_ALARM_MAX_REG 0x2F
LTC4282_EE_CLK_DEC_REG 0x30
LTC4282_EE_ILIM_ADJUST_REG 0x31
LTC4282_VGPIO_MSB_REG 0x34
LTC4282_VGPIO_LSB_REG 0x35
LTC4282_VGPIO_MIN_MSB_REG 0x36
LTC4282_VGPIO_MIN_LSB_REG 0x37
LTC4282_VGPIO_MAX_MSB_REG 0x38
LTC4282_VGPIO_MAX_LSB_REG 0x39
LTC4282_VSOURCE_MSB_REG 0x3A
LTC4282_VSOURCE_LSB_REG 0x3B
LTC4282_VSOURCE_MIN_MSB_REG 0x3C
LTC4282_VSOURCE_MIN_LSB_REG 0x3D
LTC4282_VSOURCE_MAX_MSB_REG 0x3E
LTC4282_VSOURCE_MAX_LSB_REG 0x3F
LTC4282_VSENSE_MSB_REG 0x40
LTC4282_VSENSE_LSB_REG 0x41
LTC4282_VSENSE_MIN_MSB_REG 0x42
LTC4282_VSENSE_MIN_LSB_REG 0x43
LTC4282_VSENSE_MAX_MSB_REG 0x44
LTC4282_VSENSE_MAX_LSB_REG 0x45
LTC4282_POWER_MSB_REG 0x46
LTC4282_POWER_LSB_REG 0x47
LTC4282_POWER_MIN_MSB_REG 0x48
LTC4282_POWER_MIN_LSB_REG 0x49
LTC4282_POWER_MAX_MSB_REG 0x4A
LTC4282_POWER_MAX_LSB_REG 0x4B
LTC4282_EE_SPARE_MSB3_REG 0x4C
LTC4282_EE_SPARE_MSB2_REG 0x4D
LTC4282_EE_SPARE_MSB1_REG 0x4E
LTC4282_EE_SPARE_LSB_REG 0x4F
#define LTC4282_CONTROL_MSB_REG   0x00
 
#define LTC4282_CONTROL_LSB_REG   0x01
 
#define LTC4282_ALERT_MSB_REG   0x02
 
#define LTC4282_ALERT_LSB_REG   0x03
 
#define LTC4282_FAULT_LOG_REG   0x04
 
#define LTC4282_ADC_ALERT_LOG_REG   0x05
 
#define LTC4282_FET_BAD_FAULT_TIME_REG   0x06
 
#define LTC4282_GPIO_CONFIG_REG   0x07
 
#define LTC4282_VSOURCE_ALARM_MIN_REG   0x08
 
#define LTC4282_VSOURCE_ALARM_MAX_REG   0x09
 
#define LTC4282_VGPIO_ALARM_MIN_REG   0x0A
 
#define LTC4282_VGPIO_ALARM_MAX_REG   0x0B
 
#define LTC4282_VSENSE_ALARM_MIN_REG   0x0C
 
#define LTC4282_VSENSE_ALARM_MAX_REG   0x0D
 
#define LTC4282_POWER_ALARM_MIN_REG   0x0E
 
#define LTC4282_POWER_ALARM_MAX_REG   0x0F
 
#define LTC4282_CLK_DEC_REG   0x10
 
#define LTC4282_ILIM_ADJUST_REG   0x11
 
#define LTC4282_METER_MSB5_REG   0x12
 
#define LTC4282_METER_MSB4_REG   0x13
 
#define LTC4282_METER_MSB3_REG   0x14
 
#define LTC4282_METER_MSB2_REG   0x15
 
#define LTC4282_METER_MSB1_REG   0x16
 
#define LTC4282_METER_LSB_REG   0x17
 
#define LTC4282_TICK_COUNTER_MSB3_REG   0x18
 
#define LTC4282_TICK_COUNTER_MSB2_REG   0x19
 
#define LTC4282_TICK_COUNTER_MSB1_REG   0x1A
 
#define LTC4282_TICK_COUNTER_LSB_REG   0x1B
 
#define LTC4282_ALERT_CONTROL_REG   0x1C
 
#define LTC4282_ADC_CONTROL_REG   0x1D
 
#define LTC4282_STATUS_MSB_REG   0x1E
 
#define LTC4282_STATUS_LSB_REG   0x1F
 
#define LTC4282_EE_CONTROL_MSB_REG   0x20
 
#define LTC4282_EE_CONTROL_LSB_REG   0x21
 
#define LTC4282_EE_ALERT_MSB_REG   0x22
 
#define LTC4282_EE_ALERT_LSB_REG   0x23
 
#define LTC4282_EE_FAULT_REG   0x24
 
#define LTC4282_EE_ADC_ALERT_LOG_REG   0x25
 
#define LTC4282_EE_FET_BAD_FAULT_TIME_REG   0x26
 
#define LTC4282_EE_GPIO_CONFIG_REG   0x27
 
#define LTC4282_EE_VSOURCE_ALARM_MIN_REG   0x28
 
#define LTC4282_EE_VSOURCE_ALARM_MAX_REG   0x29
 
#define LTC4282_EE_VGPIO_ALARM_MIN_REG   0x2A
 
#define LTC4282_EE_VGPIO_ALARM_MAX_REG   0x2B
 
#define LTC4282_EE_VSENSE_ALARM_MIN_REG   0x2C
 
#define LTC4282_EE_VSENSE_ALARM_MAX_REG   0x2D
 
#define LTC4282_EE_POWER_ALARM_MIN_REG   0x2E
 
#define LTC4282_EE_POWER_ALARM_MAX_REG   0x2F
 
#define LTC4282_EE_CLK_DEC_REG   0x30
 
#define LTC4282_EE_ILIM_ADJUST_REG   0x31
 
#define LTC4282_VGPIO_MSB_REG   0x34
 
#define LTC4282_VGPIO_LSB_REG   0x35
 
#define LTC4282_VGPIO_MIN_MSB_REG   0x36
 
#define LTC4282_VGPIO_MIN_LSB_REG   0x37
 
#define LTC4282_VGPIO_MAX_MSB_REG   0x38
 
#define LTC4282_VGPIO_MAX_LSB_REG   0x39
 
#define LTC4282_VSOURCE_MSB_REG   0x3A
 
#define LTC4282_VSOURCE_LSB_REG   0x3B
 
#define LTC4282_VSOURCE_MIN_MSB_REG   0x3C
 
#define LTC4282_VSOURCE_MIN_LSB_REG   0x3D
 
#define LTC4282_VSOURCE_MAX_MSB_REG   0x3E
 
#define LTC4282_VSOURCE_MAX_LSB_REG   0x3F
 
#define LTC4282_VSENSE_MSB_REG   0x40
 
#define LTC4282_VSENSE_LSB_REG   0x41
 
#define LTC4282_VSENSE_MIN_MSB_REG   0x42
 
#define LTC4282_VSENSE_MIN_LSB_REG   0x43
 
#define LTC4282_VSENSE_MAX_MSB_REG   0x44
 
#define LTC4282_VSENSE_MAX_LSB_REG   0x45
 
#define LTC4282_POWER_MSB_REG   0x46
 
#define LTC4282_POWER_LSB_REG   0x47
 
#define LTC4282_POWER_MIN_MSB_REG   0x48
 
#define LTC4282_POWER_MIN_LSB_REG   0x49
 
#define LTC4282_POWER_MAX_MSB_REG   0x4A
 
#define LTC4282_POWER_MAX_LSB_REG   0x4B
 
#define LTC4282_EE_SPARE_MSB3_REG   0x4C
 
#define LTC4282_EE_SPARE_MSB2_REG   0x4D
 
#define LTC4282_EE_SPARE_MSB1_REG   0x4E
 
#define LTC4282_EE_SPARE_LSB_REG   0x4F
 
Command Codes
Command Codes Value
LTC4282_ON_FAULT_MASK 0x80
LTC4282_ENABLE_ON_DELAY 0x40
LTC4282_ON_ENB 0x20
LTC4282_ENABLE_MASS_WRITE 0x10
LTC4282_ENABLE_FET_ON 0x08
LTC4282_ENABLE_OC_AUTORETRY 0x04
LTC4282_ENABLE_UV_AUTORETRY 0x02
LTC4282_ENABLE_OV_AUTORETRY 0x01
LTC4282_DISABLE_ON_DELAY 0xBF
LTC4282_DISABLE_ON_ENB 0xDF
LTC4282_DISABLE_MASS_WRITE 0xEF
LTC4282_DISABLE_FET_ON 0xF7
LTC4282_DISABLE_OC_AUTORETRY 0xFB
LTC4282_DISABLE_UV_AUTORETRY 0xFD
LTC4282_DISABLE_OV_AUTORETRY 0xFE
LTC4282_FB_MODE_EXTERNAL 0x00
LTC4282_FB_MODE_5 0x40
LTC4282_FB_MODE_10 0x80
LTC4282_FB_MODE_15 0xC0
LTC4282_UV_MODE_EXTERNAL 0x00
LTC4282_UV_MODE_5 0x10
LTC4282_UV_MODE_10 0x20
LTC4282_UV_MODE_15 0x30
LTC4282_OV_MODE_EXTERNAL 0x00
LTC4282_OV_MODE_5 0x04
LTC4282_OV_MODE_10 0x08
LTC4282_OV_MODE_15 0x0C
LTC4282_VIN_MODE_3_V_3 0x00
LTC4282_VIN_MODE_5_V 0x01
LTC4282_VIN_MODE_12_V 0x02
LTC4282_VIN_MODE_24_V 0x03
LTC4282_EEPROM_DONE_ALERT 0x80
LTC4282_FET_BAD_FAULT_ALERT 0x40
LTC4282_FET_SHORT_ALERT 0x20
LTC4282_ON_ALERT 0x10
LTC4282_PB_ALERT 0x08
LTC4282_OC_ALERT 0x04
LTC4282_UV_ALERT 0x02
LTC4282_OV_ALERT 0x01
LTC4282_POWER_ALARM_HIGH 0x80
LTC4282_POWER_ALARM_LOW 0x40
LTC4282_VSENSE_ALARM_HIGH 0x20
LTC4282_VSENSE_ALARM_LOW 0x10
LTC4282_VSOURCE_ALARM_HIGH 0x08
LTC4282_VSOURCE_ALARM_LOW 0x04
LTC4282_VGPIO_ALARM_HIGH 0x02
LTC4282_VGPIO_ALARM_LOW 0x01
LTC4282_ENABLE_GPIO3_PD 0x80
LTC4282_ENABLE_GPIO2_PD 0x40
LTC4282_GPIO1_CONFIG_POWER_GOOD 0x00
LTC4282_GPIO1_CONFIG_POWER_BAD 0x10
LTC4282_GPIO1_CONFIG_OUTPUT 0x20
LTC4282_GPIO1_CONFIG_INPUT 0x30
LTC4282_GPIO1_OUTPUT 0x08
LTC4282_ENABLE_ADC_CONV_ALERT 0x04
LTC4282_ENABLE_STRESS_TO_GPIO2 0x02
LTC4282_ENABLE_METER_OF_ALERT 0x01
LTC4282_DISABLE_GPIO3_PD 0x7F
LTC4282_DISABLE_GPIO2_PD 0xBF
LTC4282_DISABLE_GPIO1_OUTPUT 0xF7
LTC4282_DISABLE_ADC_CONV_ALERT 0xFB
LTC4282_DISABLE_STRESS_TO_GPIO2 0xFD
LTC4282_DISABLE_METER_OF_ALERT 0xFE
LTC4282_ENABLE_COULOMB_METER 0x80
LTC4282_ENABLE_TICK_OUT 0x40
LTC4282_ENABLE_INT_CLK_OUT 0x20
LTC4282_DISABLE_COULOMB_METER 0x7F
LTC4282_DISABLE_TICK_OUT 0xBF
LTC4282_DISABLE_INT_CLK_OUT 0xDF
LTC4282_ILIM_ADJUST_12_V_5 0x00
LTC4282_ILIM_ADJUST_15_V_6 0x20
LTC4282_ILIM_ADJUST_18_V_7 0x40
LTC4282_ILIM_ADJUST_21_V_8 0x60
LTC4282_ILIM_ADJUST_25_V_0 0x80
LTC4282_ILIM_ADJUST_28_V_1 0xA0
LTC4282_ILIM_ADJUST_31_V_2 0xC0
LTC4282_ILIM_ADJUST_34_V_3 0xE0
LTC4282_FOLDBACK_MODE_3_V_3 0x00
LTC4282_FOLDBACK_MODE_5_V_0 0x08
LTC4282_FOLDBACK_MODE_12_V_0 0x10
LTC4282_FOLDBACK_MODE_24_V_0 0x18
LTC4282_ENABLE_ADC_VSOURCE 0x04
LTC4282_ENABLE_ADC_GPIO_MODE 0x02
LTC4282_ENABLE_ADC_16_BIT 0x01
LTC4282_DISABLE_ADC_VSOURCE 0xFB
LTC4282_DISABLE_ADC_GPIO_MODE 0xFD
LTC4282_DISABLE_ADC_16_BIT 0xFE
LTC4282_ENABLE_ALERT_GENERATED 0x80
LTC4282_ENABLE_ALERT_PD 0x40
LTC4282_DISABLE_ALERT_GENERATED 0x7F
LTC4282_DISABLE_ALERT_PD 0xBF
LTC4282_REBOOT 0x80
LTC4282_ENABLE_METER_RESET 0x40
LTC4282_ENABLE_METER_HALT 0x20
LTC4282_ENABLE_FAULT_LOG 0x04
LTC4282_GATEUP 0x02
LTC4282_ADC_HALT 0x01
LTC4282_DISABLE_METER_RESET 0xBF
LTC4282_DISABLE_METER_HALT 0xDF
LTC4282_DISABLE_FAULT_LOG 0xFB

|

#define LTC4282_ON_FAULT_MASK   0x80
 
#define LTC4282_ON_DELAY   0x40
 
#define LTC4282_ON_ENB   0x20
 
#define LTC4282_MASS_WRITE   0x10
 
#define LTC4282_FET_ON   0x08
 
#define LTC4282_OC_AUTORETRY   0x04
 
#define LTC4282_UV_AUTORETRY   0x02
 
#define LTC4282_OV_AUTORETRY   0x01
 
#define LTC4282_FB_MODE_EXTERNAL   0x00
 
#define LTC4282_FB_MODE_5   0x40
 
#define LTC4282_FB_MODE_10   0x80
 
#define LTC4282_FB_MODE_15   0xC0
 
#define LTC4282_UV_MODE_EXTERNAL   0x00
 
#define LTC4282_UV_MODE_5   0x10
 
#define LTC4282_UV_MODE_10   0x20
 
#define LTC4282_UV_MODE_15   0x30
 
#define LTC4282_OV_MODE_EXTERNAL   0x00
 
#define LTC4282_OV_MODE_5   0x04
 
#define LTC4282_OV_MODE_10   0x08
 
#define LTC4282_OV_MODE_15   0x0C
 
#define LTC4282_VIN_MODE_3_V_3   0x00
 
#define LTC4282_VIN_MODE_5_V   0x01
 
#define LTC4282_VIN_MODE_12_V   0x02
 
#define LTC4282_VIN_MODE_24_V   0x03
 
#define LTC4282_EEPROM_DONE_ALERT   0x80
 
#define LTC4282_FET_BAD_FAULT_ALERT   0x40
 
#define LTC4282_FET_SHORT_ALERT   0x20
 
#define LTC4282_ON_ALERT   0x10
 
#define LTC4282_PB_ALERT   0x08
 
#define LTC4282_OC_ALERT   0x04
 
#define LTC4282_UV_ALERT   0x02
 
#define LTC4282_OV_ALERT   0x01
 
#define LTC4282_POWER_ALARM_HIGH   0x80
 
#define LTC4282_POWER_ALARM_LOW   0x40
 
#define LTC4282_VSENSE_ALARM_HIGH   0x20
 
#define LTC4282_VSENSE_ALARM_LOW   0x10
 
#define LTC4282_VSOURCE_ALARM_HIGH   0x08
 
#define LTC4282_VSOURCE_ALARM_LOW   0x04
 
#define LTC4282_VGPIO_ALARM_HIGH   0x02
 
#define LTC4282_VGPIO_ALARM_LOW   0x01
 
#define LTC4282_GPIO3_PD   0x80
 
#define LTC4282_GPIO2_PD   0x40
 
#define LTC4282_GPIO1_CONFIG_POWER_GOOD   0x00
 
#define LTC4282_GPIO1_CONFIG_POWER_BAD   0x20
 
#define LTC4282_GPIO1_CONFIG_OUTPUT   0x10
 
#define LTC4282_GPIO1_CONFIG_INPUT   0x30
 
#define LTC4282_GPIO1_OUTPUT   0x08
 
#define LTC4282_ADC_CONV_ALERT   0x04
 
#define LTC4282_STRESS_TO_GPIO2   0x02
 
#define LTC4282_METER_OF_ALERT   0x01
 
#define LTC4282_COULOMB_METER   0x80
 
#define LTC4282_TICK_OUT   0x40
 
#define LTC4282_INT_CLK_OUT   0x20
 
#define LTC4282_ILIM_ADJUST_12_V_5   0x00
 
#define LTC4282_ILIM_ADJUST_15_V_6   0x20
 
#define LTC4282_ILIM_ADJUST_18_V_7   0x40
 
#define LTC4282_ILIM_ADJUST_21_V_8   0x60
 
#define LTC4282_ILIM_ADJUST_25_V_0   0x80
 
#define LTC4282_ILIM_ADJUST_28_V_1   0xA0
 
#define LTC4282_ILIM_ADJUST_31_V_2   0xC0
 
#define LTC4282_ILIM_ADJUST_34_V_3   0xE0
 
#define LTC4282_FOLDBACK_MODE_3_V_3   0x00
 
#define LTC4282_FOLDBACK_MODE_5_V_0   0x08
 
#define LTC4282_FOLDBACK_MODE_12_V_0   0x10
 
#define LTC4282_FOLDBACK_MODE_24_V_0   0x18
 
#define LTC4282_ADC_VSOURCE   0x04
 
#define LTC4282_ADC_GPIO2_MODE   0x02
 
#define LTC4282_ADC_16_BIT   0x01
 
#define LTC4282_ENABLE_ALERT_GENERATED   0x80
 
#define LTC4282_ENABLE_ALERT_PD   0x40
 
#define LTC4282_DISABLE_ALERT_GENERATED   0x7F
 
#define LTC4282_DISABLE_ALERT_PD   0xBF
 
#define LTC4282_REBOOT   0x80
 
#define LTC4282_ENABLE_METER_RESET   0x40
 
#define LTC4282_ENABLE_METER_HALT   0x20
 
#define LTC4282_ENABLE_FAULT_LOG   0x04
 
#define LTC4282_GATEUP   0x02
 
#define LTC4282_ADC_HALT   0x01
 
#define LTC4282_DISABLE_METER_RESET   0xBF
 
#define LTC4282_DISABLE_METER_HALT   0xDF
 
#define LTC4282_DISABLE_FAULT_LOG   0xFB
 
Register MASKS
#define LTC4282_FB_MODE_MASK   0xC0
 LTC4282 Register MASKS. More...
 
#define LTC4282_UV_MODE_MASK   0x30
 
#define LTC4282_OV_MODE_MASK   0x0C
 
#define LTC4282_VIN_MODE_MASK   0x03
 
#define LTC4282_ILIM_ADJUST_MASK   0xE0
 
#define LTC4282_FOLDBACK_MASK   0x18
 
#define LTC4282_GPIO1_CONFIG_MASK   0x30
 

Variables

LTC4282 LSB's
const float LTC4282_ADC_FS = 40E-3
 LTC4282 LSB's. More...
 
const float LTC4282_VSOURCE_24V_FS = 33.28
 
const float LTC4282_VSOURCE_12V_FS = 16.64
 
const float LTC4282_VSOURCE_5V_FS = 8.32
 
const float LTC4282_VSOURCE_3V3_FS = 5.547
 
const float LTC4282_GPIO_FS = 1.28
 

Function Documentation

◆ LTC4282_code_to_avg_current()

float LTC4282_code_to_avg_current ( uint64_t  code,
float  coulombs,
float  tConv 
)

Convert ADC code to average current.

Returns
Returns floating point value of average current
Parameters
codeCode to be converted to average power
coulombsEnergy value
tConvConversion Time

Definition at line 224 of file LTC4282.cpp.

◆ LTC4282_code_to_avg_power()

float LTC4282_code_to_avg_power ( uint64_t  code,
float  energy,
float  tConv 
)

Convert ADC code to average power.

Returns
Returns floating point value of average power
Parameters
codeCode to be converted to average power
energyEnergy value
tConvConversion Time

Definition at line 216 of file LTC4282.cpp.

◆ LTC4282_code_to_coulombs()

float LTC4282_code_to_coulombs ( uint64_t  code,
float  resistor,
float  tConv 
)

Convert ADC code to coulombs.

Returns
Returns floating point value of coulombs
Parameters
codeCode to be converted to Coulombs
resistorSense Resistor Value
tConvConversion Time

Definition at line 208 of file LTC4282.cpp.

◆ LTC4282_code_to_current()

float LTC4282_code_to_current ( uint16_t  code,
float  resistor 
)

Convert ADC code to current.

Returns
Returns floating point value of current
Parameters
codeCode to be converted to current
resistorSense Resistor Value

Definition at line 185 of file LTC4282.cpp.

◆ LTC4282_code_to_current_alarm()

float LTC4282_code_to_current_alarm ( uint8_t  code,
float  resistor 
)

Convert ADC code to alarm current.

Returns
Returns floating point value of alarm current
Parameters
codeCode to be converted to current
resistorSense Resistor Value

Definition at line 248 of file LTC4282.cpp.

◆ LTC4282_code_to_energy()

float LTC4282_code_to_energy ( uint64_t  code,
float  fullscaleVoltage,
float  resistor,
float  tConv 
)

Convert ADC code to energy.

Returns
Returns floating point value of energy
Parameters
codeCode to be converted to energy
fullscaleVoltageFullscale VSOURCE Voltage
resistorSense Resistor Value
tConvConversion Time

Definition at line 200 of file LTC4282.cpp.

◆ LTC4282_code_to_GPIO_alarm()

float LTC4282_code_to_GPIO_alarm ( uint8_t  code)

Convert ADC code to GPIO alarm voltage.

Returns
Returns floating point value of GPIO alarm voltage
Parameters
codeCode to be converted to voltage

Definition at line 232 of file LTC4282.cpp.

◆ LTC4282_code_to_power()

float LTC4282_code_to_power ( uint16_t  code,
float  fullscaleVoltage,
float  resistor 
)

Convert ADC code to power.

Returns
Returns floating point value of power
Parameters
codeCode to be converted to power
fullscaleVoltageFullscale VSOURCE Voltage
resistorSense Resistor Value

Definition at line 193 of file LTC4282.cpp.

◆ LTC4282_code_to_power_alarm()

float LTC4282_code_to_power_alarm ( uint8_t  code,
float  fullscaleVoltage,
float  resistor 
)

Convert ADC code to alarm power.

Returns
Returns floating point value of alarm power
Parameters
codeCode to be converted to power
fullscaleVoltageFullscale VSOURCE voltage
resistorSense Resistor Value

Definition at line 256 of file LTC4282.cpp.

◆ LTC4282_code_to_VGPIO()

float LTC4282_code_to_VGPIO ( uint16_t  code)

Convert ADC code to VGPIO.

Returns
Returns floating point value of GPIO voltage
Parameters
codeCode to be converted to voltage

Definition at line 168 of file LTC4282.cpp.

◆ LTC4282_code_to_volt_alarm()

float LTC4282_code_to_volt_alarm ( uint8_t  code,
float  fullscaleVoltage 
)

Convert ADC code to alarm voltage.

Returns
Returns floating point value of alarm voltage
Parameters
codeCode to be converted to voltage
fullscaleVoltageFullscale VSOURCE voltage

Definition at line 240 of file LTC4282.cpp.

◆ LTC4282_code_to_voltage()

float LTC4282_code_to_voltage ( uint16_t  code,
float  fullscaleVoltage 
)

Convert ADC code to voltage.

Returns
Returns floating point value of voltage
Parameters
codeCode to be converted to voltage
fullscaleVoltageFullscale VSOURCE Voltage

Definition at line 177 of file LTC4282.cpp.

◆ LTC4282_current_to_code_alarm()

uint8_t LTC4282_current_to_code_alarm ( float  current,
float  resistor 
)

Convert current to alarm code.

Returns
Returns the ADC code of the floating point value parameter
Parameters
currentCurrent value to be converted to alarm code
resistorSense Resistor Value

Definition at line 280 of file LTC4282.cpp.

◆ LTC4282_power_to_code_alarm()

uint8_t LTC4282_power_to_code_alarm ( float  power,
float  resistor,
float  fullscaleVoltage 
)

Convert power to alarm code.

Returns
Returns the ADC code of the floating point value
Parameters
powerPower value to be converted to alarm code
resistorSense Resistor Value
fullscaleVoltageFullsvale voltage value to convert voltage into alarm code

Definition at line 288 of file LTC4282.cpp.

◆ LTC4282_read()

int8_t LTC4282_read ( uint8_t  i2c_address,
uint8_t  adc_command,
uint8_t *  adc_code 
)

Read an 8-bit code from the LTC4282.

Returns
Returns the state of the acknowledge bit after the I2C write/read. 0 = acknowledge, 1 = no acknowledge.
Parameters
i2c_addressRegister address for the LTC4282
adc_commandThe "command byte" for the LTC4282
adc_codeValue that will be read from the register

Definition at line 120 of file LTC4282.cpp.

◆ LTC4282_read_16_bits()

int8_t LTC4282_read_16_bits ( uint8_t  i2c_address,
uint8_t  adc_command,
uint16_t *  adc_code 
)

Read a 16-bit code from the LTC4282.

Returns
Returns the state of the acknowledge bit after the I2C write/read. 0 = acknowledge, 1 = no acknowledge.
Parameters
i2c_addressRegister address for the LTC4282
adc_commandThe "command byte" for the LTC4282
adc_codeValue that will be read from the

Definition at line 129 of file LTC4282.cpp.

◆ LTC4282_read_32_bits()

int8_t LTC4282_read_32_bits ( uint8_t  i2c_address,
uint8_t  adc_command,
uint32_t *  adc_code 
)

Read a 32-bit code from the LTC4282.

Returns
Returns the state of the acknowledge bit after the I2C write/read. 0 = acknowledge, 1 = no acknowledge.
Parameters
i2c_addressRegister address for the LTC4282
adc_commandThe "command byte" for the LTC4282
adc_codeValue that will be read from the

Definition at line 140 of file LTC4282.cpp.

◆ LTC4282_read_48_bits()

int8_t LTC4282_read_48_bits ( uint8_t  i2c_address,
uint8_t  adc_command,
uint64_t *  adc_code 
)

Read a 48-bit code from the LTC4282.

Returns
Returns the state of the acknowledge bit after the I2C write/read. 0 = acknowledge, 1 = no acknowledge.
Parameters
i2c_addressRegister address for the LTC4282
adc_commandThe "command byte" for the LTC4282
adc_codeValue that will be read from the

Definition at line 154 of file LTC4282.cpp.

◆ LTC4282_VGPIO_to_code_alarm()

uint8_t LTC4282_VGPIO_to_code_alarm ( float  vgpio)

Convert GPIO voltage to alarm code.

Returns
Returns the ADC code of the floating point value parameter
Parameters
vgpioVGPIO voltage to be converted to alarm code

Definition at line 264 of file LTC4282.cpp.

◆ LTC4282_volt_to_code_alarm()

uint8_t LTC4282_volt_to_code_alarm ( float  volt,
float  fullscaleVoltage 
)

Convert voltage to alarm code.

Returns
Returns the ADC code of the floating point value parameter
Parameters
voltVoltage to be converted to alarm code
fullscaleVoltageFullscale voltage value to convert voltage into alarm code

Definition at line 272 of file LTC4282.cpp.

◆ LTC4282_write()

int8_t LTC4282_write ( uint8_t  i2c_address,
uint8_t  adc_command,
uint8_t  code 
)

Write an 8-bit code to the LTC4282.

Returns
Returns the state of the acknowledge bit after the I2C write/read. 0 = acknowledge, 1 = no acknowledge.
Parameters
i2c_addressRegister address for the LTC4282
adc_commandThe "command byte" for the LTC4282
codeValue that will be written to the register

Definition at line 69 of file LTC4282.cpp.

◆ LTC4282_write_16_bits()

int8_t LTC4282_write_16_bits ( uint8_t  i2c_address,
uint8_t  adc_command,
uint16_t  code 
)

Write an 16-bit code to the LTC4282.

Returns
Returns the state of the acknowledge bit after the I2C write/read. 0 = acknowledge, 1 = no acknowledge.
Parameters
i2c_addressRegister address for the LTC4282
adc_commandThe "command byte" for the LTC4282
codeValue that will be written to the register

Definition at line 81 of file LTC4282.cpp.

◆ LTC4282_write_32_bits()

int8_t LTC4282_write_32_bits ( uint8_t  i2c_address,
uint8_t  adc_command,
uint32_t  code 
)

Write an 32-bit code to the LTC4282.

Returns
Returns the state of the acknowledge bit after the I2C write/read. 0 = acknowledge, 1 = no acknowledge.
Parameters
i2c_addressRegister address for the LTC4282
adc_commandThe "command byte" for the LTC4282
codeValue that will be written to the register

Definition at line 91 of file LTC4282.cpp.

◆ LTC4282_write_48_bits()

int8_t LTC4282_write_48_bits ( uint8_t  i2c_address,
uint8_t  adc_command,
uint64_t  code 
)

Write an 48-bit code to the LTC4282.

Returns
Returns the state of the acknowledge bit after the I2C write/read. 0 = acknowledge, 1 = no acknowledge.
Parameters
i2c_addressRegister address for the LTC4282
adc_commandThe "command byte" for the LTC4282
codeValue that will be written to the register

Definition at line 105 of file LTC4282.cpp.

Macro Definition Documentation

◆ LTC4282_ADC_16_BIT

#define LTC4282_ADC_16_BIT   0x01

Definition at line 535 of file LTC4282.h.

◆ LTC4282_ADC_ALERT_LOG_REG

#define LTC4282_ADC_ALERT_LOG_REG   0x05

Definition at line 269 of file LTC4282.h.

◆ LTC4282_ADC_CONTROL_REG

#define LTC4282_ADC_CONTROL_REG   0x1D

Definition at line 293 of file LTC4282.h.

◆ LTC4282_ADC_CONV_ALERT

#define LTC4282_ADC_CONV_ALERT   0x04

Definition at line 515 of file LTC4282.h.

◆ LTC4282_ADC_GPIO2_MODE

#define LTC4282_ADC_GPIO2_MODE   0x02

Definition at line 534 of file LTC4282.h.

◆ LTC4282_ADC_HALT

#define LTC4282_ADC_HALT   0x01

Definition at line 545 of file LTC4282.h.

◆ LTC4282_ADC_VSOURCE

#define LTC4282_ADC_VSOURCE   0x04

Definition at line 533 of file LTC4282.h.

◆ LTC4282_ALERT_CONTROL_REG

#define LTC4282_ALERT_CONTROL_REG   0x1C

Definition at line 292 of file LTC4282.h.

◆ LTC4282_ALERT_LSB_REG

#define LTC4282_ALERT_LSB_REG   0x03

Definition at line 267 of file LTC4282.h.

◆ LTC4282_ALERT_MSB_REG

#define LTC4282_ALERT_MSB_REG   0x02

Definition at line 266 of file LTC4282.h.

◆ LTC4282_CLK_DEC_REG

#define LTC4282_CLK_DEC_REG   0x10

Definition at line 280 of file LTC4282.h.

◆ LTC4282_CONTROL_LSB_REG

#define LTC4282_CONTROL_LSB_REG   0x01

Definition at line 265 of file LTC4282.h.

◆ LTC4282_CONTROL_MSB_REG

#define LTC4282_CONTROL_MSB_REG   0x00

Definition at line 264 of file LTC4282.h.

◆ LTC4282_COULOMB_METER

#define LTC4282_COULOMB_METER   0x80

Definition at line 518 of file LTC4282.h.

◆ LTC4282_DISABLE_ALERT_GENERATED

#define LTC4282_DISABLE_ALERT_GENERATED   0x7F

Definition at line 538 of file LTC4282.h.

◆ LTC4282_DISABLE_ALERT_PD

#define LTC4282_DISABLE_ALERT_PD   0xBF

Definition at line 539 of file LTC4282.h.

◆ LTC4282_DISABLE_FAULT_LOG

#define LTC4282_DISABLE_FAULT_LOG   0xFB

Definition at line 548 of file LTC4282.h.

◆ LTC4282_DISABLE_METER_HALT

#define LTC4282_DISABLE_METER_HALT   0xDF

Definition at line 547 of file LTC4282.h.

◆ LTC4282_DISABLE_METER_RESET

#define LTC4282_DISABLE_METER_RESET   0xBF

Definition at line 546 of file LTC4282.h.

◆ LTC4282_EE_ADC_ALERT_LOG_REG

#define LTC4282_EE_ADC_ALERT_LOG_REG   0x25

Definition at line 301 of file LTC4282.h.

◆ LTC4282_EE_ALERT_LSB_REG

#define LTC4282_EE_ALERT_LSB_REG   0x23

Definition at line 299 of file LTC4282.h.

◆ LTC4282_EE_ALERT_MSB_REG

#define LTC4282_EE_ALERT_MSB_REG   0x22

Definition at line 298 of file LTC4282.h.

◆ LTC4282_EE_CLK_DEC_REG

#define LTC4282_EE_CLK_DEC_REG   0x30

Definition at line 312 of file LTC4282.h.

◆ LTC4282_EE_CONTROL_LSB_REG

#define LTC4282_EE_CONTROL_LSB_REG   0x21

Definition at line 297 of file LTC4282.h.

◆ LTC4282_EE_CONTROL_MSB_REG

#define LTC4282_EE_CONTROL_MSB_REG   0x20

Definition at line 296 of file LTC4282.h.

◆ LTC4282_EE_FAULT_REG

#define LTC4282_EE_FAULT_REG   0x24

Definition at line 300 of file LTC4282.h.

◆ LTC4282_EE_FET_BAD_FAULT_TIME_REG

#define LTC4282_EE_FET_BAD_FAULT_TIME_REG   0x26

Definition at line 302 of file LTC4282.h.

◆ LTC4282_EE_GPIO_CONFIG_REG

#define LTC4282_EE_GPIO_CONFIG_REG   0x27

Definition at line 303 of file LTC4282.h.

◆ LTC4282_EE_ILIM_ADJUST_REG

#define LTC4282_EE_ILIM_ADJUST_REG   0x31

Definition at line 313 of file LTC4282.h.

◆ LTC4282_EE_POWER_ALARM_MAX_REG

#define LTC4282_EE_POWER_ALARM_MAX_REG   0x2F

Definition at line 311 of file LTC4282.h.

◆ LTC4282_EE_POWER_ALARM_MIN_REG

#define LTC4282_EE_POWER_ALARM_MIN_REG   0x2E

Definition at line 310 of file LTC4282.h.

◆ LTC4282_EE_SPARE_LSB_REG

#define LTC4282_EE_SPARE_LSB_REG   0x4F

Definition at line 342 of file LTC4282.h.

◆ LTC4282_EE_SPARE_MSB1_REG

#define LTC4282_EE_SPARE_MSB1_REG   0x4E

Definition at line 341 of file LTC4282.h.

◆ LTC4282_EE_SPARE_MSB2_REG

#define LTC4282_EE_SPARE_MSB2_REG   0x4D

Definition at line 340 of file LTC4282.h.

◆ LTC4282_EE_SPARE_MSB3_REG

#define LTC4282_EE_SPARE_MSB3_REG   0x4C

Definition at line 339 of file LTC4282.h.

◆ LTC4282_EE_VGPIO_ALARM_MAX_REG

#define LTC4282_EE_VGPIO_ALARM_MAX_REG   0x2B

Definition at line 307 of file LTC4282.h.

◆ LTC4282_EE_VGPIO_ALARM_MIN_REG

#define LTC4282_EE_VGPIO_ALARM_MIN_REG   0x2A

Definition at line 306 of file LTC4282.h.

◆ LTC4282_EE_VSENSE_ALARM_MAX_REG

#define LTC4282_EE_VSENSE_ALARM_MAX_REG   0x2D

Definition at line 309 of file LTC4282.h.

◆ LTC4282_EE_VSENSE_ALARM_MIN_REG

#define LTC4282_EE_VSENSE_ALARM_MIN_REG   0x2C

Definition at line 308 of file LTC4282.h.

◆ LTC4282_EE_VSOURCE_ALARM_MAX_REG

#define LTC4282_EE_VSOURCE_ALARM_MAX_REG   0x29

Definition at line 305 of file LTC4282.h.

◆ LTC4282_EE_VSOURCE_ALARM_MIN_REG

#define LTC4282_EE_VSOURCE_ALARM_MIN_REG   0x28

Definition at line 304 of file LTC4282.h.

◆ LTC4282_EEPROM_DONE_ALERT

#define LTC4282_EEPROM_DONE_ALERT   0x80

Definition at line 492 of file LTC4282.h.

◆ LTC4282_ENABLE_ALERT_GENERATED

#define LTC4282_ENABLE_ALERT_GENERATED   0x80

Definition at line 536 of file LTC4282.h.

◆ LTC4282_ENABLE_ALERT_PD

#define LTC4282_ENABLE_ALERT_PD   0x40

Definition at line 537 of file LTC4282.h.

◆ LTC4282_ENABLE_FAULT_LOG

#define LTC4282_ENABLE_FAULT_LOG   0x04

Definition at line 543 of file LTC4282.h.

◆ LTC4282_ENABLE_METER_HALT

#define LTC4282_ENABLE_METER_HALT   0x20

Definition at line 542 of file LTC4282.h.

◆ LTC4282_ENABLE_METER_RESET

#define LTC4282_ENABLE_METER_RESET   0x40

Definition at line 541 of file LTC4282.h.

◆ LTC4282_FAULT_LOG_REG

#define LTC4282_FAULT_LOG_REG   0x04

Definition at line 268 of file LTC4282.h.

◆ LTC4282_FB_MODE_10

#define LTC4282_FB_MODE_10   0x80

Definition at line 478 of file LTC4282.h.

◆ LTC4282_FB_MODE_15

#define LTC4282_FB_MODE_15   0xC0

Definition at line 479 of file LTC4282.h.

◆ LTC4282_FB_MODE_5

#define LTC4282_FB_MODE_5   0x40

Definition at line 477 of file LTC4282.h.

◆ LTC4282_FB_MODE_EXTERNAL

#define LTC4282_FB_MODE_EXTERNAL   0x00

Definition at line 476 of file LTC4282.h.

◆ LTC4282_FB_MODE_MASK

#define LTC4282_FB_MODE_MASK   0xC0

LTC4282 Register MASKS.

Definition at line 554 of file LTC4282.h.

◆ LTC4282_FET_BAD_FAULT_ALERT

#define LTC4282_FET_BAD_FAULT_ALERT   0x40

Definition at line 493 of file LTC4282.h.

◆ LTC4282_FET_BAD_FAULT_TIME_REG

#define LTC4282_FET_BAD_FAULT_TIME_REG   0x06

Definition at line 270 of file LTC4282.h.

◆ LTC4282_FET_ON

#define LTC4282_FET_ON   0x08

Definition at line 472 of file LTC4282.h.

◆ LTC4282_FET_SHORT_ALERT

#define LTC4282_FET_SHORT_ALERT   0x20

Definition at line 494 of file LTC4282.h.

◆ LTC4282_FOLDBACK_MASK

#define LTC4282_FOLDBACK_MASK   0x18

Definition at line 559 of file LTC4282.h.

◆ LTC4282_FOLDBACK_MODE_12_V_0

#define LTC4282_FOLDBACK_MODE_12_V_0   0x10

Definition at line 531 of file LTC4282.h.

◆ LTC4282_FOLDBACK_MODE_24_V_0

#define LTC4282_FOLDBACK_MODE_24_V_0   0x18

Definition at line 532 of file LTC4282.h.

◆ LTC4282_FOLDBACK_MODE_3_V_3

#define LTC4282_FOLDBACK_MODE_3_V_3   0x00

Definition at line 529 of file LTC4282.h.

◆ LTC4282_FOLDBACK_MODE_5_V_0

#define LTC4282_FOLDBACK_MODE_5_V_0   0x08

Definition at line 530 of file LTC4282.h.

◆ LTC4282_GATEUP

#define LTC4282_GATEUP   0x02

Definition at line 544 of file LTC4282.h.

◆ LTC4282_GPIO1_CONFIG_INPUT

#define LTC4282_GPIO1_CONFIG_INPUT   0x30

Definition at line 513 of file LTC4282.h.

◆ LTC4282_GPIO1_CONFIG_MASK

#define LTC4282_GPIO1_CONFIG_MASK   0x30

Definition at line 560 of file LTC4282.h.

◆ LTC4282_GPIO1_CONFIG_OUTPUT

#define LTC4282_GPIO1_CONFIG_OUTPUT   0x10

Definition at line 512 of file LTC4282.h.

◆ LTC4282_GPIO1_CONFIG_POWER_BAD

#define LTC4282_GPIO1_CONFIG_POWER_BAD   0x20

Definition at line 511 of file LTC4282.h.

◆ LTC4282_GPIO1_CONFIG_POWER_GOOD

#define LTC4282_GPIO1_CONFIG_POWER_GOOD   0x00

Definition at line 510 of file LTC4282.h.

◆ LTC4282_GPIO1_OUTPUT

#define LTC4282_GPIO1_OUTPUT   0x08

Definition at line 514 of file LTC4282.h.

◆ LTC4282_GPIO2_PD

#define LTC4282_GPIO2_PD   0x40

Definition at line 509 of file LTC4282.h.

◆ LTC4282_GPIO3_PD

#define LTC4282_GPIO3_PD   0x80

Definition at line 508 of file LTC4282.h.

◆ LTC4282_GPIO_CONFIG_REG

#define LTC4282_GPIO_CONFIG_REG   0x07

Definition at line 271 of file LTC4282.h.

◆ LTC4282_I2C_ADDRESS

#define LTC4282_I2C_ADDRESS   0x4A

Definition at line 157 of file LTC4282.h.

◆ LTC4282_I2C_ALERT_RESPONSE

#define LTC4282_I2C_ALERT_RESPONSE   0x19

Definition at line 175 of file LTC4282.h.

◆ LTC4282_I2C_MASS_WRITE

#define LTC4282_I2C_MASS_WRITE   0x5F

Definition at line 174 of file LTC4282.h.

◆ LTC4282_ILIM_ADJUST_12_V_5

#define LTC4282_ILIM_ADJUST_12_V_5   0x00

Definition at line 521 of file LTC4282.h.

◆ LTC4282_ILIM_ADJUST_15_V_6

#define LTC4282_ILIM_ADJUST_15_V_6   0x20

Definition at line 522 of file LTC4282.h.

◆ LTC4282_ILIM_ADJUST_18_V_7

#define LTC4282_ILIM_ADJUST_18_V_7   0x40

Definition at line 523 of file LTC4282.h.

◆ LTC4282_ILIM_ADJUST_21_V_8

#define LTC4282_ILIM_ADJUST_21_V_8   0x60

Definition at line 524 of file LTC4282.h.

◆ LTC4282_ILIM_ADJUST_25_V_0

#define LTC4282_ILIM_ADJUST_25_V_0   0x80

Definition at line 525 of file LTC4282.h.

◆ LTC4282_ILIM_ADJUST_28_V_1

#define LTC4282_ILIM_ADJUST_28_V_1   0xA0

Definition at line 526 of file LTC4282.h.

◆ LTC4282_ILIM_ADJUST_31_V_2

#define LTC4282_ILIM_ADJUST_31_V_2   0xC0

Definition at line 527 of file LTC4282.h.

◆ LTC4282_ILIM_ADJUST_34_V_3

#define LTC4282_ILIM_ADJUST_34_V_3   0xE0

Definition at line 528 of file LTC4282.h.

◆ LTC4282_ILIM_ADJUST_MASK

#define LTC4282_ILIM_ADJUST_MASK   0xE0

Definition at line 558 of file LTC4282.h.

◆ LTC4282_ILIM_ADJUST_REG

#define LTC4282_ILIM_ADJUST_REG   0x11

Definition at line 281 of file LTC4282.h.

◆ LTC4282_INT_CLK_OUT

#define LTC4282_INT_CLK_OUT   0x20

Definition at line 520 of file LTC4282.h.

◆ LTC4282_MASS_WRITE

#define LTC4282_MASS_WRITE   0x10

Definition at line 471 of file LTC4282.h.

◆ LTC4282_METER_LSB_REG

#define LTC4282_METER_LSB_REG   0x17

Definition at line 287 of file LTC4282.h.

◆ LTC4282_METER_MSB1_REG

#define LTC4282_METER_MSB1_REG   0x16

Definition at line 286 of file LTC4282.h.

◆ LTC4282_METER_MSB2_REG

#define LTC4282_METER_MSB2_REG   0x15

Definition at line 285 of file LTC4282.h.

◆ LTC4282_METER_MSB3_REG

#define LTC4282_METER_MSB3_REG   0x14

Definition at line 284 of file LTC4282.h.

◆ LTC4282_METER_MSB4_REG

#define LTC4282_METER_MSB4_REG   0x13

Definition at line 283 of file LTC4282.h.

◆ LTC4282_METER_MSB5_REG

#define LTC4282_METER_MSB5_REG   0x12

Definition at line 282 of file LTC4282.h.

◆ LTC4282_METER_OF_ALERT

#define LTC4282_METER_OF_ALERT   0x01

Definition at line 517 of file LTC4282.h.

◆ LTC4282_OC_ALERT

#define LTC4282_OC_ALERT   0x04

Definition at line 497 of file LTC4282.h.

◆ LTC4282_OC_AUTORETRY

#define LTC4282_OC_AUTORETRY   0x04

Definition at line 473 of file LTC4282.h.

◆ LTC4282_ON_ALERT

#define LTC4282_ON_ALERT   0x10

Definition at line 495 of file LTC4282.h.

◆ LTC4282_ON_DELAY

#define LTC4282_ON_DELAY   0x40

Definition at line 469 of file LTC4282.h.

◆ LTC4282_ON_ENB

#define LTC4282_ON_ENB   0x20

Definition at line 470 of file LTC4282.h.

◆ LTC4282_ON_FAULT_MASK

#define LTC4282_ON_FAULT_MASK   0x80

Definition at line 467 of file LTC4282.h.

◆ LTC4282_OV_ALERT

#define LTC4282_OV_ALERT   0x01

Definition at line 499 of file LTC4282.h.

◆ LTC4282_OV_AUTORETRY

#define LTC4282_OV_AUTORETRY   0x01

Definition at line 475 of file LTC4282.h.

◆ LTC4282_OV_MODE_10

#define LTC4282_OV_MODE_10   0x08

Definition at line 486 of file LTC4282.h.

◆ LTC4282_OV_MODE_15

#define LTC4282_OV_MODE_15   0x0C

Definition at line 487 of file LTC4282.h.

◆ LTC4282_OV_MODE_5

#define LTC4282_OV_MODE_5   0x04

Definition at line 485 of file LTC4282.h.

◆ LTC4282_OV_MODE_EXTERNAL

#define LTC4282_OV_MODE_EXTERNAL   0x00

Definition at line 484 of file LTC4282.h.

◆ LTC4282_OV_MODE_MASK

#define LTC4282_OV_MODE_MASK   0x0C

Definition at line 556 of file LTC4282.h.

◆ LTC4282_PB_ALERT

#define LTC4282_PB_ALERT   0x08

Definition at line 496 of file LTC4282.h.

◆ LTC4282_POWER_ALARM_HIGH

#define LTC4282_POWER_ALARM_HIGH   0x80

Definition at line 500 of file LTC4282.h.

◆ LTC4282_POWER_ALARM_LOW

#define LTC4282_POWER_ALARM_LOW   0x40

Definition at line 501 of file LTC4282.h.

◆ LTC4282_POWER_ALARM_MAX_REG

#define LTC4282_POWER_ALARM_MAX_REG   0x0F

Definition at line 279 of file LTC4282.h.

◆ LTC4282_POWER_ALARM_MIN_REG

#define LTC4282_POWER_ALARM_MIN_REG   0x0E

Definition at line 278 of file LTC4282.h.

◆ LTC4282_POWER_LSB_REG

#define LTC4282_POWER_LSB_REG   0x47

Definition at line 333 of file LTC4282.h.

◆ LTC4282_POWER_MAX_LSB_REG

#define LTC4282_POWER_MAX_LSB_REG   0x4B

Definition at line 337 of file LTC4282.h.

◆ LTC4282_POWER_MAX_MSB_REG

#define LTC4282_POWER_MAX_MSB_REG   0x4A

Definition at line 336 of file LTC4282.h.

◆ LTC4282_POWER_MIN_LSB_REG

#define LTC4282_POWER_MIN_LSB_REG   0x49

Definition at line 335 of file LTC4282.h.

◆ LTC4282_POWER_MIN_MSB_REG

#define LTC4282_POWER_MIN_MSB_REG   0x48

Definition at line 334 of file LTC4282.h.

◆ LTC4282_POWER_MSB_REG

#define LTC4282_POWER_MSB_REG   0x46

Definition at line 332 of file LTC4282.h.

◆ LTC4282_REBOOT

#define LTC4282_REBOOT   0x80

Definition at line 540 of file LTC4282.h.

◆ LTC4282_STATUS_LSB_REG

#define LTC4282_STATUS_LSB_REG   0x1F

Definition at line 295 of file LTC4282.h.

◆ LTC4282_STATUS_MSB_REG

#define LTC4282_STATUS_MSB_REG   0x1E

Definition at line 294 of file LTC4282.h.

◆ LTC4282_STRESS_TO_GPIO2

#define LTC4282_STRESS_TO_GPIO2   0x02

Definition at line 516 of file LTC4282.h.

◆ LTC4282_TICK_COUNTER_LSB_REG

#define LTC4282_TICK_COUNTER_LSB_REG   0x1B

Definition at line 291 of file LTC4282.h.

◆ LTC4282_TICK_COUNTER_MSB1_REG

#define LTC4282_TICK_COUNTER_MSB1_REG   0x1A

Definition at line 290 of file LTC4282.h.

◆ LTC4282_TICK_COUNTER_MSB2_REG

#define LTC4282_TICK_COUNTER_MSB2_REG   0x19

Definition at line 289 of file LTC4282.h.

◆ LTC4282_TICK_COUNTER_MSB3_REG

#define LTC4282_TICK_COUNTER_MSB3_REG   0x18

Definition at line 288 of file LTC4282.h.

◆ LTC4282_TICK_OUT

#define LTC4282_TICK_OUT   0x40

Definition at line 519 of file LTC4282.h.

◆ LTC4282_UV_ALERT

#define LTC4282_UV_ALERT   0x02

Definition at line 498 of file LTC4282.h.

◆ LTC4282_UV_AUTORETRY

#define LTC4282_UV_AUTORETRY   0x02

Definition at line 474 of file LTC4282.h.

◆ LTC4282_UV_MODE_10

#define LTC4282_UV_MODE_10   0x20

Definition at line 482 of file LTC4282.h.

◆ LTC4282_UV_MODE_15

#define LTC4282_UV_MODE_15   0x30

Definition at line 483 of file LTC4282.h.

◆ LTC4282_UV_MODE_5

#define LTC4282_UV_MODE_5   0x10

Definition at line 481 of file LTC4282.h.

◆ LTC4282_UV_MODE_EXTERNAL

#define LTC4282_UV_MODE_EXTERNAL   0x00

Definition at line 480 of file LTC4282.h.

◆ LTC4282_UV_MODE_MASK

#define LTC4282_UV_MODE_MASK   0x30

Definition at line 555 of file LTC4282.h.

◆ LTC4282_VGPIO_ALARM_HIGH

#define LTC4282_VGPIO_ALARM_HIGH   0x02

Definition at line 506 of file LTC4282.h.

◆ LTC4282_VGPIO_ALARM_LOW

#define LTC4282_VGPIO_ALARM_LOW   0x01

Definition at line 507 of file LTC4282.h.

◆ LTC4282_VGPIO_ALARM_MAX_REG

#define LTC4282_VGPIO_ALARM_MAX_REG   0x0B

Definition at line 275 of file LTC4282.h.

◆ LTC4282_VGPIO_ALARM_MIN_REG

#define LTC4282_VGPIO_ALARM_MIN_REG   0x0A

Definition at line 274 of file LTC4282.h.

◆ LTC4282_VGPIO_LSB_REG

#define LTC4282_VGPIO_LSB_REG   0x35

Definition at line 315 of file LTC4282.h.

◆ LTC4282_VGPIO_MAX_LSB_REG

#define LTC4282_VGPIO_MAX_LSB_REG   0x39

Definition at line 319 of file LTC4282.h.

◆ LTC4282_VGPIO_MAX_MSB_REG

#define LTC4282_VGPIO_MAX_MSB_REG   0x38

Definition at line 318 of file LTC4282.h.

◆ LTC4282_VGPIO_MIN_LSB_REG

#define LTC4282_VGPIO_MIN_LSB_REG   0x37

Definition at line 317 of file LTC4282.h.

◆ LTC4282_VGPIO_MIN_MSB_REG

#define LTC4282_VGPIO_MIN_MSB_REG   0x36

Definition at line 316 of file LTC4282.h.

◆ LTC4282_VGPIO_MSB_REG

#define LTC4282_VGPIO_MSB_REG   0x34

Definition at line 314 of file LTC4282.h.

◆ LTC4282_VIN_MODE_12_V

#define LTC4282_VIN_MODE_12_V   0x02

Definition at line 490 of file LTC4282.h.

◆ LTC4282_VIN_MODE_24_V

#define LTC4282_VIN_MODE_24_V   0x03

Definition at line 491 of file LTC4282.h.

◆ LTC4282_VIN_MODE_3_V_3

#define LTC4282_VIN_MODE_3_V_3   0x00

Definition at line 488 of file LTC4282.h.

◆ LTC4282_VIN_MODE_5_V

#define LTC4282_VIN_MODE_5_V   0x01

Definition at line 489 of file LTC4282.h.

◆ LTC4282_VIN_MODE_MASK

#define LTC4282_VIN_MODE_MASK   0x03

Definition at line 557 of file LTC4282.h.

◆ LTC4282_VSENSE_ALARM_HIGH

#define LTC4282_VSENSE_ALARM_HIGH   0x20

Definition at line 502 of file LTC4282.h.

◆ LTC4282_VSENSE_ALARM_LOW

#define LTC4282_VSENSE_ALARM_LOW   0x10

Definition at line 503 of file LTC4282.h.

◆ LTC4282_VSENSE_ALARM_MAX_REG

#define LTC4282_VSENSE_ALARM_MAX_REG   0x0D

Definition at line 277 of file LTC4282.h.

◆ LTC4282_VSENSE_ALARM_MIN_REG

#define LTC4282_VSENSE_ALARM_MIN_REG   0x0C

Definition at line 276 of file LTC4282.h.

◆ LTC4282_VSENSE_LSB_REG

#define LTC4282_VSENSE_LSB_REG   0x41

Definition at line 327 of file LTC4282.h.

◆ LTC4282_VSENSE_MAX_LSB_REG

#define LTC4282_VSENSE_MAX_LSB_REG   0x45

Definition at line 331 of file LTC4282.h.

◆ LTC4282_VSENSE_MAX_MSB_REG

#define LTC4282_VSENSE_MAX_MSB_REG   0x44

Definition at line 330 of file LTC4282.h.

◆ LTC4282_VSENSE_MIN_LSB_REG

#define LTC4282_VSENSE_MIN_LSB_REG   0x43

Definition at line 329 of file LTC4282.h.

◆ LTC4282_VSENSE_MIN_MSB_REG

#define LTC4282_VSENSE_MIN_MSB_REG   0x42

Definition at line 328 of file LTC4282.h.

◆ LTC4282_VSENSE_MSB_REG

#define LTC4282_VSENSE_MSB_REG   0x40

Definition at line 326 of file LTC4282.h.

◆ LTC4282_VSOURCE_ALARM_HIGH

#define LTC4282_VSOURCE_ALARM_HIGH   0x08

Definition at line 504 of file LTC4282.h.

◆ LTC4282_VSOURCE_ALARM_LOW

#define LTC4282_VSOURCE_ALARM_LOW   0x04

Definition at line 505 of file LTC4282.h.

◆ LTC4282_VSOURCE_ALARM_MAX_REG

#define LTC4282_VSOURCE_ALARM_MAX_REG   0x09

Definition at line 273 of file LTC4282.h.

◆ LTC4282_VSOURCE_ALARM_MIN_REG

#define LTC4282_VSOURCE_ALARM_MIN_REG   0x08

Definition at line 272 of file LTC4282.h.

◆ LTC4282_VSOURCE_LSB_REG

#define LTC4282_VSOURCE_LSB_REG   0x3B

Definition at line 321 of file LTC4282.h.

◆ LTC4282_VSOURCE_MAX_LSB_REG

#define LTC4282_VSOURCE_MAX_LSB_REG   0x3F

Definition at line 325 of file LTC4282.h.

◆ LTC4282_VSOURCE_MAX_MSB_REG

#define LTC4282_VSOURCE_MAX_MSB_REG   0x3E

Definition at line 324 of file LTC4282.h.

◆ LTC4282_VSOURCE_MIN_LSB_REG

#define LTC4282_VSOURCE_MIN_LSB_REG   0x3D

Definition at line 323 of file LTC4282.h.

◆ LTC4282_VSOURCE_MIN_MSB_REG

#define LTC4282_VSOURCE_MIN_MSB_REG   0x3C

Definition at line 322 of file LTC4282.h.

◆ LTC4282_VSOURCE_MSB_REG

#define LTC4282_VSOURCE_MSB_REG   0x3A

Definition at line 320 of file LTC4282.h.

Variable Documentation

◆ LTC4282_ADC_FS

const float LTC4282_ADC_FS = 40E-3

LTC4282 LSB's.

Definition at line 566 of file LTC4282.h.

◆ LTC4282_GPIO_FS

const float LTC4282_GPIO_FS = 1.28

Definition at line 571 of file LTC4282.h.

◆ LTC4282_VSOURCE_12V_FS

const float LTC4282_VSOURCE_12V_FS = 16.64

Definition at line 568 of file LTC4282.h.

◆ LTC4282_VSOURCE_24V_FS

const float LTC4282_VSOURCE_24V_FS = 33.28

Definition at line 567 of file LTC4282.h.

◆ LTC4282_VSOURCE_3V3_FS

const float LTC4282_VSOURCE_3V3_FS = 5.547

Definition at line 570 of file LTC4282.h.

◆ LTC4282_VSOURCE_5V_FS

const float LTC4282_VSOURCE_5V_FS = 8.32

Definition at line 569 of file LTC4282.h.