Skip to content

KnutKnusper/rust-bmp085

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BMP085 Temperature & Barometer Sensor Driver for Rust

Build Status Crates.io

Usage

Add the bmp085 driver to your Cargo.toml.

[dependencies]
bmp085 = "0.2.1"

Afterwards you can use the sensor:

use bmp085::i2cdev::linux::*;
use bmp085::sensors::{Barometer, Thermometer};
use bmp085::*;

use std::thread;
use std::time::Duration;

fn main() {

    let i2c_dev = LinuxI2CDevice::new("/dev/i2c-1", BMP085_I2C_ADDR).unwrap();

    let mut s = BMP085BarometerThermometer::new(i2c_dev, SamplingMode::Standard).unwrap();

    loop {
        println!("Temperature: {:?} C",
                 s.temperature_celsius().unwrap());
        println!("Pressure:    {:?} kPa", s.pressure_kpa().unwrap());
        thread::sleep(Duration::from_millis(1000));
    }
}

Use cargo build to build the program, run with sudo target/debug/myprog.

For device access, root access is commonly required.

Tests

Run cargo tests on any compatible device/OS and you should see the following output:

running 6 tests
test tests::test_basic_temp_read ... ok
test tests::test_max_temp_read ... ok
test tests::test_basic_pressure_read ... ok
test tests::test_zero_temp_read ... ok
test tests::test_zero_pressure_read ... ok
test tests::test_rand_temp_read ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured

   Doc-tests bmp085

running 1 test
test BMP085BarometerThermometer<T>::new_0 ... ignored

test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured

Resources

C++ implementation

Data Sheet

License

Licensed under Apache 2.0, (c) 2016 Claus Matzinger

About

A BMP085 sensor driver for Rust

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%