Squishy Rev2 Bootloader

+

This module contains the implementation of the rev2 hardware-specific bootloader.

+
+
The rev2 hardware has a more complex boot process due to the following reasons:
    +
  • The addition of a supervisor MCU

  • +
  • The presence of a shared PSRAM between the supervisor and the FPGA

  • +
+
+
+

As such, there is a boot protocol that has to be established between the supervisor and the FPGA.

Bootloader Protocol

Squishy Rev2 has a little bit of a complicated boot protocol due to the use of a platform supervisor, @@ -436,7 +445,7 @@

Bootloader Mode +
  1. Check FPGA configuration status

  2. let the FPGA boot into new bitstream

diff --git a/objects.inv b/objects.inv index 0f98c7f..33ed0b1 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/searchindex.js b/searchindex.js index 77c88b7..7138a98 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"About": [[47, "about"]], "Analyzer Applet": [[0, null]], "Anatomy of a SCSI Bus": [[27, "anatomy-of-a-scsi-bus"]], "Applet API": [[15, null]], "Applet Mode": [[19, "applet-mode"]], "Applet Search Locations": [[15, "applet-search-locations"]], "Applets": [[1, null], [16, null], [49, "applets"]], "Bootloader": [[17, null]], "Bootloader Mode": [[19, "bootloader-mode"]], "Bootloader Protocol": [[19, "bootloader-protocol"]], "Building Hardware": [[7, "building-hardware"]], "Buying Hardware": [[7, "buying-hardware"]], "CLI": [[3, null]], "Capabilities": [[8, "capabilities"], [9, "capabilities"]], "Changelog": [[2, null]], "Commands": [[38, null]], "Common": [[36, null]], "Community": [[10, "community"]], "Comparison": [[10, "comparison"]], "Connecting the Hardware": [[6, "connecting-the-hardware"]], "Core": [[20, null]], "Core Components": [[33, null]], "Custom Applets": [[48, null]], "Device": [[44, null]], "Direct-Access": [[37, null]], "Errata": [[8, "errata"]], "Examples": [[38, null]], "Extra Utilities": [[4, null]], "Flashing the Image": [[50, "flashing-the-image"]], "Frequently Asked Questions": [[5, null]], "Gateware": [[12, "gateware"]], "Gateware Library": [[21, null], [49, "gateware-library"]], "Generating the Initial Image": [[50, "generating-the-initial-image"]], "Getting Squishy Hardware": [[7, "getting-squishy-hardware"]], "Getting Started": [[6, null]], "Hardware": [[7, null], [12, "hardware"]], "Hardware Platforms": [[23, null]], "Hardware Usage": [[49, "hardware-usage"]], "Images": [[47, "images"]], "Installation": [[11, null]], "Installing": [[4, "installing"]], "Installing Prerequisites": [[11, "installing-prerequisites"]], "Installing Python": [[11, "installing-python"]], "Installing Squishy": [[11, "installing-squishy"]], "Installing Yosys and nextpnr": [[11, "installing-yosys-and-nextpnr"]], "Introduction": [[12, null]], "License": [[47, "license"]], "Mascot - Sachi": [[47, null]], "Messages": [[46, null]], "Native Install": [[11, "native-install"]], "Notes": [[31, null], [31, null]], "Overview": [[12, "overview"]], "PCAPNG Writer": [[34, null]], "Peripherals": [[22, null]], "Platform Resources": [[24, null]], "Printer": [[39, null]], "Processor": [[40, null]], "Provisioning a New Device": [[50, null]], "Provisioning the Hardware": [[7, "provisioning-the-hardware"]], "Python Library": [[35, null], [49, "python-library"]], "Read-Only Direct-Access": [[41, null]], "Rev1": [[25, null]], "Rev1 Release 0": [[8, "rev1-release-0"]], "Rev1 Release 1": [[8, "rev1-release-1"]], "Rev2": [[26, null]], "Revision 1": [[8, null]], "Revision 2": [[9, null]], "SCSI": [[27, null], [45, null]], "SCSI Quirks": [[28, null]], "Sequential": [[42, null]], "Shell Completions": [[3, "shell-completions"]], "Software": [[12, "software"]], "Software Usage": [[49, "software-usage"]], "Squishy Applet": [[13, null]], "Squishy Device": [[14, null]], "Squishy Rev1 Bootloader": [[18, null]], "Squishy Rev2 Bootloader": [[19, null]], "Squishy as a Library": [[32, null]], "Squishy: The SCSI Multitool": [[10, null]], "System Requirements": [[11, "system-requirements"]], "Test Harness": [[29, null]], "Todo": [[0, "id1"], [1, "id1"], [3, "id1"], [6, "id1"], [6, "id2"], [7, "id1"], [8, "id1"], [9, "id1"], [12, "id1"], [13, "id1"], [14, "id1"], [15, "id1"], [27, "id1"], [36, "id1"], [36, "id2"], [36, "id3"], [36, "id4"], [36, "id5"], [45, "id1"], [46, "id1"], [48, "id1"], [49, "id1"], [49, "id2"], [49, "id3"], [49, "id4"], [49, "id5"]], "Tutorials": [[49, null]], "USB": [[30, null]], "USB Quirks": [[31, null]], "Unreleased": [[2, "unreleased"]], "Updating Squishy": [[51, null]], "Using": [[4, "using"]], "Using the CLI": [[6, "using-the-cli"]], "WORM": [[43, null]], "What Squishy Is": [[10, "what-squishy-is"]], "What Squishy Isn\u2019t": [[10, "what-squishy-isn-t"]], "Why Does Squishy not have a Discord?": [[5, "why-does-squishy-not-have-a-discord"]], "Why is Squishy so complex?": [[5, "why-is-squishy-so-complex"]], "Why is Squishy so expensive?": [[5, "why-is-squishy-so-expensive"]], "Why is Squishy using Torii rather than Amaranth or another HDL?": [[5, "why-is-squishy-using-torii-rather-than-amaranth-or-another-hdl"]], "Why should I use Squishy rather than one of the other SCSI projects?": [[5, "why-should-i-use-squishy-rather-than-one-of-the-other-scsi-projects"]], "Work-In-Progress Hardware": [[7, "work-in-progress-hardware"]], "scsidump": [[4, "scsidump"]]}, "docnames": ["applets/analyzer", "applets/index", "changelog", "cli", "extra", "faq", "getting_started", "hardware/index", "hardware/rev1", "hardware/rev2", "index", "install", "introduction", "library/applet/applet", "library/applet/device", "library/applet/index", "library/gateware/applet/index", "library/gateware/bootloader/index", "library/gateware/bootloader/rev1", "library/gateware/bootloader/rev2", "library/gateware/core/index", "library/gateware/index", "library/gateware/peripherals/index", "library/gateware/platform/index", "library/gateware/platform/resources", "library/gateware/platform/rev1", "library/gateware/platform/rev2", "library/gateware/scsi/index", "library/gateware/scsi/quirks/index", "library/gateware/test", "library/gateware/usb/index", "library/gateware/usb/quirks/index", "library/index", "library/python/core/index", "library/python/core/pcapng", "library/python/index", "library/python/scsi/commands/common", "library/python/scsi/commands/direct", "library/python/scsi/commands/index", "library/python/scsi/commands/printer", "library/python/scsi/commands/processor", "library/python/scsi/commands/ro_direct", "library/python/scsi/commands/sequential", "library/python/scsi/commands/worm", "library/python/scsi/device", "library/python/scsi/index", "library/python/scsi/messages", "mascot", "tutorials/applets/index", "tutorials/index", "tutorials/provisioning", "tutorials/updating"], "envversion": {"sphinx": 64, "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.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["applets/analyzer.md", "applets/index.md", "changelog.md", "cli.md", "extra.md", "faq.md", "getting_started.md", "hardware/index.md", "hardware/rev1.md", "hardware/rev2.md", "index.md", "install.md", "introduction.md", "library/applet/applet.md", "library/applet/device.md", "library/applet/index.md", "library/gateware/applet/index.md", "library/gateware/bootloader/index.md", "library/gateware/bootloader/rev1.md", "library/gateware/bootloader/rev2.md", "library/gateware/core/index.md", "library/gateware/index.md", "library/gateware/peripherals/index.md", "library/gateware/platform/index.md", "library/gateware/platform/resources.md", "library/gateware/platform/rev1.md", "library/gateware/platform/rev2.md", "library/gateware/scsi/index.md", "library/gateware/scsi/quirks/index.md", "library/gateware/test.md", "library/gateware/usb/index.md", "library/gateware/usb/quirks/index.md", "library/index.md", "library/python/core/index.md", "library/python/core/pcapng.md", "library/python/index.md", "library/python/scsi/commands/common.md", "library/python/scsi/commands/direct.md", "library/python/scsi/commands/index.md", "library/python/scsi/commands/printer.md", "library/python/scsi/commands/processor.md", "library/python/scsi/commands/ro_direct.md", "library/python/scsi/commands/sequential.md", "library/python/scsi/commands/worm.md", "library/python/scsi/device.md", "library/python/scsi/index.md", "library/python/scsi/messages.md", "mascot.md", "tutorials/applets/index.md", "tutorials/index.md", "tutorials/provisioning.md", "tutorials/updating.md"], "indexentries": {"abort (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.ABORT", false]], "all_resources_by_name() (squishy.gateware.platform.squishyplatform method)": [[23, "squishy.gateware.platform.SquishyPlatform.all_resources_by_name", false]], "all_resources_by_name() (squishy.gateware.squishyplatform method)": [[21, "squishy.gateware.SquishyPlatform.all_resources_by_name", false]], "appletelaboratable (class in squishy.gateware.applet)": [[16, "squishy.gateware.applet.AppletElaboratable", false]], "bitstream_suffix (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.bitstream_suffix", false]], "bitstream_suffix (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.bitstream_suffix", false]], "both (squishy.gateware.peripherals.spi.spiinterfacemode attribute)": [[22, "squishy.gateware.peripherals.spi.SPIInterfaceMode.BOTH", false]], "build_image() (squishy.gateware.platform.rev1.squishyrev1 method)": [[25, "squishy.gateware.platform.rev1.SquishyRev1.build_image", false]], "build_image() (squishy.gateware.platform.rev2.squishyrev2 method)": [[26, "squishy.gateware.platform.rev2.SquishyRev2.build_image", false]], "build_image() (squishy.gateware.platform.squishyplatform method)": [[23, "squishy.gateware.platform.SquishyPlatform.build_image", false]], "build_image() (squishy.gateware.squishyplatform method)": [[21, "squishy.gateware.SquishyPlatform.build_image", false]], "bus_dev_reset (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.BUS_DEV_RESET", false]], "can_dfu() (squishy.device.squishydevice method)": [[14, "squishy.device.SquishyDevice.can_dfu", false]], "clk_domain_generator (squishy.gateware.platform.rev1.squishyrev1 attribute)": [[25, "squishy.gateware.platform.rev1.SquishyRev1.clk_domain_generator", false]], "clk_domain_generator (squishy.gateware.platform.rev2.squishyrev2 attribute)": [[26, "squishy.gateware.platform.rev2.SquishyRev2.clk_domain_generator", false]], "clk_domain_generator (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.clk_domain_generator", false]], "clk_domain_generator (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.clk_domain_generator", false]], "command_complete (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.COMMAND_COMPLETE", false]], "commandemitter (class in squishy.scsi.command)": [[38, "squishy.scsi.command.CommandEmitter", false]], "compare (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.Compare", false]], "controller (squishy.gateware.peripherals.spi.spiinterfacemode attribute)": [[22, "squishy.gateware.peripherals.spi.SPIInterfaceMode.CONTROLLER", false]], "copy (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.Copy", false]], "copyandverify (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.CopyAndVerify", false]], "crc16() (squishy.support.test.usbgatewarephytest static method)": [[29, "squishy.support.test.USBGatewarePHYTest.crc16", false]], "crc16_buff() (squishy.support.test.usbgatewarephytest static method)": [[29, "squishy.support.test.USBGatewarePHYTest.crc16_buff", false]], "crc5() (squishy.support.test.usbgatewarephytest static method)": [[29, "squishy.support.test.USBGatewarePHYTest.crc5", false]], "description (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.description", false]], "dfugatewaretest (class in squishy.support.test)": [[29, "squishy.support.test.DFUGatewareTest", false]], "dfurequesthandler (class in squishy.gateware.usb.dfu)": [[30, "squishy.gateware.usb.dfu.DFURequestHandler", false]], "directaccess (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.DirectAccess", false]], "disconnect (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.DISCONNECT", false]], "elaborate() (squishy.gateware.applet.appletelaboratable method)": [[16, "squishy.gateware.applet.AppletElaboratable.elaborate", false]], "emit() (squishy.scsi.command.commandemitter method)": [[38, "squishy.scsi.command.CommandEmitter.emit", false]], "emit_header() (squishy.core.pcapng.pcapngstream method)": [[34, "squishy.core.pcapng.PCAPNGStream.emit_header", false]], "emit_interface() (squishy.core.pcapng.pcapngstream method)": [[34, "squishy.core.pcapng.PCAPNGStream.emit_interface", false]], "ensure_stall() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.ensure_stall", false]], "enumerate() (squishy.device.squishydevice class method)": [[14, "squishy.device.SquishyDevice.enumerate", false]], "ephemeral_slot (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.ephemeral_slot", false]], "ephemeral_slot (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.ephemeral_slot", false]], "erase (squishy.gateware.peripherals.flash.spiflashop attribute)": [[22, "squishy.gateware.peripherals.flash.SPIFlashOp.ERASE", false]], "extended_ident (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.EXTENDED_IDENT", false]], "extended_message (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.EXTENDED_MESSAGE", false]], "extendedmessagecodes (class in squishy.scsi.messages)": [[46, "squishy.scsi.messages.ExtendedMessageCodes", false]], "falling (squishy.gateware.peripherals.spi.spicpha attribute)": [[22, "squishy.gateware.peripherals.spi.SPICPHA.FALLING", false]], "flash (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.flash", false]], "flash (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.flash", false]], "flush_buffer (in module squishy.scsi.commands.printer)": [[39, "squishy.scsi.commands.printer.flush_buffer", false]], "format_printer (in module squishy.scsi.commands.printer)": [[39, "squishy.scsi.commands.printer.format_printer", false]], "format_unit (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.format_unit", false]], "generate_serial() (squishy.device.squishydevice static method)": [[14, "squishy.device.SquishyDevice.generate_serial", false]], "get_altmodes() (squishy.device.squishydevice method)": [[14, "squishy.device.SquishyDevice.get_altmodes", false]], "get_device() (squishy.device.squishydevice class method)": [[14, "squishy.device.SquishyDevice.get_device", false]], "get_platform() (squishy.device.squishydevice method)": [[14, "squishy.device.SquishyDevice.get_platform", false]], "group0 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP0", false]], "group1 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP1", false]], "group2 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP2", false]], "group3 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP3", false]], "group4 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP4", false]], "group5 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP5", false]], "group6 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP6", false]], "group7 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP7", false]], "groupcode (class in squishy.scsi.command)": [[38, "squishy.scsi.command.GroupCode", false]], "handler_condition() (squishy.gateware.usb.quirks.windows.windowsrequesthandler method)": [[31, "squishy.gateware.usb.quirks.windows.WindowsRequestHandler.handler_condition", false]], "high (squishy.gateware.peripherals.spi.spicpol attribute)": [[22, "squishy.gateware.peripherals.spi.SPICPOL.HIGH", false]], "identify_end (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.IDENTIFY_END", false]], "identify_start (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.IDENTIFY_START", false]], "initialize() (squishy.applets.squishyapplet method)": [[13, "squishy.applets.SquishyApplet.initialize", false]], "inquiry (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.Inquiry", false]], "int_detect_err (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.INT_DETECT_ERR", false]], "is_supported() (squishy.applets.squishyapplet method)": [[13, "squishy.applets.SquishyApplet.is_supported", false]], "len() (squishy.scsi.command.scsicommand method)": [[38, "squishy.scsi.command.SCSICommand.len", false]], "link_cmd_com (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.LINK_CMD_COM", false]], "link_cmd_com_f (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.LINK_CMD_COM_F", false]], "logicalunitnotpresent (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.LogicalUnitNotPresent", false]], "low (squishy.gateware.peripherals.spi.spicpol attribute)": [[22, "squishy.gateware.peripherals.spi.SPICPOL.LOW", false]], "message_reject (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.MESSAGE_REJECT", false]], "messagecodes (class in squishy.scsi.messages)": [[46, "squishy.scsi.messages.MessageCodes", false]], "mode_select (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.mode_select", false]], "mode_sense (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.mode_sense", false]], "modify_data_ptr (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.MODIFY_DATA_PTR", false]], "module": [[0, "module-squishy.applets.analyzer", false], [16, "module-squishy.gateware.applet", false], [17, "module-squishy.gateware.bootloader", false], [18, "module-squishy.gateware.bootloader.rev1", false], [19, "module-squishy.gateware.bootloader.rev2", false], [20, "module-squishy.gateware.core", false], [21, "module-squishy.gateware", false], [22, "module-squishy.gateware.peripherals", false], [22, "module-squishy.gateware.peripherals.flash", false], [22, "module-squishy.gateware.peripherals.psram", false], [22, "module-squishy.gateware.peripherals.spi", false], [23, "module-squishy.gateware.platform", false], [24, "module-squishy.gateware.platform.resources", false], [25, "module-squishy.gateware.platform.rev1", false], [26, "module-squishy.gateware.platform.rev2", false], [27, "module-squishy.gateware.scsi", false], [28, "module-squishy.gateware.scsi.quirks", false], [29, "module-squishy.support.test", false], [30, "module-squishy.gateware.usb", false], [30, "module-squishy.gateware.usb.dfu", false], [31, "module-squishy.gateware.usb.quirks", false], [31, "module-squishy.gateware.usb.quirks.windows", false], [34, "module-squishy.core.pcapng", false], [36, "module-squishy.scsi.commands.common", false], [37, "module-squishy.scsi.commands.direct", false], [38, "module-squishy.scsi.command", false], [38, "module-squishy.scsi.commands", false], [39, "module-squishy.scsi.commands.printer", false], [40, "module-squishy.scsi.commands.processor", false], [41, "module-squishy.scsi.commands.ro_direct", false], [42, "module-squishy.scsi.commands.sequential", false], [43, "module-squishy.scsi.commands.worm", false], [44, "module-squishy.scsi.device", false], [45, "module-squishy.scsi", false], [46, "module-squishy.scsi.messages", false]], "msg_parity_err (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.MSG_PARITY_ERR", false]], "name (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.name", false]], "none (squishy.gateware.peripherals.flash.spiflashop attribute)": [[22, "squishy.gateware.peripherals.flash.SPIFlashOp.NONE", false]], "nop (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.NOP", false]], "pack_artifact() (squishy.gateware.platform.rev1.squishyrev1 method)": [[25, "squishy.gateware.platform.rev1.SquishyRev1.pack_artifact", false]], "pack_artifact() (squishy.gateware.platform.rev2.squishyrev2 method)": [[26, "squishy.gateware.platform.rev2.SquishyRev2.pack_artifact", false]], "pack_artifact() (squishy.gateware.platform.squishyplatform method)": [[23, "squishy.gateware.platform.SquishyPlatform.pack_artifact", false]], "pack_artifact() (squishy.gateware.squishyplatform method)": [[21, "squishy.gateware.SquishyPlatform.pack_artifact", false]], "parse() (squishy.scsi.command.scsicommand method)": [[38, "squishy.scsi.command.SCSICommand.parse", false]], "pcapngstream (class in squishy.core.pcapng)": [[34, "squishy.core.pcapng.PCAPNGStream", false]], "peripheral (squishy.gateware.peripherals.spi.spiinterfacemode attribute)": [[22, "squishy.gateware.peripherals.spi.SPIInterfaceMode.PERIPHERAL", false]], "peripheraldevicetype (class in squishy.scsi.device)": [[44, "squishy.scsi.device.PeripheralDeviceType", false]], "pll_cfg (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.pll_cfg", false]], "pll_cfg (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.pll_cfg", false]], "pnr_seed (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.pnr_seed", false]], "prevent_allow_media_removal (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.prevent_allow_media_removal", false]], "preview (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.preview", false]], "print_cmd (in module squishy.scsi.commands.printer)": [[39, "squishy.scsi.commands.printer.print_cmd", false]], "printer (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.Printer", false]], "processor (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.Processor", false]], "psramop (class in squishy.gateware.peripherals.psram)": [[22, "squishy.gateware.peripherals.psram.PSRAMOp", false]], "read (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.read", false]], "read (squishy.gateware.peripherals.flash.spiflashop attribute)": [[22, "squishy.gateware.peripherals.flash.SPIFlashOp.READ", false]], "read_capacity (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.read_capacity", false]], "readonlydirectaccess (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.ReadOnlyDirectAccess", false]], "reassign_blocks (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.reassign_blocks", false]], "receive_data() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.receive_data", false]], "receive_zlp() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.receive_zlp", false]], "receivediagnosticresults (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.ReceiveDiagnosticResults", false]], "register_args() (squishy.applets.squishyapplet method)": [[13, "squishy.applets.SquishyApplet.register_args", false]], "release (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.release", false]], "requestsense (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.RequestSense", false]], "reserve (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.reserve", false]], "reserved_end (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.RESERVED_END", false]], "reserved_end (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.RESERVED_END", false]], "reserved_start (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.RESERVED_START", false]], "reserved_start (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.RESERVED_START", false]], "reservedend (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.ReservedEnd", false]], "reservedstart (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.ReservedStart", false]], "reset() (squishy.device.squishydevice method)": [[14, "squishy.device.SquishyDevice.reset", false]], "restore_ptr (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.RESTORE_PTR", false]], "rev1 (class in squishy.gateware.bootloader.rev1)": [[18, "squishy.gateware.bootloader.rev1.Rev1", false]], "rev1clockdomaingenerator (class in squishy.gateware.platform.rev1)": [[25, "squishy.gateware.platform.rev1.Rev1ClockDomainGenerator", false]], "rev2 (class in squishy.gateware.bootloader.rev2)": [[19, "squishy.gateware.bootloader.rev2.Rev2", false]], "rev2clockdomaingenerator (class in squishy.gateware.platform.rev2)": [[26, "squishy.gateware.platform.rev2.Rev2ClockDomainGenerator", false]], "revision (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.revision", false]], "revision (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.revision", false]], "revision_str (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.revision_str", false]], "revision_str (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.revision_str", false]], "rezero_unit (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.rezero_unit", false]], "rising (squishy.gateware.peripherals.spi.spicpha attribute)": [[22, "squishy.gateware.peripherals.spi.SPICPHA.RISING", false]], "run() (squishy.applets.squishyapplet method)": [[13, "squishy.applets.SquishyApplet.run", false]], "save_data_ptr (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.SAVE_DATA_PTR", false]], "scsicommand (class in squishy.scsi.command)": [[38, "squishy.scsi.command.SCSICommand", false]], "scsicommand10 (class in squishy.scsi.command)": [[38, "squishy.scsi.command.SCSICommand10", false]], "scsicommand12 (class in squishy.scsi.command)": [[38, "squishy.scsi.command.SCSICommand12", false]], "scsicommand6 (class in squishy.scsi.command)": [[38, "squishy.scsi.command.SCSICommand6", false]], "scsicommandfield (class in squishy.scsi.command)": [[38, "squishy.scsi.command.SCSICommandField", false]], "search_data (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.search_data", false]], "seek (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.seek", false]], "send_data() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.send_data", false]], "send_dfu_detach() (squishy.support.test.dfugatewaretest method)": [[29, "squishy.support.test.DFUGatewareTest.send_dfu_detach", false]], "send_dfu_download() (squishy.support.test.dfugatewaretest method)": [[29, "squishy.support.test.DFUGatewareTest.send_dfu_download", false]], "send_dfu_get_state() (squishy.support.test.dfugatewaretest method)": [[29, "squishy.support.test.DFUGatewareTest.send_dfu_get_state", false]], "send_dfu_get_status() (squishy.support.test.dfugatewaretest method)": [[29, "squishy.support.test.DFUGatewareTest.send_dfu_get_status", false]], "send_get_desc() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.send_get_desc", false]], "send_setup() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.send_setup", false]], "send_setup_set_interface() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.send_setup_set_interface", false]], "senddiagnostic (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.SendDiagnostic", false]], "sequentialaccess (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.SequentialAccess", false]], "set_limits (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.set_limits", false]], "setup_received() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.setup_received", false]], "slew_and_print (in module squishy.scsi.commands.printer)": [[39, "squishy.scsi.commands.printer.slew_and_print", false]], "spicontroller (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPIController", false]], "spicpha (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPICPHA", false]], "spicpol (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPICPOL", false]], "spiflashop (class in squishy.gateware.peripherals.flash)": [[22, "squishy.gateware.peripherals.flash.SPIFlashOp", false]], "spigatewaretest (class in squishy.support.test)": [[29, "squishy.support.test.SPIGatewareTest", false]], "spiinterface (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPIInterface", false]], "spiinterfacemode (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPIInterfaceMode", false]], "spiperipheral (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPIPeripheral", false]], "spipsram (class in squishy.gateware.peripherals.psram)": [[22, "squishy.gateware.peripherals.psram.SPIPSRAM", false]], "spipsramcmd (class in squishy.gateware.peripherals.psram)": [[22, "squishy.gateware.peripherals.psram.SPIPSRAMCmd", false]], "squishy (class in squishy.gateware)": [[21, "squishy.gateware.Squishy", false]], "squishy.applets.analyzer": [[0, "module-squishy.applets.analyzer", false]], "squishy.core.pcapng": [[34, "module-squishy.core.pcapng", false]], "squishy.gateware": [[21, "module-squishy.gateware", false]], "squishy.gateware.applet": [[16, "module-squishy.gateware.applet", false]], "squishy.gateware.bootloader": [[17, "module-squishy.gateware.bootloader", false]], "squishy.gateware.bootloader.rev1": [[18, "module-squishy.gateware.bootloader.rev1", false]], "squishy.gateware.bootloader.rev2": [[19, "module-squishy.gateware.bootloader.rev2", false]], "squishy.gateware.core": [[20, "module-squishy.gateware.core", false]], "squishy.gateware.peripherals": [[22, "module-squishy.gateware.peripherals", false]], "squishy.gateware.peripherals.flash": [[22, "module-squishy.gateware.peripherals.flash", false]], "squishy.gateware.peripherals.psram": [[22, "module-squishy.gateware.peripherals.psram", false]], "squishy.gateware.peripherals.spi": [[22, "module-squishy.gateware.peripherals.spi", false]], "squishy.gateware.platform": [[23, "module-squishy.gateware.platform", false]], "squishy.gateware.platform.resources": [[24, "module-squishy.gateware.platform.resources", false]], "squishy.gateware.platform.rev1": [[25, "module-squishy.gateware.platform.rev1", false]], "squishy.gateware.platform.rev2": [[26, "module-squishy.gateware.platform.rev2", false]], "squishy.gateware.scsi": [[27, "module-squishy.gateware.scsi", false]], "squishy.gateware.scsi.quirks": [[28, "module-squishy.gateware.scsi.quirks", false]], "squishy.gateware.usb": [[30, "module-squishy.gateware.usb", false]], "squishy.gateware.usb.dfu": [[30, "module-squishy.gateware.usb.dfu", false]], "squishy.gateware.usb.quirks": [[31, "module-squishy.gateware.usb.quirks", false]], "squishy.gateware.usb.quirks.windows": [[31, "module-squishy.gateware.usb.quirks.windows", false]], "squishy.scsi": [[45, "module-squishy.scsi", false]], "squishy.scsi.command": [[38, "module-squishy.scsi.command", false]], "squishy.scsi.commands": [[38, "module-squishy.scsi.commands", false]], "squishy.scsi.commands.common": [[36, "module-squishy.scsi.commands.common", false]], "squishy.scsi.commands.direct": [[37, "module-squishy.scsi.commands.direct", false]], "squishy.scsi.commands.printer": [[39, "module-squishy.scsi.commands.printer", false]], "squishy.scsi.commands.processor": [[40, "module-squishy.scsi.commands.processor", false]], "squishy.scsi.commands.ro_direct": [[41, "module-squishy.scsi.commands.ro_direct", false]], "squishy.scsi.commands.sequential": [[42, "module-squishy.scsi.commands.sequential", false]], "squishy.scsi.commands.worm": [[43, "module-squishy.scsi.commands.worm", false]], "squishy.scsi.device": [[44, "module-squishy.scsi.device", false]], "squishy.scsi.messages": [[46, "module-squishy.scsi.messages", false]], "squishy.support.test": [[29, "module-squishy.support.test", false]], "squishyapplet (class in squishy.applets)": [[13, "squishy.applets.SquishyApplet", false]], "squishybootloader (class in squishy.gateware)": [[21, "squishy.gateware.SquishyBootloader", false]], "squishybootloader (class in squishy.gateware.bootloader)": [[17, "squishy.gateware.bootloader.SquishyBootloader", false]], "squishydevice (class in squishy.device)": [[14, "squishy.device.SquishyDevice", false]], "squishygatewaretest (class in squishy.support.test)": [[29, "squishy.support.test.SquishyGatewareTest", false]], "squishyplatform (class in squishy.gateware)": [[21, "squishy.gateware.SquishyPlatform", false]], "squishyplatform (class in squishy.gateware.platform)": [[23, "squishy.gateware.platform.SquishyPlatform", false]], "squishyrev1 (class in squishy.gateware.platform.rev1)": [[25, "squishy.gateware.platform.rev1.SquishyRev1", false]], "squishyrev2 (class in squishy.gateware.platform.rev2)": [[26, "squishy.gateware.platform.rev2.SquishyRev2", false]], "start_stop_unit (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.start_stop_unit", false]], "supported_platforms (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.supported_platforms", false]], "sync_data_xfr_req (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.SYNC_DATA_XFR_REQ", false]], "testunitready (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.TestUnitReady", false]], "upload() (squishy.device.squishydevice method)": [[14, "squishy.device.SquishyDevice.upload", false]], "usb_assert_j() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_assert_j", false]], "usb_assert_k() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_assert_k", false]], "usb_assert_sync() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_assert_sync", false]], "usb_consume_byte() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_consume_byte", false]], "usb_consume_response() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_consume_response", false]], "usb_data() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_data", false]], "usb_emit_bits() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_emit_bits", false]], "usb_eop() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_eop", false]], "usb_get_ack() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_ack", false]], "usb_get_config() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_config", false]], "usb_get_stall() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_stall", false]], "usb_get_state() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_state", false]], "usb_get_string() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_string", false]], "usb_get_zlp() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_zlp", false]], "usb_in() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_in", false]], "usb_init_descriptors() (squishy.gateware.applet.appletelaboratable class method)": [[16, "squishy.gateware.applet.AppletElaboratable.usb_init_descriptors", false]], "usb_initialize() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_initialize", false]], "usb_j() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_j", false]], "usb_k() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_k", false]], "usb_out() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_out", false]], "usb_request_handlers (squishy.gateware.applet.appletelaboratable property)": [[16, "squishy.gateware.applet.AppletElaboratable.usb_request_handlers", false]], "usb_send_ack() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_send_ack", false]], "usb_send_setup_pkt() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_send_setup_pkt", false]], "usb_send_zlp() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_send_zlp", false]], "usb_set_addr() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_set_addr", false]], "usb_set_config() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_set_config", false]], "usb_set_interface() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_set_interface", false]], "usb_setup() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_setup", false]], "usb_single_one() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_single_one", false]], "usb_single_zero() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_single_zero", false]], "usb_sof() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_sof", false]], "usb_solicit() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_solicit", false]], "usb_sync() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_sync", false]], "usb_wait_j() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_wait_j", false]], "usb_wait_k() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_wait_k", false]], "usbgatewarephytest (class in squishy.support.test)": [[29, "squishy.support.test.USBGatewarePHYTest", false]], "usbgatewaretest (class in squishy.support.test)": [[29, "squishy.support.test.USBGatewareTest", false]], "vendor_end (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.VENDOR_END", false]], "vendor_start (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.VENDOR_START", false]], "vendoruniqueend (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.VendorUniqueEnd", false]], "vendoruniquestart (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.VendorUniqueStart", false]], "verify (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.verify", false]], "version (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.version", false]], "windowsrequesthandler (class in squishy.gateware.usb.quirks.windows)": [[31, "squishy.gateware.usb.quirks.windows.WindowsRequestHandler", false]], "worm (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.WORM", false]], "write (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.write", false]], "write (squishy.gateware.peripherals.flash.spiflashop attribute)": [[22, "squishy.gateware.peripherals.flash.SPIFlashOp.WRITE", false]], "write_and_verify (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.write_and_verify", false]]}, "objects": {"squishy": [[21, 3, 0, "-", "gateware"], [45, 3, 0, "-", "scsi"]], "squishy.applets": [[13, 0, 1, "", "SquishyApplet"], [0, 3, 0, "-", "analyzer"]], "squishy.applets.SquishyApplet": [[13, 1, 1, "", "description"], [13, 2, 1, "", "initialize"], [13, 2, 1, "", "is_supported"], [13, 1, 1, "", "name"], [13, 1, 1, "", "pnr_seed"], [13, 1, 1, "", "preview"], [13, 2, 1, "", "register_args"], [13, 2, 1, "", "run"], [13, 1, 1, "", "supported_platforms"], [13, 1, 1, "", "version"]], "squishy.core": [[34, 3, 0, "-", "pcapng"]], "squishy.core.pcapng": [[34, 0, 1, "", "PCAPNGStream"]], "squishy.core.pcapng.PCAPNGStream": [[34, 2, 1, "", "emit_header"], [34, 2, 1, "", "emit_interface"]], "squishy.device": [[14, 0, 1, "", "SquishyDevice"]], "squishy.device.SquishyDevice": [[14, 2, 1, "", "can_dfu"], [14, 2, 1, "", "enumerate"], [14, 2, 1, "", "generate_serial"], [14, 2, 1, "", "get_altmodes"], [14, 2, 1, "", "get_device"], [14, 2, 1, "", "get_platform"], [14, 2, 1, "", "reset"], [14, 2, 1, "", "upload"]], "squishy.gateware": [[21, 0, 1, "", "Squishy"], [21, 0, 1, "", "SquishyBootloader"], [21, 0, 1, "", "SquishyPlatform"], [16, 3, 0, "-", "applet"], [17, 3, 0, "-", "bootloader"], [20, 3, 0, "-", "core"], [22, 3, 0, "-", "peripherals"], [23, 3, 0, "-", "platform"], [27, 3, 0, "-", "scsi"], [30, 3, 0, "-", "usb"]], "squishy.gateware.SquishyPlatform": [[21, 2, 1, "", "all_resources_by_name"], [21, 1, 1, "", "bitstream_suffix"], [21, 2, 1, "", "build_image"], [21, 1, 1, "", "clk_domain_generator"], [21, 1, 1, "", "ephemeral_slot"], [21, 1, 1, "", "flash"], [21, 2, 1, "", "pack_artifact"], [21, 1, 1, "", "pll_cfg"], [21, 1, 1, "", "revision"], [21, 1, 1, "", "revision_str"]], "squishy.gateware.applet": [[16, 0, 1, "", "AppletElaboratable"]], "squishy.gateware.applet.AppletElaboratable": [[16, 2, 1, "", "elaborate"], [16, 2, 1, "", "usb_init_descriptors"], [16, 1, 1, "", "usb_request_handlers"]], "squishy.gateware.bootloader": [[17, 0, 1, "", "SquishyBootloader"], [18, 3, 0, "-", "rev1"], [19, 3, 0, "-", "rev2"]], "squishy.gateware.bootloader.rev1": [[18, 0, 1, "", "Rev1"]], "squishy.gateware.bootloader.rev2": [[19, 0, 1, "", "Rev2"]], "squishy.gateware.peripherals": [[22, 3, 0, "-", "flash"], [22, 3, 0, "-", "psram"], [22, 3, 0, "-", "spi"]], "squishy.gateware.peripherals.flash": [[22, 0, 1, "", "SPIFlashOp"]], "squishy.gateware.peripherals.flash.SPIFlashOp": [[22, 4, 1, "", "ERASE"], [22, 4, 1, "", "NONE"], [22, 4, 1, "", "READ"], [22, 4, 1, "", "WRITE"]], "squishy.gateware.peripherals.psram": [[22, 0, 1, "", "PSRAMOp"], [22, 0, 1, "", "SPIPSRAM"], [22, 0, 1, "", "SPIPSRAMCmd"]], "squishy.gateware.peripherals.spi": [[22, 0, 1, "", "SPICPHA"], [22, 0, 1, "", "SPICPOL"], [22, 0, 1, "", "SPIController"], [22, 0, 1, "", "SPIInterface"], [22, 0, 1, "", "SPIInterfaceMode"], [22, 0, 1, "", "SPIPeripheral"]], "squishy.gateware.peripherals.spi.SPICPHA": [[22, 4, 1, "", "FALLING"], [22, 4, 1, "", "RISING"]], "squishy.gateware.peripherals.spi.SPICPOL": [[22, 4, 1, "", "HIGH"], [22, 4, 1, "", "LOW"]], "squishy.gateware.peripherals.spi.SPIInterfaceMode": [[22, 4, 1, "", "BOTH"], [22, 4, 1, "", "CONTROLLER"], [22, 4, 1, "", "PERIPHERAL"]], "squishy.gateware.platform": [[23, 0, 1, "", "SquishyPlatform"], [24, 3, 0, "-", "resources"], [25, 3, 0, "-", "rev1"], [26, 3, 0, "-", "rev2"]], "squishy.gateware.platform.SquishyPlatform": [[23, 2, 1, "", "all_resources_by_name"], [23, 1, 1, "", "bitstream_suffix"], [23, 2, 1, "", "build_image"], [23, 1, 1, "", "clk_domain_generator"], [23, 1, 1, "", "ephemeral_slot"], [23, 1, 1, "", "flash"], [23, 2, 1, "", "pack_artifact"], [23, 1, 1, "", "pll_cfg"], [23, 1, 1, "", "revision"], [23, 1, 1, "", "revision_str"]], "squishy.gateware.platform.rev1": [[25, 0, 1, "", "Rev1ClockDomainGenerator"], [25, 0, 1, "", "SquishyRev1"]], "squishy.gateware.platform.rev1.SquishyRev1": [[25, 2, 1, "", "build_image"], [25, 4, 1, "", "clk_domain_generator"], [25, 2, 1, "", "pack_artifact"]], "squishy.gateware.platform.rev2": [[26, 0, 1, "", "Rev2ClockDomainGenerator"], [26, 0, 1, "", "SquishyRev2"]], "squishy.gateware.platform.rev2.SquishyRev2": [[26, 2, 1, "", "build_image"], [26, 4, 1, "", "clk_domain_generator"], [26, 2, 1, "", "pack_artifact"]], "squishy.gateware.scsi": [[28, 3, 0, "-", "quirks"]], "squishy.gateware.usb": [[30, 3, 0, "-", "dfu"], [31, 3, 0, "-", "quirks"]], "squishy.gateware.usb.dfu": [[30, 0, 1, "", "DFURequestHandler"]], "squishy.gateware.usb.quirks": [[31, 3, 0, "-", "windows"]], "squishy.gateware.usb.quirks.windows": [[31, 0, 1, "", "WindowsRequestHandler"]], "squishy.gateware.usb.quirks.windows.WindowsRequestHandler": [[31, 2, 1, "", "handler_condition"]], "squishy.scsi": [[38, 3, 0, "-", "command"], [38, 3, 0, "-", "commands"], [44, 3, 0, "-", "device"], [46, 3, 0, "-", "messages"]], "squishy.scsi.command": [[38, 0, 1, "", "CommandEmitter"], [38, 0, 1, "", "GroupCode"], [38, 0, 1, "", "SCSICommand"], [38, 0, 1, "", "SCSICommand10"], [38, 0, 1, "", "SCSICommand12"], [38, 0, 1, "", "SCSICommand6"], [38, 0, 1, "", "SCSICommandField"]], "squishy.scsi.command.CommandEmitter": [[38, 2, 1, "", "emit"]], "squishy.scsi.command.GroupCode": [[38, 4, 1, "", "GROUP0"], [38, 4, 1, "", "GROUP1"], [38, 4, 1, "", "GROUP2"], [38, 4, 1, "", "GROUP3"], [38, 4, 1, "", "GROUP4"], [38, 4, 1, "", "GROUP5"], [38, 4, 1, "", "GROUP6"], [38, 4, 1, "", "GROUP7"]], "squishy.scsi.command.SCSICommand": [[38, 2, 1, "", "len"], [38, 2, 1, "", "parse"]], "squishy.scsi.commands": [[36, 3, 0, "-", "common"], [37, 3, 0, "-", "direct"], [39, 3, 0, "-", "printer"], [40, 3, 0, "-", "processor"], [41, 3, 0, "-", "ro_direct"], [42, 3, 0, "-", "sequential"], [43, 3, 0, "-", "worm"]], "squishy.scsi.commands.common": [[36, 5, 1, "", "Compare"], [36, 5, 1, "", "Copy"], [36, 5, 1, "", "CopyAndVerify"], [36, 5, 1, "", "Inquiry"], [36, 5, 1, "", "ReceiveDiagnosticResults"], [36, 5, 1, "", "RequestSense"], [36, 5, 1, "", "SendDiagnostic"], [36, 5, 1, "", "TestUnitReady"]], "squishy.scsi.commands.direct": [[37, 5, 1, "", "format_unit"], [37, 5, 1, "", "mode_select"], [37, 5, 1, "", "mode_sense"], [37, 5, 1, "", "prevent_allow_media_removal"], [37, 5, 1, "", "read"], [37, 5, 1, "", "read_capacity"], [37, 5, 1, "", "reassign_blocks"], [37, 5, 1, "", "release"], [37, 5, 1, "", "reserve"], [37, 5, 1, "", "rezero_unit"], [37, 5, 1, "", "search_data"], [37, 5, 1, "", "seek"], [37, 5, 1, "", "set_limits"], [37, 5, 1, "", "start_stop_unit"], [37, 5, 1, "", "verify"], [37, 5, 1, "", "write"], [37, 5, 1, "", "write_and_verify"]], "squishy.scsi.commands.printer": [[39, 5, 1, "", "flush_buffer"], [39, 5, 1, "", "format_printer"], [39, 5, 1, "", "print_cmd"], [39, 5, 1, "", "slew_and_print"]], "squishy.scsi.device": [[44, 0, 1, "", "PeripheralDeviceType"]], "squishy.scsi.device.PeripheralDeviceType": [[44, 4, 1, "", "DirectAccess"], [44, 4, 1, "", "LogicalUnitNotPresent"], [44, 4, 1, "", "Printer"], [44, 4, 1, "", "Processor"], [44, 4, 1, "", "ReadOnlyDirectAccess"], [44, 4, 1, "", "ReservedEnd"], [44, 4, 1, "", "ReservedStart"], [44, 4, 1, "", "SequentialAccess"], [44, 4, 1, "", "VendorUniqueEnd"], [44, 4, 1, "", "VendorUniqueStart"], [44, 4, 1, "", "WORM"]], "squishy.scsi.messages": [[46, 0, 1, "", "ExtendedMessageCodes"], [46, 0, 1, "", "MessageCodes"]], "squishy.scsi.messages.ExtendedMessageCodes": [[46, 4, 1, "", "EXTENDED_IDENT"], [46, 4, 1, "", "MODIFY_DATA_PTR"], [46, 4, 1, "", "RESERVED_END"], [46, 4, 1, "", "RESERVED_START"], [46, 4, 1, "", "SYNC_DATA_XFR_REQ"], [46, 4, 1, "", "VENDOR_END"], [46, 4, 1, "", "VENDOR_START"]], "squishy.scsi.messages.MessageCodes": [[46, 4, 1, "", "ABORT"], [46, 4, 1, "", "BUS_DEV_RESET"], [46, 4, 1, "", "COMMAND_COMPLETE"], [46, 4, 1, "", "DISCONNECT"], [46, 4, 1, "", "EXTENDED_MESSAGE"], [46, 4, 1, "", "IDENTIFY_END"], [46, 4, 1, "", "IDENTIFY_START"], [46, 4, 1, "", "INT_DETECT_ERR"], [46, 4, 1, "", "LINK_CMD_COM"], [46, 4, 1, "", "LINK_CMD_COM_F"], [46, 4, 1, "", "MESSAGE_REJECT"], [46, 4, 1, "", "MSG_PARITY_ERR"], [46, 4, 1, "", "NOP"], [46, 4, 1, "", "RESERVED_END"], [46, 4, 1, "", "RESERVED_START"], [46, 4, 1, "", "RESTORE_PTR"], [46, 4, 1, "", "SAVE_DATA_PTR"]], "squishy.support": [[29, 3, 0, "-", "test"]], "squishy.support.test": [[29, 0, 1, "", "DFUGatewareTest"], [29, 0, 1, "", "SPIGatewareTest"], [29, 0, 1, "", "SquishyGatewareTest"], [29, 0, 1, "", "USBGatewarePHYTest"], [29, 0, 1, "", "USBGatewareTest"]], "squishy.support.test.DFUGatewareTest": [[29, 2, 1, "", "send_dfu_detach"], [29, 2, 1, "", "send_dfu_download"], [29, 2, 1, "", "send_dfu_get_state"], [29, 2, 1, "", "send_dfu_get_status"]], "squishy.support.test.USBGatewarePHYTest": [[29, 2, 1, "", "crc16"], [29, 2, 1, "", "crc16_buff"], [29, 2, 1, "", "crc5"], [29, 2, 1, "", "usb_assert_j"], [29, 2, 1, "", "usb_assert_k"], [29, 2, 1, "", "usb_assert_sync"], [29, 2, 1, "", "usb_consume_byte"], [29, 2, 1, "", "usb_consume_response"], [29, 2, 1, "", "usb_data"], [29, 2, 1, "", "usb_emit_bits"], [29, 2, 1, "", "usb_eop"], [29, 2, 1, "", "usb_get_ack"], [29, 2, 1, "", "usb_get_config"], [29, 2, 1, "", "usb_get_stall"], [29, 2, 1, "", "usb_get_state"], [29, 2, 1, "", "usb_get_string"], [29, 2, 1, "", "usb_get_zlp"], [29, 2, 1, "", "usb_in"], [29, 2, 1, "", "usb_initialize"], [29, 2, 1, "", "usb_j"], [29, 2, 1, "", "usb_k"], [29, 2, 1, "", "usb_out"], [29, 2, 1, "", "usb_send_ack"], [29, 2, 1, "", "usb_send_setup_pkt"], [29, 2, 1, "", "usb_send_zlp"], [29, 2, 1, "", "usb_set_addr"], [29, 2, 1, "", "usb_set_config"], [29, 2, 1, "", "usb_set_interface"], [29, 2, 1, "", "usb_setup"], [29, 2, 1, "", "usb_single_one"], [29, 2, 1, "", "usb_single_zero"], [29, 2, 1, "", "usb_sof"], [29, 2, 1, "", "usb_solicit"], [29, 2, 1, "", "usb_sync"], [29, 2, 1, "", "usb_wait_j"], [29, 2, 1, "", "usb_wait_k"]], "squishy.support.test.USBGatewareTest": [[29, 2, 1, "", "ensure_stall"], [29, 2, 1, "", "receive_data"], [29, 2, 1, "", "receive_zlp"], [29, 2, 1, "", "send_data"], [29, 2, 1, "", "send_get_desc"], [29, 2, 1, "", "send_setup"], [29, 2, 1, "", "send_setup_set_interface"], [29, 2, 1, "", "setup_received"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "property", "Python property"], "2": ["py", "method", "Python method"], "3": ["py", "module", "Python module"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "data", "Python data"]}, "objtypes": {"0": "py:class", "1": "py:property", "2": "py:method", "3": "py:module", "4": "py:attribute", "5": "py:data"}, "terms": {"": [1, 3, 5, 10, 11, 14, 15, 19, 29, 31, 35, 36, 38], "0": [7, 11, 13, 16, 17, 18, 19, 21, 22, 25, 26, 29, 30, 31, 36, 37, 38, 39, 44, 46, 51], "00": 36, "02": 11, "03": 36, "0402": 7, "07": [7, 11], "0b000": 38, "0b0000000": 36, "0b001": 38, "0b010": 38, "0b011": 38, "0b100": 38, "0b101": 38, "0b110": 38, "0b111": 38, "0x": 38, "0x0": 36, "0x00": [36, 38, 46], "0x01": [36, 38, 46], "0x02": [36, 38, 46], "0x03": [36, 38, 46], "0x04": [36, 38], "0x05": [36, 38, 46], "0x06": 38, "0x07": [31, 38], "0x08": [31, 38], "0x09": 38, "0x0a": 38, "0x0b": 38, "0x0c": 38, "0x0d": 38, "0x0e": 38, "0x0f": [36, 38], "0x1": 36, "0x10": [36, 38], "0x11": 38, "0x12": 38, "0x13": 38, "0x14": 38, "0x15": 38, "0x17": 38, "0x18": 38, "0x19": 38, "0x1a": 38, "0x1b": 38, "0x1c": 38, "0x1d": 38, "0x1e": 38, "0x1f": [36, 38], "0x2": 36, "0x3": 36, "0x4": 36, "0x5": 36, "0x6": 36, "0x7": 36, "0x8": 36, "0x9": 36, "0xa": 36, "0xab": 38, "0xb": 36, "0xc": 36, "0xd": 36, "0xe": 36, "0xf": 36, "1": [5, 10, 19, 22, 25, 27, 29, 36, 37, 38, 44, 46], "10": [11, 27, 36, 46], "100": [5, 10], "1000": 29, "100k": [17, 21], "100mhz": 25, "1024": 22, "10n": 27, "11": [7, 36, 46], "12": [36, 46], "1209": 51, "126": 44, "127": [44, 46], "128": [34, 44, 46], "13": [36, 46], "13mhz": 8, "14": 36, "15": 36, "16": [18, 19, 30], "16mhz": 8, "18": 36, "19": 36, "1986": 36, "1a": 36, "1c": 36, "1d": 36, "1\u00b5": 29, "2": [7, 10, 18, 19, 22, 26, 27, 29, 30, 31, 36, 38, 44, 46], "200u": 27, "2024": [7, 11], "20240702": 11, "2048": 46, "20n": 27, "24": 22, "2500": 14, "250m": 27, "255": [44, 46], "256": [29, 36, 46], "25u": 27, "2u": 27, "3": [7, 9, 10, 11, 22, 26, 36, 38, 44, 46, 47], "30n": 27, "30\u00b5": 29, "313": 36, "320": 5, "39": 11, "4": [10, 19, 22, 36, 38, 44, 46], "400n": 27, "4096": 34, "45f": 26, "45n": 27, "4n": [27, 46], "4u": 27, "5": [10, 36, 38, 44, 46], "50usd": 10, "5g": [9, 26], "5n": 27, "6": [10, 29, 36, 38, 44, 46], "60mhz": [25, 26], "6u": 27, "7": [10, 11, 36, 38, 46], "8": [7, 8, 10, 22, 29, 36, 38, 46], "800n": 27, "8601": 14, "8u": 27, "9": [8, 10, 36, 38, 46], "90n": 27, "98usd": 10, "A": [10, 13, 14, 21, 22, 23, 29, 31, 34, 36, 38], "And": 38, "As": [3, 7, 27, 36], "At": 11, "BY": 47, "But": [5, 11], "By": [13, 38], "For": [1, 5, 10, 11, 12, 15, 17, 21, 36], "IN": [29, 36, 46], "If": [3, 4, 5, 7, 11, 13, 14, 18, 19, 21, 23, 25, 26, 29, 30, 31, 36, 38, 46], "In": [5, 27, 31, 36, 46], "It": [0, 1, 5, 9, 10, 11, 13, 16, 17, 21, 22, 23, 25, 26, 29, 31, 36, 38, 46], "NOT": [36, 38], "No": [10, 22, 36, 46], "Not": 36, "Of": 36, "On": [11, 25, 36], "Such": 5, "THe": 36, "That": 5, "The": [0, 2, 3, 5, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32, 34, 36, 38, 44, 45, 46, 47, 50], "Then": 10, "There": [1, 7, 10, 17, 21, 25, 26, 36, 46], "These": [11, 36, 46], "To": [4, 5, 6, 29, 31, 38, 46, 50], "WITH": 38, "With": [11, 12, 46], "_": [0, 34], "_pcapnginterfac": 34, "_squishi": 3, "abil": 9, "abl": [5, 7, 36, 38, 50], "abort": [27, 36, 46], "about": [5, 22], "absenc": 46, "absolut": 29, "abstract": [13, 16, 21, 23, 27], "accept": 36, "access": [5, 22, 29, 36, 42, 44], "accomplish": 10, "accord": 31, "account": 38, "accur": 10, "achiev": [5, 10], "ack": [19, 29, 31, 46], "acknowledg": [18, 19, 30], "act": [10, 17, 18, 19, 21, 22, 27, 30], "action": [3, 36], "activ": [11, 22, 25, 26, 29, 46], "active_mod": 22, "actual": [17, 21, 36, 38], "ad": [34, 38], "adapt": [10, 27], "add": [11, 32, 34, 46], "addit": [5, 16, 25, 29, 36, 46], "addr": 29, "address": [13, 22, 29, 30, 36, 46], "addrvalid": 36, "adher": 2, "adjust": 36, "after": [5, 11, 38, 46], "again": [36, 50], "against": [13, 29], "agent": 47, "ahead": 38, "al": 5, "alia": [25, 26], "all": [2, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15, 17, 21, 23, 27, 29, 30, 31, 32, 36, 45, 46], "all_resources_by_nam": [21, 23], "alloc": 36, "alloclen": [36, 38], "allow": [0, 1, 3, 4, 5, 9, 10, 12, 13, 15, 16, 27, 31, 32, 36, 37, 38, 46], "almost": [10, 46], "along": [27, 32], "alreadi": [4, 7, 11], "also": [5, 9, 10, 11, 12, 13, 17, 21, 23, 32, 34, 35, 36, 38], "alt": [14, 17, 18, 19, 21, 23, 29, 30], "alt_mod": 29, "alter": 36, "altern": 29, "although": 38, "altmod": 14, "alwai": [7, 10, 46], "amaz": 47, "amranth": 31, "an": [1, 3, 5, 7, 9, 10, 11, 13, 14, 17, 18, 19, 21, 22, 25, 26, 27, 29, 30, 31, 32, 36, 38, 46, 47, 50], "analysi": 12, "analyz": [1, 4, 10, 34], "ani": [1, 5, 7, 10, 13, 16, 17, 18, 19, 21, 22, 25, 26, 30, 31, 34, 36, 38, 46, 50], "anoth": [22, 36], "ansi": 36, "anyth": 12, "anywai": [17, 21], "apart": 46, "api": [10, 13, 14, 16, 32], "appl": 11, "applet": [4, 10, 12, 17, 21, 23, 32, 34, 50], "appletelaborat": [13, 16, 21], "applic": [11, 12], "appropri": [5, 17, 21, 22, 23, 29, 36], "apt": 11, "ar": [1, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 21, 23, 25, 26, 27, 29, 30, 31, 36, 37, 38, 39, 40, 41, 42, 43, 46], "arbitr": 27, "arbitrari": 38, "arcan": 5, "arch": 11, "architectur": 11, "archiv": 7, "archlinux": 11, "area": 46, "arg": [3, 13, 16, 17, 18, 19, 21, 22, 23, 25, 26, 29, 30, 31, 46], "argpars": 13, "argspars": 13, "argument": [3, 13, 21, 23, 25, 26, 38, 46, 50], "argumentpars": 13, "aris": 5, "artifact": [21, 23, 25, 26], "ask": [10, 46], "aspect": [10, 12], "assembl": 5, "assembli": 7, "assert": [27, 29, 46], "assertionerror": 14, "assign": [17, 21, 36, 38], "associ": 36, "assum": [3, 7, 36, 47], "assur": 46, "ast": 31, "asyncfifo": [18, 19, 22, 30], "atn": 46, "attach": [3, 4, 14, 21, 23, 27, 34, 36, 38, 46, 47, 50], "attempt": [1, 9, 36, 46], "attent": 36, "augment": 29, "aur": 11, "auto": 22, "automat": [3, 38], "avail": [7, 10, 15, 36], "avoid": 19, "awai": 5, "awesom": 5, "b": [19, 38], "back": [5, 18, 19, 29, 30], "background": 47, "bake": 50, "bar": 38, "bare": 30, "base": [2, 4, 11, 13, 16, 21, 23, 25, 26, 27, 29, 32, 34, 38], "basi": 11, "bat": 11, "been": [5, 7, 8, 9, 11, 29, 31, 36, 46, 47], "befor": [6, 26, 46], "begin": [31, 46], "behavior": 38, "behind": [4, 5, 27], "being": [5, 10, 11, 13, 15, 22, 27, 31, 32, 34, 36, 46], "belong": 38, "below": [12, 15, 36, 46], "bespok": 12, "better": 46, "between": [5, 10, 19, 26, 27, 36, 38, 46], "beyond": 36, "bga": [5, 7], "bill": 7, "bin": [11, 29, 50, 51], "binaryio": 34, "bit": [17, 19, 21, 29, 36, 38, 46], "bit_len": 29, "bitsinteg": 38, "bitstream": [17, 19, 21, 23, 25, 26, 50], "bitstream_suffix": [21, 23], "bitstruct": 38, "bitwis": 38, "blank": [36, 50], "bll": 22, "block": [19, 34, 36, 37], "bluescsi": [5, 10], "board": [5, 7, 10, 25, 26, 50], "bool": [13, 14, 29, 30], "boot": [10, 19, 21, 23, 25, 26], "boot_nam": [21, 23, 25, 26], "boot_stub": 30, "bootload": [21, 23, 25, 26, 30, 50], "bot": 36, "both": [3, 5, 7, 13, 17, 21, 22, 30, 36, 38], "boundari": [22, 38, 44, 46], "box": 12, "break": 7, "brew": 11, "bridg": [8, 10], "brief": 5, "broken": [7, 21], "browser": 7, "bsd": [11, 47], "bu": [0, 4, 10, 12, 22, 24, 29, 36, 46], "buffer": [17, 19, 21, 29, 36, 38, 39], "bug": 5, "build": [5, 11, 21, 23, 25, 26, 32, 50, 51], "build_dir": [21, 23, 25, 26], "build_imag": [21, 23, 25, 26], "buildproduct": [21, 23, 25, 26], "built": [1, 5, 7, 11, 12, 15, 21, 23, 25, 26, 47], "bus_dev_reset": 46, "bus_hold": 19, "byte": [14, 21, 22, 23, 25, 26, 29, 34, 36, 38, 46], "byte_count": 22, "bytearrai": 34, "c": [22, 46], "ca70": 51, "ca71": 51, "cabl": 27, "cach": [17, 21, 23, 51], "cad": 11, "calcul": 38, "call": [1, 4, 11, 13, 29, 38, 47], "can": [3, 5, 7, 8, 10, 11, 12, 13, 14, 17, 19, 21, 22, 25, 26, 27, 29, 32, 34, 36, 38, 46, 47, 50], "can_dfu": 14, "cannot": [36, 38], "canonic": [21, 23], "capabl": [5, 14, 17, 21, 30, 50], "capac": 37, "captur": [4, 12, 34], "care": 5, "case": [7, 36, 46], "catalog": [8, 9], "catastroph": 7, "categori": [27, 36], "caus": [5, 29, 36, 46], "caution": 26, "cc": 47, "cd": 11, "cern": 5, "cfg": 29, "chanel": 5, "chang": [2, 7, 8, 18, 19, 26, 30, 36], "channel": [5, 10], "characterist": 38, "charg": 47, "chat": [5, 10], "check": [11, 13, 19, 29, 31, 36, 38, 46], "check_get_descriptor_set": 31, "checksum": [17, 21], "chip": 22, "choic": 5, "cipo": 22, "claim": 36, "class": [13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 29, 30, 31, 34, 36, 38, 44, 46], "classmethod": [14, 16], "claus": 47, "clean": 46, "clear": [27, 31, 36, 46], "cli": [12, 13], "click": 4, "clk": 22, "clk_domain_gener": [21, 23, 25, 26], "clock": [21, 22, 23, 25, 26, 30], "clone": 11, "cmd": 38, "code": [1, 10, 13, 29, 32, 36, 38, 46], "collect": [10, 14, 21, 23, 24, 29, 38], "com": [11, 34, 47], "combin": [1, 12, 13], "combinatori": 31, "come": [5, 7, 22, 46], "command": [3, 11, 13, 21, 22, 23, 25, 26, 36, 37, 39, 40, 41, 42, 43, 46, 50], "command_complet": 46, "commandemitt": 38, "comment": 10, "common": [14, 15, 16, 21, 23, 27, 38, 47], "commonli": [5, 38], "commun": [5, 13], "compar": [36, 38], "comparison": 36, "compat": [0, 7, 21, 23, 25, 26], "compil": 36, "complet": [7, 10, 19, 22, 30, 31, 34, 36, 38, 46], "compli": 36, "complianc": 36, "complic": [5, 17, 19, 21, 38], "compon": [5, 8, 10, 15, 32], "compris": 10, "comput": [10, 29, 38, 47], "conclud": 31, "condit": [31, 36, 38, 46], "conduc": 5, "configur": [4, 13, 14, 15, 19, 21, 23, 29, 30, 36], "conjunct": 46, "connect": 27, "connector": 26, "consid": [8, 10, 36, 46], "consider": [17, 21], "consist": 29, "const": 46, "constitut": 8, "construct": 38, "constructerror": 38, "consum": [16, 29, 38, 45], "contain": [7, 21, 24, 29, 31, 34, 36, 50], "content": 19, "context": 38, "contextkw": 38, "continu": [6, 36], "contrib": 3, "control": [10, 14, 19, 22, 27, 31, 38], "copi": [0, 3, 4, 22, 36, 38, 46], "copyandverifi": 36, "core": [0, 11, 16, 21, 25, 26, 34], "correct": [29, 31, 36], "corrupt": 50, "cost": [5, 10], "could": [12, 36], "count": 29, "cover": 5, "cpha": 22, "cpol": 22, "cpython": 11, "crc16": 29, "crc16_buff": 29, "crc5": 29, "crc_in": 29, "creat": [4, 11, 34, 38], "creativ": 47, "cs_control": 22, "cs_peripher": 22, "csr": 22, "ctxkw": 38, "curl": 11, "curr_addr": 22, "current": [1, 3, 7, 11, 14, 15, 17, 21, 22, 25, 26, 29, 31, 36, 46], "custom": 1, "cut": [5, 8], "cute": 10, "cycl": [17, 19, 21, 29, 31], "d": [3, 29, 51], "d_n": 29, "d_p": 29, "da": 37, "danger": [17, 21], "darwin": 11, "data": [4, 14, 18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 31, 35, 36, 37, 38, 46], "data0": 31, "data1": 31, "datasheet": 22, "date": [11, 29], "datetim": 14, "daynaport": 10, "deal": [31, 32, 35, 38, 45], "debian": 11, "debug": 3, "dedic": 10, "deduct": 38, "default": [11, 13, 14, 15, 17, 21, 22, 29, 34, 38], "defin": [10, 19, 31, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46], "definit": [14, 21, 25, 26], "deliv": 31, "demand": 5, "depend": [3, 5, 10, 11, 15, 17, 22, 38], "depict": 36, "deriv": [29, 38], "desc_collect": 16, "describ": [31, 36, 38], "descript": [13, 34, 36, 38, 46], "descriptor": [16, 29, 31, 36], "deserv": 5, "design": [5, 7, 8, 9, 10, 12, 25, 26, 36, 47], "deskew": 27, "dest": 36, "dest_slot": 19, "destin": [18, 19, 36], "detach": [14, 19, 29], "detail": [1, 5, 7, 10, 15, 32, 36, 46], "detect": [3, 36, 46], "determin": [13, 14, 36], "determinist": 38, "dev": [13, 14], "develop": [1, 5, 7, 10, 11, 12, 25, 26], "devic": [3, 10, 12, 13, 17, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32, 36, 37, 38, 39, 41, 42, 43, 45, 46], "devicecontain": 14, "devicedescriptorcollect": 16, "dfm": 7, "dfu": [14, 17, 18, 19, 21, 23, 26, 29, 30, 50, 51], "dfugatewaretest": 29, "dfurequesthandl": 30, "diagnost": [36, 38], "diagram": 12, "dict": [14, 38], "dictionari": 38, "did": [36, 46], "differ": [10, 36, 38, 46], "direct": [4, 5, 17, 21, 36, 44, 46], "directaccess": 44, "directli": [11, 17, 21, 29, 31], "directori": [1, 3, 4, 15, 21, 23, 25, 26, 47], "directusb": 29, "discard": [17, 21], "disconnect": [27, 46], "discord": 10, "discuss": [5, 10], "disk": [10, 44], "dispatch": [17, 21, 38], "displai": 13, "distinguish": [17, 21], "distribut": 11, "divid": 38, "divin": 47, "dl_complet": [18, 19, 30], "dl_done": [18, 19, 30], "dl_finish": [18, 19, 30], "dl_readi": [18, 19, 30], "dl_size": [18, 19, 30], "dl_start": [18, 19, 30], "dnf": 11, "do": [3, 5, 10, 11, 12, 17, 21, 34, 36, 46], "doc": [34, 47], "document": [2, 5, 8, 10, 12, 13, 32, 34, 36, 46], "doe": [4, 10, 13, 31, 36, 38, 46], "doesn": [4, 11], "domain": [21, 23, 25, 26, 30], "don": [17, 21, 31, 36, 38], "done": [4, 5, 11, 13, 17, 18, 19, 21, 22, 30, 34, 36, 50], "doubl": [4, 35], "down": 5, "download": [11, 19, 29, 30, 47], "drastic": 26, "drive": [3, 10, 29, 47], "driven": 30, "driver": 5, "drop": 19, "dual": 47, "duck": 31, "due": [5, 10, 11, 17, 19, 21, 22, 25, 36, 38], "dump": 19, "dure": [36, 46], "dut": 29, "e": [21, 23, 36, 38, 44], "each": [5, 7, 17, 21, 27, 29, 31, 36, 38, 46], "earli": [26, 36], "easier": 5, "easili": 32, "ecma": 36, "ecosystem": [5, 10], "ecp5": [9, 11, 26], "ecp5pllconfig": [21, 23], "edg": 22, "effect": [5, 25, 46], "effort": 11, "eight": 38, "either": [11, 17, 19, 22, 31, 38, 46], "elabor": [13, 16, 21, 23, 25, 26], "elaborat": [21, 23, 32], "electr": 22, "element": 10, "els": [5, 12], "emit": [29, 34, 38, 45], "emit_head": 34, "emit_interfac": 34, "emit_packet": 34, "emitt": [31, 34, 38], "empti": 38, "emul": [5, 10, 12, 29], "enabl": [10, 22, 29], "encount": 36, "end": [3, 9, 12, 29, 31, 36, 44, 46], "endian": 38, "endors": 10, "endpoint": [14, 29, 30], "engin": [7, 9, 26], "enough": 8, "ensur": [4, 11, 13, 46, 50], "ensure_stal": 29, "enter": [19, 31], "entir": [1, 9, 10, 11, 46], "entri": [4, 38], "enum": 36, "enumer": 14, "environ": 11, "eom": 36, "eot": 36, "ep": 29, "ephemer": [17, 19, 21, 23], "ephemeral_slot": [21, 23], "equal": 36, "eras": [19, 22], "errata": [25, 26], "error": [13, 36, 46], "establish": [36, 46], "et": 5, "etc": [36, 47], "eval": 7, "evalu": [25, 26], "even": [10, 12, 17, 21, 36], "event": [19, 29], "ever": [22, 36], "everi": 7, "everyth": [5, 8, 12], "evt": 26, "examin": 36, "exampl": [3, 34, 36], "except": 38, "execut": [11, 36, 46], "exhaust": [5, 36], "exist": [4, 7, 36, 50], "expect": [3, 7, 11, 29, 30, 38], "explan": 10, "export": 11, "expos": [1, 14, 17, 21, 22, 29], "extcap": 4, "extend": [36, 37, 38, 46], "extended_id": 46, "extended_messag": 46, "extendedmessagecod": 46, "extens": 1, "extern": [25, 36, 38], "extra": 34, "extract": 11, "f": 10, "face": 13, "facilit": 46, "fact": [4, 5], "failur": 36, "fairli": 5, "fall": [22, 36], "fals": [13, 14, 30], "famili": 11, "far": 5, "fast": 27, "fast10": 10, "fastest": 10, "fatal": [26, 36, 46], "feasibl": 36, "featur": 36, "fed": 25, "fedora": 11, "feed": 22, "ffsynchron": 30, "fiddl": 47, "field": [36, 38, 46], "fifo": [18, 19, 22, 30], "file": [0, 2, 4, 7, 21, 23, 25, 26, 34, 36, 47, 50], "final": [11, 21, 23, 25, 26, 27, 38], "finish": [22, 46], "firmwar": [10, 14, 30], "first": [5, 6, 8, 11, 14, 15, 17, 21, 25, 26, 27, 36, 50], "five": 38, "fix": [8, 36, 38], "flag": [36, 38, 46], "flash": [8, 17, 18, 19, 21, 22, 23, 25, 26, 30], "flashconfig": [21, 23], "flaw": 36, "flesh": [0, 1, 3, 7, 8, 9, 12, 13, 14, 15], "flexibl": [5, 10, 12, 26], "float": 13, "flow": [31, 46], "flush": 39, "flush_buff": 39, "follow": [3, 4, 5, 6, 7, 8, 11, 12, 15, 17, 19, 21, 27, 29, 31, 34, 36, 38, 46], "foo": 38, "forc": 46, "fork": 5, "form": [14, 21, 23, 31], "format": [2, 7, 14, 34, 36, 37, 38, 39, 46], "format_print": 39, "format_unit": 37, "former": 3, "forseeabl": 5, "forward": 36, "found": [14, 21, 22, 23, 25, 26, 34, 47], "four": [36, 38], "fox": 47, "fpga": [8, 9, 18, 19, 21, 23, 25, 26], "frame": 29, "frame_numb": 29, "framework": 15, "free": [27, 46, 47], "from": [3, 4, 5, 8, 10, 11, 12, 13, 14, 17, 18, 19, 21, 22, 23, 25, 26, 29, 31, 36, 38, 46, 47], "front": 9, "fsm": 22, "full": [3, 7, 10, 11, 19, 29, 30, 31, 38, 47], "fulli": [8, 9, 10, 22, 30], "function": [1, 8, 17, 29, 32, 36, 46], "further": 36, "futur": [1, 5, 46], "g": [21, 23, 44], "garbag": 34, "gate": 31, "gatewar": [1, 10, 13, 14, 16, 17, 18, 19, 22, 23, 25, 26, 29, 30, 31, 32], "gd25q64ewigr": 8, "gear": 4, "gener": [5, 14, 21, 22, 23, 24, 25, 26, 27, 29, 30, 34, 36, 38], "generate_seri": 14, "gerber": 7, "get": [3, 10, 11, 12, 14, 21, 23, 29, 38, 50], "get_altmod": 14, "get_descriptor_set": 31, "get_devic": 14, "get_platform": 14, "getdescriptorsethandl": 31, "git": [3, 11], "github": [5, 10, 11, 25, 26, 34, 47], "give": [1, 10, 38], "given": [13, 14, 17, 19, 21, 22, 23, 29, 31, 38], "global": [25, 26], "go": [5, 8, 22, 46], "goal": 10, "goe": [5, 7], "good": [5, 11, 17, 21, 36], "goto": 19, "group": [13, 31, 36, 37, 38, 39], "group0": 38, "group1": 38, "group2": 38, "group3": 38, "group4": 38, "group5": 38, "group6": 38, "group7": 38, "group_cod": 38, "groupcod": 38, "guarante": 10, "guid": 10, "ha": [4, 5, 7, 8, 9, 10, 11, 12, 13, 19, 29, 30, 31, 36, 38, 46, 47], "had": 46, "half": 19, "hand": 5, "handl": [14, 31], "handler": [16, 19, 30, 31], "handler_condit": 31, "handshak": 46, "hang": 10, "happi": 47, "hard": 10, "hardwar": [3, 5, 8, 9, 10, 13, 14, 17, 21, 25, 26, 34, 36], "have": [3, 8, 9, 10, 11, 13, 17, 19, 21, 23, 27, 29, 36, 38, 46], "hdl": [1, 21, 29, 31, 32], "he": 47, "header": [34, 50], "help": [11, 13, 29, 47], "helper": [11, 29, 45], "her": 47, "here": [7, 13, 22], "high": [4, 5, 19, 22, 25, 26, 29, 30], "highest": 36, "histor": 8, "histori": 47, "hold": [19, 27], "home": [11, 15], "homebrew": 11, "hook": [21, 23, 50], "hopefulli": 5, "host": [12, 13, 14, 19, 27, 31, 32], "hot": [17, 21], "how": [5, 7, 10, 12, 15, 22, 36], "howev": [5, 7, 10, 11, 13, 17, 21, 38, 46], "http": [11, 34], "huge": 5, "human": 47, "hvd": [5, 8, 10, 12, 25], "hx8k": 25, "i": [1, 2, 3, 4, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32, 34, 36, 38, 44, 46, 47, 50], "ice40": [9, 11, 25], "ice40pllconfig": [21, 23], "icestorm": 11, "icon": 4, "id": [27, 29, 30, 31, 46], "ident": [46, 47], "identifi": [8, 38, 46], "identify_end": 46, "identify_start": 46, "idl": [22, 31], "ifac": 34, "iii": 19, "ili": 36, "illeg": [36, 38], "illustr": [12, 46, 47], "imag": [17, 21, 23, 25, 26], "imagin": 12, "img": 47, "implement": [13, 14, 21, 22, 23, 30, 34, 36, 38, 46], "impli": 46, "import": 10, "includ": [3, 7, 10, 11, 17, 21, 25, 26, 46], "incom": [22, 31], "incomplet": 11, "incorrect": [11, 36], "increas": 9, "increment": [7, 22, 46], "index": [29, 31], "indexerror": 38, "indic": [22, 25, 26, 36, 46], "infer": 38, "influenc": 5, "inform": [5, 12, 36, 38, 46], "infra": 21, "infrastructur": 29, "inherit": [21, 23], "initi": [10, 13, 16, 27, 29, 36, 38, 46], "inject": 29, "inout": 22, "input": [18, 19, 21, 22, 23, 25, 26, 29, 30], "inquiri": [36, 38], "insid": 22, "inspect": [0, 12], "instal": [3, 6, 12], "instanc": [14, 22, 31], "instanti": [17, 21, 23], "instead": [14, 36], "instruct": [4, 6, 11], "int": [13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 29, 30, 31, 38], "int16sb": 38, "int16sl": 38, "int16ub": 38, "int16ul": 38, "int24bl": 38, "int24sl": 38, "int24ub": 38, "int24ul": 38, "int32sb": 38, "int32sl": 38, "int32ub": 38, "int32ul": 38, "int64sb": 38, "int64sl": 38, "int64ub": 38, "int64ul": 38, "int8sb": 38, "int8sl": 38, "int8ub": 38, "int8ul": 38, "int_detect_err": 46, "integ": [38, 46], "integr": [5, 29, 32, 46], "intel": 11, "intend": 10, "intent": 46, "intention": 46, "interact": [3, 10, 12, 14, 32, 34], "interfac": [4, 10, 12, 14, 16, 17, 21, 22, 29, 30, 31, 34], "intermedi": 38, "intern": [13, 36, 38], "interrupt": [38, 46], "intervent": 36, "introduct": 10, "invalid": [36, 46], "invoc": 3, "invok": [1, 3, 13, 14, 25, 26], "involv": 10, "irc": [5, 10], "irq": 19, "is66wvs2m8al": 22, "is67wvs2m8al": 22, "is_support": 13, "iso": [14, 36], "iss": [36, 44], "issi": 22, "issu": [5, 17, 21, 36, 46], "iter": [29, 34], "its": [10, 11, 36, 38, 46], "itself": [10, 17, 21, 36, 38], "j": 29, "japanes": 47, "jinja": 47, "join": [5, 10], "just": [5, 10, 11, 13], "k": 29, "keep": [2, 5, 31], "kei": [36, 38], "kept": 8, "keyerror": 38, "keyword": 38, "kicad": 7, "kicanva": 7, "kjkjkjkk": 29, "know": 38, "known": 47, "kwarg": [16, 17, 18, 19, 21, 22, 25, 26, 29, 30, 31], "l": 46, "lack": 11, "lambda": 38, "lame": 31, "larg": [5, 7, 38], "larger": 36, "last": [19, 36, 46], "later": 46, "latest": 11, "latter": 31, "lattic": [25, 26], "layer": 34, "layout": 38, "lba": 36, "lead": 5, "learn": 7, "least": 7, "led": [21, 23], "len": 38, "length": [29, 36, 38, 46], "less": 36, "let": 19, "level": [4, 7, 8], "leverag": [12, 32], "lfe5um5g": 26, "lib": [4, 22], "libera": [5, 10], "librari": [10, 12, 38, 45], "licens": 10, "like": [4, 5, 10, 11, 14, 17, 21, 26, 36, 38, 44, 50], "limit": [17, 21, 37], "line": [13, 19, 21, 22, 23, 25, 26], "link": [34, 38, 46], "link_cmd_com": 46, "link_cmd_com_f": 46, "linktyp": 34, "linktype_parallel_scsi": [0, 34], "linux": [10, 11, 15], "list": [4, 8, 14, 16, 21, 23, 27, 36, 38], "littl": [19, 38], "live": [7, 34], "load": [1, 15, 17, 19, 21], "local": [4, 15, 47], "locat": [11, 46], "lock": [25, 26], "log": 3, "logic": [13, 36, 44], "logicalunitnotpres": 44, "loj": 11, "long": [36, 38, 46], "longer": 5, "look": 38, "lookup": 38, "lose": 14, "lot": 10, "lotteri": 10, "love": 47, "low": [22, 29], "lower": 36, "lsb": [36, 46], "lun": [36, 46], "lvd": [5, 10, 12], "m": [3, 11, 14, 38], "mac": 11, "machin": [7, 12, 22, 27, 30, 31], "machineri": [17, 21, 29, 45], "maco": [11, 15], "made": [13, 38], "magnet": [44, 47], "mai": [5, 10, 11, 13, 26, 36, 38, 46], "main": [3, 7, 10, 21, 26, 31], "maintain": [3, 5], "major": [14, 21, 23], "make": [5, 11, 38], "makepkg": 11, "malfunct": 36, "manag": [36, 46], "mandatori": [37, 38, 39, 46], "mani": [12, 36, 44], "manner": 31, "manual": 29, "manufactur": 5, "map": [14, 19, 22], "mark": 36, "mascot": 10, "mass": 10, "match": [21, 23, 29, 36], "materi": 7, "maximum": [36, 38], "mcu": [17, 21], "md": 34, "mean": [5, 30, 31, 36, 38, 47, 50], "mechan": [21, 23], "media": 37, "medium": 36, "meet": 5, "member": [5, 29, 38], "memori": 38, "memoryview": 38, "messag": [38, 45], "message_reject": 46, "messagecod": 46, "metadata": 38, "method": [13, 17, 21, 23, 36, 38, 46], "microsoft": [11, 31], "might": [4, 5, 11, 17, 21, 38], "minimum": 30, "minor": [14, 21, 23], "minu": 36, "miscompar": 36, "miss": 38, "mix": [17, 21], "mixin": 29, "mode": [14, 17, 18, 21, 22, 23, 29, 30, 37], "mode_select": 37, "mode_sens": 37, "model": 5, "modern": [10, 12], "modifi": [0, 46], "modify_data_ptr": 46, "modul": [0, 10, 11, 13, 15, 16, 17, 21, 22, 24, 25, 26, 29, 30, 31, 32, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "modular": 1, "moment": [7, 11], "monster": 5, "more": [1, 5, 10, 12, 14, 17, 21, 29, 36, 46], "most": [3, 4, 11, 19, 29, 31], "mostli": [17, 21, 24], "move": [5, 12, 36, 46], "msb": [36, 46], "msg_parity_err": 46, "much": [4, 10], "multi": [25, 26], "multipl": [5, 27, 38], "multiplex": 22, "mundan": 10, "must": [11, 13, 17, 19, 21, 29, 36, 38, 46], "n": [36, 38, 46], "name": [3, 13, 14, 17, 21, 22, 23, 25, 26, 27, 34, 38, 44, 46], "namespac": [13, 21, 23, 25, 26], "natur": 36, "need": [3, 4, 5, 8, 10, 11, 13, 17, 21, 22, 25, 26, 29, 30, 31, 32, 38, 45, 46, 50], "negat": 27, "neither": 36, "new": [1, 4, 7, 8, 14, 17, 19, 21, 26, 32, 34, 38, 46], "newli": 34, "next": [4, 11, 19, 21, 22, 38, 46], "nightli": 11, "non": [8, 10, 27, 36, 38], "none": [13, 14, 16, 18, 19, 21, 22, 23, 29, 30, 34, 38, 44, 46], "nop": 46, "nor": [10, 36], "normal": [17, 21, 46], "notabl": 2, "noth": [5, 38], "notifi": 19, "notimplementederror": 13, "now": [4, 11, 22], "nowadai": 47, "number": [14, 17, 21, 22, 29, 36, 46], "numpi": 38, "nya": [27, 38], "o": [29, 31, 34, 38, 46], "object": [34, 38], "obtain": 34, "occur": [14, 36, 46], "oe": 29, "off": [5, 11, 29], "offer": 26, "offici": [10, 11, 25, 26], "offset": 46, "often": 38, "ohl": 5, "old": 47, "older": 10, "omit": [3, 7], "onboard": [17, 21], "onc": [5, 7, 11, 12, 31, 44, 50], "one": [1, 3, 7, 11, 14, 22, 25, 29, 32, 36, 38, 46], "ongo": 10, "onli": [3, 4, 8, 10, 13, 22, 25, 29, 30, 31, 36, 38, 44, 46, 50], "onto": [11, 25, 26, 29, 50], "op": [25, 36], "opaqu": [17, 21], "opcod": [22, 36, 38], "open": [5, 10, 47], "oper": [3, 10, 11, 22, 31, 36, 38, 46], "option": [4, 11, 13, 14, 17, 21, 34, 37, 38, 39, 46], "order": [5, 17, 21, 23, 38, 46], "org": 11, "origin": [5, 26], "osc": 8, "oss": 11, "other": [7, 10, 11, 12, 17, 21, 25, 26, 29, 30, 35, 36, 38, 46], "otherwis": [13, 14, 21, 23, 30, 36], "our": [19, 22, 31], "out": [0, 1, 3, 5, 7, 8, 9, 10, 12, 13, 14, 15, 17, 21, 22, 29, 31, 36, 46], "outgo": 29, "output": [18, 19, 21, 22, 23, 25, 26, 29, 30], "over": [10, 12, 17, 21, 29, 47], "overflow": 36, "overhaul": 9, "overli": 5, "overrid": [13, 38], "own": [1, 7, 12, 32, 38], "pace": 5, "pack": [21, 23, 25, 26], "pack_artifact": [21, 23, 25, 26], "packag": [1, 4, 11], "packet": [4, 29, 31, 32, 34], "pacman": 11, "page": [7, 11, 22], "painless": 11, "paper": 36, "paramet": [13, 14, 17, 18, 19, 21, 22, 23, 25, 26, 29, 30, 31, 34, 36, 38], "paramlen": 36, "parent": 29, "pariti": [36, 46], "pars": [12, 13, 38], "parser": 13, "part": [5, 7, 8, 12, 21, 31, 34], "parti": [5, 13, 36], "partial": 15, "particular": 46, "particularli": [17, 21], "pass": [13, 21, 23, 38], "passiv": [0, 10], "past": [36, 47], "path": [4, 11, 15, 21, 23, 25, 26, 34, 46], "pattern": [3, 29], "payload": 19, "pc": 11, "pcap": 35, "pcapng": 0, "pcapngstream": 34, "pend": [36, 46], "peopl": 27, "perform": [36, 46], "period": 46, "peripher": [36, 37, 39, 44], "peripheraldevicetyp": [36, 44], "permiss": 10, "phase": [8, 9, 22, 26, 31, 36, 46], "phy": [8, 10, 25, 26, 29], "physic": [12, 29, 46], "pick": [5, 7], "pid": 29, "piec": 1, "pin": 8, "pip": 11, "piscsi": 10, "place": [5, 7], "plan": [1, 11], "platform": [7, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 25, 26, 29, 31], "platformdescriptorcollect": 31, "pleas": 5, "pll": [21, 23, 25, 26], "pll_cfg": [21, 23], "pll_lock": [25, 26], "pllconfig": [21, 23], "plu": 8, "pnr": 13, "pnr_seed": 13, "point": [11, 27], "pointer": 46, "popular": [7, 25, 26], "possibl": [5, 7, 9, 11, 14, 26, 27, 36, 38, 46], "possibli": [4, 11, 26], "potenti": 19, "power": [5, 10, 12, 27], "pre": [7, 13], "prefix": 38, "preform": 38, "preliminari": 11, "present": [22, 38, 44, 46], "preserv": 36, "prevent": [36, 37, 46], "prevent_allow_media_remov": 37, "preview": 13, "previou": [29, 46], "price": 5, "primari": [3, 5, 11, 25, 26], "primarili": [5, 22, 25], "print": 39, "print_cmd": 39, "printer": [36, 44], "prior": [11, 13, 36, 38, 46], "prioriti": 36, "prjtrelli": 11, "problem": [5, 8, 19], "problemat": [17, 21], "process": [5, 7, 21, 23, 25, 36], "processor": 44, "produc": [21, 23, 25, 26], "product": [21, 23, 25, 26], "professor": 47, "program": [17, 21, 50], "programmat": 3, "progress": [11, 14], "progressbar": 14, "project": [2, 7, 21, 32, 47], "propag": 38, "properli": [4, 17, 21, 23, 50], "properti": [13, 16, 21, 23], "protect": [17, 21, 36], "provid": [3, 10, 11, 12, 13, 16, 17, 21, 29, 32, 36, 38, 47], "provis": [21, 23, 25, 26], "proxi": 34, "psram": [17, 19, 21, 22], "psramop": 22, "public": 13, "publicli": 5, "publish": 11, "purchas": [7, 25, 26], "pure": 27, "purpos": [8, 25, 26, 36], "push": 14, "put": [5, 11, 29], "pwd": 11, "py": [36, 46], "pypi": 11, "python": [1, 3, 4, 10, 12, 13, 32, 45], "python3": 11, "q": 10, "qualifi": 36, "qualnam": [22, 38, 44, 46], "question": 10, "quit": 5, "r": [38, 51], "radio": 10, "rais": [13, 14, 18, 19, 30, 38], "ran": 13, "randbyt": 34, "randint": 34, "rang": [34, 46], "rapid": 12, "rapidli": 5, "raspberrypi": 10, "rather": 29, "raw": [4, 21, 23, 25, 26, 29], "raw_record": 29, "rdat": 22, "re": [7, 9, 10, 11, 17, 21, 36, 37, 38, 46], "reach": 36, "react": 31, "read": [12, 19, 22, 29, 36, 37, 38, 44, 50], "read_capac": 37, "read_fifo": 22, "readi": [10, 12, 18, 19, 22, 30, 36, 38], "readonlydirectaccess": 44, "realli": 5, "reason": [5, 19, 25, 26, 38], "reassign": 37, "reassign_block": 37, "reboot": [17, 18, 19, 21, 30], "rec": 29, "receipt": 36, "receiv": [29, 36, 46], "receive_data": 29, "receive_zlp": 29, "receivediagnosticresult": 36, "recent": [31, 46], "recipi": 29, "recommend": [11, 25, 36], "reconnect": 46, "record": 29, "recov": 36, "recover": 36, "recoverbuffereddata": 36, "recoveri": 36, "recv": 38, "refin": 45, "reflect": 36, "reg_map": 22, "regard": 36, "regardless": [11, 15], "region": 19, "regist": [13, 15, 16, 19, 22], "register_arg": 13, "reject": 46, "rel": 36, "relat": [12, 29, 36], "releas": [7, 11, 13, 25, 26, 27, 37, 46], "reli": 29, "remain": [36, 38, 46], "remov": [36, 37], "renam": [37, 39], "render": 7, "repeat": 36, "replac": [8, 9], "replai": [0, 10, 12], "report": 36, "repositori": [3, 10, 11, 25, 26, 47], "repres": [14, 17, 21, 22, 23, 27, 29, 38], "req": [29, 46], "request": [13, 14, 16, 19, 22, 29, 30, 31, 36, 38, 46], "requestsens": 36, "requir": [5, 10, 21, 23, 27, 36, 38], "reserv": [36, 37, 38, 44, 46], "reserved_end": 46, "reserved_start": 46, "reservedend": 44, "reservedstart": 44, "reset": [14, 19, 22, 27, 36, 46, 50], "resid": 36, "resolut": 47, "resourc": [11, 21, 23, 29], "respect": [7, 31, 36], "respond": [5, 31], "respons": [36, 46], "rest": 31, "restor": 46, "restore_ptr": 46, "result": [21, 23, 25, 26, 29, 36, 38, 50], "retriev": [29, 36], "return": [13, 14, 16, 21, 23, 25, 26, 29, 31, 34, 36, 38], "rev": [7, 14], "rev1": [7, 17, 21], "rev1clockdomaingener": 25, "rev2": [7, 17, 21], "rev2clockdomaingener": 26, "rev8": 7, "revers": 36, "revis": [7, 13, 14, 17, 21, 23, 25, 26], "revision_str": [21, 23], "rezero_unit": 37, "rich": 14, "right": 5, "rise": 22, "rmb": 36, "ro": 37, "root": [17, 21, 23, 47], "rough": [12, 38], "roughli": 46, "rout": 22, "rst_addr": 22, "run": [1, 3, 10, 11, 13, 29, 31, 50], "runtimeerror": 14, "s16b": 38, "s16l": 38, "s24b": 38, "s24l": 38, "s32b": 38, "s32l": 38, "s64b": 38, "s64l": 38, "s8b": 38, "s8l": 38, "sa": 47, "sachiko": 47, "sadli": 5, "sai": 5, "said": [1, 36], "sake": 5, "sale": 7, "same": [4, 10, 36, 46], "sampl": 22, "satisfi": 36, "save": [4, 46], "save_data_ptr": 46, "sb_warmboot": [17, 21], "scene": 4, "schemat": 7, "scienc": 47, "script": [11, 32], "scsi": [0, 4, 8, 9, 11, 12, 21, 24, 25, 26, 29, 32, 34, 35, 36, 37, 38, 39, 44, 46], "scsi1": 27, "scsi2": 27, "scsi2sd": 10, "scsi3": 27, "scsicommand": [36, 38], "scsicommand10": 38, "scsicommand12": 38, "scsicommand6": 38, "scsicommandfield": 38, "scsigatewaretest": 29, "se": 10, "search": 37, "search_data": 37, "searchdata": 36, "second": [15, 27], "section": [1, 3, 5, 6, 7, 8, 9, 10, 12, 34, 38, 44, 45, 48, 49], "sector": 22, "see": [1, 4, 7, 10, 12, 13, 15, 24, 46], "seed": 13, "seek": 37, "seem": 5, "seen": 31, "segment": [36, 46], "select": [3, 22, 27, 36, 37, 46], "self": [14, 36], "semant": 2, "sen": 36, "send": [29, 36, 38, 46], "send_data": 29, "send_dfu_detach": 29, "send_dfu_download": 29, "send_dfu_get_st": 29, "send_dfu_get_statu": 29, "send_get_desc": 29, "send_setup": 29, "send_setup_set_interfac": 29, "senddiagnost": 36, "sens": [36, 37, 38], "sent": [17, 21, 36, 46], "sequenc": [29, 46], "sequenti": [36, 44], "sequentialaccess": 44, "seri": 46, "serial": [14, 17, 21, 38], "serial_numb": [17, 21], "serv": 27, "server": [5, 10], "servic": 47, "set": [12, 13, 19, 22, 25, 26, 27, 29, 31, 36, 37, 38, 46], "set_alternate_enum": 31, "set_limit": 37, "settl": 27, "setup": [4, 21, 23, 29, 31], "setup_receiv": 29, "setuppacket": 31, "seven": [36, 38], "sever": 5, "shall": [36, 46], "share": [15, 21, 23, 27, 38], "she": 47, "shifter": 8, "shinto": 47, "ship": 15, "short": 13, "should": [4, 7, 8, 11, 22, 29, 34, 38, 46], "show": 27, "shown": 27, "shrine": 47, "sic": 11, "side": [13, 29, 32], "sign": 46, "signal": [17, 18, 19, 21, 22, 23, 25, 26, 30, 31, 46], "silicon": 10, "similar": 11, "simpl": [5, 13, 30], "simpli": [3, 4, 11, 38], "singl": [10, 12, 27, 29, 36], "site": 13, "situat": 36, "six": 38, "size": [14, 18, 19, 29, 30, 38], "sizeof": 38, "skew": 27, "slew": 39, "slew_and_print": 39, "slot": [17, 18, 19, 21, 30], "slot_ack": [18, 19, 30], "slot_chang": [18, 19, 30], "slot_select": [18, 19, 30], "small": [4, 36, 47], "smaller": 46, "smallest": 7, "sniff": 10, "sniffer": 0, "so": [7, 11, 12, 22, 25, 38, 46, 50], "soc": 22, "softwar": [3, 5, 10, 36, 47], "sol": 29, "solicit": 29, "solid": 32, "som": 10, "some": [4, 5, 8, 11, 12, 15, 17, 21, 25, 26, 34, 36, 38], "somehow": 14, "someth": [5, 7], "sometim": 38, "sourc": [5, 10, 36, 47], "span": 38, "speak": [8, 9], "spec": 31, "special": [7, 10, 25, 26, 29, 31, 38, 46, 50], "specif": [5, 17, 21, 24, 26, 31, 36, 37, 38, 39, 40, 41, 42, 43, 46], "specifi": [3, 14, 36, 38], "speed": 10, "spi": [17, 19, 21, 22, 23, 29, 50], "spicontrol": 22, "spicpha": 22, "spicpol": 22, "spiflashop": 22, "spigatewaretest": 29, "spiinterfac": 22, "spiinterfacemod": 22, "spiperipher": 22, "spipsram": 22, "spipsramcmd": 22, "spirit": 47, "split": [26, 27, 38], "squishi": [0, 1, 3, 4, 6, 8, 9, 12, 15, 16, 17, 21, 22, 23, 24, 25, 26, 29, 30, 31, 34, 35, 36, 37, 38, 39, 44, 45, 46, 50], "squishy_applet": 1, "squishy_bootload": 51, "squishyapplet": 13, "squishybootload": [17, 21], "squishydevic": [13, 14], "squishygatewaretest": 29, "squishyplatform": [13, 14, 16, 21, 23], "squishyplatformtyp": [13, 14], "squishyrev1": [17, 21, 25], "squishyrev2": [17, 21, 26], "src_loc_at": [16, 17, 18, 19, 21, 22, 25, 26, 30, 31], "stabl": [14, 25, 26], "stack": 5, "stagnat": 5, "stai": 5, "stall": [29, 31], "standalon": [10, 32], "standard": [5, 29, 34, 36, 38, 46], "start": [4, 5, 7, 10, 11, 12, 18, 19, 22, 29, 30, 34, 37, 38, 44, 46, 50], "start_addr": 22, "start_r": 22, "start_stop_unit": 37, "start_w": 22, "state": [19, 22, 27, 29, 30, 31, 38, 46], "static": [14, 29], "statu": [19, 29, 31, 36, 38, 46], "step": 11, "stick": 19, "still": [8, 9, 21, 23], "stop": 37, "storag": [5, 10, 18, 19, 22, 30], "store": [3, 18, 19, 30], "str": [13, 14, 17, 21, 23, 25, 26, 29, 34, 38], "stream": [34, 38], "string": [7, 14, 21, 23, 29, 38], "string_idx": 29, "strobe": 22, "struct": [37, 38, 39], "structur": [36, 38], "stub": [30, 50], "stuff": 19, "su_irq": 19, "sub": [29, 38, 46], "subcon": 38, "subconmskw": 38, "subconskw": 38, "subconstruct": 38, "subsequ": 36, "subsign": 22, "substitut": 7, "subsystem": 29, "succesfulli": 38, "success": [13, 14, 36, 38], "successfulli": [13, 36, 38, 46], "sudo": 11, "suffix": [21, 23], "suit": 11, "suka": 47, "sum": 31, "superstructur": [16, 21], "supervisor": [17, 19, 21], "suppli": [13, 36], "support": [4, 5, 10, 11, 13, 17, 21, 23, 29, 31, 32, 36, 38, 46], "supported_platform": 13, "sure": 11, "surprisingli": 34, "surround": 38, "swap": 31, "switch": 31, "symbol": 29, "symlink": 4, "sync": [25, 26, 29], "sync_data_xfr_req": 46, "synchron": 46, "synth": 13, "system": [3, 10, 12, 14, 15, 25, 27, 31, 36], "t": [4, 11, 14, 17, 21, 31, 36, 38, 46], "tab": 3, "tabl": [27, 38], "take": 38, "talk": 5, "tan": 47, "tandem": 5, "tap": 10, "tape": [10, 44, 47], "tar": 11, "target": [10, 13, 14, 17, 19, 21, 25, 27, 29, 31, 36, 38, 46], "task": 5, "teach": 47, "technologi": 47, "teh": 36, "tell": [19, 46, 50], "ten": 38, "termin": [36, 46], "test": [7, 11, 26, 36, 38], "testunitreadi": 36, "tether": 10, "text": 47, "tgz": 11, "tha": 36, "than": [14, 17, 21, 25, 26, 29, 36, 46], "thank": 7, "thei": [3, 5, 7, 15, 17, 21, 27, 29, 31, 36], "them": [1, 3, 38, 46], "therefor": [10, 38], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 34, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50], "thing": [3, 5, 10, 12, 31, 35, 38], "think": [10, 27], "third": [5, 13, 36], "though": [17, 21, 36], "three": [21, 27, 38], "through": [15, 36], "thru": 46, "ti": 5, "tide": [17, 21], "tight": 5, "time": [5, 14, 26, 27, 36, 38], "timeout": [14, 27], "tmp": 34, "toler": 5, "too": 36, "tool": [11, 32, 36, 50], "toolchain": 11, "top": [17, 21, 38], "topologi": 27, "torii": [1, 12, 14, 21, 22, 23, 25, 26, 29, 32], "toriitestcas": 29, "total": 38, "touch": [17, 21], "tough": 36, "trace": [4, 8], "track": [10, 31], "tracker": 5, "tradit": 27, "traffic": [0, 10, 12, 29, 32, 34, 45], "transact": [14, 22], "transceiv": 10, "transfer": [17, 18, 19, 21, 22, 30, 36, 46], "transform": [37, 39], "transit": 22, "transmit": 31, "transpar": 47, "trash": 34, "treat": [17, 21], "tree": [13, 25, 26], "trend": 5, "trigger": [17, 18, 19, 21, 29, 30, 31, 36, 38], "trigger_reboot": [18, 19, 30], "trivial": 5, "true": [13, 14, 29, 30], "truncat": 36, "try": [3, 5, 17, 21, 36], "tupl": [13, 14, 17, 21, 23, 29], "turn": 0, "turnkei": 5, "tutori": [1, 10, 15], "twelv": 38, "two": [3, 7, 8, 15, 25, 27, 29, 36, 38, 46], "txlen": 19, "type": [13, 14, 21, 22, 23, 25, 26, 29, 31, 34, 36, 37, 38, 39, 44, 46], "typic": [21, 22, 23, 25, 26, 46], "tyson": 47, "tysontan": 47, "u": [17, 21], "u11": 8, "u16": 8, "u16b": 38, "u16l": 38, "u2": 8, "u20": 8, "u23": 8, "u24b": 38, "u24l": 38, "u26": 8, "u27": 8, "u30": 8, "u32b": 38, "u32l": 38, "u33": 8, "u64b": 38, "u64l": 38, "u8": 8, "u8b": 38, "u8l": 38, "u8lalloclen": 38, "ulpi": [8, 25, 26, 29], "ultra": 5, "ultra320": 10, "ultra640": 10, "unabl": 36, "undefin": 36, "under": [3, 5, 10, 11, 25, 26, 31, 47], "unfortun": 5, "unifi": 50, "uniqu": [27, 36, 38, 44], "unit": [7, 36, 37, 38, 44, 46, 50], "univers": 47, "unix": 11, "unknown": 14, "unless": 36, "unlik": 29, "unoffici": 11, "unrecov": 36, "unsign": [36, 38], "unspecifi": [27, 36], "unstabl": 26, "unsuccessfulli": 46, "unsupport": [36, 38], "until": [19, 36], "unus": 18, "unusu": 36, "unwritten": 36, "up": [5, 7, 10, 11, 21, 22, 23, 25, 26, 29, 36, 38, 46, 50], "updat": [5, 7, 17, 21, 31], "upgrad": 11, "upload": [14, 19, 26], "upmost": 5, "upon": [19, 36], "upstream": 5, "us": [0, 3, 10, 11, 12, 13, 14, 15, 17, 19, 21, 22, 23, 25, 26, 29, 30, 31, 32, 34, 35, 36, 38, 46, 47, 50], "usag": 34, "usb": [9, 10, 12, 13, 14, 16, 25, 26, 29], "usb1": 14, "usb_assert_j": 29, "usb_assert_k": 29, "usb_assert_sync": 29, "usb_construct": 31, "usb_consume_byt": 29, "usb_consume_respons": 29, "usb_data": 29, "usb_emit_bit": 29, "usb_eop": 29, "usb_get_ack": 29, "usb_get_config": 29, "usb_get_st": 29, "usb_get_stal": 29, "usb_get_str": 29, "usb_get_zlp": 29, "usb_in": 29, "usb_init_descriptor": 16, "usb_initi": 29, "usb_j": 29, "usb_k": 29, "usb_out": 29, "usb_request_handl": 16, "usb_send_ack": 29, "usb_send_setup_pkt": 29, "usb_send_zlp": 29, "usb_set_addr": 29, "usb_set_config": 29, "usb_set_interfac": 29, "usb_setup": 29, "usb_single_on": 29, "usb_single_zero": 29, "usb_sof": 29, "usb_solicit": 29, "usb_sync": 29, "usb_wait_j": 29, "usb_wait_k": 29, "usbdevic": 14, "usbgatewarephytest": 29, "usbgatewaretest": 29, "usbpacketid": 29, "usbrequesthandl": 16, "usbrequestrecipi": 29, "usbrequesttyp": 29, "user": [1, 3, 15, 36, 38], "user00": 34, "userprofil": 15, "userspac": 10, "usual": [3, 38], "usurp": 13, "util": [12, 50, 51], "utmi": 29, "uwu": 38, "v": [3, 36, 38], "v2": 5, "valid": [3, 7, 8, 26, 29, 31, 36, 46], "valu": [19, 22, 29, 31, 36, 38, 44, 46], "valueerror": 30, "variabl": [13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 30, 38], "variant": 11, "variat": 9, "variou": [12, 15, 21, 26, 31], "ve": 12, "vender": 36, "vendor": [21, 23, 29, 31, 36, 38, 44, 46], "vendor_cod": 29, "vendor_end": 46, "vendor_start": 46, "vendoruniqueend": 44, "vendoruniquestart": 44, "venv": [11, 50], "ver": 36, "verbos": 3, "veri": [5, 34], "verifi": [36, 37, 38], "version": [2, 3, 7, 11, 13, 27, 36], "via": [7, 10, 11, 50], "view": [7, 11], "virtual": 11, "virtualenv": 11, "visit": 10, "volum": 36, "wa": [5, 7, 8, 13, 14, 18, 19, 22, 25, 26, 30, 36, 46, 47], "wai": [3, 5, 7, 12, 17, 21], "wait": [5, 19, 22, 29, 50], "walk": 15, "walkthrough": 1, "wall": 5, "want": [5, 11, 13, 14, 19, 30, 32], "warn": 36, "wdat": 22, "we": [3, 5, 11, 14, 17, 19, 21, 29, 31, 38, 50], "wear": [17, 21], "web": 7, "websit": 5, "well": [4, 10, 11, 12, 17, 19, 21, 30, 32, 38, 45], "were": 36, "what": [5, 36, 38], "whatev": 32, "wheel": 11, "when": [3, 4, 5, 7, 10, 13, 18, 19, 21, 23, 25, 26, 27, 30, 31, 36, 38, 46, 50], "whenev": 38, "where": [3, 5, 7, 15, 17, 21, 25, 27, 29, 36, 38, 46], "whether": 14, "which": [5, 8, 11, 13, 17, 21, 27, 29, 31, 36, 38, 46], "whichev": 36, "while": [5, 19, 31, 36], "who": 47, "whole": [8, 50], "why": 10, "wide": 29, "wiki": 5, "window": [11, 15, 31], "windowsrequesthandl": 31, "wip": 7, "wire": 29, "wireshark": [4, 34], "wisdom": 47, "wish": [10, 12], "within": [7, 15, 17, 21, 36, 38], "without": [5, 17, 21, 36, 47, 50], "work": [4, 10, 11, 12, 31, 50], "world": 12, "worm": [36, 37, 44], "worth": 19, "would": [36, 38], "wrap": [22, 38], "wrapper": [29, 38], "write": [0, 6, 10, 12, 15, 17, 19, 21, 22, 29, 35, 36, 37, 44, 48, 49, 50], "write_and_verifi": 37, "write_fifo": 22, "write_slot": 19, "written": [17, 19, 21, 36], "wrong": 7, "x": 46, "x00": 38, "x1": 8, "x15": 38, "x3": 36, "x64": 11, "x86_64": 11, "xab": 38, "xfr": 22, "xfv": 11, "yai": 11, "ye": 10, "yet": [10, 31], "yosyshq": 11, "you": [0, 1, 3, 4, 5, 6, 7, 10, 11, 12, 25, 26, 30, 32, 38, 50], "your": [1, 3, 4, 5, 7, 11, 12, 32, 50], "yourself": 5, "yowasp": 11, "zero": [29, 36, 37, 38], "zlp": 29, "zsh": 3, "\u5e78": 47, "\u65e9\u667a\u5b50": 47, "\u7d20\u83ef\u795e\u793e": 47, "\u9808\u8cc0": 47}, "titles": ["Analyzer Applet", "Applets", "Changelog", "CLI", "Extra Utilities", "Frequently Asked Questions", "Getting Started", "Hardware", "Revision 1", "Revision 2", "Squishy: The SCSI Multitool", "Installation", "Introduction", "Squishy Applet", "Squishy Device", "Applet API", "Applets", "Bootloader", "Squishy Rev1 Bootloader", "Squishy Rev2 Bootloader", "Core", "Gateware Library", "Peripherals", "Hardware Platforms", "Platform Resources", "Rev1", "Rev2", "SCSI", "SCSI Quirks", "Test Harness", "USB", "USB Quirks", "Squishy as a Library", "Core Components", "PCAPNG Writer", "Python Library", "Common", "Direct-Access", "Commands", "Printer", "Processor", "Read-Only Direct-Access", "Sequential", "WORM", "Device", "SCSI", "Messages", "Mascot - Sachi", "Custom Applets", "Tutorials", "Provisioning a New Device", "Updating Squishy"], "titleterms": {"0": 8, "1": 8, "2": 9, "In": 7, "The": 10, "about": 47, "access": [37, 41], "amaranth": 5, "analyz": 0, "anatomi": 27, "anoth": 5, "api": 15, "applet": [0, 1, 13, 15, 16, 19, 48, 49], "ask": 5, "bootload": [17, 18, 19], "bu": 27, "bui": 7, "build": 7, "capabl": [8, 9], "changelog": 2, "cli": [3, 6], "command": 38, "common": 36, "commun": 10, "comparison": 10, "complet": 3, "complex": 5, "compon": 33, "connect": 6, "core": [20, 33], "custom": 48, "devic": [14, 44, 50], "direct": [37, 41], "discord": 5, "doe": 5, "errata": 8, "exampl": 38, "expens": 5, "extra": 4, "flash": 50, "frequent": 5, "gatewar": [12, 21, 49], "gener": 50, "get": [6, 7], "har": 29, "hardwar": [6, 7, 12, 23, 49], "have": 5, "hdl": 5, "i": [5, 10], "imag": [47, 50], "initi": 50, "instal": [4, 11], "introduct": 12, "isn": 10, "librari": [21, 32, 35, 49], "licens": 47, "locat": 15, "mascot": 47, "messag": 46, "mode": 19, "multitool": 10, "nativ": 11, "new": 50, "nextpnr": 11, "note": 31, "one": 5, "onli": 41, "other": 5, "overview": 12, "pcapng": 34, "peripher": 22, "platform": [23, 24], "prerequisit": 11, "printer": 39, "processor": 40, "progress": 7, "project": 5, "protocol": 19, "provis": [7, 50], "python": [11, 35, 49], "question": 5, "quirk": [28, 31], "rather": 5, "read": 41, "releas": 8, "requir": 11, "resourc": 24, "rev1": [8, 18, 25], "rev2": [19, 26], "revis": [8, 9], "sachi": 47, "scsi": [5, 10, 27, 28, 45], "scsidump": 4, "search": 15, "sequenti": 42, "shell": 3, "should": 5, "so": 5, "softwar": [12, 49], "squishi": [5, 7, 10, 11, 13, 14, 18, 19, 32, 51], "start": 6, "system": 11, "t": 10, "test": 29, "than": 5, "todo": [0, 1, 3, 6, 7, 8, 9, 12, 13, 14, 15, 27, 36, 45, 46, 48, 49], "torii": 5, "tutori": 49, "unreleas": 2, "updat": 51, "us": [4, 5, 6], "usag": 49, "usb": [30, 31], "util": 4, "what": 10, "why": 5, "work": 7, "worm": 43, "writer": 34, "yosi": 11}}) \ No newline at end of file +Search.setIndex({"alltitles": {"About": [[47, "about"]], "Analyzer Applet": [[0, null]], "Anatomy of a SCSI Bus": [[27, "anatomy-of-a-scsi-bus"]], "Applet API": [[15, null]], "Applet Mode": [[19, "applet-mode"]], "Applet Search Locations": [[15, "applet-search-locations"]], "Applets": [[1, null], [16, null], [49, "applets"]], "Bootloader": [[17, null]], "Bootloader Mode": [[19, "bootloader-mode"]], "Bootloader Protocol": [[19, "bootloader-protocol"]], "Building Hardware": [[7, "building-hardware"]], "Buying Hardware": [[7, "buying-hardware"]], "CLI": [[3, null]], "Capabilities": [[8, "capabilities"], [9, "capabilities"]], "Changelog": [[2, null]], "Commands": [[38, null]], "Common": [[36, null]], "Community": [[10, "community"]], "Comparison": [[10, "comparison"]], "Connecting the Hardware": [[6, "connecting-the-hardware"]], "Core": [[20, null]], "Core Components": [[33, null]], "Custom Applets": [[48, null]], "Device": [[44, null]], "Direct-Access": [[37, null]], "Errata": [[8, "errata"]], "Examples": [[38, null]], "Extra Utilities": [[4, null]], "Flashing the Image": [[50, "flashing-the-image"]], "Frequently Asked Questions": [[5, null]], "Gateware": [[12, "gateware"]], "Gateware Library": [[21, null], [49, "gateware-library"]], "Generating the Initial Image": [[50, "generating-the-initial-image"]], "Getting Squishy Hardware": [[7, "getting-squishy-hardware"]], "Getting Started": [[6, null]], "Hardware": [[7, null], [12, "hardware"]], "Hardware Platforms": [[23, null]], "Hardware Usage": [[49, "hardware-usage"]], "Images": [[47, "images"]], "Installation": [[11, null]], "Installing": [[4, "installing"]], "Installing Prerequisites": [[11, "installing-prerequisites"]], "Installing Python": [[11, "installing-python"]], "Installing Squishy": [[11, "installing-squishy"]], "Installing Yosys and nextpnr": [[11, "installing-yosys-and-nextpnr"]], "Introduction": [[12, null]], "License": [[47, "license"]], "Mascot - Sachi": [[47, null]], "Messages": [[46, null]], "Native Install": [[11, "native-install"]], "Notes": [[31, null], [31, null]], "Overview": [[12, "overview"]], "PCAPNG Writer": [[34, null]], "Peripherals": [[22, null]], "Platform Resources": [[24, null]], "Printer": [[39, null]], "Processor": [[40, null]], "Provisioning a New Device": [[50, null]], "Provisioning the Hardware": [[7, "provisioning-the-hardware"]], "Python Library": [[35, null], [49, "python-library"]], "Read-Only Direct-Access": [[41, null]], "Rev1": [[25, null]], "Rev1 Release 0": [[8, "rev1-release-0"]], "Rev1 Release 1": [[8, "rev1-release-1"]], "Rev2": [[26, null]], "Revision 1": [[8, null]], "Revision 2": [[9, null]], "SCSI": [[27, null], [45, null]], "SCSI Quirks": [[28, null]], "Sequential": [[42, null]], "Shell Completions": [[3, "shell-completions"]], "Software": [[12, "software"]], "Software Usage": [[49, "software-usage"]], "Squishy Applet": [[13, null]], "Squishy Device": [[14, null]], "Squishy Rev1 Bootloader": [[18, null]], "Squishy Rev2 Bootloader": [[19, null]], "Squishy as a Library": [[32, null]], "Squishy: The SCSI Multitool": [[10, null]], "System Requirements": [[11, "system-requirements"]], "Test Harness": [[29, null]], "Todo": [[0, "id1"], [1, "id1"], [3, "id1"], [6, "id1"], [6, "id2"], [7, "id1"], [8, "id1"], [9, "id1"], [12, "id1"], [13, "id1"], [14, "id1"], [15, "id1"], [27, "id1"], [36, "id1"], [36, "id2"], [36, "id3"], [36, "id4"], [36, "id5"], [45, "id1"], [46, "id1"], [48, "id1"], [49, "id1"], [49, "id2"], [49, "id3"], [49, "id4"], [49, "id5"]], "Tutorials": [[49, null]], "USB": [[30, null]], "USB Quirks": [[31, null]], "Unreleased": [[2, "unreleased"]], "Updating Squishy": [[51, null]], "Using": [[4, "using"]], "Using the CLI": [[6, "using-the-cli"]], "WORM": [[43, null]], "What Squishy Is": [[10, "what-squishy-is"]], "What Squishy Isn\u2019t": [[10, "what-squishy-isn-t"]], "Why Does Squishy not have a Discord?": [[5, "why-does-squishy-not-have-a-discord"]], "Why is Squishy so complex?": [[5, "why-is-squishy-so-complex"]], "Why is Squishy so expensive?": [[5, "why-is-squishy-so-expensive"]], "Why is Squishy using Torii rather than Amaranth or another HDL?": [[5, "why-is-squishy-using-torii-rather-than-amaranth-or-another-hdl"]], "Why should I use Squishy rather than one of the other SCSI projects?": [[5, "why-should-i-use-squishy-rather-than-one-of-the-other-scsi-projects"]], "Work-In-Progress Hardware": [[7, "work-in-progress-hardware"]], "scsidump": [[4, "scsidump"]]}, "docnames": ["applets/analyzer", "applets/index", "changelog", "cli", "extra", "faq", "getting_started", "hardware/index", "hardware/rev1", "hardware/rev2", "index", "install", "introduction", "library/applet/applet", "library/applet/device", "library/applet/index", "library/gateware/applet/index", "library/gateware/bootloader/index", "library/gateware/bootloader/rev1", "library/gateware/bootloader/rev2", "library/gateware/core/index", "library/gateware/index", "library/gateware/peripherals/index", "library/gateware/platform/index", "library/gateware/platform/resources", "library/gateware/platform/rev1", "library/gateware/platform/rev2", "library/gateware/scsi/index", "library/gateware/scsi/quirks/index", "library/gateware/test", "library/gateware/usb/index", "library/gateware/usb/quirks/index", "library/index", "library/python/core/index", "library/python/core/pcapng", "library/python/index", "library/python/scsi/commands/common", "library/python/scsi/commands/direct", "library/python/scsi/commands/index", "library/python/scsi/commands/printer", "library/python/scsi/commands/processor", "library/python/scsi/commands/ro_direct", "library/python/scsi/commands/sequential", "library/python/scsi/commands/worm", "library/python/scsi/device", "library/python/scsi/index", "library/python/scsi/messages", "mascot", "tutorials/applets/index", "tutorials/index", "tutorials/provisioning", "tutorials/updating"], "envversion": {"sphinx": 64, "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.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["applets/analyzer.md", "applets/index.md", "changelog.md", "cli.md", "extra.md", "faq.md", "getting_started.md", "hardware/index.md", "hardware/rev1.md", "hardware/rev2.md", "index.md", "install.md", "introduction.md", "library/applet/applet.md", "library/applet/device.md", "library/applet/index.md", "library/gateware/applet/index.md", "library/gateware/bootloader/index.md", "library/gateware/bootloader/rev1.md", "library/gateware/bootloader/rev2.md", "library/gateware/core/index.md", "library/gateware/index.md", "library/gateware/peripherals/index.md", "library/gateware/platform/index.md", "library/gateware/platform/resources.md", "library/gateware/platform/rev1.md", "library/gateware/platform/rev2.md", "library/gateware/scsi/index.md", "library/gateware/scsi/quirks/index.md", "library/gateware/test.md", "library/gateware/usb/index.md", "library/gateware/usb/quirks/index.md", "library/index.md", "library/python/core/index.md", "library/python/core/pcapng.md", "library/python/index.md", "library/python/scsi/commands/common.md", "library/python/scsi/commands/direct.md", "library/python/scsi/commands/index.md", "library/python/scsi/commands/printer.md", "library/python/scsi/commands/processor.md", "library/python/scsi/commands/ro_direct.md", "library/python/scsi/commands/sequential.md", "library/python/scsi/commands/worm.md", "library/python/scsi/device.md", "library/python/scsi/index.md", "library/python/scsi/messages.md", "mascot.md", "tutorials/applets/index.md", "tutorials/index.md", "tutorials/provisioning.md", "tutorials/updating.md"], "indexentries": {"abort (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.ABORT", false]], "all_resources_by_name() (squishy.gateware.platform.squishyplatform method)": [[23, "squishy.gateware.platform.SquishyPlatform.all_resources_by_name", false]], "all_resources_by_name() (squishy.gateware.squishyplatform method)": [[21, "squishy.gateware.SquishyPlatform.all_resources_by_name", false]], "appletelaboratable (class in squishy.gateware.applet)": [[16, "squishy.gateware.applet.AppletElaboratable", false]], "bitstream_suffix (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.bitstream_suffix", false]], "bitstream_suffix (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.bitstream_suffix", false]], "both (squishy.gateware.peripherals.spi.spiinterfacemode attribute)": [[22, "squishy.gateware.peripherals.spi.SPIInterfaceMode.BOTH", false]], "build_image() (squishy.gateware.platform.rev1.squishyrev1 method)": [[25, "squishy.gateware.platform.rev1.SquishyRev1.build_image", false]], "build_image() (squishy.gateware.platform.rev2.squishyrev2 method)": [[26, "squishy.gateware.platform.rev2.SquishyRev2.build_image", false]], "build_image() (squishy.gateware.platform.squishyplatform method)": [[23, "squishy.gateware.platform.SquishyPlatform.build_image", false]], "build_image() (squishy.gateware.squishyplatform method)": [[21, "squishy.gateware.SquishyPlatform.build_image", false]], "bus_dev_reset (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.BUS_DEV_RESET", false]], "can_dfu() (squishy.device.squishydevice method)": [[14, "squishy.device.SquishyDevice.can_dfu", false]], "clk_domain_generator (squishy.gateware.platform.rev1.squishyrev1 attribute)": [[25, "squishy.gateware.platform.rev1.SquishyRev1.clk_domain_generator", false]], "clk_domain_generator (squishy.gateware.platform.rev2.squishyrev2 attribute)": [[26, "squishy.gateware.platform.rev2.SquishyRev2.clk_domain_generator", false]], "clk_domain_generator (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.clk_domain_generator", false]], "clk_domain_generator (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.clk_domain_generator", false]], "command_complete (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.COMMAND_COMPLETE", false]], "commandemitter (class in squishy.scsi.command)": [[38, "squishy.scsi.command.CommandEmitter", false]], "compare (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.Compare", false]], "controller (squishy.gateware.peripherals.spi.spiinterfacemode attribute)": [[22, "squishy.gateware.peripherals.spi.SPIInterfaceMode.CONTROLLER", false]], "copy (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.Copy", false]], "copyandverify (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.CopyAndVerify", false]], "crc16() (squishy.support.test.usbgatewarephytest static method)": [[29, "squishy.support.test.USBGatewarePHYTest.crc16", false]], "crc16_buff() (squishy.support.test.usbgatewarephytest static method)": [[29, "squishy.support.test.USBGatewarePHYTest.crc16_buff", false]], "crc5() (squishy.support.test.usbgatewarephytest static method)": [[29, "squishy.support.test.USBGatewarePHYTest.crc5", false]], "description (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.description", false]], "dfugatewaretest (class in squishy.support.test)": [[29, "squishy.support.test.DFUGatewareTest", false]], "dfurequesthandler (class in squishy.gateware.usb.dfu)": [[30, "squishy.gateware.usb.dfu.DFURequestHandler", false]], "directaccess (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.DirectAccess", false]], "disconnect (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.DISCONNECT", false]], "elaborate() (squishy.gateware.applet.appletelaboratable method)": [[16, "squishy.gateware.applet.AppletElaboratable.elaborate", false]], "emit() (squishy.scsi.command.commandemitter method)": [[38, "squishy.scsi.command.CommandEmitter.emit", false]], "emit_header() (squishy.core.pcapng.pcapngstream method)": [[34, "squishy.core.pcapng.PCAPNGStream.emit_header", false]], "emit_interface() (squishy.core.pcapng.pcapngstream method)": [[34, "squishy.core.pcapng.PCAPNGStream.emit_interface", false]], "ensure_stall() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.ensure_stall", false]], "enumerate() (squishy.device.squishydevice class method)": [[14, "squishy.device.SquishyDevice.enumerate", false]], "ephemeral_slot (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.ephemeral_slot", false]], "ephemeral_slot (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.ephemeral_slot", false]], "erase (squishy.gateware.peripherals.flash.spiflashop attribute)": [[22, "squishy.gateware.peripherals.flash.SPIFlashOp.ERASE", false]], "extended_ident (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.EXTENDED_IDENT", false]], "extended_message (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.EXTENDED_MESSAGE", false]], "extendedmessagecodes (class in squishy.scsi.messages)": [[46, "squishy.scsi.messages.ExtendedMessageCodes", false]], "falling (squishy.gateware.peripherals.spi.spicpha attribute)": [[22, "squishy.gateware.peripherals.spi.SPICPHA.FALLING", false]], "flash (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.flash", false]], "flash (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.flash", false]], "flush_buffer (in module squishy.scsi.commands.printer)": [[39, "squishy.scsi.commands.printer.flush_buffer", false]], "format_printer (in module squishy.scsi.commands.printer)": [[39, "squishy.scsi.commands.printer.format_printer", false]], "format_unit (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.format_unit", false]], "generate_serial() (squishy.device.squishydevice static method)": [[14, "squishy.device.SquishyDevice.generate_serial", false]], "get_altmodes() (squishy.device.squishydevice method)": [[14, "squishy.device.SquishyDevice.get_altmodes", false]], "get_device() (squishy.device.squishydevice class method)": [[14, "squishy.device.SquishyDevice.get_device", false]], "get_platform() (squishy.device.squishydevice method)": [[14, "squishy.device.SquishyDevice.get_platform", false]], "group0 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP0", false]], "group1 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP1", false]], "group2 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP2", false]], "group3 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP3", false]], "group4 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP4", false]], "group5 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP5", false]], "group6 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP6", false]], "group7 (squishy.scsi.command.groupcode attribute)": [[38, "squishy.scsi.command.GroupCode.GROUP7", false]], "groupcode (class in squishy.scsi.command)": [[38, "squishy.scsi.command.GroupCode", false]], "handler_condition() (squishy.gateware.usb.quirks.windows.windowsrequesthandler method)": [[31, "squishy.gateware.usb.quirks.windows.WindowsRequestHandler.handler_condition", false]], "high (squishy.gateware.peripherals.spi.spicpol attribute)": [[22, "squishy.gateware.peripherals.spi.SPICPOL.HIGH", false]], "identify_end (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.IDENTIFY_END", false]], "identify_start (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.IDENTIFY_START", false]], "initialize() (squishy.applets.squishyapplet method)": [[13, "squishy.applets.SquishyApplet.initialize", false]], "inquiry (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.Inquiry", false]], "int_detect_err (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.INT_DETECT_ERR", false]], "is_supported() (squishy.applets.squishyapplet method)": [[13, "squishy.applets.SquishyApplet.is_supported", false]], "len() (squishy.scsi.command.scsicommand method)": [[38, "squishy.scsi.command.SCSICommand.len", false]], "link_cmd_com (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.LINK_CMD_COM", false]], "link_cmd_com_f (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.LINK_CMD_COM_F", false]], "logicalunitnotpresent (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.LogicalUnitNotPresent", false]], "low (squishy.gateware.peripherals.spi.spicpol attribute)": [[22, "squishy.gateware.peripherals.spi.SPICPOL.LOW", false]], "message_reject (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.MESSAGE_REJECT", false]], "messagecodes (class in squishy.scsi.messages)": [[46, "squishy.scsi.messages.MessageCodes", false]], "mode_select (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.mode_select", false]], "mode_sense (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.mode_sense", false]], "modify_data_ptr (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.MODIFY_DATA_PTR", false]], "module": [[0, "module-squishy.applets.analyzer", false], [16, "module-squishy.gateware.applet", false], [17, "module-squishy.gateware.bootloader", false], [18, "module-squishy.gateware.bootloader.rev1", false], [19, "module-squishy.gateware.bootloader.rev2", false], [20, "module-squishy.gateware.core", false], [21, "module-squishy.gateware", false], [22, "module-squishy.gateware.peripherals", false], [22, "module-squishy.gateware.peripherals.flash", false], [22, "module-squishy.gateware.peripherals.psram", false], [22, "module-squishy.gateware.peripherals.spi", false], [23, "module-squishy.gateware.platform", false], [24, "module-squishy.gateware.platform.resources", false], [25, "module-squishy.gateware.platform.rev1", false], [26, "module-squishy.gateware.platform.rev2", false], [27, "module-squishy.gateware.scsi", false], [28, "module-squishy.gateware.scsi.quirks", false], [29, "module-squishy.support.test", false], [30, "module-squishy.gateware.usb", false], [30, "module-squishy.gateware.usb.dfu", false], [31, "module-squishy.gateware.usb.quirks", false], [31, "module-squishy.gateware.usb.quirks.windows", false], [34, "module-squishy.core.pcapng", false], [36, "module-squishy.scsi.commands.common", false], [37, "module-squishy.scsi.commands.direct", false], [38, "module-squishy.scsi.command", false], [38, "module-squishy.scsi.commands", false], [39, "module-squishy.scsi.commands.printer", false], [40, "module-squishy.scsi.commands.processor", false], [41, "module-squishy.scsi.commands.ro_direct", false], [42, "module-squishy.scsi.commands.sequential", false], [43, "module-squishy.scsi.commands.worm", false], [44, "module-squishy.scsi.device", false], [45, "module-squishy.scsi", false], [46, "module-squishy.scsi.messages", false]], "msg_parity_err (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.MSG_PARITY_ERR", false]], "name (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.name", false]], "none (squishy.gateware.peripherals.flash.spiflashop attribute)": [[22, "squishy.gateware.peripherals.flash.SPIFlashOp.NONE", false]], "nop (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.NOP", false]], "pack_artifact() (squishy.gateware.platform.rev1.squishyrev1 method)": [[25, "squishy.gateware.platform.rev1.SquishyRev1.pack_artifact", false]], "pack_artifact() (squishy.gateware.platform.rev2.squishyrev2 method)": [[26, "squishy.gateware.platform.rev2.SquishyRev2.pack_artifact", false]], "pack_artifact() (squishy.gateware.platform.squishyplatform method)": [[23, "squishy.gateware.platform.SquishyPlatform.pack_artifact", false]], "pack_artifact() (squishy.gateware.squishyplatform method)": [[21, "squishy.gateware.SquishyPlatform.pack_artifact", false]], "parse() (squishy.scsi.command.scsicommand method)": [[38, "squishy.scsi.command.SCSICommand.parse", false]], "pcapngstream (class in squishy.core.pcapng)": [[34, "squishy.core.pcapng.PCAPNGStream", false]], "peripheral (squishy.gateware.peripherals.spi.spiinterfacemode attribute)": [[22, "squishy.gateware.peripherals.spi.SPIInterfaceMode.PERIPHERAL", false]], "peripheraldevicetype (class in squishy.scsi.device)": [[44, "squishy.scsi.device.PeripheralDeviceType", false]], "pll_cfg (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.pll_cfg", false]], "pll_cfg (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.pll_cfg", false]], "pnr_seed (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.pnr_seed", false]], "prevent_allow_media_removal (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.prevent_allow_media_removal", false]], "preview (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.preview", false]], "print_cmd (in module squishy.scsi.commands.printer)": [[39, "squishy.scsi.commands.printer.print_cmd", false]], "printer (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.Printer", false]], "processor (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.Processor", false]], "psramop (class in squishy.gateware.peripherals.psram)": [[22, "squishy.gateware.peripherals.psram.PSRAMOp", false]], "read (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.read", false]], "read (squishy.gateware.peripherals.flash.spiflashop attribute)": [[22, "squishy.gateware.peripherals.flash.SPIFlashOp.READ", false]], "read_capacity (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.read_capacity", false]], "readonlydirectaccess (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.ReadOnlyDirectAccess", false]], "reassign_blocks (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.reassign_blocks", false]], "receive_data() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.receive_data", false]], "receive_zlp() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.receive_zlp", false]], "receivediagnosticresults (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.ReceiveDiagnosticResults", false]], "register_args() (squishy.applets.squishyapplet method)": [[13, "squishy.applets.SquishyApplet.register_args", false]], "release (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.release", false]], "requestsense (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.RequestSense", false]], "reserve (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.reserve", false]], "reserved_end (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.RESERVED_END", false]], "reserved_end (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.RESERVED_END", false]], "reserved_start (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.RESERVED_START", false]], "reserved_start (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.RESERVED_START", false]], "reservedend (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.ReservedEnd", false]], "reservedstart (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.ReservedStart", false]], "reset() (squishy.device.squishydevice method)": [[14, "squishy.device.SquishyDevice.reset", false]], "restore_ptr (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.RESTORE_PTR", false]], "rev1 (class in squishy.gateware.bootloader.rev1)": [[18, "squishy.gateware.bootloader.rev1.Rev1", false]], "rev1clockdomaingenerator (class in squishy.gateware.platform.rev1)": [[25, "squishy.gateware.platform.rev1.Rev1ClockDomainGenerator", false]], "rev2 (class in squishy.gateware.bootloader.rev2)": [[19, "squishy.gateware.bootloader.rev2.Rev2", false]], "rev2clockdomaingenerator (class in squishy.gateware.platform.rev2)": [[26, "squishy.gateware.platform.rev2.Rev2ClockDomainGenerator", false]], "revision (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.revision", false]], "revision (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.revision", false]], "revision_str (squishy.gateware.platform.squishyplatform property)": [[23, "squishy.gateware.platform.SquishyPlatform.revision_str", false]], "revision_str (squishy.gateware.squishyplatform property)": [[21, "squishy.gateware.SquishyPlatform.revision_str", false]], "rezero_unit (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.rezero_unit", false]], "rising (squishy.gateware.peripherals.spi.spicpha attribute)": [[22, "squishy.gateware.peripherals.spi.SPICPHA.RISING", false]], "run() (squishy.applets.squishyapplet method)": [[13, "squishy.applets.SquishyApplet.run", false]], "save_data_ptr (squishy.scsi.messages.messagecodes attribute)": [[46, "squishy.scsi.messages.MessageCodes.SAVE_DATA_PTR", false]], "scsicommand (class in squishy.scsi.command)": [[38, "squishy.scsi.command.SCSICommand", false]], "scsicommand10 (class in squishy.scsi.command)": [[38, "squishy.scsi.command.SCSICommand10", false]], "scsicommand12 (class in squishy.scsi.command)": [[38, "squishy.scsi.command.SCSICommand12", false]], "scsicommand6 (class in squishy.scsi.command)": [[38, "squishy.scsi.command.SCSICommand6", false]], "scsicommandfield (class in squishy.scsi.command)": [[38, "squishy.scsi.command.SCSICommandField", false]], "search_data (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.search_data", false]], "seek (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.seek", false]], "send_data() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.send_data", false]], "send_dfu_detach() (squishy.support.test.dfugatewaretest method)": [[29, "squishy.support.test.DFUGatewareTest.send_dfu_detach", false]], "send_dfu_download() (squishy.support.test.dfugatewaretest method)": [[29, "squishy.support.test.DFUGatewareTest.send_dfu_download", false]], "send_dfu_get_state() (squishy.support.test.dfugatewaretest method)": [[29, "squishy.support.test.DFUGatewareTest.send_dfu_get_state", false]], "send_dfu_get_status() (squishy.support.test.dfugatewaretest method)": [[29, "squishy.support.test.DFUGatewareTest.send_dfu_get_status", false]], "send_get_desc() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.send_get_desc", false]], "send_setup() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.send_setup", false]], "send_setup_set_interface() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.send_setup_set_interface", false]], "senddiagnostic (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.SendDiagnostic", false]], "sequentialaccess (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.SequentialAccess", false]], "set_limits (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.set_limits", false]], "setup_received() (squishy.support.test.usbgatewaretest method)": [[29, "squishy.support.test.USBGatewareTest.setup_received", false]], "slew_and_print (in module squishy.scsi.commands.printer)": [[39, "squishy.scsi.commands.printer.slew_and_print", false]], "spicontroller (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPIController", false]], "spicpha (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPICPHA", false]], "spicpol (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPICPOL", false]], "spiflashop (class in squishy.gateware.peripherals.flash)": [[22, "squishy.gateware.peripherals.flash.SPIFlashOp", false]], "spigatewaretest (class in squishy.support.test)": [[29, "squishy.support.test.SPIGatewareTest", false]], "spiinterface (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPIInterface", false]], "spiinterfacemode (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPIInterfaceMode", false]], "spiperipheral (class in squishy.gateware.peripherals.spi)": [[22, "squishy.gateware.peripherals.spi.SPIPeripheral", false]], "spipsram (class in squishy.gateware.peripherals.psram)": [[22, "squishy.gateware.peripherals.psram.SPIPSRAM", false]], "spipsramcmd (class in squishy.gateware.peripherals.psram)": [[22, "squishy.gateware.peripherals.psram.SPIPSRAMCmd", false]], "squishy (class in squishy.gateware)": [[21, "squishy.gateware.Squishy", false]], "squishy.applets.analyzer": [[0, "module-squishy.applets.analyzer", false]], "squishy.core.pcapng": [[34, "module-squishy.core.pcapng", false]], "squishy.gateware": [[21, "module-squishy.gateware", false]], "squishy.gateware.applet": [[16, "module-squishy.gateware.applet", false]], "squishy.gateware.bootloader": [[17, "module-squishy.gateware.bootloader", false]], "squishy.gateware.bootloader.rev1": [[18, "module-squishy.gateware.bootloader.rev1", false]], "squishy.gateware.bootloader.rev2": [[19, "module-squishy.gateware.bootloader.rev2", false]], "squishy.gateware.core": [[20, "module-squishy.gateware.core", false]], "squishy.gateware.peripherals": [[22, "module-squishy.gateware.peripherals", false]], "squishy.gateware.peripherals.flash": [[22, "module-squishy.gateware.peripherals.flash", false]], "squishy.gateware.peripherals.psram": [[22, "module-squishy.gateware.peripherals.psram", false]], "squishy.gateware.peripherals.spi": [[22, "module-squishy.gateware.peripherals.spi", false]], "squishy.gateware.platform": [[23, "module-squishy.gateware.platform", false]], "squishy.gateware.platform.resources": [[24, "module-squishy.gateware.platform.resources", false]], "squishy.gateware.platform.rev1": [[25, "module-squishy.gateware.platform.rev1", false]], "squishy.gateware.platform.rev2": [[26, "module-squishy.gateware.platform.rev2", false]], "squishy.gateware.scsi": [[27, "module-squishy.gateware.scsi", false]], "squishy.gateware.scsi.quirks": [[28, "module-squishy.gateware.scsi.quirks", false]], "squishy.gateware.usb": [[30, "module-squishy.gateware.usb", false]], "squishy.gateware.usb.dfu": [[30, "module-squishy.gateware.usb.dfu", false]], "squishy.gateware.usb.quirks": [[31, "module-squishy.gateware.usb.quirks", false]], "squishy.gateware.usb.quirks.windows": [[31, "module-squishy.gateware.usb.quirks.windows", false]], "squishy.scsi": [[45, "module-squishy.scsi", false]], "squishy.scsi.command": [[38, "module-squishy.scsi.command", false]], "squishy.scsi.commands": [[38, "module-squishy.scsi.commands", false]], "squishy.scsi.commands.common": [[36, "module-squishy.scsi.commands.common", false]], "squishy.scsi.commands.direct": [[37, "module-squishy.scsi.commands.direct", false]], "squishy.scsi.commands.printer": [[39, "module-squishy.scsi.commands.printer", false]], "squishy.scsi.commands.processor": [[40, "module-squishy.scsi.commands.processor", false]], "squishy.scsi.commands.ro_direct": [[41, "module-squishy.scsi.commands.ro_direct", false]], "squishy.scsi.commands.sequential": [[42, "module-squishy.scsi.commands.sequential", false]], "squishy.scsi.commands.worm": [[43, "module-squishy.scsi.commands.worm", false]], "squishy.scsi.device": [[44, "module-squishy.scsi.device", false]], "squishy.scsi.messages": [[46, "module-squishy.scsi.messages", false]], "squishy.support.test": [[29, "module-squishy.support.test", false]], "squishyapplet (class in squishy.applets)": [[13, "squishy.applets.SquishyApplet", false]], "squishybootloader (class in squishy.gateware)": [[21, "squishy.gateware.SquishyBootloader", false]], "squishybootloader (class in squishy.gateware.bootloader)": [[17, "squishy.gateware.bootloader.SquishyBootloader", false]], "squishydevice (class in squishy.device)": [[14, "squishy.device.SquishyDevice", false]], "squishygatewaretest (class in squishy.support.test)": [[29, "squishy.support.test.SquishyGatewareTest", false]], "squishyplatform (class in squishy.gateware)": [[21, "squishy.gateware.SquishyPlatform", false]], "squishyplatform (class in squishy.gateware.platform)": [[23, "squishy.gateware.platform.SquishyPlatform", false]], "squishyrev1 (class in squishy.gateware.platform.rev1)": [[25, "squishy.gateware.platform.rev1.SquishyRev1", false]], "squishyrev2 (class in squishy.gateware.platform.rev2)": [[26, "squishy.gateware.platform.rev2.SquishyRev2", false]], "start_stop_unit (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.start_stop_unit", false]], "supported_platforms (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.supported_platforms", false]], "sync_data_xfr_req (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.SYNC_DATA_XFR_REQ", false]], "testunitready (in module squishy.scsi.commands.common)": [[36, "squishy.scsi.commands.common.TestUnitReady", false]], "upload() (squishy.device.squishydevice method)": [[14, "squishy.device.SquishyDevice.upload", false]], "usb_assert_j() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_assert_j", false]], "usb_assert_k() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_assert_k", false]], "usb_assert_sync() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_assert_sync", false]], "usb_consume_byte() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_consume_byte", false]], "usb_consume_response() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_consume_response", false]], "usb_data() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_data", false]], "usb_emit_bits() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_emit_bits", false]], "usb_eop() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_eop", false]], "usb_get_ack() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_ack", false]], "usb_get_config() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_config", false]], "usb_get_stall() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_stall", false]], "usb_get_state() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_state", false]], "usb_get_string() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_string", false]], "usb_get_zlp() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_get_zlp", false]], "usb_in() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_in", false]], "usb_init_descriptors() (squishy.gateware.applet.appletelaboratable class method)": [[16, "squishy.gateware.applet.AppletElaboratable.usb_init_descriptors", false]], "usb_initialize() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_initialize", false]], "usb_j() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_j", false]], "usb_k() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_k", false]], "usb_out() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_out", false]], "usb_request_handlers (squishy.gateware.applet.appletelaboratable property)": [[16, "squishy.gateware.applet.AppletElaboratable.usb_request_handlers", false]], "usb_send_ack() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_send_ack", false]], "usb_send_setup_pkt() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_send_setup_pkt", false]], "usb_send_zlp() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_send_zlp", false]], "usb_set_addr() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_set_addr", false]], "usb_set_config() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_set_config", false]], "usb_set_interface() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_set_interface", false]], "usb_setup() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_setup", false]], "usb_single_one() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_single_one", false]], "usb_single_zero() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_single_zero", false]], "usb_sof() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_sof", false]], "usb_solicit() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_solicit", false]], "usb_sync() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_sync", false]], "usb_wait_j() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_wait_j", false]], "usb_wait_k() (squishy.support.test.usbgatewarephytest method)": [[29, "squishy.support.test.USBGatewarePHYTest.usb_wait_k", false]], "usbgatewarephytest (class in squishy.support.test)": [[29, "squishy.support.test.USBGatewarePHYTest", false]], "usbgatewaretest (class in squishy.support.test)": [[29, "squishy.support.test.USBGatewareTest", false]], "vendor_end (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.VENDOR_END", false]], "vendor_start (squishy.scsi.messages.extendedmessagecodes attribute)": [[46, "squishy.scsi.messages.ExtendedMessageCodes.VENDOR_START", false]], "vendoruniqueend (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.VendorUniqueEnd", false]], "vendoruniquestart (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.VendorUniqueStart", false]], "verify (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.verify", false]], "version (squishy.applets.squishyapplet property)": [[13, "squishy.applets.SquishyApplet.version", false]], "windowsrequesthandler (class in squishy.gateware.usb.quirks.windows)": [[31, "squishy.gateware.usb.quirks.windows.WindowsRequestHandler", false]], "worm (squishy.scsi.device.peripheraldevicetype attribute)": [[44, "squishy.scsi.device.PeripheralDeviceType.WORM", false]], "write (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.write", false]], "write (squishy.gateware.peripherals.flash.spiflashop attribute)": [[22, "squishy.gateware.peripherals.flash.SPIFlashOp.WRITE", false]], "write_and_verify (in module squishy.scsi.commands.direct)": [[37, "squishy.scsi.commands.direct.write_and_verify", false]]}, "objects": {"squishy": [[21, 3, 0, "-", "gateware"], [45, 3, 0, "-", "scsi"]], "squishy.applets": [[13, 0, 1, "", "SquishyApplet"], [0, 3, 0, "-", "analyzer"]], "squishy.applets.SquishyApplet": [[13, 1, 1, "", "description"], [13, 2, 1, "", "initialize"], [13, 2, 1, "", "is_supported"], [13, 1, 1, "", "name"], [13, 1, 1, "", "pnr_seed"], [13, 1, 1, "", "preview"], [13, 2, 1, "", "register_args"], [13, 2, 1, "", "run"], [13, 1, 1, "", "supported_platforms"], [13, 1, 1, "", "version"]], "squishy.core": [[34, 3, 0, "-", "pcapng"]], "squishy.core.pcapng": [[34, 0, 1, "", "PCAPNGStream"]], "squishy.core.pcapng.PCAPNGStream": [[34, 2, 1, "", "emit_header"], [34, 2, 1, "", "emit_interface"]], "squishy.device": [[14, 0, 1, "", "SquishyDevice"]], "squishy.device.SquishyDevice": [[14, 2, 1, "", "can_dfu"], [14, 2, 1, "", "enumerate"], [14, 2, 1, "", "generate_serial"], [14, 2, 1, "", "get_altmodes"], [14, 2, 1, "", "get_device"], [14, 2, 1, "", "get_platform"], [14, 2, 1, "", "reset"], [14, 2, 1, "", "upload"]], "squishy.gateware": [[21, 0, 1, "", "Squishy"], [21, 0, 1, "", "SquishyBootloader"], [21, 0, 1, "", "SquishyPlatform"], [16, 3, 0, "-", "applet"], [17, 3, 0, "-", "bootloader"], [20, 3, 0, "-", "core"], [22, 3, 0, "-", "peripherals"], [23, 3, 0, "-", "platform"], [27, 3, 0, "-", "scsi"], [30, 3, 0, "-", "usb"]], "squishy.gateware.SquishyPlatform": [[21, 2, 1, "", "all_resources_by_name"], [21, 1, 1, "", "bitstream_suffix"], [21, 2, 1, "", "build_image"], [21, 1, 1, "", "clk_domain_generator"], [21, 1, 1, "", "ephemeral_slot"], [21, 1, 1, "", "flash"], [21, 2, 1, "", "pack_artifact"], [21, 1, 1, "", "pll_cfg"], [21, 1, 1, "", "revision"], [21, 1, 1, "", "revision_str"]], "squishy.gateware.applet": [[16, 0, 1, "", "AppletElaboratable"]], "squishy.gateware.applet.AppletElaboratable": [[16, 2, 1, "", "elaborate"], [16, 2, 1, "", "usb_init_descriptors"], [16, 1, 1, "", "usb_request_handlers"]], "squishy.gateware.bootloader": [[17, 0, 1, "", "SquishyBootloader"], [18, 3, 0, "-", "rev1"], [19, 3, 0, "-", "rev2"]], "squishy.gateware.bootloader.rev1": [[18, 0, 1, "", "Rev1"]], "squishy.gateware.bootloader.rev2": [[19, 0, 1, "", "Rev2"]], "squishy.gateware.peripherals": [[22, 3, 0, "-", "flash"], [22, 3, 0, "-", "psram"], [22, 3, 0, "-", "spi"]], "squishy.gateware.peripherals.flash": [[22, 0, 1, "", "SPIFlashOp"]], "squishy.gateware.peripherals.flash.SPIFlashOp": [[22, 4, 1, "", "ERASE"], [22, 4, 1, "", "NONE"], [22, 4, 1, "", "READ"], [22, 4, 1, "", "WRITE"]], "squishy.gateware.peripherals.psram": [[22, 0, 1, "", "PSRAMOp"], [22, 0, 1, "", "SPIPSRAM"], [22, 0, 1, "", "SPIPSRAMCmd"]], "squishy.gateware.peripherals.spi": [[22, 0, 1, "", "SPICPHA"], [22, 0, 1, "", "SPICPOL"], [22, 0, 1, "", "SPIController"], [22, 0, 1, "", "SPIInterface"], [22, 0, 1, "", "SPIInterfaceMode"], [22, 0, 1, "", "SPIPeripheral"]], "squishy.gateware.peripherals.spi.SPICPHA": [[22, 4, 1, "", "FALLING"], [22, 4, 1, "", "RISING"]], "squishy.gateware.peripherals.spi.SPICPOL": [[22, 4, 1, "", "HIGH"], [22, 4, 1, "", "LOW"]], "squishy.gateware.peripherals.spi.SPIInterfaceMode": [[22, 4, 1, "", "BOTH"], [22, 4, 1, "", "CONTROLLER"], [22, 4, 1, "", "PERIPHERAL"]], "squishy.gateware.platform": [[23, 0, 1, "", "SquishyPlatform"], [24, 3, 0, "-", "resources"], [25, 3, 0, "-", "rev1"], [26, 3, 0, "-", "rev2"]], "squishy.gateware.platform.SquishyPlatform": [[23, 2, 1, "", "all_resources_by_name"], [23, 1, 1, "", "bitstream_suffix"], [23, 2, 1, "", "build_image"], [23, 1, 1, "", "clk_domain_generator"], [23, 1, 1, "", "ephemeral_slot"], [23, 1, 1, "", "flash"], [23, 2, 1, "", "pack_artifact"], [23, 1, 1, "", "pll_cfg"], [23, 1, 1, "", "revision"], [23, 1, 1, "", "revision_str"]], "squishy.gateware.platform.rev1": [[25, 0, 1, "", "Rev1ClockDomainGenerator"], [25, 0, 1, "", "SquishyRev1"]], "squishy.gateware.platform.rev1.SquishyRev1": [[25, 2, 1, "", "build_image"], [25, 4, 1, "", "clk_domain_generator"], [25, 2, 1, "", "pack_artifact"]], "squishy.gateware.platform.rev2": [[26, 0, 1, "", "Rev2ClockDomainGenerator"], [26, 0, 1, "", "SquishyRev2"]], "squishy.gateware.platform.rev2.SquishyRev2": [[26, 2, 1, "", "build_image"], [26, 4, 1, "", "clk_domain_generator"], [26, 2, 1, "", "pack_artifact"]], "squishy.gateware.scsi": [[28, 3, 0, "-", "quirks"]], "squishy.gateware.usb": [[30, 3, 0, "-", "dfu"], [31, 3, 0, "-", "quirks"]], "squishy.gateware.usb.dfu": [[30, 0, 1, "", "DFURequestHandler"]], "squishy.gateware.usb.quirks": [[31, 3, 0, "-", "windows"]], "squishy.gateware.usb.quirks.windows": [[31, 0, 1, "", "WindowsRequestHandler"]], "squishy.gateware.usb.quirks.windows.WindowsRequestHandler": [[31, 2, 1, "", "handler_condition"]], "squishy.scsi": [[38, 3, 0, "-", "command"], [38, 3, 0, "-", "commands"], [44, 3, 0, "-", "device"], [46, 3, 0, "-", "messages"]], "squishy.scsi.command": [[38, 0, 1, "", "CommandEmitter"], [38, 0, 1, "", "GroupCode"], [38, 0, 1, "", "SCSICommand"], [38, 0, 1, "", "SCSICommand10"], [38, 0, 1, "", "SCSICommand12"], [38, 0, 1, "", "SCSICommand6"], [38, 0, 1, "", "SCSICommandField"]], "squishy.scsi.command.CommandEmitter": [[38, 2, 1, "", "emit"]], "squishy.scsi.command.GroupCode": [[38, 4, 1, "", "GROUP0"], [38, 4, 1, "", "GROUP1"], [38, 4, 1, "", "GROUP2"], [38, 4, 1, "", "GROUP3"], [38, 4, 1, "", "GROUP4"], [38, 4, 1, "", "GROUP5"], [38, 4, 1, "", "GROUP6"], [38, 4, 1, "", "GROUP7"]], "squishy.scsi.command.SCSICommand": [[38, 2, 1, "", "len"], [38, 2, 1, "", "parse"]], "squishy.scsi.commands": [[36, 3, 0, "-", "common"], [37, 3, 0, "-", "direct"], [39, 3, 0, "-", "printer"], [40, 3, 0, "-", "processor"], [41, 3, 0, "-", "ro_direct"], [42, 3, 0, "-", "sequential"], [43, 3, 0, "-", "worm"]], "squishy.scsi.commands.common": [[36, 5, 1, "", "Compare"], [36, 5, 1, "", "Copy"], [36, 5, 1, "", "CopyAndVerify"], [36, 5, 1, "", "Inquiry"], [36, 5, 1, "", "ReceiveDiagnosticResults"], [36, 5, 1, "", "RequestSense"], [36, 5, 1, "", "SendDiagnostic"], [36, 5, 1, "", "TestUnitReady"]], "squishy.scsi.commands.direct": [[37, 5, 1, "", "format_unit"], [37, 5, 1, "", "mode_select"], [37, 5, 1, "", "mode_sense"], [37, 5, 1, "", "prevent_allow_media_removal"], [37, 5, 1, "", "read"], [37, 5, 1, "", "read_capacity"], [37, 5, 1, "", "reassign_blocks"], [37, 5, 1, "", "release"], [37, 5, 1, "", "reserve"], [37, 5, 1, "", "rezero_unit"], [37, 5, 1, "", "search_data"], [37, 5, 1, "", "seek"], [37, 5, 1, "", "set_limits"], [37, 5, 1, "", "start_stop_unit"], [37, 5, 1, "", "verify"], [37, 5, 1, "", "write"], [37, 5, 1, "", "write_and_verify"]], "squishy.scsi.commands.printer": [[39, 5, 1, "", "flush_buffer"], [39, 5, 1, "", "format_printer"], [39, 5, 1, "", "print_cmd"], [39, 5, 1, "", "slew_and_print"]], "squishy.scsi.device": [[44, 0, 1, "", "PeripheralDeviceType"]], "squishy.scsi.device.PeripheralDeviceType": [[44, 4, 1, "", "DirectAccess"], [44, 4, 1, "", "LogicalUnitNotPresent"], [44, 4, 1, "", "Printer"], [44, 4, 1, "", "Processor"], [44, 4, 1, "", "ReadOnlyDirectAccess"], [44, 4, 1, "", "ReservedEnd"], [44, 4, 1, "", "ReservedStart"], [44, 4, 1, "", "SequentialAccess"], [44, 4, 1, "", "VendorUniqueEnd"], [44, 4, 1, "", "VendorUniqueStart"], [44, 4, 1, "", "WORM"]], "squishy.scsi.messages": [[46, 0, 1, "", "ExtendedMessageCodes"], [46, 0, 1, "", "MessageCodes"]], "squishy.scsi.messages.ExtendedMessageCodes": [[46, 4, 1, "", "EXTENDED_IDENT"], [46, 4, 1, "", "MODIFY_DATA_PTR"], [46, 4, 1, "", "RESERVED_END"], [46, 4, 1, "", "RESERVED_START"], [46, 4, 1, "", "SYNC_DATA_XFR_REQ"], [46, 4, 1, "", "VENDOR_END"], [46, 4, 1, "", "VENDOR_START"]], "squishy.scsi.messages.MessageCodes": [[46, 4, 1, "", "ABORT"], [46, 4, 1, "", "BUS_DEV_RESET"], [46, 4, 1, "", "COMMAND_COMPLETE"], [46, 4, 1, "", "DISCONNECT"], [46, 4, 1, "", "EXTENDED_MESSAGE"], [46, 4, 1, "", "IDENTIFY_END"], [46, 4, 1, "", "IDENTIFY_START"], [46, 4, 1, "", "INT_DETECT_ERR"], [46, 4, 1, "", "LINK_CMD_COM"], [46, 4, 1, "", "LINK_CMD_COM_F"], [46, 4, 1, "", "MESSAGE_REJECT"], [46, 4, 1, "", "MSG_PARITY_ERR"], [46, 4, 1, "", "NOP"], [46, 4, 1, "", "RESERVED_END"], [46, 4, 1, "", "RESERVED_START"], [46, 4, 1, "", "RESTORE_PTR"], [46, 4, 1, "", "SAVE_DATA_PTR"]], "squishy.support": [[29, 3, 0, "-", "test"]], "squishy.support.test": [[29, 0, 1, "", "DFUGatewareTest"], [29, 0, 1, "", "SPIGatewareTest"], [29, 0, 1, "", "SquishyGatewareTest"], [29, 0, 1, "", "USBGatewarePHYTest"], [29, 0, 1, "", "USBGatewareTest"]], "squishy.support.test.DFUGatewareTest": [[29, 2, 1, "", "send_dfu_detach"], [29, 2, 1, "", "send_dfu_download"], [29, 2, 1, "", "send_dfu_get_state"], [29, 2, 1, "", "send_dfu_get_status"]], "squishy.support.test.USBGatewarePHYTest": [[29, 2, 1, "", "crc16"], [29, 2, 1, "", "crc16_buff"], [29, 2, 1, "", "crc5"], [29, 2, 1, "", "usb_assert_j"], [29, 2, 1, "", "usb_assert_k"], [29, 2, 1, "", "usb_assert_sync"], [29, 2, 1, "", "usb_consume_byte"], [29, 2, 1, "", "usb_consume_response"], [29, 2, 1, "", "usb_data"], [29, 2, 1, "", "usb_emit_bits"], [29, 2, 1, "", "usb_eop"], [29, 2, 1, "", "usb_get_ack"], [29, 2, 1, "", "usb_get_config"], [29, 2, 1, "", "usb_get_stall"], [29, 2, 1, "", "usb_get_state"], [29, 2, 1, "", "usb_get_string"], [29, 2, 1, "", "usb_get_zlp"], [29, 2, 1, "", "usb_in"], [29, 2, 1, "", "usb_initialize"], [29, 2, 1, "", "usb_j"], [29, 2, 1, "", "usb_k"], [29, 2, 1, "", "usb_out"], [29, 2, 1, "", "usb_send_ack"], [29, 2, 1, "", "usb_send_setup_pkt"], [29, 2, 1, "", "usb_send_zlp"], [29, 2, 1, "", "usb_set_addr"], [29, 2, 1, "", "usb_set_config"], [29, 2, 1, "", "usb_set_interface"], [29, 2, 1, "", "usb_setup"], [29, 2, 1, "", "usb_single_one"], [29, 2, 1, "", "usb_single_zero"], [29, 2, 1, "", "usb_sof"], [29, 2, 1, "", "usb_solicit"], [29, 2, 1, "", "usb_sync"], [29, 2, 1, "", "usb_wait_j"], [29, 2, 1, "", "usb_wait_k"]], "squishy.support.test.USBGatewareTest": [[29, 2, 1, "", "ensure_stall"], [29, 2, 1, "", "receive_data"], [29, 2, 1, "", "receive_zlp"], [29, 2, 1, "", "send_data"], [29, 2, 1, "", "send_get_desc"], [29, 2, 1, "", "send_setup"], [29, 2, 1, "", "send_setup_set_interface"], [29, 2, 1, "", "setup_received"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "property", "Python property"], "2": ["py", "method", "Python method"], "3": ["py", "module", "Python module"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "data", "Python data"]}, "objtypes": {"0": "py:class", "1": "py:property", "2": "py:method", "3": "py:module", "4": "py:attribute", "5": "py:data"}, "terms": {"": [1, 3, 5, 10, 11, 14, 15, 19, 29, 31, 35, 36, 38], "0": [7, 11, 13, 16, 17, 18, 19, 21, 22, 25, 26, 29, 30, 31, 36, 37, 38, 39, 44, 46, 51], "00": 36, "02": 11, "03": 36, "0402": 7, "07": [7, 11], "0b000": 38, "0b0000000": 36, "0b001": 38, "0b010": 38, "0b011": 38, "0b100": 38, "0b101": 38, "0b110": 38, "0b111": 38, "0x": 38, "0x0": 36, "0x00": [36, 38, 46], "0x01": [36, 38, 46], "0x02": [36, 38, 46], "0x03": [36, 38, 46], "0x04": [36, 38], "0x05": [36, 38, 46], "0x06": 38, "0x07": [31, 38], "0x08": [31, 38], "0x09": 38, "0x0a": 38, "0x0b": 38, "0x0c": 38, "0x0d": 38, "0x0e": 38, "0x0f": [36, 38], "0x1": 36, "0x10": [36, 38], "0x11": 38, "0x12": 38, "0x13": 38, "0x14": 38, "0x15": 38, "0x17": 38, "0x18": 38, "0x19": 38, "0x1a": 38, "0x1b": 38, "0x1c": 38, "0x1d": 38, "0x1e": 38, "0x1f": [36, 38], "0x2": 36, "0x3": 36, "0x4": 36, "0x5": 36, "0x6": 36, "0x7": 36, "0x8": 36, "0x9": 36, "0xa": 36, "0xab": 38, "0xb": 36, "0xc": 36, "0xd": 36, "0xe": 36, "0xf": 36, "1": [5, 10, 19, 22, 25, 27, 29, 36, 37, 38, 44, 46], "10": [11, 27, 36, 46], "100": [5, 10], "1000": 29, "100k": [17, 21], "100mhz": 25, "1024": 22, "10n": 27, "11": [7, 36, 46], "12": [36, 46], "1209": 51, "126": 44, "127": [44, 46], "128": [34, 44, 46], "13": [36, 46], "13mhz": 8, "14": 36, "15": 36, "16": [18, 19, 30], "16mhz": 8, "18": 36, "19": 36, "1986": 36, "1a": 36, "1c": 36, "1d": 36, "1\u00b5": 29, "2": [7, 10, 18, 19, 22, 26, 27, 29, 30, 31, 36, 38, 44, 46], "200u": 27, "2024": [7, 11], "20240702": 11, "2048": 46, "20n": 27, "24": 22, "2500": 14, "250m": 27, "255": [44, 46], "256": [29, 36, 46], "25u": 27, "2u": 27, "3": [7, 9, 10, 11, 22, 26, 36, 38, 44, 46, 47], "30n": 27, "30\u00b5": 29, "313": 36, "320": 5, "39": 11, "4": [10, 19, 22, 36, 38, 44, 46], "400n": 27, "4096": 34, "45f": 26, "45n": 27, "4n": [27, 46], "4u": 27, "5": [10, 36, 38, 44, 46], "50usd": 10, "5g": [9, 26], "5n": 27, "6": [10, 29, 36, 38, 44, 46], "60mhz": [25, 26], "6u": 27, "7": [10, 11, 36, 38, 46], "8": [7, 8, 10, 22, 29, 36, 38, 46], "800n": 27, "8601": 14, "8u": 27, "9": [8, 10, 36, 38, 46], "90n": 27, "98usd": 10, "A": [10, 13, 14, 21, 22, 23, 29, 31, 34, 36, 38], "And": 38, "As": [3, 7, 19, 27, 36], "At": 11, "BY": 47, "But": [5, 11], "By": [13, 38], "For": [1, 5, 10, 11, 12, 15, 17, 21, 36], "IN": [29, 36, 46], "If": [3, 4, 5, 7, 11, 13, 14, 18, 19, 21, 23, 25, 26, 29, 30, 31, 36, 38, 46], "In": [5, 27, 31, 36, 46], "It": [0, 1, 5, 9, 10, 11, 13, 16, 17, 21, 22, 23, 25, 26, 29, 31, 36, 38, 46], "NOT": [36, 38], "No": [10, 22, 36, 46], "Not": 36, "Of": 36, "On": [11, 25, 36], "Such": 5, "THe": 36, "That": 5, "The": [0, 2, 3, 5, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32, 34, 36, 38, 44, 45, 46, 47, 50], "Then": 10, "There": [1, 7, 10, 17, 21, 25, 26, 36, 46], "These": [11, 36, 46], "To": [4, 5, 6, 29, 31, 38, 46, 50], "WITH": 38, "With": [11, 12, 46], "_": [0, 34], "_pcapnginterfac": 34, "_squishi": 3, "abil": 9, "abl": [5, 7, 36, 38, 50], "abort": [27, 36, 46], "about": [5, 22], "absenc": 46, "absolut": 29, "abstract": [13, 16, 21, 23, 27], "accept": 36, "access": [5, 22, 29, 36, 42, 44], "accomplish": 10, "accord": 31, "account": 38, "accur": 10, "achiev": [5, 10], "ack": [19, 29, 31, 46], "acknowledg": [18, 19, 30], "act": [10, 17, 18, 19, 21, 22, 27, 30], "action": [3, 36], "activ": [11, 22, 25, 26, 29, 46], "active_mod": 22, "actual": [17, 21, 36, 38], "ad": [34, 38], "adapt": [10, 27], "add": [11, 32, 34, 46], "addit": [5, 16, 19, 25, 29, 36, 46], "addr": 29, "address": [13, 22, 29, 30, 36, 46], "addrvalid": 36, "adher": 2, "adjust": 36, "after": [5, 11, 38, 46], "again": [36, 50], "against": [13, 29], "agent": 47, "ahead": 38, "al": 5, "alia": [25, 26], "all": [2, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15, 17, 21, 23, 27, 29, 30, 31, 32, 36, 45, 46], "all_resources_by_nam": [21, 23], "alloc": 36, "alloclen": [36, 38], "allow": [0, 1, 3, 4, 5, 9, 10, 12, 13, 15, 16, 27, 31, 32, 36, 37, 38, 46], "almost": [10, 46], "along": [27, 32], "alreadi": [4, 7, 11], "also": [5, 9, 10, 11, 12, 13, 17, 21, 23, 32, 34, 35, 36, 38], "alt": [14, 17, 18, 19, 21, 23, 29, 30], "alt_mod": 29, "alter": 36, "altern": 29, "although": 38, "altmod": 14, "alwai": [7, 10, 46], "amaz": 47, "amranth": 31, "an": [1, 3, 5, 7, 9, 10, 11, 13, 14, 17, 18, 19, 21, 22, 25, 26, 27, 29, 30, 31, 32, 36, 38, 46, 47, 50], "analysi": 12, "analyz": [1, 4, 10, 34], "ani": [1, 5, 7, 10, 13, 16, 17, 18, 19, 21, 22, 25, 26, 30, 31, 34, 36, 38, 46, 50], "anoth": [22, 36], "ansi": 36, "anyth": 12, "anywai": [17, 21], "apart": 46, "api": [10, 13, 14, 16, 32], "appl": 11, "applet": [4, 10, 12, 17, 21, 23, 32, 34, 50], "appletelaborat": [13, 16, 21], "applic": [11, 12], "appropri": [5, 17, 21, 22, 23, 29, 36], "apt": 11, "ar": [1, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 21, 23, 25, 26, 27, 29, 30, 31, 36, 37, 38, 39, 40, 41, 42, 43, 46], "arbitr": 27, "arbitrari": 38, "arcan": 5, "arch": 11, "architectur": 11, "archiv": 7, "archlinux": 11, "area": 46, "arg": [3, 13, 16, 17, 18, 19, 21, 22, 23, 25, 26, 29, 30, 31, 46], "argpars": 13, "argspars": 13, "argument": [3, 13, 21, 23, 25, 26, 38, 46, 50], "argumentpars": 13, "aris": 5, "artifact": [21, 23, 25, 26], "ask": [10, 46], "aspect": [10, 12], "assembl": 5, "assembli": 7, "assert": [27, 29, 46], "assertionerror": 14, "assign": [17, 21, 36, 38], "associ": 36, "assum": [3, 7, 36, 47], "assur": 46, "ast": 31, "asyncfifo": [18, 19, 22, 30], "atn": 46, "attach": [3, 4, 14, 21, 23, 27, 34, 36, 38, 46, 47, 50], "attempt": [1, 9, 36, 46], "attent": 36, "augment": 29, "aur": 11, "auto": 22, "automat": [3, 38], "avail": [7, 10, 15, 36], "avoid": 19, "awai": 5, "awesom": 5, "b": [19, 38], "back": [5, 18, 19, 29, 30], "background": 47, "bake": 50, "bar": 38, "bare": 30, "base": [2, 4, 11, 13, 16, 21, 23, 25, 26, 27, 29, 32, 34, 38], "basi": 11, "bat": 11, "been": [5, 7, 8, 9, 11, 29, 31, 36, 46, 47], "befor": [6, 26, 46], "begin": [31, 46], "behavior": 38, "behind": [4, 5, 27], "being": [5, 10, 11, 13, 15, 22, 27, 31, 32, 34, 36, 46], "belong": 38, "below": [12, 15, 36, 46], "bespok": 12, "better": 46, "between": [5, 10, 19, 26, 27, 36, 38, 46], "beyond": 36, "bga": [5, 7], "bill": 7, "bin": [11, 29, 50, 51], "binaryio": 34, "bit": [17, 19, 21, 29, 36, 38, 46], "bit_len": 29, "bitsinteg": 38, "bitstream": [17, 19, 21, 23, 25, 26, 50], "bitstream_suffix": [21, 23], "bitstruct": 38, "bitwis": 38, "blank": [36, 50], "bll": 22, "block": [19, 34, 36, 37], "bluescsi": [5, 10], "board": [5, 7, 10, 25, 26, 50], "bool": [13, 14, 29, 30], "boot": [10, 19, 21, 23, 25, 26], "boot_nam": [21, 23, 25, 26], "boot_stub": 30, "bootload": [21, 23, 25, 26, 30, 50], "bot": 36, "both": [3, 5, 7, 13, 17, 21, 22, 30, 36, 38], "boundari": [22, 38, 44, 46], "box": 12, "break": 7, "brew": 11, "bridg": [8, 10], "brief": 5, "broken": [7, 21], "browser": 7, "bsd": [11, 47], "bu": [0, 4, 10, 12, 22, 24, 29, 36, 46], "buffer": [17, 19, 21, 29, 36, 38, 39], "bug": 5, "build": [5, 11, 21, 23, 25, 26, 32, 50, 51], "build_dir": [21, 23, 25, 26], "build_imag": [21, 23, 25, 26], "buildproduct": [21, 23, 25, 26], "built": [1, 5, 7, 11, 12, 15, 21, 23, 25, 26, 47], "bus_dev_reset": 46, "bus_hold": 19, "byte": [14, 21, 22, 23, 25, 26, 29, 34, 36, 38, 46], "byte_count": 22, "bytearrai": 34, "c": [22, 46], "ca70": 51, "ca71": 51, "cabl": 27, "cach": [17, 21, 23, 51], "cad": 11, "calcul": 38, "call": [1, 4, 11, 13, 29, 38, 47], "can": [3, 5, 7, 8, 10, 11, 12, 13, 14, 17, 19, 21, 22, 25, 26, 27, 29, 32, 34, 36, 38, 46, 47, 50], "can_dfu": 14, "cannot": [36, 38], "canonic": [21, 23], "capabl": [5, 14, 17, 21, 30, 50], "capac": 37, "captur": [4, 12, 34], "care": 5, "case": [7, 36, 46], "catalog": [8, 9], "catastroph": 7, "categori": [27, 36], "caus": [5, 29, 36, 46], "caution": 26, "cc": 47, "cd": 11, "cern": 5, "cfg": 29, "chanel": 5, "chang": [2, 7, 8, 18, 19, 26, 30, 36], "channel": [5, 10], "characterist": 38, "charg": 47, "chat": [5, 10], "check": [11, 13, 19, 29, 31, 36, 38, 46], "check_get_descriptor_set": 31, "checksum": [17, 21], "chip": 22, "choic": 5, "cipo": 22, "claim": 36, "class": [13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 29, 30, 31, 34, 36, 38, 44, 46], "classmethod": [14, 16], "claus": 47, "clean": 46, "clear": [27, 31, 36, 46], "cli": [12, 13], "click": 4, "clk": 22, "clk_domain_gener": [21, 23, 25, 26], "clock": [21, 22, 23, 25, 26, 30], "clone": 11, "cmd": 38, "code": [1, 10, 13, 29, 32, 36, 38, 46], "collect": [10, 14, 21, 23, 24, 29, 38], "com": [11, 34, 47], "combin": [1, 12, 13], "combinatori": 31, "come": [5, 7, 22, 46], "command": [3, 11, 13, 21, 22, 23, 25, 26, 36, 37, 39, 40, 41, 42, 43, 46, 50], "command_complet": 46, "commandemitt": 38, "comment": 10, "common": [14, 15, 16, 21, 23, 27, 38, 47], "commonli": [5, 38], "commun": [5, 13], "compar": [36, 38], "comparison": 36, "compat": [0, 7, 21, 23, 25, 26], "compil": 36, "complet": [7, 10, 19, 22, 30, 31, 34, 36, 38, 46], "complex": 19, "compli": 36, "complianc": 36, "complic": [5, 17, 19, 21, 38], "compon": [5, 8, 10, 15, 32], "compris": 10, "comput": [10, 29, 38, 47], "conclud": 31, "condit": [31, 36, 38, 46], "conduc": 5, "configur": [4, 13, 14, 15, 19, 21, 23, 29, 30, 36], "conjunct": 46, "connect": 27, "connector": 26, "consid": [8, 10, 36, 46], "consider": [17, 21], "consist": 29, "const": 46, "constitut": 8, "construct": 38, "constructerror": 38, "consum": [16, 29, 38, 45], "contain": [7, 19, 21, 24, 29, 31, 34, 36, 50], "content": 19, "context": 38, "contextkw": 38, "continu": [6, 36], "contrib": 3, "control": [10, 14, 19, 22, 27, 31, 38], "copi": [0, 3, 4, 22, 36, 38, 46], "copyandverifi": 36, "core": [0, 11, 16, 21, 25, 26, 34], "correct": [29, 31, 36], "corrupt": 50, "cost": [5, 10], "could": [12, 36], "count": 29, "cover": 5, "cpha": 22, "cpol": 22, "cpython": 11, "crc16": 29, "crc16_buff": 29, "crc5": 29, "crc_in": 29, "creat": [4, 11, 34, 38], "creativ": 47, "cs_control": 22, "cs_peripher": 22, "csr": 22, "ctxkw": 38, "curl": 11, "curr_addr": 22, "current": [1, 3, 7, 11, 14, 15, 17, 21, 22, 25, 26, 29, 31, 36, 46], "custom": 1, "cut": [5, 8], "cute": 10, "cycl": [17, 19, 21, 29, 31], "d": [3, 29, 51], "d_n": 29, "d_p": 29, "da": 37, "danger": [17, 21], "darwin": 11, "data": [4, 14, 18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 31, 35, 36, 37, 38, 46], "data0": 31, "data1": 31, "datasheet": 22, "date": [11, 29], "datetim": 14, "daynaport": 10, "deal": [31, 32, 35, 38, 45], "debian": 11, "debug": 3, "dedic": 10, "deduct": 38, "default": [11, 13, 14, 15, 17, 21, 22, 29, 34, 38], "defin": [10, 19, 31, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46], "definit": [14, 21, 25, 26], "deliv": 31, "demand": 5, "depend": [3, 5, 10, 11, 15, 17, 22, 38], "depict": 36, "deriv": [29, 38], "desc_collect": 16, "describ": [31, 36, 38], "descript": [13, 34, 36, 38, 46], "descriptor": [16, 29, 31, 36], "deserv": 5, "design": [5, 7, 8, 9, 10, 12, 25, 26, 36, 47], "deskew": 27, "dest": 36, "dest_slot": 19, "destin": [18, 19, 36], "detach": [14, 19, 29], "detail": [1, 5, 7, 10, 15, 32, 36, 46], "detect": [3, 36, 46], "determin": [13, 14, 36], "determinist": 38, "dev": [13, 14], "develop": [1, 5, 7, 10, 11, 12, 25, 26], "devic": [3, 10, 12, 13, 17, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32, 36, 37, 38, 39, 41, 42, 43, 45, 46], "devicecontain": 14, "devicedescriptorcollect": 16, "dfm": 7, "dfu": [14, 17, 18, 19, 21, 23, 26, 29, 30, 50, 51], "dfugatewaretest": 29, "dfurequesthandl": 30, "diagnost": [36, 38], "diagram": 12, "dict": [14, 38], "dictionari": 38, "did": [36, 46], "differ": [10, 36, 38, 46], "direct": [4, 5, 17, 21, 36, 44, 46], "directaccess": 44, "directli": [11, 17, 21, 29, 31], "directori": [1, 3, 4, 15, 21, 23, 25, 26, 47], "directusb": 29, "discard": [17, 21], "disconnect": [27, 46], "discord": 10, "discuss": [5, 10], "disk": [10, 44], "dispatch": [17, 21, 38], "displai": 13, "distinguish": [17, 21], "distribut": 11, "divid": 38, "divin": 47, "dl_complet": [18, 19, 30], "dl_done": [18, 19, 30], "dl_finish": [18, 19, 30], "dl_readi": [18, 19, 30], "dl_size": [18, 19, 30], "dl_start": [18, 19, 30], "dnf": 11, "do": [3, 5, 10, 11, 12, 17, 21, 34, 36, 46], "doc": [34, 47], "document": [2, 5, 8, 10, 12, 13, 32, 34, 36, 46], "doe": [4, 10, 13, 31, 36, 38, 46], "doesn": [4, 11], "domain": [21, 23, 25, 26, 30], "don": [17, 21, 31, 36, 38], "done": [4, 5, 11, 13, 17, 18, 19, 21, 22, 30, 34, 36, 50], "doubl": [4, 35], "down": 5, "download": [11, 19, 29, 30, 47], "drastic": 26, "drive": [3, 10, 29, 47], "driven": 30, "driver": 5, "drop": 19, "dual": 47, "duck": 31, "due": [5, 10, 11, 17, 19, 21, 22, 25, 36, 38], "dump": 19, "dure": [36, 46], "dut": 29, "e": [21, 23, 36, 38, 44], "each": [5, 7, 17, 21, 27, 29, 31, 36, 38, 46], "earli": [26, 36], "easier": 5, "easili": 32, "ecma": 36, "ecosystem": [5, 10], "ecp5": [9, 11, 26], "ecp5pllconfig": [21, 23], "edg": 22, "effect": [5, 25, 46], "effort": 11, "eight": 38, "either": [11, 17, 19, 22, 31, 38, 46], "elabor": [13, 16, 21, 23, 25, 26], "elaborat": [21, 23, 32], "electr": 22, "element": 10, "els": [5, 12], "emit": [29, 34, 38, 45], "emit_head": 34, "emit_interfac": 34, "emit_packet": 34, "emitt": [31, 34, 38], "empti": 38, "emul": [5, 10, 12, 29], "enabl": [10, 22, 29], "encount": 36, "end": [3, 9, 12, 29, 31, 36, 44, 46], "endian": 38, "endors": 10, "endpoint": [14, 29, 30], "engin": [7, 9, 26], "enough": 8, "ensur": [4, 11, 13, 46, 50], "ensure_stal": 29, "enter": [19, 31], "entir": [1, 9, 10, 11, 46], "entri": [4, 38], "enum": 36, "enumer": 14, "environ": 11, "eom": 36, "eot": 36, "ep": 29, "ephemer": [17, 19, 21, 23], "ephemeral_slot": [21, 23], "equal": 36, "eras": [19, 22], "errata": [25, 26], "error": [13, 36, 46], "establish": [19, 36, 46], "et": 5, "etc": [36, 47], "eval": 7, "evalu": [25, 26], "even": [10, 12, 17, 21, 36], "event": [19, 29], "ever": [22, 36], "everi": 7, "everyth": [5, 8, 12], "evt": 26, "examin": 36, "exampl": [3, 34, 36], "except": 38, "execut": [11, 36, 46], "exhaust": [5, 36], "exist": [4, 7, 36, 50], "expect": [3, 7, 11, 29, 30, 38], "explan": 10, "export": 11, "expos": [1, 14, 17, 21, 22, 29], "extcap": 4, "extend": [36, 37, 38, 46], "extended_id": 46, "extended_messag": 46, "extendedmessagecod": 46, "extens": 1, "extern": [25, 36, 38], "extra": 34, "extract": 11, "f": 10, "face": 13, "facilit": 46, "fact": [4, 5], "failur": 36, "fairli": 5, "fall": [22, 36], "fals": [13, 14, 30], "famili": 11, "far": 5, "fast": 27, "fast10": 10, "fastest": 10, "fatal": [26, 36, 46], "feasibl": 36, "featur": 36, "fed": 25, "fedora": 11, "feed": 22, "ffsynchron": 30, "fiddl": 47, "field": [36, 38, 46], "fifo": [18, 19, 22, 30], "file": [0, 2, 4, 7, 21, 23, 25, 26, 34, 36, 47, 50], "final": [11, 21, 23, 25, 26, 27, 38], "finish": [22, 46], "firmwar": [10, 14, 30], "first": [5, 6, 8, 11, 14, 15, 17, 21, 25, 26, 27, 36, 50], "five": 38, "fix": [8, 36, 38], "flag": [36, 38, 46], "flash": [8, 17, 18, 19, 21, 22, 23, 25, 26, 30], "flashconfig": [21, 23], "flaw": 36, "flesh": [0, 1, 3, 7, 8, 9, 12, 13, 14, 15], "flexibl": [5, 10, 12, 26], "float": 13, "flow": [31, 46], "flush": 39, "flush_buff": 39, "follow": [3, 4, 5, 6, 7, 8, 11, 12, 15, 17, 19, 21, 27, 29, 31, 34, 36, 38, 46], "foo": 38, "forc": 46, "fork": 5, "form": [14, 21, 23, 31], "format": [2, 7, 14, 34, 36, 37, 38, 39, 46], "format_print": 39, "format_unit": 37, "former": 3, "forseeabl": 5, "forward": 36, "found": [14, 21, 22, 23, 25, 26, 34, 47], "four": [36, 38], "fox": 47, "fpga": [8, 9, 18, 19, 21, 23, 25, 26], "frame": 29, "frame_numb": 29, "framework": 15, "free": [27, 46, 47], "from": [3, 4, 5, 8, 10, 11, 12, 13, 14, 17, 18, 19, 21, 22, 23, 25, 26, 29, 31, 36, 38, 46, 47], "front": 9, "fsm": 22, "full": [3, 7, 10, 11, 19, 29, 30, 31, 38, 47], "fulli": [8, 9, 10, 22, 30], "function": [1, 8, 17, 29, 32, 36, 46], "further": 36, "futur": [1, 5, 46], "g": [21, 23, 44], "garbag": 34, "gate": 31, "gatewar": [1, 10, 13, 14, 16, 17, 18, 19, 22, 23, 25, 26, 29, 30, 31, 32], "gd25q64ewigr": 8, "gear": 4, "gener": [5, 14, 21, 22, 23, 24, 25, 26, 27, 29, 30, 34, 36, 38], "generate_seri": 14, "gerber": 7, "get": [3, 10, 11, 12, 14, 21, 23, 29, 38, 50], "get_altmod": 14, "get_descriptor_set": 31, "get_devic": 14, "get_platform": 14, "getdescriptorsethandl": 31, "git": [3, 11], "github": [5, 10, 11, 25, 26, 34, 47], "give": [1, 10, 38], "given": [13, 14, 17, 19, 21, 22, 23, 29, 31, 38], "global": [25, 26], "go": [5, 8, 22, 46], "goal": 10, "goe": [5, 7], "good": [5, 11, 17, 21, 36], "goto": 19, "group": [13, 31, 36, 37, 38, 39], "group0": 38, "group1": 38, "group2": 38, "group3": 38, "group4": 38, "group5": 38, "group6": 38, "group7": 38, "group_cod": 38, "groupcod": 38, "guarante": 10, "guid": 10, "ha": [4, 5, 7, 8, 9, 10, 11, 12, 13, 19, 29, 30, 31, 36, 38, 46, 47], "had": 46, "half": 19, "hand": 5, "handl": [14, 31], "handler": [16, 19, 30, 31], "handler_condit": 31, "handshak": 46, "hang": 10, "happi": 47, "hard": 10, "hardwar": [3, 5, 8, 9, 10, 13, 14, 17, 19, 21, 25, 26, 34, 36], "have": [3, 8, 9, 10, 11, 13, 17, 19, 21, 23, 27, 29, 36, 38, 46], "hdl": [1, 21, 29, 31, 32], "he": 47, "header": [34, 50], "help": [11, 13, 29, 47], "helper": [11, 29, 45], "her": 47, "here": [7, 13, 22], "high": [4, 5, 19, 22, 25, 26, 29, 30], "highest": 36, "histor": 8, "histori": 47, "hold": [19, 27], "home": [11, 15], "homebrew": 11, "hook": [21, 23, 50], "hopefulli": 5, "host": [12, 13, 14, 19, 27, 31, 32], "hot": [17, 21], "how": [5, 7, 10, 12, 15, 22, 36], "howev": [5, 7, 10, 11, 13, 17, 21, 38, 46], "http": [11, 34], "huge": 5, "human": 47, "hvd": [5, 8, 10, 12, 25], "hx8k": 25, "i": [1, 2, 3, 4, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32, 34, 36, 38, 44, 46, 47, 50], "ice40": [9, 11, 25], "ice40pllconfig": [21, 23], "icestorm": 11, "icon": 4, "id": [27, 29, 30, 31, 46], "ident": [46, 47], "identifi": [8, 38, 46], "identify_end": 46, "identify_start": 46, "idl": [22, 31], "ifac": 34, "iii": 19, "ili": 36, "illeg": [36, 38], "illustr": [12, 46, 47], "imag": [17, 21, 23, 25, 26], "imagin": 12, "img": 47, "implement": [13, 14, 19, 21, 22, 23, 30, 34, 36, 38, 46], "impli": 46, "import": 10, "includ": [3, 7, 10, 11, 17, 21, 25, 26, 46], "incom": [22, 31], "incomplet": 11, "incorrect": [11, 36], "increas": 9, "increment": [7, 22, 46], "index": [29, 31], "indexerror": 38, "indic": [22, 25, 26, 36, 46], "infer": 38, "influenc": 5, "inform": [5, 12, 36, 38, 46], "infra": 21, "infrastructur": 29, "inherit": [21, 23], "initi": [10, 13, 16, 27, 29, 36, 38, 46], "inject": 29, "inout": 22, "input": [18, 19, 21, 22, 23, 25, 26, 29, 30], "inquiri": [36, 38], "insid": 22, "inspect": [0, 12], "instal": [3, 6, 12], "instanc": [14, 22, 31], "instanti": [17, 21, 23], "instead": [14, 36], "instruct": [4, 6, 11], "int": [13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 29, 30, 31, 38], "int16sb": 38, "int16sl": 38, "int16ub": 38, "int16ul": 38, "int24bl": 38, "int24sl": 38, "int24ub": 38, "int24ul": 38, "int32sb": 38, "int32sl": 38, "int32ub": 38, "int32ul": 38, "int64sb": 38, "int64sl": 38, "int64ub": 38, "int64ul": 38, "int8sb": 38, "int8sl": 38, "int8ub": 38, "int8ul": 38, "int_detect_err": 46, "integ": [38, 46], "integr": [5, 29, 32, 46], "intel": 11, "intend": 10, "intent": 46, "intention": 46, "interact": [3, 10, 12, 14, 32, 34], "interfac": [4, 10, 12, 14, 16, 17, 21, 22, 29, 30, 31, 34], "intermedi": 38, "intern": [13, 36, 38], "interrupt": [38, 46], "intervent": 36, "introduct": 10, "invalid": [36, 46], "invoc": 3, "invok": [1, 3, 13, 14, 25, 26], "involv": 10, "irc": [5, 10], "irq": 19, "is66wvs2m8al": 22, "is67wvs2m8al": 22, "is_support": 13, "iso": [14, 36], "iss": [36, 44], "issi": 22, "issu": [5, 17, 21, 36, 46], "iter": [29, 34], "its": [10, 11, 36, 38, 46], "itself": [10, 17, 21, 36, 38], "j": 29, "japanes": 47, "jinja": 47, "join": [5, 10], "just": [5, 10, 11, 13], "k": 29, "keep": [2, 5, 31], "kei": [36, 38], "kept": 8, "keyerror": 38, "keyword": 38, "kicad": 7, "kicanva": 7, "kjkjkjkk": 29, "know": 38, "known": 47, "kwarg": [16, 17, 18, 19, 21, 22, 25, 26, 29, 30, 31], "l": 46, "lack": 11, "lambda": 38, "lame": 31, "larg": [5, 7, 38], "larger": 36, "last": [19, 36, 46], "later": 46, "latest": 11, "latter": 31, "lattic": [25, 26], "layer": 34, "layout": 38, "lba": 36, "lead": 5, "learn": 7, "least": 7, "led": [21, 23], "len": 38, "length": [29, 36, 38, 46], "less": 36, "let": 19, "level": [4, 7, 8], "leverag": [12, 32], "lfe5um5g": 26, "lib": [4, 22], "libera": [5, 10], "librari": [10, 12, 38, 45], "licens": 10, "like": [4, 5, 10, 11, 14, 17, 21, 26, 36, 38, 44, 50], "limit": [17, 21, 37], "line": [13, 19, 21, 22, 23, 25, 26], "link": [34, 38, 46], "link_cmd_com": 46, "link_cmd_com_f": 46, "linktyp": 34, "linktype_parallel_scsi": [0, 34], "linux": [10, 11, 15], "list": [4, 8, 14, 16, 21, 23, 27, 36, 38], "littl": [19, 38], "live": [7, 34], "load": [1, 15, 17, 19, 21], "local": [4, 15, 47], "locat": [11, 46], "lock": [25, 26], "log": 3, "logic": [13, 36, 44], "logicalunitnotpres": 44, "loj": 11, "long": [36, 38, 46], "longer": 5, "look": 38, "lookup": 38, "lose": 14, "lot": 10, "lotteri": 10, "love": 47, "low": [22, 29], "lower": 36, "lsb": [36, 46], "lun": [36, 46], "lvd": [5, 10, 12], "m": [3, 11, 14, 38], "mac": 11, "machin": [7, 12, 22, 27, 30, 31], "machineri": [17, 21, 29, 45], "maco": [11, 15], "made": [13, 38], "magnet": [44, 47], "mai": [5, 10, 11, 13, 26, 36, 38, 46], "main": [3, 7, 10, 21, 26, 31], "maintain": [3, 5], "major": [14, 21, 23], "make": [5, 11, 38], "makepkg": 11, "malfunct": 36, "manag": [36, 46], "mandatori": [37, 38, 39, 46], "mani": [12, 36, 44], "manner": 31, "manual": 29, "manufactur": 5, "map": [14, 19, 22], "mark": 36, "mascot": 10, "mass": 10, "match": [21, 23, 29, 36], "materi": 7, "maximum": [36, 38], "mcu": [17, 19, 21], "md": 34, "mean": [5, 30, 31, 36, 38, 47, 50], "mechan": [21, 23], "media": 37, "medium": 36, "meet": 5, "member": [5, 29, 38], "memori": 38, "memoryview": 38, "messag": [38, 45], "message_reject": 46, "messagecod": 46, "metadata": 38, "method": [13, 17, 21, 23, 36, 38, 46], "microsoft": [11, 31], "might": [4, 5, 11, 17, 21, 38], "minimum": 30, "minor": [14, 21, 23], "minu": 36, "miscompar": 36, "miss": 38, "mix": [17, 21], "mixin": 29, "mode": [14, 17, 18, 21, 22, 23, 29, 30, 37], "mode_select": 37, "mode_sens": 37, "model": 5, "modern": [10, 12], "modifi": [0, 46], "modify_data_ptr": 46, "modul": [0, 10, 11, 13, 15, 16, 17, 19, 21, 22, 24, 25, 26, 29, 30, 31, 32, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "modular": 1, "moment": [7, 11], "monster": 5, "more": [1, 5, 10, 12, 14, 17, 19, 21, 29, 36, 46], "most": [3, 4, 11, 19, 29, 31], "mostli": [17, 21, 24], "move": [5, 12, 36, 46], "msb": [36, 46], "msg_parity_err": 46, "much": [4, 10], "multi": [25, 26], "multipl": [5, 27, 38], "multiplex": 22, "mundan": 10, "must": [11, 13, 17, 19, 21, 29, 36, 38, 46], "n": [36, 38, 46], "name": [3, 13, 14, 17, 21, 22, 23, 25, 26, 27, 34, 38, 44, 46], "namespac": [13, 21, 23, 25, 26], "natur": 36, "need": [3, 4, 5, 8, 10, 11, 13, 17, 21, 22, 25, 26, 29, 30, 31, 32, 38, 45, 46, 50], "negat": 27, "neither": 36, "new": [1, 4, 7, 8, 14, 17, 19, 21, 26, 32, 34, 38, 46], "newli": 34, "next": [4, 11, 19, 21, 22, 38, 46], "nightli": 11, "non": [8, 10, 27, 36, 38], "none": [13, 14, 16, 18, 19, 21, 22, 23, 29, 30, 34, 38, 44, 46], "nop": 46, "nor": [10, 36], "normal": [17, 21, 46], "notabl": 2, "noth": [5, 38], "notifi": 19, "notimplementederror": 13, "now": [4, 11, 22], "nowadai": 47, "number": [14, 17, 21, 22, 29, 36, 46], "numpi": 38, "nya": [27, 38], "o": [29, 31, 34, 38, 46], "object": [34, 38], "obtain": 34, "occur": [14, 36, 46], "oe": 29, "off": [5, 11, 29], "offer": 26, "offici": [10, 11, 25, 26], "offset": 46, "often": 38, "ohl": 5, "old": 47, "older": 10, "omit": [3, 7], "onboard": [17, 21], "onc": [5, 7, 11, 12, 31, 44, 50], "one": [1, 3, 7, 11, 14, 22, 25, 29, 32, 36, 38, 46], "ongo": 10, "onli": [3, 4, 8, 10, 13, 22, 25, 29, 30, 31, 36, 38, 44, 46, 50], "onto": [11, 25, 26, 29, 50], "op": [25, 36], "opaqu": [17, 21], "opcod": [22, 36, 38], "open": [5, 10, 47], "oper": [3, 10, 11, 22, 31, 36, 38, 46], "option": [4, 11, 13, 14, 17, 21, 34, 37, 38, 39, 46], "order": [5, 17, 21, 23, 38, 46], "org": 11, "origin": [5, 26], "osc": 8, "oss": 11, "other": [7, 10, 11, 12, 17, 21, 25, 26, 29, 30, 35, 36, 38, 46], "otherwis": [13, 14, 21, 23, 30, 36], "our": [19, 22, 31], "out": [0, 1, 3, 5, 7, 8, 9, 10, 12, 13, 14, 15, 17, 21, 22, 29, 31, 36, 46], "outgo": 29, "output": [18, 19, 21, 22, 23, 25, 26, 29, 30], "over": [10, 12, 17, 21, 29, 47], "overflow": 36, "overhaul": 9, "overli": 5, "overrid": [13, 38], "own": [1, 7, 12, 32, 38], "pace": 5, "pack": [21, 23, 25, 26], "pack_artifact": [21, 23, 25, 26], "packag": [1, 4, 11], "packet": [4, 29, 31, 32, 34], "pacman": 11, "page": [7, 11, 22], "painless": 11, "paper": 36, "paramet": [13, 14, 17, 18, 19, 21, 22, 23, 25, 26, 29, 30, 31, 34, 36, 38], "paramlen": 36, "parent": 29, "pariti": [36, 46], "pars": [12, 13, 38], "parser": 13, "part": [5, 7, 8, 12, 21, 31, 34], "parti": [5, 13, 36], "partial": 15, "particular": 46, "particularli": [17, 21], "pass": [13, 21, 23, 38], "passiv": [0, 10], "past": [36, 47], "path": [4, 11, 15, 21, 23, 25, 26, 34, 46], "pattern": [3, 29], "payload": 19, "pc": 11, "pcap": 35, "pcapng": 0, "pcapngstream": 34, "pend": [36, 46], "peopl": 27, "perform": [36, 46], "period": 46, "peripher": [36, 37, 39, 44], "peripheraldevicetyp": [36, 44], "permiss": 10, "phase": [8, 9, 22, 26, 31, 36, 46], "phy": [8, 10, 25, 26, 29], "physic": [12, 29, 46], "pick": [5, 7], "pid": 29, "piec": 1, "pin": 8, "pip": 11, "piscsi": 10, "place": [5, 7], "plan": [1, 11], "platform": [7, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 25, 26, 29, 31], "platformdescriptorcollect": 31, "pleas": 5, "pll": [21, 23, 25, 26], "pll_cfg": [21, 23], "pll_lock": [25, 26], "pllconfig": [21, 23], "plu": 8, "pnr": 13, "pnr_seed": 13, "point": [11, 27], "pointer": 46, "popular": [7, 25, 26], "possibl": [5, 7, 9, 11, 14, 26, 27, 36, 38, 46], "possibli": [4, 11, 26], "potenti": 19, "power": [5, 10, 12, 27], "pre": [7, 13], "prefix": 38, "preform": 38, "preliminari": 11, "presenc": 19, "present": [22, 38, 44, 46], "preserv": 36, "prevent": [36, 37, 46], "prevent_allow_media_remov": 37, "preview": 13, "previou": [29, 46], "price": 5, "primari": [3, 5, 11, 25, 26], "primarili": [5, 22, 25], "print": 39, "print_cmd": 39, "printer": [36, 44], "prior": [11, 13, 36, 38, 46], "prioriti": 36, "prjtrelli": 11, "problem": [5, 8, 19], "problemat": [17, 21], "process": [5, 7, 19, 21, 23, 25, 36], "processor": 44, "produc": [21, 23, 25, 26], "product": [21, 23, 25, 26], "professor": 47, "program": [17, 21, 50], "programmat": 3, "progress": [11, 14], "progressbar": 14, "project": [2, 7, 21, 32, 47], "propag": 38, "properli": [4, 17, 21, 23, 50], "properti": [13, 16, 21, 23], "protect": [17, 21, 36], "provid": [3, 10, 11, 12, 13, 16, 17, 21, 29, 32, 36, 38, 47], "provis": [21, 23, 25, 26], "proxi": 34, "psram": [17, 19, 21, 22], "psramop": 22, "public": 13, "publicli": 5, "publish": 11, "purchas": [7, 25, 26], "pure": 27, "purpos": [8, 25, 26, 36], "push": 14, "put": [5, 11, 29], "pwd": 11, "py": [36, 46], "pypi": 11, "python": [1, 3, 4, 10, 12, 13, 32, 45], "python3": 11, "q": 10, "qualifi": 36, "qualnam": [22, 38, 44, 46], "question": 10, "quit": 5, "r": [38, 51], "radio": 10, "rais": [13, 14, 18, 19, 30, 38], "ran": 13, "randbyt": 34, "randint": 34, "rang": [34, 46], "rapid": 12, "rapidli": 5, "raspberrypi": 10, "rather": 29, "raw": [4, 21, 23, 25, 26, 29], "raw_record": 29, "rdat": 22, "re": [7, 9, 10, 11, 17, 21, 36, 37, 38, 46], "reach": 36, "react": 31, "read": [12, 19, 22, 29, 36, 37, 38, 44, 50], "read_capac": 37, "read_fifo": 22, "readi": [10, 12, 18, 19, 22, 30, 36, 38], "readonlydirectaccess": 44, "realli": 5, "reason": [5, 19, 25, 26, 38], "reassign": 37, "reassign_block": 37, "reboot": [17, 18, 19, 21, 30], "rec": 29, "receipt": 36, "receiv": [29, 36, 46], "receive_data": 29, "receive_zlp": 29, "receivediagnosticresult": 36, "recent": [31, 46], "recipi": 29, "recommend": [11, 25, 36], "reconnect": 46, "record": 29, "recov": 36, "recover": 36, "recoverbuffereddata": 36, "recoveri": 36, "recv": 38, "refin": 45, "reflect": 36, "reg_map": 22, "regard": 36, "regardless": [11, 15], "region": 19, "regist": [13, 15, 16, 19, 22], "register_arg": 13, "reject": 46, "rel": 36, "relat": [12, 29, 36], "releas": [7, 11, 13, 25, 26, 27, 37, 46], "reli": 29, "remain": [36, 38, 46], "remov": [36, 37], "renam": [37, 39], "render": 7, "repeat": 36, "replac": [8, 9], "replai": [0, 10, 12], "report": 36, "repositori": [3, 10, 11, 25, 26, 47], "repres": [14, 17, 21, 22, 23, 27, 29, 38], "req": [29, 46], "request": [13, 14, 16, 19, 22, 29, 30, 31, 36, 38, 46], "requestsens": 36, "requir": [5, 10, 21, 23, 27, 36, 38], "reserv": [36, 37, 38, 44, 46], "reserved_end": 46, "reserved_start": 46, "reservedend": 44, "reservedstart": 44, "reset": [14, 19, 22, 27, 36, 46, 50], "resid": 36, "resolut": 47, "resourc": [11, 21, 23, 29], "respect": [7, 31, 36], "respond": [5, 31], "respons": [36, 46], "rest": 31, "restor": 46, "restore_ptr": 46, "result": [21, 23, 25, 26, 29, 36, 38, 50], "retriev": [29, 36], "return": [13, 14, 16, 21, 23, 25, 26, 29, 31, 34, 36, 38], "rev": [7, 14], "rev1": [7, 17, 21], "rev1clockdomaingener": 25, "rev2": [7, 17, 21], "rev2clockdomaingener": 26, "rev8": 7, "revers": 36, "revis": [7, 13, 14, 17, 21, 23, 25, 26], "revision_str": [21, 23], "rezero_unit": 37, "rich": 14, "right": 5, "rise": 22, "rmb": 36, "ro": 37, "root": [17, 21, 23, 47], "rough": [12, 38], "roughli": 46, "rout": 22, "rst_addr": 22, "run": [1, 3, 10, 11, 13, 29, 31, 50], "runtimeerror": 14, "s16b": 38, "s16l": 38, "s24b": 38, "s24l": 38, "s32b": 38, "s32l": 38, "s64b": 38, "s64l": 38, "s8b": 38, "s8l": 38, "sa": 47, "sachiko": 47, "sadli": 5, "sai": 5, "said": [1, 36], "sake": 5, "sale": 7, "same": [4, 10, 36, 46], "sampl": 22, "satisfi": 36, "save": [4, 46], "save_data_ptr": 46, "sb_warmboot": [17, 21], "scene": 4, "schemat": 7, "scienc": 47, "script": [11, 32], "scsi": [0, 4, 8, 9, 11, 12, 21, 24, 25, 26, 29, 32, 34, 35, 36, 37, 38, 39, 44, 46], "scsi1": 27, "scsi2": 27, "scsi2sd": 10, "scsi3": 27, "scsicommand": [36, 38], "scsicommand10": 38, "scsicommand12": 38, "scsicommand6": 38, "scsicommandfield": 38, "scsigatewaretest": 29, "se": 10, "search": 37, "search_data": 37, "searchdata": 36, "second": [15, 27], "section": [1, 3, 5, 6, 7, 8, 9, 10, 12, 34, 38, 44, 45, 48, 49], "sector": 22, "see": [1, 4, 7, 10, 12, 13, 15, 24, 46], "seed": 13, "seek": 37, "seem": 5, "seen": 31, "segment": [36, 46], "select": [3, 22, 27, 36, 37, 46], "self": [14, 36], "semant": 2, "sen": 36, "send": [29, 36, 38, 46], "send_data": 29, "send_dfu_detach": 29, "send_dfu_download": 29, "send_dfu_get_st": 29, "send_dfu_get_statu": 29, "send_get_desc": 29, "send_setup": 29, "send_setup_set_interfac": 29, "senddiagnost": 36, "sens": [36, 37, 38], "sent": [17, 21, 36, 46], "sequenc": [29, 46], "sequenti": [36, 44], "sequentialaccess": 44, "seri": 46, "serial": [14, 17, 21, 38], "serial_numb": [17, 21], "serv": 27, "server": [5, 10], "servic": 47, "set": [12, 13, 19, 22, 25, 26, 27, 29, 31, 36, 37, 38, 46], "set_alternate_enum": 31, "set_limit": 37, "settl": 27, "setup": [4, 21, 23, 29, 31], "setup_receiv": 29, "setuppacket": 31, "seven": [36, 38], "sever": 5, "shall": [36, 46], "share": [15, 19, 21, 23, 27, 38], "she": 47, "shifter": 8, "shinto": 47, "ship": 15, "short": 13, "should": [4, 7, 8, 11, 22, 29, 34, 38, 46], "show": 27, "shown": 27, "shrine": 47, "sic": 11, "side": [13, 29, 32], "sign": 46, "signal": [17, 18, 19, 21, 22, 23, 25, 26, 30, 31, 46], "silicon": 10, "similar": 11, "simpl": [5, 13, 30], "simpli": [3, 4, 11, 38], "singl": [10, 12, 27, 29, 36], "site": 13, "situat": 36, "six": 38, "size": [14, 18, 19, 29, 30, 38], "sizeof": 38, "skew": 27, "slew": 39, "slew_and_print": 39, "slot": [17, 18, 19, 21, 30], "slot_ack": [18, 19, 30], "slot_chang": [18, 19, 30], "slot_select": [18, 19, 30], "small": [4, 36, 47], "smaller": 46, "smallest": 7, "sniff": 10, "sniffer": 0, "so": [7, 11, 12, 22, 25, 38, 46, 50], "soc": 22, "softwar": [3, 5, 10, 36, 47], "sol": 29, "solicit": 29, "solid": 32, "som": 10, "some": [4, 5, 8, 11, 12, 15, 17, 21, 25, 26, 34, 36, 38], "somehow": 14, "someth": [5, 7], "sometim": 38, "sourc": [5, 10, 36, 47], "span": 38, "speak": [8, 9], "spec": 31, "special": [7, 10, 25, 26, 29, 31, 38, 46, 50], "specif": [5, 17, 19, 21, 24, 26, 31, 36, 37, 38, 39, 40, 41, 42, 43, 46], "specifi": [3, 14, 36, 38], "speed": 10, "spi": [17, 19, 21, 22, 23, 29, 50], "spicontrol": 22, "spicpha": 22, "spicpol": 22, "spiflashop": 22, "spigatewaretest": 29, "spiinterfac": 22, "spiinterfacemod": 22, "spiperipher": 22, "spipsram": 22, "spipsramcmd": 22, "spirit": 47, "split": [26, 27, 38], "squishi": [0, 1, 3, 4, 6, 8, 9, 12, 15, 16, 17, 21, 22, 23, 24, 25, 26, 29, 30, 31, 34, 35, 36, 37, 38, 39, 44, 45, 46, 50], "squishy_applet": 1, "squishy_bootload": 51, "squishyapplet": 13, "squishybootload": [17, 21], "squishydevic": [13, 14], "squishygatewaretest": 29, "squishyplatform": [13, 14, 16, 21, 23], "squishyplatformtyp": [13, 14], "squishyrev1": [17, 21, 25], "squishyrev2": [17, 21, 26], "src_loc_at": [16, 17, 18, 19, 21, 22, 25, 26, 30, 31], "stabl": [14, 25, 26], "stack": 5, "stagnat": 5, "stai": 5, "stall": [29, 31], "standalon": [10, 32], "standard": [5, 29, 34, 36, 38, 46], "start": [4, 5, 7, 10, 11, 12, 18, 19, 22, 29, 30, 34, 37, 38, 44, 46, 50], "start_addr": 22, "start_r": 22, "start_stop_unit": 37, "start_w": 22, "state": [19, 22, 27, 29, 30, 31, 38, 46], "static": [14, 29], "statu": [19, 29, 31, 36, 38, 46], "step": 11, "stick": 19, "still": [8, 9, 21, 23], "stop": 37, "storag": [5, 10, 18, 19, 22, 30], "store": [3, 18, 19, 30], "str": [13, 14, 17, 21, 23, 25, 26, 29, 34, 38], "stream": [34, 38], "string": [7, 14, 21, 23, 29, 38], "string_idx": 29, "strobe": 22, "struct": [37, 38, 39], "structur": [36, 38], "stub": [30, 50], "stuff": 19, "su_irq": 19, "sub": [29, 38, 46], "subcon": 38, "subconmskw": 38, "subconskw": 38, "subconstruct": 38, "subsequ": 36, "subsign": 22, "substitut": 7, "subsystem": 29, "succesfulli": 38, "success": [13, 14, 36, 38], "successfulli": [13, 36, 38, 46], "sudo": 11, "suffix": [21, 23], "suit": 11, "suka": 47, "sum": 31, "superstructur": [16, 21], "supervisor": [17, 19, 21], "suppli": [13, 36], "support": [4, 5, 10, 11, 13, 17, 21, 23, 29, 31, 32, 36, 38, 46], "supported_platform": 13, "sure": 11, "surprisingli": 34, "surround": 38, "swap": 31, "switch": 31, "symbol": 29, "symlink": 4, "sync": [25, 26, 29], "sync_data_xfr_req": 46, "synchron": 46, "synth": 13, "system": [3, 10, 12, 14, 15, 25, 27, 31, 36], "t": [4, 11, 14, 17, 21, 31, 36, 38, 46], "tab": 3, "tabl": [27, 38], "take": 38, "talk": 5, "tan": 47, "tandem": 5, "tap": 10, "tape": [10, 44, 47], "tar": 11, "target": [10, 13, 14, 17, 19, 21, 25, 27, 29, 31, 36, 38, 46], "task": 5, "teach": 47, "technologi": 47, "teh": 36, "tell": [19, 46, 50], "ten": 38, "termin": [36, 46], "test": [7, 11, 26, 36, 38], "testunitreadi": 36, "tether": 10, "text": 47, "tgz": 11, "tha": 36, "than": [14, 17, 21, 25, 26, 29, 36, 46], "thank": 7, "thei": [3, 5, 7, 15, 17, 21, 27, 29, 31, 36], "them": [1, 3, 38, 46], "therefor": [10, 38], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 34, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50], "thing": [3, 5, 10, 12, 31, 35, 38], "think": [10, 27], "third": [5, 13, 36], "though": [17, 21, 36], "three": [21, 27, 38], "through": [15, 36], "thru": 46, "ti": 5, "tide": [17, 21], "tight": 5, "time": [5, 14, 26, 27, 36, 38], "timeout": [14, 27], "tmp": 34, "toler": 5, "too": 36, "tool": [11, 32, 36, 50], "toolchain": 11, "top": [17, 21, 38], "topologi": 27, "torii": [1, 12, 14, 21, 22, 23, 25, 26, 29, 32], "toriitestcas": 29, "total": 38, "touch": [17, 21], "tough": 36, "trace": [4, 8], "track": [10, 31], "tracker": 5, "tradit": 27, "traffic": [0, 10, 12, 29, 32, 34, 45], "transact": [14, 22], "transceiv": 10, "transfer": [17, 18, 19, 21, 22, 30, 36, 46], "transform": [37, 39], "transit": 22, "transmit": 31, "transpar": 47, "trash": 34, "treat": [17, 21], "tree": [13, 25, 26], "trend": 5, "trigger": [17, 18, 19, 21, 29, 30, 31, 36, 38], "trigger_reboot": [18, 19, 30], "trivial": 5, "true": [13, 14, 29, 30], "truncat": 36, "try": [3, 5, 17, 21, 36], "tupl": [13, 14, 17, 21, 23, 29], "turn": 0, "turnkei": 5, "tutori": [1, 10, 15], "twelv": 38, "two": [3, 7, 8, 15, 25, 27, 29, 36, 38, 46], "txlen": 19, "type": [13, 14, 21, 22, 23, 25, 26, 29, 31, 34, 36, 37, 38, 39, 44, 46], "typic": [21, 22, 23, 25, 26, 46], "tyson": 47, "tysontan": 47, "u": [17, 21], "u11": 8, "u16": 8, "u16b": 38, "u16l": 38, "u2": 8, "u20": 8, "u23": 8, "u24b": 38, "u24l": 38, "u26": 8, "u27": 8, "u30": 8, "u32b": 38, "u32l": 38, "u33": 8, "u64b": 38, "u64l": 38, "u8": 8, "u8b": 38, "u8l": 38, "u8lalloclen": 38, "ulpi": [8, 25, 26, 29], "ultra": 5, "ultra320": 10, "ultra640": 10, "unabl": 36, "undefin": 36, "under": [3, 5, 10, 11, 25, 26, 31, 47], "unfortun": 5, "unifi": 50, "uniqu": [27, 36, 38, 44], "unit": [7, 36, 37, 38, 44, 46, 50], "univers": 47, "unix": 11, "unknown": 14, "unless": 36, "unlik": 29, "unoffici": 11, "unrecov": 36, "unsign": [36, 38], "unspecifi": [27, 36], "unstabl": 26, "unsuccessfulli": 46, "unsupport": [36, 38], "until": [19, 36], "unus": 18, "unusu": 36, "unwritten": 36, "up": [5, 7, 10, 11, 21, 22, 23, 25, 26, 29, 36, 38, 46, 50], "updat": [5, 7, 17, 21, 31], "upgrad": 11, "upload": [14, 19, 26], "upmost": 5, "upon": [19, 36], "upstream": 5, "us": [0, 3, 10, 11, 12, 13, 14, 15, 17, 19, 21, 22, 23, 25, 26, 29, 30, 31, 32, 34, 35, 36, 38, 46, 47, 50], "usag": 34, "usb": [9, 10, 12, 13, 14, 16, 25, 26, 29], "usb1": 14, "usb_assert_j": 29, "usb_assert_k": 29, "usb_assert_sync": 29, "usb_construct": 31, "usb_consume_byt": 29, "usb_consume_respons": 29, "usb_data": 29, "usb_emit_bit": 29, "usb_eop": 29, "usb_get_ack": 29, "usb_get_config": 29, "usb_get_st": 29, "usb_get_stal": 29, "usb_get_str": 29, "usb_get_zlp": 29, "usb_in": 29, "usb_init_descriptor": 16, "usb_initi": 29, "usb_j": 29, "usb_k": 29, "usb_out": 29, "usb_request_handl": 16, "usb_send_ack": 29, "usb_send_setup_pkt": 29, "usb_send_zlp": 29, "usb_set_addr": 29, "usb_set_config": 29, "usb_set_interfac": 29, "usb_setup": 29, "usb_single_on": 29, "usb_single_zero": 29, "usb_sof": 29, "usb_solicit": 29, "usb_sync": 29, "usb_wait_j": 29, "usb_wait_k": 29, "usbdevic": 14, "usbgatewarephytest": 29, "usbgatewaretest": 29, "usbpacketid": 29, "usbrequesthandl": 16, "usbrequestrecipi": 29, "usbrequesttyp": 29, "user": [1, 3, 15, 36, 38], "user00": 34, "userprofil": 15, "userspac": 10, "usual": [3, 38], "usurp": 13, "util": [12, 50, 51], "utmi": 29, "uwu": 38, "v": [3, 36, 38], "v2": 5, "valid": [3, 7, 8, 26, 29, 31, 36, 46], "valu": [19, 22, 29, 31, 36, 38, 44, 46], "valueerror": 30, "variabl": [13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 30, 38], "variant": 11, "variat": 9, "variou": [12, 15, 21, 26, 31], "ve": 12, "vender": 36, "vendor": [21, 23, 29, 31, 36, 38, 44, 46], "vendor_cod": 29, "vendor_end": 46, "vendor_start": 46, "vendoruniqueend": 44, "vendoruniquestart": 44, "venv": [11, 50], "ver": 36, "verbos": 3, "veri": [5, 34], "verifi": [36, 37, 38], "version": [2, 3, 7, 11, 13, 27, 36], "via": [7, 10, 11, 50], "view": [7, 11], "virtual": 11, "virtualenv": 11, "visit": 10, "volum": 36, "wa": [5, 7, 8, 13, 14, 18, 19, 22, 25, 26, 30, 36, 46, 47], "wai": [3, 5, 7, 12, 17, 21], "wait": [5, 19, 22, 29, 50], "walk": 15, "walkthrough": 1, "wall": 5, "want": [5, 11, 13, 14, 19, 30, 32], "warn": 36, "wdat": 22, "we": [3, 5, 11, 14, 17, 19, 21, 29, 31, 38, 50], "wear": [17, 21], "web": 7, "websit": 5, "well": [4, 10, 11, 12, 17, 19, 21, 30, 32, 38, 45], "were": 36, "what": [5, 36, 38], "whatev": 32, "wheel": 11, "when": [3, 4, 5, 7, 10, 13, 18, 19, 21, 23, 25, 26, 27, 30, 31, 36, 38, 46, 50], "whenev": 38, "where": [3, 5, 7, 15, 17, 21, 25, 27, 29, 36, 38, 46], "whether": 14, "which": [5, 8, 11, 13, 17, 21, 27, 29, 31, 36, 38, 46], "whichev": 36, "while": [5, 19, 31, 36], "who": 47, "whole": [8, 50], "why": 10, "wide": 29, "wiki": 5, "window": [11, 15, 31], "windowsrequesthandl": 31, "wip": 7, "wire": 29, "wireshark": [4, 34], "wisdom": 47, "wish": [10, 12], "within": [7, 15, 17, 21, 36, 38], "without": [5, 17, 21, 36, 47, 50], "work": [4, 10, 11, 12, 31, 50], "world": 12, "worm": [36, 37, 44], "worth": 19, "would": [36, 38], "wrap": [22, 38], "wrapper": [29, 38], "write": [0, 6, 10, 12, 15, 17, 19, 21, 22, 29, 35, 36, 37, 44, 48, 49, 50], "write_and_verifi": 37, "write_fifo": 22, "write_slot": 19, "written": [17, 19, 21, 36], "wrong": 7, "x": 46, "x00": 38, "x1": 8, "x15": 38, "x3": 36, "x64": 11, "x86_64": 11, "xab": 38, "xfr": 22, "xfv": 11, "yai": 11, "ye": 10, "yet": [10, 31], "yosyshq": 11, "you": [0, 1, 3, 4, 5, 6, 7, 10, 11, 12, 25, 26, 30, 32, 38, 50], "your": [1, 3, 4, 5, 7, 11, 12, 32, 50], "yourself": 5, "yowasp": 11, "zero": [29, 36, 37, 38], "zlp": 29, "zsh": 3, "\u5e78": 47, "\u65e9\u667a\u5b50": 47, "\u7d20\u83ef\u795e\u793e": 47, "\u9808\u8cc0": 47}, "titles": ["Analyzer Applet", "Applets", "Changelog", "CLI", "Extra Utilities", "Frequently Asked Questions", "Getting Started", "Hardware", "Revision 1", "Revision 2", "Squishy: The SCSI Multitool", "Installation", "Introduction", "Squishy Applet", "Squishy Device", "Applet API", "Applets", "Bootloader", "Squishy Rev1 Bootloader", "Squishy Rev2 Bootloader", "Core", "Gateware Library", "Peripherals", "Hardware Platforms", "Platform Resources", "Rev1", "Rev2", "SCSI", "SCSI Quirks", "Test Harness", "USB", "USB Quirks", "Squishy as a Library", "Core Components", "PCAPNG Writer", "Python Library", "Common", "Direct-Access", "Commands", "Printer", "Processor", "Read-Only Direct-Access", "Sequential", "WORM", "Device", "SCSI", "Messages", "Mascot - Sachi", "Custom Applets", "Tutorials", "Provisioning a New Device", "Updating Squishy"], "titleterms": {"0": 8, "1": 8, "2": 9, "In": 7, "The": 10, "about": 47, "access": [37, 41], "amaranth": 5, "analyz": 0, "anatomi": 27, "anoth": 5, "api": 15, "applet": [0, 1, 13, 15, 16, 19, 48, 49], "ask": 5, "bootload": [17, 18, 19], "bu": 27, "bui": 7, "build": 7, "capabl": [8, 9], "changelog": 2, "cli": [3, 6], "command": 38, "common": 36, "commun": 10, "comparison": 10, "complet": 3, "complex": 5, "compon": 33, "connect": 6, "core": [20, 33], "custom": 48, "devic": [14, 44, 50], "direct": [37, 41], "discord": 5, "doe": 5, "errata": 8, "exampl": 38, "expens": 5, "extra": 4, "flash": 50, "frequent": 5, "gatewar": [12, 21, 49], "gener": 50, "get": [6, 7], "har": 29, "hardwar": [6, 7, 12, 23, 49], "have": 5, "hdl": 5, "i": [5, 10], "imag": [47, 50], "initi": 50, "instal": [4, 11], "introduct": 12, "isn": 10, "librari": [21, 32, 35, 49], "licens": 47, "locat": 15, "mascot": 47, "messag": 46, "mode": 19, "multitool": 10, "nativ": 11, "new": 50, "nextpnr": 11, "note": 31, "one": 5, "onli": 41, "other": 5, "overview": 12, "pcapng": 34, "peripher": 22, "platform": [23, 24], "prerequisit": 11, "printer": 39, "processor": 40, "progress": 7, "project": 5, "protocol": 19, "provis": [7, 50], "python": [11, 35, 49], "question": 5, "quirk": [28, 31], "rather": 5, "read": 41, "releas": 8, "requir": 11, "resourc": 24, "rev1": [8, 18, 25], "rev2": [19, 26], "revis": [8, 9], "sachi": 47, "scsi": [5, 10, 27, 28, 45], "scsidump": 4, "search": 15, "sequenti": 42, "shell": 3, "should": 5, "so": 5, "softwar": [12, 49], "squishi": [5, 7, 10, 11, 13, 14, 18, 19, 32, 51], "start": 6, "system": 11, "t": 10, "test": 29, "than": 5, "todo": [0, 1, 3, 6, 7, 8, 9, 12, 13, 14, 15, 27, 36, 45, 46, 48, 49], "torii": 5, "tutori": 49, "unreleas": 2, "updat": 51, "us": [4, 5, 6], "usag": 49, "usb": [30, 31], "util": 4, "what": 10, "why": 5, "work": 7, "worm": 43, "writer": 34, "yosi": 11}}) \ No newline at end of file