62 #include "HL_system.h"
78 #define LTC_PORT_EXPANDER_TI_INPUT_REG_ADR (0x00u)
79 #define LTC_PORT_EXPANDER_TI_OUTPUT_REG_ADR (0x01u)
80 #define LTC_PORT_EXPANDER_TI_CONFIG_REG_ADR (0x03u)
87 #define LTC_ICOM_START (0x60u)
88 #define LTC_ICOM_STOP (0x10u)
89 #define LTC_ICOM_BLANK (0x00u)
90 #define LTC_ICOM_NO_TRANSMIT (0x70u)
91 #define LTC_FCOM_MASTER_ACK (0x00u)
92 #define LTC_FCOM_MASTER_NACK (0x08u)
93 #define LTC_FCOM_MASTER_NACK_STOP (0x09u)
97 #define LTC_MAX_SUPPORTED_CELLS (12u)
105 #pragma SET_DATA_SECTION(".sharedRAM")
108 #pragma SET_DATA_SECTION()
132 .minimumPlausibleVoltage_mV = 0,
148 .numberOfMeasuredMux = 32,
150 .ErrRetryCounter = 0,
151 .ErrRequestCounter = 0,
152 .VoltageSampleTime = 0,
154 .commandDataTransferTime = 3,
155 .commandTransferTime = 3,
156 .gpioClocksTransferTime = 3,
159 .muxmeas_nr_end = {0},
160 .first_measurement_made =
false,
164 .transmit_ongoing =
false,
186 .requestedString = 0u,
221 {0x69, 0x18, 0x0F, 0xF0, 0x0F, 0xF9};
224 {0x64, 0x18, 0x0F, 0xF9, 0x7F, 0xF9};
228 {0x03, 0x60, 0xF4, 0x6C};
230 {0x03, 0x70, 0xAF, 0x42};
232 {0x03, 0xE0, 0xB0, 0x4A};
234 {0x03, 0xF0, 0xEB, 0x64};
236 {0x02, 0xE0, 0x38, 0x06};
238 {0x02, 0xF0, 0x63, 0x28};
240 {0x02, 0xE1, 0xB3, 0x34};
260 {0x05, 0xE0, 0x97, 0x86};
298 uint16_t timer_ms_ok,
300 uint8_t substate_nok,
301 uint16_t timer_ms_nok);
308 uint32_t frameLength,
310 uint8_t stringNumber);
317 uint32_t frameLength);
337 uint8_t stringNumber);
342 uint8_t stringNumber);
346 uint16_t *DataBufferSPI_RX_with_PEC,
347 uint8_t stringNumber);
353 uint32_t frameLength);
359 uint32_t frameLength);
366 uint32_t frameLength,
375 uint32_t frameLength,
382 uint32_t frameLength,
390 uint32_t frameLength);
398 uint32_t frameLength,
405 uint32_t frameLength);
411 uint32_t frameLength,
420 uint32_t frameLength,
429 uint8_t stringNumber);
522 ltc_state->
state = state;
524 ltc_state->
timer = timer_ms;
556 uint16_t timer_ms_ok,
558 uint8_t substate_nok,
559 uint16_t timer_ms_nok) {
581 int32_t stringVoltage_mV = 0;
582 uint16_t numberValidMeasurements = 0;
607 numberValidMeasurements++;
634 uint16_t numberValidMeasurements = 0;
650 numberValidMeasurements++;
687 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
688 const uint16_t val_i = DataBufferSPI_RX[8u + (1u * i * 8u)] |
689 (DataBufferSPI_RX[8u + (1u * i * 8u) + 1u] << 8u);
753 return ltc_state->
state;
813 uint8_t tmpbusID = 0;
826 if (ltc_state->
timer > 0u) {
827 if ((--ltc_state->
timer) > 0u) {
834 if (ltc_state->
timer > 0u) {
835 if ((--ltc_state->
timer) > 0u) {
843 if (continueFunction ==
STD_OK) {
844 switch (ltc_state->
state) {
855 ltc_state->
adcMode = tmpadcMode;
1268 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1305 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1333 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1365 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1424 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1551 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1596 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1810 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1865 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1890 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1926 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1951 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
1981 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2036 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2094 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2119 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2149 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2201 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2246 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2299 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2345 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2391 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2416 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2446 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2504 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2529 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2560 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2585 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2615 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2672 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2697 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2728 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2753 if ((ltc_state->
timer == 0) && (transmitOngoing ==
true)) {
2948 uint8_t stringNumber) {
2952 uint16_t val_ui = 0;
2953 int16_t temperature_ddegC = 0;
2954 uint8_t sensor_idx = 0;
2956 uint16_t buffer_LSB = 0;
2957 uint16_t buffer_MSB = 0;
2961 if (muxseqptr->
muxCh != 0xFF) {
2963 if ((muxseqptr->
muxID == 1) || (muxseqptr->
muxID == 2)) {
2964 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
2965 if (muxseqptr->
muxID == 1) {
2966 ch_idx = 0 + muxseqptr->
muxCh;
2968 ch_idx = 8 + muxseqptr->
muxCh;
2971 if (ch_idx < (2u * 8u)) {
2972 val_ui = *((uint16_t *)(&pRxBuff[6u + (1u * i * 8u)]));
2978 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
2979 buffer_MSB = pRxBuff[4u + (i * 8u) + 1u];
2980 buffer_LSB = pRxBuff[4u + (i * 8u)];
2981 val_ui = buffer_LSB | (buffer_MSB << 8);
2997 (~(1u << sensor_idx));
3029 uint8_t registerSet,
3030 uint8_t stringNumber) {
3033 uint16_t cellOffset = 0;
3034 uint16_t voltage_index = 0;
3035 uint16_t val_ui = 0;
3036 uint16_t voltage = 0;
3037 uint32_t bitmask = 0;
3038 uint16_t buffer_LSB = 0;
3039 uint16_t buffer_MSB = 0;
3040 bool continueFunction =
true;
3042 if (registerSet == 0u) {
3045 }
else if (registerSet == 1u) {
3048 }
else if (registerSet == 2u) {
3051 }
else if (registerSet == 3u) {
3054 }
else if (registerSet == 4u) {
3057 }
else if (registerSet == 5u) {
3061 continueFunction =
false;
3064 if (continueFunction ==
true) {
3066 bitmask |= 0x07u << cellOffset;
3069 if (cellOffset == 0u) {
3074 for (uint16_t m = 0u; m <
LTC_N_LTC; m++) {
3075 uint16_t incrementations = 0u;
3078 for (uint8_t c = 0u; c < 3u; c++) {
3080 voltage_index = c + cellOffset;
3083 buffer_MSB = pRxBuff[4u + (2u * c) + (m * 8u) + 1u];
3084 buffer_LSB = pRxBuff[4u + (2u * c) + (m * 8u)];
3085 val_ui = buffer_LSB | (buffer_MSB << 8u);
3087 voltage = ((val_ui)) * 100e-6f * 1000.0f;
3141 uint8_t registerSet,
3142 uint8_t stringNumber) {
3145 uint8_t i_offset = 0;
3146 uint32_t bitmask = 0;
3147 uint16_t buffer_LSB = 0;
3148 uint16_t buffer_MSB = 0;
3150 if (registerSet == 0u) {
3153 bitmask = 0x07u << i_offset;
3155 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
3161 buffer_MSB = pRxBuff[4u + (i * 8u) + 1u];
3162 buffer_LSB = pRxBuff[4u + (i * 8u)];
3165 ((buffer_LSB | (buffer_MSB << 8u))) / 10u;
3167 buffer_MSB = pRxBuff[6u + (i * 8u) + 1u];
3168 buffer_LSB = pRxBuff[6u + (i * 8u)];
3171 ((buffer_LSB | (buffer_MSB << 8u))) / 10u;
3173 buffer_MSB = pRxBuff[8u + (i * 8u) + 1u];
3174 buffer_LSB = pRxBuff[8u + (i * 8u)];
3177 ((buffer_LSB | (buffer_MSB << 8u))) / 10u;
3183 }
else if (registerSet == 1u) {
3186 bitmask = 0x03u << i_offset;
3188 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
3194 buffer_MSB = pRxBuff[4u + (i * 8u) + 1u];
3195 buffer_LSB = pRxBuff[4u + (i * 8u)];
3198 ((buffer_LSB | (buffer_MSB << 8u))) / 10u;
3200 buffer_MSB = pRxBuff[6u + (i * 8u) + 1u];
3201 buffer_LSB = pRxBuff[6u + (i * 8u)];
3204 ((buffer_LSB | (buffer_MSB << 8u))) / 10u;
3210 }
else if (registerSet == 2u) {
3213 bitmask = 0x07u << i_offset;
3215 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
3221 buffer_MSB = pRxBuff[4u + (i * 8u) + 1u];
3222 buffer_LSB = pRxBuff[4u + (i * 8u)];
3225 ((buffer_LSB | (buffer_MSB << 8u))) / 10u;
3227 buffer_MSB = pRxBuff[6u + (i * 8u) + 1u];
3228 buffer_LSB = pRxBuff[6u + (i * 8u)];
3231 ((buffer_LSB | (buffer_MSB << 8u))) / 10u;
3233 buffer_MSB = pRxBuff[8u + (i * 8u) + 1u];
3234 buffer_LSB = pRxBuff[8u + (i * 8u)];
3237 ((buffer_LSB | (buffer_MSB << 8u))) / 10u;
3243 }
else if (registerSet == 3u) {
3246 bitmask = 0x01u << i_offset;
3248 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
3256 *((uint16_t *)(&pRxBuff[4u + (i * 8u)])) / 10u;
3344 uint32_t frameLength) {
3350 uint8_t PEC_Check[6];
3351 uint16_t PEC_result = 0;
3361 for (uint16_t i = 0u; i <
LTC_N_LTC; i++) {
3363 pTxBuff[4u + (i * 8u)] = 0xFC;
3364 pTxBuff[5u + (i * 8u)] = 0x00;
3365 pTxBuff[6u + (i * 8u)] = 0x00;
3366 pTxBuff[7u + (i * 8u)] = 0x00;
3367 pTxBuff[8u + (i * 8u)] = 0x00;
3368 pTxBuff[9u + (i * 8u)] = 0x00;
3370 PEC_Check[0] = pTxBuff[4u + (i * 8u)];
3371 PEC_Check[1] = pTxBuff[5u + (i * 8u)];
3372 PEC_Check[2] = pTxBuff[6u + (i * 8u)];
3373 PEC_Check[3] = pTxBuff[7u + (i * 8u)];
3374 PEC_Check[4] = pTxBuff[8u + (i * 8u)];
3375 PEC_Check[5] = pTxBuff[9u + (i * 8u)];
3377 PEC_result = LTC_pec15_calc(6, PEC_Check);
3378 pTxBuff[10u + (i * 8u)] = (PEC_result >> 8u) & 0xFFu;
3379 pTxBuff[11u + (i * 8u)] = PEC_result & 0xFFu;
3409 uint32_t frameLength,
3410 uint8_t registerSet,
3411 uint8_t stringNumber) {
3418 uint8_t PEC_Check[6];
3419 uint16_t PEC_result = 0;
3423 if (registerSet == 0u) {
3435 pTxBuff[4u + (reverseModuleNumber * 8u)] = 0xFC;
3436 pTxBuff[5u + (reverseModuleNumber * 8u)] = 0x00;
3437 pTxBuff[6u + (reverseModuleNumber * 8u)] = 0x00;
3438 pTxBuff[7u + (reverseModuleNumber * 8u)] = 0x00;
3439 pTxBuff[8u + (reverseModuleNumber * 8u)] = 0x00;
3440 pTxBuff[9u + (reverseModuleNumber * 8u)] = 0x00;
3444 pTxBuff[8u + (reverseModuleNumber * 8u)] |= 0x01u;
3448 pTxBuff[8u + (reverseModuleNumber * 8u)] |= 0x02u;
3452 pTxBuff[8u + (reverseModuleNumber * 8u)] |= 0x04u;
3456 pTxBuff[8u + (reverseModuleNumber * 8u)] |= 0x08u;
3460 pTxBuff[8u + (reverseModuleNumber * 8u)] |= 0x10u;
3464 pTxBuff[8u + (reverseModuleNumber * 8u)] |= 0x20u;
3468 pTxBuff[8u + (reverseModuleNumber * 8u)] |= 0x40u;
3472 pTxBuff[8u + (reverseModuleNumber * 8u)] |= 0x80u;
3476 pTxBuff[9u + (reverseModuleNumber * 8u)] |= 0x01u;
3480 pTxBuff[9u + (reverseModuleNumber * 8u)] |= 0x02u;
3484 pTxBuff[9u + (reverseModuleNumber * 8u)] |= 0x04u;
3488 pTxBuff[9u + (reverseModuleNumber * 8u)] |= 0x08u;
3491 PEC_Check[0] = pTxBuff[4u + (reverseModuleNumber * 8u)];
3492 PEC_Check[1] = pTxBuff[5u + (reverseModuleNumber * 8u)];
3493 PEC_Check[2] = pTxBuff[6u + (reverseModuleNumber * 8u)];
3494 PEC_Check[3] = pTxBuff[7u + (reverseModuleNumber * 8u)];
3495 PEC_Check[4] = pTxBuff[8u + (reverseModuleNumber * 8u)];
3496 PEC_Check[5] = pTxBuff[9u + (reverseModuleNumber * 8u)];
3498 PEC_result = LTC_pec15_calc(6, PEC_Check);
3499 pTxBuff[10u + (reverseModuleNumber * 8u)] = (PEC_result >> 8u) & 0xFFu;
3500 pTxBuff[11u + (reverseModuleNumber * 8u)] = PEC_result & 0xFFu;
3503 }
else if (registerSet == 1u) {
3515 pTxBuff[4u + (reverseModuleNumber * 8u)] = 0x0F;
3516 pTxBuff[5u + (reverseModuleNumber * 8u)] = 0x00;
3517 pTxBuff[6u + (reverseModuleNumber * 8u)] = 0x00;
3518 pTxBuff[7u + (reverseModuleNumber * 8u)] = 0x00;
3519 pTxBuff[8u + (reverseModuleNumber * 8u)] = 0x00;
3520 pTxBuff[9u + (reverseModuleNumber * 8u)] = 0x00;
3524 pTxBuff[4u + (reverseModuleNumber * 8u)] |= 0x10u;
3528 pTxBuff[4u + (reverseModuleNumber * 8u)] |= 0x20u;
3532 pTxBuff[4u + (reverseModuleNumber * 8u)] |= 0x40u;
3537 pTxBuff[4u + (reverseModuleNumber * 8u)] |= 0x80u;
3541 pTxBuff[5u + (reverseModuleNumber * 8u)] |= 0x01u;
3545 pTxBuff[5u + (reverseModuleNumber * 8u)] |= 0x02u;
3549 PEC_Check[0] = pTxBuff[4u + (reverseModuleNumber * 8u)];
3550 PEC_Check[1] = pTxBuff[5u + (reverseModuleNumber * 8u)];
3551 PEC_Check[2] = pTxBuff[6u + (reverseModuleNumber * 8u)];
3552 PEC_Check[3] = pTxBuff[7u + (reverseModuleNumber * 8u)];
3553 PEC_Check[4] = pTxBuff[8u + (reverseModuleNumber * 8u)];
3554 PEC_Check[5] = pTxBuff[9u + (reverseModuleNumber * 8u)];
3556 PEC_result = LTC_pec15_calc(6, PEC_Check);
3557 pTxBuff[10u + (reverseModuleNumber * 8u)] = (PEC_result >> 8u) & 0xFFu;
3558 pTxBuff[11u + (reverseModuleNumber * 8u)] = PEC_result & 0xFFu;
3578 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
3791 }
else if (PUP == 1u) {
3821 uint16_t *DataBufferSPI_RX_with_PEC,
3822 uint8_t stringNumber) {
3827 uint16_t PEC_result = 0;
3828 uint8_t PEC_Check[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
3831 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
3832 PEC_Check[0] = DataBufferSPI_RX_with_PEC[4u + (i * 8u)];
3833 PEC_Check[1] = DataBufferSPI_RX_with_PEC[5u + (i * 8u)];
3834 PEC_Check[2] = DataBufferSPI_RX_with_PEC[6u + (i * 8u)];
3835 PEC_Check[3] = DataBufferSPI_RX_with_PEC[7u + (i * 8u)];
3836 PEC_Check[4] = DataBufferSPI_RX_with_PEC[8u + (i * 8u)];
3837 PEC_Check[5] = DataBufferSPI_RX_with_PEC[9u + (i * 8u)];
3839 PEC_result = LTC_pec15_calc(6, PEC_Check);
3840 PEC_TX[0] = (uint8_t)((PEC_result >> 8u) & 0xFFu);
3841 PEC_TX[1] = (uint8_t)(PEC_result & 0xFFu);
3844 if ((PEC_TX[0] != DataBufferSPI_RX_with_PEC[10u + (i * 8u)]) ||
3845 (PEC_TX[1] != DataBufferSPI_RX_with_PEC[11u + (i * 8u)])) {
3895 uint32_t frameLength) {
3910 pTxBuff[0] = Command[0];
3911 pTxBuff[1] = Command[1];
3912 pTxBuff[2] = Command[2];
3913 pTxBuff[3] = Command[3];
3963 uint32_t frameLength) {
3970 uint16_t PEC_result = 0;
3971 uint8_t PEC_Check[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
3973 pTxBuff[0] = Command[0];
3974 pTxBuff[1] = Command[1];
3975 pTxBuff[2] = Command[2];
3976 pTxBuff[3] = Command[3];
3979 for (uint16_t i = 0u; i <
LTC_N_LTC; i++) {
3980 PEC_Check[0] = pTxBuff[4u + (i * 8u)];
3981 PEC_Check[1] = pTxBuff[5u + (i * 8u)];
3982 PEC_Check[2] = pTxBuff[6u + (i * 8u)];
3983 PEC_Check[3] = pTxBuff[7u + (i * 8u)];
3984 PEC_Check[4] = pTxBuff[8u + (i * 8u)];
3985 PEC_Check[5] = pTxBuff[9u + (i * 8u)];
3987 PEC_result = LTC_pec15_calc(6, PEC_Check);
3988 pTxBuff[10u + (i * 8u)] = (PEC_result >> 8u) & 0xFFu;
3989 pTxBuff[11u + (i * 8u)] = PEC_result & 0xFFu;
4010 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
4011 #if SLAVE_BOARD_VERSION == 2u
4014 uint8_t address = 0x98u | ((mux % 4u) << 1u);
4015 uint8_t data = 1u << (channel % 8u);
4016 if (channel == 0xFFu) {
4023 uint8_t address = 0x90u | ((mux % 4u) << 1u);
4024 uint8_t data = 0x08u | (channel % 8u);
4025 if (channel == 0xFFu) {
4031 pTxBuff[4u + (i * 8u)] =
LTC_ICOM_START | ((address >> 4u) & 0x0Fu);
4033 pTxBuff[6u + (i * 8u)] =
LTC_ICOM_BLANK | ((data >> 4u) & 0x0Fu);
4036 pTxBuff[9u + (i * 8u)] = 0x00;
4058 uint32_t frameLength,
4088 address &= 0x3FFFFu;
4089 const uint8_t address0 = address >> 16u;
4090 const uint8_t address1 = (address & 0xFFFFu) >> 8u;
4091 const uint8_t address2 = address & 0xFFu;
4094 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
4103 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
4126 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
4128 ((pRxBuff[7u + (i * 8u)] >> 4u));
4155 uint32_t frameLength,
4185 address &= 0x3FFFFu;
4186 const uint8_t address0 = address >> 16u;
4187 const uint8_t address1 = (address & 0xFFFFu) >> 8u;
4188 const uint8_t address2 = address & 0xFFu;
4191 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
4200 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
4237 uint32_t frameLength,
4270 uint32_t frameLength,
4271 uint16_t *cmd_data) {
4279 pTxBuff[4u + (i * 6u)] = cmd_data[0];
4280 pTxBuff[5u + (i * 6u)] = cmd_data[1];
4282 pTxBuff[6u + (i * 6u)] = cmd_data[2];
4283 pTxBuff[7u + (i * 6u)] = cmd_data[3];
4285 pTxBuff[8u + (i * 6u)] = cmd_data[4];
4286 pTxBuff[9u + (i * 6u)] = cmd_data[5];
4309 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
4310 uint8_t temp_tmp[2];
4311 temp_tmp[0] = (pRxBuff[6u + (i * 8u)] << 4u) | ((pRxBuff[7u + (i * 8u)] >> 4u));
4312 temp_tmp[1] = (pRxBuff[8u + (i * 8u)] << 4u) | ((pRxBuff[9u + (i * 8u)] >> 4u));
4313 uint16_t val_i = (temp_tmp[0] << 8u) | (temp_tmp[1]);
4314 val_i = val_i >> 8u;
4339 uint32_t frameLength) {
4354 pTxBuff[5u + (i * 8u)] =
4357 pTxBuff[6u + (i * 8u)] =
4359 (output_data >> 4u);
4360 pTxBuff[7u + (i * 8u)] =
4361 (uint8_t)(output_data << 4u) |
4365 pTxBuff[9u + (i * 8u)] = 0;
4389 for (uint16_t i = 0; i <
LTC_N_LTC; i++) {
4390 const uint8_t val_i = (pRxBuff[6u + (i * 8u)] << 4u) | ((pRxBuff[7u + (i * 8u)] >> 4u));
4416 uint32_t frameLength,
4438 pTxBuff[9u + (i * 8u)] = (uint8_t)(direction << 4u) |
4466 uint32_t frameLength) {
4488 pTxBuff[9u + (i * 8u)] = (uint8_t)(output_data << 4u) |
4517 uint32_t frameLength,
4537 pTxBuff[9u + (i * 8u)] = 0;