BME280 Working #62

Merged
Dabu5 merged 2 commits from master into master 2017-10-08 17:16:32 +01:00
2 changed files with 31 additions and 23 deletions

View File

@@ -4,42 +4,51 @@ import time
from ctypes import c_short
from ctypes import c_byte
from ctypes import c_ubyte
if len(sys.argv) == 2:
DEVICE = int(sys.argv[1],16)
DEVICE = int(sys.argv[1],16)
else:
print('-1 | -1')
print('-1 | -1')
sys.exit(1)
bus = smbus.SMBus(1) # Rev 2 Pi, Pi 2 & Pi 3 uses bus 1
# Rev 1 Pi uses bus 0
# Rev 1 Pi uses bus 0
def getShort(data, index):
# return two bytes from data as a signed 16-bit value
return c_short((data[index+1] << 8) + data[index]).value
# return two bytes from data as a signed 16-bit value
return c_short((data[index+1] << 8) + data[index]).value
def getUShort(data, index):
# return two bytes from data as an unsigned 16-bit value
return (data[index+1] << 8) + data[index]
# return two bytes from data as an unsigned 16-bit value
return (data[index+1] << 8) + data[index]
def getChar(data,index):
# return one byte from data as a signed char
# return one byte from data as a signed char
result = data[index]
if result > 127:
if result > 127:
result -= 256
return result
return result
def getUChar(data,index):
# return one byte from data as an unsigned char
# return one byte from data as an unsigned char
result = data[index] & 0xFF
return result
return result
def readBME280ID(addr=DEVICE):
# Chip ID Register Address
REG_ID = 0xD0
# Chip ID Register Address
REG_ID = 0xD0
(chip_id, chip_version) = bus.read_i2c_block_data(addr, REG_ID, 2)
return (chip_id, chip_version)
return (chip_id, chip_version)
def readBME280All(addr=DEVICE):
# Register Addresses
REG_DATA = 0xF7
REG_CONTROL = 0xF4
REG_CONFIG = 0xF5
REG_CONTROL_HUM = 0xF2
REG_HUM_MSB = 0xFD
REG_HUM_LSB = 0xFE
# Register Addresses
REG_DATA = 0xF7
REG_CONTROL = 0xF4
REG_CONFIG = 0xF5
REG_CONTROL_HUM = 0xF2
REG_HUM_MSB = 0xFD
REG_HUM_LSB = 0xFE
# Oversample setting - page 27
OVERSAMPLE_TEMP = 2

View File

@@ -183,7 +183,6 @@ class EnclosurePlugin(octoprint.plugin.StartupPlugin,
hum = 0
elif temp_reader['sensorType'] == "bme280":
temp, hum = self.readBME280Temp(temp_reader['sensorAddress'])
hum = 0
elif temp_reader['sensorType'] == "si7021":
temp, hum = self.readSI7021Temp(temp_reader['sensorAddress'])
elif temp_reader['sensorType'] == "tmp102":