Versions Compared

Key

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

...

TE_USB_FX2_CyAPI (C++) APIs and TE_USB_FX2_CyUSB (.NET) API do not have the same signature although they are very similar. The signature of the pure extern C code library version of TE_USB_FX2_CyAPI APIs available for developers (codename: simplified TE_USB_FX2_CyAPI APIs) is slightly different from the two signatures above.
TE_USB_FX2_CyUSB (.NET) API is intrinsically cleaner than TE_USB_FX2_CyAPI (C++) APIs because CyUSB.dll is intrinsically cleaner than CyAPI.lib.
Please note that CCyUSBDevice Cypress class in the Cypress CyAPI C++ API is actually the list of all USB devices currently served by a Cypress USB driver derivative (e.g. Cypress generic USB device or Trenz Electronic USB FX2 device). For ease of understanding and convenience, Trenz Electronic named the corresponding variable as USBdevList.

API

Cypress class name

TE USB FX2 variable name

C++ API

CCyUSBDevice

USBdevList

.NET API

USBDeviceList

USBdevList

Table: device list.

API

Cypress class name

TE USB FX2 variable name

C++ API

(not available)

(not available)

.NET API

CyUSBDevice

TE_USB_FX2_USBDevice

Table: single device of the device list above.
Most functions, parameters and variables have maintained name and meaning across APIs. A notable exceptions is recalled in the following table.

TE_USB_FX2_CyAPI (C++) APIs

TE_USB_FX2_CyUSB (.NET) API

TE_USB_FX2_SetData_InstanceDriverBuffer()
TE_USB_FX2_SetData()

(not available)
TE_USB_FX2_SetData()

TE_USB_FX2_GetData_InstanceDriverBuffer()
TE_USB_FX2_GetData()

(not available)
TE_USB_FX2_GetData()

...

  • ease binding from Python or another programming language, but also
  • make impossible to directly access CyAPI.lib classes and functions to extend Trenz Electronic TE_USB_FX2_CyAPI.dll libraries or CyUSB.lib classes and methods to extend Trenz Electronic TE_USB_FX2_CyUSB.dll library.