#include "CLS_BSP.h" #ifdef CLS_BSP_FDCAN HAL_StatusTypeDef CLS_BSP_CAN_AddMessageToSend(CLS_BSP_TxHeaderType * header, uint8_t * data) { if (HAL_FDCAN_GetTxFifoFreeLevel(&hfdcan1) > 0) { return HAL_FDCAN_AddMessageToTxFifoQ(&hfdcan1, header, data); } return HAL_ERROR; } HAL_StatusTypeDef CLS_BSP_CAN_SetUniversalFilter(const CLS_BSP_CAN_UniversalFilter * filter) { FDCAN_FilterTypeDef sFilterConfig; sFilterConfig.IdType = FDCAN_STANDARD_ID; sFilterConfig.FilterIndex = filter->filterIndex; sFilterConfig.FilterType = filter->filterMode; sFilterConfig.FilterConfig = filter->filterDestination; sFilterConfig.FilterID1 = filter->id0; sFilterConfig.FilterID2 = filter->id1; return HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig); } #endif uint8_t CLS_BSP_DLC_ToBytes(uint32_t dlc) { switch (dlc) { case CLS_BSP_DLC_BYTES_1: return 1; case CLS_BSP_DLC_BYTES_2: return 2; case CLS_BSP_DLC_BYTES_3: return 3; case CLS_BSP_DLC_BYTES_4: return 4; case CLS_BSP_DLC_BYTES_5: return 5; case CLS_BSP_DLC_BYTES_6: return 6; case CLS_BSP_DLC_BYTES_7: return 7; case CLS_BSP_DLC_BYTES_8: return 8; default: return 0; } } CLS_Type_t CLS_BSP_GetDeviceType(void) { return cls_device_Type_MASTER; } void CLS_BSP_SetDeviceType(CLS_Type_t type) { } CLS_Position_t CLS_BSP_GetPosition(void) { CLS_Position_t position; position.p0 = cls_device_Position_FRONT; position.p1 = cls_device_Position_CENTER; return position; } void CLS_BSP_SetPosition(CLS_Position_t position) { }