mcp4725-rs

Crates.iomcp4725-rs
lib.rsmcp4725-rs
version0.1.1
sourcesrc
created_at2018-12-26 07:06:51.896747
updated_at2018-12-26 07:11:19.969486
descriptionPlatform agnostic Rust driver for the Microchip MCP3425 ADC.
homepage
repositoryhttps://github.com/vgasparyan/mcp4725-rs
max_upload_size
id103848
size6,883
Vigen Gasparyan (vgasparyan)

documentation

README

Rust MC4725 Driver

This is a platform agnostic Rust driver for the MCP4725, based on the embedded-hal traits.

The Device

The Microchip MCP4725 is a low-power, high accuracy, single channel, 12-bit buffered voltage output Digital-to-Analog Convertor (DAC) with non-volatile memory (EEPROM).

Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/22039d.pdf

Status

  • Support generation of DAC output using Fast Mode Write Command
  • Support writing DAC Input register and EEPROM
  • Support RESET command
  • Test on Raspberry Pi

Examples

From examples/linux_raspi.rs:

extern crate linux_embedded_hal as linux_hal;
extern crate mcp4725_rs;

use linux_hal::{Delay, I2cdev};
use mcp4725_rs::MCP4725;

fn main() {
    println!("Hello, MCP4725!");
    println!();
    println!("Generating sawtooth wave signal on DAC output...");

    let dev = I2cdev::new("/dev/i2c-1").unwrap();
    let address = 0x60;

    let mut dac = MCP4725::new(dev, address, Delay).unwrap();
    
    loop {
        for dac_code in 0..4096 {
            dac.set_dac_value(dac_code);
        }
    }
}

Build the example on Raspberry PI

cargo build --examples

License

Licensed under either of

Commit count: 9

cargo fmt