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;