Files
cls_master/Application/CLS_BSP/CLS_BSP.h
2024-04-29 04:18:37 +02:00

61 lines
1.6 KiB
C

#define CLS_BSP_FDCAN
#ifdef CLS_BSP_FDCAN
#include "fdcan.h"
#include "CLS.h"
typedef FDCAN_TxHeaderTypeDef CLS_BSP_TxHeaderType;
#define CREATE_BSP_CAN_HEADER(identifier, datalength) \
{ \
.IdType = FDCAN_STANDARD_ID, \
.Identifier = identifier, \
.TxFrameType = FDCAN_DATA_FRAME, \
.DataLength = datalength, \
.ErrorStateIndicator = FDCAN_ESI_PASSIVE, \
.BitRateSwitch = FDCAN_BRS_OFF, \
.FDFormat = FDCAN_CLASSIC_CAN, \
.TxEventFifoControl = FDCAN_NO_TX_EVENTS, \
.MessageMarker = 0xCC, \
}
#define CLS_BSP_DLC_BYTES_1 FDCAN_DLC_BYTES_1
#define CLS_BSP_DLC_BYTES_2 FDCAN_DLC_BYTES_2
#define CLS_BSP_DLC_BYTES_3 FDCAN_DLC_BYTES_3
#define CLS_BSP_DLC_BYTES_4 FDCAN_DLC_BYTES_4
#define CLS_BSP_DLC_BYTES_5 FDCAN_DLC_BYTES_5
#define CLS_BSP_DLC_BYTES_6 FDCAN_DLC_BYTES_6
#define CLS_BSP_DLC_BYTES_7 FDCAN_DLC_BYTES_7
#define CLS_BSP_DLC_BYTES_8 FDCAN_DLC_BYTES_8
#define CLS_CAN_FILTER_DISABLE FDCAN_FILTER_DISABLE
#define CLS_CAN_FILTER_TO_RXFIFO0 FDCAN_FILTER_TO_RXFIFO0
#define CLS_CAN_FILTER_TO_RXFIFO1 FDCAN_FILTER_TO_RXFIFO1
#define CLS_BSP_CAN_FILTER_LIST FDCAN_FILTER_DUAL
#endif
typedef struct {
uint32_t filterIndex;
uint32_t filterDestination;
uint32_t filterMode;
uint16_t id0;
uint16_t id1;
} CLS_BSP_CAN_UniversalFilter;
HAL_StatusTypeDef CLS_BSP_CAN_AddMessageToSend(CLS_BSP_TxHeaderType * header, uint8_t * data);
HAL_StatusTypeDef CLS_BSP_CAN_SetUniversalFilter(const CLS_BSP_CAN_UniversalFilter * filter);
CLS_Type_t CLS_BSP_GetDeviceType(void);
void CLS_BSP_SetDeviceType(CLS_Type_t type);
CLS_Position_t CLS_BSP_GetPosition(void);
void CLS_BSP_SetPosition(CLS_Position_t position);