ms8607

Crates.ioms8607
lib.rsms8607
version0.1.2
sourcesrc
created_at2023-02-03 19:45:06.207298
updated_at2023-02-05 17:46:25.502165
descriptionA platform agnostic driver for the MS8607 Pressure, Temperature, and Humidity Sensor from TE Connectivity
homepagehttps://github.com/HydroVinci-PULV/registry_rust_ms8607
repositoryhttps://github.com/HydroVinci-PULV/registry_rust_ms8607
max_upload_size
id775882
size74,991
Antoine Raulin (antoineraulin)

documentation

README

ms8607

Crates.io

A platform agnostic Rust driver for the MS8607 Pressure, Temperature, and Humidity Sensor from TE Connectivity.

MS8607

Tested and works great with the Adafruit MS8607 Breakout Board : MS8607 Breakout Board ©Adafruit

Example

There is an example for the Raspberry Pi Pico board in the examples directory.

Usage

Using the ms8607 driver in your own project is possible with any platform that supports the embedded-HAL. See awesome-embedded-rust for a list of supported platforms.

In order to use the ms8607 driver you'll need to configure an I2C device that implements the embedded HAL blocking I2C traits. You'll also need a delay device that implements the embedded HAL blocking delay traits.

I recommend to use the shared-bus crate in order to manage the concurrency on the I2C bus if several sensors are used in your project. Unfortunately I haven't found an equivalent for Delay yet and it will have to be passed to each call to a function requiring to wait before reading the sensor response.

// Create a new instance of the MS8607 driver
let mut ms8607 = MS8607::new(i2c);
// Initialize and calibrate the sensor
let begin = ms8607.begin(&mut delay);
// Init OK, sensor foun

// Get measurements
let (pres, temp, hum) = ms8607.get_measurements(&mut delay).unwrap();
hprintln!("Pressure: {pres:.2} Pa, Temperature: {temp:.2} C, Humidity: {hum:.2} %RH\r");

About this crate

Written by Antoine Raulin for the HydroVinci's MicroTransat project, a student association at the ESILV.

Commit count: 8

cargo fmt