add doctest

This commit is contained in:
Denis-Cosmin Nutiu 2024-02-25 20:55:54 +02:00
parent 109a2685ef
commit 9bdc74649d

View file

@ -5,6 +5,62 @@
//! In the examples you can find a demo how to use the library in Linux using the linux-embedded-hal crate (e.g. on a RPI). //! In the examples you can find a demo how to use the library in Linux using the linux-embedded-hal crate (e.g. on a RPI).
//! ```no_run //! ```no_run
//! use crate::*;
//! use core::result;
//! use core::time::Duration;
//! use embedded_hal::delay::DelayNs;
//! use linux_embedded_hal as hal;
//! use linux_embedded_hal::{Delay, I2CError};
//! use log::info;
//!
//! // Please export RUST_LOG=info in order to see logs in the console.
//! fn main() -> result::Result<(), Error<I2CError>>
//! {
//! env_logger::init();
//!
//! let i2c = hal::I2cdev::new("/dev/i2c-1").unwrap();
//! let mut delayer = Delay {};
//!
//! let mut dev = Bme680::init(i2c, &mut delayer, I2CAddress::Primary)?;
//! let mut delay = Delay {};
//!
//! let settings = SettingsBuilder::new()
//! .with_humidity_oversampling(OversamplingSetting::OS2x)
//! .with_pressure_oversampling(OversamplingSetting::OS4x)
//! .with_temperature_oversampling(OversamplingSetting::OS8x)
//! .with_temperature_filter(IIRFilterSize::Size3)
//! .with_gas_measurement(Duration::from_millis(1500), 320, 25)
//! .with_temperature_offset(-2.2)
//! .with_run_gas(true)
//! .build();
//!
//! let profile_dur = dev.get_profile_dur(&settings.0)?;
//! info!("Profile duration {:?}", profile_dur);
//! info!("Setting sensor settings");
//! dev.set_sensor_settings(&mut delayer, settings)?;
//! info!("Setting forced power modes");
//! dev.set_sensor_mode(&mut delayer, PowerMode::ForcedMode)?;
//!
//! let sensor_settings = dev.get_sensor_settings(settings.1);
//! info!("Sensor settings: {:?}", sensor_settings);
//!
//! loop {
//! let _ = delay.delay_ms(5000u32);
//! let power_mode = dev.get_sensor_mode();
//! info!("Sensor power mode: {:?}", power_mode);
//! info!("Setting forced power modes");
//! dev.set_sensor_mode(&mut delayer, PowerMode::ForcedMode)?;
//! info!("Retrieving sensor data");
//! let (data, _state) = dev.get_sensor_data(&mut delayer)?;
//! info!("Sensor Data {:?}", data);
//! info!("Temperature {}°C", data.temperature_celsius());
//! info!("Pressure {}hPa", data.pressure_hpa());
//! info!("Humidity {}%", data.humidity_percent());
//! info!("Gas Resistence {}Ω", data.gas_resistance_ohm());
//! }
//! }
#![no_std] #![no_std]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]