![]() |
RTEMS 5.2
|
Macros | |
#define | MAILBOX_ADDRESS(address) (0xFFFC & (address)) |
#define | CAN_CLK_FREQ_HZ MCAN_PROG_CLK_FREQ_HZ |
#define | MCAN0_TSEG1 (MCAN0_PROP_SEG + MCAN0_PHASE_SEG1) |
#define | MCAN0_TSEG2 (MCAN0_PHASE_SEG2) |
#define | MCAN0_BRP |
#define | MCAN0_SJW (MCAN0_SYNC_JUMP - 1) |
#define | MCAN0_FTSEG1 (MCAN0_FAST_PROP_SEG + MCAN0_FAST_PHASE_SEG1) |
#define | MCAN0_FTSEG2 (MCAN0_FAST_PHASE_SEG2) |
#define | MCAN0_FBRP |
#define | MCAN0_FSJW (MCAN0_FAST_SYNC_JUMP - 1) |
#define | MCAN0_STD_FLTS_WRDS (MCAN0_NMBR_STD_FLTS) |
#define | MCAN0_EXT_FLTS_WRDS (MCAN0_NMBR_EXT_FLTS * 2) |
#define | MCAN0_RX_FIFO0_WRDS |
#define | MCAN0_RX_FIFO1_WRDS |
#define | MCAN0_RX_DED_BUFS_WRDS |
#define | MCAN0_TX_EVT_FIFO_WRDS (MCAN0_NMBR_TX_EVT_FIFO_ELMTS * 2) |
#define | MCAN0_TX_DED_BUF_WRDS |
#define | MCAN0_TX_FIFO_Q_WRDS |
#define | MCAN1_TSEG1 (MCAN1_PROP_SEG + MCAN1_PHASE_SEG1) |
#define | MCAN1_TSEG2 (MCAN1_PHASE_SEG2) |
#define | MCAN1_BRP |
#define | MCAN1_SJW (MCAN1_SYNC_JUMP - 1) |
#define | MCAN1_FTSEG1 (MCAN1_FAST_PROP_SEG + MCAN1_FAST_PHASE_SEG1) |
#define | MCAN1_FTSEG2 (MCAN1_FAST_PHASE_SEG2) |
#define | MCAN1_FBRP |
#define | MCAN1_FSJW (MCAN1_FAST_SYNC_JUMP - 1) |
#define | MCAN1_STD_FLTS_WRDS (MCAN1_NMBR_STD_FLTS) |
#define | MCAN1_EXT_FLTS_WRDS (MCAN1_NMBR_EXT_FLTS * 2) |
#define | MCAN1_RX_FIFO0_WRDS |
#define | MCAN1_RX_FIFO1_WRDS |
#define | MCAN1_RX_DED_BUFS_WRDS |
#define | MCAN1_TX_EVT_FIFO_WRDS (MCAN1_NMBR_TX_EVT_FIFO_ELMTS * 2) |
#define | MCAN1_TX_DED_BUF_WRDS |
#define | MCAN1_TX_FIFO_Q_WRDS |
#define | CAN_11_BIT_ID_MASK (0x7FF) |
#define | CAN_29_BIT_ID_MASK (0x1FFFFFFF) |
#define | ELMT_SIZE_MASK (0x1F) |
#define | BUFFER_XTD_MASK (0x40000000) |
#define | BUFFER_EXT_ID_MASK (0x1FFFFFFF) |
#define | BUFFER_STD_ID_MASK (0x1FFC0000) |
#define | BUFFER_DLC_MASK (0x000F0000) |
#define | BUFFER_RXTS_MASK (0x0000FFFF) |
#define | STD_FILT_SFT_MASK (3U << 30) |
#define | STD_FILT_SFT_RANGE (0U << 30) |
#define | STD_FILT_SFT_DUAL (1U << 30) |
#define | STD_FILT_SFT_CLASSIC (2U << 30) |
#define | STD_FILT_SFEC_MASK (7U << 27) |
#define | STD_FILT_SFEC_DISABLE (0U << 27) |
#define | STD_FILT_SFEC_FIFO0 (1U << 27) |
#define | STD_FILT_SFEC_FIFO1 (2U << 27) |
#define | STD_FILT_SFEC_REJECT (3U << 27) |
#define | STD_FILT_SFEC_PRIORITY (4U << 27) |
#define | STD_FILT_SFEC_PRIORITY_FIFO0 (5U << 27) |
#define | STD_FILT_SFEC_PRIORITY_FIFO1 (6U << 27) |
#define | STD_FILT_SFEC_BUFFER (7U << 27) |
#define | STD_FILT_SFID1_MASK (0x03FFU << 16) |
#define | STD_FILT_SFID2_MASK (0x3FFU << 0) |
#define | STD_FILT_SFID2_RX_BUFFER (0U << 9) |
#define | STD_FILT_SFID2_DEBUG_A (1U << 9) |
#define | STD_FILT_SFID2_DEBUG_B (2U << 9) |
#define | STD_FILT_SFID2_DEBUG_C (3U << 9) |
#define | STD_FILT_SFID2_BUFFER(nmbr) (nmbr & 0x3F) |
#define | EXT_FILT_EFEC_MASK (7U << 29) |
#define | EXT_FILT_EFEC_DISABLE (0U << 29) |
#define | EXT_FILT_EFEC_FIFO0 (1U << 29) |
#define | EXT_FILT_EFEC_FIFO1 (2U << 29) |
#define | EXT_FILT_EFEC_REJECT (3U << 29) |
#define | EXT_FILT_EFEC_PRIORITY (4U << 29) |
#define | EXT_FILT_EFEC_PRIORITY_FIFO0 (5U << 29) |
#define | EXT_FILT_EFEC_PRIORITY_FIFO1 (6U << 29) |
#define | EXT_FILT_EFEC_BUFFER (7U << 29) |
#define | EXT_FILT_EFID1_MASK (0x1FFFFFFF) |
#define | EXT_FILT_EFT_MASK (3U << 30) |
#define | EXT_FILT_EFT_RANGE (0U << 30) |
#define | EXT_FILT_EFT_DUAL (1U << 30) |
#define | EXT_FILT_EFT_CLASSIC (2U << 30) |
#define | EXT_FILT_EFT_RANGE_NO_XIDAM (3U << 30) |
#define | EXT_FILT_EFID2_MASK (0x1FFFFFFF) |
#define | EXT_FILT_EFID2_RX_BUFFER (0U << 9) |
#define | EXT_FILT_EFID2_DEBUG_A (1U << 9) |
#define | EXT_FILT_EFID2_DEBUG_B (2U << 9) |
#define | EXT_FILT_EFID2_DEBUG_C (3U << 9) |
#define | EXT_FILT_EFID2_BUFFER(nmbr) (nmbr & 0x3F) |
Functions | |
void | MCAN_Init (const MCan_ConfigType *mcanConfig) |
Initializes the MCAN hardware for giving peripheral. Default: Mixed mode TX Buffer + FIFO. More... | |
void | MCAN_InitFdEnable (const MCan_ConfigType *mcanConfig) |
Enables a FUTURE switch to FD mode (tx & rx payloads up to 64 bytes) but transmits WITHOUT bit rate switching INIT must be set - so this should be called between MCAN_Init() and MCAN_Enable() More... | |
void | MCAN_InitFdBitRateSwitchEnable (const MCan_ConfigType *mcanConfig) |
Enables a FUTURE switch to FD mode (tx & rx payloads up to 64 bytes) and transmits WITH bit rate switching INIT must be set - so this should be called between MCAN_Init() and MCAN_Enable() More... | |
void | MCAN_InitLoopback (const MCan_ConfigType *mcanConfig) |
Initializes the MCAN in loop back mode. INIT must be set - so this should be called between MCAN_Init() and MCAN_Enable() More... | |
void | MCAN_InitTxQueue (const MCan_ConfigType *mcanConfig) |
Initializes MCAN queue for TX INIT must be set - so this should be called between MCAN_Init() and MCAN_Enable() More... | |
void | MCAN_Enable (const MCan_ConfigType *mcanConfig) |
Enable MCAN peripheral. INIT must be set - so this should be called between MCAN_Init() More... | |
void | MCAN_RequestIso11898_1 (const MCan_ConfigType *mcanConfig) |
Requests switch to Iso11898-1 (standard / classic) mode (tx & rx payloads up to 8 bytes). More... | |
void | MCAN_RequestFd (const MCan_ConfigType *mcanConfig) |
Requests switch to FD mode (tx & rx payloads up to 64 bytes) but transmits WITHOUT bit rate switching. requested mode should have been enabled at initialization. More... | |
void | MCAN_RequestFdBitRateSwitch (const MCan_ConfigType *mcanConfig) |
Request switch to FD mode (tx & rx payloads up to 64 bytes) and transmits WITH bit rate switching. requested mode should have been enabled at initialization. More... | |
void | MCAN_LoopbackOn (const MCan_ConfigType *mcanConfig) |
Switch on loop back mode. TEST must be set in MCAN_CCCR - e.g. by a prior call to MCAN_InitLoopback() More... | |
void | MCAN_LoopbackOff (const MCan_ConfigType *mcanConfig) |
Switch off loop back mode. More... | |
void | MCAN_IEnableMessageStoredToRxDedBuffer (const MCan_ConfigType *mcanConfig, MCan_IntrLineType line) |
Enable message line and message stored to Dedicated Receive Buffer Interrupt Line. More... | |
uint8_t * | MCAN_ConfigTxDedBuffer (const MCan_ConfigType *mcanConfig, uint8_t buffer, uint32_t id, MCan_IdType idType, MCan_DlcType dlc) |
Configures a Dedicated TX Buffer. More... | |
void | MCAN_SendTxDedBuffer (const MCan_ConfigType *mcanConfig, uint8_t buffer) |
Send Tx buffer. More... | |
uint32_t | MCAN_AddToTxFifoQ (const MCan_ConfigType *mcanConfig, uint32_t id, MCan_IdType idType, MCan_DlcType dlc, uint8_t *data) |
Adds Message to TX Fifo / Queue. More... | |
uint8_t | MCAN_IsBufferTxd (const MCan_ConfigType *mcanConfig, uint8_t buffer) |
Check if data transmitted from buffer/fifo/queue. More... | |
void | MCAN_ConfigRxBufferFilter (const MCan_ConfigType *mcanConfig, uint32_t buffer, uint32_t filter, uint32_t id, MCan_IdType idType) |
Configure RX Buffer Filter ID must match exactly for a RX Buffer Filter. More... | |
void | MCAN_ConfigRxClassicFilter (const MCan_ConfigType *mcanConfig, MCan_FifoType fifo, uint8_t filter, uint32_t id, MCan_IdType idType, uint32_t mask) |
Configure Classic Filter Classic Filters direct accepted messages to a FIFO & include both a ID and a ID mask. More... | |
uint8_t | MCAN_IsNewDataInRxDedBuffer (const MCan_ConfigType *mcanConfig, uint8_t buffer) |
check if data received into buffer More... | |
void | MCAN_GetRxDedBuffer (const MCan_ConfigType *mcanConfig, uint8_t buffer, Mailbox64Type *pRxMailbox) |
Get Rx buffer. More... | |
uint32_t | MCAN_GetRxFifoBuffer (const MCan_ConfigType *mcanConfig, MCan_FifoType fifo, Mailbox64Type *pRxMailbox) |
Get from the receive FIFO and place in a application mailbox. More... | |
Variables | |
const MCan_ConfigType | mcan0Config |
const MCan_ConfigType | mcan1Config |
#define MCAN0_BRP |
#define MCAN0_FBRP |
#define MCAN0_RX_DED_BUFS_WRDS |
#define MCAN0_RX_FIFO0_WRDS |
#define MCAN0_RX_FIFO1_WRDS |
#define MCAN0_TX_DED_BUF_WRDS |
#define MCAN0_TX_FIFO_Q_WRDS |
#define MCAN1_BRP |
#define MCAN1_FBRP |
#define MCAN1_RX_DED_BUFS_WRDS |
#define MCAN1_RX_FIFO0_WRDS |
#define MCAN1_RX_FIFO1_WRDS |
#define MCAN1_TX_DED_BUF_WRDS |
#define MCAN1_TX_FIFO_Q_WRDS |
uint32_t MCAN_AddToTxFifoQ | ( | const MCan_ConfigType * | mcanConfig, |
uint32_t | id, | ||
MCan_IdType | idType, | ||
MCan_DlcType | dlc, | ||
uint8_t * | data | ||
) |
Adds Message to TX Fifo / Queue.
mcanConfig | Pointer to a MCAN instance. |
id | Message ID. |
idType | Type of ID |
dlc | Type of dlc. |
data | Pointer to data. |
void MCAN_ConfigRxBufferFilter | ( | const MCan_ConfigType * | mcanConfig, |
uint32_t | buffer, | ||
uint32_t | filter, | ||
uint32_t | id, | ||
MCan_IdType | idType | ||
) |
Configure RX Buffer Filter ID must match exactly for a RX Buffer Filter.
mcanConfig | Pointer to a MCAN instance. |
buffer | Pointer to data buffer. |
filter | data of filter. |
idType | Type of ID |
void MCAN_ConfigRxClassicFilter | ( | const MCan_ConfigType * | mcanConfig, |
MCan_FifoType | fifo, | ||
uint8_t | filter, | ||
uint32_t | id, | ||
MCan_IdType | idType, | ||
uint32_t | mask | ||
) |
Configure Classic Filter Classic Filters direct accepted messages to a FIFO & include both a ID and a ID mask.
mcanConfig | Pointer to a MCAN instance. |
buffer | Pointer to data buffer. |
fifo | fifo Number. |
filter | data of filter. |
idType | Type of ID |
mask | Mask to be match |
uint8_t * MCAN_ConfigTxDedBuffer | ( | const MCan_ConfigType * | mcanConfig, |
uint8_t | buffer, | ||
uint32_t | id, | ||
MCan_IdType | idType, | ||
MCan_DlcType | dlc | ||
) |
Configures a Dedicated TX Buffer.
mcanConfig | Pointer to a MCAN instance. |
buffer | Pointer to buffer. |
id | Message ID. |
idType | Type of ID |
dlc | Type of dlc. |
void MCAN_Enable | ( | const MCan_ConfigType * | mcanConfig | ) |
Enable MCAN peripheral. INIT must be set - so this should be called between MCAN_Init()
mcanConfig | Pointer to a MCAN instance. |
void MCAN_GetRxDedBuffer | ( | const MCan_ConfigType * | mcanConfig, |
uint8_t | buffer, | ||
Mailbox64Type * | pRxMailbox | ||
) |
Get Rx buffer.
mcanConfig | Pointer to a MCAN instance. |
buffer | Pointer to data buffer. |
pRxMailbox | Pointer to rx Mailbox. |
uint32_t MCAN_GetRxFifoBuffer | ( | const MCan_ConfigType * | mcanConfig, |
MCan_FifoType | fifo, | ||
Mailbox64Type * | pRxMailbox | ||
) |
Get from the receive FIFO and place in a application mailbox.
mcanConfig | Pointer to a MCAN instance. |
fifo | Fifo Number |
pRxMailbox | Pointer to rx Mailbox. |
void MCAN_IEnableMessageStoredToRxDedBuffer | ( | const MCan_ConfigType * | mcanConfig, |
MCan_IntrLineType | line | ||
) |
Enable message line and message stored to Dedicated Receive Buffer Interrupt Line.
mcanConfig | Pointer to a MCAN instance. |
line | Message line. |
void MCAN_Init | ( | const MCan_ConfigType * | mcanConfig | ) |
Initializes the MCAN hardware for giving peripheral. Default: Mixed mode TX Buffer + FIFO.
mcanConfig | Pointer to a MCAN instance. |
void MCAN_InitFdBitRateSwitchEnable | ( | const MCan_ConfigType * | mcanConfig | ) |
Enables a FUTURE switch to FD mode (tx & rx payloads up to 64 bytes) and transmits WITH bit rate switching INIT must be set - so this should be called between MCAN_Init() and MCAN_Enable()
mcanConfig | Pointer to a MCAN instance. |
void MCAN_InitFdEnable | ( | const MCan_ConfigType * | mcanConfig | ) |
Enables a FUTURE switch to FD mode (tx & rx payloads up to 64 bytes) but transmits WITHOUT bit rate switching INIT must be set - so this should be called between MCAN_Init() and MCAN_Enable()
mcanConfig | Pointer to a MCAN instance. |
void MCAN_InitLoopback | ( | const MCan_ConfigType * | mcanConfig | ) |
Initializes the MCAN in loop back mode. INIT must be set - so this should be called between MCAN_Init() and MCAN_Enable()
mcanConfig | Pointer to a MCAN instance. |
void MCAN_InitTxQueue | ( | const MCan_ConfigType * | mcanConfig | ) |
Initializes MCAN queue for TX INIT must be set - so this should be called between MCAN_Init() and MCAN_Enable()
mcanConfig | Pointer to a MCAN instance. |
uint8_t MCAN_IsBufferTxd | ( | const MCan_ConfigType * | mcanConfig, |
uint8_t | buffer | ||
) |
Check if data transmitted from buffer/fifo/queue.
mcanConfig | Pointer to a MCAN instance. |
buffer | Pointer to data buffer. |
uint8_t MCAN_IsNewDataInRxDedBuffer | ( | const MCan_ConfigType * | mcanConfig, |
uint8_t | buffer | ||
) |
check if data received into buffer
mcanConfig | Pointer to a MCAN instance. |
buffer | Pointer to data buffer. |
void MCAN_LoopbackOff | ( | const MCan_ConfigType * | mcanConfig | ) |
Switch off loop back mode.
mcanConfig | Pointer to a MCAN instance. |
void MCAN_LoopbackOn | ( | const MCan_ConfigType * | mcanConfig | ) |
Switch on loop back mode. TEST must be set in MCAN_CCCR - e.g. by a prior call to MCAN_InitLoopback()
mcanConfig | Pointer to a MCAN instance. |
void MCAN_RequestFd | ( | const MCan_ConfigType * | mcanConfig | ) |
Requests switch to FD mode (tx & rx payloads up to 64 bytes) but transmits WITHOUT bit rate switching. requested mode should have been enabled at initialization.
mcanConfig | Pointer to a MCAN instance. |
void MCAN_RequestFdBitRateSwitch | ( | const MCan_ConfigType * | mcanConfig | ) |
Request switch to FD mode (tx & rx payloads up to 64 bytes) and transmits WITH bit rate switching. requested mode should have been enabled at initialization.
mcanConfig | Pointer to a MCAN instance. |
void MCAN_RequestIso11898_1 | ( | const MCan_ConfigType * | mcanConfig | ) |
Requests switch to Iso11898-1 (standard / classic) mode (tx & rx payloads up to 8 bytes).
mcanConfig | Pointer to a MCAN instance. |
void MCAN_SendTxDedBuffer | ( | const MCan_ConfigType * | mcanConfig, |
uint8_t | buffer | ||
) |
Send Tx buffer.
mcanConfig | Pointer to a MCAN instance. |
buffer | Pointer to buffer. |