示例#1
0
    def probe(i2c: I2C):
        dev = SMBusDevice(0x29, i2c, 100)
        result = dev.read_byte_data(0xB2)
        if result == 0x50:
            return Tsl2591(i2c)

        return None
示例#2
0
    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
示例#3
0
    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
示例#4
0
    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
示例#5
0
    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
示例#6
0
    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
示例#7
0
    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