embedded_sensors/bh1750/
config.rs1#[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}