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