NAME
Device::Chip::SGP4x
- chip driver for SGP40 and SGP41
SYNOPSIS
use
Device::Chip::SGP4x;
use
Future::AsyncAwait;
my
$chip
= Device::Chip::SGP4x->new;
await
$chip
->mount( Device::Chip::Adapter::...->new );
await
$chip
->execute_conditioning;
while
(1) {
await Future::IO->
sleep
(1);
my
(
$raw_NOx
,
$raw_VOC
) = await
$chip
->measure_raw_signals;
printf
"NOx = %d, VOC = %d\n"
,
$raw_NOx
,
$raw_VOC
;
}
DESCRIPTION
This Device::Chip subclass provides specific communication to a Sensirion SGP40 or SGP41 attached to a computer via 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.
METHODS
The following methods documented in an await
expression return Future instances.
execute_conditioning
await
$chip
->execute_conditioning;
Performs a conditioning operation.
execute_self_test
await
$chip
->execute_self_test;
Performs a self-test operation.
measure_raw_signals
(
$adc_VOC
,
$adc_NOx
) = await
$chip
->measure_raw_signals;
Performs a sampling cycle and returns the raw ADC values from the sensor elements.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>