ms5611-rs 0.1.1

no_std driver for the MS5611 barometric pressure sensor
Documentation

ms5611-rs

CI Docs.rs Crates.io

no_std driver for the TE Connectivity MS5611 barometric pressure sensor.

  • Supports both I2C and SPI interfaces
  • Async and blocking APIs via embedded-hal traits
  • Second-order temperature compensation
  • CRC validation of calibration data

Usage

Add this to your Cargo.toml:

[dependencies]
ms5611-rs = "0.1"

Example

use ms5611_rs::{Ms5611, Oversampling};

// I2C (CSB pin high = address 0x76)
let mut sensor = Ms5611::new_i2c(i2c, true);

// Or SPI
let mut sensor = Ms5611::new_spi(spi);

// Initialize and measure (async)
sensor.init(&mut delay).await?;
let measurement = sensor.measure(Oversampling::Osr2048, &mut delay).await?;

// Or use blocking API
sensor.init_blocking(&mut delay)?;
let measurement = sensor.measure_blocking(Oversampling::Osr2048, &mut delay)?;

println!("Pressure: {} mbar, Temp: {} °C",
    measurement.pressure_mbar, measurement.temperature_c);

Cargo Features

  • defmt-03: Enables defmt::Format for all public types

Related Crates

License

MIT or Apache-2.0 license, at your option.