FDCAN specific definitions. More...
FDCAN specific definitions.
Definition in file fdcandev_stm32.h.
#include "can/candev.h"
Include dependency graph for fdcandev_stm32.h:Go to the source code of this file.
Data Structures | |
| struct | can_conf_t |
| ESP CAN device configuration. More... | |
| struct | candev_stm32_rx_mailbox |
| This structure holds anything related to the receive part. More... | |
| struct | candev_stm32_isr |
| Internal interrupt flags. More... | |
| struct | can |
| Low level device structure for ESP32 CAN (extension of candev_t) More... | |
Macros | |
| #define | FDCANDEV_STM32_CHAN_NUMOF 1 |
| Number of channels in the device (up to 3) | |
| #define | FDCANDEV_STM32_DEFAULT_SPT 875 |
| Default sampling-point. | |
| #define | HAVE_CAN_CONF_T |
| can_conf_t is re-defined | |
| #define | HAVE_CAN_T |
| can_t is re-defined | |
| #define | FDCAN_SRAM_MESSAGE_RAM_SIZE 0x350 |
| FDCAN SRAM message size. | |
Typedefs | |
| typedef struct can | can_t |
| FDCAN candev descriptor. | |
| typedef struct candev_stm32_rx_mailbox | candev_stm32_rx_mailbox_t |
| This structure holds anything related to the receive part. | |
| typedef struct candev_stm32_isr | candev_stm32_isr_t |
| Internal interrupt flags. | |
Functions | |
| void | candev_stm32_set_pins (can_t *dev, gpio_t tx_pin, gpio_t rx_pin, gpio_af_t af) |
| Set the pins of an stm32 CAN device. More... | |
ISR functions | |
| #define | ISR_FDCAN1_IT0 isr_fdcan1_it0 |
| Interrupt line 0. | |
| #define | ISR_FDCAN1_IT1 isr_fdcan1_it1 |
| Interrupt line 1. | |
Filters | |
| #define | FDCAN_STM32_NB_STD_FILTER 28U |
| Number of standard filters. | |
| #define | FDCAN_STM32_NB_EXT_FILTER 8U |
| Number of extended filters. | |
| #define | FDCAN_STM32_NB_FILTER (FDCAN_STM32_NB_STD_FILTER + FDCAN_STM32_NB_EXT_FILTER) |
| Total number of filters. | |
Birates | |
| #define | FDCANDEV_STM32_DEFAULT_BITRATE 500000U |
| Default bitrate for headers and non-FDCAN messages. | |
| #define | FDCANDEV_STM32_DEFAULT_FD_DATA_BITRATE 1000000U |
| Default FDCAN data bitrate. | |
STM32 mailboxes | |
| #define | FDCAN_STM32_TX_MAILBOXES 3 |
| Number of frame the driver can transmit simultaneously. | |
| #define | FDCAN_STM32_RX_MAILBOXES (FDCANDEV_STM32_CHAN_NUMOF * 6) |
| Maximum number of frame the driver can receive simultaneously. More... | |
Message RAM addresses - 32 bits aligned | |
| #define | FDCAN_SRAM_FLESA 0x1CU |
| Filter List Extended Start Address. | |
| #define | FDCAN_SRAM_F0SA 0x2CU |
| Rx FIFO0 Start Address. | |
| #define | FDCAN_SRAM_F1SA 0x62U |
| Rx FIFO1 Start Address. | |
| #define | FDCAN_SRAM_EFSA 0x98U |
| Event FIFO Start Address. | |
| #define | FDCAN_SRAM_TBSA 0x9EU |
| Tx Buffer Start Address. | |
Standard filter bit definition | |
| #define | FDCAN_SRAM_FLS_SFID1_Pos (16U) |
| Standard filter ID 1 position. | |
| #define | FDCAN_SRAM_FLS_SFID1_Msk (0x7FFU << FDCAN_SRAM_FLS_SFID1_Pos) |
| Standard filter ID 1 mask. | |
| #define | FDCAN_SRAM_FLS_SFID1 FDCAN_SRAM_FLS_SFID1_Msk |
| Standard filter ID 1. | |
| #define | FDCAN_SRAM_FLS_SFID2_Msk (0x7FFU) |
| Standard filter ID 2 mask. | |
| #define | FDCAN_SRAM_FLS_SFID2 FDCAN_SRAM_FLS_SFID2_Msk |
| Standard filter ID 2. | |
| #define | FDCAN_SRAM_FLS_SFT_Pos (30U) |
| Standard filter type position. | |
| #define | FDCAN_SRAM_FLS_SFT_Msk (0x3U << FDCAN_SRAM_FLS_SFT_Pos) |
| Standard filter type mask. | |
| #define | FDCAN_SRAM_FLS_SFT FDCAN_SRAM_FLS_SFT_Msk |
| Standard filter type. | |
| #define | FDCAN_SRAM_FLS_SFEC_Pos (27U) |
| Standard filter element configuration position. | |
| #define | FDCAN_SRAM_FLS_SFEC_Msk (0x7U << FDCAN_SRAM_FLS_SFEC_Pos) |
| Standard filter element configuration mask. | |
| #define | FDCAN_SRAM_FLS_SFEC FDCAN_SRAM_FLS_SFEC_Msk |
| Standard filter element configuration. | |
Standard filter configuration | |
| #define | FDCAN_SRAM_FLS_FILTER_SIZE 1U |
| Standard filter size. | |
| #define | FDCAN_SRAM_FLS_SFT_DISABLED (0x3U << FDCAN_SRAM_FLS_SFT_Pos) |
| Filter element disabled. | |
| #define | FDCAN_SRAM_FLS_SFT_CLASSIC (0x2U << FDCAN_SRAM_FLS_SFT_Pos) |
| Classic filter. | |
| #define | FDCAN_SRAM_FLS_SFEC_DISABLED (0x0U << FDCAN_SRAM_FLS_SFEC_Pos) |
| Filter element disabled. | |
| #define | FDCAN_SRAM_FLS_SFEC_FIFO0 (0x1U << FDCAN_SRAM_FLS_SFEC_Pos) |
| Use FIFO0 if filter matches. | |
| #define | FDCAN_SRAM_FLS_SFEC_FIFO1 (0x2U << FDCAN_SRAM_FLS_SFEC_Pos) |
| Use FIFO1 if filter matches. | |
Extended filter bit definition | |
| #define | FDCAN_SRAM_FLE_F0_EFID1_Msk 0x1FFFFFFFU |
| Extended filter ID 1 mask. | |
| #define | FDCAN_SRAM_FLE_F0_EFID1 FDCAN_SRAM_FLE_F0_EFID1_Msk |
| Extended filter ID 1. | |
| #define | FDCAN_SRAM_FLE_F1_EFID2_Msk 0x1FFFFFFFU |
| Extended filter ID 2 mask. | |
| #define | FDCAN_SRAM_FLE_F1_EFID2 FDCAN_SRAM_FLE_F1_EFID2_Msk |
| Extended filter ID 2. | |
| #define | FDCAN_SRAM_FLE_F1_EFT_Pos 30U |
| Extended filter type position. | |
| #define | FDCAN_SRAM_FLE_F1_EFT_Msk (0x3U << FDCAN_SRAM_FLE_F1_EFT_Pos) |
| Extended filter type mask. | |
| #define | FDCAN_SRAM_FLE_F1_EFT FDCAN_SRAM_FLE_F1_EFT_Msk |
| Extended filter type. | |
| #define | FDCAN_SRAM_FLE_F0_EFEC_Pos 29U |
| Extended filter element configuration position. | |
| #define | FDCAN_SRAM_FLE_F0_EFEC_Msk (0x7U << FDCAN_SRAM_FLE_F0_EFEC_Pos) |
| Extended filter element configuration mask. | |
| #define | FDCAN_SRAM_FLE_F0_EFEC FDCAN_SRAM_FLE_F0_EFEC_Msk |
| Extended filter element configuration. | |
Extended filter configuration | |
| #define | FDCAN_SRAM_FLE_FILTER_SIZE 2U |
| Extended filter size. | |
| #define | FDCAN_SRAM_FLE_F1_EFT_CLASSIC (0x2U << FDCAN_SRAM_FLE_F1_EFT_Pos) |
| Classic filter. | |
| #define | FDCAN_SRAM_FLE_F0_EFEC_DISABLED (0x0U) |
| Disabled filter. | |
| #define | FDCAN_SRAM_FLE_F0_EFEC_FIFO0 (0x1U << FDCAN_SRAM_FLE_F0_EFEC_Pos) |
| Use FIFO0 if filter matches. | |
| #define | FDCAN_SRAM_FLE_F0_EFEC_FIFO1 (0x2U << FDCAN_SRAM_FLE_F0_EFEC_Pos) |
| Use FIFI1 if filter matches. | |
| #define FDCAN_STM32_RX_MAILBOXES (FDCANDEV_STM32_CHAN_NUMOF * 6) |
Maximum number of frame the driver can receive simultaneously.
There are 3 buffers per FIFO and 2 FIFO per channel.
Definition at line 114 of file fdcandev_stm32.h.