예제 #1
0
        public System.String GetFwErrorString(FX3_FWDWNLOAD_ERROR_CODE eFwErrorCode)
        {
            switch (eFwErrorCode)
            {
            case FX3_FWDWNLOAD_ERROR_CODE.SUCCESS: return("Succeeded");

            case FX3_FWDWNLOAD_ERROR_CODE.FAILED: return("Failed");

            case FX3_FWDWNLOAD_ERROR_CODE.DEVICE_CREATE_FAILED: return("Device open failed");

            case FX3_FWDWNLOAD_ERROR_CODE.INCORRECT_IMAGE_LENGTH: return("File size does not match");

            case FX3_FWDWNLOAD_ERROR_CODE.INVALID_FILE: return("Invalid input file");

            case FX3_FWDWNLOAD_ERROR_CODE.INVALID_FWSIGNATURE: return("Invalid Firmware Signature");

            case FX3_FWDWNLOAD_ERROR_CODE.INVALID_MEDIA_TYPE: return("Invalid Download type");

            case FX3_FWDWNLOAD_ERROR_CODE.CORRUPT_FIRMWARE_IMAGE_FILE: return("Firmware Image file is Corrupted");

            case FX3_FWDWNLOAD_ERROR_CODE.SPIFLASH_ERASE_FAILED: return("Erase Failed");

            case FX3_FWDWNLOAD_ERROR_CODE.I2CEEPROM_UNKNOWN_I2C_SIZE: return("Unknown I2CE2PROM size, Unknown value parsed from 2nd Bytes of IMG file");

            default: return("Error code not found");
            }
        }
예제 #2
0
 private void ConfigFX3Device(string FileName, CyUSBDevice myDevice)
 {
     if (MyDevice != null)
     {
         FX3_FWDWNLOAD_ERROR_CODE enmResult = FX3_FWDWNLOAD_ERROR_CODE.SUCCESS;
         CyFX3Device fx3 = myDevice as CyFX3Device;
         if (fx3 != null)
         {
             enmResult = fx3.DownloadFw(FileName, FX3_FWDWNLOAD_MEDIA_TYPE.RAM);
         }
         else
         {
             MessageBox.Show("Please check whether the device is FX3 device", "Device ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
             return;
         }
         if (enmResult != FX3_FWDWNLOAD_ERROR_CODE.SUCCESS)
         {
             MessageBox.Show("Config error", "Device ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
         }
         string report = string.Format("Program {0}\n", fx3.GetFwErrorString(enmResult));
         tbxInfo.AppendText(report);
     }
     else
     {
         MessageBox.Show("Please select the USB device", "Device ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
예제 #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            CyFX3Device fx        = myFX3Device as CyFX3Device;
            string      tmpFilter = FOpenDialog.Filter;

            FOpenDialog.Filter = "Firmware Image files (*.img) | *.img";
            if ((fx != null) && (FOpenDialog.ShowDialog() == DialogResult.OK))
            {
                FX3_FWDWNLOAD_ERROR_CODE enmResult = FX3_FWDWNLOAD_ERROR_CODE.SUCCESS;


                rtConsole.AppendText("Programming RAM of ");
                rtConsole.AppendText(fx.FriendlyName);
                rtConsole.AppendText("........\n");

                string filename = FOpenDialog.FileName;
                Refresh();
                enmResult = fx.DownloadFw(filename, FX3_FWDWNLOAD_MEDIA_TYPE.RAM);



                rtConsole.AppendText("Programming");
                rtConsole.AppendText(fx.GetFwErrorString(enmResult));
                rtConsole.AppendText("\n");
                Refresh();
                firmwaredownloaded = true;

                button1.Enabled = false;
            }
            else if (myDevice != null)
            {
                rtConsole.AppendText("FX3 firmware is already downloaded\n");
                StatLabel1.Text = "NEXT STEP: Use Select Bitstream to select the FPGA .bin file ";
            }

            FOpenDialog.FileName = "";
            FOpenDialog.Filter   = tmpFilter;
        }
예제 #4
0
 public System.String GetFwErrorString(FX3_FWDWNLOAD_ERROR_CODE eFwErrorCode)
 {
     switch (eFwErrorCode)
     {
         case FX3_FWDWNLOAD_ERROR_CODE.SUCCESS: return "Succeeded";
         case FX3_FWDWNLOAD_ERROR_CODE.FAILED: return "Failed";
         case FX3_FWDWNLOAD_ERROR_CODE.DEVICE_CREATE_FAILED: return "Device open failed";
         case FX3_FWDWNLOAD_ERROR_CODE.INCORRECT_IMAGE_LENGTH: return "File size does not match";
         case FX3_FWDWNLOAD_ERROR_CODE.INVALID_FILE: return "Invalid input file";
         case FX3_FWDWNLOAD_ERROR_CODE.INVALID_FWSIGNATURE: return "Invalid Firmware Signature";
         case FX3_FWDWNLOAD_ERROR_CODE.INVALID_MEDIA_TYPE: return "Invalid Downolad type";
         case FX3_FWDWNLOAD_ERROR_CODE.CORRUPT_FIRMWARE_IMAGE_FILE: return "Firmware Image file is Corrupted";
         case FX3_FWDWNLOAD_ERROR_CODE.I2CE2PROM_UNKNOWN_I2C_SIZE: return "Unknown I2CE2PROM size, Unknown value parsed from 2nd Bytes of IMG file";
         default: return "Error code not found";
     }
 }