#pressure-sensor

no-std lps25hb

A platform agnostic driver to interface with LPS25HB pressure sensor module

4 releases

0.1.0 Dec 8, 2021
0.0.4 Dec 4, 2021
0.0.3 Aug 16, 2021
0.0.2 Aug 15, 2021
0.0.1 Aug 15, 2021

#559 in Hardware support

23 downloads per month

MIT license

51KB
645 lines

Rust LPS25HB pressure sensor driver

Maintenance Intention

A platform agnostic Rust driver for the ST Microelectronics LPS25HB pressure sensor, based on the embedded-hal traits.

Inspired by and partially based on another STMicroelectronics driver.

This driver allows you to:

  • check if sensor is reachable
  • read pressure and temperature
  • set data rate
  • configure interrupts generation
  • configure FIFO

UNDER ACTIVE DEVELOPMENT

Basic functions work, see example. Almost all functions added, and should work fine, but many aren't tested yet.

WORK IN PROGRESS:

This library is work in progress. Not all features are implemented yet. Currently only the I2C interface is implemented. Contributions are welcome.

TO DO:

  • add device ID check and power up in the new() function
  • add an example using FIFO and/or interrupt generation
  • add SPI interface and an example using it
  • add more documentation (main block in the lib.rs)

Some blog post

The device

The LPS25HB is an ultra-compact piezoresistive absolute pressure sensor which functions as a digital output barometer. The device comprises a sensing element and an IC interface which communicates through I2C or SPI from the sensing element to the application.

Datasheet: LPS25HB

Usage

To use this driver, import this crate and an embedded_hal implementation, then instantiate the device.

Please find additional examples using hardware in this repository: examples

Support

For questions, issues, feature requests, and other changes, please file an issue in the github project.

License

Licensed under either of

Contributing

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~71KB