--- /dev/null
+Open-Source and Free to use software makes $22 SUMP2 Logic Analyzer possible.\r
+The following steps are necessary to get SUMP2 running. If this is overly \r
+complicated, BlackMesaLabs recommends high quality commercial solutions such \r
+as the excellent family of USB logic analyzers from https://www.saleae.com/\r
+\r
+SUMP2 Setup Steps\r
+1) Program the FPGA configuration PROM with the SUMP2 hardware design.\r
+2) Configure the FTDI device driver in Windows for Virtual COM Port operation.\r
+3) Install Python 3.x for Windows.\r
+4) Install PySerial so BML bd_server.py can communicate to FTDI VCP driver.\r
+5) Install PyGame so BML sump2.py can interface with high speed graphics.\r
+\r
+\r
+[ 1 Programming the FPGA with the BML provided *.bin file ]\r
+ Application = Lattice Diamond Programmer ( from 64bit version 3.4.1.213 )\r
+ 1) Insert iCEstick into USB port. If device driver is needed, ftdichip.com\r
+ 2) Create a new project from a scan\r
+ 3) Device Family = iCE40 \r
+ 4) Device = iCE40HX1K\r
+ 5) Operation = DoubleClick on FastProgram\r
+ 5a) AccessMode = SPI Flash Programming\r
+ 5b) ProgrammingOptions:ProgrammingFile=downloaded *.bin file\r
+ 5c) SPI Flash Options:Vendor=Micron\r
+ 5d) SPI Flash Options:Device=SPI-N25Q032\r
+ 5e) SPI Flash Options:Package=8-pin VDFPN8\r
+ 5f) Click "OK"\r
+ 6) Click the "Program" ICON, a chip with a gian green down arrow over it.\r
+ If the FPGA was programmed correctly, a single green LED should now be lit.\r
+\r
+ Note: On Steps 3),4) and 5), click on text below the field name, for example\r
+ for "Device Family", click on "Generic JTAG Device". This should create a \r
+ pulldown in place of "Generic JTAG Device" allowing user to select "iCE40" \r
+ instead. For step 5) "Operation", the UI is even stranger as you must \r
+ double-click on the default "Fast Program" to bring up a new dialog box.\r
+\r
+\r
+[ 2 Configuring FTDI Device Driver for Virtual Com Port operation ]\r
+ The FT2232H chip on the iCEstick is actually 2 interfaces in a single device.\r
+ For Windows7, under "Devices and Printers" the FF2232H should show up as a\r
+ "Lattice FTUSB Interface Cable". Double-Clicking this and selecting \r
+ "Hardware" tab should list "USB Composite Device","USB Serial Converter A",\r
+ "USB Serial Converter B". The "Converter A" port is connected directly to \r
+ the SPI configuration PROM for the FPGA and is used by the Lattice Diamond \r
+ Programmer for programming a blank PROM. The "Converter B" port is connected\r
+ to the FPGA for end user configuration. The default is for both ports to \r
+ require DLLs for communication. The SUMP2 project needs what is called a \r
+ "Virtual Com Port" on Converter B. Enabling VCP operation will make \r
+ "Converter B" port of the FT2232H look like a regular COM# serial port to \r
+ software.\r
+ Step-1) "Start Menu", "Devices and Printers"\r
+ Step-2) double-click "Lattice FTUSB Interface Cable"\r
+ Step-3) select "Hardware" tab.\r
+ Step-4) select "USB Serial Converter B" and then "Properties".\r
+ Step-5) select "Advanced" tab and click "Load VCP" = "X" (Yes) and then "OK".\r
+ Step-6) Remove iCEstick from this USB port and reinsert.\r
+ Step-7) Confirm "Hardware" tab from above "USB Serial Port(COM#)" now listed.\r
+\r
+ WARNING: This configuration only sticks for a single USB port for some \r
+ reason. If you switch the iCEstick to a different USB port, you will have to \r
+ do this same procedure again. Very annoying. A better solution, but one that\r
+ is much more complicated is to configure the FT2232H chip to always enable \r
+ VCP on Converter B by default. This is possible using the FTDI FT_PROG \r
+ utility.\r
+\r
+\r
+[ 3 Installing Python 3.x ]\r
+ Download installer from www.python.org\r
+ Example: https://www.python.org/downloads/python-3.5.2.exe\r
+\r
+\r
+[ 4 Installing PySerial ]\r
+ Download WHL file from https://pypi.python.org/pypi/pyserial\r
+ Place WHL in Python scripts directory and do following from command line:\r
+ pip install pyserial-3.1.1-py2.py3-none-any.whl\r
+\r
+\r
+[ 5 Installing PyGame ]\r
+ Download both WHLs from http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame\r
+ pygame-1.9.2b1-cp35-cp35m-win_amd64.whl\r
+ pygame-1.9.2b1-cp35-cp35m-win32.whl\r
+ Copy both WHLs to Python Scripts dir \r
+ possibly C:\Users\username\AppData\Local\Programs\Python\Python35\Scripts\r
+ Try both of these, one should fail, the other should hopefully work.\r
+ pip install pygame-1.9.2b1-cp35-cp35m-win32.whl\r
+ pip install pygame-1.9.2b1-cp35-cp35m-win_amd64.whl\r
+\r
+EOF\r