def probe(i2c: I2C): dev = SMBusDevice(0x29, i2c, 100) result = dev.read_byte_data(0xB2) if result == 0x50: return Tsl2591(i2c) return None
def probe(i2c: I2C, rate=100) -> List['Bno055']: devs = [] # type: List['Bno055'] try: dev = SMBusDevice(0x28, i2c, rate) who_am_i = dev.read_byte_data(0x00) if who_am_i == 0xa0: devs.append(Bno055(i2c, False, rate)) except RuntimeError: pass try: dev = SMBusDevice(0x29, i2c, rate) who_am_i = dev.read_byte_data(0x00) if who_am_i == 0xa0: devs.append(Bno055(i2c, False, rate)) except RuntimeError: pass return devs
def probe(i2c: I2C) -> List['Bme280']: devs = [] # type: List['Bme280'] try: dev = SMBusDevice(0x76, i2c, 100) who_am_i = dev.read_byte_data(0xD0) if who_am_i == 0x60: devs.append(Bme280(i2c, False)) except RuntimeError: pass try: dev = SMBusDevice(0x76, i2c, 100) who_am_i = dev.read_byte_data(0xD0) if who_am_i == 0x60: devs.append(Bme280(i2c, True)) except RuntimeError: pass return devs
def probe(i2c: I2C, include_bme280=True, rate=100.0) -> List['Bmp280']: devs = [] # type: List['Bmp280'] try: dev = SMBusDevice(0x76, i2c, 100) who_am_i = dev.read_byte_data(0xD0) if who_am_i == 0x58 or (who_am_i == 0x60 and include_bme280): devs.append(Bmp280(i2c, False, rate)) except RuntimeError: pass try: dev = SMBusDevice(0x76, i2c, 100) who_am_i = dev.read_byte_data(0xD0) if who_am_i == 0x58 or (who_am_i == 0x60 and include_bme280): devs.append(Bmp280(i2c, True, rate)) except RuntimeError: pass return devs
def probe(i2c: I2C, include_mpu9250: bool) -> List['Mpu6050']: devs = [] # type: List['Mpu6050'] try: dev = SMBusDevice(0x68, i2c, 100) who_am_i = dev.read_byte_data(0x75) if who_am_i == 0x68 or (who_am_i == 0x71 and include_mpu9250): devs.append(Mpu6050(i2c, False)) except RuntimeError: pass try: dev = SMBusDevice(0x69, i2c, 100) who_am_i = dev.read_byte_data(0x75) if who_am_i == 0x68 or (who_am_i == 0x71 and include_mpu9250): devs.append(Mpu6050(i2c, False)) except RuntimeError: pass return devs
def probe(i2c: I2C) -> List['Mpu9250']: devs = [] # type: List['Mpu9250'] try: dev = SMBusDevice(0x68, i2c, 100) who_am_i = dev.read_byte_data(0x75) if who_am_i == 0x71: devs.append(Mpu9250(i2c, False)) except RuntimeError: pass try: dev = SMBusDevice(0x69, i2c, 100) who_am_i = dev.read_byte_data(0x75) if who_am_i == 0x71: devs.append(Mpu9250(i2c, True)) except RuntimeError: pass return devs
def probe(i2c: I2C, rate=100) -> List['Mcp9808']: devs = [] # type: List['Mcp9808'] try: dev = SMBusDevice(0x18, i2c, rate) who_am_i = dev.read_byte_data(0x07) if who_am_i == 0x04: devs.append(Mcp9808(i2c, False, False, False)) except RuntimeError: pass try: dev = SMBusDevice(0x19, i2c, rate) who_am_i = dev.read_byte_data(0x07) if who_am_i == 0x04: devs.append(Mcp9808(i2c, True, False, False)) except RuntimeError: pass try: dev = SMBusDevice(0x1a, i2c, rate) who_am_i = dev.read_byte_data(0x07) if who_am_i == 0x04: devs.append(Mcp9808(i2c, False, True, False)) except RuntimeError: pass try: dev = SMBusDevice(0x1b, i2c, rate) who_am_i = dev.read_byte_data(0x07) if who_am_i == 0x04: devs.append(Mcp9808(i2c, True, True, False)) except RuntimeError: pass try: dev = SMBusDevice(0x1c, i2c, rate) who_am_i = dev.read_byte_data(0x07) if who_am_i == 0x04: devs.append(Mcp9808(i2c, False, False, True)) except RuntimeError: pass try: dev = SMBusDevice(0x1d, i2c, rate) who_am_i = dev.read_byte_data(0x07) if who_am_i == 0x04: devs.append(Mcp9808(i2c, True, False, True)) except RuntimeError: pass try: dev = SMBusDevice(0x1e, i2c, rate) who_am_i = dev.read_byte_data(0x07) if who_am_i == 0x04: devs.append(Mcp9808(i2c, False, True, True)) except RuntimeError: pass try: dev = SMBusDevice(0x1f, i2c, rate) who_am_i = dev.read_byte_data(0x07) if who_am_i == 0x04: devs.append(Mcp9808(i2c, True, True, True)) except RuntimeError: pass return devs