1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//! `drogue-bme680` is a crate to interface with the BME680 sensor.
//!
//! The BME680 sensor is a "low power gas, pressure, temperature & humidity sensor" from
//! Bosch Sensortec.
//!
//! The crate provides two layers of access to the sensor. [`Bme680Sensor`] provides general
//! purpose access to the sensor. While [`Bme680Controller`] takes care of most steps of the
//! default sensor workflow for taking measurements, providing a simpler, more user-friendly
//! interface.
//!
//! # Example
//!
//! ~~~no_run
//! use drogue_bme680::*;
//! use drogue_embedded_timer::*;
//!
//! fn main() -> ! {
//! let i2c = mock::blocking_i2c();
//!
//! let bme680 = Bme680Sensor::from(i2c, Address::Secondary).unwrap();
//! let delay = mock::MockDelay;
//!
//! let mut controller = Bme680Controller::new(
//! bme680,
//! delay,
//! Configuration::standard(),
//! StaticProvider(25),
//! ).unwrap();
//!
//! loop {
//! let result = controller.measure_default().unwrap();
//! log::info!("Measured: {:?}", result);
//! }
//! }
//! ~~~
//!
//! # Known limitations
//!
//! * Currently, the crate only provides access to the sensor using I2C.
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;