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