nidas
v1.2-1520
|
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <cmath>
#include <ctime>
#include "PassMarkUSB.h"
Macros | |
#define | USE_LIBUSB_FORSPEED 1 |
Functions | |
int | USB_2_BenchmarkTest (libusb_device_handle *handle_udev, int usbIndex) |
int | USB_3_BenchmarkTest (libusb_device_handle *handle_udev, int usbIndex) |
int | main (int argc, char *argv[]) |
int | SendUSB_3_VendorCommand (libusb_device_handle *udev, int wValue, unsigned char *buf, long bufflen) |
int | SendUSB_2_VendorCommand (libusb_device_handle *udev, int ReqMode, int Parameter, unsigned char *bufferout, int bufferSize) |
int | GetUSBDeviceInfo (libusb_device *udev, char *serial, unsigned int serial_size, char *desc, unsigned int desc_size, float *fwVer) |
int | GetUSBInfoFromlibusb () |
void | EnableUSB3LowPowerEntry (libusb_device_handle *handle_udev) |
void | DisableUSB3LowPowerEntry (libusb_device_handle *handle_udev) |
void | EnableUSB3ErrorCounts (libusb_device_handle *handle_udev) |
void | GetUSB3GetErrorCounts (libusb_device_handle *handle_udev) |
int | GetUSBPortsInfo () |
bool | ConnectUSBPlug (bool bReconnect, int usbPlugIndex, USB3_SPEED Speed, USB_3_TEST_MODE TestMode, libusb_device_handle **handle_udev, unsigned long *MaxTransferSize, unsigned long *CurrentTransferSize, unsigned char **inBuffer, unsigned char **outBuffer) |
void | wait_USB (int wait_time) |
int | LoopbackTest (libusb_device_handle *handle_udev, int usbIndex, int maxTransferSize, unsigned char *inBuffer, unsigned char *outBuffer) |
void | InitBuffer (unsigned long currentTransferSize, int dataPattern, unsigned char constPattern, unsigned char *outBuffer) |
void | USB_3_BenchmarkLoop (libusb_device_handle *handle_udev, int usbIndex, int endpoint, int NumXferPackets, long TransferSize) |
#define USE_LIBUSB_FORSPEED 1 |
bool ConnectUSBPlug | ( | bool | bReconnect, |
int | usbPlugIndex, | ||
USB3_SPEED | Speed, | ||
USB_3_TEST_MODE | TestMode, | ||
libusb_device_handle ** | handle_udev, | ||
unsigned long * | MaxTransferSize, | ||
unsigned long * | CurrentTransferSize, | ||
unsigned char ** | inBuffer, | ||
unsigned char ** | outBuffer | ||
) |
References config_info_def::buffer_count, config_info_def::buffer_size, device, config_info_def::ep_in, config_info_def::ep_out, config_info_def::ep_type, GetUSBDeviceInfo(), config_info_def::hs_bulk_nak_interval, config_info_def::iso_bytes_per_bus_interval, config_info_def::iso_transactions_per_bus_interval, LOOPBACK_USB_2_PRODUCT_ID, LOOPBACK_USB_3_PRODUCT_ID, LOOPBACK_VENDOR_ID, MAX_DRIVER_NAME, config_info_def::polling_interval, printf(), SendUSB_2_VendorCommand(), SendUSB_3_VendorCommand(), config_info_def::speed, config_info_def::ss_burst_len, config_info_def::test_mode, USBInfo::type, USB_2_CHANGEMODEOUTSTAT, USB_2_EPLOOPIN, USB_2_EPLOOPOUT, USB_2_LOOPBACK, USB_2_LOOPBACKFSBUFFERSIZE, USB_2_LOOPBACKHSBUFFERSIZE, USB_3_BENCHMARK_BUFFER_COUNT, USB_3_BENCHMARK_BUFFER_SIZE, USB_3_BENCHMARK_RW_BUFFER_COUNT, USB_3_BENCHMARK_RW_BUFFER_SIZE, USB_3_EP_BULK, USB_3_EPLOOPIN, USB_3_EPLOOPOUT, USB_3_LOOPBACK_BUFFER_COUNT, USB_3_LOOPBACK_BUFFER_SIZE, USB_3_SET_CONFIG, USB_3_TEST_BENCHMARK_RW, USB_3_TEST_BENCHMARK_WRITE, USB_3_TEST_LOOPBACK, USB_context, usbInfo, and wait_USB().
Referenced by main(), and USB_3_BenchmarkTest().
void DisableUSB3LowPowerEntry | ( | libusb_device_handle * | handle_udev | ) |
References SendUSB_3_VendorCommand(), and USB_3_RESET_ERROR_COUNTERS.
Referenced by LoopbackTest().
void EnableUSB3ErrorCounts | ( | libusb_device_handle * | handle_udev | ) |
References SendUSB_3_VendorCommand(), USB_3_CONF_ERROR_COUNTERS, and USB_3_RESET_ERROR_COUNTERS.
Referenced by LoopbackTest().
void EnableUSB3LowPowerEntry | ( | libusb_device_handle * | handle_udev | ) |
References LPM_ENTRY_DISABLE, SendUSB_3_VendorCommand(), and USB_3_CONFIG_LPM_ENTRY.
void GetUSB3GetErrorCounts | ( | libusb_device_handle * | handle_udev | ) |
References printf(), SendUSB_3_VendorCommand(), USB_3_CREDIT_HP_TIMEOUT_EN, USB_3_GET_ERROR_COUNTS, USB_3_HDR_ADV_HP_EN, USB_3_HDR_ADV_LCRD_EN, USB_3_HDR_ADV_LGO_EN, USB_3_HDR_ADV_TIMEOUT_EN, USB_3_HP_TIMEOUT_EN, USB_3_MISSING_LCRD_EN, USB_3_MISSING_LGOOD_EN, USB_3_PHY_ERROR_DISPARITY_EV, USB_3_PHY_ERROR_EB_OVR_EV, USB_3_PHY_ERROR_EB_UND_EV, USB_3_PHY_LOCK_EV, USB_3_PM_LC_TIMEOUT_EN, USB_3_RX_ERROR_CRC16_EV, USB_3_RX_ERROR_CRC32_EV, USB_3_RX_ERROR_CRC5_EV, USB_3_RX_HP_FAIL_EN, USB_3_RX_SEQ_NUM_ERR_EN, USB_3_TRAINING_ERROR_EV, and USB_3_TX_SEQ_NUM_ERR_EN.
Referenced by LoopbackTest().
int GetUSBDeviceInfo | ( | libusb_device * | udev, |
char * | serial, | ||
unsigned int | serial_size, | ||
char * | desc, | ||
unsigned int | desc_size, | ||
float * | fwVer | ||
) |
int GetUSBInfoFromlibusb | ( | ) |
References USBInfo::bus, device, USBInfo::fwVer, GetUSBDeviceInfo(), LOOPBACK_USB_2_PRODUCT_ID, LOOPBACK_USB_3_PRODUCT_ID, LOOPBACK_VENDOR_ID, MAXSERIALNUMLEN, USBInfo::port, printf(), USBInfo::speed, USBInfo::type, USB_context, and usbInfo.
Referenced by GetUSBPortsInfo().
int GetUSBPortsInfo | ( | ) |
References USBInfo::bus, fclose(), fp, GetUSBInfoFromlibusb(), len, MAXNUMUSBPORTS, MAXSERIALNUMLEN, USBInfo::port, printf(), USBInfo::speed, and usbInfo.
Referenced by main().
void InitBuffer | ( | unsigned long | currentTransferSize, |
int | dataPattern, | ||
unsigned char | constPattern, | ||
unsigned char * | outBuffer | ||
) |
References CONSTANTBYTE, INCREMENTINGBYTE, and RANDOMBYTE.
Referenced by USB_3_BenchmarkLoop().
int LoopbackTest | ( | libusb_device_handle * | handle_udev, |
int | usbIndex, | ||
int | maxTransferSize, | ||
unsigned char * | inBuffer, | ||
unsigned char * | outBuffer | ||
) |
References CONSTANTBYTE, DisableUSB3LowPowerEntry(), EnableUSB3ErrorCounts(), GetUSB3GetErrorCounts(), INCREMENTINGBYTE, LOOPBACK_USB_2_PRODUCT_ID, LOOPBACK_USB_3_PRODUCT_ID, printf(), RANDOMBYTE, SendUSB_2_VendorCommand(), USB_2_CHANGELEDS, USB_2_CHANGEMODEOUTSTAT, USB_2_EPLOOPIN, USB_2_EPLOOPOUT, USB_2_STATISTICS, USB_3_EPLOOPIN, USB_3_EPLOOPOUT, usbInfo, and wait_USB().
Referenced by main().
int main | ( | int | argc, |
char * | argv[] | ||
) |
int SendUSB_2_VendorCommand | ( | libusb_device_handle * | udev, |
int | ReqMode, | ||
int | Parameter, | ||
unsigned char * | bufferout, | ||
int | bufferSize | ||
) |
References USB_2_BENCHMARK, USB_2_CHANGELEDS, USB_2_CHANGEMODE, USB_2_CHANGEMODEOUT, USB_2_CHANGEMODEOUTSTAT, USB_2_LOOPBACK, and USB_2_STATISTICS.
Referenced by ConnectUSBPlug(), LoopbackTest(), and USB_2_BenchmarkTest().
int SendUSB_3_VendorCommand | ( | libusb_device_handle * | udev, |
int | wValue, | ||
unsigned char * | buf, | ||
long | bufflen | ||
) |
References printf(), USB_3_CONF_ERROR_COUNTERS, USB_3_CONFIG_LPM_ENTRY, USB_3_RESET_ERROR_COUNTERS, USB_3_SET_CONFIG, and USB_3_SET_DISP_MODE.
Referenced by ConnectUSBPlug(), DisableUSB3LowPowerEntry(), EnableUSB3ErrorCounts(), EnableUSB3LowPowerEntry(), GetUSB3GetErrorCounts(), GetUSBDeviceInfo(), and USB_3_BenchmarkTest().
int USB_2_BenchmarkTest | ( | libusb_device_handle * | handle_udev, |
int | usbIndex | ||
) |
References LOOPBACK_USB_3_PRODUCT_ID, _BENCHMARK_RESULTS::MaxReadSpeed, _BENCHMARK_RESULTS::MaxWriteSpeed, printf(), READWRITECYCLES, SendUSB_2_VendorCommand(), USB_2_BENCHMARK, USB_2_BENCHMARKFSBUFFERSIZE, USB_2_BENCHMARKHSBUFFERSIZE, USB_2_CHANGEMODEOUTSTAT, USB_2_EPBENCHIN, USB_2_EPBENCHOUT, USB_2_EPHISTORY, USB_2_FSFIFOSIZE, USB_2_HSFIFOSIZE, USB_2_STATISTICS, and usbInfo.
Referenced by main().
void USB_3_BenchmarkLoop | ( | libusb_device_handle * | handle_udev, |
int | usbIndex, | ||
int | endpoint, | ||
int | NumXferPackets, | ||
long | TransferSize | ||
) |
References InitBuffer(), len, printf(), and RANDOMBYTE.
Referenced by USB_3_BenchmarkTest().
int USB_3_BenchmarkTest | ( | libusb_device_handle * | handle_udev, |
int | usbIndex | ||
) |
References ConnectUSBPlug(), printf(), SendUSB_3_VendorCommand(), USB_3_BenchmarkLoop(), USB_3_DISPLAY_DISABLE, USB_3_DISPLAY_ENABLE, USB_3_EPLOOPIN, USB_3_EPLOOPOUT, USB_3_SET_DISP_MODE, USB_3_ST_SS, USB_3_TEST_BENCHMARK_RW, and usbInfo.
Referenced by main().
void wait_USB | ( | int | wait_time | ) |
Referenced by ConnectUSBPlug(), and LoopbackTest().