This commit is contained in:
d3m1g0d
2019-03-02 14:37:58 +01:00
parent 3fafe3f896
commit 99404c8f15

View File

@@ -93,7 +93,7 @@ class LxMeter:
raise Exception('An exception occured opening the SMBus {}'.format(self.bus)) raise Exception('An exception occured opening the SMBus {}'.format(self.bus))
try: try:
self.bus.write_byte_data(addr, 0xa0, 0x03) # enable the sensor self.bus.write_byte_data(self.addr, 0xa0, 0x03) # enable the sensor
except: except:
raise Exception('An exception occured when enabling lux meter') raise Exception('An exception occured when enabling lux meter')
@@ -101,14 +101,14 @@ class LxMeter:
'''Set the sensor gain. Either 1 or 16.''' '''Set the sensor gain. Either 1 or 16.'''
if gain == 1: if gain == 1:
try: try:
temp = self.bus.read_byte_data(addr, 0xa1) temp = self.bus.read_byte_data(self.addr, 0xa1)
self.bus.write_byte_data(addr, 0xa1, 0xef & temp) self.bus.write_byte_data(self.addr, 0xa1, 0xef & temp)
except: except:
raise Exception('An exception occured when setting lux meter gain') raise Exception('An exception occured when setting lux meter gain')
if gain == 16: if gain == 16:
try: try:
temp = self.bus.read_byte_data(addr, 0xa1) temp = self.bus.read_byte_data(self.addr, 0xa1)
self.bus.write_byte_data(addr, 0xa1, 0x10 | temp) self.bus.write_byte_data(self.addr, 0xa1, 0x10 | temp)
except: except:
raise Exception('An exception occured when setting lux meter gain') raise Exception('An exception occured when setting lux meter gain')
else: else:
@@ -117,9 +117,9 @@ class LxMeter:
def getGain(self): def getGain(self):
'''Get the gain from the sensor.''' '''Get the gain from the sensor.'''
try: try:
if self.bus.read_byte_data(addr, 0xa1) & 0x10 == 0x10: if self.bus.read_byte_data(self.addr, 0xa1) & 0x10 == 0x10:
return 16 return 16
if self.bus.read_byte_data(addr, 0xa1) & 0x10 == 0x00: if self.bus.read_byte_data(self.addr, 0xa1) & 0x10 == 0x00:
return 1 return 1
except: except:
raise Exception('An error occured when getting lux meter gain') raise Exception('An error occured when getting lux meter gain')
@@ -129,23 +129,23 @@ class LxMeter:
if time < 0 or time > 2: if time < 0 or time > 2:
raise Exception('Invalid integration time') raise Exception('Invalid integration time')
try: try:
temp = self.bus.read_byte_data(addr, 0xa1) temp = self.bus.read_byte_data(self.addr, 0xa1)
self.bus.write_byte_data(addr, 0xa1, (temp & 0xfc) | time) self.bus.write_byte_data(self.addr, 0xa1, (temp & 0xfc) | time)
except: except:
raise Exception('An error occured setting lux integration time') raise Exception('An error occured setting lux integration time')
def getIntTime(self): def getIntTime(self):
'''Get the lux sensor integration time.''' '''Get the lux sensor integration time.'''
try: try:
return self.bus.read_byte_data(addr, 0xa1) & 0xfc return self.bus.read_byte_data(self.addr, 0xa1) & 0xfc
except: except:
raise Exception('An error occured getting lux integration time') raise Exception('An error occured getting lux integration time')
def getData(self): def getData(self):
'''return the calculated lux value''' '''return the calculated lux value'''
try: try:
chA = self.bus.read_word_data(addr, 0xac) chA = self.bus.read_word_data(self.addr, 0xac)
chB = self.bus.read_word_data(addr, 0xae) chB = self.bus.read_word_data(self.addr, 0xae)
except: except:
raise Exception('An error occured fetching lux channels') raise Exception('An error occured fetching lux channels')