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

       $chip->trigger( %args )->get

    Optional. This method asks the chip to begin taking a reading.

  read_adc

       $value = $chip->read_adc->get

    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 = $chip->read_adc_voltage->get

    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 = $chip->read_adc_ratio->get

    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

       $chip->write_dac( $value )->get

    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

       $chip->write_dac_voltage( $voltage )->get

    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

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

    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>

