static void ReadDataFPGAIntegrity(CyUSBDevice TE_USB_FX2_USBDevice, int BUFFER_SIZE, uint TIMEOUT_MS)
{
if (TE_USB_FX2_USBDevice == null)
{
Console.WriteLine("Error,no device is selected");
return;
}
int packetlen = RX_PACKET_LEN;
int packets = 1200;
byte[] data = new byte[packetlen*packets];
byte[] buffer = new byte[packetlen];
int total_cnt = 0;
int errors = 0;
int PI_EP6 = 6;
bool bResultXfer = false;
ResetFX2FifoStatus(TE_USB_FX2_USBDevice);
SendFPGAcommand(ref TE_USB_FX2_USBDevice, MB_Commands.FX22MB_REG0_START_TX, TIMEOUT_MS);
//starts test
test_cnt = 0;
total_cnt = 0;
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
for (int i = 0; i < packets; i++)
{
packetlen = RX_PACKET_LEN;
//fixed (byte* buf = &data[total_cnt])
bResultXfer = TE_USB_FX2.TE_USB_FX2.TE_USB_FX2_GetData(ref TE_USB_FX2_USBDevice, ref buffer, ref packetlen, PI_EP6, TIMEOUT_MS,BUFFER_SIZE);
Buffer.BlockCopy(buffer,0, data, total_cnt, packetlen);
if (bResultXfer == false)
{
Console.WriteLine("Error Get Data");
errors++;
break;
}
total_cnt += packetlen;
}
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
SendFPGAcommand(ref TE_USB_FX2_USBDevice, MB_Commands.FX22MB_REG0_STOP, TIMEOUT_MS);
//stops test
Â
} |