55 #ifndef FOXBMS__ADI_ADES183X_DEFS_H_
56 #define FOXBMS__ADI_ADES183X_DEFS_H_
59 #if defined(FOXBMS_AFE_DRIVER_ADI_ADES1830)
117 #if BS_NR_OF_CELL_BLOCKS_PER_MODULE > ADI_MAX_SUPPORTED_CELLS
118 #error "Number of cell blocks per module cannot be higher than maximum number of cells per module"
120 #if BS_NR_OF_GPIOS_PER_MODULE != ADI_TOTAL_GPIO_NUMBER
121 #error "Number of GPIOs must be 10"
123 #if BS_NR_OF_TEMP_SENSORS_PER_MODULE > BS_NR_OF_GPIOS_PER_MODULE
124 #error "Number of temperature sensors cannot be higher than number of GPIOs"
131 #define ADI_DEFAULT_CTH_COMPARISON_THRESHOLD (ADI_COMPARISON_THRESHOLD_9_1_mV)
132 #define ADI_DEFAULT_REFON_SETUP (1u)
133 #define ADI_DEFAULT_FLAG_D_SETUP (ADI_FLAG_D_DEFAULT)
134 #define ADI_DEFAULT_OWA_SETUP (0u)
135 #define ADI_DEFAULT_OWRNG_SETUP (0u)
136 #define ADI_DEFAULT_SOAKON_SETUP (0u)
137 #define ADI_DEFAULT_GPO_1_8_SETUP (0xFFu)
138 #define ADI_DEFAULT_GPO_9_10_SETUP (0x03u)
139 #define ADI_DEFAULT_IIR_SETUP (ADI_IIR_FILTER_PARAMETER_32)
140 #define ADI_DEFAULT_COMM_BK_SETUP (0u)
141 #define ADI_DEFAULT_MUTE_ST_SETUP (0u)
142 #define ADI_DEFAULT_SNAP_ST_SETUP (0u)
143 #define ADI_DEFAULT_VUV_0_7_SETUP (0u)
144 #define ADI_DEFAULT_VUV_8_11_SETUP (0x8u)
145 #define ADI_DEFAULT_VOV_0_3_SETUP (0xFu)
146 #define ADI_DEFAULT_VOV_4_11_SETUP (0x7Fu)
147 #define ADI_DEFAULT_DCT0_0_5_SETUP (0u)
148 #define ADI_DEFAULT_DTRNG_SETUP (0u)
149 #define ADI_DEFAULT_DTMEN_SETUP (0u)
150 #define ADI_DEFAULT_DCC_1_8_SETUP (0u)
151 #define ADI_DEFAULT_DCC_9_16_SETUP (0u)
155 #define ADI_WAIT_TIME_1_FOR_ADAX_FULL_CYCLE (10u)
157 #define ADI_WAIT_TIME_2_FOR_ADAX_FULL_CYCLE (8u)
163 #define ADI_NO_OW_CELL_VOLTAGE_REDUCTION (9.0f / 10.0f)
165 #define ADI_OW_CELL_VOLTAGE_REDUCTION_MARGIN_mV (1000.0f)
167 #define ADI_OW_LATENT_CHECK_MARGIN (0.95f)
170 #define ADI_ODD_CELLS_MASK (0x5555u)
172 #define ADI_EVEN_CELLS_MASK (0xAAAAu)
179 #define ADI_NO_OW_GPIO_VOLTAGE_REDUCTION (10.0f / 12.0f)
181 #define ADI_OW_GPIO_VOLTAGE_REDUCTION_MARGIN_mV (1000.0f)
184 #define ADI_CFGRB_NUMBER_OF_DCC_BITS_PER_BYTE (8u)
187 #define ADI_T_WAKE_us (500u)
189 #define ADI_T_READY_us (10u)
191 #define ADI_DAISY_CHAIN_WAKE_UP_TIME_us (ADI_N_ADI * ADI_T_WAKE_us)
193 #define ADI_DAISY_CHAIN_READY_TIME_us (ADI_N_ADI * ADI_T_READY_us)
195 #define ADI_COEFFICIENT_US_TO_MS (1000u)
198 #define ADI_TRANSMISSION_TIMEOUT (10u)
201 #define ADI_SPI_WAKEUP_WAIT_TIME_US (100u)
205 #define ADI_START_AUX_CHANNEL (1u)
208 #define ADI_N_ADI (BS_NR_OF_MODULES_PER_STRING)
211 #define ADI_MAX_CELL_VOLTAGE_mV (4500)
213 #define ADI_MIN_CELL_VOLTAGE_mV (2000)
216 #define ADI_AUXILIARY_COMPARISON_THRESHOLD_mV (9)
218 #define ADI_MIN_GPIO_VOLTAGE_mV (100)
221 #define ADI_MAX_VD_mV (3528.0f)
223 #define ADI_MIN_VD_mV (2754.0f)
225 #define ADI_MAX_VA_mV (5486.0f)
227 #define ADI_MIN_VA_mV (4512.0f)
229 #define ADI_MAX_VREF2_mV (3015.0f)
231 #define ADI_MIN_VREF2_mV (2985.0f)
233 #define ADI_MAX_ITMP_degC (125.0f)
235 #define ADI_MIN_ITMP_degC (-40.0f)
238 #define ADI_OSCILLATOR_FASTER_THRESHOLD (70u)
240 #define ADI_OSCILLATOR_SLOWER_THRESHOLD (52u)
246 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA0_BYTE0 (1u)
247 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA0_BYTE1 (2u)
248 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA0_BYTE2 (3u)
249 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA0_BYTE3 (4u)
250 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA0_BYTE4 (5u)
251 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA0_BYTE5 (6u)
252 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA1_BYTE0 (7u)
253 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA1_BYTE1 (8u)
254 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA1_BYTE2 (9u)
255 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA1_BYTE3 (10u)
256 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA1_BYTE4 (11u)
257 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA1_BYTE5 (12u)
258 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA2_BYTE0 (13u)
259 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA2_BYTE1 (14u)
260 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA2_BYTE2 (15u)
261 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA2_BYTE3 (16u)
262 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA2_BYTE4 (17u)
263 #define ADI_PEC_LATENT_FAULT_CHECK_TESTDATA2_BYTE5 (18u)
271 #define ADI_FLAG_D_DEFAULT (0x00u)
272 #define ADI_FLAG_D_UV_CHECK (0x04u)
273 #define ADI_FLAG_D_OV_CHECK (0x0Cu)
274 #define ADI_FLAG_D_OSC_FASTER (0x01u)
275 #define ADI_FLAG_D_OSC_SLOWER (0x02u)
276 #define ADI_FLAG_D_FORCE_THSD (0x10u)
277 #define ADI_FLAG_D_FORCE_TMODCHK (0x80u)
278 #define ADI_FLAG_D_INDUCE_ECC_ERROR (0x60u)
284 #define ADI_QUEUE_TIMEOUT_MS ((TickType_t)0u)
290 #define ADI_VOLTAGE_CONVERSION_FACTOR (150e-6f)
291 #define ADI_VOLTAGE_CONVERSION_UNIT (1000.0f)
292 #define ADI_VOLTAGE_CONVERSION_OFFSET (1500.0f)
299 #define ADI_DIE_TEMPERATURE_VOLTAGE_OFFSET (1.5f)
300 #define ADI_DIE_TEMPERATURE_KELVIN_OFFSET (273.0f)
301 #define ADI_DIE_TEMPERATURE_SCALING_FACTOR (7.5f)
305 #define ADI_BYTE_SHIFT (8u)
307 #define ADI_PEC10_FULL_EXCLUDE_COMMAND_COUNTER (0x3Fu)
309 #define ADI_PEC10_MSB_EXCLUDE_COMMAND_COUNTER (0x3u)
311 #define ADI_ONE_BYTE_MASK (0xFFu)
313 #define ADI_MAX_REGISTER_SIZE_IN_BYTES (6u)
315 #define ADI_COMMAND_AND_PEC_SIZE_IN_BYTES (4u)
317 #define ADI_COMMAND_SIZE_IN_BYTES (2u)
319 #define ADI_PEC_SIZE_IN_BYTES (2u)
321 #define ADI_MAX_BIT_POSITION_IN_BYTE (7u)
323 #define ADI_RAW_VOLTAGE_SIZE_IN_BYTES (2u)
325 #define ADI_MAX_NUMBER_OF_VOLTAGES_IN_REGISTER (3u)
327 #define ADI_MAX_NUMBER_OF_GPIO_VOLTAGES_IN_REGISTER (3u)
329 #define ADI_NUMBER_OF_GPIO_VOLTAGES_IN_REGISTER_D (1u)
331 #define ADI_SIZE_OF_DATA_FOR_PEC_COMPUTATION (6u)
333 #define ADI_SIZE_OF_DATA_FOR_PEC_COMPUTATION_WITH_COUNTER (7u)
344 #define ADI_N_BYTES_FOR_DATA_TRANSMISSION \
345 (ADI_COMMAND_AND_PEC_SIZE_IN_BYTES + ((ADI_MAX_REGISTER_SIZE_IN_BYTES + ADI_PEC_SIZE_IN_BYTES) * ADI_N_ADI))
352 #define ADI_VOLTAGE_00_02_OFFSET (0u)
353 #define ADI_VOLTAGE_03_05_OFFSET (3u)
354 #define ADI_VOLTAGE_06_08_OFFSET (6u)
355 #define ADI_VOLTAGE_09_11_OFFSET (9u)
356 #define ADI_VOLTAGE_12_14_OFFSET (12u)
357 #define ADI_VOLTAGE_15_18_OFFSET (15u)
364 #define ADI_COMMAND_FIRST_BYTE_POSITION (0u)
365 #define ADI_COMMAND_SECOND_BYTE_POSITION (1u)
366 #define ADI_COMMAND_PEC_FIRST_BYTE_POSITION (2u)
367 #define ADI_COMMAND_PEC_SECOND_BYTE_POSITION (3u)
374 #define ADI_DATA_PEC_FIRST_BYTE_POSITION (0u)
375 #define ADI_DATA_PEC_SECOND_BYTE_POSITION (1u)
382 #define ADI_ICOM_START (0x60u)
383 #define ADI_ICOM_STOP (0x10u)
384 #define ADI_ICOM_BLANK (0x00u)
385 #define ADI_ICOM_NO_TRANSMIT (0x70u)
386 #define ADI_FCOM_MASTER_ACK (0x00u)
387 #define ADI_FCOM_MASTER_NACK (0x08u)
388 #define ADI_FCOM_MASTER_NACK_STOP (0x09u)
454 #define ADI_FIRST_DATA_BYTE_POSITION_IN_TRANSMISSION_FRAME (4u)
458 #define ADI_RESULT_REGISTER_SET_A (0u)
459 #define ADI_RESULT_REGISTER_SET_B (1u)
460 #define ADI_RESULT_REGISTER_SET_C (2u)
461 #define ADI_RESULT_REGISTER_SET_D (3u)
462 #define ADI_RESULT_REGISTER_SET_E (4u)
463 #define ADI_RESULT_REGISTER_SET_F (5u)
468 #define ADI_REGISTER_OFFSET0 (0u)
469 #define ADI_REGISTER_OFFSET1 (1u)
470 #define ADI_REGISTER_OFFSET2 (2u)
471 #define ADI_REGISTER_OFFSET3 (3u)
472 #define ADI_REGISTER_OFFSET4 (4u)
473 #define ADI_REGISTER_OFFSET5 (5u)
478 #define ADI_DATA_BUFFER_OFFSET_IN_BITS (8u)
482 #define ADI_AUXILIARY_RESULT_REGISTER_SET_A (0u)
483 #define ADI_AUXILIARY_RESULT_REGISTER_SET_B (1u)
484 #define ADI_AUXILIARY_RESULT_REGISTER_SET_C (2u)
485 #define ADI_AUXILIARY_RESULT_REGISTER_SET_D (3u)
486 #define ADI_AUXILIARY_RESULT_REGISTER_SET_E (4u)
490 #define ADI_COMMAND_COUNTER_MASK (0xFCu)
492 #define ADI_COMMAND_COUNTER_POSITION (2u)
495 #define ADI_COMMAND_COUNTER_MAX_VALUE (63u)
497 #define ADI_COMMAND_COUNTER_RESTART_VALUE (1u)
499 #define ADI_COMMAND_COUNTER_RESET_VALUE (0u)
502 #define ADI_COMMAND_BYTE0_POSITION (0u)
504 #define ADI_COMMAND_BYTE1_POSITION (1u)
506 #define ADI_COMMAND_INC_POSITION (2u)
508 #define ADI_COMMAND_DATA_LENGTH_POSITION (3u)
511 #define ADI_COMPARISON_THRESHOLD_5_1_mV (0x00u)
512 #define ADI_COMPARISON_THRESHOLD_8_1_mV (0x01u)
513 #define ADI_COMPARISON_THRESHOLD_9_1_mV (0x02u)
514 #define ADI_COMPARISON_THRESHOLD_10_05_mV (0x03u)
515 #define ADI_COMPARISON_THRESHOLD_15_mV (0x04u)
516 #define ADI_COMPARISON_THRESHOLD_19_95_mV (0x05u)
517 #define ADI_COMPARISON_THRESHOLD_25_05_mV (0x06u)
518 #define ADI_COMPARISON_THRESHOLD_45_05_mV (0x07u)
521 #define ADI_IIR_FILTER_DISABLED (0x00u)
522 #define ADI_IIR_FILTER_PARAMETER_2 (0x01u)
523 #define ADI_IIR_FILTER_PARAMETER_4 (0x02u)
524 #define ADI_IIR_FILTER_PARAMETER_8 (0x03u)
525 #define ADI_IIR_FILTER_PARAMETER_16 (0x04u)
526 #define ADI_IIR_FILTER_PARAMETER_32 (0x05u)
527 #define ADI_IIR_FILTER_PARAMETER_128 (0x06u)
528 #define ADI_IIR_FILTER_PARAMETER_256 (0x07u)
531 #define ADI_IIR_SETTLING_TIME_ms (5u)
534 #define ADI_MEASUREMENT_RESTART_WAIT_TIME_ms (1u)
537 #define ADI_MEASUREMENT_STOP_WAIT_TIME_ms (1u)
540 #define ADI_BALANCING_TIME_ms (20u)
543 #define ADI_REDUNDANT_ADC_MEASUREMENT_TIME_ms (8u)
546 #define ADI_OW_LATENT_FAULT_MEASUREMENT_TIME_ms (16u)
549 #define ADI_COMMAND_CODE_LENGTH (11u)
552 #define ADI_COMMAND_DEFINITION_LENGTH (4u)
555 #define ADI_COMMAND_MASK_SEED (0xFFFFu)
558 #define ADI_DATA_MASK_SEED (0xFFFFu)
561 #define ADI_REGISTER_POR_VALUE (0x7FFFu)
564 #define ADI_REGISTER_CLEARED_VALUE (0x8000u)
567 #define ADI_TREFUP_ms (5u)
570 #define ADI_TSOFTRESET_ms (50u)
577 #define ADI_ADCV_BYTE0 (0x02u)
578 #define ADI_ADCV_BYTE1 (0x60u)
579 #define ADI_ADCV_INC (1u)
580 #define ADI_ADCV_LEN (0u)
582 #define ADI_ADCV_RD_POS (8u)
583 #define ADI_ADCV_RD_LEN (1u)
584 #define ADI_ADCV_CONT_POS (7u)
585 #define ADI_ADCV_CONT_LEN (1u)
586 #define ADI_ADCV_DCP_POS (4u)
587 #define ADI_ADCV_DCP_LEN (1u)
588 #define ADI_ADCV_RSTF_POS (2u)
589 #define ADI_ADCV_RSTF_LEN (1u)
590 #define ADI_ADCV_OW01_POS (0u)
591 #define ADI_ADCV_OW01_LEN (2u)
594 #define ADI_ADSV_BYTE0 (0x01u)
595 #define ADI_ADSV_BYTE1 (0x68u)
596 #define ADI_ADSV_INC (1u)
597 #define ADI_ADSV_LEN (0u)
599 #define ADI_ADSV_CONT_POS (7u)
600 #define ADI_ADSV_CONT_LEN (1u)
601 #define ADI_ADSV_DCP_POS (4u)
602 #define ADI_ADSV_DCP_LEN (1u)
603 #define ADI_ADSV_OW01_POS (0u)
604 #define ADI_ADSV_OW01_LEN (2u)
606 #define ADI_ADAX_BYTE0 (0x04u)
607 #define ADI_ADAX_BYTE1 (0x10u)
608 #define ADI_ADAX_INC (1u)
609 #define ADI_ADAX_LEN (0u)
611 #define ADI_ADAX_OW_POS (8u)
612 #define ADI_ADAX_OW_LEN (1u)
613 #define ADI_ADAX_PUP_POS (7u)
614 #define ADI_ADAX_PUP_LEN (1u)
615 #define ADI_ADAX_CH4_POS (6u)
616 #define ADI_ADAX_CH4_LEN (1u)
617 #define ADI_ADAX_CH03_POS (0u)
618 #define ADI_ADAX_CH03_LEN (4u)
620 #define ADI_ADAX2_BYTE0 (0x04u)
621 #define ADI_ADAX2_BYTE1 (0x00u)
622 #define ADI_ADAX2_INC (1u)
623 #define ADI_ADAX2_LEN (0u)
625 #define ADI_ADAX2_CH03_POS (0u)
626 #define ADI_ADAX2_CH03_LEN (4u)
628 #define ADI_WRCFGA_BYTE0 (0x00u)
629 #define ADI_WRCFGA_BYTE1 (0x01u)
630 #define ADI_WRCFGA_INC (1u)
631 #define ADI_WRCFGA_LEN (6u)
633 #define ADI_WRCFGB_BYTE0 (0x00u)
634 #define ADI_WRCFGB_BYTE1 (0x24u)
635 #define ADI_WRCFGB_INC (1u)
636 #define ADI_WRCFGB_LEN (6u)
638 #define ADI_RDCFGA_BYTE0 (0x00u)
639 #define ADI_RDCFGA_BYTE1 (0x02u)
640 #define ADI_RDCFGA_INC (0u)
641 #define ADI_RDCFGA_LEN (6u)
643 #define ADI_RDCFGB_BYTE0 (0x00u)
644 #define ADI_RDCFGB_BYTE1 (0x26u)
645 #define ADI_RDCFGB_INC (0u)
646 #define ADI_RDCFGB_LEN (6u)
648 #define ADI_RDCVA_BYTE0 (0x00u)
649 #define ADI_RDCVA_BYTE1 (0x04u)
650 #define ADI_RDCVA_INC (0u)
651 #define ADI_RDCVA_LEN (6u)
653 #define ADI_RDCVB_BYTE0 (0x00u)
654 #define ADI_RDCVB_BYTE1 (0x06u)
655 #define ADI_RDCVB_INC (0u)
656 #define ADI_RDCVB_LEN (6u)
658 #define ADI_RDCVC_BYTE0 (0x00u)
659 #define ADI_RDCVC_BYTE1 (0x08u)
660 #define ADI_RDCVC_INC (0u)
661 #define ADI_RDCVC_LEN (6u)
663 #define ADI_RDCVD_BYTE0 (0x00u)
664 #define ADI_RDCVD_BYTE1 (0x0Au)
665 #define ADI_RDCVD_INC (0u)
666 #define ADI_RDCVD_LEN (6u)
668 #define ADI_RDCVE_BYTE0 (0x00u)
669 #define ADI_RDCVE_BYTE1 (0x09u)
670 #define ADI_RDCVE_INC (0u)
671 #define ADI_RDCVE_LEN (6u)
673 #define ADI_RDCVF_BYTE0 (0x00u)
674 #define ADI_RDCVF_BYTE1 (0x0Bu)
675 #define ADI_RDCVF_INC (0u)
676 #define ADI_RDCVF_LEN (6u)
678 #define ADI_RDACA_BYTE0 (0x00u)
679 #define ADI_RDACA_BYTE1 (0x44u)
680 #define ADI_RDACA_INC (0u)
681 #define ADI_RDACA_LEN (6u)
683 #define ADI_RDACB_BYTE0 (0x00u)
684 #define ADI_RDACB_BYTE1 (0x46u)
685 #define ADI_RDACB_INC (0u)
686 #define ADI_RDACB_LEN (6u)
688 #define ADI_RDACC_BYTE0 (0x00u)
689 #define ADI_RDACC_BYTE1 (0x48u)
690 #define ADI_RDACC_INC (0u)
691 #define ADI_RDACC_LEN (6u)
693 #define ADI_RDACD_BYTE0 (0x00u)
694 #define ADI_RDACD_BYTE1 (0x4Au)
695 #define ADI_RDACD_INC (0u)
696 #define ADI_RDACD_LEN (6u)
698 #define ADI_RDACE_BYTE0 (0x00u)
699 #define ADI_RDACE_BYTE1 (0x49u)
700 #define ADI_RDACE_INC (0u)
701 #define ADI_RDACE_LEN (6u)
703 #define ADI_RDACF_BYTE0 (0x00u)
704 #define ADI_RDACF_BYTE1 (0x4Bu)
705 #define ADI_RDACF_INC (0u)
706 #define ADI_RDACF_LEN (6u)
708 #define ADI_RDFCA_BYTE0 (0x00u)
709 #define ADI_RDFCA_BYTE1 (0x12u)
710 #define ADI_RDFCA_INC (0u)
711 #define ADI_RDFCA_LEN (6u)
713 #define ADI_RDFCB_BYTE0 (0x00u)
714 #define ADI_RDFCB_BYTE1 (0x13u)
715 #define ADI_RDFCB_INC (0u)
716 #define ADI_RDFCB_LEN (6u)
718 #define ADI_RDFCC_BYTE0 (0x00u)
719 #define ADI_RDFCC_BYTE1 (0x14u)
720 #define ADI_RDFCC_INC (0u)
721 #define ADI_RDFCC_LEN (6u)
723 #define ADI_RDFCD_BYTE0 (0x00u)
724 #define ADI_RDFCD_BYTE1 (0x15u)
725 #define ADI_RDFCD_INC (0u)
726 #define ADI_RDFCD_LEN (6u)
728 #define ADI_RDFCE_BYTE0 (0x00u)
729 #define ADI_RDFCE_BYTE1 (0x16u)
730 #define ADI_RDFCE_INC (0u)
731 #define ADI_RDFCE_LEN (6u)
733 #define ADI_RDFCF_BYTE0 (0x00u)
734 #define ADI_RDFCF_BYTE1 (0x17u)
735 #define ADI_RDFCF_INC (0u)
736 #define ADI_RDFCF_LEN (6u)
738 #define ADI_RDSVA_BYTE0 (0x00u)
739 #define ADI_RDSVA_BYTE1 (0x03u)
740 #define ADI_RDSVA_INC (0u)
741 #define ADI_RDSVA_LEN (6u)
743 #define ADI_RDSVB_BYTE0 (0x00u)
744 #define ADI_RDSVB_BYTE1 (0x05u)
745 #define ADI_RDSVB_INC (0u)
746 #define ADI_RDSVB_LEN (6u)
748 #define ADI_RDSVC_BYTE0 (0x00u)
749 #define ADI_RDSVC_BYTE1 (0x07u)
750 #define ADI_RDSVC_INC (0u)
751 #define ADI_RDSVC_LEN (6u)
753 #define ADI_RDSVD_BYTE0 (0x00u)
754 #define ADI_RDSVD_BYTE1 (0x0Du)
755 #define ADI_RDSVD_INC (0u)
756 #define ADI_RDSVD_LEN (6u)
758 #define ADI_RDSVE_BYTE0 (0x00u)
759 #define ADI_RDSVE_BYTE1 (0x0Eu)
760 #define ADI_RDSVE_INC (0u)
761 #define ADI_RDSVE_LEN (6u)
763 #define ADI_RDSVF_BYTE0 (0x00u)
764 #define ADI_RDSVF_BYTE1 (0x0Fu)
765 #define ADI_RDSVF_INC (0u)
766 #define ADI_RDSVF_LEN (6u)
768 #define ADI_SNAPSHOT_BYTE0 (0x00u)
769 #define ADI_SNAPSHOT_BYTE1 (0x2Du)
770 #define ADI_SNAPSHOT_INC (1u)
771 #define ADI_SNAPSHOT_LEN (0u)
772 #define ADI_UNSNAPSHOT_BYTE0 (0x00u)
773 #define ADI_UNSNAPSHOT_BYTE1 (0x2Fu)
774 #define ADI_UNSNAPSHOT_INC (1u)
775 #define ADI_UNSNAPSHOT_LEN (0u)
777 #define ADI_RDAUXA_BYTE0 (0x00u)
778 #define ADI_RDAUXA_BYTE1 (0x19u)
779 #define ADI_RDAUXA_INC (0u)
780 #define ADI_RDAUXA_LEN (6u)
782 #define ADI_RDAUXB_BYTE0 (0x00u)
783 #define ADI_RDAUXB_BYTE1 (0x1Au)
784 #define ADI_RDAUXB_INC (0u)
785 #define ADI_RDAUXB_LEN (6u)
787 #define ADI_RDAUXC_BYTE0 (0x00u)
788 #define ADI_RDAUXC_BYTE1 (0x1Bu)
789 #define ADI_RDAUXC_INC (0u)
790 #define ADI_RDAUXC_LEN (6u)
792 #define ADI_RDAUXD_BYTE0 (0x00u)
793 #define ADI_RDAUXD_BYTE1 (0x1Fu)
794 #define ADI_RDAUXD_INC (0u)
795 #define ADI_RDAUXD_LEN (6u)
797 #define ADI_RDAUXE_BYTE0 (0x00u)
798 #define ADI_RDAUXE_BYTE1 (0x36u)
799 #define ADI_RDAUXE_INC (0u)
800 #define ADI_RDAUXE_LEN (6u)
802 #define ADI_RDRAXA_BYTE0 (0x00u)
803 #define ADI_RDRAXA_BYTE1 (0x1Cu)
804 #define ADI_RDRAXA_INC (0u)
805 #define ADI_RDRAXA_LEN (6u)
807 #define ADI_RDRAXB_BYTE0 (0x00u)
808 #define ADI_RDRAXB_BYTE1 (0x1Du)
809 #define ADI_RDRAXB_INC (0u)
810 #define ADI_RDRAXB_LEN (6u)
812 #define ADI_RDRAXC_BYTE0 (0x00u)
813 #define ADI_RDRAXC_BYTE1 (0x1Eu)
814 #define ADI_RDRAXC_INC (0u)
815 #define ADI_RDRAXC_LEN (6u)
817 #define ADI_RDRAXD_BYTE0 (0x00u)
818 #define ADI_RDRAXD_BYTE1 (0x25u)
819 #define ADI_RDRAXD_INC (0u)
820 #define ADI_RDRAXD_LEN (6u)
822 #define ADI_CLRAUX_BYTE0 (0x07u)
823 #define ADI_CLRAUX_BYTE1 (0x12u)
824 #define ADI_CLRAUX_INC (1u)
825 #define ADI_CLRAUX_LEN (0u)
827 #define ADI_WRPWMA_BYTE0 (0x00u)
828 #define ADI_WRPWMA_BYTE1 (0x20u)
829 #define ADI_WRPWMA_INC (1u)
830 #define ADI_WRPWMA_LEN (6u)
831 #define ADI_WRPWMB_BYTE0 (0x00u)
832 #define ADI_WRPWMB_BYTE1 (0x21u)
833 #define ADI_WRPWMB_INC (1u)
834 #define ADI_WRPWMB_LEN (6u)
836 #define ADI_RDPWMA_BYTE0 (0x00u)
837 #define ADI_RDPWMA_BYTE1 (0x22u)
838 #define ADI_RDPWMA_INC (0u)
839 #define ADI_RDPWMA_LEN (6u)
840 #define ADI_RDPWMB_BYTE0 (0x00u)
841 #define ADI_RDPWMB_BYTE1 (0x23u)
842 #define ADI_RDPWMB_INC (0u)
843 #define ADI_RDPWMB_LEN (6u)
845 #define ADI_MUTE_BYTE0 (0x00u)
846 #define ADI_MUTE_BYTE1 (0x28u)
847 #define ADI_MUTE_INC (1u)
848 #define ADI_MUTE_LEN (0u)
850 #define ADI_UNMUTE_BYTE0 (0x00u)
851 #define ADI_UNMUTE_BYTE1 (0x29u)
852 #define ADI_UNMUTE_INC (1u)
853 #define ADI_UNMUTE_LEN (0u)
855 #define ADI_RSTCC_BYTE0 (0x00u)
856 #define ADI_RSTCC_BYTE1 (0x2Eu)
857 #define ADI_RSTCC_INC (0u)
858 #define ADI_RSTCC_LEN (0u)
860 #define ADI_CLRCELL_BYTE0 (0x07u)
861 #define ADI_CLRCELL_BYTE1 (0x11u)
862 #define ADI_CLRCELL_INC (1u)
863 #define ADI_CLRCELL_LEN (0u)
865 #define ADI_CLRFLAG_BYTE0 (0x07u)
866 #define ADI_CLRFLAG_BYTE1 (0x17u)
867 #define ADI_CLRFLAG_INC (1u)
868 #define ADI_CLRFLAG_LEN (6u)
870 #define ADI_CLRFLAG_DATA_LENGTH (6u)
872 #define ADI_RDSTATA_BYTE0 (0x00u)
873 #define ADI_RDSTATA_BYTE1 (0x30u)
874 #define ADI_RDSTATA_INC (0u)
875 #define ADI_RDSTATA_LEN (6u)
877 #define ADI_RDSTATB_BYTE0 (0x00u)
878 #define ADI_RDSTATB_BYTE1 (0x31u)
879 #define ADI_RDSTATB_INC (0u)
880 #define ADI_RDSTATB_LEN (6u)
882 #define ADI_RDSTATC_BYTE0 (0x00u)
883 #define ADI_RDSTATC_BYTE1 (0x32u)
884 #define ADI_RDSTATC_INC (0u)
885 #define ADI_RDSTATC_LEN (6u)
887 #define ADI_RDSTATC_ERR_POS (6u)
888 #define ADI_RDSTATC_ERR_LEN (1u)
890 #define ADI_RDSTATD_BYTE0 (0x00u)
891 #define ADI_RDSTATD_BYTE1 (0x33u)
892 #define ADI_RDSTATD_INC (0u)
893 #define ADI_RDSTATD_LEN (6u)
895 #define ADI_RDSTATE_BYTE0 (0x00u)
896 #define ADI_RDSTATE_BYTE1 (0x34u)
897 #define ADI_RDSTATE_INC (0u)
898 #define ADI_RDSTATE_LEN (6u)
900 #define ADI_RDSID_BYTE0 (0x00u)
901 #define ADI_RDSID_BYTE1 (0x2Cu)
902 #define ADI_RDSID_INC (0u)
903 #define ADI_RDSID_LEN (6u)
905 #define ADI_SRST_BYTE0 (0x00u)
906 #define ADI_SRST_BYTE1 (0x27u)
907 #define ADI_SRST_INC (0u)
908 #define ADI_SRST_LEN (0u)
913 #define ADI_CFGRA0_CTH_0_2_POS (0u)
914 #define ADI_CFGRA0_CTH_0_2_MASK (0x7u)
915 #define ADI_CFGRA0_REFON_POS (7u)
916 #define ADI_CFGRA0_REFON_MASK (0x80u)
918 #define ADI_CFGRA1_FLAG_D_0_7_POS (0u)
919 #define ADI_CFGRA1_FLAG_D_0_7_MASK (0xFFu)
921 #define ADI_CFGRA2_OWA_0_2_POS (3u)
922 #define ADI_CFGRA2_OWA_0_2_MASK (0x38u)
923 #define ADI_CFGRA2_OWRNG_POS (6u)
924 #define ADI_CFGRA2_OWRNG_MASK (0x40u)
925 #define ADI_CFGRA2_SOAKON_POS (7u)
926 #define ADI_CFGRA2_SOAKON_MASK (0x80u)
928 #define ADI_CFGRA3_GPO_1_8_POS (0u)
929 #define ADI_CFGRA3_GPO_1_8_MASK (0xFFu)
931 #define ADI_CFGRA4_GPO_9_10_POS (0u)
932 #define ADI_CFGRA4_GPO_9_10_MASK (0x3u)
934 #define ADI_CFGRA5_FC_0_2_POS (0u)
935 #define ADI_CFGRA5_FC_0_2_MASK (0x7u)
936 #define ADI_CFGRA5_COMM_BK_POS (3u)
937 #define ADI_CFGRA5_COMM_BK_MASK (0x8u)
938 #define ADI_CFGRA5_MUTE_ST_POS (4u)
939 #define ADI_CFGRA5_MUTE_ST_MASK (0x10u)
940 #define ADI_CFGRA5_SNAP_ST_POS (5u)
941 #define ADI_CFGRA5_SNAP_ST_MASK (0x20u)
945 #define ADI_CFGRB0_VUV_0_7_POS (0u)
946 #define ADI_CFGRB0_VUV_0_7_MASK (0xFFu)
948 #define ADI_CFGRB1_VUV_8_11_POS (0u)
949 #define ADI_CFGRB1_VUV_8_11_MASK (0xFu)
950 #define ADI_CFGRB1_VOV_0_3_POS (4u)
951 #define ADI_CFGRB1_VOV_0_3_MASK (0xF0u)
953 #define ADI_CFGRB2_VOV_4_11_POS (0u)
954 #define ADI_CFGRB2_VOV_4_11_MASK (0xFFu)
956 #define ADI_CFGRB3_DCT0_0_5_POS (0u)
957 #define ADI_CFGRB3_DCT0_0_5_MASK (0x3Fu)
958 #define ADI_CFGRB3_DTRNG_POS (6u)
959 #define ADI_CFGRB3_DTRNG_MASK (0x40u)
960 #define ADI_CFGRB3_DTMEN_POS (7u)
961 #define ADI_CFGRB3_DTMEN_MASK (0x80u)
963 #define ADI_CFGRB4_DCC_1_8_POS (0u)
964 #define ADI_CFGRB4_DCC_1_8_MASK (0xFFu)
966 #define ADI_CFGRB5_DCC_9_16_POS (0u)
967 #define ADI_CFGRB5_DCC_9_16_MASK (0xFFu)
971 #define ADI_STAR0_VREF2_0_7_POS (0u)
972 #define ADI_STAR0_VREF2_0_7_MASK (0xFFu)
974 #define ADI_STAR1_VREF2_8_15_POS (0u)
975 #define ADI_STAR1_VREF2_8_15_MASK (0xFFu)
977 #define ADI_STAR2_ITMP_0_7_POS (0u)
978 #define ADI_STAR2_ITMP_0_7_MASK (0xFFu)
980 #define ADI_STAR3_ITMP_8_15_POS (0u)
981 #define ADI_STAR3_ITMP_8_15_MASK (0xFFu)
985 #define ADI_STBR0_VD_0_7_POS (0u)
986 #define ADI_STBR0_VD_0_7_MASK (0xFFu)
988 #define ADI_STBR1_VD_8_15_POS (0u)
989 #define ADI_STBR1_VD_8_15_MASK (0xFFu)
991 #define ADI_STBR2_VA_0_7_POS (0u)
992 #define ADI_STBR2_VA_0_7_MASK (0xFFu)
994 #define ADI_STBR3_VA_8_15_POS (0u)
995 #define ADI_STBR3_VA_8_15_MASK (0xFFu)
997 #define ADI_STBR4_VRES_0_7_POS (0u)
998 #define ADI_STBR4_VRES_0_7_MASK (0xFFu)
1000 #define ADI_STBR5_VRES_8_15_POS (0u)
1001 #define ADI_STBR5_VRES_8_15_MASK (0xFFu)
1005 #define ADI_STCR0_CS1FLT_POS (0u)
1006 #define ADI_STCR0_CS1FLT_MASK (0x01u)
1007 #define ADI_STCR0_CS2FLT_POS (1u)
1008 #define ADI_STCR0_CS2FLT_MASK (0x02u)
1009 #define ADI_STCR0_CS3FLT_POS (2u)
1010 #define ADI_STCR0_CS3FLT_MASK (0x04u)
1011 #define ADI_STCR0_CS4FLT_POS (3u)
1012 #define ADI_STCR0_CS4FLT_MASK (0x08u)
1013 #define ADI_STCR0_CS5FLT_POS (4u)
1014 #define ADI_STCR0_CS5FLT_MASK (0x10u)
1015 #define ADI_STCR0_CS6FLT_POS (5u)
1016 #define ADI_STCR0_CS6FLT_MASK (0x20u)
1017 #define ADI_STCR0_CS7FLT_POS (6u)
1018 #define ADI_STCR0_CS7FLT_MASK (0x40u)
1019 #define ADI_STCR0_CS8FLT_POS (7u)
1020 #define ADI_STCR0_CS8FLT_MASK (0x80u)
1022 #define ADI_STCR1_CS9FLT_POS (0u)
1023 #define ADI_STCR1_CS9FLT_MASK (0x01u)
1024 #define ADI_STCR1_CS10FLT_POS (1u)
1025 #define ADI_STCR1_CS10FLT_MASK (0x02u)
1026 #define ADI_STCR1_CS11FLT_POS (2u)
1027 #define ADI_STCR1_CS11FLT_MASK (0x04u)
1028 #define ADI_STCR1_CS12FLT_POS (3u)
1029 #define ADI_STCR1_CS12FLT_MASK (0x08u)
1030 #define ADI_STCR1_CS13FLT_POS (4u)
1031 #define ADI_STCR1_CS13FLT_MASK (0x10u)
1032 #define ADI_STCR1_CS14FLT_POS (5u)
1033 #define ADI_STCR1_CS14FLT_MASK (0x20u)
1034 #define ADI_STCR1_CS15FLT_POS (6u)
1035 #define ADI_STCR1_CS15FLT_MASK (0x40u)
1036 #define ADI_STCR1_CS16FLT_POS (7u)
1037 #define ADI_STCR1_CS16FLT_MASK (0x80u)
1039 #define ADI_STCR2_CT_6_10_POS (0u)
1040 #define ADI_STCR2_CT_6_10_MASK (0x1Fu)
1042 #define ADI_STCR3_CTS_0_1_POS (0u)
1043 #define ADI_STCR3_CTS_0_1_MASK (0x03u)
1044 #define ADI_STCR3_CT_0_5_POS (2u)
1045 #define ADI_STCR3_CT_0_5_MASK (0xFCu)
1047 #define ADI_STCR4_SMED_POS (0u)
1048 #define ADI_STCR4_SMED_MASK (0x01u)
1049 #define ADI_STCR4_SED_POS (1u)
1050 #define ADI_STCR4_SED_MASK (0x02u)
1051 #define ADI_STCR4_CMED_POS (2u)
1052 #define ADI_STCR4_CMED_MASK (0x04u)
1053 #define ADI_STCR4_CED_POS (3u)
1054 #define ADI_STCR4_CED_MASK (0x08u)
1055 #define ADI_STCR4_VD_UV_POS (4u)
1056 #define ADI_STCR4_VD_UV_MASK (0x10u)
1057 #define ADI_STCR4_VD_OV_POS (5u)
1058 #define ADI_STCR4_VD_OV_MASK (0x20u)
1059 #define ADI_STCR4_VA_UV_POS (6u)
1060 #define ADI_STCR4_VA_UV_MASK (0x40u)
1061 #define ADI_STCR4_VA_OV_POS (7u)
1062 #define ADI_STCR4_VA_OV_MASK (0x80u)
1064 #define ADI_STCR5_OSCCHK_POS (0u)
1065 #define ADI_STCR5_OSCCHK_MASK (0x01u)
1066 #define ADI_STCR5_TMODCHK_POS (1u)
1067 #define ADI_STCR5_TMODCHK_MASK (0x02u)
1068 #define ADI_STCR5_THSD_POS (2u)
1069 #define ADI_STCR5_THSD_MASK (0x04u)
1070 #define ADI_STCR5_SLEEP_POS (3u)
1071 #define ADI_STCR5_SLEEP_MASK (0x08u)
1072 #define ADI_STCR5_SPIFLT_POS (4u)
1073 #define ADI_STCR5_SPIFLT_MASK (0x10u)
1074 #define ADI_STCR5_COMP_POS (5u)
1075 #define ADI_STCR5_COMP_MASK (0x20u)
1076 #define ADI_STCR5_VDE_POS (6u)
1077 #define ADI_STCR5_VDE_MASK (0x40u)
1078 #define ADI_STCR5_VDEL_POS (7u)
1079 #define ADI_STCR5_VDEL_MASK (0x80u)
1083 #define ADI_STDR0_C1UV_POS (0u)
1084 #define ADI_STDR0_C1UV_MASK (0x01u)
1085 #define ADI_STDR0_C1OV_POS (1u)
1086 #define ADI_STDR0_C1OV_MASK (0x02u)
1087 #define ADI_STDR0_C2UV_POS (2u)
1088 #define ADI_STDR0_C2UV_MASK (0x04u)
1089 #define ADI_STDR0_C2OV_POS (3u)
1090 #define ADI_STDR0_C2OV_MASK (0x08u)
1091 #define ADI_STDR0_C3UV_POS (4u)
1092 #define ADI_STDR0_C3UV_MASK (0x10u)
1093 #define ADI_STDR0_C3OV_POS (5u)
1094 #define ADI_STDR0_C3OV_MASK (0x20u)
1095 #define ADI_STDR0_C4UV_POS (6u)
1096 #define ADI_STDR0_C4UV_MASK (0x40u)
1097 #define ADI_STDR0_C4OV_POS (7u)
1098 #define ADI_STDR0_C4OV_MASK (0x80u)
1100 #define ADI_STDR1_C5UV_POS (0u)
1101 #define ADI_STDR1_C5UV_MASK (0x01u)
1102 #define ADI_STDR1_C50OV_POS (1u)
1103 #define ADI_STDR1_C50OV_MASK (0x02u)
1104 #define ADI_STDR1_C6UV_POS (2u)
1105 #define ADI_STDR1_C6UV_MASK (0x04u)
1106 #define ADI_STDR1_C6OV_POS (3u)
1107 #define ADI_STDR1_C6OV_MASK (0x08u)
1108 #define ADI_STDR1_C7UV_POS (4u)
1109 #define ADI_STDR1_C7UV_MASK (0x10u)
1110 #define ADI_STDR1_C7OV_POS (5u)
1111 #define ADI_STDR1_C7OV_MASK (0x20u)
1112 #define ADI_STDR1_C8UV_POS (6u)
1113 #define ADI_STDR1_C8UV_MASK (0x40u)
1114 #define ADI_STDR1_C8OV_POS (7u)
1115 #define ADI_STDR1_C8OV_MASK (0x80u)
1117 #define ADI_STDR2_C9UV_POS (0u)
1118 #define ADI_STDR2_C9UV_MASK (0x01u)
1119 #define ADI_STDR2_C9OV_POS (1u)
1120 #define ADI_STDR2_C9OV_MASK (0x02u)
1121 #define ADI_STDR2_C10UV_POS (2u)
1122 #define ADI_STDR2_C10UV_MASK (0x04u)
1123 #define ADI_STDR2_C10OV_POS (3u)
1124 #define ADI_STDR2_C10OV_MASK (0x08u)
1125 #define ADI_STDR2_C11UV_POS (4u)
1126 #define ADI_STDR2_C11UV_MASK (0x10u)
1127 #define ADI_STDR2_C11OV_POS (5u)
1128 #define ADI_STDR2_C11OV_MASK (0x20u)
1129 #define ADI_STDR2_C12UV_POS (6u)
1130 #define ADI_STDR2_C12UV_MASK (0x40u)
1131 #define ADI_STDR2_C12OV_POS (7u)
1132 #define ADI_STDR2_C12OV_MASK (0x80u)
1134 #define ADI_STDR3_C13UV_POS (0u)
1135 #define ADI_STDR3_C13UV_MASK (0x01u)
1136 #define ADI_STDR3_C13OV_POS (1u)
1137 #define ADI_STDR3_C13OV_MASK (0x02u)
1138 #define ADI_STDR3_C14UV_POS (2u)
1139 #define ADI_STDR3_C14UV_MASK (0x04u)
1140 #define ADI_STDR3_C14OV_POS (3u)
1141 #define ADI_STDR3_C14OV_MASK (0x08u)
1142 #define ADI_STDR3_C15UV_POS (4u)
1143 #define ADI_STDR3_C15UV_MASK (0x10u)
1144 #define ADI_STDR3_C15OV_POS (5u)
1145 #define ADI_STDR3_C15OV_MASK (0x20u)
1146 #define ADI_STDR3_C16UV_POS (6u)
1147 #define ADI_STDR3_C16UV_MASK (0x40u)
1148 #define ADI_STDR3_C16OV_POS (7u)
1149 #define ADI_STDR3_C16OV_MASK (0x80u)
1151 #define ADI_STDR5_OC_CNTR_0_7_POS (0u)
1152 #define ADI_STDR5_OC_CNTR_0_7_MASK (0xFFu)
1156 #define ADI_STER4_GPI_1_8_POS (0u)
1157 #define ADI_STER4_GPI_1_8_MASK (0xFFu)
1159 #define ADI_STER5_GPI_9_10_POS (0u)
1160 #define ADI_STER5_GPI_9_10_MASK (0x03u)
1161 #define ADI_STER5_REV_0_3_POS (4u)
1162 #define ADI_STER5_REV_0_3_MASK (0xF0u)
1207 uint8_t redundantAuxiliaryChannel
1217 #ifdef UNITY_UNIT_TEST
Headers for the driver for the ADES1830 analog front-end.
ADI_VOLTAGE_REGISTER_TYPE_e
@ ADI_CELL_VOLTAGE_REGISTER
@ ADI_VOLTAGE_REGISTER_TYPE_E_MAX
@ ADI_FILTERED_CELL_VOLTAGE_REGISTER
@ ADI_AVERAGE_CELL_VOLTAGE_REGISTER
@ ADI_REDUNDANT_CELL_VOLTAGE_REGISTER
@ ADI_CFG_REGISTER_SET_E_MAX
ADI_AUXILIARY_REGISTER_TYPE_e
@ ADI_REDUNDANT_AUXILIARY_REGISTER
@ ADI_AUXILIARY_REGISTER_TYPE_E_MAX
ADI_PEC_FAULT_INJECTION_e
@ ADI_PEC_NO_FAULT_INJECTION
@ ADI_COMMAND_PEC_FAULT_INJECTION
@ ADI_DATA_PEC_FAULT_INJECTION
ADI_VOLTAGE_STORE_LOCATION_e
@ ADI_AVERAGE_CELL_VOLTAGE
@ ADI_REDUNDANT_CELL_VOLTAGE
@ ADI_FILTERED_CELL_VOLTAGE
@ ADI_CELL_VOLTAGE_AVERAGE_OPEN_WIRE
@ ADI_VOLTAGE_STORE_LOCATION_E_MAX
@ ADI_CELL_VOLTAGE_OPEN_WIRE_ODD
@ ADI_CELL_VOLTAGE_OPEN_WIRE_EVEN
@ ADI_CELL_VOLTAGE_REDUNDANT_OPEN_WIRE
ADI_AUXILIARY_STORE_LOCATION_e
@ ADI_AUXILIARY_VOLTAGE_OPEN_WIRE
@ ADI_AUXILIARY_STORE_LOCATION_E_MAX
@ ADI_REDUNDANT_AUXILIARY_VOLTAGE
Configuration of the battery system (e.g., number of battery modules, battery cells,...
#define BS_NR_OF_STRINGS
Number of parallel strings in the battery pack.
Headers for the driver for the SPI module.
DATA_BLOCK_CELL_VOLTAGE_s * cellVoltageRedundant
DATA_BLOCK_CELL_VOLTAGE_s * cellVoltageFiltered
DATA_BLOCK_ALL_GPIO_VOLTAGES_s * allGpioVoltagesRedundant
DATA_BLOCK_BALANCING_CONTROL_s * balancingControl
DATA_BLOCK_CELL_TEMPERATURE_s * cellTemperature
DATA_BLOCK_CELL_VOLTAGE_s * cellVoltage
DATA_BLOCK_ALL_GPIO_VOLTAGES_s * allGpioVoltages
DATA_BLOCK_ALL_GPIO_VOLTAGES_s * allGpioVoltageOpenWire
DATA_BLOCK_CELL_VOLTAGE_s * cellVoltageAverageOpenWire
ADI_ERROR_TABLE_s * errorTable
DATA_BLOCK_CELL_VOLTAGE_s * cellVoltageOpenWireEven
DATA_BLOCK_CELL_VOLTAGE_s * cellVoltageAverage
DATA_BLOCK_OPEN_WIRE_s * openWire
DATA_BLOCK_CELL_VOLTAGE_s * cellVoltageRedundantOpenWire
DATA_BLOCK_CELL_VOLTAGE_s * cellVoltageOpenWireOdd
bool firstMeasurementMade
uint8_t spiNumberInterfaces