NAME Device::Chip::OPT3001 - chip driver for OPT3001 SYNOPSIS use Device::Chip::OPT3001; use Future::AsyncAwait; my $chip = Device::Chip::OPT3001->new; await $chip->mount( Device::Chip::Adapter::...->new ); await $chip->power(1); sleep 1; # Wait for one integration cycle printf "Current ambient light level is %.2f lux\n", scalar await $chip->read_lux; DESCRIPTION This Device::Chip subclass provides specific communication to a Texas Instruments OPT3001 ambient light sensor attached to a computer via an 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. read_config $config = await $chip->read_config Returns a HASH reference containing the chip config, using fields named from the data sheet. RN => 0 .. 15 CT => 100 | 800 M => "shutdown" | "single" | "cont" OVF => bool CRF => bool FH => bool FL => bool L => bool POL => "active-low" | "active-high" ME => bool FC => 1 | 2 | 4 | 8 change_config await $chip->change_config( %changes ) Writes updates to the configuration registers. Note that these two methods use a cache of configuration bytes to make subsequent modifications more efficient. read_lux $lux = await $chip->read_lux Reads the latest light level conversion value and returns the value in Lux. AUTHOR Paul Evans