Example #1
0
        public FX3_FWDWNLOAD_ERROR_CODE DownloadFw(string filename, FX3_FWDWNLOAD_MEDIA_TYPE enMediaType)
        {
            uint fwSize = 0;
            if (filename.Equals("")) return FX3_FWDWNLOAD_ERROR_CODE.INVALID_FILE;

            // Suck-in the data from the .iic file
            Stream fStream = new FileStream(filename, FileMode.Open, FileAccess.Read);
            if (fStream == null) return FX3_FWDWNLOAD_ERROR_CODE.INVALID_FILE;
            fwSize = (uint)fStream.Length;

            if (fwSize <= 0)
            {
                fStream.Close();
                return FX3_FWDWNLOAD_ERROR_CODE.INVALID_FILE;
            }

            //allocate the memory to hold the firmware image
            byte[] FwImage = new byte[fwSize];

            fStream.Read(FwImage, 0, (int)fwSize);
            fStream.Close();
            // call api to download the image
            if (enMediaType == FX3_FWDWNLOAD_MEDIA_TYPE.RAM)
                return DownloadFwToRam(ref FwImage, ref fwSize);
            else if (enMediaType == FX3_FWDWNLOAD_MEDIA_TYPE.I2CE2PROM)
                    return DownloadUserIMGtoI2CE2PROM(ref FwImage, ref fwSize);
            else if (enMediaType == FX3_FWDWNLOAD_MEDIA_TYPE.SPIFLASH)
                return DownloadUserIMGtoSPIFLASH(ref FwImage, ref fwSize);
            else
                return FX3_FWDWNLOAD_ERROR_CODE.INVALID_MEDIA_TYPE;
        }
Example #2
0
        public FX3_FWDWNLOAD_ERROR_CODE DownloadFw(string filename, FX3_FWDWNLOAD_MEDIA_TYPE enMediaType)
        {
            uint fwSize = 0;

            if (filename.Equals(""))
            {
                return(FX3_FWDWNLOAD_ERROR_CODE.INVALID_FILE);
            }

            // Suck-in the data from the .iic file
            Stream fStream = new FileStream(filename, FileMode.Open, FileAccess.Read);

            if (fStream == null)
            {
                return(FX3_FWDWNLOAD_ERROR_CODE.INVALID_FILE);
            }
            fwSize = (uint)fStream.Length;

            if (fwSize <= 0)
            {
                fStream.Close();
                return(FX3_FWDWNLOAD_ERROR_CODE.INVALID_FILE);
            }

            //allocate the memory to hold the firmware image
            byte[] FwImage = new byte[fwSize];

            fStream.Read(FwImage, 0, (int)fwSize);
            fStream.Close();
            // call api to download the image
            if (enMediaType == FX3_FWDWNLOAD_MEDIA_TYPE.RAM)
            {
                return(DownloadFwToRam(ref FwImage, ref fwSize));
            }
            else if (enMediaType == FX3_FWDWNLOAD_MEDIA_TYPE.I2CE2PROM)
            {
                return(DownloadUserIMGtoI2CE2PROM(ref FwImage, ref fwSize));
            }
            else if (enMediaType == FX3_FWDWNLOAD_MEDIA_TYPE.SPIFLASH)
            {
                return(DownloadUserIMGtoSPIFLASH(ref FwImage, ref fwSize));
            }
            else
            {
                return(FX3_FWDWNLOAD_ERROR_CODE.INVALID_MEDIA_TYPE);
            }
        }
Example #3
0
 public void DownloadUserImg(CyFX3Device Fx3, FX3_FWDWNLOAD_MEDIA_TYPE enmMediaType)
 {
     // string tmpFilter = Fr.FOpenDialog.Filter;
     FX3_FWDWNLOAD_ERROR_CODE enmResult = FX3_FWDWNLOAD_ERROR_CODE.FAILED;
     string tmpFilter = FOpenDialog.Filter;
     FOpenDialog.Filter = "Firmware Image files (*.img) | *.img";
     if ((Fx3 != null) && (FOpenDialog.ShowDialog() == DialogResult.OK))
     {
         if (enmMediaType == FX3_FWDWNLOAD_MEDIA_TYPE.I2CE2PROM)
         {// I2C EEPROM Download
             StatLabel.Text = "Programming of I2C EEPROM in Progress...";
             Refresh();
             enmResult = Fx3.DownloadFw(FOpenDialog.FileName, FX3_FWDWNLOAD_MEDIA_TYPE.I2CE2PROM);
             StatLabel.Text = "Programming of I2C EEPROM " + Fx3.GetFwErrorString(enmResult);
             Refresh();
         }
         else
         {// SPI FLASH FIRMWARE DOWNLOAD
             StatLabel.Text = "Programming of SPI FLASH in Progress...";
             Refresh();
             enmResult = Fx3.DownloadFw(FOpenDialog.FileName, FX3_FWDWNLOAD_MEDIA_TYPE.SPIFLASH);
             //enmResult = Fx3.DownloadFw("C:\\app.img", FX3_FWDWNLOAD_MEDIA_TYPE.SPIFLASH);
             StatLabel.Text = "Programming of SPI FLASH " + Fx3.GetFwErrorString(enmResult);
             Refresh();
         }
     }
     else
     {
         StatLabel.Text = "User Cancelled operation";
         Refresh();
     }
     FOpenDialog.FileName = "";
     FOpenDialog.Filter = tmpFilter;
 }
Example #4
0
 public MyThread(Form1 form, USBDeviceList Usb, FX3_FWDWNLOAD_MEDIA_TYPE enmMediaType)
 {
     fx = Usb;
     Fr = form;
     MediaType = enmMediaType;
 }