can-bit-timings

Crates.iocan-bit-timings
lib.rscan-bit-timings
version1.1.0
sourcesrc
created_at2021-02-21 11:00:42.013154
updated_at2021-02-22 16:22:25.940526
descriptionThis is a procedural macro to calculate CAN bus timings
homepage
repositoryhttps://github.com/ASMfreaK/can_bit_timings
max_upload_size
id358465
size25,854
Pavel Pletenev (ASMfreaK)

documentation

https://docs.rs/can-bit-timings

README

can_bit_timings

CI Crates.io

This is a procedural macro (originally a constexpr function (const fn)) to calculate CAN bus timings for different STM32 MCUs bxcan module. It can be useful to calculate timings for different MCUs, but one should write a function formatting the calculated values into appropriate register value.

This project is based on a similar piece of code from modm project. You can find out more on bit timings here

Example:

#[no-std]
use can_bus_timings::can_timings_bxcan;

const fn can0_timings() -> u32{
    can_timings_bxcan!(10.mhz(), 1.mhz())
}

fn main(){
    // ... CAN hardware initialization
    can0_timings();
}
Commit count: 8

cargo fmt