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