Crates.io | hmc5983 |
lib.rs | hmc5983 |
version | 0.1.3 |
source | src |
created_at | 2020-05-12 19:07:34.774415 |
updated_at | 2020-05-12 19:32:25.246097 |
description | HMC5983 magnetometer driver for embedded hal |
homepage | |
repository | https://github.com/tstellanova/hmc5983 |
max_upload_size | |
id | 240800 |
size | 18,520 |
A rust embedded-hal driver for the Honeywell HMC5983 and similar 3-axis magnetometers such as the HMC5883.
Note that some devices (HMC5983) support both I2C and SPI interfaces, while others (eg HMC5883, QMC5883) only support a single interface (I2C).
You can connect to the HMC5983 through either I2C or SPI:
use hmc5983::HMC5983;
let mut mag_int = HMC5983::new_with_interface(
hmc5983::interface::SpiInterface::new(spi_bus1.acquire(), spi_cs_mag),
);
mag_int.init(&mut delay_source).expect("mag_int init failed");
let mut mag_ext = HMC5983::new_with_interface(
hmc5983::interface::I2cInterface::new(i2c_bus1.acquire()) );
mag_ext.init(&mut delay_source).expect("mag_ext init failed");
Basic i2c setup support
Basic spi setup support
read of main xyz magnetometer vector
support for DRDY pin
Tests with mock embedded hal
Periodic configuration check (for poor i2c connections)
Usage example with cortex-m
hal
Doc comments
CI