4 releases
0.2.0 | Jun 5, 2024 |
---|---|
0.1.2 | Apr 9, 2023 |
0.1.1 | Sep 17, 2022 |
0.1.0 | Feb 16, 2021 |
#540 in Hardware support
20KB
404 lines
Table of Contents
About the Project 📃
This is a simple driver for ST's iis2mdc
sensor.
Documentation for that sensor can be found at ST's website
Usage 👀
Check out the examples
folder for simple implementation
To declare a sensor is pretty simple:
let sensor = Iis2mdc::new(&mut i2c).unwrap()
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.cfg_reg_a.set_reboot(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_0 to 1
// ODR_1 to 0
sensor
.cfg_reg_a
.set_data_rate(i2c, iis2mdc::cfg_reg_a::Odr::Hz50)
.unwrap();
Help wanted 🤝
All contributions are welcome!
If you are using or plan to use this create don't hesitate to open an issue or a PR.
Multiple registers are yet to be referenced!
License
See LICENSE for more details.
Dependencies
~56KB