Ejemplo n.º 1
0
    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()
Ejemplo n.º 3
0
 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)
         )
Ejemplo n.º 4
0
 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))
Ejemplo n.º 5
0
 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()
Ejemplo n.º 6
0
Archivo: rpi2c.py Proyecto: RicGET/vent
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
Ejemplo n.º 7
0
 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)