Crates.io | as5600 |
lib.rs | as5600 |
version | 0.8.0 |
source | src |
created_at | 2021-11-28 17:11:52.585395 |
updated_at | 2024-04-06 16:52:16.54011 |
description | Platform-independent Rust driver for AS5600 digital magnetic potentiometer |
homepage | |
repository | https://github.com/barafael/as5600-rs |
max_upload_size | |
id | 488895 |
size | 58,809 |
Rust Embedded HAL driver for the AS5600 contactless 12-bit digital potentiometer
Here's how using this driver looks on a raspberry pi:
use std::{thread, time::Duration};
use as5600::As5600;
use linux_embedded_hal::I2cdev;
fn main() {
let mut i2c = I2cdev::new("/dev/i2c-1").unwrap();
let mut as5600 = As5600::new(i2c);
let config = as5600.config().unwrap();
println!("{:?}", config);
thread::sleep(Duration::from_secs(2));
let status = as5600.magnet_status().unwrap();
let agc = as5600.automatic_gain_control().unwrap();
let mag = as5600.magnitude().unwrap();
let zmco = as5600.zmco().unwrap();
println!("{:?}", status);
println!("{:?}", agc);
println!("{:?}", mag);
println!("{:?}", zmco);
thread::sleep(Duration::from_secs(2));
loop {
let value = as5600.angle().unwrap();
println!("{:?}", value);
thread::sleep(Duration::from_millis(100));
}
}
[ ] make a wooden harness for the as5600 with a knob that turns a radial magnet at the right distance to the sensor [ ] make a CLI/GUI tool similar to ebyte-e32-ui [ ] use klask progress bars or something comparable to show the current magnet angle
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.