NAME
Device::Chip::AnalogConverters - a collection of chip drivers
DESCRIPTION
This distribution contains a number of Device::Chip drivers for various
ADC and DAC chips.
ADCs
* Device::Chip::ADC121Sx
* Device::Chip::ADS1115
* Device::Chip::LTC2400
* Device::Chip::MCP3221
* Device::Chip::MAX11200
* Device::Chip::MAX1166x
SUGGESTED ADC METHODS
trigger
await $chip->trigger( %args );
Optional. This method asks the chip to begin taking a reading.
read_adc
$value = await $chip->read_adc;
Obtains the most recent reading performed by the chip, as a plain
integer value. This may be signed or unsigned, scaled to whatever
precision the chip works at.
read_adc_voltage
$voltage = await $chip->read_adc_voltage;
If the chip contains an internal reference, or in some other way the
scale is known by the driver, this method should be provided that
converts the result of "read_adc" into an actual signed voltage.
read_adc_ratio
$ratio = await $chip->read_adc_ratio;
If the chip (driver) does not have a reference to scale convert the
output directly to a voltage level, then this method should be provided
instead that merely scales the raw reading down by a factor such that
the returned value is a floating-point number between 0 and 1 for
unipolar (single-ended unsigned) readings, or between -1 and 1 for
bipolar (differential signed) readings.
DACs
* Device::Chip::AD5691R
* Device::Chip::DAC7513
* Device::Chip::DAC7571
* Device::Chip::MCP4725
SUGGESTED DAC METHODS
write_dac
await $chip->write_dac( $value );
Sets the value of the DAC's output as a plain integer value. This may
be signed or unsigned, scaled to whatever precision the chip works at.
write_dac_voltage
await $chip->write_dac_voltage( $voltage );
If the chip contains an internal reference, or in some other way the
scale is known by the driver, this method should be provided that
converts the given voltage into a raw value to invoke "write_dac" with.
write_dac_ratio
await $chip->write_dac_ratio( $ratio );
If the chip (driver) does not have a reference to scale convert a given
voltage to a DAC code value, then this method should be provided
instead that takes a given ratio, as a floating-point number between 0
and 1 for unipolar (single-ended unsigned) outputs or between -1 and 1
for bipolar (differential signed) outputs, and scales it by a suitable
factor.
AUTHOR
Paul Evans <
[email protected]>