pub struct Config(/* private fields */);Expand description
Config register.
This register sets the rate, filter, and interface options of the device. Writes to the config register in normal mode may be ignored. In sleep mode writes are not ignored.
All methods on this struct are constant so that you can create a configuration value at compile time.
§Example
use bme280_multibus::{Config, Filter, Standby};
const CONFIG: Config = Config::RESET
.set_standby_time(Standby::Millis1000)
.set_filter(Filter::X16)
.set_spi3w_en(false);Implementations§
Source§impl Config
impl Config
Sourcepub const RESET: Self
pub const RESET: Self
Get the reset value of the config register.
§Example
use bme280_multibus::Config;
assert_eq!(Config::RESET, Config::default());Sourcepub const fn set_standby_time(self, s: Standby) -> Config
pub const fn set_standby_time(self, s: Standby) -> Config
Set the inactive duration tstandby in normal mode.
See Standby for settings, and chapter 3.3.4 in the datasheet for
details.
§Example
use bme280_multibus::{Config, Standby};
let mut cfg: Config = Config::default();
assert_eq!(cfg.standby_time(), Standby::default());
cfg = cfg.set_standby_time(Standby::Micros500);
assert_eq!(cfg.standby_time(), Standby::Micros500);
cfg = cfg.set_standby_time(Standby::Micros62500);
assert_eq!(cfg.standby_time(), Standby::Micros62500);
cfg = cfg.set_standby_time(Standby::Millis125);
assert_eq!(cfg.standby_time(), Standby::Millis125);
cfg = cfg.set_standby_time(Standby::Millis250);
assert_eq!(cfg.standby_time(), Standby::Millis250);
cfg = cfg.set_standby_time(Standby::Millis500);
assert_eq!(cfg.standby_time(), Standby::Millis500);
cfg = cfg.set_standby_time(Standby::Millis1000);
assert_eq!(cfg.standby_time(), Standby::Millis1000);
cfg = cfg.set_standby_time(Standby::Millis10);
assert_eq!(cfg.standby_time(), Standby::Millis10);
cfg = cfg.set_standby_time(Standby::Millis20);
assert_eq!(cfg.standby_time(), Standby::Millis20);Sourcepub const fn standby_time(&self) -> Standby
pub const fn standby_time(&self) -> Standby
Get the standby time.
Sourcepub const fn set_filter(self, f: Filter) -> Config
pub const fn set_filter(self, f: Filter) -> Config
Set the time constant of the IIR filter.
See Filter for settings, and chapter 3.4.4 in the datasheet for
details.
§Example
use bme280_multibus::{Config, Filter};
let mut cfg: Config = Config::default();
assert_eq!(cfg.filter(), Filter::default());
cfg = cfg.set_filter(Filter::Off);
assert_eq!(cfg.filter(), Filter::Off);
cfg = cfg.set_filter(Filter::X2);
assert_eq!(cfg.filter(), Filter::X2);
cfg = cfg.set_filter(Filter::X4);
assert_eq!(cfg.filter(), Filter::X4);
cfg = cfg.set_filter(Filter::X8);
assert_eq!(cfg.filter(), Filter::X8);
cfg = cfg.set_filter(Filter::X16);
assert_eq!(cfg.filter(), Filter::X16);Sourcepub const fn set_spi3w_en(self, en: bool) -> Config
pub const fn set_spi3w_en(self, en: bool) -> Config
Enables the 3-wire SPI itnerface when enabled.
See chapter 6.3 in the datasheet for details.
§Example
use bme280_multibus::Config;
let mut cfg: Config = Config::default();
assert_eq!(cfg.spi3w_en(), false);
cfg = cfg.set_spi3w_en(true);
assert_eq!(cfg.spi3w_en(), true);
cfg = cfg.set_spi3w_en(false);
assert_eq!(cfg.spi3w_en(), false);Trait Implementations§
impl Copy for Config
impl Eq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
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