Files
cls_master/Application/CLS_BSP/CLS_BSP.c

70 lines
1.7 KiB
C

#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) {
}