Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 0 ≤ CardNumber ≤ (number of attached devices – 1), thenthe selected module is not directly given by USBDeviceList (CCyUSBDevice type). An internal operation that opens a handle to CyUSB.sys driver (or a derivative like TE driver) is executed instead (see page 45 of CyAPI.pdf). This handle is internally managed by CyAPI.lib, therefore there is no need to expose them to the user.
  • if CardNumber ≥ number of attached devices, thenUSBDeviceList (CyUSBDevice type) is not initialized to null (the device list is not erased). An internal operation that closes an handle to CyUSB.sys driver (or a derivative like TE driver) is executed instead (see page 33 of CyAPI.pdf).
Info
A more intuitive name for this function would have been TE_USB_FX2_SelectCard().
Note
You can use this function to select the desired module without the need to call TE_USB_FX2_Close() before. Though doing so would not cause any problems.
Close() is automatically carried out by the TE_USB_FX2_Open() function if a handle to the driver is already open (i.e. a TE_USB_FX2_Open() has been successfully called before).
Note

If no device is attached, USBDeviceList is not initialized to null (the device list is not erased).

 

Description of internal procedure

...