Fluigent / fgt-SDK

Fluigent Software Developement Kit
https://www.fluigent.com/
Apache License 2.0
34 stars 16 forks source link
cpp csharp development-kit fgt-sdk fluigent fluigent-devices frp hardware labview lineup matlab mfcs microfluidics pressure python sdk sensor

# Fluigent Software Developement Kit - version 23.0.0

Documentation

Overview

The Fluigent Software Development Kit (SDK) allows you to fully integrate Fluigent devices in your application; it has been ported to the most popular programming language within the instrumentation field (LabVIEW, C++, C# .NET, Python and MATLAB).

This SDK merge all Fluigent pressure controllers and sensor instruments and provide an advanced regulation loop. You can still use independent SDK (MFCS, FRP, LineUP, ESS) for simple hardware setups or for specific software requirements.

Main advantages this newest version of our SDK, helps you to:

Usage

The fastest way to use the SDK with your favorite language is to download the latest release from the dedicated page. Then, follow the instructions from the manual to install each package.

If you want to compile from source, you can clone or download this repository and follow the instructions, when provided, in the language sub-folder you are interested in.

Supported operating systems and architectures

Operating system x86 (32 bits) x64 (64 bits) ARM (32 bits) ARM64 (64 bits)
Windows 7/8/10 X X
Linux1 X2 X3 X4
macOS X
  1. Requires kernel version 2.6.39 or newer
  2. Requires GLIBC ≥ 2.14, GLIBCXX ≥ 3.4.26, CXXABI ≥ 1.3.11
  3. Requires GLIBC ≥ 2.7, GLIBCXX ≥ 3.4.22, CXXABI ≥ 1.3.11, CXXABI_ARM ≥ 1.3.3
  4. Requires GLIBC ≥ 2.17, GLIBCXX ≥ 3.4.22, CXXABI ≥ 1.3.11

Supported hardware

By using Fluigent SDK, you have direct access to following Fluigent devices:

Software layers

Native libraries

The Fluigent SDK is based on a set of native shared libraries for each supported platform. The libraries are sorted into folders by the operating system and processor architecture they target:

Legacy files fgt_SDK_32.dll and fgt_SDK_64.dll are also included for convenience, to match naming conventions used by environments such as LabVIEW. They correspond to the Windows x86 and Windows x64 libraries, respectively.

Middleware

The SDK middleware is a set of packages that make it easier to use the SDK with various programming languages.

The middleware packages provide the following functionalities for your convenience:

The middleware matches the conventions of each programming language while keeping the interface as similar as possible across all supported languages.

Supported packages:

Language Package
C++ Cross-platform CMake project containing middleware and examples
C# Cross-platform .NET Core NuGet package. .NET solution containing package source and examples
LabVIEW Windows Toolkit with examples. LabVIEW project containing toolkit source
Python Cross-platform package and Windows installers. Project folder containing package source and examples
MATLAB Windows Toolbox containing middleware and examples. Project folder containing toolbox source

Linux permissions

On Linux-based operating systems, the system usually does not allow access to peripheral devices without superuser rights. It is possible to make an exception for Fluigent instruments, so the SDK can detect and communicate with them when run by a normal user. You can run the script linux-udev.sh that we provide, which automatically makes the necessary changes to the system. The script must be run with superuser rights.

macOS signature problems

When opening a compiled library on macOS operating systems you may encounter an error "libfgt_SDK.dylib" cannot be opened because the developer cannot be verified. We are working to resolve this issue, but as a temporary workaround you can head to System Preferences -> Security & Privacy and click the Allow Anyway button next to the notification about the library being blocked due to an unidentified developer signature. We are sorry for the inconvenience!

Documentation

Refer to the user manual Fluigent SDK.pdf for detailed documentation.

The public API of the native libraries is documented in the header file fgt_SDK.h.

Wrappers and examples are also documented, depending on the environment.

Support

You can use this GitHub repository to find the source code, report issues, and contribute.

Folders content