55 #ifndef FOXBMS__ADI_ADES183X_HELPERS_H_
56 #define FOXBMS__ADI_ADES183X_HELPERS_H_
89 extern void ADI_CopyCommandBits(
const uint16_t *sourceCommand, uint16_t *destinationCommand);
99 uint16_t *configuredCommand,
102 uint16_t configuration);
111 extern void ADI_ReadDataBits(uint8_t receivedData, uint8_t *pDataToRead, uint8_t position, uint8_t mask);
169 const uint16_t *registerToWrite,
191 uint32_t frameLength);
207 uint8_t registerOffset,
220 extern void ADI_Wait(uint32_t waitTime);
229 extern void ADI_WriteDataBits(uint8_t *pSentData, uint8_t dataToWrite, uint8_t position, uint8_t mask);
261 const uint16_t *registerToWrite,
267 #ifdef UNITY_UNIT_TEST
268 extern void TEST_ADI_StoredConfigurationFillRegisterData(
271 uint8_t registerOffset,
276 extern void TEST_ADI_IncrementCommandCounter(
ADI_STATE_s *adiState);
Header for the configuration for the ADI analog front-end.
Headers for the driver for the ades183x analog front-end.
ADI_PEC_FAULT_INJECTION_e
void ADI_WriteCommandConfigurationBits(uint16_t *configuredCommand, uint8_t position, uint8_t length, uint16_t configuration)
write configuration bits in commands (e.g., channel in ADAX command).
void ADI_WriteDataBits(uint8_t *pSentData, uint8_t dataToWrite, uint8_t position, uint8_t mask)
Helper function to write specific bits in data to be sent.
void ADI_ReadDataBits(uint8_t receivedData, uint8_t *pDataToRead, uint8_t position, uint8_t mask)
Helper function to read specific bits from received data.
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_ClearCommandCounter(ADI_STATE_s *adiState)
Send RSTCC to AFEs in daisy-chain and clear command counter of AFE driver.
void ADI_WriteRegister(const uint16_t *registerToWrite, uint8_t *data, ADI_PEC_FAULT_INJECTION_e pecFaultInjection, ADI_STATE_s *adiState)
sends command to the ades183x daisy-chain to write data.
STD_RETURN_TYPE_e ADI_CheckConfigurationRegister(ADI_CFG_REGISTER_SET_e registerSet, ADI_STATE_s *adiState)
Compares the configuration stored in the AFE driver with the configuration read from the AFEs.
void ADI_StoredConfigurationWriteToAfeGlobal(ADI_STATE_s *adiState)
Sends data in the configuration stored in driver to all AFEs in the daisy chain, for all configuratio...
void ADI_StoredConfigurationFillRegisterDataGlobal(ADI_CFG_REGISTER_SET_e registerSet, uint8_t registerOffset, uint8_t data, uint8_t position, uint8_t mask, ADI_STATE_s *adiState)
Writes data in the configuration stored in AFE driver, for all AFEs in the daisy-chain.
void ADI_SpiTransmitReceiveData(ADI_STATE_s *adiState, uint16_t *pTxBuff, uint16_t *pRxBuff, uint32_t frameLength)
Transmits and receives data on SPI.
void ADI_WriteRegisterGlobal(const uint16_t *registerToWrite, uint8_t *data, ADI_PEC_FAULT_INJECTION_e pecFaultInjection, ADI_STATE_s *adiState)
Write the same 6 bytes to all devices in the daisy-chain.
STD_RETURN_TYPE_e ADI_StoredConfigurationWriteToAfe(ADI_CFG_REGISTER_SET_e registerSet, ADI_STATE_s *adiState)
Sends data in the configuration stored in driver to all AFEs in the daisy chain, for a specific confi...
void ADI_TransmitCommand(uint16_t *command, ADI_STATE_s *adiState)
send command to the ades183x daisy-chain (e.g., start voltage measurement).
void ADI_Wait(uint32_t waitTime)
wait for a certain number of milliseconds
void ADI_CopyCommandBits(const uint16_t *sourceCommand, uint16_t *destinationCommand)
copy command bits in variables.