You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

 

This combination is WRONG because

  • data throughput is halved with regard to the correct combination and
  • the test will fail because it is not the way it is supposed to be used.
int TX_PACKET_LEN = 51200;//102400;
int packetlen = TX_PACKET_LEN;
unsigned int packets = 500; //1200;//1200;
unsigned long TIMEOUT = 1000;
byte * data;
byte * data_temp = NULL;
unsigned int total_cnt = 0;
unsigned int errors = 0;
double TheElapsedTime = 0;
PI_PipeNumber PipeNo = PI_EP8;
data = new byte [TX_PACKET_LEN*packets]; //allocate memory //
ResetFX2FifoStatus(USBDeviceList);
//starts test
bool bResultDataWrite = false;
byte PipeNoHex = 0x00;
unsigned int XferSizeRead=0;
unsigned int DeviceDriverBufferSize = 131072;//409600;//131072;
// Find a second bulk OUT endpoint in the EndPoints[] array
CCyBulkEndPoint *BulkOutEP = NULL;
TE_USB_FX2_SetData_InstanceDriverBuffer (USBDeviceList, &BulkOutEP, PipeNo, TIMEOUT, DeviceDriverBufferSize);
ElapsedTime.Start(); //StopWatch start
total_cnt = 0;
for (unsigned int i = 0; i < packets; i++)
{
     long packetlen = TX_PACKET_LEN;
     data_temp = &data[total_cnt];

     //start test
     SendFPGAcommand(USBDeviceList, FX22MB_REG0_START_RX);
     if (TE_USB_FX2_SetData(&BulkOutEP, data_temp, packetlen))
     {
         cout << "ERROR" << endl;
         break;
     }

     //stops test
     SendFPGAcommand(USBDeviceList, FX22MB_REG0_STOP);
     total_cnt += packetlen;
}
//StopWatch timer
TheElapsedTime = ElapsedTime.Stop(false);


  • No labels