116 uint16_t cellOffset = 0u;
117 uint16_t voltageIndex = 0u;
118 uint16_t rawValue = 0u;
119 int16_t signedValue = 0;
120 float_t floatVoltage = 0.0f;
122 uint16_t bufferLSB = 0u;
123 uint16_t bufferMSB = 0u;
124 uint8_t numberOfVoltagesInRegister = 0u;
125 uint8_t voltageStartNumber = 0u;
128 switch (storeLocation) {
146 switch (registerSet) {
169 for (uint16_t m = 0u; m <
ADI_N_ADI; m++) {
171 for (uint16_t gpio = voltageStartNumber; gpio < numberOfVoltagesInRegister; gpio++) {
172 voltageIndex = gpio + cellOffset;
174 bufferMSB = (uint16_t)(data
180 signedValue = (int16_t)rawValue;
183 voltage = (int16_t)floatVoltage;
218 switch (registerType) {
255 #ifdef UNITY_UNIT_TEST
256 extern void TEST_ADI_SaveRxToGpioVoltageBuffer(
static void ADI_SaveRxToGpioVoltageBuffer(ADI_STATE_s *adiState, uint8_t *data, uint8_t registerSet, ADI_AUXILIARY_STORE_LOCATION_e storeLocation)
Saves the GPIO voltage values read from the daisy-chain.
void ADI_GetGpioVoltages(ADI_STATE_s *adiState, ADI_AUXILIARY_REGISTER_TYPE_e registerType, ADI_AUXILIARY_STORE_LOCATION_e storeLocation)
Stores GPIO voltages.
uint16_t adi_command[ADI_COMMAND_DEFINITION_LENGTH]
uint8_t adi_dataReceive[BS_NR_OF_MODULES_PER_STRING *ADI_MAX_REGISTER_SIZE_IN_BYTES]
Header for the buffers used by the driver for the ADI analog front-end.
Header for the configuration for the ADI analog front-end.
const uint16_t adi_cmdRdauxb[ADI_COMMAND_DEFINITION_LENGTH]
const uint16_t adi_cmdRdauxa[ADI_COMMAND_DEFINITION_LENGTH]
const uint16_t adi_cmdRdauxe[ADI_COMMAND_DEFINITION_LENGTH]
const uint16_t adi_cmdRdraxc[ADI_COMMAND_DEFINITION_LENGTH]
const uint16_t adi_cmdRdraxa[ADI_COMMAND_DEFINITION_LENGTH]
const uint16_t adi_cmdRdraxd[ADI_COMMAND_DEFINITION_LENGTH]
const uint16_t adi_cmdRdauxc[ADI_COMMAND_DEFINITION_LENGTH]
const uint16_t adi_cmdRdraxb[ADI_COMMAND_DEFINITION_LENGTH]
const uint16_t adi_cmdRdauxd[ADI_COMMAND_DEFINITION_LENGTH]
Header file of some software.
Header file of some software.
Headers for the driver for the ades183x analog front-end.
#define ADI_AUXILIARY_RESULT_REGISTER_SET_C
#define ADI_MAX_NUMBER_OF_GPIO_VOLTAGES_IN_REGISTER
#define ADI_VOLTAGE_CONVERSION_FACTOR
#define ADI_RAW_VOLTAGE_SIZE_IN_BYTES
#define ADI_VOLTAGE_CONVERSION_UNIT
#define ADI_VOLTAGE_06_08_OFFSET
#define ADI_AUXILIARY_RESULT_REGISTER_SET_D
#define ADI_MAX_REGISTER_SIZE_IN_BYTES
#define ADI_VOLTAGE_00_02_OFFSET
#define ADI_AUXILIARY_RESULT_REGISTER_SET_E
#define ADI_REGISTER_CLEARED_VALUE
#define ADI_VOLTAGE_CONVERSION_OFFSET
#define ADI_VOLTAGE_03_05_OFFSET
#define ADI_AUXILIARY_RESULT_REGISTER_SET_A
#define ADI_NUMBER_OF_GPIO_VOLTAGES_IN_REGISTER_D
ADI_AUXILIARY_REGISTER_TYPE_e
@ ADI_REDUNDANT_AUXILIARY_REGISTER
#define ADI_VOLTAGE_09_11_OFFSET
ADI_AUXILIARY_STORE_LOCATION_e
@ ADI_AUXILIARY_VOLTAGE_OPEN_WIRE
@ ADI_REDUNDANT_AUXILIARY_VOLTAGE
#define ADI_COMMAND_DEFINITION_LENGTH
#define ADI_AUXILIARY_RESULT_REGISTER_SET_B
Header file of some software.
void ADI_ReadRegister(uint16_t *registerToRead, uint8_t *data, ADI_STATE_s *adiState)
send command to the ades183x daisy-chain to read a register.
void ADI_CopyCommandBits(const uint16_t *sourceCommand, uint16_t *destinationCommand)
copy command bits in variables.
Headers for the diagnostic driver for the ADI analog front-end.
Header file of some software.
#define BS_NR_OF_GPIOS_PER_MODULE
Defines the number of GPIOs.
Assert macro implementation.
#define FAS_ASSERT(x)
Assertion macro that asserts that x is true.
#define FAS_TRAP
Define that evaluates to essential boolean false thus tripping an assert.
#define NULL_PTR
Null pointer.
DATA_BLOCK_ALL_GPIO_VOLTAGES_s * allGpioVoltagesRedundant
DATA_BLOCK_ALL_GPIO_VOLTAGES_s * allGpioVoltages
DATA_BLOCK_ALL_GPIO_VOLTAGES_s * allGpioVoltageOpenWire
ADI_ERROR_TABLE_s * errorTable
bool crcIsOk[BS_NR_OF_STRINGS][ADI_N_ADI]
bool auxiliaryRegisterContentIsNotStuck[BS_NR_OF_STRINGS][ADI_N_ADI]
int16_t gpioVoltages_mV[BS_NR_OF_STRINGS][BS_NR_OF_MODULES_PER_STRING *BS_NR_OF_GPIOS_PER_MODULE]