Expand description
This is a simple driver for ST’s ism330dhcx sensor.
§Quick Start
To declare a sensor is pretty simple:
let sensor = Ism330Dhcx::new(&mut i2c).unwrap()If you want to use another address for the chip, you can do:
let sensor = Ism330Dhcx::new_with_address(&mut i2c, 0x6au8).unwrap()Or alter it after the fact
sensor.set_address(0x6au8);All registers have the bits addressed by their function, for example here se set the BOOT register in the CTRL_3C register to 1
sensor.ctrl3c.set_boot(i2c, true).unwrap();For bits that operate together, they have their custom type abstracted. For example, to set the accelerometer data rate you have to operate 4 bits. But here you just have to specify your desired data rate and the driver takes care of it.
// Sets the following bits
// ODR_XL3 to 0
// ODR_XL2 to 0
// ODR_XL1 to 1
// ODR_XL0 to 1
sensor
.ctrl1xl
.set_accelerometer_data_rate(i2c, ctrl1xl::Odr_Xl::Hz52)
.unwrap();§Reference
Modules§
Structs§
Constants§
- DEFAULT_
I2C_ ADDRESS - Datasheet write address for the device. (D6h)