def program_new_pcb(fx2_firmware, fpga_firmware, VID=default_VID, PID=default_PID, di_file=default_di_file):
        This function does not require an open device.  It looks
        for the 1st unprogrammed pcb (by using the default Cypress
        Vendor ID/Product ID and attempts to load the fx2 firmware
        and fpga firmware files specified.

        :param fx2_firmware: The fx2 firmare ihx file. 
        :param fpga_firmware: The FPGA prom file for spi flash.
    fx2.program_new_pcb(fx2_firmware, VID=VID, PID=PID, di_file=di_file)
def get_dev(di_file=default_di_file, serial_num=None, bus_addr=None, VID=default_VID, PID=default_PID, timeout=10):
    """Opens a device and loads the DI file. If a serial_num is
       provided, this opens that device. You can also specify the VID
       and PID. This will wait until 'timeout' seconds for a device to

    dev=fx2.get_dev(di_file=di_file, serial_num=serial_num, bus_addr=bus_addr, VID=VID, PID=PID, timeout=timeout)
    return UXN1230(dev)
 def program_prom(self,filename):
def init_dev(dev, di_file=default_di_file):
    """Initializes the device with the di files."""

 def program_prom(self,filename):
     """Progam FX2 prom with specified file."""
from nitro_parts.Cypress import CY7C68013 as fx2