pub struct BitTimingBuilder { /* private fields */ }Expand description
Builder for creating BitTiming programmatically.
This builder allows you to construct bit timing configuration when building DBC files programmatically.
§Examples
use dbc_rs::BitTimingBuilder;
// Empty bit timing (most common)
let bt = BitTimingBuilder::new().build()?;
assert!(bt.is_empty());
// With baudrate only
let bt = BitTimingBuilder::new()
.baudrate(500000)
.build()?;
assert_eq!(bt.baudrate(), Some(500000));
// With full timing parameters
let bt = BitTimingBuilder::new()
.baudrate(500000)
.btr1(1)
.btr2(2)
.build()?;§Feature Requirements
This builder requires the std feature to be enabled.
Implementations§
Source§impl BitTimingBuilder
impl BitTimingBuilder
Sourcepub fn build(self) -> Result<BitTiming>
pub fn build(self) -> Result<BitTiming>
Builds the BitTiming from this builder.
§Returns
Returns Ok(BitTiming) with the configured values.
Returns an empty BitTiming if no values were set.
§Examples
use dbc_rs::BitTimingBuilder;
let bt = BitTimingBuilder::new()
.baudrate(500000)
.btr1(1)
.btr2(2)
.build()?;
assert_eq!(bt.baudrate(), Some(500000));
assert_eq!(bt.btr1(), Some(1));
assert_eq!(bt.btr2(), Some(2));Source§impl BitTimingBuilder
impl BitTimingBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new BitTimingBuilder with no values set.
§Examples
use dbc_rs::BitTimingBuilder;
let builder = BitTimingBuilder::new();
let bt = builder.build()?;
assert!(bt.is_empty());Sourcepub fn btr2(self, btr2: u32) -> Self
pub fn btr2(self, btr2: u32) -> Self
Sets the Bus Timing Register 2 (BTR2) value.
BTR2 is typically only meaningful when baudrate and BTR1 are also set.
§Arguments
btr2- The BTR2 register value
§Examples
use dbc_rs::BitTimingBuilder;
let bt = BitTimingBuilder::new()
.baudrate(500000)
.btr1(1)
.btr2(2)
.build()?;
assert_eq!(bt.btr2(), Some(2));Trait Implementations§
Source§impl Clone for BitTimingBuilder
impl Clone for BitTimingBuilder
Source§fn clone(&self) -> BitTimingBuilder
fn clone(&self) -> BitTimingBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BitTimingBuilder
impl Debug for BitTimingBuilder
Auto Trait Implementations§
impl Freeze for BitTimingBuilder
impl RefUnwindSafe for BitTimingBuilder
impl Send for BitTimingBuilder
impl Sync for BitTimingBuilder
impl Unpin for BitTimingBuilder
impl UnwindSafe for BitTimingBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more