| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

Functions | Macros
LTC68031.h File Reference
Battery Management System (BMS) » LTC6803-1: Multicell Battery Monitor

LTC6803-1 Multicell Battery Monitor. More...

## Detailed Description

LTC6803-1 Multicell Battery Monitor.

http://www.linear.com/product/LTC6803-1

http://www.linear.com/product/LTC6803-1#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.

Copyright 2015 Linear Technology Corp. (LTC)

Library Header File for LTC6803-1 Multicell Battery Monitor

Definition in file LTC68031.h.

Go to the source code of this file.

## Functions
void | LTC6803_initialize ()
| Initializes the SPI port. More...
void | LTC6803_stcvad ()
| Function to start Cell Voltage measurement. More...
void | LTC6803_sttmpad ()
| Function to start Temp channel voltage measurement. More...
uint8_t | LTC6803_rdcv (uint8_t total_ic, uint16_t cell_codes[][12])
| Function that reads Cell Voltage registers. More...
int8_t | LTC6803_rdtmp (uint8_t total_ic, uint16_t temp_codes[][3])
| Function that reads Temp Voltage registers. More...
void | LTC6803_wrcfg (uint8_t total_ic, uint8_t config[][6])
| Function that writes configuration of LTC6803-1/-3. More...
int8_t | LTC6803_rdcfg (uint8_t total_ic, uint8_t r_config[][7])
| Function that reads configuration of LTC6803-1/-3. More...
uint8_t | pec8_calc (uint8_t len, uint8_t *data)
| Function that calculates PEC byte. More...
void | spi_write_array (uint8_t length, uint8_t *data)
| Writes an array of bytes out of the SPI port. More...
void | spi_write_read (uint8_t *TxData, uint8_t TXlen, uint8_t *rx_data, uint8_t RXlen)
| Writes and read a set number of bytes using the SPI port. More...

## Macros
#define | LTC6803_CS QUIKEVAL_CS
#define | PEC_POLY 7

## Function Documentation

## ◆ LTC6803_initialize()

void LTC6803_initialize | ( |  | ) |

Initializes the SPI port.

Returns
  void

Definition at line 79 of file LTC68031.cpp.

## ◆ LTC6803_rdcfg()

int8_t LTC6803_rdcfg | ( | uint8_t | total_ic,
|  | uint8_t | r_config[][7]
| ) |  |

Function that reads configuration of LTC6803-1/-3.

Returns
  This function will return a 0 if there is no PEC error and will return -1 if there is a PEC error

Function that reads configuration of LTC6803-1/-3.

Parameters

  total_ic | total_ic number of LTC6803 ICs in stack
  r_config | The Function will put the read config register data into this array

Definition at line 126 of file LTC68031.cpp.

## ◆ LTC6803_rdcv()

uint8_t LTC6803_rdcv | ( | uint8_t | total_ic,
|  | uint16_t | cell_codes[][12]
| ) |  |

Function that reads Cell Voltage registers.

Returns
  This function will return a 0 if there is no PEC error and will return -1 if there is a PEC error

Parameters

  total_ic | total_ic number of LTC6803 ICs in stack
  cell_codes | The Function will put the parsed measured cell voltages into this array

Definition at line 246 of file LTC68031.cpp.

## ◆ LTC6803_rdtmp()

int8_t LTC6803_rdtmp | ( | uint8_t | total_ic,
|  | uint16_t | temp_codes[][3]
| ) |  |

Function that reads Temp Voltage registers.

Returns
  This function will return a 0 if there is no PEC error and will return -1 if there is a PEC error

Parameters

  total_ic | total_ic number of LTC6803 ICs in stack
  temp_codes | The Function will put the parsed measured Temp voltages into this array

Definition at line 195 of file LTC68031.cpp.

## ◆ LTC6803_stcvad()

void LTC6803_stcvad | ( |  | ) |

Function to start Cell Voltage measurement.

Returns
  void

Function to start Cell Voltage measurement.

Definition at line 174 of file LTC68031.cpp.

## ◆ LTC6803_sttmpad()

void LTC6803_sttmpad | ( |  | ) |

Function to start Temp channel voltage measurement.

Returns
  void

Function to start Temp channel voltage measurement.

Definition at line 184 of file LTC68031.cpp.

## ◆ LTC6803_wrcfg()

void LTC6803_wrcfg | ( | uint8_t | total_ic,
|  | uint8_t | config[][6]
| ) |  |

Function that writes configuration of LTC6803-1/-3.

Returns
  void

Parameters

  total_ic | total_ic number of LTC6803 ICs in stack
  config | The function will write the 6803 CFGR register with data in the config array

Definition at line 90 of file LTC68031.cpp.

## ◆ pec8_calc()

uint8_t pec8_calc | ( | uint8_t | len,
|  | uint8_t * | data
| ) |  |

Function that calculates PEC byte.

Returns
  The calculated CRC8

Parameters

  len | the length of the data array
  data | data array

Definition at line 305 of file LTC68031.cpp.

## ◆ spi_write_array()

void spi_write_array | ( | uint8_t | length,
|  | uint8_t * | data
| ) |  |

Writes an array of bytes out of the SPI port.

Returns
  void

Parameters

  length | length of the data array being written on the SPI port
  data | the data array to be written on the SPI port

## ◆ spi_write_read()

void spi_write_read | ( | uint8_t * | TxData,
|  | uint8_t | TXlen,
|  | uint8_t * | rx_data,
|  | uint8_t | RXlen
| ) |  |

Writes and read a set number of bytes using the SPI port.

Returns
  void

Parameters

  TxData | array of data to be written on the SPI port
  TXlen | length of the tx_data array
  rx_data | array that read data will be written too.
  RXlen | number of bytes to be read from the SPI port.

## Macro Definition Documentation

## ◆ LTC6803_CS

#define LTC6803_CS QUIKEVAL_CS

Definition at line 55 of file LTC68031.h.

## ◆ PEC_POLY

#define PEC_POLY 7

Definition at line 58 of file LTC68031.h.