NAME

Device::Chip::MCP4725 - chip driver for MCP4725

SYNOPSIS

use Device::Chip::MCP4725;

my $chip = Device::Chip::MCP4725->new;
$chip->mount( Device::Chip::Adapter::...->new )->get;

# Presuming Vcc = 5V
$chip->write_dac_ratio( 1.23 / 5 )->get;
print "Output is now set to 1.23V\n";

DESCRIPTION

This Device::Chip subclass provides specific communication to a Microchip MCP4725 attached to a computer via an I²C adapter.

The reader is presumed to be familiar with the general operation of this chip; the documentation here will not attempt to explain or define chip-specific concepts or features, only the use of this module to access them.

MOUNT PARAMETERS

addr

The I²C address of the device. Can be specified in decimal, octal or hex with leading 0 or 0x prefixes.

ACCESSORS

The following methods documented with a trailing call to ->get return Future instances.

read_config

$config = $chip->read_config->get

Returns a HASH reference containing the chip's current configuration

RDY => 0 | 1
POR => 0 | 1

PD  => "normal" | "1k" | "100k" | "500k"
DAC => 0 .. 4095

EEPROM_PD  => "normal" | "1k" | "100k" | "500k"
EEPROM_DAC => 0 .. 4095

METHODS

write_dac

$chip->write_dac( $dac, $powerdown )->get

Writes a new value for the DAC output and powerdown state in "fast" mode.

$powerdown is optional and will default to 0 if not provided.

write_dac_ratio

$chip->write_dac_ratio( $ratio )->get

Writes a new value for the DAC output, setting it to normal output for a given ratio between 0 and 1.

write_dac_and_eeprom

$chip->write_dac_and_eeprom( $dac, $powerdown )

As "write_dac" but also updates the EEPROM with the same values.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>