[−][src]Crate lsm303c
A platform agnostic driver to interface with the LSM303C (accelerometer + compass)
This driver is built using [embedded-hal
] traits.
Usage
Use embedded-hal implementation to get I2C, then create lsm handle
// to create sensor with default configuration: let mut lsm = Lsm303c::default(i2c)?; // to get all supported measurements: let all = lsm.all()?; println!("{:?}", all); // One can also use conf module to supply configuration: let mut lsm = LsmConfig::new(i2c, LsmConfig::new().mag_scale(conf::MagScale::_16_Ga))?;
More examples (for stm32) in [Proving ground] repo.
References
Structs
AccelAxesControl | Accel axes control |
Lsm303c | LSM303C driver |
LsmConfig | Configuration of Lsm303c |
Measurements | Measurements scaled with respective scales and converted to appropriate units. |
UnscaledMeasurements | Unscaled measurements (LSB) |
Enums
AccelBlockDataUpdate | Block data update for accel data. |
AccelDataRate | Accelerometer Output Data Rate |
AccelScale | Acceleration scale/sensitivity |
Error | LSM Error |
MagBlockDataUpdate | Block data update for accel data. |
MagDataRate | Magnetometer Output Data Rate |
MagMode | Magnetrometer mode |
MagScale | Magnetometer full scale. LSM303C only supports 16 ga. |
MagXYOperativeMode | Magnetrometer X and Y axes operative mode selection. Default: High performance. |
MagZOperativeMode | Magnetrometer Z axis operative mode selection Default value: HighPerformance. |
TempControl | Controls (disable or enable) temperature sensor. |
Constants
G | G constant |