Generation 2 and generation 3 technology stacks are very similar at the application layer. Porting an application from generation 2 to generation 3 technology stack in quite easy and well documented in user friendly porting guides.

Generation 2

Users can write their application code in C/C++ using the DEWESoft TE USB API. The application code shall use handles.
Sample application projects:

Generation 3

Users can write their application code

The application code does not use handles.
If the user wants to develop and launch an application or system service (e.g. a Plug and Play application or system service), he/she can call any useful functions or methods from CyAPI (in C++ only), TE_USB_FX2_CyAPI (in C++ only), CyUSB (in any .NET programming language) or TE_USB_FX2_CyUSB (in any .NET programming language).

TE_USB_FX2_CyAPI.dll (C++)

Documentation:

Application code examples:

Compiling C++ applications:

TE_USB_FX2_CyUSB.dll (C#)

Documentation:

Apllication code examples:

Compiling C# applications:

Simplified TE_USB_FX2_CyAPI.dll (C++)

Documentation:

Apllication code examples:

Compiling C++ applications:

Open_FUT (generation 3)

Open_FUT (generation 3) has been developed in CPython by using a pure extern C code library version of TE_USB_FX2_CyAPI APIs (codename: simplified TE_USB_FX2_CyAPI APIs).
Open_FUT could be ported to .NET by