dbc_rs/bit_timing/builder/mod.rs
1/// Builder for creating `BitTiming` programmatically.
2///
3/// This builder allows you to construct bit timing configuration when building
4/// DBC files programmatically.
5///
6/// # Examples
7///
8/// ```rust,no_run
9/// use dbc_rs::BitTimingBuilder;
10///
11/// // Empty bit timing (most common)
12/// let bt = BitTimingBuilder::new().build()?;
13/// assert!(bt.is_empty());
14///
15/// // With baudrate only
16/// let bt = BitTimingBuilder::new()
17/// .baudrate(500000)
18/// .build()?;
19/// assert_eq!(bt.baudrate(), Some(500000));
20///
21/// // With full timing parameters
22/// let bt = BitTimingBuilder::new()
23/// .baudrate(500000)
24/// .btr1(1)
25/// .btr2(2)
26/// .build()?;
27/// # Ok::<(), dbc_rs::Error>(())
28/// ```
29///
30/// # Feature Requirements
31///
32/// This builder requires the `std` feature to be enabled.
33#[derive(Debug, Clone)]
34pub struct BitTimingBuilder {
35 baudrate: Option<u32>,
36 btr1: Option<u32>,
37 btr2: Option<u32>,
38}
39
40mod build;
41mod impls;