NAME
Device::Chip::INA219
- chip driver for an INA219
SYNOPSIS
use
Device::Chip::INA219;
use
Future::AsyncAwait;
my
$chip
= Device::Chip::INA219->new;
await
$chip
->mount( Device::Chip::Adapter::...->new );
printf
"Current bus voltage is %d mV, shunt voltage is %d uV\n"
,
await
$chip
->read_bus_voltage, await
$chip
->read_shunt_voltage;
DESCRIPTION
This Device::Chip subclass provides specific communication to a Texas Instruments INA219 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.
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.
read_config
$config
= await
$chip
->read_config;
Reads and returns the current chip configuration as a HASH
reference.
RST
=> BOOL
BRNG
=>
"16V"
|
"32V"
PG
=>
"40mV"
|
"80mV"
|
"160mV"
|
"320mV"
BADC
=>
"9b"
|
"10b"
|
"11b"
|
"12b"
| 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128
SADC
=> as above
MODE_CONT
=> BOOL
MODE_BUS
=> BOOL
MODE_SHUNT
=> BOOL
change_config
await
$chip
->change_config(
%config
);
Changes the configuration. Any field names not mentioned will be preserved.
read_shunt_voltage
$uv
= await
$chip
->read_shunt_voltage;
Returns the current shunt voltage reading scaled integer in microvolts.
read_bus_voltage
$mv
= await
$chip
->read_bus_voltage;
(
$mv
,
$ovf
,
$cnvr
) = await
$chip
->read_bus_voltage;
Returns the current bus voltage reading, as a scaled integer in milivolts.
The returned Future also yields the OVF and CNVR flags.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>