embedded_sensors/bh1750/
config.rs

1#[derive(Debug, Clone)]
2pub struct Config {
3    pub(crate) measurement_mode: MeasurementMode,
4    pub(crate) measurement_time: u8,
5}
6
7impl Config {
8    pub fn measurement_mode(mut self, measurement_mode: MeasurementMode) -> Self {
9        self.measurement_mode = measurement_mode;
10        self
11    }
12
13    pub fn measurement_time(mut self, measurement_time: u8) -> Self {
14        self.measurement_time = measurement_time;
15        self
16    }
17}
18
19impl Default for Config {
20    fn default() -> Self {
21        Self {
22            measurement_mode: MeasurementMode::default(),
23            measurement_time: 69,
24        }
25    }
26}
27
28#[derive(Debug, Clone, Copy)]
29pub enum MeasurementMode {
30    ContinuouslyHighResolution = 0b0001_0000,
31    ContinuouslyHighResolution2 = 0b0001_0001,
32    ContinuouslyLowResolution = 0b0001_0011,
33    OneTimeHighResolution = 0b0010_0000,
34    OneTimeHighResolution2 = 0b0010_0001,
35    OneTimeLowResolution = 0b0010_0011,
36}
37
38impl Default for MeasurementMode {
39    fn default() -> Self {
40        Self::ContinuouslyHighResolution
41    }
42}