as5600-rs

Rust Embedded HAL driver for the AS5600 contactless 12-bit digital potentiometer

Status

Example

Here's how using this driver looks on a raspberry pi:

```no_run use std::{thread, time::Duration};

use as5600::As5600; use linuxembeddedhal::I2cdev;

fn main() { let mut i2c = I2cdev::new("/dev/i2c-1").unwrap(); let delay = linuxembeddedhal::Delay; let mut as5600 = As5600::new(as5600::constants::DEFAULTI2CADDRESS, delay); let config = as5600.config(&mut i2c).unwrap(); println!("{:?}", config);

thread::sleep(Duration::from_secs(5));

let status = as5600.magnet_status(&mut i2c).unwrap();
let agc = as5600.automatic_gain_control(&mut i2c).unwrap();
let mag = as5600.magnitude(&mut i2c).unwrap();
let zmco = as5600.zmco(&mut i2c).unwrap();

println!("{:?}", status);
println!("{:?}", agc);
println!("{:?}", mag);
println!("{:?}", zmco);

thread::sleep(Duration::from_secs(5));

loop {
    let value = as5600.angle(&mut i2c).unwrap();
    println!("{:?}", value);
    thread::sleep(Duration::from_millis(100));
}

} ```