rsiot/components/cmp_esp_can/
can_timing.rs1use esp_idf_svc::hal::can::config::Timing;
2
3use crate::components_config::can_general::CanSettingsBitrate;
4
5impl From<CanSettingsBitrate> for Timing {
6 fn from(value: CanSettingsBitrate) -> Self {
7 match value {
8 CanSettingsBitrate::Standard {
9 bitrate,
10 sample_point: _,
11 } => match bitrate {
12 25_000 => Timing::B25K,
13 50_000 => Timing::B50K,
14 100_000 => Timing::B100K,
15 125_000 => Timing::B125K,
16 250_000 => Timing::B250K,
17 500_000 => Timing::B500K,
18 800_000 => Timing::B800K,
19 1_000_000 => Timing::B1M,
20 _ => panic!("Unsupported bitrate: {:?}", value),
21 },
22 CanSettingsBitrate::Custom {
23 tq: _,
24 prop_seg: _,
25 phase_seg1: _,
26 phase_seg2: _,
27 sjw: _,
28 } => panic!("Unsupported bitrate: {:?}", value),
29 }
30 }
31}