RTEMS: bsps/arm/atsam/include/libchip/include/mcan.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Typedefs | Enumerations | Functions | Variables
mcan.h File Reference
`#include "chip.h"`
`#include <stdint.h>`

Go to the source code of this file.

## Data Structures
struct | MailboxInfoTag
struct | MailBox8Tag
struct | MailBox12Tag
struct | MailBox16Tag
struct | MailBox20Tag
struct | MailBox24Tag
struct | MailBox32Tag
struct | MailBox48Tag
struct | MailBox64Tag
struct | MCan_MsgRamPntrsTag
struct | MCan_ConfigTag

## Typedefs
typedef struct MailboxInfoTag | MailboxInfoType
typedef struct MailBox8Tag | Mailbox8Type
typedef struct MailBox12Tag | Mailbox12Type
typedef struct MailBox16Tag | Mailbox16Type
typedef struct MailBox20Tag | Mailbox20Type
typedef struct MailBox24Tag | Mailbox24Type
typedef struct MailBox32Tag | Mailbox32ype
typedef struct MailBox48Tag | Mailbox48Type
typedef struct MailBox64Tag | Mailbox64Type
typedef struct MCan_MsgRamPntrsTag | MCan_MsgRamPntrs
typedef struct MCan_ConfigTag | MCan_ConfigType

## Enumerations
enum | MCan_IdType { CAN_STD_ID = 0 , CAN_EXT_ID = 1 }
enum | MCan_DlcType { CAN_DLC_0 = 0 , CAN_DLC_1 = 1 , CAN_DLC_2 = 2 , CAN_DLC_3 = 3 , CAN_DLC_4 = 4 , CAN_DLC_5 = 5 , CAN_DLC_6 = 6 , CAN_DLC_7 = 7 , CAN_DLC_8 = 8 , CAN_DLC_12 = 9 , CAN_DLC_16 = 10 , CAN_DLC_20 = 11 , CAN_DLC_24 = 12 , CAN_DLC_32 = 13 , CAN_DLC_48 = 14 , CAN_DLC_64 = 15 }
enum | MCan_FifoType { CAN_FIFO_0 = 0 , CAN_FIFO_1 = 1 }
enum | MCan_IntrLineType { CAN_INTR_LINE_0 = 0 , CAN_INTR_LINE_1 = 1 }

## Functions
__STATIC_INLINE uint32_t | MCAN_IsTxComplete (const MCan_ConfigType *mcanConfig)
__STATIC_INLINE void | MCAN_ClearTxComplete (const MCan_ConfigType *mcanConfig)
__STATIC_INLINE uint32_t | MCAN_IsMessageStoredToRxDedBuffer (const MCan_ConfigType *mcanConfig)
__STATIC_INLINE void | MCAN_ClearMessageStoredToRxBuffer (const MCan_ConfigType *mcanConfig)
__STATIC_INLINE uint32_t | MCAN_IsMessageStoredToRxFifo0 (const MCan_ConfigType *mcanConfig)
__STATIC_INLINE void | MCAN_ClearMessageStoredToRxFifo0 (const MCan_ConfigType *mcanConfig)
__STATIC_INLINE uint32_t | MCAN_IsMessageStoredToRxFifo1 (const MCan_ConfigType *mcanConfig)
__STATIC_INLINE void | MCAN_ClearMessageStoredToRxFifo1 (const MCan_ConfigType *mcanConfig)
void | MCAN_Init (const MCan_ConfigType *mcanConfig)
| Initializes the MCAN hardware for giving peripheral. Default: Mixed mode TX Buffer + FIFO.
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()
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()
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()
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()
void | MCAN_Enable (const MCan_ConfigType *mcanConfig)
| Enable MCAN peripheral. INIT must be set - so this should be called between MCAN_Init()
void | MCAN_RequestIso11898_1 (const MCan_ConfigType *mcanConfig)
| Requests switch to Iso11898-1 (standard / classic) mode (tx & rx payloads up to 8 bytes).
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.
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.
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()
void | MCAN_LoopbackOff (const MCan_ConfigType *mcanConfig)
| Switch off loop back mode.
void | MCAN_IEnableMessageStoredToRxDedBuffer (const MCan_ConfigType *mcanConfig, MCan_IntrLineType line)
| Enable message line and message stored to Dedicated Receive Buffer Interrupt Line.
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.
void | MCAN_SendTxDedBuffer (const MCan_ConfigType *mcanConfig, uint8_t buffer)
| Send Tx buffer.
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.
uint8_t | MCAN_IsBufferTxd (const MCan_ConfigType *mcanConfig, uint8_t buffer)
| Check if data transmitted from buffer/fifo/queue.
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.
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.
uint8_t | MCAN_IsNewDataInRxDedBuffer (const MCan_ConfigType *mcanConfig, uint8_t buffer)
| check if data received into buffer
void | MCAN_GetRxDedBuffer (const MCan_ConfigType *mcanConfig, uint8_t buffer, Mailbox64Type *pRxMailbox)
| Get Rx buffer.
uint32_t | MCAN_GetRxFifoBuffer (const MCan_ConfigType *mcanConfig, MCan_FifoType fifo, Mailbox64Type *pRxMailbox)
| Get from the receive FIFO and place in a application mailbox.

## Variables
const MCan_ConfigType | mcan0Config
const MCan_ConfigType | mcan1Config

## Detailed Description

# Purpose

Interface for configuring and using Timer Counter (TC) peripherals.

# Usage

1. Optionally, use TC_FindMckDivisor() to let the program find the best TCCLKS field value automatically.
2. Configure a Timer Counter in the desired mode using TC_Configure().
3. Start or stop the timer clock using TC_Start() and TC_Stop().