void ReadData(unsigned int handle) {
int packetlen = RX_PACKET_LEN; unsigned int packets = 1200; byte * data;
unsigned int total_cnt = 0; unsigned int errors = 0; data = new byte [RX_PACKET_LEN*packets]; //allocate memory
ResetFX2FifoStatus(handle); SendFPGAcommand(handle,FX22MB_REG0_START_TX); //starts test
ElapsedTime.Start(); //StopWatch start
for (unsigned int i = 0; i < packets; i++) { packetlen = RX_PACKET_LEN;
if (TE0300_GetData(handle, data+total_cnt, &packetlen, PI_EP6,TIMEOUT_MS)) {
cout << "ERROR" << endl; errors++; break; } total_cnt += packetlen; } TheElapsedTime = ElapsedTime.Stop(false); //DEBUG StopWatch timer
SendFPGAcommand(handle,FX22MB_REG0_STOP); //stops test delete data; } | 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_GetDataP(ref inEndpointPipeNo, buf, ref packetlen, PI_EP6, TIMEOUT_MS); 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 } |