7
7
//! * https://www.adafruit.com/product/4399
8
8
//! * https://www.adafruit.com/product/4472
9
9
10
- use eh0:: prelude:: * ;
10
+ use eh0:: blocking:: i2c:: WriteRead ;
11
+ use eh1:: i2c:: I2c ;
11
12
use ftdi_embedded_hal as hal;
12
13
13
14
fn main ( ) {
@@ -27,15 +28,22 @@ fn main() {
27
28
let hal = hal:: FtHal :: init_default ( device) . unwrap ( ) ;
28
29
let mut i2c = hal. i2c ( ) . unwrap ( ) ;
29
30
31
+ // ID register is constant
32
+ const BME280_CHIP_ID : u8 = 0x60 ;
33
+
30
34
let mut buf: [ u8 ; 1 ] = [ 0 ] ;
31
35
const BME280_ADDR : u8 = 0b1110111 ;
32
36
const BME280_CHIP_ID_ADDR : u8 = 0xD0 ;
33
- println ! ( "Reading chip ID from BME280" ) ;
34
- i2c. write_read ( BME280_ADDR , & [ BME280_CHIP_ID_ADDR ] , & mut buf)
37
+
38
+ println ! ( "Reading chip ID from BME280 with embedded-hal v0.2" ) ;
39
+ WriteRead :: write_read ( & mut i2c, BME280_ADDR , & [ BME280_CHIP_ID_ADDR ] , & mut buf)
35
40
. expect ( "Failed to read from BME280" ) ;
41
+ assert_eq ! ( buf[ 0 ] , BME280_CHIP_ID ) ;
42
+ println ! ( "Chip ID ok from embedded-hal v0.2" ) ;
36
43
37
- // ID register is constant
38
- const BME280_CHIP_ID : u8 = 0x60 ;
44
+ println ! ( "Reading chip ID from BME280 with embedded-hal v1" ) ;
45
+ I2c :: write_read ( & mut i2c, BME280_ADDR , & [ BME280_CHIP_ID_ADDR ] , & mut buf)
46
+ . expect ( "Failed to read from BME280" ) ;
39
47
assert_eq ! ( buf[ 0 ] , BME280_CHIP_ID ) ;
40
- println ! ( "Chip ID ok" ) ;
48
+ println ! ( "Chip ID ok from embedded-hal v1 " ) ;
41
49
}
0 commit comments