NAME
Device::Chip::MCP4725
- chip driver for MCP4725
SYNOPSIS
use Device::Chip::MCP4725;
use Future::AsyncAwait;
my $chip = Device::Chip::MCP4725->new;
await $chip->mount( Device::Chip::Adapter::...->new );
# Presuming Vcc = 5V
await $chip->write_dac_ratio( 1.23 / 5 );
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 in an await
expression return Future instances.
read_config
$config = await $chip->read_config;
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
await $chip->write_dac( $dac, $powerdown );
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
await $chip->write_dac_ratio( $ratio );
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>