can-halal/README.md

34 lines
1.1 KiB
Markdown
Raw Normal View History

2023-03-18 20:20:00 +01:00
# FaSTTUBe CAN HAL Abstraction Layer
2023-03-14 15:13:25 +01:00
This repository contains an abstraction layer to provide a simplified & unified
interface to the STM32 bxCAN and FDCAN peripherals.
## 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
2023-03-18 20:20:00 +01:00
git submodule add ssh://git@git.fasttube.de:313/FaSTTUBe/can-halal.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
2023-03-18 20:20:00 +01:00
the following symbols is defined when `can-halal.c` is compiled or `can-halal.h`
2023-03-14 16:22:58 +01:00
is included:
2023-03-16 22:45:44 +01:00
- `STM32F3`
- `STM32H7`
When using the FDCAN peripheral (H7 series), you also need to define
`FTCAN_NUM_FILTERS` (and set it to the value of "Std Filters Nbr" you configured
in your `.ioc`).
2023-03-14 16:22:58 +01:00
## Usage
2023-03-18 20:20:00 +01:00
1. Include `can-halal.h`
2023-03-14 16:22:58 +01:00
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.