Device::Chip::ADS1115 - chip driver for ADS1115
use Device::Chip::ADS1115; my $chip = Device::Chip::ADS1115->new; $chip->mount( Device::Chip::Adapter::...->new )->get; $chip->change_config( MUX => "0" )->get; $chip->trigger->get; printf "The voltage is %.2fV\n", $chip->read_adc_voltage->get;
This Device::Chip subclass provides specific communications to a chip in the Texas Instruments ADS111x family, such as the ADS1113, ADS1114 or ADS1115. Due to similarities in hardware, it also works for the ADS101x family, consisting of ADS1013, ADS1014 and ADS1015.
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.
The following methods documented with a trailing call to
->get return Future instances.
$config = $chip->read_config->get
HASH reference containing the chip's current configuration.
OS => 0 | 1 MUX => "0" | "1" | "2" | "3" # single-ended | "0-1" | "0-3" | "1-3" | "2-3" # bipolar PGA => "6.144V" | "4.096V" | "2.048V" | "1.024V" | "0.512V" | "0.256V" MODE => "CONT" | "SINGLE" DR => 8 | 16 | 32 | 64 | 128 | 250 | 475 | 860 COMP_MODE => "TRAD" | "WINDOW" COMP_POL => "LOW" | "HIGH" COMP_LAT => 0 | 1 COMP_QUE => 1 | 2 | 4 | "DIS"
$chip->change_config( %changes )->get
Changes the configuration. Any field names not mentioned will be preserved at their existing values.
OS bit configuration bit, which will cause the chip to take a new reading of the currently-selected input channel when in single-shot mode.
$value = $chip->read_adc->get
Reads the most recent reading from the result register on the chip. This method should be called after a suitable delay after the "trigger" method when in single-shot mode, or at any time when in continuous mode.
The reading is returned directly from the chip as a plain 16-bit signed integer. To convert this into voltage use the "read_adc_voltage" method.
$voltage = $chip->read_adc_voltage->get
Reads the most recent reading as per "read_adc" and converts it into a voltage level by taking into account the current setting of the
PGA configuration option to scale it.
Paul Evans <firstname.lastname@example.org>