def init(self, scl, sda, frequency): self.deinit() if detector.board.ftdi_ft232h: from adafruit_blinka.microcontroller.ft232h.i2c import I2C self._i2c = I2C(frequency=frequency) return elif detector.board.binho_nova: from adafruit_blinka.microcontroller.nova.i2c import I2C self._i2c = I2C(frequency=frequency) return elif detector.board.microchip_mcp2221: from adafruit_blinka.microcontroller.mcp2221.i2c import I2C self._i2c = I2C(frequency=frequency) return elif detector.board.any_embedded_linux: from adafruit_blinka.microcontroller.generic_linux.i2c import I2C as _I2C else: from machine import I2C as _I2C from microcontroller.pin import i2cPorts for portId, portScl, portSda in i2cPorts: try: if scl == portScl and sda == portSda: self._i2c = _I2C(portId, mode=_I2C.MASTER, baudrate=frequency) break except RuntimeError: pass else: raise ValueError( "No Hardware I2C on (scl,sda)={}\nValid I2C ports: {}".format( (scl, sda), i2cPorts)) self._lock = threading.RLock()
def init(self, bus_id, frequency): self.deinit() # Check if the file /dev/i2c-{bus_id} exists and error if not if not path.exists("/dev/i2c-{}".format(bus_id)): raise ValueError("No device found for /dev/i2c-{}".format(bus_id)) # Attempt to open using _I2C self._i2c = _I2C(bus_id, mode=_I2C.MASTER, baudrate=frequency) self._lock = threading.RLock()
def init(self, scl, sda, frequency): self.deinit() if detector.board.any_embedded_linux: from adafruit_blinka.microcontroller.generic_linux.i2c import I2C as _I2C else: from adafruit_blinka.microcontroller.generic_linux.i2c import I2C as _I2C from microcontroller.pin import i2cPorts for portId, portScl, portSda in i2cPorts: if scl == portScl and sda == portSda: self._i2c = _I2C(portId, mode=_I2C.MASTER, baudrate=frequency) break else: raise NotImplementedError( "No Hardware I2C on (scl,sda)={}\nValid UART ports: {}".format((scl, sda), i2cPorts) )
def init(self, scl, sda, frequency): self.deinit() if board_id in ("raspi_3", "raspi_2", "beaglebone_black", "orangepipc"): from adafruit_blinka.microcontroller.generic_linux.i2c import I2C as _I2C else: from machine import I2C as _I2C from microcontroller.pin import i2cPorts for portId, portScl, portSda in i2cPorts: if scl == portScl and sda == portSda: self._i2c = _I2C(portId, mode=_I2C.MASTER, baudrate=frequency) break else: raise NotImplementedError( "No Hardware I2C on (scl,sda)={}\nValid UART ports".format( (scl, sda), i2cPorts))
def init(self, port_id, sda, scl, frequency): self.deinit() self._i2c = _I2C(port_id, mode=_I2C.MASTER, baudrate=frequency) if threading is not None: self._lock = threading.RLock()
def rpi_i2c(port=1, frequency=400000): i2c = busio.I2C(board.SCL, board.SDA) for portId, portScl, portSda in i2cPorts: if portScl == board.SCL and portSda == board.SDA and port == portId: i2c._i2c = _I2C(portId, mode=_I2C.MASTER, baudrate=frequency) return i2c
def init(self, scl, sda, frequency, bus=None): from adafruit_blinka.microcontroller.generic_linux.i2c import I2C as _I2C self._i2c = _I2C(bus, mode=_I2C.MASTER, baudrate=frequency)