From 4400712c7ace60b69ecbe5bc22e354249096685f Mon Sep 17 00:00:00 2001 From: Emmanuel Blot Date: Sun, 24 Nov 2024 00:53:44 +0100 Subject: [PATCH] Update index --- searchindex.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/searchindex.js b/searchindex.js index b266131c..f19432af 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/eeprom", "api/ftdi", "api/gpio", "api/i2c", "api/index", "api/misc", "api/spi", "api/uart", "api/usbtools", "authors", "defs", "eeprom", "features", "gpio", "index", "installation", "license", "pinout", "requirements", "testing", "tools", "troubleshooting", "urlscheme"], "filenames": ["api/eeprom.rst", "api/ftdi.rst", "api/gpio.rst", "api/i2c.rst", "api/index.rst", "api/misc.rst", "api/spi.rst", "api/uart.rst", "api/usbtools.rst", "authors.rst", "defs.rst", "eeprom.rst", "features.rst", "gpio.rst", "index.rst", "installation.rst", "license.rst", "pinout.rst", "requirements.rst", "testing.rst", "tools.rst", "troubleshooting.rst", "urlscheme.rst"], "titles": ["eeprom - EEPROM API", "ftdi - FTDI low-level driver", "gpio - GPIO API", "i2c - I2C API", "API documentation", "misc - Miscellaneous helpers", "spi - SPI API", "serialext - UART API", "usbtools - USB tools", "Authors", "<no title>", "EEPROM management", "Features", "GPIOs", "PyFtdi", "Installation", "License", "FTDI device pinout", "Requirements", "Testing", "Tools", "Troubleshooting", "URL Scheme"], "terms": {"i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "2": [0, 1, 2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "c": [0, 1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "exampl": [0, 1, 2, 3, 6, 7, 15, 18, 20, 21, 22], "dump": [0, 5, 11], "content": [0, 1, 11, 12, 20], "instanti": [0, 3, 6], "an": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 15, 19, 21, 22], "manag": [0, 1, 3, 6, 7, 12, 14, 19, 20], "ftdieeprom": [0, 13], "select": [0, 1, 2, 3, 6, 8, 11, 12, 14, 15, 17, 22], "ftdi": [0, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "devic": [0, 1, 2, 3, 5, 6, 7, 8, 11, 13, 14, 15, 19, 20], "access": [0, 1, 2, 5, 6, 11, 12, 15, 19], "interfac": [0, 1, 2, 3, 6, 7, 8, 15, 17, 22], "mandatori": [0, 5, 11, 13, 19, 20], "ani": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 21], "valid": [0, 1, 6, 8, 11, 13, 18], "fit": [0, 3, 16, 19, 22], "open": [0, 1, 2, 7, 8, 12, 13, 15, 16, 20], "2232h": [0, 1, 3, 6, 7, 22], "1": [0, 1, 2, 3, 7, 8, 11, 12, 13, 15, 17, 18, 20, 21, 22], "show": [0, 7, 8, 11, 13, 20], "dump_config": 0, "raw": [0, 11, 13, 21], "from": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 16, 19, 20, 21, 22], "pyftdi": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22], "misc": [0, 4], "import": [0, 3, 7, 13, 15], "hexdump": [0, 5, 11], "print": [0, 1, 5, 7, 11, 22], "data": [0, 1, 2, 3, 5, 6, 7, 11, 13, 16, 21], "updat": [0, 1, 2, 11, 13, 14, 18], "serial": [0, 1, 2, 8, 11, 12, 13, 14, 15, 17, 20, 22], "number": [0, 1, 6, 11, 13, 15, 22], "chang": [0, 1, 2, 3, 6, 7, 11, 13, 15, 18], "set_serial_numb": 0, "123456": 0, "commit": 0, "dry_run": [0, 1], "fals": [0, 1, 2, 3, 5, 6, 8], "cbu": [0, 1, 2, 14], "altern": [0, 3, 6, 7, 11, 14, 15, 20], "featur": [0, 1, 2, 3, 6, 7, 17, 19, 20], "legaci": [0, 1, 7, 13], "ft232r": [0, 1, 2, 7, 11, 13, 14, 15], "alia": [0, 5, 20, 21], "cbush": 0, "ft232h": [0, 1, 2, 3, 7, 11, 12, 14, 15, 17, 19, 22], "ft2232h": [0, 1, 3, 6, 7, 8, 12, 13, 14, 15, 17], "ft4232h": [0, 1, 3, 8, 12, 13, 14, 15, 17], "cbusx": 0, "ft230x": [0, 1, 2, 7, 11, 13, 14, 15, 19], "cfg1": 0, "configur": [0, 1, 2, 3, 6, 15, 17, 20, 21], "bit": [0, 1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 15, 17, 18, 20], "store": [0, 15], "0x01": [0, 13], "channel": [0, 6, 15], "port": [0, 1, 2, 3, 6, 7, 8, 11, 12, 14, 15, 17, 20], "mode": [0, 1, 2, 3, 7, 11, 12, 15, 17, 20], "drive": [0, 1, 2, 3, 6, 11, 13], "driver": [0, 4, 12, 14, 15, 21, 22], "option": [0, 1, 2, 3, 5, 6, 7, 8, 13, 14, 15, 22], "o": [0, 1, 3, 6, 11, 13, 15, 17], "pin": [0, 1, 2, 3, 6, 7, 11, 12, 14, 17], "uart_bit": 0, "invers": [0, 11], "flag": [0, 1, 11], "ft": [0, 1, 11, 22], "x": [0, 1, 11, 15], "uartbit": 0, "var_str": 0, "manufactur": [0, 11, 22], "product": [0, 1, 5, 8, 11, 16, 20, 22], "string": [0, 1, 3, 5, 6, 8, 11, 15, 20, 22], "variabl": 0, "length": [0, 1, 2], "properti": [0, 1, 2, 3, 5, 6, 11], "cbus_mask": [0, 13], "int": [0, 1, 2, 3, 5, 6, 8], "return": [0, 1, 2, 3, 5, 6, 8, 14], "bitmask": [0, 1], "gpio": [0, 1, 4, 11, 12, 14, 19], "The": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 19, 20, 22], "bitmap": 0, "contain": [0, 1, 6, 11, 12, 13, 18, 19, 21], "four": [0, 13], "order": [0, 1, 8, 17, 20, 22], "natur": 0, "mask": [0, 1, 3, 13], "cbus_pin": [0, 13], "list": [0, 1, 2, 7, 8, 11, 15, 16, 20], "close": [0, 1, 3, 6, 7, 13, 16], "current": [0, 1, 2, 3, 5, 6, 7, 11, 13, 14, 18, 21], "connect": [0, 1, 3, 6, 7, 8, 11, 12, 13, 15, 17, 20], "usb": [0, 1, 3, 4, 5, 6, 7, 11, 13, 14, 19, 20, 22], "type": [0, 1, 2, 3, 5, 6, 7, 8, 11, 13, 14, 20], "none": [0, 1, 2, 3, 5, 6, 8], "true": [0, 1, 3, 5, 6, 7, 13], "no_crc": 0, "paramet": [0, 1, 2, 3, 5, 6, 8, 11, 14, 22], "bool": [0, 1, 2, 3, 5, 6, 8], "log": [0, 1, 3, 6, 15], "what": [0, 1, 3, 7], "should": [0, 1, 2, 3, 5, 6, 7, 8, 11, 13, 15, 17, 18, 19, 20, 21, 22], "written": [0, 1, 2, 3, 11, 13, 16], "do": [0, 1, 3, 11, 13, 14, 15, 17, 18, 21], "actual": [0, 1, 2, 3, 6, 7, 11, 13, 15, 19], "comput": [0, 1], "crc": [0, 11], "thi": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22], "onli": [0, 1, 2, 3, 5, 6, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20], "us": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22], "perform": [0, 1, 3, 6, 11, 12, 13, 14, 19], "full": [0, 1, 2, 5, 6, 7, 11, 12, 13], "erasur": 0, "attempt": [0, 1, 3, 11, 21], "recov": [0, 11], "corrupt": [0, 11, 22], "config": [0, 11], "some": [0, 1, 2, 3, 6, 7, 8, 11, 13, 14, 15, 18, 19, 21, 22], "have": [0, 1, 2, 3, 7, 8, 11, 13, 15, 18, 19, 21, 22], "been": [0, 1, 2, 3, 6, 8, 11, 13, 15, 16, 19, 20, 21], "ignor": [0, 3, 6, 11, 13, 15], "exist": [0, 1, 11, 13, 14, 18, 21, 22], "instanc": [0, 1, 3, 5, 6, 7, 8, 12, 13, 20], "whether": [0, 1, 2, 3, 5, 6, 7, 13, 16], "byte": [0, 1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 21], "default_s": 0, "report": [0, 1, 3, 6, 7, 13, 15, 18, 19, 22], "default": [0, 1, 3, 5, 6, 7, 8, 11, 14, 19], "size": [0, 1, 3, 5, 6, 11, 12, 14], "base": [0, 1, 2, 12], "physic": [0, 1], "mai": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "greater": [0, 7], "lower": [0, 1, 2, 7], "depend": [0, 1, 3, 6, 7, 11, 13, 14, 18, 20, 22], "device_vers": [0, 1], "version": [0, 1, 3, 14, 18, 21], "releas": [0, 3, 6, 8, 14, 15, 18], "file": [0, 11, 13, 15, 16, 19, 21], "binaryio": 0, "output": [0, 1, 2, 3, 6, 7, 8, 11, 13, 17, 19, 22], "stdout": [0, 1, 8], "enable_mirror": 0, "enabl": [0, 1, 3, 5, 6, 7, 11, 12, 13, 19, 20], "write": [0, 1, 2, 3, 6, 7, 11, 12, 13, 19], "mirror": [0, 5], "when": [0, 1, 2, 3, 5, 6, 7, 8, 11, 13, 14, 17, 22], "divid": [0, 2, 14], "sector": 0, "between": [0, 1, 5, 7, 13], "them": [0, 2, 7], "For": [0, 12, 13, 16, 19], "256": [0, 1, 11], "two": [0, 1, 2, 3, 6, 11, 13, 17, 22], "128": [0, 1, 11], "ident": [0, 5], "writen": 0, "both": [0, 2, 3, 12, 13], "like": [0, 3, 6, 11, 13, 21], "4232h": [0, 1, 6, 22], "make": [0, 15], "function": [0, 1, 7, 13], "similar": [0, 11, 13, 16], "ft_prog": [0, 11], "note": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 15, 17, 19, 21, 22], "has_mirror": 0, "after": [0, 6, 7, 13], "establish": 0, "disabl": [0, 1, 2, 6, 19], "eras": [0, 11, 22], "erase_byt": 0, "255": [0, 1], "whole": [0, 1, 11, 13], "0xff": [0, 13], "support": [0, 1, 2, 3, 5, 6, 8, 13, 15, 17, 19, 20, 22], "duplic": 0, "across": 0, "its": [0, 1, 2, 3, 6, 11, 13, 16, 19], "miror": 0, "initi": [0, 1, 2, 3, 6, 8, 16], "sensibl": 0, "valu": [0, 1, 2, 3, 5, 6, 11, 14, 15, 19, 20, 22], "is_empti": 0, "ha": [0, 1, 2, 3, 6, 7, 13, 15, 16, 17, 18, 19, 20], "detect": [0, 1, 7, 11, 15, 19, 20], "is_mirroring_en": 0, "check": [0, 1, 2, 3, 18, 21], "see": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22], "more": [0, 1, 3, 5, 6, 7, 8, 11, 13, 14, 19, 20], "detail": [0, 2, 3, 6, 7, 13, 15, 18, 22], "load_config": 0, "section": [0, 3, 7, 11, 14, 18, 21], "load": [0, 1, 8, 11, 13, 15, 19, 20, 21], "ini": [0, 11], "stream": [0, 1, 2, 8], "argument": [0, 1, 3, 5, 6, 7, 8, 11, 13, 20], "which": [0, 1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 18, 19, 20, 22], "": [0, 1, 3, 5, 7, 11, 19, 21], "hexabyt": 0, "previou": [0, 1, 2, 3, 6, 13, 14, 18], "human": [0, 5, 20], "readabl": [0, 5, 20], "all": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 22], "overwrit": 0, "part": [0, 1, 8, 13, 19], "provid": [0, 1, 2, 3, 6, 8, 13, 14, 16, 17], "handi": 0, "wai": [0, 2, 11, 13, 15, 16, 21, 22], "while": [0, 1, 3, 6, 7, 12, 14, 15, 18, 21], "custom": [0, 1, 5, 7, 11, 20], "textio": [0, 1, 8], "input": [0, 1, 2, 3, 5, 6, 7, 11, 13, 17, 19], "paran": 0, "mirror_sector": 0, "start": [0, 1, 3, 6, 7, 8, 13, 14, 15, 18, 20, 21, 22], "address": [0, 1, 3, 6, 7, 12, 13, 14, 22], "capabl": [0, 1, 3, 7, 13, 14, 17], "model": [0, 11, 13], "new": [0, 1, 2, 5, 6, 8, 11, 13, 14, 18, 19, 21], "union": [0, 1, 2, 3, 5, 6], "str": [0, 1, 2, 3, 5, 6, 8], "url": [0, 1, 2, 3, 6, 7, 8, 11, 14, 15, 19, 20], "specifi": [0, 1, 2, 3, 5, 6, 7, 8, 11, 14, 15, 22], "set": [0, 1, 2, 3, 5, 6, 7, 11, 19], "properi": 0, "reset_devic": 0, "execut": [0, 1, 6, 11, 21, 22], "reset": [0, 1, 3, 6, 13], "save_config": 0, "save": [0, 11], "set_manufacturer_nam": 0, "defin": [0, 1, 2, 3, 6, 7, 11, 13, 19, 22], "set_product_nam": 0, "name": [0, 1, 3, 5, 6, 7, 8, 11, 12, 13, 15, 16, 20], "set_properti": 0, "out": [0, 1, 2, 3, 6, 7, 8, 13, 15, 16, 18, 21, 22], "now": [0, 3, 12, 13, 14, 19], "small": 0, "subset": [0, 1], "can": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 19, 20, 21, 22], "hint": [0, 14], "set_test_mod": 0, "silenc": 0, "warn": [0, 6, 11], "most": [0, 1, 3, 7, 11, 13, 14, 19], "common": [0, 1, 5, 11, 12, 13, 19], "yet": [0, 1, 2, 7, 13, 14], "known": [0, 6, 7], "storage_s": 0, "storag": 0, "sync": [0, 1, 19], "forc": [0, 1, 3, 6, 11, 13, 22], "re": [0, 1, 3, 8, 13, 19], "evalu": [0, 1], "regular": [0, 1, 3, 6, 7, 8, 13, 18, 19, 20], "usag": [0, 1, 8, 11, 13, 20], "might": [0, 1, 2, 18], "help": [0, 7, 11, 12, 19, 20, 21, 22], "doe": [0, 1, 2, 6, 7, 13, 16, 17, 18, 21], "go": 0, "through": [0, 1, 3, 7, 11, 12, 13, 21, 22], "cycl": [0, 1, 3, 6, 7, 11, 13], "ftdieepromerror": 0, "error": [0, 1, 2, 3, 6, 8], "export": [0, 3, 6, 21], "ftdi_devic": [0, 3, 6], "pythonpath": [0, 3, 6, 7, 19], "python3": [0, 3, 6, 7, 15], "py": [0, 2, 3, 6, 7, 11, 12, 13, 15, 16, 19, 20], "modul": [1, 3, 6, 7, 11, 12, 18, 19, 20], "implement": [1, 6, 7, 11, 12, 13, 14, 16, 19], "hardwar": [1, 6, 13, 15], "There": [1, 3, 6, 7, 8, 11, 13, 15, 19, 22], "ar": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "veri": [1, 3, 6, 7, 11, 13], "few": [1, 6], "reason": [1, 11, 13, 16], "directli": [1, 3, 6, 13], "avail": [1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 17, 20, 22], "dedic": [1, 2, 3, 6, 7, 13, 19], "api": [1, 8, 11, 12, 14, 15, 16, 19, 20, 22], "bitmod": 1, "qualnam": 1, "boundari": [1, 12], "default_vendor": [1, 8, 15], "1027": 1, "vendor": [1, 5, 8, 11, 19, 20, 22], "device_nam": 1, "512": 1, "ft232am": [1, 15], "1024": [1, 5, 7, 11], "ft232bm": [1, 15], "1280": 1, "ft2232c": [1, 14, 15], "1536": 1, "1792": 1, "2048": 1, "2304": 1, "4096": 1, "13824": 1, "ft4232ha": [1, 3, 8, 12, 13, 14, 15, 17], "fifo_s": 1, "384": 1, "chip": [1, 6, 11], "intern": [1, 2, 11], "fifo": [1, 2, 3, 6], "tx": [1, 7, 11], "rx": [1, 2, 7, 11], "invert": [1, 6], "datasheet": [1, 13], "terminologi": [1, 13], "here": [1, 7, 13, 14, 15, 22], "seen": [1, 7], "host": [1, 3, 8, 15, 18, 20], "perspect": [1, 16], "wherea": 1, "ftdi_vendor": 1, "vid": [1, 5, 7, 8, 11, 20, 22], "product_id": [1, 5, 11, 15, 20], "2232": [1, 7, 15, 22], "24592": 1, "2232c": 1, "2232d": [1, 22], "230x": [1, 22], "24597": 1, "231x": 1, "232": [1, 7, 12, 22], "24577": 1, "232h": [1, 3, 6, 15, 22], "24596": 1, "232r": [1, 22], "234x": 1, "4232": [1, 22], "24593": 1, "4232ha": [1, 6, 22], "24648": 1, "ft2232": [1, 15], "ft2232d": [1, 3, 13, 15], "ft231x": [1, 2, 7, 13, 14, 15], "ft232": 1, "ft234x": [1, 14, 15], "ft4232": [1, 11, 15], "offici": [1, 6, 11, 14, 15, 18, 20], "ones": [1, 3, 6, 7, 13], "To": [1, 2, 7, 11, 13, 15, 22], "add": [1, 2, 3, 5, 6, 15, 20], "third": [1, 6], "parti": 1, "add_custom_product": [1, 15], "scheme": [1, 8, 14, 19], "usbtool": [1, 4, 19], "vendor_id": [1, 5, 11, 15, 20], "add_custom_vendor": [1, 15], "classmethod": [1, 3, 5, 8], "pid": [1, 5, 7, 8, 11, 20, 22], "pidnam": 1, "identifi": [1, 8, 11, 15, 20, 22], "It": [1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 16, 18, 19, 20, 21], "requir": [1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 17, 19, 20], "non": [1, 2, 3, 6, 12, 13, 14], "standard": [1, 6, 11, 18, 22], "id": [1, 6, 7, 8, 11, 22], "16": [1, 3, 5, 6, 13, 14, 15, 17, 20, 22], "arbitrari": [1, 2, 6, 7, 15], "rais": [1, 3, 5, 13, 22], "valueerror": [1, 5], "alreadi": [1, 19, 21], "referenc": [1, 21], "vidnam": 1, "pretti": 1, "baudrat": [1, 5, 7, 14, 19], "bitbang_en": 1, "tell": [1, 3, 5, 15], "bitbang": [1, 2, 13, 14, 17], "activ": [1, 6, 11, 13], "calc_eeprom_checksum": 1, "calcul": [1, 14], "eeprom": [1, 3, 4, 14, 15, 20, 22], "checksum": [1, 11], "over": [1, 3, 6, 7, 11, 13], "bytearrai": [1, 2, 3, 5, 6, 14], "must": [1, 13, 15, 16], "even": [1, 11, 13, 16, 19], "freez": [1, 3, 6], "state": [1, 3, 6, 7, 11], "mean": [1, 2, 3, 6, 7, 13], "left": 1, "signal": [1, 3, 6, 11], "specif": [1, 3, 6, 13, 15, 16, 19, 22], "need": [1, 2, 3, 6, 8, 11, 13, 15, 19, 21, 22], "create_from_url": [1, 15], "creat": [1, 15, 19, 21], "index": [1, 5, 6, 8, 14, 15, 22], "selector": [1, 2, 8, 22], "fresh": [1, 3, 6, 15], "decode_modem_statu": 1, "error_onli": 1, "decod": [1, 11, 19], "modem": [1, 7], "statu": [1, 11], "bitfield": [1, 2, 3, 6], "short": [1, 2, 5, 13, 20], "tupl": [1, 2, 8], "device_port_count": 1, "count": [1, 3, 6, 7, 8], "e": [1, 2, 3, 6, 7, 11, 13, 15, 20], "kind": [1, 8, 19, 21], "ic_nam": 1, "inform": [1, 8, 15], "integ": [1, 2, 3, 5, 6, 13, 15, 20, 22], "enable_3phase_clock": 1, "3": [1, 7, 11, 12, 13, 15, 17, 18, 22], "phase": [1, 6], "clock": [1, 2, 6, 7, 11, 12, 13, 14, 17], "mpsse": [1, 2, 3, 6, 12, 14, 17, 19], "mostli": 1, "i2c": [1, 2, 4, 13, 17, 20], "also": [1, 3, 6, 12, 13, 14, 15, 19, 20, 21, 22], "workaround": [1, 6, 12], "spi": [1, 2, 4, 7, 13, 14, 17, 19], "ftdimpsseerror": 1, "enable_adaptive_clock": 1, "adapt": [1, 3, 12], "mpsee": 1, "uniqu": [1, 15, 22], "design": [1, 2, 3, 6, 20], "feedback": 1, "jtag": [1, 2, 3, 7, 13, 14, 17, 19], "arm": [1, 3], "core": 1, "enable_drivezero_mod": 1, "line": [1, 2, 3, 5, 6, 11, 14, 15, 17, 20], "zero": [1, 3, 6], "collector": [1, 13], "driven": [1, 7], "enable_loopback_mod": 1, "loopback": [1, 7], "di": 1, "test": [1, 2, 5, 7, 11, 12, 13, 14, 15, 18, 20], "purpos": [1, 5, 11, 12, 16], "uart": [1, 2, 4, 13, 14, 17, 19], "tuppl": 1, "static": 1, "find_al": [1, 8], "vp": [1, 8], "nocach": [1, 8], "find": [1, 8, 22], "match": [1, 2, 5, 8, 11, 13, 15, 19, 20, 22], "pair": [1, 8, 11, 15, 22], "sequenc": [1, 2, 3, 5, 6, 8, 13], "bypass": [1, 3, 8], "cach": [1, 8], "enumer": [1, 8, 19, 21, 22], "5": [1, 6, 7, 11, 13, 14, 18], "sernum": 1, "ifac": [1, 8], "descript": [1, 11], "descriptor": [1, 8], "frequency_max": [1, 3, 6], "float": [1, 2, 3, 5, 6], "maximum": [1, 3, 6], "frequenc": [1, 2, 3, 6, 13, 19], "hz": [1, 3, 6], "get_cbus_gpio": [1, 13], "get": [1, 2, 3, 6, 11, 13, 15, 19], "read": [1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 19, 21], "get_cd": 1, "termin": [1, 3, 6, 12, 20], "carrier": 1, "cd": [1, 15], "logic": [1, 3, 5, 7, 13], "get_ct": 1, "clear": [1, 8, 13], "send": [1, 3, 6, 7], "ct": [1, 7, 17], "get_devic": [1, 8], "without": [1, 3, 11, 13, 14, 16, 18, 19, 22], "pars": [1, 5, 8, 11, 20], "get_dsr": 1, "readi": 1, "dsr": [1, 7, 17], "get_error_str": 1, "wrapper": 1, "compat": [1, 14, 15, 16, 18, 22], "constant": [1, 2, 11], "meaningless": 1, "get_identifi": 1, "extract": 1, "usbdevicedescriptor": [1, 8], "get_latency_tim": 1, "latenc": [1, 3, 6], "timer": 1, "unspecifi": 1, "unit": [1, 5, 19], "get_ri": 1, "ring": 1, "indic": [1, 7, 21], "ri": [1, 7, 17], "has_cbu": [1, 13], "special": [1, 2, 3, 6, 11, 13, 16, 22], "queri": [1, 13, 22], "ftdierror": 1, "has_drivezero": 1, "commun": [1, 3, 6, 12, 13, 15, 19, 21], "has_mpss": 1, "has_wide_port": 1, "v": [1, 3, 6, 7, 9, 11, 20, 21], "8": [1, 2, 3, 6, 7, 13, 14, 18], "wide": [1, 2, 3, 6, 13], "http": [1, 15], "www": 1, "ftdichip": 1, "com": [1, 15, 21], "document": [1, 7, 13, 16, 20], "technicalnot": 1, "tn_100_usb_vid": 1, "pid_guidelin": 1, "pdf": 1, "is_h_seri": 1, "high": [1, 2, 3, 6, 7, 11, 13, 21], "end": [1, 2, 8, 15, 18, 22], "bridg": [1, 14], "is_bitbang_en": 1, "is_connect": 1, "slave": [1, 3, 6, 12, 14, 19], "is_eeprom_intern": 1, "is_legaci": 1, "slow": [1, 3], "is_mpss": 1, "is_mpsse_interfac": 1, "list_devic": [1, 8, 22], "pattern": [1, 8], "restrict": [1, 13], "search": [1, 11], "max_eeprom_s": 1, "0": [1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 18, 21], "modem_statu": 1, "decoded": 1, "mpsse_bit_delai": 1, "delai": [1, 2, 6, 13], "set_bit": 1, "command": [1, 2, 3, 6, 7, 11, 13, 15, 19, 20], "minimum": 1, "larger": 1, "second": [1, 2, 5, 6, 7, 13, 21], "bu": [1, 6, 8, 12, 13, 14, 17, 19, 20, 22], "If": [1, 2, 3, 6, 7, 8, 11, 13, 15, 21], "sever": [1, 2, 3, 7, 8, 11, 12, 13, 14, 18, 19, 20, 21, 22], "same": [1, 2, 7, 8, 11, 12, 13, 16, 21, 22], "either": [1, 8, 13, 17, 22], "discrimin": [1, 8], "reliabl": [1, 6, 7, 8], "solut": [1, 8, 12, 18], "random": [1, 8], "alwai": [1, 2, 3, 6, 8, 13, 14, 15, 20], "prefer": [1, 8, 15, 21, 22], "n": [1, 13, 15], "th": [1, 3], "open_bitbang": [1, 22], "direct": [1, 2, 3, 6, 7, 16, 17], "1000000": [1, 6], "where": [1, 2, 3, 6, 11, 12, 13, 14, 15, 21, 22], "poll": [1, 3], "shorter": [1, 3], "higher": 1, "cpu": 1, "pace": [1, 2, 13], "exchang": [1, 2, 3, 6, 13], "synchron": [1, 2, 6, 11, 12, 14], "asynchron": [1, 2, 13, 14], "bp": [1, 7], "open_bitbang_from_devic": [1, 22], "open_bitbang_from_url": [1, 22], "open_from_devic": [1, 22], "pyusb": [1, 8, 15, 18, 19, 21, 22], "open_from_url": [1, 2, 13, 20, 22], "open_mpss": [1, 22], "6000000": 1, "debug": [1, 3, 5, 6, 7, 11, 12, 20, 21], "other": [1, 2, 3, 6, 11, 16, 18, 21, 22], "millisecond": 1, "than": [1, 2, 6, 7, 11, 13, 14, 20], "trigger": [1, 6, 13, 15, 21], "loss": [1, 16, 21], "tracer": [1, 3, 6], "protocol": [1, 3, 8, 14], "open_mpsse_from_devic": [1, 22], "trace": 1, "open_mpsse_from_url": [1, 22], "overwrite_eeprom": 1, "first": [1, 3, 5, 6, 7, 11, 13, 17], "last": [1, 6, 8, 18], "you": [1, 2, 3, 6, 11, 15, 16, 19, 21, 22], "brick": [1, 11], "your": [1, 3, 11, 13, 14, 15, 18, 19, 22], "invalid": [1, 3, 21], "own": 1, "risk": 1, "rtfm": 1, "includ": [1, 3, 6, 11, 12, 14, 16, 19], "poll_modem_statu": 1, "allow": [1, 5, 15], "retriev": [1, 2, 3, 6, 8, 14, 22], "so": [1, 2, 3, 6, 11, 12, 13, 14, 15, 21, 22], "call": [1, 3, 5, 6, 7, 8, 13, 14, 15, 18, 19], "interrupt": [1, 16, 22], "point": [1, 11], "event": [1, 3, 16], "done": [1, 7], "control": [1, 2, 3, 6, 13, 15], "endpoint": 1, "obtain": [1, 3, 6, 7, 8, 11, 22], "proprietari": 1, "port_index": 1, "posit": [1, 3, 6, 7, 11, 13], "port_width": 1, "width": [1, 2, 3, 6, 13], "singl": [1, 6, 13, 14, 15, 19, 22], "purge_buff": 1, "buffer": [1, 2, 3, 5, 6, 7, 11, 13], "purge_rx_buff": 1, "receiv": [1, 3, 6, 7, 11], "purge_tx_buff": 1, "transmit": [1, 7, 11], "read_data": 1, "shortcut": [1, 11], "instead": [1, 13, 14, 15], "arrai": [1, 3, 6, 14], "request": [1, 2, 3, 6, 11, 13, 19, 21], "payload": [1, 21], "read_data_byt": 1, "request_gen": 1, "In": [1, 2, 6, 7, 11, 17, 20, 22], "process": [1, 15], "engin": [1, 3, 6, 12, 19], "rebuilt": 1, "chunk": 1, "block": [1, 6, 11], "strip": 1, "becaus": [1, 19], "multipl": [1, 15, 19], "buse": [1, 22], "immedi": [1, 22], "side": 1, "increas": [1, 3, 6, 7, 11, 20], "expect": [1, 3, 6], "amount": 1, "befor": [1, 2, 3, 6, 11, 13, 15, 21], "give": [1, 13], "up": [1, 2, 3, 6, 7, 12, 14, 15, 17, 18, 19, 21], "callabl": 1, "take": [1, 3, 5, 6, 11, 21], "byffer": 1, "back": [1, 3, 7, 8, 11, 15], "remot": [1, 3, 6], "optim": [1, 3], "continu": [1, 19], "transfer": [1, 2, 3, 6, 12, 14], "read_data_get_chunks": 1, "read_data_set_chunks": 1, "chunksiz": 1, "intend": [1, 13], "recommend": [1, 3, 6, 11, 22], "automat": [1, 12, 13, 15, 19, 21], "best": [1, 22], "read_eeprom": 1, "addr": [1, 8], "eeprom_s": 1, "we": [1, 6, 13], "word": [1, 2, 6], "time": [1, 2, 3, 7, 8, 11, 13, 20], "work": [1, 3, 11, 15, 18, 19, 20], "desir": 1, "total": 1, "read_pin": 1, "circumv": 1, "usb_reset": 1, "wether": 1, "bewar": [1, 2, 11, 14], "affect": [1, 13], "set_baudr": 1, "constrain": 1, "abl": [1, 3, 19], "Its": [1, 15], "dividor": 1, "achiev": [1, 3, 5, 6, 7, 13], "attemp": 1, "closest": [1, 2, 5], "deviat": 1, "too": 1, "reject": [1, 11], "attribut": [1, 7], "exact": [1, 2, 5, 6, 13], "baudrate_toler": 1, "drift": 1, "within": [1, 7, 19], "limit": [1, 2, 3, 5, 11, 12, 13, 16, 19], "rs232": [1, 7, 15], "toler": [1, 13], "larg": [1, 19], "io": [1, 3, 6, 11, 13], "effect": [1, 3, 11, 15], "set_bitmod": 1, "switch": [1, 5], "set_break": 1, "break_": 1, "stop": [1, 2, 3, 6, 7, 22], "break": [1, 8, 13, 14], "set_cbus_direct": [1, 13], "set_cbus_gpio": [1, 13], "appli": [1, 3, 6, 13], "set_dtr": 1, "dtr": [1, 7, 17], "set_dtr_rt": 1, "rt": [1, 7, 17], "onc": [1, 2, 3, 6, 7, 11, 13, 15], "set_dynamic_lat": 1, "lmin": 1, "lmax": 1, "threshold": 1, "dynam": [1, 19, 21], "balanc": 1, "respons": 1, "bandwidth": 1, "throughput": [1, 6], "maintain": [1, 14, 18], "tweak": [1, 3], "care": [1, 6, 11], "12": [1, 7, 11, 13, 14, 17], "abov": [1, 5, 7, 14, 15, 16, 18], "lose": 1, "m": [1, 5, 11, 18], "each": [1, 2, 3, 6, 7, 8, 11, 13, 15, 19], "least": [1, 6], "one": [1, 2, 3, 6, 7, 8, 11, 13, 14, 18, 19], "doubl": 1, "everi": [1, 13], "latenti": 1, "set_error_char": 1, "errorch": 1, "charact": [1, 5, 7, 11], "set_event_char": 1, "eventch": 1, "set_flowctrl": 1, "flowctrl": 1, "flowcontrol": 1, "flow": 1, "softwar": [1, 3, 13, 16, 19], "hw": [1, 2, 3, 6, 7, 13, 19], "empti": [1, 2, 3, 6, 11], "how": [1, 2, 3, 5, 6, 12, 13, 20], "faq": 1, "ftxxx": [1, 7], "link": 1, "accept": [1, 2, 3, 5, 6, 7, 13, 20, 22], "rxd": [1, 17], "cannot": [1, 2, 3, 5, 7, 12, 13, 14, 19, 21], "reach": [1, 3, 6, 18], "32": 1, "space": [1, 14, 15], "extern": [1, 7, 11], "txd": [1, 17], "potenti": [1, 7, 14, 18], "overrun": [1, 7], "occasion": [1, 7], "present": [1, 7, 11, 13, 15], "problem": [1, 7], "shoud": [1, 7], "made": [1, 7, 11], "awar": [1, 7], "normal": [1, 7], "pc": [1, 7], "As": [1, 3, 6, 7, 11, 17, 18], "oper": [1, 3, 5, 7], "packet": [1, 7], "basi": [1, 7, 18], "oppos": [1, 7], "wise": 1, "Not": 1, "shift": 1, "thei": [1, 2, 5, 13, 17, 19, 20], "set_frequ": [1, 2, 6], "differ": [1, 3, 8, 11, 13], "set_latency_tim": 1, "keep": [1, 3, 6, 7, 14, 18, 19], "decreas": 1, "Be": [1, 15], "set_line_properti": 1, "stopbit": 1, "pariti": 1, "characterist": 1, "pyseri": [1, 7, 12, 14, 15, 18], "definit": [1, 5, 19], "follow": [1, 3, 5, 6, 7, 11, 13, 14, 15, 16, 18, 20], "7": [1, 6, 7, 11, 12, 13, 18], "half": [1, 6, 12], "odd": 1, "uppercas": 1, "set_rt": 1, "show_devic": [1, 8, 15, 22], "usb_dev": [1, 8], "underli": 1, "usb_path": 1, "locat": [1, 7, 8, 11, 12, 20], "topologi": [1, 19], "validate_mpss": 1, "write_data": 1, "split": [1, 8], "being": [1, 2, 14, 18], "sent": 1, "write_data_get_chunks": 1, "write_data_set_chunks": 1, "write_eeprom": 1, "ftdifeatureerror": 1, "mutual": [2, 11], "exclus": [2, 11], "advanc": 2, "share": [2, 16, 20], "gpioport": 2, "duck": [2, 13], "gpioasynccontrol": [2, 13], "bang": [2, 11], "method": [2, 3, 6, 8, 13, 14, 15, 20, 21], "sampl": [2, 3, 6, 13], "rate": 2, "soon": 2, "fill": 2, "until": 2, "case": [2, 3, 6, 13, 19, 22], "therefor": [2, 3, 19, 21, 22], "hard": [2, 19], "peek": 2, "gener": [2, 5, 6, 8, 11, 12, 16, 19], "board": [2, 11, 19], "kwarg": [2, 3, 5, 6], "level": [2, 3, 4, 6, 12, 13, 19, 21, 22], "low": [2, 3, 4, 6, 7, 11, 12, 13, 19, 22], "per": [2, 6, 14, 15], "readlen": [2, 3, 6], "noflush": 2, "electr": 2, "mani": [2, 7, 11, 13, 15, 19, 20], "instantan": 2, "contin": 2, "longer": [2, 6, 11, 13, 21], "collect": 2, "old": [2, 22], "know": 2, "ensur": [2, 11, 21], "complet": [2, 5, 6, 15, 20], "discard": [2, 3, 12], "flush": [2, 3, 6, 8], "otherwis": [2, 3, 16], "read_port": 2, "regist": [2, 3, 21], "unfortun": 2, "seem": [2, 11, 15], "wait": [2, 3], "client": [2, 7, 14, 18], "long": [2, 3, 16], "fulli": [2, 3, 13], "freq": [2, 6], "contrari": 2, "approxim": 2, "abort": 2, "spec": 2, "write_port": 2, "gpiosynccontrol": [2, 13], "eveeri": 2, "gpiompssecontrol": [2, 13], "reachabl": 2, "slower": [2, 13], "lsb": [2, 3, 6, 13], "b0": [2, 3, 6], "b7": [2, 3], "msb": [2, 6, 13], "b8": 2, "b15": 2, "subsequ": [2, 7, 11], "slight": 2, "occur": [2, 3], "group": [2, 15], "possibl": [2, 3, 5, 6, 7, 11, 13, 14, 16, 19, 22], "atom": [2, 7, 13], "worth": 2, "peak": 2, "iter": [2, 3, 5, 6], "gpioexcept": 2, "expand": 3, "i2ccontrol": [3, 13], "IF": [3, 6, 7, 16, 17], "master": [3, 6, 14, 15], "get_port": [3, 6], "0x21": 3, "0x04": 3, "write_to": 3, "0x06": [3, 13], "b": [3, 6, 7, 13, 14, 15, 21], "x00": 3, "read_from": 3, "0x00": [3, 6, 13], "complex": 3, "transact": [3, 6], "sleep": [3, 11], "0x56": 3, "emit": [3, 11, 20, 21], "busi": [3, 16], "relax": 3, "1m": 3, "001": 3, "4": [3, 6, 7, 13, 14, 15, 17, 22], "neither": [3, 11, 16], "x01": [3, 6], "pyi2cflash": [3, 12], "i2cport": 3, "never": [3, 6, 15, 21], "instanci": [3, 5, 6, 8, 13], "prevent": [3, 13], "further": [3, 6], "ctrl": [3, 6, 7], "0x12": [3, 6], "0x34": [3, 6], "configure_regist": 3, "bigendian": 3, "reconfigur": [3, 6, 13], "format": [3, 5, 11, 19, 20], "big": 3, "endian": 3, "encod": [3, 5, 11], "w": [3, 6, 7, 11, 12, 13, 15], "ack": 3, "nack": 3, "acknowledg": 3, "poll_cond": 3, "remov": 3, "watch": 3, "condit": [3, 11, 16], "satisfi": 3, "On": [3, 15, 21], "repeat": [3, 7, 11, 20], "howev": [3, 7, 13, 16, 18, 22], "leav": 3, "binari": [3, 5, 16], "against": [3, 14, 18], "timeout": 3, "i2ctimeouterror": 3, "satisifi": 3, "i2cioerror": 3, "regaddr": 3, "given": [3, 13], "shift_address": 3, "offset": [3, 6], "i2cgpioport": [3, 13], "A": [3, 6, 13, 16, 18], "wich": [3, 6], "reserv": [3, 6, 14, 16], "lowest": [3, 6, 13], "b3": [3, 6], "scl": [3, 13], "b1": [3, 6], "sda_o": 3, "b2": [3, 6], "sda_i": 3, "stretch": [3, 13, 17], "bia": [3, 6], "0x08": 3, "4432h": [3, 6], "seri": [3, 6, 7, 11, 12, 14, 17, 18], "i2cgpio": 3, "get_gpio": [3, 6, 13], "all_pin": [3, 6], "repres": [3, 6, 13, 15, 19], "self": [3, 6], "with_output": [3, 6], "unmask": [3, 6], "set_direct": [3, 6, 13], "invok": [3, 6, 15], "handl": [3, 13, 19], "associ": [3, 11], "sck": [3, 17], "bus0": 3, "bus7": 3, "sda": [3, 13, 17], "bus1": 3, "bus2": 3, "map": [3, 5, 6, 8, 11, 13], "setup": [3, 6, 15, 19, 20], "preced": [3, 6, 11], "clockstretch": 3, "boolean": [3, 5, 6], "clockstrech": 3, "xd7": 3, "gpio7": [3, 17], "xd0": 3, "verbos": [3, 6, 7, 11, 20], "properli": [3, 6], "0x7f": 3, "max": 3, "force_clock_mod": 3, "unsupport": [3, 11], "cowardli": 3, "refus": 3, "compliant": [3, 12], "bug": [3, 19], "gpio_all_pin": [3, 6], "gpio_pin": [3, 6], "fmt": 3, "struct": 3, "fail": [3, 5, 8, 11], "read_gpio": [3, 6], "set_gpio_direct": [3, 6], "set_retry_count": 3, "retri": 3, "bail": 3, "param": 3, "deprec": [3, 6, 22], "validate_address": 3, "assert": [3, 6, 13], "rang": [3, 13], "ad": 3, "write_gpio": [3, 6], "i2cnackerror": 3, "tca9555": 3, "adxl345": [3, 6], "0x53": 3, "checkout": [3, 6], "copi": [3, 5, 6, 11, 13, 15, 21], "github": [3, 6, 13, 14, 15, 21], "repositori": [3, 6, 15, 19], "pinout": [3, 6, 14], "ftdi_loglevel": [3, 6, 19], "sure": [3, 6, 15, 21], "appropri": [3, 6, 11], "run": [3, 6, 7, 11, 15, 19, 21], "bidirect": 3, "drain": [3, 13], "pull": [3, 17], "resistor": [3, 17], "These": [3, 13, 20], "trick": 3, "fake": 3, "r": [3, 7, 12, 15], "sourc": [3, 12, 16, 18], "cope": [3, 6], "conflict": [3, 7, 11, 21, 22], "want": [3, 6, 13, 15, 21], "schemat": 3, "ma": 3, "maxim": 3, "attach": 3, "down": [3, 11], "fortun": 3, "real": [3, 7, 13], "hack": [3, 13], "ad0": [3, 6, 13], "bd0": [3, 13], "ad7": [3, 13], "bd7": [3, 13], "proper": [3, 13, 19], "ofth": 3, "forward": 3, "voltag": 3, "drop": 3, "diod": 3, "due": [3, 6], "bitrat": 3, "enforc": [3, 6], "peer": 3, "top": 3, "stack": [3, 5, 19], "With": [3, 13, 15, 19, 22], "introduct": 3, "v0": [3, 13, 14, 18, 19], "51": 3, "much": [3, 19], "faster": 3, "thanwith": 3, "exhibit": [3, 7], "far": 3, "nevetherless": 3, "carefulli": 3, "studi": 3, "medium": 3, "rel": 3, "ft4222h": 3, "better": [3, 13, 18], "fig": [3, 6], "ad1": [3, 6, 13], "ad2": [3, 6, 13], "remain": [3, 6], "freeli": [3, 6, 16], "d1": 3, "along": [3, 11, 13, 20, 21], "serialext": [4, 12], "tool": [4, 7, 12, 13, 14, 15, 19, 21, 22], "miscellan": 4, "helper": [4, 8, 22], "class": 5, "easydict": 5, "dictionari": 5, "whose": [5, 13], "member": 5, "shallow": 5, "d": [5, 7, 11, 14, 15, 17, 20], "add_custom_devic": 5, "ftdicl": 5, "vpstr": 5, "force_hex": 5, "identif": 5, "vendor_nam": [5, 20], "product_nam": [5, 20], "omit": [5, 20], "serv": [5, 20], "alias": [5, 20, 22], "resolv": [5, 20], "express": [5, 16], "decim": [5, 22], "hexadecim": [5, 11, 20, 22], "syntax": [5, 8, 19, 20, 22], "ex": [5, 21, 22], "0x403": [5, 20, 22], "0x9999": [5, 20], "mycompani": [5, 20], "0x666": [5, 20], "myproduct": [5, 15, 20], "0xcafe": [5, 20], "typic": [5, 11, 13, 15], "describ": [5, 11, 19, 20], "consid": [5, 6, 13], "classproperti": 5, "fget": 5, "fset": 5, "fdel": 5, "doc": [5, 15], "getter": 5, "decor": 5, "abbrevi": 5, "convert": [5, 14], "represent": [5, 11], "multi": [5, 14], "ascii": [5, 11], "cv": [5, 11], "replac": [5, 7, 13, 15, 19], "hexlin": 5, "sep": 5, "separ": [5, 11], "char": [5, 7, 22], "is_iter": 5, "obj": 5, "object": [5, 13, 22], "pretty_s": 5, "lim_k": 5, "lim_m": 5, "10485760": 5, "plural": 5, "floor": 5, "kib": 5, "mib": 5, "integr": [5, 12, 19], "candid": [5, 8], "convers": 5, "append": 5, "final": [5, 21], "behav": 5, "smaller": 5, "fallback": 5, "next": [5, 11, 21], "prettyfi": 5, "show_call_stack": 5, "to_bool": 5, "permiss": [5, 15, 16], "allow_int": 5, "to_bp": 5, "multipli": 5, "k": 5, "g": [5, 13, 15, 20], "to_int": 5, "code": [5, 9, 15, 16, 18, 21], "kilo": 5, "mega": 5, "xor": 5, "_a_": 5, "_b_": 5, "ed": 5, "flash": [6, 12], "duplex": [6, 12], "spicontrol": [6, 13, 14], "bus3": 6, "12mhz": 6, "12e6": 6, "jedec": 6, "jedec_id": 6, "0x9f": 6, "bus4": 6, "cs_count": 6, "10mhz": 6, "10e6": 6, "write_buf": 6, "x02": 6, "x03": 6, "read_buf": 6, "extra": [6, 11, 13], "gpo": 6, "gpi": 6, "0x30": 6, "0x10": 6, "slace": 6, "hello": [6, 7], "world": [6, 7], "0x20": 6, "align": [6, 12], "6": [6, 7, 11, 12, 14, 18], "xff": 6, "droptail": 6, "13": [6, 7, 21], "pyspiflash": [6, 12], "spiport": 6, "cs_hold": 6, "spi_mod": 6, "extend": [6, 7], "resum": 6, "previous": [6, 8], "desactivet": 6, "force_select": 6, "tri": [6, 11, 14, 18, 19, 22], "extrem": [6, 11], "puls": [6, 12], "whatev": [6, 13], "hold": 6, "durat": [6, 7], "unitless": 6, "set_mod": 6, "spigpioport": [6, 13], "b4": 6, "sclk": [6, 17], "mosi": [6, 17], "miso": [6, 17], "cs0": [6, 17], "cs1": [6, 17], "less": 6, "constructor": 6, "spigpio": 6, "turbo": 6, "active_channel": 6, "cs_prolog": 6, "cs_epilog": 6, "cpol": [6, 12], "cpha": [6, 12], "prolog": 6, "epilog": 6, "polar": 6, "deriv": [6, 16], "manner": [6, 13], "force_control": 6, "lead": [6, 8], "unexpect": [6, 11], "result": [6, 7], "slot": 6, "is_inverted_cpha_support": 6, "kludg": 6, "spiioerror": 6, "mx25l1606e": 6, "rfda2125": 6, "applic": [6, 7, 11, 13], "node": 6, "114": 6, "review": 6, "sheet": 6, "determin": 6, "ymmv": 6, "h": [6, 7, 11, 12, 15, 20], "consequ": 6, "duti": [6, 7], "50": [6, 7], "25": 6, "75": [6, 7], "again": [6, 11], "ve": [6, 11], "precis": [6, 13], "instant": 6, "adc": 6, "dac": 6, "librari": [6, 18, 21], "reli": [6, 15, 18, 19, 21], "lack": 6, "timestamp": [6, 11], "jitter": 6, "easi": 6, "ad3": [6, 13], "ad4": [6, 13], "ad5": 6, "anoth": [6, 7, 13, 19, 21, 22], "ad6": 6, "etc": [6, 13, 15], "act": 7, "backend": [7, 8, 12, 15, 19], "well": [7, 13], "protocol_ftdi": 7, "Then": 7, "serial_for_url": [7, 13], "extens": [7, 12, 21], "3mbaud": 7, "3000000": 7, "primari": 7, "somewhat": [7, 13], "come": [7, 20, 21], "assign": [7, 11, 13], "unus": 7, "although": [7, 14, 18, 19], "seldom": 7, "dce": 7, "upper": [7, 11], "15": 7, "nevertheless": [7, 14, 19], "hardcod": 7, "mind": 7, "those": [7, 12, 13, 15, 20], "tabl": [7, 11], "below": [7, 15, 20], "dcd": [7, 17], "addit": [7, 11, 13], "pyterm": 7, "simpl": [7, 11, 15, 19, 20, 22], "chapter": [7, 11, 12, 15], "f": 7, "l": [7, 11], "p": [7, 11, 20], "vidpid": [7, 11, 20], "virtual": [7, 11, 13, 20, 21], "python": [7, 12, 13, 14, 19, 20, 21, 22], "messag": [7, 11], "exit": [7, 11, 20, 22], "fullmod": 7, "115200": 7, "hwflow": 7, "localecho": 7, "local": [7, 14, 20], "echo": 7, "crlf": 7, "prefix": [7, 22], "lf": 7, "cr": 7, "twice": 7, "silent": 7, "yaml": [7, 11, 19], "instal": [7, 14, 18, 19, 20, 21], "archiv": 7, "directori": [7, 12, 19, 20, 21], "pwd": 7, "bin": [7, 11, 12, 20, 21], "avoid": [7, 11, 19, 22], "shell": [7, 11, 15, 22], "zsh": [7, 22], "escap": [7, 22], "session": [7, 22], "ftdi_url": [7, 15, 22], "theori": [7, 16], "mbp": [7, 12], "bare": 7, "usabl": 7, "requ": 7, "9": [7, 13, 14, 18, 21], "stabl": [7, 14, 15, 18, 21], "115": 7, "kbp": 7, "78": 7, "08": 7, "\u00b5": 7, "26": 7, "49": 7, "ye": 7, "460": 7, "461": 7, "54": [7, 18], "19": [7, 8], "77": 7, "98": 7, "002": 7, "24": [7, 11], "018": 7, "48": [7, 11], "052": 7, "056": 7, "040": 7, "857": 7, "11": [7, 15, 21], "108": 7, "44": 7, "No": [7, 19], "727": 7, "964": 7, "036": 7, "10": [7, 13, 21, 22], "667": 7, "43": 7, "measur": 7, "ratio": 7, "good": [7, 16], "stabil": 7, "produc": 7, "proven": 7, "difficult": 7, "imposs": [7, 13], "except": [7, 11, 19, 20], "about": [7, 8, 13, 14, 15, 18], "suffer": 7, "fluter": 7, "95": 7, "1mbp": 7, "moreov": 7, "quot": 7, "build_dev_str": 8, "vdict": 8, "pdict": 8, "devdesc": 8, "build": [8, 14, 15], "dict": 8, "enumerate_candid": 8, "urlpart": 8, "partial": [8, 19], "criteria": 8, "usbdev": 8, "find_backend": 8, "try": [8, 11, 15, 21], "ibackend": 8, "flush_cach": 8, "highli": 8, "recommand": 8, "unplug": [8, 11, 15], "plug": [8, 11, 15], "sinc": 8, "appear": [8, 15], "disconnect": [8, 11], "constraint": 8, "get_str": 8, "stridx": 8, "deal": [8, 15], "urlstr": 8, "parse_url": 8, "release_all_devic": 8, "devclass": 8, "release_devic": 8, "anymor": [8, 16], "joker": 8, "user": [8, 14, 15, 18, 21], "usbtoolserror": 8, "emmanuel": [9, 16], "blot": [9, 16], "free": [9, 13, 14, 16], "fr": [9, 16], "bouaziz": 9, "ebouaziz": 9, "niku": 9, "dave": 9, "mccoi": 9, "adam": 9, "feuer": 9, "endlesscoil": 9, "humm": 9, "fabien": 9, "benureau": 9, "dlharmon": 9, "davidwc": 9, "sebastian": 9, "ander": 9, "andrea": 9, "concil": 9, "darren": 9, "garnier": 9, "michael": 9, "leonard": 9, "nopeppermint": 9, "stefan": 9, "hannesweisbach": 9, "viannei": 9, "le": 9, "cl\u00e9ment": 9, "de": 9, "saint": 9, "marcq": 9, "pete": 9, "schwamb": 9, "Will": 9, "richei": 9, "sgoadhous": 9, "tavip": 9, "octavian": 9, "purdila": 9, "tim": 9, "legrand": 9, "vestom": 9, "meierphil": 9, "etherfi": 9, "jnmacd": 9, "naushir": 9, "markmelvin": 9, "mark": 9, "melvin": 9, "stiebr": 9, "mpratt14": 9, "alexforencich": 9, "tedku": 9, "amanita": 9, "muscaria": 9, "len0rd": 9, "rod": 9, "whitbi": 9, "kornel": 9, "swierzi": 9, "taisuk": 9, "yamada": 9, "niew\u00f6hner": 9, "kalofin": 9, "henri": 9, "au": 9, "yeung": 9, "roman": 9, "dobrodii": 9, "mentovai": 9, "alessandro": 9, "zini": 9, "sjoerd": 9, "simon": 9, "caus": [11, 16, 21], "undesir": 11, "wrong": 11, "place": 11, "essenti": 11, "caution": 11, "someth": 11, "goe": 11, "recoveri": 11, "inde": 11, "unstabl": 11, "fix": [11, 15], "hi": 11, "speed": 11, "mini": [11, 20], "ftdi_recoveri": 11, "under": [11, 16], "develop": [11, 12, 14, 15, 16, 20, 21], "wrongli": 11, "ftconf": [11, 12], "companion": [11, 12, 20], "script": [11, 12, 15, 21], "hexblock": 11, "serial_numb": 11, "u": [11, 15], "indent": 11, "hexa": [11, 13], "kei": 11, "action": 11, "pleas": [11, 13, 15, 18, 19, 21], "licens": [11, 14], "term": 11, "protect": 11, "modif": [11, 16], "alter": 11, "dry": 11, "modifi": [11, 14, 19], "restor": 11, "dure": 11, "thank": 11, "origin": [11, 16], "equal": 11, "sign": 11, "column": 11, "wildcard": 11, "power": [11, 13], "blank": 11, "fall": 11, "regener": 11, "itself": [11, 18], "ffff": 11, "reboot": 11, "fdti": 11, "expos": [11, 17], "93c46": 11, "93c56": 11, "93c66": 11, "issu": [11, 15, 18, 19, 21], "compact": 11, "whenev": [11, 19, 21], "offer": [11, 12], "guarante": 11, "whatsoev": 11, "safe": 11, "nor": [11, 16], "tristat": 11, "z": [11, 13], "pad": 11, "txled": 11, "led": [11, 13], "rxled": 11, "txrxled": 11, "pwren": 11, "suspend": 11, "drive0": 11, "drive1": 11, "txden": 11, "rs485": 11, "clk48": 11, "mhz": [11, 14], "clk30": 11, "30": [11, 14], "clk24": 11, "clk15": 11, "clk12": 11, "clk7_5": 11, "clk6": 11, "bat_detect": 11, "batteri": 11, "charger": 11, "bat_ndetect": 11, "i2c_tx": 11, "i2c_rxf": 11, "vbus_sens": 11, "vbu": 11, "via": [11, 13], "ac": 11, "bb_wr": 11, "strobe": 11, "bb_rd": 11, "toggl": 11, "sof": 11, "awak": 11, "suspsend": 11, "uartbridg": 11, "abcd1234": 11, "cbus_func_0": 11, "cbus_func_1": 11, "cbus_func_2": 11, "cbus_func_3": 11, "cbus_func_4": 11, "cbus_func_5": 11, "cbus_func_6": 11, "cbus_func_7": 11, "cbus_func_8": 11, "cbus_func_9": 11, "channel_a_driv": 11, "channel_a_typ": 11, "clock_polar": 11, "flow_control": 11, "group_0_driv": 11, "group_0_schmitt": 11, "group_0_slew": 11, "group_1_driv": 11, "group_1_schmitt": 11, "group_1_slew": 11, "has_seri": 11, "has_usb_vers": 11, "in_isochron": 11, "lsb_data": 11, "out_isochron": 11, "power_max": 11, "powersav": 11, "remote_wakeup": 11, "self_pow": 11, "suspend_pull_down": 11, "usb_vers": 11, "cbus0": [11, 13], "time_stamp": 11, "wa": 11, "embed": 11, "system": [11, 21, 22], "lsusb": 11, "0403": [11, 15], "6011": [11, 15], "simultan": [12, 14], "runtim": 12, "emul": [12, 19], "layer": [12, 16], "transpar": 12, "minim": 12, "demonstr": [12, 19], "dispatch": 12, "pure": [12, 13, 14, 19], "experiment": [12, 13, 14, 19], "trail": 12, "wire": [12, 19], "i2cscan": 12, "discov": [12, 20], "caveat": 12, "intent": 12, "soc": 12, "scan": 12, "project": [12, 16], "still": [12, 13, 14, 21], "beta": 12, "stage": [12, 19], "gpiocontrol": 13, "explain": 13, "independ": 13, "distinct": 13, "multithread": 13, "interpret": [13, 20, 22], "rational": 13, "initialiaz": 13, "ofter": 13, "synonym": 13, "sometim": 13, "standpoint": 13, "equival": 13, "depict": 13, "synomym": 13, "At": 13, "dbu": 13, "adbu": [13, 17], "acbu": [13, 17], "bdbu": 13, "bcbu": [13, 17], "cdbu": 13, "ddbu": 13, "histor": [13, 16], "narrow": 13, "kept": 13, "rather": 13, "gnd": 13, "vdd": 13, "volt": 13, "refer": [13, 15, 19, 21], "analog": 13, "ouput": 13, "denot": 13, "programm": 13, "cbus3": 13, "provic": 13, "cbus5": 13, "cbus6": 13, "cbus8": 13, "cbus9": 13, "rememb": [13, 15], "47": 13, "addition": 13, "framework": [13, 20], "0x02": 13, "bd1": 13, "0x80": 13, "eighth": 13, "highest": 13, "ad15": 13, "bd15": 13, "arbitrarili": 13, "rule": [13, 15], "decid": 13, "contigu": 13, "cbus1": 13, "cbus2": 13, "sound": 13, "weird": 13, "ish": 13, "did": 13, "deserv": 13, "treatment": 13, "sake": 13, "bd3": 13, "bd2": 13, "bd4": 13, "bd6": 13, "That": 13, "translat": 13, "0b": 13, "0111": 13, "0110": 13, "0x76": 13, "mach": 13, "preserv": 13, "later": 13, "0x84": 13, "variant": [13, 14], "depth": 13, "onto": 13, "vector": 13, "scalar": 13, "tricki": 13, "aim": [13, 14, 19], "captur": 13, "slightli": 13, "usual": [13, 21], "wider": 13, "recommen": 13, "caller": 13, "illeg": 13, "ioerror": 13, "0x0f": 13, "1e6": 13, "ins": 13, "0b1001": 13, "0b0001": 13, "0x1": 13, "becom": 13, "unavail": 13, "three": 13, "predefin": 13, "0x78": 13, "sdao": 13, "sdai": 13, "0x07": 13, "latest": 14, "onlin": 14, "recent": 14, "pypi": 14, "intermedi": 14, "publish": 14, "sphinx": [14, 15], "instruct": 14, "packag": [14, 19], "popular": 14, "languag": 14, "3mbp": 14, "dual": [14, 15], "quad": 14, "12mbp": 14, "14": [14, 21], "basic": 14, "maco": [14, 18, 20, 21], "linux": [14, 18, 20, 21], "freebsd": 14, "window": [14, 18, 20, 21], "40": [14, 18], "introduc": [14, 18], "backward": [14, 15, 18], "upgrad": [14, 18], "39": [14, 18], "22": [14, 18, 21, 22], "readlin": 14, "bring": 14, "improv": 14, "augment": 14, "open_": 14, "public": [14, 16], "simplifi": [14, 19], "troubleshoot": 14, "author": [14, 16, 21], "nativ": [15, 18, 19, 21], "libusb": [15, 18, 19, 21], "distribut": [15, 16, 19], "apt": 15, "udev": [15, 21], "subsystem": 15, "attr": 15, "idvendor": 15, "idproduct": 15, "6001": 15, "plugdev": 15, "0664": 15, "6010": 15, "6014": 15, "6015": 15, "6048": 15, "declar": 15, "daemon": 15, "sudo": [15, 21], "udevadm": 15, "reload": [15, 21], "addus": 15, "subshel": 15, "newgrp": 15, "brew": 15, "success": [15, 18], "probabl": 15, "easiest": 15, "util": 15, "composit": 15, "parent": 15, "individu": 15, "difficulti": 15, "uncheck": 15, "hub": 15, "menu": 15, "item": 15, "former": 15, "win32": 15, "winusb": 15, "click": 15, "branch": 15, "tag": 15, "broke": 15, "miss": [15, 19, 21], "pip3": [15, 19], "git": [15, 19], "clone": 15, "eblot": 15, "simpli": 15, "txt": 15, "setuptool": 15, "wheel": 15, "sphinx_autodoc_typehint": 15, "shpinx": 15, "theme": 15, "readthedoc": 15, "sphinx_rtd_them": 15, "2b8717a3647cc650625c566259e00305f7fb60aa": 15, "egg": 15, "html": 15, "entri": 15, "cmd": 15, "ft1pwz0q": 15, "c232hd": [15, 17], "ddhsp": 15, "recogn": [15, 20], "numer": 15, "0x1234": [15, 20], "myvendor": 15, "0x5678": 15, "f1": 15, "f2": 15, "os": 15, "libftdi": 16, "main": 16, "had": [16, 19], "gnu": 16, "lesser": 16, "lgpl": 16, "v2": 16, "my": 16, "commerci": 16, "compli": 16, "copyright": 16, "2008": 16, "2021": [16, 18], "right": 16, "redistribut": 16, "form": 16, "permit": 16, "met": 16, "retain": 16, "notic": 16, "disclaim": 16, "reproduc": [16, 19], "materi": 16, "contributor": 16, "endors": 16, "promot": 16, "prior": 16, "BY": 16, "THE": 16, "holder": 16, "AND": 16, "AS": 16, "OR": 16, "impli": 16, "warranti": 16, "BUT": 16, "NOT": 16, "TO": 16, "OF": 16, "merchant": 16, "FOR": 16, "particular": 16, "IN": 16, "NO": 16, "shall": 16, "neotion": 16, "BE": 16, "liabl": 16, "indirect": 16, "incident": 16, "exemplari": 16, "consequenti": 16, "damag": 16, "procur": 16, "substitut": [16, 19], "servic": 16, "profit": 16, "ON": 16, "liabil": 16, "contract": 16, "strict": 16, "tort": 16, "neglig": 16, "aris": 16, "advis": 16, "SUCH": 16, "cabl": 17, "adbus0": 17, "bdbus0": 17, "gpio0": 17, "tck": 17, "orang": 17, "adbus1": 17, "bdbus1": 17, "gpio1": 17, "tdi": 17, "yellow": 17, "adbus2": 17, "bdbus2": 17, "gpio2": 17, "tdo": 17, "green": 17, "adbus3": 17, "bdbus3": 17, "gpio3": 17, "tm": 17, "brown": 17, "adbus4": 17, "bdbus4": 17, "gpio4": 17, "grei": 17, "adbus5": 17, "bdbus5": 17, "gpio5": 17, "cs2": 17, "purpl": 17, "adbus6": 17, "bdbus6": 17, "gpio6": 17, "cs3": 17, "white": 17, "adbus7": 17, "bdbus7": 17, "rsck": 17, "cs4": 17, "rclk": 17, "blue": 17, "acbus0": 17, "bcbus0": 17, "gpio8": 17, "acbus1": 17, "bcbus1": 17, "gpio9": 17, "acbus2": 17, "bcbus2": 17, "gpio10": 17, "acbus3": 17, "bcbus3": 17, "gpio11": 17, "acbus4": 17, "bcbus4": 17, "gpio12": 17, "acbus5": 17, "bcbus5": 17, "gpio13": 17, "acbus6": 17, "bcbus6": 17, "gpio14": 17, "acbus7": 17, "bcbus7": 17, "gpio15": 17, "ftdi2232c": 17, "bi": 17, "togeth": 17, "secondari": [17, 19], "55": 18, "life": 18, "june": 18, "27rd": 18, "2023": 18, "53": 18, "decemb": 18, "23rd": 18, "52": 18, "septemb": 18, "5th": 18, "2020": 18, "23": 18, "bee": [], "platform": [18, 19], "64": 18, "kernel": [18, 21], "seamless": 18, "mileag": 18, "vari": [18, 22], "major": 18, "challeng": 19, "piec": 19, "equip": 19, "primarili": 19, "environ": [19, 20], "bench": 19, "grow": 19, "concern": 19, "evolv": 19, "regress": 19, "were": 19, "edit": 19, "45": 19, "eas": 19, "told": 19, "usbvirt": 19, "confifur": 19, "rout": 19, "ftdivirt": 19, "charg": 19, "tracker": 19, "verifi": [19, 21], "async": 19, "massiv": 19, "workload": 19, "progress": 19, "earli": [19, 21], "incept": 19, "reveal": 19, "coupl": [19, 20], "hide": 19, "year": 19, "effort": 19, "ahead": 19, "ruamel": 19, "info": 19, "mockusb": 19, "resourc": 19, "mock": 19, "fine": 19, "grain": 19, "loader": [19, 21], "mess": 19, "nearli": 19, "comprehens": 19, "found": 19, "ftmani": 19, "infrastructur": 19, "quick": 20, "tini": [20, 21], "famili": 20, "download": 20, "pyftditool": 20, "subdirectori": 20, "traceback": 20, "1234": 20, "6789": 20, "0x6789": 20, "would": 20, "could": 20, "contact": 21, "email": 21, "enhanc": 21, "logger": 21, "ld_library_path": 21, "path": 21, "dyld_library_path": 21, "lib": 21, "dylib": 21, "dll": 21, "happen": 21, "pyinstal": 21, "system32": 21, "libusb0": 21, "assum": 21, "zadig": 21, "guid": 21, "maverick": 21, "ship": 21, "preempt": 21, "sierra": 21, "unload": 21, "kextunload": 21, "bundl": 21, "appl": 21, "appleusbftdi": 21, "uphi": 21, "sh": 21, "move": 21, "mojav": 21, "peacefulli": 21, "co": 21, "experi": 21, "d2xx": [18, 21], "grant": 21, "latter": 21, "fatal": 21, "vcom": 21, "uninstal": 21, "v1": 21, "20": 21, "0x6014": 22, "0x6001": 22, "0x6010": 22, "0x6011": 22, "0x6015": 22, "ft0fmf6v": 22, "addess": 22, "0x": 22, "34": 22, "particularli": 22, "enough": 22, "ask": 22, "filter": 22, "avaialbl": 22, "systemexit": 22, "_from_url": 22, "suffix": 22, "among": 22, "pyjtagtool": [12, 18], "fork": 18, "pyftdiwin": 18, "octob": 18, "7th": 18, "2024": 18}, "objects": {"pyftdi": [[0, 0, 0, "-", "eeprom"], [1, 0, 0, "-", "ftdi"], [2, 0, 0, "-", "gpio"], [3, 0, 0, "-", "i2c"], [5, 0, 0, "-", "misc"], [6, 0, 0, "-", "spi"], [8, 0, 0, "-", "usbtools"]], "pyftdi.eeprom": [[0, 1, 1, "", "FtdiEeprom"], [0, 5, 1, "", "FtdiEepromError"]], "pyftdi.eeprom.FtdiEeprom": [[0, 2, 1, "", "CBUS"], [0, 2, 1, "", "CBUSH"], [0, 2, 1, "", "CBUSX"], [0, 2, 1, "", "CFG1"], [0, 2, 1, "", "CHANNEL"], [0, 2, 1, "", "DRIVE"], [0, 2, 1, "", "UART_BITS"], [0, 2, 1, "", "VAR_STRINGS"], [0, 3, 1, "", "cbus_mask"], [0, 3, 1, "", "cbus_pins"], [0, 4, 1, "", "close"], [0, 4, 1, "", "commit"], [0, 4, 1, "", "connect"], [0, 3, 1, "", "data"], [0, 3, 1, "", "default_size"], [0, 3, 1, "", "device_version"], [0, 4, 1, "", "dump_config"], [0, 4, 1, "", "enable_mirroring"], [0, 4, 1, "", "erase"], [0, 3, 1, "", "has_mirroring"], [0, 4, 1, "", "initialize"], [0, 3, 1, "", "is_empty"], [0, 3, 1, "", "is_mirroring_enabled"], [0, 4, 1, "", "load_config"], [0, 3, 1, "", "mirror_sector"], [0, 4, 1, "", "open"], [0, 3, 1, "", "properties"], [0, 4, 1, "", "reset_device"], [0, 4, 1, "", "save_config"], [0, 4, 1, "", "set_manufacturer_name"], [0, 4, 1, "", "set_product_name"], [0, 4, 1, "", "set_property"], [0, 4, 1, "", "set_serial_number"], [0, 4, 1, "", "set_test_mode"], [0, 3, 1, "", "size"], [0, 3, 1, "", "storage_size"], [0, 4, 1, "", "sync"]], "pyftdi.ftdi": [[1, 1, 1, "", "Ftdi"], [1, 5, 1, "", "FtdiError"], [1, 5, 1, "", "FtdiFeatureError"], [1, 5, 1, "", "FtdiMpsseError"]], "pyftdi.ftdi.Ftdi": [[1, 1, 1, "", "BitMode"], [1, 2, 1, "", "DEFAULT_VENDOR"], [1, 2, 1, "", "DEVICE_NAMES"], [1, 2, 1, "", "FIFO_SIZES"], [1, 2, 1, "", "FTDI_VENDOR"], [1, 2, 1, "", "PRODUCT_IDS"], [1, 2, 1, "", "SCHEME"], [1, 2, 1, "", "VENDOR_IDS"], [1, 4, 1, "", "add_custom_product"], [1, 4, 1, "", "add_custom_vendor"], [1, 3, 1, "", "baudrate"], [1, 3, 1, "", "bitbang_enabled"], [1, 4, 1, "", "calc_eeprom_checksum"], [1, 4, 1, "", "close"], [1, 4, 1, "", "create_from_url"], [1, 4, 1, "", "decode_modem_status"], [1, 3, 1, "", "device_port_count"], [1, 3, 1, "", "device_version"], [1, 4, 1, "", "enable_3phase_clock"], [1, 4, 1, "", "enable_adaptive_clock"], [1, 4, 1, "", "enable_drivezero_mode"], [1, 4, 1, "", "enable_loopback_mode"], [1, 3, 1, "", "fifo_sizes"], [1, 4, 1, "", "find_all"], [1, 3, 1, "", "frequency_max"], [1, 4, 1, "", "get_cbus_gpio"], [1, 4, 1, "", "get_cd"], [1, 4, 1, "", "get_cts"], [1, 4, 1, "", "get_device"], [1, 4, 1, "", "get_dsr"], [1, 4, 1, "", "get_error_string"], [1, 4, 1, "", "get_identifiers"], [1, 4, 1, "", "get_latency_timer"], [1, 4, 1, "", "get_ri"], [1, 3, 1, "", "has_cbus"], [1, 3, 1, "", "has_drivezero"], [1, 3, 1, "", "has_mpsse"], [1, 3, 1, "", "has_wide_port"], [1, 3, 1, "", "ic_name"], [1, 3, 1, "", "is_H_series"], [1, 3, 1, "", "is_bitbang_enabled"], [1, 3, 1, "", "is_connected"], [1, 3, 1, "", "is_eeprom_internal"], [1, 3, 1, "", "is_legacy"], [1, 3, 1, "", "is_mpsse"], [1, 4, 1, "", "is_mpsse_interface"], [1, 4, 1, "", "list_devices"], [1, 3, 1, "", "max_eeprom_size"], [1, 4, 1, "", "modem_status"], [1, 3, 1, "", "mpsse_bit_delay"], [1, 4, 1, "", "open"], [1, 4, 1, "", "open_bitbang"], [1, 4, 1, "", "open_bitbang_from_device"], [1, 4, 1, "", "open_bitbang_from_url"], [1, 4, 1, "", "open_from_device"], [1, 4, 1, "", "open_from_url"], [1, 4, 1, "", "open_mpsse"], [1, 4, 1, "", "open_mpsse_from_device"], [1, 4, 1, "", "open_mpsse_from_url"], [1, 4, 1, "", "overwrite_eeprom"], [1, 4, 1, "", "poll_modem_status"], [1, 3, 1, "", "port_index"], [1, 3, 1, "", "port_width"], [1, 4, 1, "", "purge_buffers"], [1, 4, 1, "", "purge_rx_buffer"], [1, 4, 1, "", "purge_tx_buffer"], [1, 4, 1, "", "read_data"], [1, 4, 1, "", "read_data_bytes"], [1, 4, 1, "", "read_data_get_chunksize"], [1, 4, 1, "", "read_data_set_chunksize"], [1, 4, 1, "", "read_eeprom"], [1, 4, 1, "", "read_pins"], [1, 4, 1, "", "reset"], [1, 4, 1, "", "set_baudrate"], [1, 4, 1, "", "set_bitmode"], [1, 4, 1, "", "set_break"], [1, 4, 1, "", "set_cbus_direction"], [1, 4, 1, "", "set_cbus_gpio"], [1, 4, 1, "", "set_dtr"], [1, 4, 1, "", "set_dtr_rts"], [1, 4, 1, "", "set_dynamic_latency"], [1, 4, 1, "", "set_error_char"], [1, 4, 1, "", "set_event_char"], [1, 4, 1, "", "set_flowctrl"], [1, 4, 1, "", "set_frequency"], [1, 4, 1, "", "set_latency_timer"], [1, 4, 1, "", "set_line_property"], [1, 4, 1, "", "set_rts"], [1, 4, 1, "", "show_devices"], [1, 3, 1, "", "usb_dev"], [1, 3, 1, "", "usb_path"], [1, 4, 1, "", "validate_mpsse"], [1, 4, 1, "", "write_data"], [1, 4, 1, "", "write_data_get_chunksize"], [1, 4, 1, "", "write_data_set_chunksize"], [1, 4, 1, "", "write_eeprom"]], "pyftdi.gpio": [[2, 1, 1, "", "GpioAsyncController"], [2, 5, 1, "", "GpioException"], [2, 1, 1, "", "GpioMpsseController"], [2, 1, 1, "", "GpioPort"], [2, 1, 1, "", "GpioSyncController"]], "pyftdi.gpio.GpioAsyncController": [[2, 4, 1, "", "open_from_url"], [2, 4, 1, "", "read"], [2, 4, 1, "", "read_port"], [2, 4, 1, "", "set_frequency"], [2, 4, 1, "", "write"], [2, 4, 1, "", "write_port"]], "pyftdi.gpio.GpioMpsseController": [[2, 4, 1, "", "read"], [2, 4, 1, "", "set_frequency"], [2, 4, 1, "", "write"]], "pyftdi.gpio.GpioSyncController": [[2, 4, 1, "", "exchange"], [2, 4, 1, "", "set_frequency"]], "pyftdi.i2c": [[3, 1, 1, "", "I2cController"], [3, 1, 1, "", "I2cGpioPort"], [3, 5, 1, "", "I2cIOError"], [3, 5, 1, "", "I2cNackError"], [3, 1, 1, "", "I2cPort"], [3, 5, 1, "", "I2cTimeoutError"]], "pyftdi.i2c.I2cController": [[3, 4, 1, "", "close"], [3, 4, 1, "", "configure"], [3, 3, 1, "", "configured"], [3, 3, 1, "", "direction"], [3, 4, 1, "", "exchange"], [3, 4, 1, "", "flush"], [3, 4, 1, "", "force_clock_mode"], [3, 3, 1, "", "frequency"], [3, 3, 1, "", "frequency_max"], [3, 3, 1, "", "ftdi"], [3, 4, 1, "", "get_gpio"], [3, 4, 1, "", "get_port"], [3, 3, 1, "", "gpio_all_pins"], [3, 3, 1, "", "gpio_pins"], [3, 4, 1, "", "poll"], [3, 4, 1, "", "poll_cond"], [3, 4, 1, "", "read"], [3, 4, 1, "", "read_gpio"], [3, 4, 1, "", "set_gpio_direction"], [3, 4, 1, "", "set_retry_count"], [3, 4, 1, "", "terminate"], [3, 4, 1, "", "validate_address"], [3, 3, 1, "", "width"], [3, 4, 1, "", "write"], [3, 4, 1, "", "write_gpio"]], "pyftdi.i2c.I2cGpioPort": [[3, 3, 1, "", "all_pins"], [3, 3, 1, "", "direction"], [3, 3, 1, "", "pins"], [3, 4, 1, "", "read"], [3, 4, 1, "", "set_direction"], [3, 3, 1, "", "width"], [3, 4, 1, "", "write"]], "pyftdi.i2c.I2cPort": [[3, 3, 1, "", "address"], [3, 4, 1, "", "configure_register"], [3, 4, 1, "", "exchange"], [3, 4, 1, "", "flush"], [3, 3, 1, "", "frequency"], [3, 4, 1, "", "poll"], [3, 4, 1, "", "poll_cond"], [3, 4, 1, "", "read"], [3, 4, 1, "", "read_from"], [3, 4, 1, "", "shift_address"], [3, 4, 1, "", "write"], [3, 4, 1, "", "write_to"]], "pyftdi.misc": [[5, 1, 1, "", "EasyDict"], [5, 6, 1, "", "add_custom_devices"], [5, 1, 1, "", "classproperty"], [5, 6, 1, "", "hexdump"], [5, 6, 1, "", "hexline"], [5, 6, 1, "", "is_iterable"], [5, 6, 1, "", "pretty_size"], [5, 6, 1, "", "show_call_stack"], [5, 6, 1, "", "to_bool"], [5, 6, 1, "", "to_bps"], [5, 6, 1, "", "to_int"], [5, 6, 1, "", "xor"]], "pyftdi.misc.EasyDict": [[5, 4, 1, "", "copy"], [5, 4, 1, "", "mirror"]], "pyftdi.spi": [[6, 1, 1, "", "SpiController"], [6, 1, 1, "", "SpiGpioPort"], [6, 5, 1, "", "SpiIOError"], [6, 1, 1, "", "SpiPort"]], "pyftdi.spi.SpiController": [[6, 3, 1, "", "active_channels"], [6, 3, 1, "", "channels"], [6, 4, 1, "", "close"], [6, 4, 1, "", "configure"], [6, 3, 1, "", "configured"], [6, 3, 1, "", "direction"], [6, 4, 1, "", "exchange"], [6, 4, 1, "", "flush"], [6, 4, 1, "", "force_control"], [6, 3, 1, "", "frequency"], [6, 3, 1, "", "frequency_max"], [6, 3, 1, "", "ftdi"], [6, 4, 1, "", "get_gpio"], [6, 4, 1, "", "get_port"], [6, 3, 1, "", "gpio_all_pins"], [6, 3, 1, "", "gpio_pins"], [6, 3, 1, "", "is_inverted_cpha_supported"], [6, 4, 1, "", "read_gpio"], [6, 4, 1, "", "set_gpio_direction"], [6, 4, 1, "", "terminate"], [6, 3, 1, "", "width"], [6, 4, 1, "", "write_gpio"]], "pyftdi.spi.SpiGpioPort": [[6, 3, 1, "", "all_pins"], [6, 3, 1, "", "direction"], [6, 3, 1, "", "pins"], [6, 4, 1, "", "read"], [6, 4, 1, "", "set_direction"], [6, 3, 1, "", "width"], [6, 4, 1, "", "write"]], "pyftdi.spi.SpiPort": [[6, 3, 1, "", "cs"], [6, 4, 1, "", "exchange"], [6, 4, 1, "", "flush"], [6, 4, 1, "", "force_select"], [6, 3, 1, "", "frequency"], [6, 3, 1, "", "mode"], [6, 4, 1, "", "read"], [6, 4, 1, "", "set_frequency"], [6, 4, 1, "", "set_mode"], [6, 4, 1, "", "write"]], "pyftdi.usbtools": [[8, 1, 1, "", "UsbTools"], [8, 5, 1, "", "UsbToolsError"]], "pyftdi.usbtools.UsbTools": [[8, 4, 1, "", "build_dev_strings"], [8, 4, 1, "", "enumerate_candidates"], [8, 4, 1, "", "find_all"], [8, 4, 1, "", "find_backend"], [8, 4, 1, "", "flush_cache"], [8, 4, 1, "", "get_device"], [8, 4, 1, "", "get_string"], [8, 4, 1, "", "list_devices"], [8, 4, 1, "", "parse_url"], [8, 4, 1, "", "release_all_devices"], [8, 4, 1, "", "release_device"], [8, 4, 1, "", "show_devices"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:property", "4": "py:method", "5": "py:exception", "6": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "property", "Python property"], "4": ["py", "method", "Python method"], "5": ["py", "exception", "Python exception"], "6": ["py", "function", "Python function"]}, "titleterms": {"eeprom": [0, 11, 12, 13, 19], "api": [0, 2, 3, 4, 6, 7, 13, 18], "quickstart": [0, 2, 3, 6, 7], "class": [0, 1, 2, 3, 6, 8], "except": [0, 1, 2, 3, 6, 8, 13], "test": [0, 3, 6, 19], "ftdi": [1, 17], "low": 1, "level": 1, "driver": 1, "gpio": [2, 3, 6, 7, 13], "info": 2, "about": 2, "i2c": [3, 12], "caveat": 3, "open": [3, 21, 22], "collector": 3, "bu": [3, 21], "clock": 3, "strech": 3, "speed": 3, "wire": [3, 6], "document": [4, 14, 15], "misc": 5, "miscellan": 5, "helper": 5, "function": [5, 11], "spi": [6, 12], "limit": [6, 7], "mode": [6, 13], "1": 6, "3": [6, 16], "time": 6, "sensit": 6, "usag": [6, 7, 19], "serialext": 7, "uart": [7, 12], "access": [7, 13, 21], "cbu": [7, 11, 13], "support": [7, 11, 12, 14, 18], "mini": 7, "serial": [7, 21], "termin": 7, "hardwar": [7, 19], "flow": 7, "control": 7, "usbtool": 8, "usb": [8, 15, 21], "tool": [8, 11, 20], "author": 9, "main": 9, "develop": [9, 18], "contributor": 9, "manag": 11, "featur": [11, 12, 13, 14], "configur": [11, 13, 19], "option": [11, 20], "switch": [11, 20], "exampl": [11, 13, 19], "devic": [12, 17, 21, 22], "master": 12, "jtag": 12, "statu": 12, "overview": [13, 14, 19, 20], "other": 13, "definit": 13, "interfac": 13, "port": [13, 21], "valu": 13, "direct": 13, "bitmap": 13, "ft232h": 13, "us": 13, "set": 13, "pin": 13, "state": 13, "retriev": 13, "modifi": 13, "synchron": 13, "reserv": 13, "v": 13, "pyftdi": 14, "sourc": [14, 15], "code": 14, "host": 14, "os": 14, "warn": 14, "major": 14, "chang": 14, "detail": 14, "instal": 15, "prerequisit": 15, "debian": 15, "ubuntu": 15, "linux": 15, "homebrew": 15, "maco": 15, "window": 15, "zadig": 15, "python": [15, 18], "depend": 15, "pip": 15, "from": 15, "gener": 15, "post": 15, "saniti": 15, "check": 15, "custom": 15, "vendor": 15, "product": 15, "id": 15, "pid": 15, "vid": 15, "licens": 16, "bsd": 16, "claus": 16, "pinout": 17, "requir": 18, "break": 18, "virtual": 19, "framework": 19, "bewar": 19, "wip": 19, "content": 19, "avail": [19, 21], "script": 20, "ftdi_url": 20, "ftconf": 20, "i2cscan": 20, "pyterm": 20, "where": 20, "find": 20, "common": [20, 21], "troubleshoot": 21, "report": 21, "bug": 21, "log": 21, "error": 21, "messag": 21, "No": 21, "backend": 21, "deni": 21, "insuffici": 21, "permiss": 21, "The": 21, "ha": 21, "langid": 21, "violat": 21, "serialutil": 21, "serialexcept": 21, "unabl": 21, "slow": 21, "initialis": 21, "o": 21, "x": 21, "el": 21, "capitan": 21, "url": 22, "scheme": 22, "connect": 22, "base": 22, "method": 22, "legaci": [18, 22]}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"misc - Miscellaneous helpers": [[5, "misc-miscellaneous-helpers"]], "Functions": [[5, "module-pyftdi.misc"]], "Classes": [[8, "classes"], [0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [6, "classes"]], "Exceptions": [[8, "exceptions"], [0, "exceptions"], [1, "exceptions"], [2, "exceptions"], [3, "exceptions"], [6, "exceptions"]], "usbtools - USB tools": [[8, "module-pyftdi.usbtools"]], "Authors": [[9, "authors"]], "Main developers": [[9, "main-developers"]], "Contributors": [[9, "contributors"]], "PyFtdi": [[14, "pyftdi"]], "Documentation": [[14, "documentation"]], "Source code": [[14, "source-code"]], "Overview": [[14, "overview"], [13, "overview"], [19, "overview"], [20, "overview"]], "Features": [[14, "features"], [12, "features"]], "Supported host OSes": [[14, "supported-host-oses"]], "Warning": [[14, "warning"]], "Major changes": [[14, "major-changes"]], "PyFTDI in details": [[14, "pyftdi-in-details"]], "eeprom - EEPROM API": [[0, "module-pyftdi.eeprom"]], "Quickstart": [[0, "quickstart"], [2, "quickstart"], [3, "quickstart"], [6, "quickstart"], [7, "quickstart"]], "Tests": [[0, "tests"], [3, "tests"], [6, "tests"]], "ftdi - FTDI low-level driver": [[1, "module-pyftdi.ftdi"]], "gpio - GPIO API": [[2, "module-pyftdi.gpio"]], "Info about GPIO API": [[2, "info-about-gpio-api"]], "i2c - I2C API": [[3, "module-pyftdi.i2c"]], "GPIOs": [[3, "gpios"], [6, "gpios"], [13, "gpios"]], "Caveats": [[3, "caveats"]], "Open-collector bus": [[3, "open-collector-bus"]], "Clock streching": [[3, "clock-streching"]], "Speed": [[3, "speed"]], "Wiring": [[3, "wiring"], [6, "wiring"]], "API documentation": [[4, "api-documentation"]], "": [[4, "release"]], "spi - SPI API": [[6, "module-pyftdi.spi"]], "Limitations": [[6, "limitations"], [7, "limitations"]], "SPI Modes 1 & 3": [[6, "spi-modes-1-3"]], "Time-sensitive usage": [[6, "time-sensitive-usage"]], "serialext - UART API": [[7, "serialext-uart-api"]], "Usage": [[7, "usage"], [19, "usage"]], "GPIO access": [[7, "gpio-access"]], "CBUS support": [[7, "cbus-support"]], "Mini serial terminal": [[7, "mini-serial-terminal"]], "Hardware flow control": [[7, "hardware-flow-control"]], "EEPROM management": [[11, "eeprom-management"]], "Supported features": [[11, "supported-features"], [12, "supported-features"]], "EEPROM configuration tool": [[11, "eeprom-configuration-tool"]], "Option switches": [[11, "option-switches"]], "CBUS function": [[11, "cbus-function"]], "Examples": [[11, "examples"], [19, "examples"]], "Devices": [[12, "devices"]], "UART": [[12, "uart"]], "SPI master": [[12, "spi-master"]], "I2C master": [[12, "i2c-master"]], "JTAG": [[12, "jtag"]], "EEPROM": [[12, "eeprom"]], "Status": [[12, "status"]], "Other modes": [[13, "other-modes"]], "Definitions": [[13, "definitions"]], "Interfaces": [[13, "interfaces"]], "Ports": [[13, "ports"]], "GPIO value": [[13, "gpio-value"]], "Direction": [[13, "direction"]], "CBUS GPIOs": [[13, "cbus-gpios"]], "CBUS EEPROM configuration": [[13, "cbus-eeprom-configuration"]], "CBUS GPIO API": [[13, "cbus-gpio-api"]], "Configuration": [[13, "configuration"], [19, "configuration"]], "GPIO bitmap": [[13, "gpio-bitmap"]], "FT232H CBUS exception": [[13, "ft232h-cbus-exception"]], "Direction bitmap": [[13, "direction-bitmap"]], "Direction example": [[13, "direction-example"]], "Using GPIO APIs": [[13, "using-gpio-apis"]], "Setting GPIO pin state": [[13, "setting-gpio-pin-state"]], "Retrieving GPIO pin state": [[13, "retrieving-gpio-pin-state"]], "Modifying GPIO pin state": [[13, "modifying-gpio-pin-state"]], "Synchronous GPIO access": [[13, "synchronous-gpio-access"]], "CBUS GPIO access": [[13, "cbus-gpio-access"]], "Reserved pins": [[13, "reserved-pins"]], "GPIO pins vs. feature pins": [[13, "gpio-pins-vs-feature-pins"]], "Example": [[13, "example"]], "Installation": [[15, "installation"]], "Prerequisites": [[15, "prerequisites"]], "Debian/Ubuntu Linux": [[15, "debian-ubuntu-linux"]], "Homebrew macOS": [[15, "homebrew-macos"]], "Windows": [[15, "windows"]], "Zadig": [[15, "id1"]], "Python": [[15, "install-python"]], "Python dependencies": [[15, "python-dependencies"]], "Installing with PIP": [[15, "installing-with-pip"]], "Installing from source": [[15, "installing-from-source"]], "Generating the documentation": [[15, "generating-the-documentation"]], "Post-installation sanity check": [[15, "post-installation-sanity-check"]], "Custom USB vendor and product IDs": [[15, "custom-usb-vendor-and-product-ids"]], "Custom PID": [[15, "custom-pid"]], "Custom VID": [[15, "custom-vid"]], "License": [[16, "license"]], "BSD 3-clause": [[16, "bsd-3-clause"]], "FTDI device pinout": [[17, "ftdi-device-pinout"]], "Requirements": [[18, "requirements"]], "Development": [[18, "development"]], "API breaks": [[18, "api-breaks"]], "Legacy Python support": [[18, "legacy-python-support"]], "Testing": [[19, "testing"]], "Hardware tests": [[19, "hardware-tests"]], "Virtual test framework": [[19, "virtual-test-framework"]], "Beware: WIP": [[19, "beware-wip"]], "EEPROM content": [[19, "eeprom-content"]], "Availability": [[19, "availability"]], "Tools": [[20, "tools"]], "Scripts": [[20, "scripts"]], "ftdi_urls": [[20, "ftdi-urls"]], "ftconf": [[20, "ftconf"]], "i2cscan": [[20, "i2cscan"]], "pyterm": [[20, "pyterm"]], "Where to find these tools?": [[20, "where-to-find-these-tools"]], "Common options switches": [[20, "common-options-switches"]], "Troubleshooting": [[21, "troubleshooting"]], "Reporting a bug": [[21, "reporting-a-bug"]], "Logging": [[21, "logging"]], "Common error messages": [[21, "common-error-messages"]], "\u201cError: No backend available\u201d": [[21, "error-no-backend-available"]], "\u201cError: Access denied (insufficient permissions)\u201d": [[21, "error-access-denied-insufficient-permissions"]], "\u201cError: The device has no langid\u201d": [[21, "error-the-device-has-no-langid"]], "\u201cBus error / Access violation\u201d": [[21, "bus-error-access-violation"]], "\u201cserial.serialutil.SerialException: Unable to open USB port\u201d": [[21, "serial-serialutil-serialexception-unable-to-open-usb-port"]], "Slow initialisation on OS X El Capitan": [[21, "slow-initialisation-on-os-x-el-capitan"]], "URL Scheme": [[22, "url-scheme"]], "Opening a connection": [[22, "opening-a-connection"]], "URL-based methods to open a connection": [[22, "url-based-methods-to-open-a-connection"]], "Device-based methods to open a connection": [[22, "device-based-methods-to-open-a-connection"]], "Legacy methods to open a connection": [[22, "legacy-methods-to-open-a-connection"]]}, "indexentries": {"cbus (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.CBUS"]], "cbush (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.CBUSH"]], "cbusx (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.CBUSX"]], "cfg1 (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.CFG1"]], "channel (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.CHANNEL"]], "drive (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.DRIVE"]], "ftdieeprom (class in pyftdi.eeprom)": [[0, "pyftdi.eeprom.FtdiEeprom"]], "ftdieepromerror": [[0, "pyftdi.eeprom.FtdiEepromError"]], "uart_bits (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.UART_BITS"]], "var_strings (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.VAR_STRINGS"]], "cbus_mask (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.cbus_mask"]], "cbus_pins (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.cbus_pins"]], "close() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.close"]], "commit() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.commit"]], "connect() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.connect"]], "data (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.data"]], "default_size (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.default_size"]], "device_version (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.device_version"]], "dump_config() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.dump_config"]], "enable_mirroring() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.enable_mirroring"]], "erase() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.erase"]], "has_mirroring (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.has_mirroring"]], "initialize() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.initialize"]], "is_empty (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.is_empty"]], "is_mirroring_enabled (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.is_mirroring_enabled"]], "load_config() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.load_config"]], "mirror_sector (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.mirror_sector"]], "module": [[0, "module-pyftdi.eeprom"], [1, "module-pyftdi.ftdi"], [2, "module-pyftdi.gpio"], [3, "module-pyftdi.i2c"], [6, "module-pyftdi.spi"]], "open() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.open"]], "properties (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.properties"]], "pyftdi.eeprom": [[0, "module-pyftdi.eeprom"]], "reset_device() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.reset_device"]], "save_config() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.save_config"]], "set_manufacturer_name() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.set_manufacturer_name"]], "set_product_name() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.set_product_name"]], "set_property() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.set_property"]], "set_serial_number() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.set_serial_number"]], "set_test_mode() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.set_test_mode"]], "size (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.size"]], "storage_size (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.storage_size"]], "sync() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.sync"]], "default_vendor (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.DEFAULT_VENDOR"]], "device_names (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.DEVICE_NAMES"]], "fifo_sizes (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.FIFO_SIZES"]], "ftdi_vendor (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.FTDI_VENDOR"]], "ftdi (class in pyftdi.ftdi)": [[1, "pyftdi.ftdi.Ftdi"]], "ftdi.bitmode (class in pyftdi.ftdi)": [[1, "pyftdi.ftdi.Ftdi.BitMode"]], "ftdierror": [[1, "pyftdi.ftdi.FtdiError"]], "ftdifeatureerror": [[1, "pyftdi.ftdi.FtdiFeatureError"]], "ftdimpsseerror": [[1, "pyftdi.ftdi.FtdiMpsseError"]], "product_ids (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.PRODUCT_IDS"]], "scheme (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.SCHEME"]], "vendor_ids (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.VENDOR_IDS"]], "add_custom_product() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.add_custom_product"]], "add_custom_vendor() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.add_custom_vendor"]], "baudrate (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.baudrate"]], "bitbang_enabled (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.bitbang_enabled"]], "calc_eeprom_checksum() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.calc_eeprom_checksum"]], "close() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.close"]], "create_from_url() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.create_from_url"]], "decode_modem_status() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.decode_modem_status"]], "device_port_count (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.device_port_count"]], "device_version (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.device_version"]], "enable_3phase_clock() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.enable_3phase_clock"]], "enable_adaptive_clock() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.enable_adaptive_clock"]], "enable_drivezero_mode() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.enable_drivezero_mode"]], "enable_loopback_mode() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.enable_loopback_mode"]], "fifo_sizes (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.fifo_sizes"]], "find_all() (pyftdi.ftdi.ftdi static method)": [[1, "pyftdi.ftdi.Ftdi.find_all"]], "frequency_max (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.frequency_max"]], "get_cbus_gpio() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_cbus_gpio"]], "get_cd() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_cd"]], "get_cts() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_cts"]], "get_device() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.get_device"]], "get_dsr() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_dsr"]], "get_error_string() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.get_error_string"]], "get_identifiers() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.get_identifiers"]], "get_latency_timer() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_latency_timer"]], "get_ri() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_ri"]], "has_cbus (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.has_cbus"]], "has_drivezero (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.has_drivezero"]], "has_mpsse (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.has_mpsse"]], "has_wide_port (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.has_wide_port"]], "ic_name (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.ic_name"]], "is_h_series (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_H_series"]], "is_bitbang_enabled (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_bitbang_enabled"]], "is_connected (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_connected"]], "is_eeprom_internal (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_eeprom_internal"]], "is_legacy (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_legacy"]], "is_mpsse (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_mpsse"]], "is_mpsse_interface() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.is_mpsse_interface"]], "list_devices() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.list_devices"]], "max_eeprom_size (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.max_eeprom_size"]], "modem_status() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.modem_status"]], "mpsse_bit_delay (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.mpsse_bit_delay"]], "open() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open"]], "open_bitbang() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_bitbang"]], "open_bitbang_from_device() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_bitbang_from_device"]], "open_bitbang_from_url() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_bitbang_from_url"]], "open_from_device() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_from_device"]], "open_from_url() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_from_url"]], "open_mpsse() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_mpsse"]], "open_mpsse_from_device() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_mpsse_from_device"]], "open_mpsse_from_url() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_mpsse_from_url"]], "overwrite_eeprom() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.overwrite_eeprom"]], "poll_modem_status() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.poll_modem_status"]], "port_index (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.port_index"]], "port_width (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.port_width"]], "purge_buffers() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.purge_buffers"]], "purge_rx_buffer() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.purge_rx_buffer"]], "purge_tx_buffer() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.purge_tx_buffer"]], "pyftdi.ftdi": [[1, "module-pyftdi.ftdi"]], "read_data() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_data"]], "read_data_bytes() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_data_bytes"]], "read_data_get_chunksize() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_data_get_chunksize"]], "read_data_set_chunksize() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_data_set_chunksize"]], "read_eeprom() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_eeprom"]], "read_pins() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_pins"]], "reset() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.reset"]], "set_baudrate() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_baudrate"]], "set_bitmode() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_bitmode"]], "set_break() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_break"]], "set_cbus_direction() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_cbus_direction"]], "set_cbus_gpio() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_cbus_gpio"]], "set_dtr() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_dtr"]], "set_dtr_rts() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_dtr_rts"]], "set_dynamic_latency() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_dynamic_latency"]], "set_error_char() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_error_char"]], "set_event_char() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_event_char"]], "set_flowctrl() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_flowctrl"]], "set_frequency() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_frequency"]], "set_latency_timer() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_latency_timer"]], "set_line_property() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_line_property"]], "set_rts() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_rts"]], "show_devices() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.show_devices"]], "usb_dev (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.usb_dev"]], "usb_path (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.usb_path"]], "validate_mpsse() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.validate_mpsse"]], "write_data() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.write_data"]], "write_data_get_chunksize() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.write_data_get_chunksize"]], "write_data_set_chunksize() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.write_data_set_chunksize"]], "write_eeprom() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.write_eeprom"]], "gpioasynccontroller (class in pyftdi.gpio)": [[2, "pyftdi.gpio.GpioAsyncController"]], "gpioexception": [[2, "pyftdi.gpio.GpioException"]], "gpiompssecontroller (class in pyftdi.gpio)": [[2, "pyftdi.gpio.GpioMpsseController"]], "gpioport (class in pyftdi.gpio)": [[2, "pyftdi.gpio.GpioPort"]], "gpiosynccontroller (class in pyftdi.gpio)": [[2, "pyftdi.gpio.GpioSyncController"]], "exchange() (pyftdi.gpio.gpiosynccontroller method)": [[2, "pyftdi.gpio.GpioSyncController.exchange"]], "open_from_url() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.open_from_url"]], "pyftdi.gpio": [[2, "module-pyftdi.gpio"]], "read() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.read"]], "read() (pyftdi.gpio.gpiompssecontroller method)": [[2, "pyftdi.gpio.GpioMpsseController.read"]], "read_port() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.read_port"]], "set_frequency() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.set_frequency"]], "set_frequency() (pyftdi.gpio.gpiompssecontroller method)": [[2, "pyftdi.gpio.GpioMpsseController.set_frequency"]], "set_frequency() (pyftdi.gpio.gpiosynccontroller method)": [[2, "pyftdi.gpio.GpioSyncController.set_frequency"]], "write() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.write"]], "write() (pyftdi.gpio.gpiompssecontroller method)": [[2, "pyftdi.gpio.GpioMpsseController.write"]], "write_port() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.write_port"]], "i2ccontroller (class in pyftdi.i2c)": [[3, "pyftdi.i2c.I2cController"]], "i2cgpioport (class in pyftdi.i2c)": [[3, "pyftdi.i2c.I2cGpioPort"]], "i2cioerror": [[3, "pyftdi.i2c.I2cIOError"]], "i2cnackerror": [[3, "pyftdi.i2c.I2cNackError"]], "i2cport (class in pyftdi.i2c)": [[3, "pyftdi.i2c.I2cPort"]], "i2ctimeouterror": [[3, "pyftdi.i2c.I2cTimeoutError"]], "address (pyftdi.i2c.i2cport property)": [[3, "pyftdi.i2c.I2cPort.address"]], "all_pins (pyftdi.i2c.i2cgpioport property)": [[3, "pyftdi.i2c.I2cGpioPort.all_pins"]], "close() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.close"]], "configure() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.configure"]], "configure_register() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.configure_register"]], "configured (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.configured"]], "direction (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.direction"]], "direction (pyftdi.i2c.i2cgpioport property)": [[3, "pyftdi.i2c.I2cGpioPort.direction"]], "exchange() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.exchange"]], "exchange() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.exchange"]], "flush() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.flush"]], "flush() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.flush"]], "force_clock_mode() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.force_clock_mode"]], "frequency (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.frequency"]], "frequency (pyftdi.i2c.i2cport property)": [[3, "pyftdi.i2c.I2cPort.frequency"]], "frequency_max (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.frequency_max"]], "ftdi (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.ftdi"]], "get_gpio() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.get_gpio"]], "get_port() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.get_port"]], "gpio_all_pins (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.gpio_all_pins"]], "gpio_pins (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.gpio_pins"]], "pins (pyftdi.i2c.i2cgpioport property)": [[3, "pyftdi.i2c.I2cGpioPort.pins"]], "poll() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.poll"]], "poll() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.poll"]], "poll_cond() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.poll_cond"]], "poll_cond() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.poll_cond"]], "pyftdi.i2c": [[3, "module-pyftdi.i2c"]], "read() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.read"]], "read() (pyftdi.i2c.i2cgpioport method)": [[3, "pyftdi.i2c.I2cGpioPort.read"]], "read() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.read"]], "read_from() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.read_from"]], "read_gpio() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.read_gpio"]], "set_direction() (pyftdi.i2c.i2cgpioport method)": [[3, "pyftdi.i2c.I2cGpioPort.set_direction"]], "set_gpio_direction() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.set_gpio_direction"]], "set_retry_count() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.set_retry_count"]], "shift_address() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.shift_address"]], "terminate() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.terminate"]], "validate_address() (pyftdi.i2c.i2ccontroller class method)": [[3, "pyftdi.i2c.I2cController.validate_address"]], "width (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.width"]], "width (pyftdi.i2c.i2cgpioport property)": [[3, "pyftdi.i2c.I2cGpioPort.width"]], "write() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.write"]], "write() (pyftdi.i2c.i2cgpioport method)": [[3, "pyftdi.i2c.I2cGpioPort.write"]], "write() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.write"]], "write_gpio() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.write_gpio"]], "write_to() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.write_to"]], "spicontroller (class in pyftdi.spi)": [[6, "pyftdi.spi.SpiController"]], "spigpioport (class in pyftdi.spi)": [[6, "pyftdi.spi.SpiGpioPort"]], "spiioerror": [[6, "pyftdi.spi.SpiIOError"]], "spiport (class in pyftdi.spi)": [[6, "pyftdi.spi.SpiPort"]], "active_channels (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.active_channels"]], "all_pins (pyftdi.spi.spigpioport property)": [[6, "pyftdi.spi.SpiGpioPort.all_pins"]], "channels (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.channels"]], "close() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.close"]], "configure() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.configure"]], "configured (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.configured"]], "cs (pyftdi.spi.spiport property)": [[6, "pyftdi.spi.SpiPort.cs"]], "direction (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.direction"]], "direction (pyftdi.spi.spigpioport property)": [[6, "pyftdi.spi.SpiGpioPort.direction"]], "exchange() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.exchange"]], "exchange() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.exchange"]], "flush() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.flush"]], "flush() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.flush"]], "force_control() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.force_control"]], "force_select() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.force_select"]], "frequency (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.frequency"]], "frequency (pyftdi.spi.spiport property)": [[6, "pyftdi.spi.SpiPort.frequency"]], "frequency_max (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.frequency_max"]], "ftdi (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.ftdi"]], "get_gpio() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.get_gpio"]], "get_port() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.get_port"]], "gpio_all_pins (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.gpio_all_pins"]], "gpio_pins (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.gpio_pins"]], "is_inverted_cpha_supported (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.is_inverted_cpha_supported"]], "mode (pyftdi.spi.spiport property)": [[6, "pyftdi.spi.SpiPort.mode"]], "pins (pyftdi.spi.spigpioport property)": [[6, "pyftdi.spi.SpiGpioPort.pins"]], "pyftdi.spi": [[6, "module-pyftdi.spi"]], "read() (pyftdi.spi.spigpioport method)": [[6, "pyftdi.spi.SpiGpioPort.read"]], "read() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.read"]], "read_gpio() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.read_gpio"]], "set_direction() (pyftdi.spi.spigpioport method)": [[6, "pyftdi.spi.SpiGpioPort.set_direction"]], "set_frequency() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.set_frequency"]], "set_gpio_direction() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.set_gpio_direction"]], "set_mode() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.set_mode"]], "terminate() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.terminate"]], "width (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.width"]], "width (pyftdi.spi.spigpioport property)": [[6, "pyftdi.spi.SpiGpioPort.width"]], "write() (pyftdi.spi.spigpioport method)": [[6, "pyftdi.spi.SpiGpioPort.write"]], "write() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.write"]], "write_gpio() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.write_gpio"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/eeprom", "api/ftdi", "api/gpio", "api/i2c", "api/index", "api/misc", "api/spi", "api/uart", "api/usbtools", "authors", "defs", "eeprom", "features", "gpio", "index", "installation", "license", "pinout", "requirements", "testing", "tools", "troubleshooting", "urlscheme"], "filenames": ["api/eeprom.rst", "api/ftdi.rst", "api/gpio.rst", "api/i2c.rst", "api/index.rst", "api/misc.rst", "api/spi.rst", "api/uart.rst", "api/usbtools.rst", "authors.rst", "defs.rst", "eeprom.rst", "features.rst", "gpio.rst", "index.rst", "installation.rst", "license.rst", "pinout.rst", "requirements.rst", "testing.rst", "tools.rst", "troubleshooting.rst", "urlscheme.rst"], "titles": ["eeprom - EEPROM API", "ftdi - FTDI low-level driver", "gpio - GPIO API", "i2c - I2C API", "API documentation", "misc - Miscellaneous helpers", "spi - SPI API", "serialext - UART API", "usbtools - USB tools", "Authors", "<no title>", "EEPROM management", "Features", "GPIOs", "PyFtdi", "Installation", "License", "FTDI device pinout", "Requirements", "Testing", "Tools", "Troubleshooting", "URL Scheme"], "terms": {"i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "2": [0, 1, 2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "c": [0, 1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "exampl": [0, 1, 2, 3, 6, 7, 15, 18, 20, 21, 22], "dump": [0, 5, 11], "content": [0, 1, 11, 12, 20], "instanti": [0, 3, 6], "an": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 15, 19, 21, 22], "manag": [0, 1, 3, 6, 7, 12, 14, 19, 20], "ftdieeprom": [0, 13], "select": [0, 1, 2, 3, 6, 8, 11, 12, 14, 15, 17, 22], "ftdi": [0, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "devic": [0, 1, 2, 3, 5, 6, 7, 8, 11, 13, 14, 15, 19, 20], "access": [0, 1, 2, 5, 6, 11, 12, 15, 19], "interfac": [0, 1, 2, 3, 6, 7, 8, 15, 17, 22], "mandatori": [0, 5, 11, 13, 19, 20], "ani": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 21], "valid": [0, 1, 6, 8, 11, 13, 18], "fit": [0, 3, 16, 19, 22], "open": [0, 1, 2, 7, 8, 12, 13, 15, 16, 20], "2232h": [0, 1, 3, 6, 7, 22], "1": [0, 1, 2, 3, 7, 8, 11, 12, 13, 15, 17, 18, 20, 21, 22], "show": [0, 7, 8, 11, 13, 20], "dump_config": 0, "raw": [0, 11, 13, 21], "from": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 16, 19, 20, 21, 22], "pyftdi": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22], "misc": [0, 4], "import": [0, 3, 7, 13, 15], "hexdump": [0, 5, 11], "print": [0, 1, 5, 7, 11, 22], "data": [0, 1, 2, 3, 5, 6, 7, 11, 13, 16, 21], "updat": [0, 1, 2, 11, 13, 14, 18], "serial": [0, 1, 2, 8, 11, 12, 13, 14, 15, 17, 20, 22], "number": [0, 1, 6, 11, 13, 15, 22], "chang": [0, 1, 2, 3, 6, 7, 11, 13, 15, 18], "set_serial_numb": 0, "123456": 0, "commit": 0, "dry_run": [0, 1], "fals": [0, 1, 2, 3, 5, 6, 8], "cbu": [0, 1, 2, 14], "altern": [0, 3, 6, 7, 11, 14, 15, 20], "featur": [0, 1, 2, 3, 6, 7, 17, 19, 20], "legaci": [0, 1, 7, 13], "ft232r": [0, 1, 2, 7, 11, 13, 14, 15], "alia": [0, 5, 20, 21], "cbush": 0, "ft232h": [0, 1, 2, 3, 7, 11, 12, 14, 15, 17, 19, 22], "ft2232h": [0, 1, 3, 6, 7, 8, 12, 13, 14, 15, 17], "ft4232h": [0, 1, 3, 8, 12, 13, 14, 15, 17], "cbusx": 0, "ft230x": [0, 1, 2, 7, 11, 13, 14, 15, 19], "cfg1": 0, "configur": [0, 1, 2, 3, 6, 15, 17, 20, 21], "bit": [0, 1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 15, 17, 18, 20], "store": [0, 15], "0x01": [0, 13], "channel": [0, 6, 15], "port": [0, 1, 2, 3, 6, 7, 8, 11, 12, 14, 15, 17, 20], "mode": [0, 1, 2, 3, 7, 11, 12, 15, 17, 20], "drive": [0, 1, 2, 3, 6, 11, 13], "driver": [0, 4, 12, 14, 15, 21, 22], "option": [0, 1, 2, 3, 5, 6, 7, 8, 13, 14, 15, 22], "o": [0, 1, 3, 6, 11, 13, 15, 17], "pin": [0, 1, 2, 3, 6, 7, 11, 12, 14, 17], "uart_bit": 0, "invers": [0, 11], "flag": [0, 1, 11], "ft": [0, 1, 11, 22], "x": [0, 1, 11, 15], "uartbit": 0, "var_str": 0, "manufactur": [0, 11, 22], "product": [0, 1, 5, 8, 11, 16, 20, 22], "string": [0, 1, 3, 5, 6, 8, 11, 15, 20, 22], "variabl": 0, "length": [0, 1, 2], "properti": [0, 1, 2, 3, 5, 6, 11], "cbus_mask": [0, 13], "int": [0, 1, 2, 3, 5, 6, 8], "return": [0, 1, 2, 3, 5, 6, 8, 14], "bitmask": [0, 1], "gpio": [0, 1, 4, 11, 12, 14, 19], "The": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 19, 20, 22], "bitmap": 0, "contain": [0, 1, 6, 11, 12, 13, 18, 19, 21], "four": [0, 13], "order": [0, 1, 8, 17, 20, 22], "natur": 0, "mask": [0, 1, 3, 13], "cbus_pin": [0, 13], "list": [0, 1, 2, 7, 8, 11, 15, 16, 20], "close": [0, 1, 3, 6, 7, 13, 16], "current": [0, 1, 2, 3, 5, 6, 7, 11, 13, 14, 18, 21], "connect": [0, 1, 3, 6, 7, 8, 11, 12, 13, 15, 17, 20], "usb": [0, 1, 3, 4, 5, 6, 7, 11, 13, 14, 19, 20, 22], "type": [0, 1, 2, 3, 5, 6, 7, 8, 11, 13, 14, 20], "none": [0, 1, 2, 3, 5, 6, 8], "true": [0, 1, 3, 5, 6, 7, 13], "no_crc": 0, "paramet": [0, 1, 2, 3, 5, 6, 8, 11, 14, 22], "bool": [0, 1, 2, 3, 5, 6, 8], "log": [0, 1, 3, 6, 15], "what": [0, 1, 3, 7], "should": [0, 1, 2, 3, 5, 6, 7, 8, 11, 13, 15, 17, 18, 19, 20, 21, 22], "written": [0, 1, 2, 3, 11, 13, 16], "do": [0, 1, 3, 11, 13, 14, 15, 17, 18, 21], "actual": [0, 1, 2, 3, 6, 7, 11, 13, 15, 19], "comput": [0, 1], "crc": [0, 11], "thi": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22], "onli": [0, 1, 2, 3, 5, 6, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20], "us": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22], "perform": [0, 1, 3, 6, 11, 12, 13, 14, 19], "full": [0, 1, 2, 5, 6, 7, 11, 12, 13], "erasur": 0, "attempt": [0, 1, 3, 11, 21], "recov": [0, 11], "corrupt": [0, 11, 22], "config": [0, 11], "some": [0, 1, 2, 3, 6, 7, 8, 11, 13, 14, 15, 18, 19, 21, 22], "have": [0, 1, 2, 3, 7, 8, 11, 13, 15, 18, 19, 21, 22], "been": [0, 1, 2, 3, 6, 8, 11, 13, 15, 16, 19, 20, 21], "ignor": [0, 3, 6, 11, 13, 15], "exist": [0, 1, 11, 13, 14, 18, 21, 22], "instanc": [0, 1, 3, 5, 6, 7, 8, 12, 13, 20], "whether": [0, 1, 2, 3, 5, 6, 7, 13, 16], "byte": [0, 1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 21], "default_s": 0, "report": [0, 1, 3, 6, 7, 13, 15, 18, 19, 22], "default": [0, 1, 3, 5, 6, 7, 8, 11, 14, 19], "size": [0, 1, 3, 5, 6, 11, 12, 14], "base": [0, 1, 2, 12], "physic": [0, 1], "mai": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "greater": [0, 7], "lower": [0, 1, 2, 7], "depend": [0, 1, 3, 6, 7, 11, 13, 14, 18, 20, 22], "device_vers": [0, 1], "version": [0, 1, 3, 14, 18, 21], "releas": [0, 3, 6, 8, 14, 15, 18], "file": [0, 11, 13, 15, 16, 19, 21], "binaryio": 0, "output": [0, 1, 2, 3, 6, 7, 8, 11, 13, 17, 19, 22], "stdout": [0, 1, 8], "enable_mirror": 0, "enabl": [0, 1, 3, 5, 6, 7, 11, 12, 13, 19, 20], "write": [0, 1, 2, 3, 6, 7, 11, 12, 13, 19], "mirror": [0, 5], "when": [0, 1, 2, 3, 5, 6, 7, 8, 11, 13, 14, 17, 22], "divid": [0, 2, 14], "sector": 0, "between": [0, 1, 5, 7, 13], "them": [0, 2, 7], "For": [0, 12, 13, 16, 19], "256": [0, 1, 11], "two": [0, 1, 2, 3, 6, 11, 13, 17, 22], "128": [0, 1, 11], "ident": [0, 5], "writen": 0, "both": [0, 2, 3, 12, 13], "like": [0, 3, 6, 11, 13, 21], "4232h": [0, 1, 6, 22], "make": [0, 15], "function": [0, 1, 7, 13], "similar": [0, 11, 13, 16], "ft_prog": [0, 11], "note": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 15, 17, 19, 21, 22], "has_mirror": 0, "after": [0, 6, 7, 13], "establish": 0, "disabl": [0, 1, 2, 6, 19], "eras": [0, 11, 22], "erase_byt": 0, "255": [0, 1], "whole": [0, 1, 11, 13], "0xff": [0, 13], "support": [0, 1, 2, 3, 5, 6, 8, 13, 15, 17, 19, 20, 22], "duplic": 0, "across": 0, "its": [0, 1, 2, 3, 6, 11, 13, 16, 19], "miror": 0, "initi": [0, 1, 2, 3, 6, 8, 16], "sensibl": 0, "valu": [0, 1, 2, 3, 5, 6, 11, 14, 15, 19, 20, 22], "is_empti": 0, "ha": [0, 1, 2, 3, 6, 7, 13, 15, 16, 17, 18, 19, 20], "detect": [0, 1, 7, 11, 15, 19, 20], "is_mirroring_en": 0, "check": [0, 1, 2, 3, 18, 21], "see": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22], "more": [0, 1, 3, 5, 6, 7, 8, 11, 13, 14, 19, 20], "detail": [0, 2, 3, 6, 7, 13, 15, 18, 22], "load_config": 0, "section": [0, 3, 7, 11, 14, 18, 21], "load": [0, 1, 8, 11, 13, 15, 19, 20, 21], "ini": [0, 11], "stream": [0, 1, 2, 8], "argument": [0, 1, 3, 5, 6, 7, 8, 11, 13, 20], "which": [0, 1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 18, 19, 20, 22], "": [0, 1, 3, 5, 7, 11, 19, 21], "hexabyt": 0, "previou": [0, 1, 2, 3, 6, 13, 14, 18], "human": [0, 5, 20], "readabl": [0, 5, 20], "all": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 22], "overwrit": 0, "part": [0, 1, 8, 13, 19], "provid": [0, 1, 2, 3, 6, 8, 13, 14, 16, 17], "handi": 0, "wai": [0, 2, 11, 13, 15, 16, 21, 22], "while": [0, 1, 3, 6, 7, 12, 14, 15, 18, 21], "custom": [0, 1, 5, 7, 11, 20], "textio": [0, 1, 8], "input": [0, 1, 2, 3, 5, 6, 7, 11, 13, 17, 19], "paran": 0, "mirror_sector": 0, "start": [0, 1, 3, 6, 7, 8, 13, 14, 15, 18, 20, 21, 22], "address": [0, 1, 3, 6, 7, 12, 13, 14, 22], "capabl": [0, 1, 3, 7, 13, 14, 17], "model": [0, 11, 13], "new": [0, 1, 2, 5, 6, 8, 11, 13, 14, 18, 19, 21], "union": [0, 1, 2, 3, 5, 6], "str": [0, 1, 2, 3, 5, 6, 8], "url": [0, 1, 2, 3, 6, 7, 8, 11, 14, 15, 19, 20], "specifi": [0, 1, 2, 3, 5, 6, 7, 8, 11, 14, 15, 22], "set": [0, 1, 2, 3, 5, 6, 7, 11, 19], "properi": 0, "reset_devic": 0, "execut": [0, 1, 6, 11, 21, 22], "reset": [0, 1, 3, 6, 13], "save_config": 0, "save": [0, 11], "set_manufacturer_nam": 0, "defin": [0, 1, 2, 3, 6, 7, 11, 13, 19, 22], "set_product_nam": 0, "name": [0, 1, 3, 5, 6, 7, 8, 11, 12, 13, 15, 16, 20], "set_properti": 0, "out": [0, 1, 2, 3, 6, 7, 8, 13, 15, 16, 18, 21, 22], "now": [0, 3, 12, 13, 14, 19], "small": 0, "subset": [0, 1], "can": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 19, 20, 21, 22], "hint": [0, 14], "set_test_mod": 0, "silenc": 0, "warn": [0, 6, 11], "most": [0, 1, 3, 7, 11, 13, 14, 19], "common": [0, 1, 5, 11, 12, 13, 19], "yet": [0, 1, 2, 7, 13, 14], "known": [0, 6, 7], "storage_s": 0, "storag": 0, "sync": [0, 1, 19], "forc": [0, 1, 3, 6, 11, 13, 22], "re": [0, 1, 3, 8, 13, 19], "evalu": [0, 1], "regular": [0, 1, 3, 6, 7, 8, 13, 18, 19, 20], "usag": [0, 1, 8, 11, 13, 20], "might": [0, 1, 2, 18], "help": [0, 7, 11, 12, 19, 20, 21, 22], "doe": [0, 1, 2, 6, 7, 13, 16, 17, 18, 21], "go": 0, "through": [0, 1, 3, 7, 11, 12, 13, 21, 22], "cycl": [0, 1, 3, 6, 7, 11, 13], "ftdieepromerror": 0, "error": [0, 1, 2, 3, 6, 8], "export": [0, 3, 6, 21], "ftdi_devic": [0, 3, 6], "pythonpath": [0, 3, 6, 7, 19], "python3": [0, 3, 6, 7, 15], "py": [0, 2, 3, 6, 7, 11, 12, 13, 15, 16, 19, 20], "modul": [1, 3, 6, 7, 11, 12, 18, 19, 20], "implement": [1, 6, 7, 11, 12, 13, 14, 16, 19], "hardwar": [1, 6, 13, 15], "There": [1, 3, 6, 7, 8, 11, 13, 15, 19, 22], "ar": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "veri": [1, 3, 6, 7, 11, 13], "few": [1, 6], "reason": [1, 11, 13, 16], "directli": [1, 3, 6, 13], "avail": [1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 17, 20, 22], "dedic": [1, 2, 3, 6, 7, 13, 19], "api": [1, 8, 11, 12, 14, 15, 16, 19, 20, 22], "bitmod": 1, "qualnam": 1, "boundari": [1, 12], "default_vendor": [1, 8, 15], "1027": 1, "vendor": [1, 5, 8, 11, 19, 20, 22], "device_nam": 1, "512": 1, "ft232am": [1, 15], "1024": [1, 5, 7, 11], "ft232bm": [1, 15], "1280": 1, "ft2232c": [1, 14, 15], "1536": 1, "1792": 1, "2048": 1, "2304": 1, "4096": 1, "13824": 1, "ft4232ha": [1, 3, 8, 12, 13, 14, 15, 17], "fifo_s": 1, "384": 1, "chip": [1, 6, 11], "intern": [1, 2, 11], "fifo": [1, 2, 3, 6], "tx": [1, 7, 11], "rx": [1, 2, 7, 11], "invert": [1, 6], "datasheet": [1, 13], "terminologi": [1, 13], "here": [1, 7, 13, 14, 15, 22], "seen": [1, 7], "host": [1, 3, 8, 15, 18, 20], "perspect": [1, 16], "wherea": 1, "ftdi_vendor": 1, "vid": [1, 5, 7, 8, 11, 20, 22], "product_id": [1, 5, 11, 15, 20], "2232": [1, 7, 15, 22], "24592": 1, "2232c": 1, "2232d": [1, 22], "230x": [1, 22], "24597": 1, "231x": 1, "232": [1, 7, 12, 22], "24577": 1, "232h": [1, 3, 6, 15, 22], "24596": 1, "232r": [1, 22], "234x": 1, "4232": [1, 22], "24593": 1, "4232ha": [1, 6, 22], "24648": 1, "ft2232": [1, 15], "ft2232d": [1, 3, 13, 15], "ft231x": [1, 2, 7, 13, 14, 15], "ft232": 1, "ft234x": [1, 14, 15], "ft4232": [1, 11, 15], "offici": [1, 6, 11, 14, 15, 18, 20], "ones": [1, 3, 6, 7, 13], "To": [1, 2, 7, 11, 13, 15, 22], "add": [1, 2, 3, 5, 6, 15, 20], "third": [1, 6], "parti": 1, "add_custom_product": [1, 15], "scheme": [1, 8, 14, 19], "usbtool": [1, 4, 19], "vendor_id": [1, 5, 11, 15, 20], "add_custom_vendor": [1, 15], "classmethod": [1, 3, 5, 8], "pid": [1, 5, 7, 8, 11, 20, 22], "pidnam": 1, "identifi": [1, 8, 11, 15, 20, 22], "It": [1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 16, 18, 19, 20, 21], "requir": [1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 17, 19, 20], "non": [1, 2, 3, 6, 12, 13, 14], "standard": [1, 6, 11, 18, 22], "id": [1, 6, 7, 8, 11, 22], "16": [1, 3, 5, 6, 13, 14, 15, 17, 20, 22], "arbitrari": [1, 2, 6, 7, 15], "rais": [1, 3, 5, 13, 22], "valueerror": [1, 5], "alreadi": [1, 19, 21], "referenc": [1, 21], "vidnam": 1, "pretti": 1, "baudrat": [1, 5, 7, 14, 19], "bitbang_en": 1, "tell": [1, 3, 5, 15], "bitbang": [1, 2, 13, 14, 17], "activ": [1, 6, 11, 13], "calc_eeprom_checksum": 1, "calcul": [1, 14], "eeprom": [1, 3, 4, 14, 15, 20, 22], "checksum": [1, 11], "over": [1, 3, 6, 7, 11, 13], "bytearrai": [1, 2, 3, 5, 6, 14], "must": [1, 13, 15, 16], "even": [1, 11, 13, 16, 19], "freez": [1, 3, 6], "state": [1, 3, 6, 7, 11], "mean": [1, 2, 3, 6, 7, 13], "left": 1, "signal": [1, 3, 6, 11], "specif": [1, 3, 6, 13, 15, 16, 19, 22], "need": [1, 2, 3, 6, 8, 11, 13, 15, 19, 21, 22], "create_from_url": [1, 15], "creat": [1, 15, 19, 21], "index": [1, 5, 6, 8, 14, 15, 22], "selector": [1, 2, 8, 22], "fresh": [1, 3, 6, 15], "decode_modem_statu": 1, "error_onli": 1, "decod": [1, 11, 19], "modem": [1, 7], "statu": [1, 11], "bitfield": [1, 2, 3, 6], "short": [1, 2, 5, 13, 20], "tupl": [1, 2, 8], "device_port_count": 1, "count": [1, 3, 6, 7, 8], "e": [1, 2, 3, 6, 7, 11, 13, 15, 20], "kind": [1, 8, 19, 21], "ic_nam": 1, "inform": [1, 8, 15], "integ": [1, 2, 3, 5, 6, 13, 15, 20, 22], "enable_3phase_clock": 1, "3": [1, 7, 11, 12, 13, 15, 17, 18, 22], "phase": [1, 6], "clock": [1, 2, 6, 7, 11, 12, 13, 14, 17], "mpsse": [1, 2, 3, 6, 12, 14, 17, 19], "mostli": 1, "i2c": [1, 2, 4, 13, 17, 20], "also": [1, 3, 6, 12, 13, 14, 15, 19, 20, 21, 22], "workaround": [1, 6, 12], "spi": [1, 2, 4, 7, 13, 14, 17, 19], "ftdimpsseerror": 1, "enable_adaptive_clock": 1, "adapt": [1, 3, 12], "mpsee": 1, "uniqu": [1, 15, 22], "design": [1, 2, 3, 6, 20], "feedback": 1, "jtag": [1, 2, 3, 7, 13, 14, 17, 19], "arm": [1, 3], "core": 1, "enable_drivezero_mod": 1, "line": [1, 2, 3, 5, 6, 11, 14, 15, 17, 20], "zero": [1, 3, 6], "collector": [1, 13], "driven": [1, 7], "enable_loopback_mod": 1, "loopback": [1, 7], "di": 1, "test": [1, 2, 5, 7, 11, 12, 13, 14, 15, 18, 20], "purpos": [1, 5, 11, 12, 16], "uart": [1, 2, 4, 13, 14, 17, 19], "tuppl": 1, "static": 1, "find_al": [1, 8], "vp": [1, 8], "nocach": [1, 8], "find": [1, 8, 22], "match": [1, 2, 5, 8, 11, 13, 15, 19, 20, 22], "pair": [1, 8, 11, 15, 22], "sequenc": [1, 2, 3, 5, 6, 8, 13], "bypass": [1, 3, 8], "cach": [1, 8], "enumer": [1, 8, 19, 21, 22], "5": [1, 6, 7, 11, 13, 14, 18], "sernum": 1, "ifac": [1, 8], "descript": [1, 11], "descriptor": [1, 8], "frequency_max": [1, 3, 6], "float": [1, 2, 3, 5, 6], "maximum": [1, 3, 6], "frequenc": [1, 2, 3, 6, 13, 19], "hz": [1, 3, 6], "get_cbus_gpio": [1, 13], "get": [1, 2, 3, 6, 11, 13, 15, 19], "read": [1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 19, 21], "get_cd": 1, "termin": [1, 3, 6, 12, 20], "carrier": 1, "cd": [1, 15], "logic": [1, 3, 5, 7, 13], "get_ct": 1, "clear": [1, 8, 13], "send": [1, 3, 6, 7], "ct": [1, 7, 17], "get_devic": [1, 8], "without": [1, 3, 11, 13, 14, 16, 18, 19, 22], "pars": [1, 5, 8, 11, 20], "get_dsr": 1, "readi": 1, "dsr": [1, 7, 17], "get_error_str": 1, "wrapper": 1, "compat": [1, 14, 15, 16, 18, 22], "constant": [1, 2, 11], "meaningless": 1, "get_identifi": 1, "extract": 1, "usbdevicedescriptor": [1, 8], "get_latency_tim": 1, "latenc": [1, 3, 6], "timer": 1, "unspecifi": 1, "unit": [1, 5, 19], "get_ri": 1, "ring": 1, "indic": [1, 7, 21], "ri": [1, 7, 17], "has_cbu": [1, 13], "special": [1, 2, 3, 6, 11, 13, 16, 22], "queri": [1, 13, 22], "ftdierror": 1, "has_drivezero": 1, "commun": [1, 3, 6, 12, 13, 15, 19, 21], "has_mpss": 1, "has_wide_port": 1, "v": [1, 3, 6, 7, 9, 11, 20, 21], "8": [1, 2, 3, 6, 7, 13, 14, 18], "wide": [1, 2, 3, 6, 13], "http": [1, 15], "www": 1, "ftdichip": 1, "com": [1, 15, 21], "document": [1, 7, 13, 16, 20], "technicalnot": 1, "tn_100_usb_vid": 1, "pid_guidelin": 1, "pdf": 1, "is_h_seri": 1, "high": [1, 2, 3, 6, 7, 11, 13, 21], "end": [1, 2, 8, 15, 18, 22], "bridg": [1, 14], "is_bitbang_en": 1, "is_connect": 1, "slave": [1, 3, 6, 12, 14, 19], "is_eeprom_intern": 1, "is_legaci": 1, "slow": [1, 3], "is_mpss": 1, "is_mpsse_interfac": 1, "list_devic": [1, 8, 22], "pattern": [1, 8], "restrict": [1, 13], "search": [1, 11], "max_eeprom_s": 1, "0": [1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 18, 21], "modem_statu": 1, "decoded": 1, "mpsse_bit_delai": 1, "delai": [1, 2, 6, 13], "set_bit": 1, "command": [1, 2, 3, 6, 7, 11, 13, 15, 19, 20], "minimum": 1, "larger": 1, "second": [1, 2, 5, 6, 7, 13, 21], "bu": [1, 6, 8, 12, 13, 14, 17, 19, 20, 22], "If": [1, 2, 3, 6, 7, 8, 11, 13, 15, 21], "sever": [1, 2, 3, 7, 8, 11, 12, 13, 14, 18, 19, 20, 21, 22], "same": [1, 2, 7, 8, 11, 12, 13, 16, 21, 22], "either": [1, 8, 13, 17, 22], "discrimin": [1, 8], "reliabl": [1, 6, 7, 8], "solut": [1, 8, 12, 18], "random": [1, 8], "alwai": [1, 2, 3, 6, 8, 13, 14, 15, 20], "prefer": [1, 8, 15, 21, 22], "n": [1, 13, 15], "th": [1, 3], "open_bitbang": [1, 22], "direct": [1, 2, 3, 6, 7, 16, 17], "1000000": [1, 6], "where": [1, 2, 3, 6, 11, 12, 13, 14, 15, 21, 22], "poll": [1, 3], "shorter": [1, 3], "higher": 1, "cpu": 1, "pace": [1, 2, 13], "exchang": [1, 2, 3, 6, 13], "synchron": [1, 2, 6, 11, 12, 14], "asynchron": [1, 2, 13, 14], "bp": [1, 7], "open_bitbang_from_devic": [1, 22], "open_bitbang_from_url": [1, 22], "open_from_devic": [1, 22], "pyusb": [1, 8, 15, 18, 19, 21, 22], "open_from_url": [1, 2, 13, 20, 22], "open_mpss": [1, 22], "6000000": 1, "debug": [1, 3, 5, 6, 7, 11, 12, 20, 21], "other": [1, 2, 3, 6, 11, 16, 18, 21, 22], "millisecond": 1, "than": [1, 2, 6, 7, 11, 13, 14, 20], "trigger": [1, 6, 13, 15, 21], "loss": [1, 16, 21], "tracer": [1, 3, 6], "protocol": [1, 3, 8, 14], "open_mpsse_from_devic": [1, 22], "trace": 1, "open_mpsse_from_url": [1, 22], "overwrite_eeprom": 1, "first": [1, 3, 5, 6, 7, 11, 13, 17], "last": [1, 6, 8, 18], "you": [1, 2, 3, 6, 11, 15, 16, 19, 21, 22], "brick": [1, 11], "your": [1, 3, 11, 13, 14, 15, 18, 19, 22], "invalid": [1, 3, 21], "own": 1, "risk": 1, "rtfm": 1, "includ": [1, 3, 6, 11, 12, 14, 16, 19], "poll_modem_statu": 1, "allow": [1, 5, 15], "retriev": [1, 2, 3, 6, 8, 14, 22], "so": [1, 2, 3, 6, 11, 12, 13, 14, 15, 21, 22], "call": [1, 3, 5, 6, 7, 8, 13, 14, 15, 18, 19], "interrupt": [1, 16, 22], "point": [1, 11], "event": [1, 3, 16], "done": [1, 7], "control": [1, 2, 3, 6, 13, 15], "endpoint": 1, "obtain": [1, 3, 6, 7, 8, 11, 22], "proprietari": 1, "port_index": 1, "posit": [1, 3, 6, 7, 11, 13], "port_width": 1, "width": [1, 2, 3, 6, 13], "singl": [1, 6, 13, 14, 15, 19, 22], "purge_buff": 1, "buffer": [1, 2, 3, 5, 6, 7, 11, 13], "purge_rx_buff": 1, "receiv": [1, 3, 6, 7, 11], "purge_tx_buff": 1, "transmit": [1, 7, 11], "read_data": 1, "shortcut": [1, 11], "instead": [1, 13, 14, 15], "arrai": [1, 3, 6, 14], "request": [1, 2, 3, 6, 11, 13, 19, 21], "payload": [1, 21], "read_data_byt": 1, "request_gen": 1, "In": [1, 2, 6, 7, 11, 17, 20, 22], "process": [1, 15], "engin": [1, 3, 6, 12, 19], "rebuilt": 1, "chunk": 1, "block": [1, 6, 11], "strip": 1, "becaus": [1, 19], "multipl": [1, 15, 19], "buse": [1, 22], "immedi": [1, 22], "side": 1, "increas": [1, 3, 6, 7, 11, 20], "expect": [1, 3, 6], "amount": 1, "befor": [1, 2, 3, 6, 11, 13, 15, 21], "give": [1, 13], "up": [1, 2, 3, 6, 7, 12, 14, 15, 17, 18, 19, 21], "callabl": 1, "take": [1, 3, 5, 6, 11, 21], "byffer": 1, "back": [1, 3, 7, 8, 11, 15], "remot": [1, 3, 6], "optim": [1, 3], "continu": [1, 19], "transfer": [1, 2, 3, 6, 12, 14], "read_data_get_chunks": 1, "read_data_set_chunks": 1, "chunksiz": 1, "intend": [1, 13], "recommend": [1, 3, 6, 11, 22], "automat": [1, 12, 13, 15, 19, 21], "best": [1, 22], "read_eeprom": 1, "addr": [1, 8], "eeprom_s": 1, "we": [1, 6, 13], "word": [1, 2, 6], "time": [1, 2, 3, 7, 8, 11, 13, 20], "work": [1, 3, 11, 15, 18, 19, 20], "desir": 1, "total": 1, "read_pin": 1, "circumv": 1, "usb_reset": 1, "wether": 1, "bewar": [1, 2, 11, 14], "affect": [1, 13], "set_baudr": 1, "constrain": 1, "abl": [1, 3, 19], "Its": [1, 15], "dividor": 1, "achiev": [1, 3, 5, 6, 7, 13], "attemp": 1, "closest": [1, 2, 5], "deviat": 1, "too": 1, "reject": [1, 11], "attribut": [1, 7], "exact": [1, 2, 5, 6, 13], "baudrate_toler": 1, "drift": 1, "within": [1, 7, 19], "limit": [1, 2, 3, 5, 11, 12, 13, 16, 19], "rs232": [1, 7, 15], "toler": [1, 13], "larg": [1, 19], "io": [1, 3, 6, 11, 13], "effect": [1, 3, 11, 15], "set_bitmod": 1, "switch": [1, 5], "set_break": 1, "break_": 1, "stop": [1, 2, 3, 6, 7, 22], "break": [1, 8, 13, 14], "set_cbus_direct": [1, 13], "set_cbus_gpio": [1, 13], "appli": [1, 3, 6, 13], "set_dtr": 1, "dtr": [1, 7, 17], "set_dtr_rt": 1, "rt": [1, 7, 17], "onc": [1, 2, 3, 6, 7, 11, 13, 15], "set_dynamic_lat": 1, "lmin": 1, "lmax": 1, "threshold": 1, "dynam": [1, 19, 21], "balanc": 1, "respons": 1, "bandwidth": 1, "throughput": [1, 6], "maintain": [1, 14, 18], "tweak": [1, 3], "care": [1, 6, 11], "12": [1, 7, 11, 13, 14, 17], "abov": [1, 5, 7, 14, 15, 16, 18], "lose": 1, "m": [1, 5, 11, 18], "each": [1, 2, 3, 6, 7, 8, 11, 13, 15, 19], "least": [1, 6], "one": [1, 2, 3, 6, 7, 8, 11, 13, 14, 18, 19], "doubl": 1, "everi": [1, 13], "latenti": 1, "set_error_char": 1, "errorch": 1, "charact": [1, 5, 7, 11], "set_event_char": 1, "eventch": 1, "set_flowctrl": 1, "flowctrl": 1, "flowcontrol": 1, "flow": 1, "softwar": [1, 3, 13, 16, 19], "hw": [1, 2, 3, 6, 7, 13, 19], "empti": [1, 2, 3, 6, 11], "how": [1, 2, 3, 5, 6, 12, 13, 20], "faq": 1, "ftxxx": [1, 7], "link": 1, "accept": [1, 2, 3, 5, 6, 7, 13, 20, 22], "rxd": [1, 17], "cannot": [1, 2, 3, 5, 7, 12, 13, 14, 19, 21], "reach": [1, 3, 6, 18], "32": 1, "space": [1, 14, 15], "extern": [1, 7, 11], "txd": [1, 17], "potenti": [1, 7, 14, 18], "overrun": [1, 7], "occasion": [1, 7], "present": [1, 7, 11, 13, 15], "problem": [1, 7], "shoud": [1, 7], "made": [1, 7, 11], "awar": [1, 7], "normal": [1, 7], "pc": [1, 7], "As": [1, 3, 6, 7, 11, 17, 18], "oper": [1, 3, 5, 7], "packet": [1, 7], "basi": [1, 7, 18], "oppos": [1, 7], "wise": 1, "Not": 1, "shift": 1, "thei": [1, 2, 5, 13, 17, 19, 20], "set_frequ": [1, 2, 6], "differ": [1, 3, 8, 11, 13], "set_latency_tim": 1, "keep": [1, 3, 6, 7, 14, 18, 19], "decreas": 1, "Be": [1, 15], "set_line_properti": 1, "stopbit": 1, "pariti": 1, "characterist": 1, "pyseri": [1, 7, 12, 14, 15, 18], "definit": [1, 5, 19], "follow": [1, 3, 5, 6, 7, 11, 13, 14, 15, 16, 18, 20], "7": [1, 6, 7, 11, 12, 13, 18], "half": [1, 6, 12], "odd": 1, "uppercas": 1, "set_rt": 1, "show_devic": [1, 8, 15, 22], "usb_dev": [1, 8], "underli": 1, "usb_path": 1, "locat": [1, 7, 8, 11, 12, 20], "topologi": [1, 19], "validate_mpss": 1, "write_data": 1, "split": [1, 8], "being": [1, 2, 14, 18], "sent": 1, "write_data_get_chunks": 1, "write_data_set_chunks": 1, "write_eeprom": 1, "ftdifeatureerror": 1, "mutual": [2, 11], "exclus": [2, 11], "advanc": 2, "share": [2, 16, 20], "gpioport": 2, "duck": [2, 13], "gpioasynccontrol": [2, 13], "bang": [2, 11], "method": [2, 3, 6, 8, 13, 14, 15, 20, 21], "sampl": [2, 3, 6, 13], "rate": 2, "soon": 2, "fill": 2, "until": 2, "case": [2, 3, 6, 13, 19, 22], "therefor": [2, 3, 19, 21, 22], "hard": [2, 19], "peek": 2, "gener": [2, 5, 6, 8, 11, 12, 16, 19], "board": [2, 11, 19], "kwarg": [2, 3, 5, 6], "level": [2, 3, 4, 6, 12, 13, 19, 21, 22], "low": [2, 3, 4, 6, 7, 11, 12, 13, 19, 22], "per": [2, 6, 14, 15], "readlen": [2, 3, 6], "noflush": 2, "electr": 2, "mani": [2, 7, 11, 13, 15, 19, 20], "instantan": 2, "contin": 2, "longer": [2, 6, 11, 13, 21], "collect": 2, "old": [2, 22], "know": 2, "ensur": [2, 11, 21], "complet": [2, 5, 6, 15, 20], "discard": [2, 3, 12], "flush": [2, 3, 6, 8], "otherwis": [2, 3, 16], "read_port": 2, "regist": [2, 3, 21], "unfortun": 2, "seem": [2, 11, 15], "wait": [2, 3], "client": [2, 7, 14, 18], "long": [2, 3, 16], "fulli": [2, 3, 13], "freq": [2, 6], "contrari": 2, "approxim": 2, "abort": 2, "spec": 2, "write_port": 2, "gpiosynccontrol": [2, 13], "eveeri": 2, "gpiompssecontrol": [2, 13], "reachabl": 2, "slower": [2, 13], "lsb": [2, 3, 6, 13], "b0": [2, 3, 6], "b7": [2, 3], "msb": [2, 6, 13], "b8": 2, "b15": 2, "subsequ": [2, 7, 11], "slight": 2, "occur": [2, 3], "group": [2, 15], "possibl": [2, 3, 5, 6, 7, 11, 13, 14, 16, 19, 22], "atom": [2, 7, 13], "worth": 2, "peak": 2, "iter": [2, 3, 5, 6], "gpioexcept": 2, "expand": 3, "i2ccontrol": [3, 13], "IF": [3, 6, 7, 16, 17], "master": [3, 6, 14, 15], "get_port": [3, 6], "0x21": 3, "0x04": 3, "write_to": 3, "0x06": [3, 13], "b": [3, 6, 7, 13, 14, 15, 21], "x00": 3, "read_from": 3, "0x00": [3, 6, 13], "complex": 3, "transact": [3, 6], "sleep": [3, 11], "0x56": 3, "emit": [3, 11, 20, 21], "busi": [3, 16], "relax": 3, "1m": 3, "001": 3, "4": [3, 6, 7, 13, 14, 15, 17, 22], "neither": [3, 11, 16], "x01": [3, 6], "pyi2cflash": [3, 12], "i2cport": 3, "never": [3, 6, 15, 21], "instanci": [3, 5, 6, 8, 13], "prevent": [3, 13], "further": [3, 6], "ctrl": [3, 6, 7], "0x12": [3, 6], "0x34": [3, 6], "configure_regist": 3, "bigendian": 3, "reconfigur": [3, 6, 13], "format": [3, 5, 11, 19, 20], "big": 3, "endian": 3, "encod": [3, 5, 11], "w": [3, 6, 7, 11, 12, 13, 15], "ack": 3, "nack": 3, "acknowledg": 3, "poll_cond": 3, "remov": 3, "watch": 3, "condit": [3, 11, 16], "satisfi": 3, "On": [3, 15, 21], "repeat": [3, 7, 11, 20], "howev": [3, 7, 13, 16, 18, 22], "leav": 3, "binari": [3, 5, 16], "against": [3, 14, 18], "timeout": 3, "i2ctimeouterror": 3, "satisifi": 3, "i2cioerror": 3, "regaddr": 3, "given": [3, 13], "shift_address": 3, "offset": [3, 6], "i2cgpioport": [3, 13], "A": [3, 6, 13, 16, 18], "wich": [3, 6], "reserv": [3, 6, 14, 16], "lowest": [3, 6, 13], "b3": [3, 6], "scl": [3, 13], "b1": [3, 6], "sda_o": 3, "b2": [3, 6], "sda_i": 3, "stretch": [3, 13, 17], "bia": [3, 6], "0x08": 3, "4432h": [3, 6], "seri": [3, 6, 7, 11, 12, 14, 17, 18], "i2cgpio": 3, "get_gpio": [3, 6, 13], "all_pin": [3, 6], "repres": [3, 6, 13, 15, 19], "self": [3, 6], "with_output": [3, 6], "unmask": [3, 6], "set_direct": [3, 6, 13], "invok": [3, 6, 15], "handl": [3, 13, 19], "associ": [3, 11], "sck": [3, 17], "bus0": 3, "bus7": 3, "sda": [3, 13, 17], "bus1": 3, "bus2": 3, "map": [3, 5, 6, 8, 11, 13], "setup": [3, 6, 15, 19, 20], "preced": [3, 6, 11], "clockstretch": 3, "boolean": [3, 5, 6], "clockstrech": 3, "xd7": 3, "gpio7": [3, 17], "xd0": 3, "verbos": [3, 6, 7, 11, 20], "properli": [3, 6], "0x7f": 3, "max": 3, "force_clock_mod": 3, "unsupport": [3, 11], "cowardli": 3, "refus": 3, "compliant": [3, 12], "bug": [3, 19], "gpio_all_pin": [3, 6], "gpio_pin": [3, 6], "fmt": 3, "struct": 3, "fail": [3, 5, 8, 11], "read_gpio": [3, 6], "set_gpio_direct": [3, 6], "set_retry_count": 3, "retri": 3, "bail": 3, "param": 3, "deprec": [3, 6, 22], "validate_address": 3, "assert": [3, 6, 13], "rang": [3, 13], "ad": 3, "write_gpio": [3, 6], "i2cnackerror": 3, "tca9555": 3, "adxl345": [3, 6], "0x53": 3, "checkout": [3, 6], "copi": [3, 5, 6, 11, 13, 15, 21], "github": [3, 6, 13, 14, 15, 21], "repositori": [3, 6, 15, 19], "pinout": [3, 6, 14], "ftdi_loglevel": [3, 6, 19], "sure": [3, 6, 15, 21], "appropri": [3, 6, 11], "run": [3, 6, 7, 11, 15, 19, 21], "bidirect": 3, "drain": [3, 13], "pull": [3, 17], "resistor": [3, 17], "These": [3, 13, 20], "trick": 3, "fake": 3, "r": [3, 7, 12, 15], "sourc": [3, 12, 16, 18], "cope": [3, 6], "conflict": [3, 7, 11, 21, 22], "want": [3, 6, 13, 15, 21], "schemat": 3, "ma": 3, "maxim": 3, "attach": 3, "down": [3, 11], "fortun": 3, "real": [3, 7, 13], "hack": [3, 13], "ad0": [3, 6, 13], "bd0": [3, 13], "ad7": [3, 13], "bd7": [3, 13], "proper": [3, 13, 19], "ofth": 3, "forward": 3, "voltag": 3, "drop": 3, "diod": 3, "due": [3, 6], "bitrat": 3, "enforc": [3, 6], "peer": 3, "top": 3, "stack": [3, 5, 19], "With": [3, 13, 15, 19, 22], "introduct": 3, "v0": [3, 13, 14, 18, 19], "51": 3, "much": [3, 19], "faster": 3, "thanwith": 3, "exhibit": [3, 7], "far": 3, "nevetherless": 3, "carefulli": 3, "studi": 3, "medium": 3, "rel": 3, "ft4222h": 3, "better": [3, 13, 18], "fig": [3, 6], "ad1": [3, 6, 13], "ad2": [3, 6, 13], "remain": [3, 6], "freeli": [3, 6, 16], "d1": 3, "along": [3, 11, 13, 20, 21], "serialext": [4, 12], "tool": [4, 7, 12, 13, 14, 15, 19, 21, 22], "miscellan": 4, "helper": [4, 8, 22], "class": 5, "easydict": 5, "dictionari": 5, "whose": [5, 13], "member": 5, "shallow": 5, "d": [5, 7, 11, 14, 15, 17, 20], "add_custom_devic": 5, "ftdicl": 5, "vpstr": 5, "force_hex": 5, "identif": 5, "vendor_nam": [5, 20], "product_nam": [5, 20], "omit": [5, 20], "serv": [5, 20], "alias": [5, 20, 22], "resolv": [5, 20], "express": [5, 16], "decim": [5, 22], "hexadecim": [5, 11, 20, 22], "syntax": [5, 8, 19, 20, 22], "ex": [5, 21, 22], "0x403": [5, 20, 22], "0x9999": [5, 20], "mycompani": [5, 20], "0x666": [5, 20], "myproduct": [5, 15, 20], "0xcafe": [5, 20], "typic": [5, 11, 13, 15], "describ": [5, 11, 19, 20], "consid": [5, 6, 13], "classproperti": 5, "fget": 5, "fset": 5, "fdel": 5, "doc": [5, 15], "getter": 5, "decor": 5, "abbrevi": 5, "convert": [5, 14], "represent": [5, 11], "multi": [5, 14], "ascii": [5, 11], "cv": [5, 11], "replac": [5, 7, 13, 15, 19], "hexlin": 5, "sep": 5, "separ": [5, 11], "char": [5, 7, 22], "is_iter": 5, "obj": 5, "object": [5, 13, 22], "pretty_s": 5, "lim_k": 5, "lim_m": 5, "10485760": 5, "plural": 5, "floor": 5, "kib": 5, "mib": 5, "integr": [5, 12, 19], "candid": [5, 8], "convers": 5, "append": 5, "final": [5, 21], "behav": 5, "smaller": 5, "fallback": 5, "next": [5, 11, 21], "prettyfi": 5, "show_call_stack": 5, "to_bool": 5, "permiss": [5, 15, 16], "allow_int": 5, "to_bp": 5, "multipli": 5, "k": 5, "g": [5, 13, 15, 20], "to_int": 5, "code": [5, 9, 15, 16, 18, 21], "kilo": 5, "mega": 5, "xor": 5, "_a_": 5, "_b_": 5, "ed": 5, "flash": [6, 12], "duplex": [6, 12], "spicontrol": [6, 13, 14], "bus3": 6, "12mhz": 6, "12e6": 6, "jedec": 6, "jedec_id": 6, "0x9f": 6, "bus4": 6, "cs_count": 6, "10mhz": 6, "10e6": 6, "write_buf": 6, "x02": 6, "x03": 6, "read_buf": 6, "extra": [6, 11, 13], "gpo": 6, "gpi": 6, "0x30": 6, "0x10": 6, "slace": 6, "hello": [6, 7], "world": [6, 7], "0x20": 6, "align": [6, 12], "6": [6, 7, 11, 12, 14, 18], "xff": 6, "droptail": 6, "13": [6, 7, 21], "pyspiflash": [6, 12], "spiport": 6, "cs_hold": 6, "spi_mod": 6, "extend": [6, 7], "resum": 6, "previous": [6, 8], "desactivet": 6, "force_select": 6, "tri": [6, 11, 14, 18, 19, 22], "extrem": [6, 11], "puls": [6, 12], "whatev": [6, 13], "hold": 6, "durat": [6, 7], "unitless": 6, "set_mod": 6, "spigpioport": [6, 13], "b4": 6, "sclk": [6, 17], "mosi": [6, 17], "miso": [6, 17], "cs0": [6, 17], "cs1": [6, 17], "less": 6, "constructor": 6, "spigpio": 6, "turbo": 6, "active_channel": 6, "cs_prolog": 6, "cs_epilog": 6, "cpol": [6, 12], "cpha": [6, 12], "prolog": 6, "epilog": 6, "polar": 6, "deriv": [6, 16], "manner": [6, 13], "force_control": 6, "lead": [6, 8], "unexpect": [6, 11], "result": [6, 7], "slot": 6, "is_inverted_cpha_support": 6, "kludg": 6, "spiioerror": 6, "mx25l1606e": 6, "rfda2125": 6, "applic": [6, 7, 11, 13], "node": 6, "114": 6, "review": 6, "sheet": 6, "determin": 6, "ymmv": 6, "h": [6, 7, 11, 12, 15, 20], "consequ": 6, "duti": [6, 7], "50": [6, 7], "25": 6, "75": [6, 7], "again": [6, 11], "ve": [6, 11], "precis": [6, 13], "instant": 6, "adc": 6, "dac": 6, "librari": [6, 18, 21], "reli": [6, 15, 18, 19, 21], "lack": 6, "timestamp": [6, 11], "jitter": 6, "easi": 6, "ad3": [6, 13], "ad4": [6, 13], "ad5": 6, "anoth": [6, 7, 13, 19, 21, 22], "ad6": 6, "etc": [6, 13, 15], "act": 7, "backend": [7, 8, 12, 15, 19], "well": [7, 13], "protocol_ftdi": 7, "Then": 7, "serial_for_url": [7, 13], "extens": [7, 12, 21], "3mbaud": 7, "3000000": 7, "primari": 7, "somewhat": [7, 13], "come": [7, 20, 21], "assign": [7, 11, 13], "unus": 7, "although": [7, 14, 18, 19], "seldom": 7, "dce": 7, "upper": [7, 11], "15": 7, "nevertheless": [7, 14, 19], "hardcod": 7, "mind": 7, "those": [7, 12, 13, 15, 20], "tabl": [7, 11], "below": [7, 15, 20], "dcd": [7, 17], "addit": [7, 11, 13], "pyterm": 7, "simpl": [7, 11, 15, 19, 20, 22], "chapter": [7, 11, 12, 15], "f": 7, "l": [7, 11], "p": [7, 11, 20], "vidpid": [7, 11, 20], "virtual": [7, 11, 13, 20, 21], "python": [7, 12, 13, 14, 19, 20, 21, 22], "messag": [7, 11], "exit": [7, 11, 20, 22], "fullmod": 7, "115200": 7, "hwflow": 7, "localecho": 7, "local": [7, 14, 20], "echo": 7, "crlf": 7, "prefix": [7, 22], "lf": 7, "cr": 7, "twice": 7, "silent": 7, "yaml": [7, 11, 19], "instal": [7, 14, 18, 19, 20, 21], "archiv": 7, "directori": [7, 12, 19, 20, 21], "pwd": 7, "bin": [7, 11, 12, 20, 21], "avoid": [7, 11, 19, 22], "shell": [7, 11, 15, 22], "zsh": [7, 22], "escap": [7, 22], "session": [7, 22], "ftdi_url": [7, 15, 22], "theori": [7, 16], "mbp": [7, 12], "bare": 7, "usabl": 7, "requ": 7, "9": [7, 13, 14, 18, 21], "stabl": [7, 14, 15, 18, 21], "115": 7, "kbp": 7, "78": 7, "08": 7, "\u00b5": 7, "26": 7, "49": 7, "ye": 7, "460": 7, "461": 7, "54": [7, 18], "19": [7, 8], "77": 7, "98": 7, "002": 7, "24": [7, 11], "018": 7, "48": [7, 11], "052": 7, "056": 7, "040": 7, "857": 7, "11": [7, 15, 21], "108": 7, "44": 7, "No": [7, 19], "727": 7, "964": 7, "036": 7, "10": [7, 13, 21, 22], "667": 7, "43": 7, "measur": 7, "ratio": 7, "good": [7, 16], "stabil": 7, "produc": 7, "proven": 7, "difficult": 7, "imposs": [7, 13], "except": [7, 11, 19, 20], "about": [7, 8, 13, 14, 15, 18], "suffer": 7, "fluter": 7, "95": 7, "1mbp": 7, "moreov": 7, "quot": 7, "build_dev_str": 8, "vdict": 8, "pdict": 8, "devdesc": 8, "build": [8, 14, 15], "dict": 8, "enumerate_candid": 8, "urlpart": 8, "partial": [8, 19], "criteria": 8, "usbdev": 8, "find_backend": 8, "try": [8, 11, 15, 21], "ibackend": 8, "flush_cach": 8, "highli": 8, "recommand": 8, "unplug": [8, 11, 15], "plug": [8, 11, 15], "sinc": 8, "appear": [8, 15], "disconnect": [8, 11], "constraint": 8, "get_str": 8, "stridx": 8, "deal": [8, 15], "urlstr": 8, "parse_url": 8, "release_all_devic": 8, "devclass": 8, "release_devic": 8, "anymor": [8, 16], "joker": 8, "user": [8, 14, 15, 18, 21], "usbtoolserror": 8, "emmanuel": [9, 16], "blot": [9, 16], "free": [9, 13, 14, 16], "fr": [9, 16], "bouaziz": 9, "ebouaziz": 9, "niku": 9, "dave": 9, "mccoi": 9, "adam": 9, "feuer": 9, "endlesscoil": 9, "humm": 9, "fabien": 9, "benureau": 9, "dlharmon": 9, "davidwc": 9, "sebastian": 9, "ander": 9, "andrea": 9, "concil": 9, "darren": 9, "garnier": 9, "michael": 9, "leonard": 9, "nopeppermint": 9, "stefan": 9, "hannesweisbach": 9, "viannei": 9, "le": 9, "cl\u00e9ment": 9, "de": 9, "saint": 9, "marcq": 9, "pete": 9, "schwamb": 9, "Will": 9, "richei": 9, "sgoadhous": 9, "tavip": 9, "octavian": 9, "purdila": 9, "tim": 9, "legrand": 9, "vestom": 9, "meierphil": 9, "etherfi": 9, "jnmacd": 9, "naushir": 9, "markmelvin": 9, "mark": 9, "melvin": 9, "stiebr": 9, "mpratt14": 9, "alexforencich": 9, "tedku": 9, "amanita": 9, "muscaria": 9, "len0rd": 9, "rod": 9, "whitbi": 9, "kornel": 9, "swierzi": 9, "taisuk": 9, "yamada": 9, "niew\u00f6hner": 9, "kalofin": 9, "henri": 9, "au": 9, "yeung": 9, "roman": 9, "dobrodii": 9, "mentovai": 9, "alessandro": 9, "zini": 9, "sjoerd": 9, "simon": 9, "caus": [11, 16, 21], "undesir": 11, "wrong": 11, "place": 11, "essenti": 11, "caution": 11, "someth": 11, "goe": 11, "recoveri": 11, "inde": 11, "unstabl": 11, "fix": [11, 15], "hi": 11, "speed": 11, "mini": [11, 20], "ftdi_recoveri": 11, "under": [11, 16], "develop": [11, 12, 14, 15, 16, 20, 21], "wrongli": 11, "ftconf": [11, 12], "companion": [11, 12, 20], "script": [11, 12, 15, 21], "hexblock": 11, "serial_numb": 11, "u": [11, 15], "indent": 11, "hexa": [11, 13], "kei": 11, "action": 11, "pleas": [11, 13, 15, 18, 19, 21], "licens": [11, 14], "term": 11, "protect": 11, "modif": [11, 16], "alter": 11, "dry": 11, "modifi": [11, 14, 19], "restor": 11, "dure": 11, "thank": 11, "origin": [11, 16], "equal": 11, "sign": 11, "column": 11, "wildcard": 11, "power": [11, 13], "blank": 11, "fall": 11, "regener": 11, "itself": [11, 18], "ffff": 11, "reboot": 11, "fdti": 11, "expos": [11, 17], "93c46": 11, "93c56": 11, "93c66": 11, "issu": [11, 15, 18, 19, 21], "compact": 11, "whenev": [11, 19, 21], "offer": [11, 12], "guarante": 11, "whatsoev": 11, "safe": 11, "nor": [11, 16], "tristat": 11, "z": [11, 13], "pad": 11, "txled": 11, "led": [11, 13], "rxled": 11, "txrxled": 11, "pwren": 11, "suspend": 11, "drive0": 11, "drive1": 11, "txden": 11, "rs485": 11, "clk48": 11, "mhz": [11, 14], "clk30": 11, "30": [11, 14], "clk24": 11, "clk15": 11, "clk12": 11, "clk7_5": 11, "clk6": 11, "bat_detect": 11, "batteri": 11, "charger": 11, "bat_ndetect": 11, "i2c_tx": 11, "i2c_rxf": 11, "vbus_sens": 11, "vbu": 11, "via": [11, 13], "ac": 11, "bb_wr": 11, "strobe": 11, "bb_rd": 11, "toggl": 11, "sof": 11, "awak": 11, "suspsend": 11, "uartbridg": 11, "abcd1234": 11, "cbus_func_0": 11, "cbus_func_1": 11, "cbus_func_2": 11, "cbus_func_3": 11, "cbus_func_4": 11, "cbus_func_5": 11, "cbus_func_6": 11, "cbus_func_7": 11, "cbus_func_8": 11, "cbus_func_9": 11, "channel_a_driv": 11, "channel_a_typ": 11, "clock_polar": 11, "flow_control": 11, "group_0_driv": 11, "group_0_schmitt": 11, "group_0_slew": 11, "group_1_driv": 11, "group_1_schmitt": 11, "group_1_slew": 11, "has_seri": 11, "has_usb_vers": 11, "in_isochron": 11, "lsb_data": 11, "out_isochron": 11, "power_max": 11, "powersav": 11, "remote_wakeup": 11, "self_pow": 11, "suspend_pull_down": 11, "usb_vers": 11, "cbus0": [11, 13], "time_stamp": 11, "wa": 11, "embed": 11, "system": [11, 21, 22], "lsusb": 11, "0403": [11, 15], "6011": [11, 15], "simultan": [12, 14], "runtim": 12, "emul": [12, 19], "layer": [12, 16], "transpar": 12, "minim": 12, "demonstr": [12, 19], "dispatch": 12, "pure": [12, 13, 14, 19], "experiment": [12, 13, 14, 19], "trail": 12, "wire": [12, 19], "i2cscan": 12, "discov": [12, 20], "caveat": 12, "intent": 12, "soc": 12, "scan": 12, "pyjtagtool": [12, 18], "project": [12, 16], "still": [12, 13, 14, 21], "beta": 12, "stage": [12, 19], "gpiocontrol": 13, "explain": 13, "independ": 13, "distinct": 13, "multithread": 13, "interpret": [13, 20, 22], "rational": 13, "initialiaz": 13, "ofter": 13, "synonym": 13, "sometim": 13, "standpoint": 13, "equival": 13, "depict": 13, "synomym": 13, "At": 13, "dbu": 13, "adbu": [13, 17], "acbu": [13, 17], "bdbu": 13, "bcbu": [13, 17], "cdbu": 13, "ddbu": 13, "histor": [13, 16], "narrow": 13, "kept": 13, "rather": 13, "gnd": 13, "vdd": 13, "volt": 13, "refer": [13, 15, 19, 21], "analog": 13, "ouput": 13, "denot": 13, "programm": 13, "cbus3": 13, "provic": 13, "cbus5": 13, "cbus6": 13, "cbus8": 13, "cbus9": 13, "rememb": [13, 15], "47": 13, "addition": 13, "framework": [13, 20], "0x02": 13, "bd1": 13, "0x80": 13, "eighth": 13, "highest": 13, "ad15": 13, "bd15": 13, "arbitrarili": 13, "rule": [13, 15], "decid": 13, "contigu": 13, "cbus1": 13, "cbus2": 13, "sound": 13, "weird": 13, "ish": 13, "did": 13, "deserv": 13, "treatment": 13, "sake": 13, "bd3": 13, "bd2": 13, "bd4": 13, "bd6": 13, "That": 13, "translat": 13, "0b": 13, "0111": 13, "0110": 13, "0x76": 13, "mach": 13, "preserv": 13, "later": 13, "0x84": 13, "variant": [13, 14], "depth": 13, "onto": 13, "vector": 13, "scalar": 13, "tricki": 13, "aim": [13, 14, 19], "captur": 13, "slightli": 13, "usual": [13, 21], "wider": 13, "recommen": 13, "caller": 13, "illeg": 13, "ioerror": 13, "0x0f": 13, "1e6": 13, "ins": 13, "0b1001": 13, "0b0001": 13, "0x1": 13, "becom": 13, "unavail": 13, "three": 13, "predefin": 13, "0x78": 13, "sdao": 13, "sdai": 13, "0x07": 13, "latest": 14, "onlin": 14, "recent": 14, "pypi": 14, "intermedi": 14, "publish": 14, "sphinx": [14, 15], "instruct": 14, "packag": [14, 19], "popular": 14, "languag": 14, "3mbp": 14, "dual": [14, 15], "quad": 14, "12mbp": 14, "14": [14, 21], "basic": 14, "maco": [14, 18, 20, 21], "linux": [14, 18, 20, 21], "freebsd": 14, "window": [14, 18, 20, 21], "40": [14, 18], "introduc": [14, 18], "backward": [14, 15, 18], "upgrad": [14, 18], "39": [14, 18], "22": [14, 18, 21, 22], "readlin": 14, "bring": 14, "improv": 14, "augment": 14, "open_": 14, "public": [14, 16], "simplifi": [14, 19], "troubleshoot": 14, "author": [14, 16, 21], "nativ": [15, 18, 19, 21], "libusb": [15, 18, 19, 21], "distribut": [15, 16, 19], "apt": 15, "udev": [15, 21], "subsystem": 15, "attr": 15, "idvendor": 15, "idproduct": 15, "6001": 15, "plugdev": 15, "0664": 15, "6010": 15, "6014": 15, "6015": 15, "6048": 15, "declar": 15, "daemon": 15, "sudo": [15, 21], "udevadm": 15, "reload": [15, 21], "addus": 15, "subshel": 15, "newgrp": 15, "brew": 15, "success": [15, 18], "probabl": 15, "easiest": 15, "util": 15, "composit": 15, "parent": 15, "individu": 15, "difficulti": 15, "uncheck": 15, "hub": 15, "menu": 15, "item": 15, "former": 15, "win32": 15, "winusb": 15, "click": 15, "branch": 15, "tag": 15, "broke": 15, "miss": [15, 19, 21], "pip3": [15, 19], "git": [15, 19], "clone": 15, "eblot": 15, "simpli": 15, "txt": 15, "setuptool": 15, "wheel": 15, "sphinx_autodoc_typehint": 15, "shpinx": 15, "theme": 15, "readthedoc": 15, "sphinx_rtd_them": 15, "2b8717a3647cc650625c566259e00305f7fb60aa": 15, "egg": 15, "html": 15, "entri": 15, "cmd": 15, "ft1pwz0q": 15, "c232hd": [15, 17], "ddhsp": 15, "recogn": [15, 20], "numer": 15, "0x1234": [15, 20], "myvendor": 15, "0x5678": 15, "f1": 15, "f2": 15, "os": 15, "libftdi": 16, "main": 16, "had": [16, 19], "gnu": 16, "lesser": 16, "lgpl": 16, "v2": 16, "my": 16, "commerci": 16, "compli": 16, "copyright": 16, "2008": 16, "2021": [16, 18], "right": 16, "redistribut": 16, "form": 16, "permit": 16, "met": 16, "retain": 16, "notic": 16, "disclaim": 16, "reproduc": [16, 19], "materi": 16, "contributor": 16, "endors": 16, "promot": 16, "prior": 16, "BY": 16, "THE": 16, "holder": 16, "AND": 16, "AS": 16, "OR": 16, "impli": 16, "warranti": 16, "BUT": 16, "NOT": 16, "TO": 16, "OF": 16, "merchant": 16, "FOR": 16, "particular": 16, "IN": 16, "NO": 16, "shall": 16, "neotion": 16, "BE": 16, "liabl": 16, "indirect": 16, "incident": 16, "exemplari": 16, "consequenti": 16, "damag": 16, "procur": 16, "substitut": [16, 19], "servic": 16, "profit": 16, "ON": 16, "liabil": 16, "contract": 16, "strict": 16, "tort": 16, "neglig": 16, "aris": 16, "advis": 16, "SUCH": 16, "cabl": 17, "adbus0": 17, "bdbus0": 17, "gpio0": 17, "tck": 17, "orang": 17, "adbus1": 17, "bdbus1": 17, "gpio1": 17, "tdi": 17, "yellow": 17, "adbus2": 17, "bdbus2": 17, "gpio2": 17, "tdo": 17, "green": 17, "adbus3": 17, "bdbus3": 17, "gpio3": 17, "tm": 17, "brown": 17, "adbus4": 17, "bdbus4": 17, "gpio4": 17, "grei": 17, "adbus5": 17, "bdbus5": 17, "gpio5": 17, "cs2": 17, "purpl": 17, "adbus6": 17, "bdbus6": 17, "gpio6": 17, "cs3": 17, "white": 17, "adbus7": 17, "bdbus7": 17, "rsck": 17, "cs4": 17, "rclk": 17, "blue": 17, "acbus0": 17, "bcbus0": 17, "gpio8": 17, "acbus1": 17, "bcbus1": 17, "gpio9": 17, "acbus2": 17, "bcbus2": 17, "gpio10": 17, "acbus3": 17, "bcbus3": 17, "gpio11": 17, "acbus4": 17, "bcbus4": 17, "gpio12": 17, "acbus5": 17, "bcbus5": 17, "gpio13": 17, "acbus6": 17, "bcbus6": 17, "gpio14": 17, "acbus7": 17, "bcbus7": 17, "gpio15": 17, "ftdi2232c": 17, "bi": 17, "togeth": 17, "secondari": [17, 19], "23": 18, "platform": [18, 19], "64": 18, "kernel": [18, 21], "seamless": 18, "mileag": 18, "vari": [18, 22], "fork": 18, "d2xx": [18, 21], "pyftdiwin": 18, "major": 18, "55": 18, "life": 18, "octob": 18, "7th": 18, "2024": 18, "june": 18, "27rd": 18, "2023": 18, "53": 18, "decemb": 18, "23rd": 18, "52": 18, "septemb": 18, "5th": 18, "2020": 18, "challeng": 19, "piec": 19, "equip": 19, "primarili": 19, "environ": [19, 20], "bench": 19, "grow": 19, "concern": 19, "evolv": 19, "regress": 19, "were": 19, "edit": 19, "45": 19, "eas": 19, "told": 19, "usbvirt": 19, "confifur": 19, "rout": 19, "ftdivirt": 19, "charg": 19, "tracker": 19, "verifi": [19, 21], "async": 19, "massiv": 19, "workload": 19, "progress": 19, "earli": [19, 21], "incept": 19, "reveal": 19, "coupl": [19, 20], "hide": 19, "year": 19, "effort": 19, "ahead": 19, "ruamel": 19, "info": 19, "mockusb": 19, "resourc": 19, "mock": 19, "fine": 19, "grain": 19, "loader": [19, 21], "mess": 19, "nearli": 19, "comprehens": 19, "found": 19, "ftmani": 19, "infrastructur": 19, "quick": 20, "tini": [20, 21], "famili": 20, "download": 20, "pyftditool": 20, "subdirectori": 20, "traceback": 20, "1234": 20, "6789": 20, "0x6789": 20, "would": 20, "could": 20, "contact": 21, "email": 21, "enhanc": 21, "logger": 21, "ld_library_path": 21, "path": 21, "dyld_library_path": 21, "lib": 21, "dylib": 21, "dll": 21, "happen": 21, "pyinstal": 21, "system32": 21, "libusb0": 21, "assum": 21, "zadig": 21, "guid": 21, "maverick": 21, "ship": 21, "preempt": 21, "sierra": 21, "unload": 21, "kextunload": 21, "bundl": 21, "appl": 21, "appleusbftdi": 21, "uphi": 21, "sh": 21, "move": 21, "mojav": 21, "peacefulli": 21, "co": 21, "experi": 21, "grant": 21, "latter": 21, "fatal": 21, "vcom": 21, "uninstal": 21, "v1": 21, "20": 21, "0x6014": 22, "0x6001": 22, "0x6010": 22, "0x6011": 22, "0x6015": 22, "ft0fmf6v": 22, "addess": 22, "0x": 22, "34": 22, "particularli": 22, "enough": 22, "ask": 22, "filter": 22, "avaialbl": 22, "systemexit": 22, "_from_url": 22, "suffix": 22, "among": 22}, "objects": {"pyftdi": [[0, 0, 0, "-", "eeprom"], [1, 0, 0, "-", "ftdi"], [2, 0, 0, "-", "gpio"], [3, 0, 0, "-", "i2c"], [5, 0, 0, "-", "misc"], [6, 0, 0, "-", "spi"], [8, 0, 0, "-", "usbtools"]], "pyftdi.eeprom": [[0, 1, 1, "", "FtdiEeprom"], [0, 5, 1, "", "FtdiEepromError"]], "pyftdi.eeprom.FtdiEeprom": [[0, 2, 1, "", "CBUS"], [0, 2, 1, "", "CBUSH"], [0, 2, 1, "", "CBUSX"], [0, 2, 1, "", "CFG1"], [0, 2, 1, "", "CHANNEL"], [0, 2, 1, "", "DRIVE"], [0, 2, 1, "", "UART_BITS"], [0, 2, 1, "", "VAR_STRINGS"], [0, 3, 1, "", "cbus_mask"], [0, 3, 1, "", "cbus_pins"], [0, 4, 1, "", "close"], [0, 4, 1, "", "commit"], [0, 4, 1, "", "connect"], [0, 3, 1, "", "data"], [0, 3, 1, "", "default_size"], [0, 3, 1, "", "device_version"], [0, 4, 1, "", "dump_config"], [0, 4, 1, "", "enable_mirroring"], [0, 4, 1, "", "erase"], [0, 3, 1, "", "has_mirroring"], [0, 4, 1, "", "initialize"], [0, 3, 1, "", "is_empty"], [0, 3, 1, "", "is_mirroring_enabled"], [0, 4, 1, "", "load_config"], [0, 3, 1, "", "mirror_sector"], [0, 4, 1, "", "open"], [0, 3, 1, "", "properties"], [0, 4, 1, "", "reset_device"], [0, 4, 1, "", "save_config"], [0, 4, 1, "", "set_manufacturer_name"], [0, 4, 1, "", "set_product_name"], [0, 4, 1, "", "set_property"], [0, 4, 1, "", "set_serial_number"], [0, 4, 1, "", "set_test_mode"], [0, 3, 1, "", "size"], [0, 3, 1, "", "storage_size"], [0, 4, 1, "", "sync"]], "pyftdi.ftdi": [[1, 1, 1, "", "Ftdi"], [1, 5, 1, "", "FtdiError"], [1, 5, 1, "", "FtdiFeatureError"], [1, 5, 1, "", "FtdiMpsseError"]], "pyftdi.ftdi.Ftdi": [[1, 1, 1, "", "BitMode"], [1, 2, 1, "", "DEFAULT_VENDOR"], [1, 2, 1, "", "DEVICE_NAMES"], [1, 2, 1, "", "FIFO_SIZES"], [1, 2, 1, "", "FTDI_VENDOR"], [1, 2, 1, "", "PRODUCT_IDS"], [1, 2, 1, "", "SCHEME"], [1, 2, 1, "", "VENDOR_IDS"], [1, 4, 1, "", "add_custom_product"], [1, 4, 1, "", "add_custom_vendor"], [1, 3, 1, "", "baudrate"], [1, 3, 1, "", "bitbang_enabled"], [1, 4, 1, "", "calc_eeprom_checksum"], [1, 4, 1, "", "close"], [1, 4, 1, "", "create_from_url"], [1, 4, 1, "", "decode_modem_status"], [1, 3, 1, "", "device_port_count"], [1, 3, 1, "", "device_version"], [1, 4, 1, "", "enable_3phase_clock"], [1, 4, 1, "", "enable_adaptive_clock"], [1, 4, 1, "", "enable_drivezero_mode"], [1, 4, 1, "", "enable_loopback_mode"], [1, 3, 1, "", "fifo_sizes"], [1, 4, 1, "", "find_all"], [1, 3, 1, "", "frequency_max"], [1, 4, 1, "", "get_cbus_gpio"], [1, 4, 1, "", "get_cd"], [1, 4, 1, "", "get_cts"], [1, 4, 1, "", "get_device"], [1, 4, 1, "", "get_dsr"], [1, 4, 1, "", "get_error_string"], [1, 4, 1, "", "get_identifiers"], [1, 4, 1, "", "get_latency_timer"], [1, 4, 1, "", "get_ri"], [1, 3, 1, "", "has_cbus"], [1, 3, 1, "", "has_drivezero"], [1, 3, 1, "", "has_mpsse"], [1, 3, 1, "", "has_wide_port"], [1, 3, 1, "", "ic_name"], [1, 3, 1, "", "is_H_series"], [1, 3, 1, "", "is_bitbang_enabled"], [1, 3, 1, "", "is_connected"], [1, 3, 1, "", "is_eeprom_internal"], [1, 3, 1, "", "is_legacy"], [1, 3, 1, "", "is_mpsse"], [1, 4, 1, "", "is_mpsse_interface"], [1, 4, 1, "", "list_devices"], [1, 3, 1, "", "max_eeprom_size"], [1, 4, 1, "", "modem_status"], [1, 3, 1, "", "mpsse_bit_delay"], [1, 4, 1, "", "open"], [1, 4, 1, "", "open_bitbang"], [1, 4, 1, "", "open_bitbang_from_device"], [1, 4, 1, "", "open_bitbang_from_url"], [1, 4, 1, "", "open_from_device"], [1, 4, 1, "", "open_from_url"], [1, 4, 1, "", "open_mpsse"], [1, 4, 1, "", "open_mpsse_from_device"], [1, 4, 1, "", "open_mpsse_from_url"], [1, 4, 1, "", "overwrite_eeprom"], [1, 4, 1, "", "poll_modem_status"], [1, 3, 1, "", "port_index"], [1, 3, 1, "", "port_width"], [1, 4, 1, "", "purge_buffers"], [1, 4, 1, "", "purge_rx_buffer"], [1, 4, 1, "", "purge_tx_buffer"], [1, 4, 1, "", "read_data"], [1, 4, 1, "", "read_data_bytes"], [1, 4, 1, "", "read_data_get_chunksize"], [1, 4, 1, "", "read_data_set_chunksize"], [1, 4, 1, "", "read_eeprom"], [1, 4, 1, "", "read_pins"], [1, 4, 1, "", "reset"], [1, 4, 1, "", "set_baudrate"], [1, 4, 1, "", "set_bitmode"], [1, 4, 1, "", "set_break"], [1, 4, 1, "", "set_cbus_direction"], [1, 4, 1, "", "set_cbus_gpio"], [1, 4, 1, "", "set_dtr"], [1, 4, 1, "", "set_dtr_rts"], [1, 4, 1, "", "set_dynamic_latency"], [1, 4, 1, "", "set_error_char"], [1, 4, 1, "", "set_event_char"], [1, 4, 1, "", "set_flowctrl"], [1, 4, 1, "", "set_frequency"], [1, 4, 1, "", "set_latency_timer"], [1, 4, 1, "", "set_line_property"], [1, 4, 1, "", "set_rts"], [1, 4, 1, "", "show_devices"], [1, 3, 1, "", "usb_dev"], [1, 3, 1, "", "usb_path"], [1, 4, 1, "", "validate_mpsse"], [1, 4, 1, "", "write_data"], [1, 4, 1, "", "write_data_get_chunksize"], [1, 4, 1, "", "write_data_set_chunksize"], [1, 4, 1, "", "write_eeprom"]], "pyftdi.gpio": [[2, 1, 1, "", "GpioAsyncController"], [2, 5, 1, "", "GpioException"], [2, 1, 1, "", "GpioMpsseController"], [2, 1, 1, "", "GpioPort"], [2, 1, 1, "", "GpioSyncController"]], "pyftdi.gpio.GpioAsyncController": [[2, 4, 1, "", "open_from_url"], [2, 4, 1, "", "read"], [2, 4, 1, "", "read_port"], [2, 4, 1, "", "set_frequency"], [2, 4, 1, "", "write"], [2, 4, 1, "", "write_port"]], "pyftdi.gpio.GpioMpsseController": [[2, 4, 1, "", "read"], [2, 4, 1, "", "set_frequency"], [2, 4, 1, "", "write"]], "pyftdi.gpio.GpioSyncController": [[2, 4, 1, "", "exchange"], [2, 4, 1, "", "set_frequency"]], "pyftdi.i2c": [[3, 1, 1, "", "I2cController"], [3, 1, 1, "", "I2cGpioPort"], [3, 5, 1, "", "I2cIOError"], [3, 5, 1, "", "I2cNackError"], [3, 1, 1, "", "I2cPort"], [3, 5, 1, "", "I2cTimeoutError"]], "pyftdi.i2c.I2cController": [[3, 4, 1, "", "close"], [3, 4, 1, "", "configure"], [3, 3, 1, "", "configured"], [3, 3, 1, "", "direction"], [3, 4, 1, "", "exchange"], [3, 4, 1, "", "flush"], [3, 4, 1, "", "force_clock_mode"], [3, 3, 1, "", "frequency"], [3, 3, 1, "", "frequency_max"], [3, 3, 1, "", "ftdi"], [3, 4, 1, "", "get_gpio"], [3, 4, 1, "", "get_port"], [3, 3, 1, "", "gpio_all_pins"], [3, 3, 1, "", "gpio_pins"], [3, 4, 1, "", "poll"], [3, 4, 1, "", "poll_cond"], [3, 4, 1, "", "read"], [3, 4, 1, "", "read_gpio"], [3, 4, 1, "", "set_gpio_direction"], [3, 4, 1, "", "set_retry_count"], [3, 4, 1, "", "terminate"], [3, 4, 1, "", "validate_address"], [3, 3, 1, "", "width"], [3, 4, 1, "", "write"], [3, 4, 1, "", "write_gpio"]], "pyftdi.i2c.I2cGpioPort": [[3, 3, 1, "", "all_pins"], [3, 3, 1, "", "direction"], [3, 3, 1, "", "pins"], [3, 4, 1, "", "read"], [3, 4, 1, "", "set_direction"], [3, 3, 1, "", "width"], [3, 4, 1, "", "write"]], "pyftdi.i2c.I2cPort": [[3, 3, 1, "", "address"], [3, 4, 1, "", "configure_register"], [3, 4, 1, "", "exchange"], [3, 4, 1, "", "flush"], [3, 3, 1, "", "frequency"], [3, 4, 1, "", "poll"], [3, 4, 1, "", "poll_cond"], [3, 4, 1, "", "read"], [3, 4, 1, "", "read_from"], [3, 4, 1, "", "shift_address"], [3, 4, 1, "", "write"], [3, 4, 1, "", "write_to"]], "pyftdi.misc": [[5, 1, 1, "", "EasyDict"], [5, 6, 1, "", "add_custom_devices"], [5, 1, 1, "", "classproperty"], [5, 6, 1, "", "hexdump"], [5, 6, 1, "", "hexline"], [5, 6, 1, "", "is_iterable"], [5, 6, 1, "", "pretty_size"], [5, 6, 1, "", "show_call_stack"], [5, 6, 1, "", "to_bool"], [5, 6, 1, "", "to_bps"], [5, 6, 1, "", "to_int"], [5, 6, 1, "", "xor"]], "pyftdi.misc.EasyDict": [[5, 4, 1, "", "copy"], [5, 4, 1, "", "mirror"]], "pyftdi.spi": [[6, 1, 1, "", "SpiController"], [6, 1, 1, "", "SpiGpioPort"], [6, 5, 1, "", "SpiIOError"], [6, 1, 1, "", "SpiPort"]], "pyftdi.spi.SpiController": [[6, 3, 1, "", "active_channels"], [6, 3, 1, "", "channels"], [6, 4, 1, "", "close"], [6, 4, 1, "", "configure"], [6, 3, 1, "", "configured"], [6, 3, 1, "", "direction"], [6, 4, 1, "", "exchange"], [6, 4, 1, "", "flush"], [6, 4, 1, "", "force_control"], [6, 3, 1, "", "frequency"], [6, 3, 1, "", "frequency_max"], [6, 3, 1, "", "ftdi"], [6, 4, 1, "", "get_gpio"], [6, 4, 1, "", "get_port"], [6, 3, 1, "", "gpio_all_pins"], [6, 3, 1, "", "gpio_pins"], [6, 3, 1, "", "is_inverted_cpha_supported"], [6, 4, 1, "", "read_gpio"], [6, 4, 1, "", "set_gpio_direction"], [6, 4, 1, "", "terminate"], [6, 3, 1, "", "width"], [6, 4, 1, "", "write_gpio"]], "pyftdi.spi.SpiGpioPort": [[6, 3, 1, "", "all_pins"], [6, 3, 1, "", "direction"], [6, 3, 1, "", "pins"], [6, 4, 1, "", "read"], [6, 4, 1, "", "set_direction"], [6, 3, 1, "", "width"], [6, 4, 1, "", "write"]], "pyftdi.spi.SpiPort": [[6, 3, 1, "", "cs"], [6, 4, 1, "", "exchange"], [6, 4, 1, "", "flush"], [6, 4, 1, "", "force_select"], [6, 3, 1, "", "frequency"], [6, 3, 1, "", "mode"], [6, 4, 1, "", "read"], [6, 4, 1, "", "set_frequency"], [6, 4, 1, "", "set_mode"], [6, 4, 1, "", "write"]], "pyftdi.usbtools": [[8, 1, 1, "", "UsbTools"], [8, 5, 1, "", "UsbToolsError"]], "pyftdi.usbtools.UsbTools": [[8, 4, 1, "", "build_dev_strings"], [8, 4, 1, "", "enumerate_candidates"], [8, 4, 1, "", "find_all"], [8, 4, 1, "", "find_backend"], [8, 4, 1, "", "flush_cache"], [8, 4, 1, "", "get_device"], [8, 4, 1, "", "get_string"], [8, 4, 1, "", "list_devices"], [8, 4, 1, "", "parse_url"], [8, 4, 1, "", "release_all_devices"], [8, 4, 1, "", "release_device"], [8, 4, 1, "", "show_devices"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:property", "4": "py:method", "5": "py:exception", "6": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "property", "Python property"], "4": ["py", "method", "Python method"], "5": ["py", "exception", "Python exception"], "6": ["py", "function", "Python function"]}, "titleterms": {"eeprom": [0, 11, 12, 13, 19], "api": [0, 2, 3, 4, 6, 7, 13, 18], "quickstart": [0, 2, 3, 6, 7], "class": [0, 1, 2, 3, 6, 8], "except": [0, 1, 2, 3, 6, 8, 13], "test": [0, 3, 6, 19], "ftdi": [1, 17], "low": 1, "level": 1, "driver": 1, "gpio": [2, 3, 6, 7, 13], "info": 2, "about": 2, "i2c": [3, 12], "caveat": 3, "open": [3, 21, 22], "collector": 3, "bu": [3, 21], "clock": 3, "strech": 3, "speed": 3, "wire": [3, 6], "document": [4, 14, 15], "misc": 5, "miscellan": 5, "helper": 5, "function": [5, 11], "spi": [6, 12], "limit": [6, 7], "mode": [6, 13], "1": 6, "3": [6, 16], "time": 6, "sensit": 6, "usag": [6, 7, 19], "serialext": 7, "uart": [7, 12], "access": [7, 13, 21], "cbu": [7, 11, 13], "support": [7, 11, 12, 14, 18], "mini": 7, "serial": [7, 21], "termin": 7, "hardwar": [7, 19], "flow": 7, "control": 7, "usbtool": 8, "usb": [8, 15, 21], "tool": [8, 11, 20], "author": 9, "main": 9, "develop": [9, 18], "contributor": 9, "manag": 11, "featur": [11, 12, 13, 14], "configur": [11, 13, 19], "option": [11, 20], "switch": [11, 20], "exampl": [11, 13, 19], "devic": [12, 17, 21, 22], "master": 12, "jtag": 12, "statu": 12, "overview": [13, 14, 19, 20], "other": 13, "definit": 13, "interfac": 13, "port": [13, 21], "valu": 13, "direct": 13, "bitmap": 13, "ft232h": 13, "us": 13, "set": 13, "pin": 13, "state": 13, "retriev": 13, "modifi": 13, "synchron": 13, "reserv": 13, "v": 13, "pyftdi": 14, "sourc": [14, 15], "code": 14, "host": 14, "os": 14, "warn": 14, "major": 14, "chang": 14, "detail": 14, "instal": 15, "prerequisit": 15, "debian": 15, "ubuntu": 15, "linux": 15, "homebrew": 15, "maco": 15, "window": 15, "zadig": 15, "python": [15, 18], "depend": 15, "pip": 15, "from": 15, "gener": 15, "post": 15, "saniti": 15, "check": 15, "custom": 15, "vendor": 15, "product": 15, "id": 15, "pid": 15, "vid": 15, "licens": 16, "bsd": 16, "claus": 16, "pinout": 17, "requir": 18, "break": 18, "legaci": [18, 22], "virtual": 19, "framework": 19, "bewar": 19, "wip": 19, "content": 19, "avail": [19, 21], "script": 20, "ftdi_url": 20, "ftconf": 20, "i2cscan": 20, "pyterm": 20, "where": 20, "find": 20, "common": [20, 21], "troubleshoot": 21, "report": 21, "bug": 21, "log": 21, "error": 21, "messag": 21, "No": 21, "backend": 21, "deni": 21, "insuffici": 21, "permiss": 21, "The": 21, "ha": 21, "langid": 21, "violat": 21, "serialutil": 21, "serialexcept": 21, "unabl": 21, "slow": 21, "initialis": 21, "o": 21, "x": 21, "el": 21, "capitan": 21, "url": 22, "scheme": 22, "connect": 22, "base": 22, "method": 22}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"misc - Miscellaneous helpers": [[5, "misc-miscellaneous-helpers"]], "Functions": [[5, "module-pyftdi.misc"]], "usbtools - USB tools": [[8, "module-pyftdi.usbtools"]], "Classes": [[8, "classes"], [0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [6, "classes"]], "Exceptions": [[8, "exceptions"], [0, "exceptions"], [1, "exceptions"], [2, "exceptions"], [3, "exceptions"], [6, "exceptions"]], "Authors": [[9, "authors"]], "Main developers": [[9, "main-developers"]], "Contributors": [[9, "contributors"]], "PyFtdi": [[14, "pyftdi"]], "Documentation": [[14, "documentation"]], "Source code": [[14, "source-code"]], "Overview": [[14, "overview"], [13, "overview"], [19, "overview"], [20, "overview"]], "Features": [[14, "features"], [12, "features"]], "Supported host OSes": [[14, "supported-host-oses"]], "Warning": [[14, "warning"]], "Major changes": [[14, "major-changes"]], "PyFTDI in details": [[14, "pyftdi-in-details"]], "eeprom - EEPROM API": [[0, "module-pyftdi.eeprom"]], "Quickstart": [[0, "quickstart"], [2, "quickstart"], [3, "quickstart"], [6, "quickstart"], [7, "quickstart"]], "Tests": [[0, "tests"], [3, "tests"], [6, "tests"]], "ftdi - FTDI low-level driver": [[1, "module-pyftdi.ftdi"]], "gpio - GPIO API": [[2, "module-pyftdi.gpio"]], "Info about GPIO API": [[2, "info-about-gpio-api"]], "i2c - I2C API": [[3, "module-pyftdi.i2c"]], "GPIOs": [[3, "gpios"], [6, "gpios"], [13, "gpios"]], "Caveats": [[3, "caveats"]], "Open-collector bus": [[3, "open-collector-bus"]], "Clock streching": [[3, "clock-streching"]], "Speed": [[3, "speed"]], "Wiring": [[3, "wiring"], [6, "wiring"]], "API documentation": [[4, "api-documentation"]], "": [[4, "release"]], "spi - SPI API": [[6, "module-pyftdi.spi"]], "Limitations": [[6, "limitations"], [7, "limitations"]], "SPI Modes 1 & 3": [[6, "spi-modes-1-3"]], "Time-sensitive usage": [[6, "time-sensitive-usage"]], "serialext - UART API": [[7, "serialext-uart-api"]], "Usage": [[7, "usage"], [19, "usage"]], "GPIO access": [[7, "gpio-access"]], "CBUS support": [[7, "cbus-support"]], "Mini serial terminal": [[7, "mini-serial-terminal"]], "Hardware flow control": [[7, "hardware-flow-control"]], "EEPROM management": [[11, "eeprom-management"]], "Supported features": [[11, "supported-features"], [12, "supported-features"]], "EEPROM configuration tool": [[11, "eeprom-configuration-tool"]], "Option switches": [[11, "option-switches"]], "CBUS function": [[11, "cbus-function"]], "Examples": [[11, "examples"], [19, "examples"]], "Devices": [[12, "devices"]], "UART": [[12, "uart"]], "SPI master": [[12, "spi-master"]], "I2C master": [[12, "i2c-master"]], "JTAG": [[12, "jtag"]], "EEPROM": [[12, "eeprom"]], "Status": [[12, "status"]], "Other modes": [[13, "other-modes"]], "Definitions": [[13, "definitions"]], "Interfaces": [[13, "interfaces"]], "Ports": [[13, "ports"]], "GPIO value": [[13, "gpio-value"]], "Direction": [[13, "direction"]], "CBUS GPIOs": [[13, "cbus-gpios"]], "CBUS EEPROM configuration": [[13, "cbus-eeprom-configuration"]], "CBUS GPIO API": [[13, "cbus-gpio-api"]], "Configuration": [[13, "configuration"], [19, "configuration"]], "GPIO bitmap": [[13, "gpio-bitmap"]], "FT232H CBUS exception": [[13, "ft232h-cbus-exception"]], "Direction bitmap": [[13, "direction-bitmap"]], "Direction example": [[13, "direction-example"]], "Using GPIO APIs": [[13, "using-gpio-apis"]], "Setting GPIO pin state": [[13, "setting-gpio-pin-state"]], "Retrieving GPIO pin state": [[13, "retrieving-gpio-pin-state"]], "Modifying GPIO pin state": [[13, "modifying-gpio-pin-state"]], "Synchronous GPIO access": [[13, "synchronous-gpio-access"]], "CBUS GPIO access": [[13, "cbus-gpio-access"]], "Reserved pins": [[13, "reserved-pins"]], "GPIO pins vs. feature pins": [[13, "gpio-pins-vs-feature-pins"]], "Example": [[13, "example"]], "Installation": [[15, "installation"]], "Prerequisites": [[15, "prerequisites"]], "Debian/Ubuntu Linux": [[15, "debian-ubuntu-linux"]], "Homebrew macOS": [[15, "homebrew-macos"]], "Windows": [[15, "windows"]], "Zadig": [[15, "id1"]], "Python": [[15, "install-python"]], "Python dependencies": [[15, "python-dependencies"]], "Installing with PIP": [[15, "installing-with-pip"]], "Installing from source": [[15, "installing-from-source"]], "Generating the documentation": [[15, "generating-the-documentation"]], "Post-installation sanity check": [[15, "post-installation-sanity-check"]], "Custom USB vendor and product IDs": [[15, "custom-usb-vendor-and-product-ids"]], "Custom PID": [[15, "custom-pid"]], "Custom VID": [[15, "custom-vid"]], "License": [[16, "license"]], "BSD 3-clause": [[16, "bsd-3-clause"]], "FTDI device pinout": [[17, "ftdi-device-pinout"]], "Requirements": [[18, "requirements"]], "Development": [[18, "development"]], "API breaks": [[18, "api-breaks"]], "Legacy Python support": [[18, "legacy-python-support"]], "Testing": [[19, "testing"]], "Hardware tests": [[19, "hardware-tests"]], "Virtual test framework": [[19, "virtual-test-framework"]], "Beware: WIP": [[19, "beware-wip"]], "EEPROM content": [[19, "eeprom-content"]], "Availability": [[19, "availability"]], "Tools": [[20, "tools"]], "Scripts": [[20, "scripts"]], "ftdi_urls": [[20, "ftdi-urls"]], "ftconf": [[20, "ftconf"]], "i2cscan": [[20, "i2cscan"]], "pyterm": [[20, "pyterm"]], "Where to find these tools?": [[20, "where-to-find-these-tools"]], "Common options switches": [[20, "common-options-switches"]], "Troubleshooting": [[21, "troubleshooting"]], "Reporting a bug": [[21, "reporting-a-bug"]], "Logging": [[21, "logging"]], "Common error messages": [[21, "common-error-messages"]], "\u201cError: No backend available\u201d": [[21, "error-no-backend-available"]], "\u201cError: Access denied (insufficient permissions)\u201d": [[21, "error-access-denied-insufficient-permissions"]], "\u201cError: The device has no langid\u201d": [[21, "error-the-device-has-no-langid"]], "\u201cBus error / Access violation\u201d": [[21, "bus-error-access-violation"]], "\u201cserial.serialutil.SerialException: Unable to open USB port\u201d": [[21, "serial-serialutil-serialexception-unable-to-open-usb-port"]], "Slow initialisation on OS X El Capitan": [[21, "slow-initialisation-on-os-x-el-capitan"]], "URL Scheme": [[22, "url-scheme"]], "Opening a connection": [[22, "opening-a-connection"]], "URL-based methods to open a connection": [[22, "url-based-methods-to-open-a-connection"]], "Device-based methods to open a connection": [[22, "device-based-methods-to-open-a-connection"]], "Legacy methods to open a connection": [[22, "legacy-methods-to-open-a-connection"]]}, "indexentries": {"cbus (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.CBUS"]], "cbush (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.CBUSH"]], "cbusx (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.CBUSX"]], "cfg1 (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.CFG1"]], "channel (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.CHANNEL"]], "drive (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.DRIVE"]], "ftdieeprom (class in pyftdi.eeprom)": [[0, "pyftdi.eeprom.FtdiEeprom"]], "ftdieepromerror": [[0, "pyftdi.eeprom.FtdiEepromError"]], "uart_bits (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.UART_BITS"]], "var_strings (pyftdi.eeprom.ftdieeprom attribute)": [[0, "pyftdi.eeprom.FtdiEeprom.VAR_STRINGS"]], "cbus_mask (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.cbus_mask"]], "cbus_pins (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.cbus_pins"]], "close() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.close"]], "commit() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.commit"]], "connect() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.connect"]], "data (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.data"]], "default_size (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.default_size"]], "device_version (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.device_version"]], "dump_config() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.dump_config"]], "enable_mirroring() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.enable_mirroring"]], "erase() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.erase"]], "has_mirroring (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.has_mirroring"]], "initialize() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.initialize"]], "is_empty (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.is_empty"]], "is_mirroring_enabled (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.is_mirroring_enabled"]], "load_config() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.load_config"]], "mirror_sector (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.mirror_sector"]], "module": [[0, "module-pyftdi.eeprom"], [1, "module-pyftdi.ftdi"], [2, "module-pyftdi.gpio"], [3, "module-pyftdi.i2c"], [5, "module-pyftdi.misc"], [6, "module-pyftdi.spi"], [8, "module-pyftdi.usbtools"]], "open() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.open"]], "properties (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.properties"]], "pyftdi.eeprom": [[0, "module-pyftdi.eeprom"]], "reset_device() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.reset_device"]], "save_config() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.save_config"]], "set_manufacturer_name() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.set_manufacturer_name"]], "set_product_name() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.set_product_name"]], "set_property() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.set_property"]], "set_serial_number() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.set_serial_number"]], "set_test_mode() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.set_test_mode"]], "size (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.size"]], "storage_size (pyftdi.eeprom.ftdieeprom property)": [[0, "pyftdi.eeprom.FtdiEeprom.storage_size"]], "sync() (pyftdi.eeprom.ftdieeprom method)": [[0, "pyftdi.eeprom.FtdiEeprom.sync"]], "default_vendor (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.DEFAULT_VENDOR"]], "device_names (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.DEVICE_NAMES"]], "fifo_sizes (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.FIFO_SIZES"]], "ftdi_vendor (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.FTDI_VENDOR"]], "ftdi (class in pyftdi.ftdi)": [[1, "pyftdi.ftdi.Ftdi"]], "ftdi.bitmode (class in pyftdi.ftdi)": [[1, "pyftdi.ftdi.Ftdi.BitMode"]], "ftdierror": [[1, "pyftdi.ftdi.FtdiError"]], "ftdifeatureerror": [[1, "pyftdi.ftdi.FtdiFeatureError"]], "ftdimpsseerror": [[1, "pyftdi.ftdi.FtdiMpsseError"]], "product_ids (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.PRODUCT_IDS"]], "scheme (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.SCHEME"]], "vendor_ids (pyftdi.ftdi.ftdi attribute)": [[1, "pyftdi.ftdi.Ftdi.VENDOR_IDS"]], "add_custom_product() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.add_custom_product"]], "add_custom_vendor() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.add_custom_vendor"]], "baudrate (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.baudrate"]], "bitbang_enabled (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.bitbang_enabled"]], "calc_eeprom_checksum() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.calc_eeprom_checksum"]], "close() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.close"]], "create_from_url() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.create_from_url"]], "decode_modem_status() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.decode_modem_status"]], "device_port_count (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.device_port_count"]], "device_version (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.device_version"]], "enable_3phase_clock() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.enable_3phase_clock"]], "enable_adaptive_clock() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.enable_adaptive_clock"]], "enable_drivezero_mode() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.enable_drivezero_mode"]], "enable_loopback_mode() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.enable_loopback_mode"]], "fifo_sizes (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.fifo_sizes"]], "find_all() (pyftdi.ftdi.ftdi static method)": [[1, "pyftdi.ftdi.Ftdi.find_all"]], "frequency_max (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.frequency_max"]], "get_cbus_gpio() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_cbus_gpio"]], "get_cd() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_cd"]], "get_cts() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_cts"]], "get_device() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.get_device"]], "get_dsr() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_dsr"]], "get_error_string() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.get_error_string"]], "get_identifiers() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.get_identifiers"]], "get_latency_timer() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_latency_timer"]], "get_ri() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.get_ri"]], "has_cbus (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.has_cbus"]], "has_drivezero (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.has_drivezero"]], "has_mpsse (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.has_mpsse"]], "has_wide_port (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.has_wide_port"]], "ic_name (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.ic_name"]], "is_h_series (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_H_series"]], "is_bitbang_enabled (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_bitbang_enabled"]], "is_connected (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_connected"]], "is_eeprom_internal (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_eeprom_internal"]], "is_legacy (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_legacy"]], "is_mpsse (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.is_mpsse"]], "is_mpsse_interface() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.is_mpsse_interface"]], "list_devices() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.list_devices"]], "max_eeprom_size (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.max_eeprom_size"]], "modem_status() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.modem_status"]], "mpsse_bit_delay (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.mpsse_bit_delay"]], "open() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open"]], "open_bitbang() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_bitbang"]], "open_bitbang_from_device() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_bitbang_from_device"]], "open_bitbang_from_url() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_bitbang_from_url"]], "open_from_device() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_from_device"]], "open_from_url() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_from_url"]], "open_mpsse() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_mpsse"]], "open_mpsse_from_device() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_mpsse_from_device"]], "open_mpsse_from_url() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.open_mpsse_from_url"]], "overwrite_eeprom() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.overwrite_eeprom"]], "poll_modem_status() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.poll_modem_status"]], "port_index (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.port_index"]], "port_width (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.port_width"]], "purge_buffers() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.purge_buffers"]], "purge_rx_buffer() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.purge_rx_buffer"]], "purge_tx_buffer() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.purge_tx_buffer"]], "pyftdi.ftdi": [[1, "module-pyftdi.ftdi"]], "read_data() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_data"]], "read_data_bytes() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_data_bytes"]], "read_data_get_chunksize() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_data_get_chunksize"]], "read_data_set_chunksize() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_data_set_chunksize"]], "read_eeprom() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_eeprom"]], "read_pins() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.read_pins"]], "reset() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.reset"]], "set_baudrate() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_baudrate"]], "set_bitmode() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_bitmode"]], "set_break() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_break"]], "set_cbus_direction() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_cbus_direction"]], "set_cbus_gpio() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_cbus_gpio"]], "set_dtr() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_dtr"]], "set_dtr_rts() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_dtr_rts"]], "set_dynamic_latency() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_dynamic_latency"]], "set_error_char() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_error_char"]], "set_event_char() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_event_char"]], "set_flowctrl() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_flowctrl"]], "set_frequency() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_frequency"]], "set_latency_timer() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_latency_timer"]], "set_line_property() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_line_property"]], "set_rts() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.set_rts"]], "show_devices() (pyftdi.ftdi.ftdi class method)": [[1, "pyftdi.ftdi.Ftdi.show_devices"]], "usb_dev (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.usb_dev"]], "usb_path (pyftdi.ftdi.ftdi property)": [[1, "pyftdi.ftdi.Ftdi.usb_path"]], "validate_mpsse() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.validate_mpsse"]], "write_data() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.write_data"]], "write_data_get_chunksize() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.write_data_get_chunksize"]], "write_data_set_chunksize() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.write_data_set_chunksize"]], "write_eeprom() (pyftdi.ftdi.ftdi method)": [[1, "pyftdi.ftdi.Ftdi.write_eeprom"]], "gpioasynccontroller (class in pyftdi.gpio)": [[2, "pyftdi.gpio.GpioAsyncController"]], "gpioexception": [[2, "pyftdi.gpio.GpioException"]], "gpiompssecontroller (class in pyftdi.gpio)": [[2, "pyftdi.gpio.GpioMpsseController"]], "gpioport (class in pyftdi.gpio)": [[2, "pyftdi.gpio.GpioPort"]], "gpiosynccontroller (class in pyftdi.gpio)": [[2, "pyftdi.gpio.GpioSyncController"]], "exchange() (pyftdi.gpio.gpiosynccontroller method)": [[2, "pyftdi.gpio.GpioSyncController.exchange"]], "open_from_url() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.open_from_url"]], "pyftdi.gpio": [[2, "module-pyftdi.gpio"]], "read() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.read"]], "read() (pyftdi.gpio.gpiompssecontroller method)": [[2, "pyftdi.gpio.GpioMpsseController.read"]], "read_port() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.read_port"]], "set_frequency() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.set_frequency"]], "set_frequency() (pyftdi.gpio.gpiompssecontroller method)": [[2, "pyftdi.gpio.GpioMpsseController.set_frequency"]], "set_frequency() (pyftdi.gpio.gpiosynccontroller method)": [[2, "pyftdi.gpio.GpioSyncController.set_frequency"]], "write() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.write"]], "write() (pyftdi.gpio.gpiompssecontroller method)": [[2, "pyftdi.gpio.GpioMpsseController.write"]], "write_port() (pyftdi.gpio.gpioasynccontroller method)": [[2, "pyftdi.gpio.GpioAsyncController.write_port"]], "i2ccontroller (class in pyftdi.i2c)": [[3, "pyftdi.i2c.I2cController"]], "i2cgpioport (class in pyftdi.i2c)": [[3, "pyftdi.i2c.I2cGpioPort"]], "i2cioerror": [[3, "pyftdi.i2c.I2cIOError"]], "i2cnackerror": [[3, "pyftdi.i2c.I2cNackError"]], "i2cport (class in pyftdi.i2c)": [[3, "pyftdi.i2c.I2cPort"]], "i2ctimeouterror": [[3, "pyftdi.i2c.I2cTimeoutError"]], "address (pyftdi.i2c.i2cport property)": [[3, "pyftdi.i2c.I2cPort.address"]], "all_pins (pyftdi.i2c.i2cgpioport property)": [[3, "pyftdi.i2c.I2cGpioPort.all_pins"]], "close() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.close"]], "configure() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.configure"]], "configure_register() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.configure_register"]], "configured (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.configured"]], "direction (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.direction"]], "direction (pyftdi.i2c.i2cgpioport property)": [[3, "pyftdi.i2c.I2cGpioPort.direction"]], "exchange() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.exchange"]], "exchange() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.exchange"]], "flush() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.flush"]], "flush() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.flush"]], "force_clock_mode() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.force_clock_mode"]], "frequency (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.frequency"]], "frequency (pyftdi.i2c.i2cport property)": [[3, "pyftdi.i2c.I2cPort.frequency"]], "frequency_max (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.frequency_max"]], "ftdi (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.ftdi"]], "get_gpio() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.get_gpio"]], "get_port() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.get_port"]], "gpio_all_pins (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.gpio_all_pins"]], "gpio_pins (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.gpio_pins"]], "pins (pyftdi.i2c.i2cgpioport property)": [[3, "pyftdi.i2c.I2cGpioPort.pins"]], "poll() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.poll"]], "poll() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.poll"]], "poll_cond() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.poll_cond"]], "poll_cond() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.poll_cond"]], "pyftdi.i2c": [[3, "module-pyftdi.i2c"]], "read() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.read"]], "read() (pyftdi.i2c.i2cgpioport method)": [[3, "pyftdi.i2c.I2cGpioPort.read"]], "read() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.read"]], "read_from() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.read_from"]], "read_gpio() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.read_gpio"]], "set_direction() (pyftdi.i2c.i2cgpioport method)": [[3, "pyftdi.i2c.I2cGpioPort.set_direction"]], "set_gpio_direction() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.set_gpio_direction"]], "set_retry_count() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.set_retry_count"]], "shift_address() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.shift_address"]], "terminate() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.terminate"]], "validate_address() (pyftdi.i2c.i2ccontroller class method)": [[3, "pyftdi.i2c.I2cController.validate_address"]], "width (pyftdi.i2c.i2ccontroller property)": [[3, "pyftdi.i2c.I2cController.width"]], "width (pyftdi.i2c.i2cgpioport property)": [[3, "pyftdi.i2c.I2cGpioPort.width"]], "write() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.write"]], "write() (pyftdi.i2c.i2cgpioport method)": [[3, "pyftdi.i2c.I2cGpioPort.write"]], "write() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.write"]], "write_gpio() (pyftdi.i2c.i2ccontroller method)": [[3, "pyftdi.i2c.I2cController.write_gpio"]], "write_to() (pyftdi.i2c.i2cport method)": [[3, "pyftdi.i2c.I2cPort.write_to"]], "easydict (class in pyftdi.misc)": [[5, "pyftdi.misc.EasyDict"]], "add_custom_devices() (in module pyftdi.misc)": [[5, "pyftdi.misc.add_custom_devices"]], "classproperty (class in pyftdi.misc)": [[5, "pyftdi.misc.classproperty"]], "copy() (pyftdi.misc.easydict class method)": [[5, "pyftdi.misc.EasyDict.copy"]], "hexdump() (in module pyftdi.misc)": [[5, "pyftdi.misc.hexdump"]], "hexline() (in module pyftdi.misc)": [[5, "pyftdi.misc.hexline"]], "is_iterable() (in module pyftdi.misc)": [[5, "pyftdi.misc.is_iterable"]], "mirror() (pyftdi.misc.easydict method)": [[5, "pyftdi.misc.EasyDict.mirror"]], "pretty_size() (in module pyftdi.misc)": [[5, "pyftdi.misc.pretty_size"]], "pyftdi.misc": [[5, "module-pyftdi.misc"]], "show_call_stack() (in module pyftdi.misc)": [[5, "pyftdi.misc.show_call_stack"]], "to_bool() (in module pyftdi.misc)": [[5, "pyftdi.misc.to_bool"]], "to_bps() (in module pyftdi.misc)": [[5, "pyftdi.misc.to_bps"]], "to_int() (in module pyftdi.misc)": [[5, "pyftdi.misc.to_int"]], "xor() (in module pyftdi.misc)": [[5, "pyftdi.misc.xor"]], "spicontroller (class in pyftdi.spi)": [[6, "pyftdi.spi.SpiController"]], "spigpioport (class in pyftdi.spi)": [[6, "pyftdi.spi.SpiGpioPort"]], "spiioerror": [[6, "pyftdi.spi.SpiIOError"]], "spiport (class in pyftdi.spi)": [[6, "pyftdi.spi.SpiPort"]], "active_channels (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.active_channels"]], "all_pins (pyftdi.spi.spigpioport property)": [[6, "pyftdi.spi.SpiGpioPort.all_pins"]], "channels (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.channels"]], "close() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.close"]], "configure() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.configure"]], "configured (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.configured"]], "cs (pyftdi.spi.spiport property)": [[6, "pyftdi.spi.SpiPort.cs"]], "direction (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.direction"]], "direction (pyftdi.spi.spigpioport property)": [[6, "pyftdi.spi.SpiGpioPort.direction"]], "exchange() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.exchange"]], "exchange() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.exchange"]], "flush() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.flush"]], "flush() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.flush"]], "force_control() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.force_control"]], "force_select() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.force_select"]], "frequency (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.frequency"]], "frequency (pyftdi.spi.spiport property)": [[6, "pyftdi.spi.SpiPort.frequency"]], "frequency_max (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.frequency_max"]], "ftdi (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.ftdi"]], "get_gpio() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.get_gpio"]], "get_port() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.get_port"]], "gpio_all_pins (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.gpio_all_pins"]], "gpio_pins (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.gpio_pins"]], "is_inverted_cpha_supported (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.is_inverted_cpha_supported"]], "mode (pyftdi.spi.spiport property)": [[6, "pyftdi.spi.SpiPort.mode"]], "pins (pyftdi.spi.spigpioport property)": [[6, "pyftdi.spi.SpiGpioPort.pins"]], "pyftdi.spi": [[6, "module-pyftdi.spi"]], "read() (pyftdi.spi.spigpioport method)": [[6, "pyftdi.spi.SpiGpioPort.read"]], "read() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.read"]], "read_gpio() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.read_gpio"]], "set_direction() (pyftdi.spi.spigpioport method)": [[6, "pyftdi.spi.SpiGpioPort.set_direction"]], "set_frequency() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.set_frequency"]], "set_gpio_direction() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.set_gpio_direction"]], "set_mode() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.set_mode"]], "terminate() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.terminate"]], "width (pyftdi.spi.spicontroller property)": [[6, "pyftdi.spi.SpiController.width"]], "width (pyftdi.spi.spigpioport property)": [[6, "pyftdi.spi.SpiGpioPort.width"]], "write() (pyftdi.spi.spigpioport method)": [[6, "pyftdi.spi.SpiGpioPort.write"]], "write() (pyftdi.spi.spiport method)": [[6, "pyftdi.spi.SpiPort.write"]], "write_gpio() (pyftdi.spi.spicontroller method)": [[6, "pyftdi.spi.SpiController.write_gpio"]], "usbtools (class in pyftdi.usbtools)": [[8, "pyftdi.usbtools.UsbTools"]], "usbtoolserror": [[8, "pyftdi.usbtools.UsbToolsError"]], "build_dev_strings() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.build_dev_strings"]], "enumerate_candidates() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.enumerate_candidates"]], "find_all() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.find_all"]], "find_backend() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.find_backend"]], "flush_cache() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.flush_cache"]], "get_device() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.get_device"]], "get_string() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.get_string"]], "list_devices() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.list_devices"]], "parse_url() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.parse_url"]], "pyftdi.usbtools": [[8, "module-pyftdi.usbtools"]], "release_all_devices() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.release_all_devices"]], "release_device() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.release_device"]], "show_devices() (pyftdi.usbtools.usbtools class method)": [[8, "pyftdi.usbtools.UsbTools.show_devices"]]}}) \ No newline at end of file