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)