void LTC6810_set_cfgr_fdrf(uint8_t nIC, cell_asic *ic, bool fdrf)
Helper function to set the FDRF bit.
void LTC6810_set_discharge(int Cell, uint8_t total_ic, cell_asic *ic)
Helper function to set discharge bit in CFG register.
void LTC6810_set_cfgr(uint8_t nIC, cell_asic *ic, bool refon, bool adcopt, bool gpio[4], bool dcc[6], bool dcc_0, bool mcal, bool en_dtmen, bool dis_red, bool fdrf, bool sconv, bool dcto[4], uint16_t uv, uint16_t ov)
Helper function to set appropriate bits in CFGR register based on bit function.
void LTC6810_clraux()
Clears the LTC6810 Auxiliary registers.
void LTC6810_set_cfgr_mcal(uint8_t nIC, cell_asic *ic, bool mcal)
Helper function to set the MCAL bit.
void LTC6810_run_openwire_multi(uint8_t total_ic, cell_asic *ic)
Runs the data sheet algorithm for open wire for multiple cell and two consecutive cells detection...
void LTC6810_cvst(uint8_t MD, uint8_t ST)
Starts Cell voltage self test conversion.
uint8_t LTC6810_pladc()
Sends the poll ADC command.
void LTC6810_wrcomm(uint8_t total_ic, cell_asic *ic)
Write the LTC6810 COMM register.
uint32_t LTC6810_pollAdc()
This function will block operation until the ADC has finished it's conversion.
void LTC6810_clrcell()
Clears the LTC6810 cell voltage registers.
void LTC6810_wrpwm(uint8_t total_ic, uint8_t pwmReg, cell_asic *ic)
Writes to the LTC6810 PWM register of LTC6810.
uint8_t LTC6810_rds(uint8_t reg, uint8_t total_ic, cell_asic *ic)
Reads and parses the LTC6810 S voltage registers.
int8_t LTC6810_rdaux(uint8_t reg, uint8_t nIC, cell_asic *ic)
Reads and parses the LTC6810 auxiliary registers.
void LTC6810_set_cfgr_dcto(uint8_t nIC, cell_asic *ic, bool dcto[])
Helper function to set the DCTO bit.
void LTC6810_run_openwire_single(uint8_t total_ic, cell_asic *ic)
Helper function that runs the data sheet open wire algorithm for single cell detection.
void LTC6810_init_cfg(uint8_t total_ic, cell_asic *ic)
Helper Function to initialize the CFGR data structures.
uint8_t LTC6810_rdcv(uint8_t reg, uint8_t total_ic, cell_asic *ic)
Reads and parses the LTC6810 cell voltage registers.
int16_t LTC6810_run_adc_redundancy_st(uint8_t adc_mode, uint8_t adc_reg, uint8_t total_ic, cell_asic *ic)
Helper function that runs the ADC Digital Redundancy commands and checks output for errors...
void LTC6810_check_pec(uint8_t total_ic, uint8_t reg, cell_asic *ic)
Helper Function that counts overall PEC errors and register/IC PEC errors.
int16_t LTC6810_run_cell_adc_st(uint8_t adc_reg, uint8_t total_ic, cell_asic *ic, uint8_t md, bool adcopt)
Helper function that runs the ADC Self Tests.
union LT_union_int32_4bytes data
void LTC6810_clrstat()
Clears the LTC6810 Stat registers.
void LTC6810_mute()
Mutes the LTC6810 discharge transistors.
void LTC6810_adcv(uint8_t MD, uint8_t DCP, uint8_t CH)
Starts cell voltage conversion.
void LTC6810_set_cfgr_en_dtmen(uint8_t nIC, cell_asic *ic, bool en_dtmen)
Helper function to set the EN_DTMEN bit.
uint8_t LTC6810_rdsid(uint8_t total_ic, cell_asic *ic)
Reads Serial ID registers group.
void LTC6810_init_reg_limits(uint8_t total_ic, cell_asic *ic)
Initialize the Register limits.
void LTC6810_set_cfgr_refon(uint8_t nIC, cell_asic *ic, bool refon)
Helper function to turn the REFON bit HIGH or LOW.
void LTC6810_statst(uint8_t MD, uint8_t ST)
Start a Status Register Self Test Conversion.
void LTC6810_run_gpio_openwire(uint8_t total_ic, cell_asic *ic)
Runs open wire for GPIOs.
void LTC6810_set_cfgr_adcopt(uint8_t nIC, cell_asic *ic, bool adcopt)
Helper function to turn the ADCOPT bit HIGH or LOW.
void LTC6810_adow(uint8_t MD, uint8_t PUP, uint8_t CH, uint8_t DCP)
Start an open wire Conversion.
void LTC6810_adax(uint8_t MD, uint8_t CHG)
Start a GPIO, cell 0 and Vref2 Conversion.
void LTC6810_set_cfgr_uv(uint8_t nIC, cell_asic *ic, uint16_t uv)
Helper function to set uv field in CFGRA register.
void LTC6810_set_cfgr_dis_red(uint8_t nIC, cell_asic *ic, bool dis_red)
Helper function to set the DIS_RED bit.
void LTC6810_set_cfgr_sconv(uint8_t nIC, cell_asic *ic, bool sconv)
Helper function to set the SCONV bit.
void LTC6810_clear_discharge(uint8_t total_ic, cell_asic *ic)
Clears all of the DCC bits in the configuration registers.
int8_t LTC6810_rdcfg(uint8_t nIC, cell_asic *ic)
Reads configuration registers of a LTC6810 daisy chain.
int8_t LTC6810_rdcomm(uint8_t total_ic, cell_asic *ic)
Reads comm registers of a LTC6810 in daisy chain.
void LTC6810_set_cfgr_gpio(uint8_t nIC, cell_asic *ic, bool gpio[])
Helper function to turn the GPIO bits HIGH or LOW.
int8_t LTC6810_rdpwm(uint8_t total_ic, uint8_t pwmReg, cell_asic *ic)
Reads pwm registers of the LTC6810 in daisy chain.
void LTC6810_adstat(uint8_t MD, uint8_t CHST)
Start a Status ADC Conversion.
void LTC6810_adcvsc(uint8_t MD, uint8_t DCP)
Starts cell voltage and SOC conversion.
void LTC6810_diagn()
Starts the Mux Decoder diagnostic self test.
void LTC6810_set_cfgr_dcc_0(uint8_t nIC, cell_asic *ic, bool dcc_0)
Helper function to set the DCC_0 bit.
void LTC6810_adcvax(uint8_t MD, uint8_t DCP)
Starts cell voltage, Cell 0 and GPIO 1 conversion.
void LTC6810_axow(uint8_t MD, uint8_t PUP)
Start GPIOs open wire ADC conversion.
void LTC6810_reset_crc_count(uint8_t total_ic, cell_asic *ic)
Helper Function that resets the PEC error counters.
void LTC6810_axst(uint8_t MD, uint8_t ST)
Start an Auxiliary Register Self Test Conversion.
void LTC6810_wrcfg(uint8_t nIC, cell_asic *ic)
Write the LTC6810 configuration register.
int8_t LTC6810_rdstat(uint8_t reg, uint8_t total_ic, cell_asic *ic)
Reads and parses the LTC6810 stat registers.
void LTC6810_unmute()
Clears the LTC6810 Mute Discharge.
void LTC6810_adaxd(uint8_t MD, uint8_t CHG)
Start an GPIO Redundancy test.
void LTC6810_set_cfgr_dis(uint8_t nIC, cell_asic *ic, bool dcc[])
Helper function to turn the DCC bits HIGH or LOW.
void LTC6810_stcomm(uint8_t len)
Issues a stcomm command and clocks data out of the COMM register.
void LTC6810_adstatd(uint8_t MD, uint8_t CHST)
Start a Status register redundancy test Conversion.
void LTC6810_rds_reg(uint8_t reg, uint8_t total_ic, uint8_t *data)
Reads the raw S voltage register data.
void LTC6810_set_cfgr_ov(uint8_t nIC, cell_asic *ic, uint16_t ov)
Helper function to set ov field in CFGRA register.