#dac #i2c #async #no-alloc #mcp4725

no-std mcp4725-async

An async driver for the MCP4725 DAC

1 unstable release

0.1.0 Mar 25, 2024

#1558 in Embedded development

Download history 135/week @ 2024-03-25 25/week @ 2024-04-01

160 downloads per month

MIT/Apache

19KB
401 lines

mcp4725-async

GitHub Actions Workflow Status Codecov (with branch)

An async driver for the MCP4725 DAC using embedded_hal_async. It supports sending commands over I2C.

Warning: This is currently untested on real hardware.

The driver can be initialized by calling new with an I2C interface and the chip address:

// Address corresponds to A2,A1=0, and A0 tied to Vss
let mut mcp = MCP4725::new(i2c, 0b1100000);

To quickly set the DAC output:

// Set DAC to 0xFFF = Full scale, don't write to eeprom
mcp.set_voltage(0xFFF, false);
// Set DAC to 0x800 = Half scale, don't write to eeprom
mcp.set_voltage(0x800, false);
// Set DAC to 0x000 = Zero volts, write to eeprom
mcp.set_voltage(0x000, true);

License

Licensed under either of

at your option.

Dependencies

~240KB