Пример #1
0
    def __init__(self, spi_id=None):
        # pylint: disable=import-outside-toplevel
        from pyftdi.spi import SpiController

        # pylint: enable=import-outside-toplevel

        self._spi = SpiController(cs_count=1)
        if spi_id is None:
            self._spi.configure(get_ft232h_url())
        else:
            self._spi.configure(get_ft2232h_url(spi_id + 1))
        self._port = self._spi.get_port(0)
        self._port.set_frequency(100000)
        self._port._cpol = 0
        self._port._cpha = 0
        # Change GPIO controller to SPI
        Pin.mpsse_gpio = self._spi.get_gpio()
Пример #2
0
    def __init__(self, i2c_id=None, mode=MASTER, baudrate=None, frequency=400000):
        if mode != self.MASTER:
            raise NotImplementedError("Only I2C Master supported!")
        _mode = self.MASTER

        # change GPIO controller to I2C
        # pylint: disable=import-outside-toplevel
        from pyftdi.i2c import I2cController

        # pylint: enable=import-outside-toplevel

        self._i2c = I2cController()
        if i2c_id is None:
            self._i2c.configure(get_ft232h_url(), frequency=frequency)
        else:
            self._i2c.configure(get_ft2232h_url(i2c_id), frequency=frequency)
        Pin.mpsse_gpio = self._i2c.get_gpio()
Пример #3
0
    def __init__(self, pin_id=None, interface_id=None):
        # setup GPIO controller if not done yet
        # use one provided by I2C as default
        if not Pin.mpsse_gpio:
            # pylint: disable=import-outside-toplevel
            from pyftdi.i2c import I2cController

            # pylint: enable=import-outside-toplevel

            i2c = I2cController()
            if interface_id is None:
                i2c.configure(get_ft232h_url())
            else:
                i2c.configure(get_ft2232h_url(interface_id))
            Pin.mpsse_gpio = i2c.get_gpio()
        # check if pin is valid
        if pin_id:
            if Pin.mpsse_gpio.all_pins & 1 << pin_id == 0:
                raise ValueError("Can not use pin {} as GPIO.".format(pin_id))
        # ID is just bit position
        self.id = pin_id