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"); } }
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); } }
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; }
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"; } }