This function open the connection to the selected by a number (starting from zero) Trenz Electronic USB FX2 device number (Cypress driver derivative and VID = 0xbd0, PID=0x0300) connected to a host computer's USB port.
This function takes an already initialized USB device list, searches for Trenz Electronic USB FX2 devices (Cypress driver derivative and VID = 0xbd0, PID=0x0300) connected to host computer's USB ports and counts them.
An internal operation that closes an handle to the CyUSB.sys driver (or a derivative like TE_USB_FX2_xx.sys) is executed instead (see page 33 of CyAPI.pdf).
If one or more devices are attached and
If no device is attached, USBDeviceList is not initialized to null (the device list is not erased).
TE_USB_FX2_CYAPI int TE_USB_FX2_Open(CCyUSBDevice *USBDeviceList, int CardNumber);
Your application program shall call this function like this:
TE_USB_FX2_Open(USBDeviceList, CardNumber);
CCyUSBDevice *USBDeviceList
CCyUSBDevice is a type defined in CyAPI.lib. Its name is misleading because it is not a class that represents a single USB device, but it rather represents a list of USB devices.
CCyUSBDevice is the list of devices served by the CyUSB.sys driver (or a derivative like TE_USB_FX2_xx.sys). This parameter is passed by pointer. See page 7 and pages 23-49 of CyAPI.pdf (Cypress CyAPI Programmer's Reference).
int CardNumber
This is the number of the selected Trenz Electronic USB FX2 device (module).
int : integer type
This function returns true (ST_OK=0) if it is able to find the module selected by CardNumber. If unable to do so, it returns false (ST_ERROR=1).
enum ST_Status { ST_OK = 0, ST_ERROR = 1 };