=head1 SYNOPSIS
use PINE64::MCP9808;
my $temp_sensor = PINE64::MCP9808->new(0, '0x18');
my @reading = $temp_sensor->read_temperature();
my $celsius = $reading[0];
my $fahrenheit = $reading [1];
=head1 DESCRIPTION
This module allows you to take temperature readings with the
highly accurate MCP9808 I2C temperature sensor using a
PINE64A+ board.
=head1 METHODS
=head2 new(0, 0x18)
You can optionally pass the I2C device id and the address of the
MCP9808 on the I2C bus. The PINE64A+ I2C bus is /dev/i2c-0, and
the default I2C address for an MCP9808 is 0x18. new() called with
no arguments will default to /dev/i2c-0 and 0x18.
=head2 read_temperature()
Reads the ambient temperature register of the MCP9808 and returns
an array containing the reading in celsius and fahrenheit. The
ambient temperature register is 0x05. Bits 13-15 have to be masked
out. Bit 12 is the sign bit. The two's complement temperature
reading is bits 0-11. $reading[0] is temperature in celsius,
$reading[1] is the reading in temperature.