58 #ifndef FOXBMS__CAN_H_
59 #define FOXBMS__CAN_H_
69 #define CAN_TOTAL_NUMBER_OF_MESSAGE_BOXES (64u)
74 #define CAN_NR_OF_TX_MESSAGE_BOX (32u)
79 #define CAN_TICK_ms (10u)
161 #ifdef UNITY_UNIT_TEST
163 extern void TEST_CAN_ValidateConfiguredTxMessagePeriod(
void);
164 extern void TEST_CAN_ValidateConfiguredTxMessagePhase(
void);
165 extern void TEST_CAN_CheckDatabaseNullPointer(
CAN_SHIM_s canShim);
166 extern void TEST_CAN_TxInterrupt(canBASE_t *pNode, uint32 messageBox);
167 extern void TEST_CAN_RxInterrupt(canBASE_t *pNode, uint32 messageBox);
169 extern uint32_t TEST_CAN_CalculateCounterResetValue(
void);
170 extern void TEST_CAN_CheckCanTiming(
void);
171 extern bool TEST_CAN_IsMessagePeriodElapsed(uint32_t ticksSinceStart, uint16_t messageIndex);
172 #if BS_CURRENT_SENSOR_PRESENT == true
173 extern void TEST_CAN_SetCurrentSensorPresent(
bool command, uint8_t stringNumber);
174 extern void TEST_CAN_SetCurrentSensorCcPresent(
bool command, uint8_t stringNumber);
175 extern void TEST_CAN_SetCurrentSensorEcPresent(
bool command, uint8_t stringNumber);
176 extern void TEST_CAN_CheckCanTimingOfCurrentSensor(
void);
178 extern void TEST_CAN_ConfigureRxMailboxesForExtendedIdentifiers(
void);
179 extern void TEST_CAN_InitializeTransceiver(
void);
180 extern CAN_NODE_s *TEST_CAN_GetNodeConfigurationStructFromRegisterAddress(canBASE_t *pNodeRegister);
#define BS_NR_OF_STRINGS
Number of parallel strings in the battery pack.
bool CAN_IsCurrentSensorCcPresent(uint8_t stringNumber)
get flag if CC message from current sensor is received.
void CAN_MainFunction(void)
Calls the functions to drive the CAN interface. Makes the CAN timing checks and sends the periodic me...
bool CAN_IsCurrentSensorEcPresent(uint8_t stringNumber)
get flag if EC message from current sensor is received
void CAN_SendMessagesFromQueue(void)
Reads messages from TX Queue and sends them via CAN.
void CAN_ReadRxBuffer(void)
Checks the data received per CAN. A receive buffer is used because CAN frames are received in an inte...
bool CAN_IsCurrentSensorPresent(uint8_t stringNumber)
set flag for presence of current sensor.
STD_RETURN_TYPE_e CAN_DataSend(CAN_NODE_s *pNode, uint32_t id, CAN_IDENTIFIER_TYPE_e idType, uint8 *pData)
Sends over CAN the data passed in parameters. This function goes over the message boxes and marks the...
void CAN_Initialize(void)
Enables the CAN transceiver.. This function sets th pins to enable the CAN transceiver....
void CAN_EnablePeriodic(bool command)
Enables periodic sending per CAN. This is used to prevent sending uninitialized data per CAN (e....
Headers for the configuration for the CAN module.