2023-03-14 15:13:25 +01:00
|
|
|
# FaSTTUBe CAN Abstraction Layer
|
|
|
|
|
|
|
|
This repository contains an abstraction layer to provide a simplified & unified
|
|
|
|
interface to the STM32 bxCAN and FDCAN peripherals.
|
|
|
|
|
2023-03-14 16:22:58 +01:00
|
|
|
**Warning**: Currently, only bxCAN (for the STM32F3 series) is supported.
|
|
|
|
|
2023-03-14 15:13:25 +01:00
|
|
|
## Installation
|
|
|
|
|
|
|
|
Simply add the repository to your `Core/Lib` directory. You can also add it as a
|
|
|
|
git submodule:
|
|
|
|
|
|
|
|
mkdir -p Core/Lib
|
|
|
|
cd Core/Lib
|
|
|
|
git submodule add ssh://git@git.fasttube.de:313/FaSTTUBe/FT_CAN_AL.git
|
2023-03-14 16:22:58 +01:00
|
|
|
|
|
|
|
The library needs to be told what STM family you're using, so make sure one of
|
|
|
|
the following symbols is defined when `FT_CAN_AL.c` is compiled or `FT_CAN_AL.h`
|
|
|
|
is included:
|
|
|
|
|
|
|
|
- STM32F3
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
1. Include `FT_CAN_AL.h`
|
|
|
|
2. Call `ftcan_init()` with the appropriate handle
|
|
|
|
3. Call `ftcan_add_filter()` with all your filters
|
|
|
|
4. To transmit messages, call `ftcan_transmit()`
|
|
|
|
5. When a message is received, `ftcan_msg_received_cb()` is called. It has a
|
|
|
|
default empty implementation, which you can simply override.
|