DM: fix pixel calculations

This commit is contained in:
dean 2018-05-08 17:36:23 -04:00
parent 435714737c
commit 847541b5e5
2 changed files with 12 additions and 7 deletions

View file

@ -194,17 +194,22 @@ class Adafruit_AMG88xx(object):
for i in range(0, AMG88xx_PIXEL_ARRAY_SIZE):
raw = self._device.readU16(AMG88xx_PIXEL_OFFSET + (i << 1))
converted = self.signedMag12ToFloat(raw) * AMG88xx_PIXEL_TEMP_CONVERSION
converted = self.twoCompl12(raw) * AMG88xx_PIXEL_TEMP_CONVERSION
buf.append(converted)
return buf
def twoCompl12(self, val):
if 0x7FF & val == val:
return float(val)
else:
return float(val-4096 )
def signedMag12ToFloat(self, val):
#take first 11 bits as absolute val
absVal = (val & 0x7FF)
if val & 0x8000:
return 0 - float(absVal)
if 0x7FF & val == val:
return float(val)
else:
return float(absVal)
return - float(0x7FF & val)

View file

@ -18,7 +18,7 @@ classifiers = ['Development Status :: 4 - Beta',
'Topic :: System :: Hardware']
setup(name = 'Adafruit_AMG88xx',
version = '1.4',
version = '1.4.1',
author = 'Dean Miller',
author_email = 'dean@adafruit.com',
description = 'Python library to use the AMG88xx Grid-EYE 8x8 thermal sensor with raspberry pi or other linux boards.',