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 <leonerd@leonerd.org.uk>