foxBMS  1.2.1
The foxBMS Battery Management System API Documentation
ltc_defs.h
Go to the documentation of this file.
1 /**
2  *
3  * @copyright © 2010 - 2021, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.
4  * All rights reserved.
5  *
6  * SPDX-License-Identifier: BSD-3-Clause
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions are met:
10  *
11  * 1. Redistributions of source code must retain the above copyright notice, this
12  * list of conditions and the following disclaimer.
13  *
14  * 2. Redistributions in binary form must reproduce the above copyright notice,
15  * this list of conditions and the following disclaimer in the documentation
16  * and/or other materials provided with the distribution.
17  *
18  * 3. Neither the name of the copyright holder nor the names of its
19  * contributors may be used to endorse or promote products derived from
20  * this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32  *
33  * We kindly request you to use one or more of the following phrases to refer to
34  * foxBMS in your hardware, software, documentation or advertising materials:
35  *
36  * - ″This product uses parts of foxBMS®″
37  * - ″This product includes parts of foxBMS®″
38  * - ″This product is derived from foxBMS®″
39  *
40  */
41 
42 /**
43  * @file ltc_defs.h
44  * @author foxBMS Team
45  * @date 2015-09-01 (date of creation)
46  * @updated 2021-12-07 (date of last update)
47  * @ingroup DRIVERS
48  * @prefix LTC
49  *
50  * @brief Headers for the driver for the LTC monitoring chip.
51  *
52  */
53 
54 #ifndef FOXBMS__LTC_DEFS_H_
55 #define FOXBMS__LTC_DEFS_H_
56 
57 /*========== Includes =======================================================*/
58 #include "general.h"
59 
60 #include "diag_cfg.h"
61 #include "ltc_cfg.h"
62 
63 #include "database.h"
64 #include "spi.h"
65 
66 /*========== Macros and Definitions =========================================*/
67 
68 /** error table for the LTC driver */
69 typedef struct {
70  uint8_t PEC_valid[BS_NR_OF_STRINGS][LTC_N_LTC]; /*!< */
71  uint8_t mux0[BS_NR_OF_STRINGS][LTC_N_LTC]; /*!< */
72  uint8_t mux1[BS_NR_OF_STRINGS][LTC_N_LTC]; /*!< */
73  uint8_t mux2[BS_NR_OF_STRINGS][LTC_N_LTC]; /*!< */
74  uint8_t mux3[BS_NR_OF_STRINGS][LTC_N_LTC]; /*!< */
76 
77 /** struct for storing information on the openwire detection */
78 typedef struct {
79  int16_t openWirePup[BS_NR_OF_STRINGS][BS_NR_OF_BAT_CELLS];
80  int16_t openWirePdown[BS_NR_OF_STRINGS][BS_NR_OF_BAT_CELLS];
81  int32_t openWireDelta[BS_NR_OF_STRINGS][BS_NR_OF_BAT_CELLS];
83 
84 /*========== Extern Constant and Variable Declarations ======================*/
85 
86 /**
87  * Voltage measurement mode
88  * DCP0 means discharged not permitted during measurement
89  * DCP1 means discharged permitted during measurement
90  * Also DCP0 means balancing is interrupted when a cell is measured.
91  */
92 typedef enum {
93  LTC_ADCMODE_UNDEFINED, /*!< ADC measurement mode is not defined */
94  LTC_ADCMODE_FAST_DCP0, /*!< ADC measurement mode: Fast with DCP0 */
95  LTC_ADCMODE_NORMAL_DCP0, /*!< ADC measurement mode: Normal with DCP0 */
96  LTC_ADCMODE_FILTERED_DCP0, /*!< ADC measurement mode: Filtered with DCP0 */
97  LTC_ADCMODE_FAST_DCP1, /*!< ADC measurement mode: Fast with DCP1 */
98  LTC_ADCMODE_NORMAL_DCP1, /*!< ADC measurement mode: Normal with DCP1 */
99  LTC_ADCMODE_FILTERED_DCP1, /*!< ADC measurement mode: Filtered with DCP1 */
100 } LTC_ADCMODE_e;
101 
102 /** Number of measured channels */
103 typedef enum {
104  LTC_ADCMEAS_UNDEFINED, /*!< not defined */
105  LTC_ADCMEAS_ALLCHANNEL_CELLS, /*!< all cell voltages are measured */
106  LTC_ADCMEAS_SINGLECHANNEL_TWOCELLS, /*!< only two cell voltages are measured */
107  LTC_ADCMEAS_ALLCHANNEL_GPIOS, /*!< all GPIO voltages are measured */
108  LTC_ADCMEAS_SINGLECHANNEL_GPIO1, /*!< only a single ADC channel (GPIO1) is measured */
109  LTC_ADCMEAS_SINGLECHANNEL_GPIO2, /*!< only a single ADC channel (GPIO2) is measured */
110  LTC_ADCMEAS_SINGLECHANNEL_GPIO3, /*!< only a single ADC channel (GPIO3) is measured */
111  LTC_ADCMEAS_SINGLECHANNEL_GPIO4, /*!< only a single ADC channel (GPIO4) is measured */
112  LTC_ADCMEAS_SINGLECHANNEL_GPIO5, /*!< only a single ADC channel (GPIO5) is measured */
113  LTC_ADCMEAS_ALLCHANNEL_SC, /*!< all ADC channels + sum of cells are measured */
115 
116 /** States of the LTC state machine */
117 typedef enum {
118  /* Init-Sequence */
122  LTC_STATEMACH_INITIALIZED, /*!< LTC is initialized */
123  /* Voltage Measurement Cycle */
127  LTC_STATEMACH_MUXMEASUREMENT, /*!< Mux (Temperature and Balancing) Measurement */
134  LTC_STATEMACH_USER_IO_CONTROL, /*!< Control of the user port expander */
135  LTC_STATEMACH_USER_IO_FEEDBACK, /*!< Control of the user port expander */
136  LTC_STATEMACH_EEPROM_READ, /*!< Control of the external EEPROM */
137  LTC_STATEMACH_EEPROM_WRITE, /*!< Control of the external EEPROM */
138  LTC_STATEMACH_TEMP_SENS_READ, /*!< Control of the external temperature sensor */
145  LTC_STATEMACH_EEPROM_READ_UID, /*!< Control of the external EEPROM */
146  LTC_STATEMACH_USER_IO_CONTROL_TI, /*!< Control of the user port expander */
147  LTC_STATEMACH_USER_IO_FEEDBACK_TI, /*!< Control of the user port expander */
150  LTC_STATEMACH_UNDEFINED, /*!< undefined state */
151  LTC_STATEMACH_RESERVED1, /*!< reserved state */
152  LTC_STATEMACH_ERROR_SPIFAILED, /*!< Error-State: SPI error */
153  LTC_STATEMACH_ERROR_PECFAILED, /*!< Error-State: PEC error */
154  LTC_STATEMACH_ERROR_MUXFAILED, /*!< Error-State: multiplexer error */
155  LTC_STATEMACH_ERROR_INITIALIZATION, /*!< Error-State: initialization error */
157 
158 /** General substates */
159 typedef enum {
160  LTC_ENTRY, /*!< Substate entry state */
161  LTC_ERROR_ENTRY, /*!< Substate entry error */
162  LTC_ERROR_PROCESSED, /*!< Substate error processed */
164 
165 /** Substates for the uninitialized state */
166 typedef enum {
167  LTC_ENTRY_UNINITIALIZED, /*!< Initialize-sequence */
169 
170 /** Substates for the initialization state */
171 typedef enum {
172  /* Init-Sequence */
181 
182 /** Substates for the uninitialized state */
183 typedef enum {
186 
187 /** Substates for the read voltage state */
188 typedef enum {
189  /* Init-Sequence */
206 
207 /** Substates for the cell voltage + SC measurement state */
208 typedef enum {
213 
214 /** Substates for the balance control state */
215 typedef enum {
216  /* Init-Sequence */
226  LTC_STATEMACH_MUXMEASUREMENT_CONFIG, /*!< Configuration of the multiplexers */
230 
231 /** Substates for open-wire check */
232 typedef enum {
239 
240 /** Substates for diagnosis state */
241 typedef enum {
250 
251 /** Substates for ADC accuracy check */
252 typedef enum {
260 
261 /** Substates for digital filter check */
262 typedef enum {
279 
280 /** Substates for the user IO control state */
281 typedef enum {
289 
290 /** Substates for the user IO control state, TI port expander */
291 typedef enum {
304 
305 /** Substates for the EEPROM control state */
306 typedef enum {
320 
321 /** Substates for the temperature sensor control state */
322 typedef enum {
332 
333 /** Substates for the multiplexer measurement configuration state */
334 typedef enum {
335  /* Init-Sequence */
344 
345 /** Substates for the all-GPIO multiplexer measurement state */
346 typedef enum {
347  /* Init-Sequence */
354 
355 /** Substates for the single GPIO multiplexer measurement state */
356 typedef enum {
357  /* Init-Sequence */
361 
362 /** State requests for the LTC statemachine */
363 typedef enum {
392 
393 /**
394  * Possible return values when state requests are made to the LTC statemachine
395  */
396 typedef enum {
397  LTC_OK, /*!< LTC --> ok */
398  LTC_BUSY_OK, /*!< LTC under load --> ok */
399  LTC_REQUEST_PENDING, /*!< requested to be executed */
400  LTC_ILLEGAL_REQUEST, /*!< Request can not be executed */
401  LTC_SPI_ERROR, /*!< Error state: Source: SPI */
402  LTC_PEC_ERROR, /*!< Error state: Source: PEC */
403  LTC_MUX_ERROR, /*!< Error state: Source: MUX */
404  LTC_INIT_ERROR, /*!< Error state: Source: Initialization */
405  LTC_OK_FROM_ERROR, /*!< Return from error --> ok */
406  LTC_ERROR, /*!< General error state */
407  LTC_ALREADY_INITIALIZED, /*!< Initialization of LTC already finished */
408  LTC_ILLEGAL_TASK_TYPE, /*!< Illegal */
410 
411 /**
412  * Variable to define if the LTC should measure are restart the initialization sequence
413  */
414 typedef enum {
415  LTC_HAS_TO_MEASURE, /*!< measurement state of the LTC */
416  LTC_HAS_TO_REINIT, /*!< re-initialization state of the LTC */
417  LTC_HAS_TO_MEASURE_2CELLS, /*!< measurement state of the LTC */
419 
420 /** configuration of the mux channels */
421 typedef struct {
422  uint8_t muxID; /*!< multiplexer ID 0 - 3 */
423  uint8_t muxCh; /*!< multiplexer channel 0 - 7 */
425 
426 /** struct that holds the multiplexer sequence */
427 typedef struct {
428  uint8_t nr_of_steps; /*!< number of steps in the multiplexer sequence */
429  LTC_MUX_CH_CFG_s *seqptr; /*!< pointer to the multiplexer sequence */
431 
432 /** This struct contains pointer to used data buffers */
433 typedef struct {
435  uint16_t *txBuffer;
436  uint16_t *rxBuffer;
437  uint32_t frameLength;
445  uint16_t *usedCellIndex;
448 
450  uint16_t *GPIOVoltages; /* LTC2_NUMBER_OF_GPIOS * NR_OF_LTCs */
451  uint16_t *valid_GPIOPECs; /* NR_OF_LTCs */
452 
453 } LTC_DATAPTR_s;
454 
455 /** This struct contains error counter and pointer to used error buffers */
456 typedef struct {
457  uint32_t *errPECCnt; /* array length: Number of used LTCs */
458  uint32_t *errSPICnt; /* array length: Number of used LTCs */
459  uint8_t *ltcStatus; /* array length: Number of used LTCs */
460  uint8_t errPECRetryCnt;
461  uint8_t errSPIRetryCnt;
462  uint8_t errOccurred;
464 } LTC_ERROR_s;
465 
466 /**
467  * This struct contains the measurement configuration for the LTC
468  * Measurement is deactivated with value = LTC_STATE_NO_REQUEST
469  */
470 typedef struct {
471  LTC_STATE_REQUEST_e measVoltage; /* activated = LTC_STATE_VOLTAGEMEASUREMENT_REQUEST */
472  LTC_STATE_REQUEST_e measVoltage2Cells; /* activated = LTC_STATE_VOLTAGEMEASUREMENT_2CELLS_REQUEST */
473  LTC_STATE_REQUEST_e measVoltageSumofCells; /* activated = LTC_STATE_VOLTAGEMEASUREMENT_SC_REQUEST */
474  LTC_STATE_REQUEST_e measMux; /* activated = LTC_STATE_MUXMEASUREMENT_REQUEST */
475  LTC_STATE_REQUEST_e balancing; /* activated = LTC_STATE_BALANCECONTROL_REQUEST */
476  LTC_STATE_REQUEST_e balancing_feedback; /* activated = LTC_STATE_BALANCEFEEDBACK_REQUEST */
477  LTC_STATE_REQUEST_e measAllGPIO; /* activated = LTC_STATE_ALLGPIOMEASUREMENT_REQUEST */
478  LTC_STATE_REQUEST_e userIO; /* activated = LTC_STATE_USER_IO_REQUEST */
479  LTC_STATE_REQUEST_e readEEPROM; /* activated = LTC_STATE_EEPROM_READ_UID_REQUEST */
480  LTC_STATE_REQUEST_e measTemperature; /* activated = LTC_STATE_TEMP_SENS_READ_REQUEST */
481  LTC_STATE_REQUEST_e openWireCheck; /* activated = LTC_STATE_OPENWIRE_CHECK_REQUEST */
482  LTC_STATE_REQUEST_e deviceParameterCheck; /* activated = LTC_STATEMACH_DEVICE_PARAMETER_REQUEST */
483  LTC_STATE_REQUEST_e accuracyADCverification; /* activated = LTC_STATEMACH_ADC_ACCURACY_REQUEST */
484  LTC_STATE_REQUEST_e digitalFilterCheck; /* activated = LTC_STATEMACH_DIGITAL_FILTER_REQUEST */
485  uint8_t taskCycleCnt; /* holds the current state machine index */
486  uint8_t numberActiveOfStates; /* number of active states */
487  uint8_t activeStates[12]; /* array holds the different substates that are executed one after another */
488  /* maximum number of states : 12 */
489 } LTC_CONFIG_s;
490 
491 /**
492  *
493  */
494 typedef enum {
499 
500 /**
501  * TI port expander IO direction (input or output).
502  * Here the value in the enum is needed because it is written in
503  * a configuration register.
504  */
505 typedef enum {
506  LTC_PORT_EXPANDER_TI_OUTPUT = 0x0, /* specific value needed */
507  LTC_PORT_EXPANDER_TI_INPUT = 0xFF, /* specific value needed */
509 
510 /** This structure contains a state request and the addressed string. */
511 typedef struct {
513  uint8_t string; /*!< */
514 } LTC_REQUEST_s;
515 
516 /**
517  * This structure contains all the variables relevant for the LTC state machine.
518  * The user can get the current state of the LTC state machine with this variable
519  */
520 typedef struct {
521  uint16_t timer; /*!< time in ms before the state machine processes the next state, e.g. in counts of 1ms */
522  LTC_TASK_TYPE_e taskMode; /*!< current task of the state machine */
523  LTC_REQUEST_s statereq; /*!< current state request made to the state machine */
524  LTC_STATEMACH_e state; /*!< state of Driver State Machine */
525  uint8_t substate; /*!< current substate of the state machine */
526  LTC_STATEMACH_e laststate; /*!< previous state of the state machine */
527  uint8_t lastsubstate; /*!< previous substate of the state machine */
528  LTC_ADCMODE_e adcMode; /*!< current LTC ADCmeasurement mode (fast, normal or filtered) */
529  LTC_ADCMODE_e voltMeasMode; /*!< current LTC ADCmeasurement mode (fast, normal or filtered) */
530  LTC_ADCMODE_e gpioMeasMode; /*!< current LTC ADCmeasurement mode (fast, normal or filtered) */
531  LTC_ADCMODE_e adcModereq; /*!< requested LTC ADCmeasurement mode (fast, normal or filtered) */
533  adcMeasCh; /*!< current number of channels measured for GPIOS (one at a time for multiplexers or all five GPIOs) */
535  adcMeasChreq; /*!< requested number of channels measured for GPIOS (one at a time for multiplexers or all five GPIOs) */
536  uint8_t
537  numberOfMeasuredMux; /*!< number of multiplexer channels measured by the LTC chip before a voltage measurement is made */
538  uint32_t ErrPECCounter; /*!< counts the number of times there was A PEC (CRC) error during communication with LTC */
539  uint8_t
540  ErrRetryCounter; /*!< counts how many times the drivers retried to communicate with LTC in case of a communication error */
541  uint32_t ErrRequestCounter; /*!< counts the number of illegal requests to the LTC state machine */
542  uint8_t triggerentry; /*!< counter for re-entrance protection (function running flag) */
543  uint32_t
544  commandDataTransferTime; /*!< time needed for sending an instruction to the LTC, followed by data transfer from the LTC */
545  uint32_t commandTransferTime; /*!< time needed for sending an instruction to the LTC */
546  uint32_t
547  gpioClocksTransferTime; /*!< time needed for sending 72 clock signal to the LTC, used for I2C communication */
548  uint32_t VoltageSampleTime; /*!< time stamp at which the cell voltage were measured */
549  uint32_t muxSampleTime; /*!< time stamp at which a multiplexer input was measured */
550  uint8_t instanceID; /*!< number to distinguish between different ltc states, starting with 0,1,2,3....8 */
551  uint8_t nrBatcellsPerModule; /*!< number of cells per module */
552  uint8_t busSize; /*!< number of connected LTCs to parallel bus network */
553  LTC_ERROR_s errStatus; /*!< contains pointer to local error buffer and error indicators */
554  uint8_t *ltcIDs; /*!< array with LTC IDs */
555  uint8_t cntDeviceRD; /*!< current Index of array ltcIDs to determine device ID */
556  uint32_t ctrlCallCnt; /*!< counts the LTC2_CTRL calls */
557  uint8_t taskCycleCnt; /*!< counts the current task cycle */
559  reusageMeasurementMode; /*!< flag that indicates if currently any state is reused i.e. cell voltage measurement */
560  LTC_CONFIG_s ltcConfig; /*!< struct that holds the measurement configuration of the ltc network */
561  bool first_measurement_made; /*!< flag that indicates if the first measurement cycle was completed */
563  ltc_muxcycle_finished; /*!< flag that indicates if the measurement sequence of the multiplexers is finished */
564  STD_RETURN_TYPE_e check_spi_flag; /*!< indicates if interrupt flag or timer must be considered */
565  STD_RETURN_TYPE_e balance_control_done; /*!< indicates if balance control was done */
566  uint8_t resendCommandCounter; /*!< counter if commandy should be send multiple times e.g. ADOW command */
567  bool transmit_ongoing; /*!< SPI transmissioncurrently ongoing */
568  STD_RETURN_TYPE_e dummyByte_ongoing; /*!< SPI dummy byte is currently transmitted */
569  SPI_INTERFACE_CONFIG_s *spiSeqPtr; /*!< pointer to the SPI sequence to be measured */
570  SPI_INTERFACE_CONFIG_s *spiSeqEndPtr; /*!< pointer to the end of the SPI sequence */
571  uint8_t spiNumberInterfaces; /*!< number of SPI channels that have to be measured */
572  uint8_t currentString; /*!< string currently being addressed */
573  uint8_t requestedString; /*!< string addressed by the current state request */
574  DIAG_ID_e spiDiagErrorEntry; /*!< diagnosis entry for SPI related events */
575  DIAG_ID_e pecDiagErrorEntry; /*!< diagnosis entry for PEC related events */
576  DIAG_ID_e muxDiagErrorEntry; /*!< diagnosis entry for multiplexer related events */
577  DIAG_ID_e voltMeasDiagErrorEntry; /*!< diagnosis entry for voltage measurement related events */
578  DIAG_ID_e tempMeasDiagErrorEntry; /*!< diagnosis entry for temperature measurement related events */
579  LTC_DATAPTR_s ltcData; /*!< contains pointers to the local data buffer */
580  LTC_MUX_CH_CFG_s *muxmeas_seqptr
581  [BS_NR_OF_STRINGS]; /*!< pointer to the multiplexer sequence to be measured (contains a list of elements [multiplexer id, multiplexer channels]) (1,-1)...(3,-1),(0,1),...(0,7) */
582  LTC_MUX_CH_CFG_s *muxmeas_seqendptr
583  [BS_NR_OF_STRINGS]; /*!< point to the end of the multiplexer sequence; pointer to ending point of sequence */
584  uint8_t muxmeas_nr_end
585  [BS_NR_OF_STRINGS]; /*!< number of multiplexer channels that have to be measured; end number of sequence, where measurement is finished*/
586  uint8_t configuration[6]; /*!< holds the configuration of the ltc (configuration register) */
587 
588 } LTC_STATE_s;
589 
590 /*========== Extern Function Prototypes =====================================*/
591 
592 /*========== Externalized Static Functions Prototypes (Unit Test) ===========*/
593 
594 #endif /* FOXBMS__LTC_DEFS_H_ */
#define BS_NR_OF_STRINGS
#define BS_NR_OF_BAT_CELLS
Database module header.
Diagnostic module configuration header.
enum DIAG_ID DIAG_ID_e
enum STD_RETURN_TYPE STD_RETURN_TYPE_e
General macros and definitions for the whole platform.
Headers for the configuration for the LTC monitoring chip.
#define LTC_N_LTC
Definition: ltc_cfg.h:66
LTC_STATEMACH_INITIALIZATION_SUB_e
Definition: ltc_defs.h:171
@ LTC_RE_ENTRY_INITIALIZATION
Definition: ltc_defs.h:176
@ LTC_ENTRY_INITIALIZATION
Definition: ltc_defs.h:174
@ LTC_READ_INITIALIZATION_REGISTER
Definition: ltc_defs.h:177
@ LTC_START_INIT_INITIALIZATION
Definition: ltc_defs.h:175
@ LTC_EXIT_INITIALIZATION
Definition: ltc_defs.h:179
@ LTC_CHECK_INITIALIZATION
Definition: ltc_defs.h:178
@ LTC_INIT_STRING
Definition: ltc_defs.h:173
LTC_STATEMACH_USER_IO_CONTROL_e
Definition: ltc_defs.h:281
@ LTC_USER_IO_READ_I2C_TRANSMISSION_RESULT_RDCOMM
Definition: ltc_defs.h:285
@ LTC_USER_IO_SAVE_DATA
Definition: ltc_defs.h:286
@ LTC_USER_IO_SEND_CLOCK_STCOMM
Definition: ltc_defs.h:284
@ LTC_USER_IO_FINISHED
Definition: ltc_defs.h:287
@ LTC_USER_IO_READ_INPUT_REGISTER
Definition: ltc_defs.h:283
@ LTC_USER_IO_SET_OUTPUT_REGISTER
Definition: ltc_defs.h:282
LTC_STATE_REQUEST_e
Definition: ltc_defs.h:363
@ LTC_STATEMACH_DEVICE_PARAMETER_REQUEST
Definition: ltc_defs.h:387
@ LTC_STATEMACH_ADC_ACCURACY_REQUEST
Definition: ltc_defs.h:388
@ LTC_STATE_EEPROM_READ_REQUEST
Definition: ltc_defs.h:370
@ LTC_STATEMACH_DIGITAL_FILTER_REQUEST
Definition: ltc_defs.h:389
@ LTC_STATE_READVOLTAGE_REQUEST
Definition: ltc_defs.h:380
@ LTC_STATE_USER_IO_READ_REQUEST_TI
Definition: ltc_defs.h:369
@ LTC_STATE_INIT_REQUEST
Definition: ltc_defs.h:364
@ LTC_STATE_ALLGPIOMEASUREMENT_REQUEST
Definition: ltc_defs.h:385
@ LTC_STATE_USER_IO_READ_REQUEST
Definition: ltc_defs.h:366
@ LTC_STATE_IDLE_REQUEST
Definition: ltc_defs.h:376
@ LTC_STATE_EEPROM_WRITE_REQUEST
Definition: ltc_defs.h:371
@ LTC_STATE_EEPROM_READ_UID_REQUEST
Definition: ltc_defs.h:372
@ LTC_STATE_USER_IO_WRITE_REQUEST
Definition: ltc_defs.h:365
@ LTC_STATE_USER_IO_WRITE_REQUEST_TI
Definition: ltc_defs.h:368
@ LTC_STATE_REINIT_REQUEST
Definition: ltc_defs.h:375
@ LTC_STATE_MUXMEASUREMENT_REQUEST
Definition: ltc_defs.h:382
@ LTC_STATE_USER_IO_REQUEST
Definition: ltc_defs.h:367
@ LTC_STATE_OPENWIRE_CHECK_REQUEST
Definition: ltc_defs.h:386
@ LTC_STATE_VOLTAGEMEASUREMENT_SC_REQUEST
Definition: ltc_defs.h:379
@ LTC_STATE_BALANCECONTROL_REQUEST
Definition: ltc_defs.h:383
@ LTC_STATE_VOLTAGEMEASUREMENT_REQUEST
Definition: ltc_defs.h:377
@ LTC_STATE_VOLTAGEMEASUREMENT_2CELLS_REQUEST
Definition: ltc_defs.h:378
@ LTC_STATE_BALANCEFEEDBACK_REQUEST
Definition: ltc_defs.h:374
@ LTC_STATE_READVOLTAGE_2CELLS_REQUEST
Definition: ltc_defs.h:381
@ LTC_STATE_TEMP_SENS_READ_REQUEST
Definition: ltc_defs.h:373
@ LTC_STATEMACH_BALANCEFEEDBACK_REQUEST
Definition: ltc_defs.h:384
@ LTC_STATE_NO_REQUEST
Definition: ltc_defs.h:390
LTC_STATEMACH_DIAGNOSIS_SUB_e
Definition: ltc_defs.h:241
@ LTC_REDUNDANCY_READ_STATUS_REGISTER_B
Definition: ltc_defs.h:247
@ LTC_DEVICE_PARAMETER_READ_STATUS_REGISTER_A
Definition: ltc_defs.h:243
@ LTC_EXIT_DEVICE_PARAMETER
Definition: ltc_defs.h:248
@ LTC_REQUEST_REDUNDANCY_CHECK
Definition: ltc_defs.h:245
@ LTC_DEVICE_PARAMETER_READ_STATUS_REGISTER_B
Definition: ltc_defs.h:244
@ LTC_REDUNDANCY_READ_STATUS_REGISTER_A
Definition: ltc_defs.h:246
@ LTC_REQUEST_DEVICE_PARAMETER
Definition: ltc_defs.h:242
LTC_STATEMACH_OPENWIRECHECK_SUB
Definition: ltc_defs.h:232
@ LTC_REQUEST_PULLDOWN_CURRENT_OPENWIRE_CHECK
Definition: ltc_defs.h:235
@ LTC_READ_VOLTAGES_PULLDOWN_OPENWIRE_CHECK
Definition: ltc_defs.h:236
@ LTC_READ_VOLTAGES_PULLUP_OPENWIRE_CHECK
Definition: ltc_defs.h:234
@ LTC_REQUEST_PULLUP_CURRENT_OPENWIRE_CHECK
Definition: ltc_defs.h:233
@ LTC_PERFORM_OPENWIRE_CHECK
Definition: ltc_defs.h:237
LTC_STATEMACH_READALLGPIO_SUB_e
Definition: ltc_defs.h:346
@ LTC_READ_AUXILIARY_REGISTER_C_RAUXC_READALLGPIO
Definition: ltc_defs.h:350
@ LTC_READ_AUXILIARY_REGISTER_A_RAUXA_READALLGPIO
Definition: ltc_defs.h:348
@ LTC_READ_AUXILIARY_REGISTER_D_RAUXD_READALLGPIO
Definition: ltc_defs.h:351
@ LTC_READ_AUXILIARY_REGISTER_B_RAUXB_READALLGPIO
Definition: ltc_defs.h:349
@ LTC_EXIT_READALLGPIO
Definition: ltc_defs.h:352
LTC_STATEMACH_UNINITIALIZED_SUB_e
Definition: ltc_defs.h:166
@ LTC_ENTRY_UNINITIALIZED
Definition: ltc_defs.h:167
LTC_STATEMACH_e
Definition: ltc_defs.h:117
@ LTC_STATEMACH_INITIALIZATION
Definition: ltc_defs.h:120
@ LTC_STATEMACH_USER_IO_FEEDBACK
Definition: ltc_defs.h:135
@ LTC_STATEMACH_UNINITIALIZED
Definition: ltc_defs.h:119
@ LTC_STATEMACH_MUXMEASUREMENT
Definition: ltc_defs.h:127
@ LTC_STATEMACH_IDLE
Definition: ltc_defs.h:124
@ LTC_STATEMACH_ERROR_INITIALIZATION
Definition: ltc_defs.h:155
@ LTC_STATEMACH_ERROR_MUXFAILED
Definition: ltc_defs.h:154
@ LTC_STATEMACH_TEMP_SENS_READ
Definition: ltc_defs.h:138
@ LTC_STATEMACH_BALANCECONTROL
Definition: ltc_defs.h:129
@ LTC_STATEMACH_ERROR_PECFAILED
Definition: ltc_defs.h:153
@ LTC_STATEMACH_EEPROM_WRITE
Definition: ltc_defs.h:137
@ LTC_STATEMACH_EEPROM_READ
Definition: ltc_defs.h:136
@ LTC_STATEMACH_READVOLTAGE_2CELLS
Definition: ltc_defs.h:132
@ LTC_STATEMACH_USER_IO_FEEDBACK_TI
Definition: ltc_defs.h:147
@ LTC_STATEMACH_STARTMEAS_CONTINUE
Definition: ltc_defs.h:148
@ LTC_STATEMACH_MUXMEASUREMENT_FINISHED
Definition: ltc_defs.h:128
@ LTC_STATEMACH_READALLGPIO
Definition: ltc_defs.h:131
@ LTC_STATEMACH_OPENWIRE_CHECK
Definition: ltc_defs.h:140
@ LTC_STATEMACH_USER_IO_CONTROL_TI
Definition: ltc_defs.h:146
@ LTC_STATEMACH_UNDEFINED
Definition: ltc_defs.h:150
@ LTC_STATEMACH_USER_IO_CONTROL
Definition: ltc_defs.h:134
@ LTC_STATEMACH_EEPROM_READ_UID
Definition: ltc_defs.h:145
@ LTC_STATEMACH_READVOLTAGE
Definition: ltc_defs.h:126
@ LTC_STATEMACH_BALANCEFEEDBACK
Definition: ltc_defs.h:139
@ LTC_STATEMACH_INITIALIZED
Definition: ltc_defs.h:122
@ LTC_STATEMACH_STARTMEAS_2CELLS
Definition: ltc_defs.h:133
@ LTC_STATEMACH_DEVICE_PARAMETER
Definition: ltc_defs.h:141
@ LTC_STATEMACH_REINIT
Definition: ltc_defs.h:121
@ LTC_STATEMACH_RESERVED1
Definition: ltc_defs.h:151
@ LTC_STATEMACH_DIGITAL_FILTER
Definition: ltc_defs.h:143
@ LTC_STATEMACH_STARTMEAS
Definition: ltc_defs.h:125
@ LTC_STATEMACH_MEASCYCLE_FINISHED
Definition: ltc_defs.h:149
@ LTC_STATEMACH_ALLGPIOMEASUREMENT
Definition: ltc_defs.h:130
@ LTC_STATEMACH_ADC_ACCURACY
Definition: ltc_defs.h:142
@ LTC_STATEMACH_ERROR_SPIFAILED
Definition: ltc_defs.h:152
@ LTC_STATEMACH_VOLTMEAS_SUMOFCELLS
Definition: ltc_defs.h:144
LTC_STATEMACH_EEPROM_READ_UID_e
Definition: ltc_defs.h:306
@ LTC_EEPROM_SEND_CLOCK_STCOMM4
Definition: ltc_defs.h:315
@ LTC_EEPROM_SEND_CLOCK_STCOMM2
Definition: ltc_defs.h:313
@ LTC_EEPROM_WRITE_DATA1
Definition: ltc_defs.h:310
@ LTC_EEPROM_READ_I2C_TRANSMISSION_RESULT_RDCOMM
Definition: ltc_defs.h:316
@ LTC_EEPROM_READ_DATA1
Definition: ltc_defs.h:308
@ LTC_EEPROM_SEND_CLOCK_STCOMM3
Definition: ltc_defs.h:314
@ LTC_EEPROM_WRITE_DATA2
Definition: ltc_defs.h:311
@ LTC_EEPROM_SET_READ_ADDRESS
Definition: ltc_defs.h:307
@ LTC_EEPROM_READ_DATA2
Definition: ltc_defs.h:309
@ LTC_EEPROM_SEND_CLOCK_STCOMM1
Definition: ltc_defs.h:312
@ LTC_EEPROM_SAVE_READ
Definition: ltc_defs.h:317
@ LTC_EEPROM_FINISHED
Definition: ltc_defs.h:318
LTC_ADCMEAS_CHAN_e
Definition: ltc_defs.h:103
@ LTC_ADCMEAS_SINGLECHANNEL_GPIO5
Definition: ltc_defs.h:112
@ LTC_ADCMEAS_SINGLECHANNEL_GPIO2
Definition: ltc_defs.h:109
@ LTC_ADCMEAS_UNDEFINED
Definition: ltc_defs.h:104
@ LTC_ADCMEAS_SINGLECHANNEL_GPIO4
Definition: ltc_defs.h:111
@ LTC_ADCMEAS_SINGLECHANNEL_GPIO1
Definition: ltc_defs.h:108
@ LTC_ADCMEAS_SINGLECHANNEL_GPIO3
Definition: ltc_defs.h:110
@ LTC_ADCMEAS_ALLCHANNEL_SC
Definition: ltc_defs.h:113
@ LTC_ADCMEAS_SINGLECHANNEL_TWOCELLS
Definition: ltc_defs.h:106
@ LTC_ADCMEAS_ALLCHANNEL_GPIOS
Definition: ltc_defs.h:107
@ LTC_ADCMEAS_ALLCHANNEL_CELLS
Definition: ltc_defs.h:105
LTC_STATEMACH_USER_IO_CONTROL_TI_e
Definition: ltc_defs.h:291
@ LTC_USER_IO_FINISHED_TI
Definition: ltc_defs.h:302
@ LTC_USER_IO_SET_OUTPUT_REGISTER_TI
Definition: ltc_defs.h:293
@ LTC_USER_IO_READ_I2C_TRANSMISSION_RESULT_RDCOMM_TI
Definition: ltc_defs.h:297
@ LTC_USER_IO_SET_DIRECTION_REGISTER_TI
Definition: ltc_defs.h:292
@ LTC_USER_IO_READ_INPUT_REGISTER_TI_FIRST
Definition: ltc_defs.h:294
@ LTC_USER_IO_READ_I2C_TRANSMISSION_RESULT_RDCOMM_TI_SECOND
Definition: ltc_defs.h:298
@ LTC_USER_IO_READ_I2C_TRANSMISSION_RESULT_RDCOMM_TI_THIRD
Definition: ltc_defs.h:299
@ LTC_USER_IO_SAVE_DATA_TI
Definition: ltc_defs.h:301
@ LTC_USER_IO_READ_INPUT_REGISTER_TI_SECOND
Definition: ltc_defs.h:295
@ LTC_USER_IO_READ_I2C_TRANSMISSION_RESULT_RDCOMM_TI_FOURTH
Definition: ltc_defs.h:300
@ LTC_USER_IO_SEND_CLOCK_STCOMM_TI
Definition: ltc_defs.h:296
LTC_TASK_TYPE_e
Definition: ltc_defs.h:414
@ LTC_HAS_TO_MEASURE
Definition: ltc_defs.h:415
@ LTC_HAS_TO_MEASURE_2CELLS
Definition: ltc_defs.h:417
@ LTC_HAS_TO_REINIT
Definition: ltc_defs.h:416
LTC_PORT_EXPANDER_TI_DIRECTION_e
Definition: ltc_defs.h:505
@ LTC_PORT_EXPANDER_TI_OUTPUT
Definition: ltc_defs.h:506
@ LTC_PORT_EXPANDER_TI_INPUT
Definition: ltc_defs.h:507
LTC_RETURN_TYPE_e
Definition: ltc_defs.h:396
@ LTC_BUSY_OK
Definition: ltc_defs.h:398
@ LTC_ILLEGAL_TASK_TYPE
Definition: ltc_defs.h:408
@ LTC_ILLEGAL_REQUEST
Definition: ltc_defs.h:400
@ LTC_PEC_ERROR
Definition: ltc_defs.h:402
@ LTC_SPI_ERROR
Definition: ltc_defs.h:401
@ LTC_ALREADY_INITIALIZED
Definition: ltc_defs.h:407
@ LTC_ERROR
Definition: ltc_defs.h:406
@ LTC_OK_FROM_ERROR
Definition: ltc_defs.h:405
@ LTC_REQUEST_PENDING
Definition: ltc_defs.h:399
@ LTC_OK
Definition: ltc_defs.h:397
@ LTC_MUX_ERROR
Definition: ltc_defs.h:403
@ LTC_INIT_ERROR
Definition: ltc_defs.h:404
LTC_STATEMACH_TEMP_SENS_READ_e
Definition: ltc_defs.h:322
@ LTC_TEMP_SENS_READ_I2C_TRANSMISSION_RESULT_RDCOMM
Definition: ltc_defs.h:328
@ LTC_TEMP_SENS_SEND_CLOCK_STCOMM1
Definition: ltc_defs.h:326
@ LTC_TEMP_SENS_SEND_CLOCK_STCOMM2
Definition: ltc_defs.h:327
@ LTC_TEMP_SENS_FINISHED
Definition: ltc_defs.h:330
@ LTC_TEMP_SENS_READ_DATA3
Definition: ltc_defs.h:325
@ LTC_TEMP_SENS_SAVE_TEMP
Definition: ltc_defs.h:329
@ LTC_TEMP_SENS_SEND_DATA1
Definition: ltc_defs.h:323
@ LTC_TEMP_SENS_READ_DATA1
Definition: ltc_defs.h:324
LTC_STATEMACH_BALANCECONTROL_SUB
Definition: ltc_defs.h:215
@ LTC_STATEMACH_READMUXMEASUREMENT
Definition: ltc_defs.h:227
@ LTC_EXIT_BALANCECONTROL
Definition: ltc_defs.h:223
@ LTC_STATEMACH_STARTMUXMEASUREMENT
Definition: ltc_defs.h:224
@ LTC_CONFIG_BALANCECONTROL
Definition: ltc_defs.h:217
@ LTC_REQUEST_FEEDBACK_BALANCECONTROL
Definition: ltc_defs.h:220
@ LTC_SAVE_FEEDBACK_BALANCECONTROL
Definition: ltc_defs.h:222
@ LTC_STATEMACH_MUXCONFIGURATION_INIT
Definition: ltc_defs.h:225
@ LTC_CONFIG2_BALANCECONTROL_END
Definition: ltc_defs.h:219
@ LTC_READ_FEEDBACK_BALANCECONTROL
Definition: ltc_defs.h:221
@ LTC_CONFIG2_BALANCECONTROL
Definition: ltc_defs.h:218
@ LTC_STATEMACH_STOREMUXMEASUREMENT
Definition: ltc_defs.h:228
@ LTC_STATEMACH_MUXMEASUREMENT_CONFIG
Definition: ltc_defs.h:226
LTC_STATEMACH_MUXMEASUREMENT_CONFIG_SUB_e
Definition: ltc_defs.h:334
@ LTC_READ_I2C_TRANSMISSION_RESULT_RDCOMM_MUXMEASUREMENT_CONFIG
Definition: ltc_defs.h:340
@ LTC_SEND_CLOCK_STCOMM_DIRECTION_CONFIG
Definition: ltc_defs.h:338
@ LTC_SET_MUX_CHANNEL_WRCOMM_MUXMEASUREMENT_CONFIG
Definition: ltc_defs.h:336
@ LTC_READ_I2C_TRANSMISSION_CHECK_MUXMEASUREMENT_CONFIG
Definition: ltc_defs.h:341
@ LTC_START_GPIO_MEASUREMENT_MUXMEASUREMENT_CONFIG
Definition: ltc_defs.h:342
@ LTC_SEND_CLOCK_STCOMM_MUXMEASUREMENT_CONFIG
Definition: ltc_defs.h:337
@ LTC_SEND_CLOCK_STCOMM_WRITE_IO
Definition: ltc_defs.h:339
LTC_STATEMACH_READVOLTAGE_SUB_e
Definition: ltc_defs.h:188
@ LTC_READ_AUXILIARY_REGISTER_D_RDAUXD
Definition: ltc_defs.h:203
@ LTC_READ_VOLTAGE_REGISTER_F_RDCVF_READVOLTAGE
Definition: ltc_defs.h:195
@ LTC_READ_AUXILIARY_REGISTER_A_RDAUXA
Definition: ltc_defs.h:200
@ LTC_READ_VOLTAGE_REGISTER_A_RDCVA_READVOLTAGE
Definition: ltc_defs.h:190
@ LTC_READ_VOLTAGE_REGISTER_D_RDCVD_READVOLTAGE
Definition: ltc_defs.h:193
@ LTC_READ_VOLTAGE_REGISTER_G_RDCVG_READVOLTAGE
Definition: ltc_defs.h:196
@ LTC_READ_VOLTAGE_REGISTER_I_RDCVI_READVOLTAGE
Definition: ltc_defs.h:198
@ LTC_READ_AUXILIARY_REGISTER_C_RDAUXC
Definition: ltc_defs.h:202
@ LTC_EXIT_READAUXILIARY_ALLGPIOS
Definition: ltc_defs.h:204
@ LTC_READ_AUXILIARY_REGISTER_B_RDAUXB
Definition: ltc_defs.h:201
@ LTC_READ_VOLTAGE_REGISTER_B_RDCVB_READVOLTAGE
Definition: ltc_defs.h:191
@ LTC_EXIT_READVOLTAGE
Definition: ltc_defs.h:199
@ LTC_READ_VOLTAGE_REGISTER_H_RDCVH_READVOLTAGE
Definition: ltc_defs.h:197
@ LTC_READ_VOLTAGE_REGISTER_E_RDCVE_READVOLTAGE
Definition: ltc_defs.h:194
@ LTC_READ_VOLTAGE_REGISTER_C_RDCVC_READVOLTAGE
Definition: ltc_defs.h:192
LTC_STATEMACH_ADC_ACCURACY_CHECK_SUB_e
Definition: ltc_defs.h:252
@ LTC_READ_ADC2_VERIFICATION_VALUE
Definition: ltc_defs.h:257
@ LTC_SAVE_ADC1_VERIFICATION_VALUE
Definition: ltc_defs.h:255
@ LTC_EXIT_ADC_ACCURACY_CHECK
Definition: ltc_defs.h:258
@ LTC_REQUEST_ADC2_VERIFICATION
Definition: ltc_defs.h:256
@ LTC_READ_ADC1_VERIFICATION_VALUE
Definition: ltc_defs.h:254
@ LTC_REQUEST_ADC1_VERIFICATION
Definition: ltc_defs.h:253
LTC_STATEMACH_READVOLTAGE_SC_SUB_e
Definition: ltc_defs.h:208
@ LTC_EXIT_VOLTMEAS_SC
Definition: ltc_defs.h:211
@ LTC_VOLTMEAS_SC_TRIGGER_CONVERSION
Definition: ltc_defs.h:209
@ LTC_VOLTMEAS_SC_READ_SC
Definition: ltc_defs.h:210
LTC_STATEMACH_DIGITAL_FILTER_SUB_e
Definition: ltc_defs.h:262
@ LTC_EXIT_DIGITAL_FILTER_CHECK
Definition: ltc_defs.h:277
@ LTC_DIGITAL_FILTER_READ_STATUS_REGISTER_A_2
Definition: ltc_defs.h:274
@ LTC_DIGITAL_FILTER_SELF_TEST_1_STATUS
Definition: ltc_defs.h:271
@ LTC_DIGITAL_FILTER_READ_STATUS_REGISTER_B_2
Definition: ltc_defs.h:275
@ LTC_DIGITAL_FILTER_READ_STATUS_REGISTER_B
Definition: ltc_defs.h:270
@ LTC_REQUEST_CLEAR_STATUS_REGISTER
Definition: ltc_defs.h:265
@ LTC_DIGITAL_FILTER_SELF_TEST_1_CELLVOLTAGES
Definition: ltc_defs.h:267
@ LTC_DIGITAL_FILTER_SELF_TEST_2_CELLVOLTAGES
Definition: ltc_defs.h:272
@ LTC_REQUEST_CLEAR_CELLVOLTAGES
Definition: ltc_defs.h:263
@ LTC_DIGITAL_FILTER_SELF_TEST_1_AUX
Definition: ltc_defs.h:268
@ LTC_DIGITAL_FILTER_SELF_TEST_2_STATUS
Definition: ltc_defs.h:276
@ LTC_DIGITAL_FILTER_READ_STATUS_REGISTER_A
Definition: ltc_defs.h:269
@ LTC_DIGITAL_FILTER_SELF_TEST_2_AUX
Definition: ltc_defs.h:273
@ LTC_REQUEST_CLEAR_AUX_REGISTER
Definition: ltc_defs.h:264
@ LTC_REQUEST_DIGITAL_FILTER_CHECK_CELLVOLTAGES
Definition: ltc_defs.h:266
LTC_REUSE_MODE_e
Definition: ltc_defs.h:494
@ LTC_REUSE_READVOLT_FOR_ADOW_PUP
Definition: ltc_defs.h:496
@ LTC_REUSE_READVOLT_FOR_ADOW_PDOWN
Definition: ltc_defs.h:497
@ LTC_NOT_REUSED
Definition: ltc_defs.h:495
LTC_STATEMACH_INITIALIZED_SUB_e
Definition: ltc_defs.h:183
@ LTC_ENTRY_INITIALIZED
Definition: ltc_defs.h:184
LTC_ADCMODE_e
Definition: ltc_defs.h:92
@ LTC_ADCMODE_UNDEFINED
Definition: ltc_defs.h:93
@ LTC_ADCMODE_FILTERED_DCP1
Definition: ltc_defs.h:99
@ LTC_ADCMODE_FAST_DCP1
Definition: ltc_defs.h:97
@ LTC_ADCMODE_NORMAL_DCP0
Definition: ltc_defs.h:95
@ LTC_ADCMODE_FILTERED_DCP0
Definition: ltc_defs.h:96
@ LTC_ADCMODE_NORMAL_DCP1
Definition: ltc_defs.h:98
@ LTC_ADCMODE_FAST_DCP0
Definition: ltc_defs.h:94
LTC_STATEMACH_SUB_e
Definition: ltc_defs.h:159
@ LTC_ERROR_ENTRY
Definition: ltc_defs.h:161
@ LTC_ERROR_PROCESSED
Definition: ltc_defs.h:162
@ LTC_ENTRY
Definition: ltc_defs.h:160
LTC_STATEMACH_MUXMEASUREMENT_SUB_e
Definition: ltc_defs.h:356
@ LTC_READ_AUXILIARY_REGISTER_A_RAUXA_MUXMEASUREMENT
Definition: ltc_defs.h:358
@ LTC_SAVE_MUX_MEASUREMENT_MUXMEASUREMENT
Definition: ltc_defs.h:359
Headers for the driver for the SPI module.
LTC_STATE_REQUEST_e balancing
Definition: ltc_defs.h:475
LTC_STATE_REQUEST_e digitalFilterCheck
Definition: ltc_defs.h:484
uint8_t numberActiveOfStates
Definition: ltc_defs.h:486
LTC_STATE_REQUEST_e measAllGPIO
Definition: ltc_defs.h:477
LTC_STATE_REQUEST_e measVoltage2Cells
Definition: ltc_defs.h:472
LTC_STATE_REQUEST_e measVoltageSumofCells
Definition: ltc_defs.h:473
LTC_STATE_REQUEST_e measTemperature
Definition: ltc_defs.h:480
LTC_STATE_REQUEST_e measVoltage
Definition: ltc_defs.h:471
uint8_t taskCycleCnt
Definition: ltc_defs.h:485
LTC_STATE_REQUEST_e deviceParameterCheck
Definition: ltc_defs.h:482
LTC_STATE_REQUEST_e readEEPROM
Definition: ltc_defs.h:479
LTC_STATE_REQUEST_e openWireCheck
Definition: ltc_defs.h:481
LTC_STATE_REQUEST_e accuracyADCverification
Definition: ltc_defs.h:483
LTC_STATE_REQUEST_e userIO
Definition: ltc_defs.h:478
LTC_STATE_REQUEST_e balancing_feedback
Definition: ltc_defs.h:476
LTC_STATE_REQUEST_e measMux
Definition: ltc_defs.h:474
LTC_OPENWIRE_DETECTION_s * openWireDetection
Definition: ltc_defs.h:446
DATA_BLOCK_ALL_GPIO_VOLTAGES_s * allGpioVoltages
Definition: ltc_defs.h:443
DATA_BLOCK_CELL_VOLTAGE_s * cellVoltage
Definition: ltc_defs.h:438
DATA_BLOCK_CELL_TEMPERATURE_s * cellTemperature
Definition: ltc_defs.h:439
uint16_t * txBuffer
Definition: ltc_defs.h:435
LTC_ERRORTABLE_s * errorTable
Definition: ltc_defs.h:447
DATA_BLOCK_USER_MUX_s * user_mux
Definition: ltc_defs.h:449
uint16_t * GPIOVoltages
Definition: ltc_defs.h:450
DATA_BLOCK_BALANCING_FEEDBACK_s * balancingFeedback
Definition: ltc_defs.h:440
SPI_INTERFACE_CONFIG_s * pSpiInterface
Definition: ltc_defs.h:434
uint16_t * rxBuffer
Definition: ltc_defs.h:436
uint16_t * usedCellIndex
Definition: ltc_defs.h:445
uint32_t frameLength
Definition: ltc_defs.h:437
DATA_BLOCK_SLAVE_CONTROL_s * slaveControl
Definition: ltc_defs.h:442
DATA_BLOCK_OPEN_WIRE_s * openWire
Definition: ltc_defs.h:444
DATA_BLOCK_BALANCING_CONTROL_s * balancingControl
Definition: ltc_defs.h:441
uint16_t * valid_GPIOPECs
Definition: ltc_defs.h:451
uint8_t errPECRetryCnt
Definition: ltc_defs.h:460
uint8_t errOccurred
Definition: ltc_defs.h:462
uint32_t * errPECCnt
Definition: ltc_defs.h:457
uint32_t * errSPICnt
Definition: ltc_defs.h:458
uint8_t errSPIRetryCnt
Definition: ltc_defs.h:461
uint32_t nrOfConsecutiveErrors
Definition: ltc_defs.h:463
uint8_t * ltcStatus
Definition: ltc_defs.h:459
uint8_t muxCh
Definition: ltc_defs.h:423
uint8_t muxID
Definition: ltc_defs.h:422
uint8_t nr_of_steps
Definition: ltc_defs.h:428
LTC_MUX_CH_CFG_s * seqptr
Definition: ltc_defs.h:429
LTC_STATE_REQUEST_e request
Definition: ltc_defs.h:512
uint8_t string
Definition: ltc_defs.h:513
uint32_t commandDataTransferTime
Definition: ltc_defs.h:544
LTC_DATAPTR_s ltcData
Definition: ltc_defs.h:579
DIAG_ID_e voltMeasDiagErrorEntry
Definition: ltc_defs.h:577
LTC_ADCMODE_e adcModereq
Definition: ltc_defs.h:531
LTC_REQUEST_s statereq
Definition: ltc_defs.h:523
uint8_t * ltcIDs
Definition: ltc_defs.h:554
DIAG_ID_e pecDiagErrorEntry
Definition: ltc_defs.h:575
uint8_t ErrRetryCounter
Definition: ltc_defs.h:540
uint8_t triggerentry
Definition: ltc_defs.h:542
DIAG_ID_e muxDiagErrorEntry
Definition: ltc_defs.h:576
uint8_t cntDeviceRD
Definition: ltc_defs.h:555
DIAG_ID_e tempMeasDiagErrorEntry
Definition: ltc_defs.h:578
SPI_INTERFACE_CONFIG_s * spiSeqPtr
Definition: ltc_defs.h:569
uint8_t instanceID
Definition: ltc_defs.h:550
uint32_t commandTransferTime
Definition: ltc_defs.h:545
SPI_INTERFACE_CONFIG_s * spiSeqEndPtr
Definition: ltc_defs.h:570
LTC_ADCMODE_e gpioMeasMode
Definition: ltc_defs.h:530
LTC_ADCMODE_e voltMeasMode
Definition: ltc_defs.h:529
uint8_t substate
Definition: ltc_defs.h:525
LTC_STATEMACH_e laststate
Definition: ltc_defs.h:526
uint8_t lastsubstate
Definition: ltc_defs.h:527
bool transmit_ongoing
Definition: ltc_defs.h:567
LTC_ERROR_s errStatus
Definition: ltc_defs.h:553
LTC_ADCMEAS_CHAN_e adcMeasCh
Definition: ltc_defs.h:533
LTC_REUSE_MODE_e reusageMeasurementMode
Definition: ltc_defs.h:559
uint8_t numberOfMeasuredMux
Definition: ltc_defs.h:537
uint32_t gpioClocksTransferTime
Definition: ltc_defs.h:547
uint16_t timer
Definition: ltc_defs.h:521
uint8_t resendCommandCounter
Definition: ltc_defs.h:566
LTC_STATEMACH_e state
Definition: ltc_defs.h:524
DIAG_ID_e spiDiagErrorEntry
Definition: ltc_defs.h:574
uint8_t spiNumberInterfaces
Definition: ltc_defs.h:571
uint32_t muxSampleTime
Definition: ltc_defs.h:549
uint8_t nrBatcellsPerModule
Definition: ltc_defs.h:551
uint8_t busSize
Definition: ltc_defs.h:552
LTC_ADCMODE_e adcMode
Definition: ltc_defs.h:528
uint8_t currentString
Definition: ltc_defs.h:572
uint32_t ErrRequestCounter
Definition: ltc_defs.h:541
STD_RETURN_TYPE_e balance_control_done
Definition: ltc_defs.h:565
uint8_t taskCycleCnt
Definition: ltc_defs.h:557
uint32_t ctrlCallCnt
Definition: ltc_defs.h:556
LTC_CONFIG_s ltcConfig
Definition: ltc_defs.h:560
STD_RETURN_TYPE_e dummyByte_ongoing
Definition: ltc_defs.h:568
STD_RETURN_TYPE_e check_spi_flag
Definition: ltc_defs.h:564
uint32_t ErrPECCounter
Definition: ltc_defs.h:538
bool first_measurement_made
Definition: ltc_defs.h:561
uint8_t requestedString
Definition: ltc_defs.h:573
LTC_ADCMEAS_CHAN_e adcMeasChreq
Definition: ltc_defs.h:535
STD_RETURN_TYPE_e ltc_muxcycle_finished
Definition: ltc_defs.h:563
LTC_TASK_TYPE_e taskMode
Definition: ltc_defs.h:522
uint32_t VoltageSampleTime
Definition: ltc_defs.h:548