Skip to content

Commit

Permalink
Update SDK to version 21.4.0.0
Browse files Browse the repository at this point in the history
Added
- Functions to add and remove simulated instruments

Fixed
- After replacing a Flow Unit on a Flow EZ, the type is updated on reinit
- Switchboard correctly returns an error on fgt_get_power if it is not connected
- Switchboard and Switch EZ commands sent in quick succession are less
  likely to be ignored by the instrument. A 60ms delay is still recommended.
  • Loading branch information
Ygor-Oliveira committed Dec 14, 2021
1 parent 3b92b49 commit 47583e6
Show file tree
Hide file tree
Showing 61 changed files with 258 additions and 17 deletions.
Binary file modified C#/StaticFiles/fgt_sdk_dlls/linux/arm/libfgt_SDK.so
Binary file not shown.
Binary file modified C#/StaticFiles/fgt_sdk_dlls/linux/arm64/libfgt_SDK.so
Binary file not shown.
Binary file modified C#/StaticFiles/fgt_sdk_dlls/linux/x64/libfgt_SDK.so
Binary file not shown.
Binary file modified C#/StaticFiles/fgt_sdk_dlls/mac/x64/libfgt_SDK.dylib
Binary file not shown.
Binary file modified C#/StaticFiles/fgt_sdk_dlls/windows/x64/fgt_SDK.dll
Binary file not shown.
Binary file modified C#/StaticFiles/fgt_sdk_dlls/windows/x64/fgt_SDK.lib
Binary file not shown.
Binary file modified C#/StaticFiles/fgt_sdk_dlls/windows/x86/fgt_SDK.dll
Binary file not shown.
Binary file modified C#/StaticFiles/fgt_sdk_dlls/windows/x86/fgt_SDK.lib
Binary file not shown.
32 changes: 32 additions & 0 deletions C#/fgt_sdk_csharp/fgtSdk.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,11 @@ private static IntPtr ArchResolver(string libraryName, Assembly assembly, DllImp
[DllImport(FGT_SDK)]
private static extern byte fgt_initEx(ushort[] serialNumbers);

[DllImport(FGT_SDK)]
private static extern byte fgt_create_simulated_instr(fgt_INSTRUMENT_TYPE type, ushort serial, ushort version, int[] config, int length);

[DllImport(FGT_SDK)]
private static extern byte fgt_remove_simulated_instr(fgt_INSTRUMENT_TYPE type, ushort serial);

#endregion

Expand Down Expand Up @@ -415,6 +420,33 @@ public static fgt_ERROR_CODE Fgt_initEx(List<ushort> serialNumbers)
return ErrCheck((fgt_ERROR_CODE) fgt_initEx(sns), fgt_ERRCHECK_TYPE.Generic);
}

/// <summary>
/// Creates a simulated Fluigent instrument, which can be detected and initialized like a real one,
/// for the purposes of testing and demonstrations.
/// </summary>
/// <param name="type">Type of instrument to simulate</param>
/// <param name="serial">Serial number for the simulated instrument</param>
/// <param name="version">Firmware version for the simulated instrument. Set to 0 to use the default version</param>
/// <param name="config">Array describing the instrument's configuration</param>
/// <returns></returns>
public static fgt_ERROR_CODE Fgt_create_simulated_instr(fgt_INSTRUMENT_TYPE type, ushort serial, ushort version, int[] config)
{
return ErrCheck((fgt_ERROR_CODE)fgt_create_simulated_instr(type, serial, version, config, config.Length), fgt_ERRCHECK_TYPE.Generic);
}

/// <summary>
/// Removes a simulated instrument that had been previously created. If it had already been initialized
/// by the SDK, the controller and channels will remain in the respective lists, but they will act as if
/// the instrument is missing. This is equivalent to physically disconnecting a real instrument.
/// </summary>
/// <param name="type">Type of instrument to remove</param>
/// <param name="serial">Serial number of the simulated instrument</param>
/// <returns></returns>
public static fgt_ERROR_CODE Fgt_remove_simulated_instr(fgt_INSTRUMENT_TYPE type, ushort serial)
{
return ErrCheck((fgt_ERROR_CODE)fgt_remove_simulated_instr(type, serial), fgt_ERRCHECK_TYPE.Generic);
}

#endregion

#region Channels info
Expand Down
6 changes: 3 additions & 3 deletions C#/fgt_sdk_csharp/fgt_sdk.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@
<Authors>Fluigent</Authors>
<Product>Fluigent Software Development Kit</Product>
<Description>C# Software Development Kit for Fluigent instruments</Description>
<Version>21.3.0.0</Version>
<Version>21.4.0.0</Version>
<PackageTags>Microfluidics, Control</PackageTags>
<Platforms>AnyCPU;x64;x86</Platforms>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<AssemblyVersion>21.3.0.0</AssemblyVersion>
<AssemblyVersion>21.4.0.0</AssemblyVersion>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<Copyright>Copyright (c) Fluigent 2021</Copyright>
<RepositoryUrl>https://github.com/Fluigent/fgt-SDK</RepositoryUrl>
<PackageProjectUrl>https://www.fluigent.com/</PackageProjectUrl>
<FileVersion>21.3.0.0</FileVersion>
<FileVersion>21.4.0.0</FileVersion>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
Expand Down
4 changes: 2 additions & 2 deletions C++/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.17)
cmake_minimum_required(VERSION 3.13)

project(SDK_cpp_examples VERSION 21.0.0.0)
project(SDK_cpp_examples VERSION 21.4.0.0)
set(CMAKE_CXX_STANDARD 11)

add_subdirectory(fgt_SDK_Cpp)
Expand Down
25 changes: 23 additions & 2 deletions C++/fgt_SDK_Cpp/dlls/fgt_SDK.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
*
* Title: fgt_SDK.h
* Purpose: Functions API for Fluigent instruments
* Version: 21.3.0.0
* Date: 11/2021
* Version: 21.4.0.0
* Date: 12/2021
*============================================================================*/

#ifndef _FGT_SDK_H
Expand Down Expand Up @@ -182,6 +182,27 @@ typedef struct
*/
unsigned char FGT_API fgt_initEx(unsigned short SN[256]);

/**
* @Description Creates a simulated Fluigent instrument, which can be detected and initialized like a real one, for the purposes
* of testing and demonstrations.
* @param [type] Type of instrument to simulate
* @param [serial] Serial number for the simulated instrument
* @param [version] Firmware version for the simulated instrument. Set to 0 to use the default version
* @param [config] Array describing the instrument's configuration
* @param [length] Length of the config array
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_create_simulated_instr(fgt_instrument_t type, unsigned short serial, unsigned short version, int* config, int length);

/**
* @Description Removes a simulated instrument that had been previously created. If it had already been initialized by the SDK,
* the controller and channels will remain in the respective lists, but they will act as if the instrument is missing. This is
equivalent to physically disconnecting a real instrument.
* @param [type] Type of instrument to remove
* @param [serial] Serial number of the simulated instrument
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_remove_simulated_instr(fgt_instrument_t type, unsigned short serial);

/*============================================================================*/
/*----------------------------- Channels info ------------------------------*/
Expand Down
Binary file modified C++/fgt_SDK_Cpp/dlls/linux/arm/libfgt_SDK.so
Binary file not shown.
Binary file modified C++/fgt_SDK_Cpp/dlls/linux/arm64/libfgt_SDK.so
Binary file not shown.
Binary file modified C++/fgt_SDK_Cpp/dlls/linux/x64/libfgt_SDK.so
Binary file not shown.
Binary file modified C++/fgt_SDK_Cpp/dlls/mac/x64/libfgt_SDK.dylib
Binary file not shown.
Binary file modified C++/fgt_SDK_Cpp/dlls/windows/x64/fgt_SDK.dll
Binary file not shown.
Binary file modified C++/fgt_SDK_Cpp/dlls/windows/x64/fgt_SDK.lib
Binary file not shown.
Binary file modified C++/fgt_SDK_Cpp/dlls/windows/x86/fgt_SDK.dll
Binary file not shown.
Binary file modified C++/fgt_SDK_Cpp/dlls/windows/x86/fgt_SDK.lib
Binary file not shown.
14 changes: 14 additions & 0 deletions C++/fgt_SDK_Cpp/fgt_SDK_Cpp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,20 @@ fgt_ERROR_CODE Fgt_initEx(unsigned short SN[256])
return returnCode;
}

fgt_ERROR_CODE Fgt_create_simulated_instr(fgt_instrument_t type, unsigned short serial, unsigned short version, int* config, int length)
{
fgt_ERROR_CODE returnCode = fgt_ERROR_CODE(fgt_create_simulated_instr(type, serial, version, config, length));
Fgt_Manage_Generic_Status(returnCode, __func__);
return returnCode;
}

fgt_ERROR_CODE Fgt_remove_simulated_instr(fgt_instrument_t type, unsigned short serial)
{
fgt_ERROR_CODE returnCode = fgt_ERROR_CODE(fgt_remove_simulated_instr(type, serial));
Fgt_Manage_Generic_Status(returnCode, __func__);
return returnCode;
}

/*============================================================================*/
/*------------------------------ Channels info -----------------------------*/
/*============================================================================*/
Expand Down
26 changes: 24 additions & 2 deletions C++/fgt_SDK_Cpp/fgt_SDK_Cpp.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
* Title: fgt_SDK_Cpp.h
* Purpose: Wrapper to fgt_SDK library
* Contains an interface to each dll function and type conversions
* Version: 21.3.0.0
* Date: 09/2021
* Version: 21.4.0.0
* Date: 12/2021
*============================================================================*/

#ifndef _FGT_SDK_CPP_H
Expand Down Expand Up @@ -121,6 +121,28 @@ unsigned char Fgt_detect(unsigned short SN[256], fgt_INSTRUMENT_TYPE type[256]);
*/
fgt_ERROR_CODE Fgt_initEx(unsigned short SN[256]);

/**
* @Description Creates a simulated Fluigent instrument, which can be detected and initialized like a real one, for the purposes
* of testing and demonstrations.
* @param [type] Type of instrument to simulate
* @param [serial] Serial number for the simulated instrument
* @param [version] Firmware version for the simulated instrument. Set to 0 to use the default version
* @param [config] Array describing the instrument's configuration
* @param [length] Length of the config array
* @return fgt_ERROR_CODE
*/
fgt_ERROR_CODE Fgt_create_simulated_instr(fgt_instrument_t type, unsigned short serial, unsigned short version, int* config, int length);

/**
* @Description Removes a simulated instrument that had been previously created. If it had already been initialized by the SDK,
* the controller and channels will remain in the respective lists, but they will act as if the instrument is missing. This is
equivalent to physically disconnecting a real instrument.
* @param [type] Type of instrument to remove
* @param [serial] Serial number of the simulated instrument
* @return fgt_ERROR_CODE
*/
fgt_ERROR_CODE Fgt_remove_simulated_instr(fgt_instrument_t type, unsigned short serial);


/*============================================================================*/
/*----------------------------- Channels info ------------------------------*/
Expand Down
Binary file modified Fluigent SDK.pdf
Binary file not shown.
25 changes: 23 additions & 2 deletions LabVIEW/dlls/fgt_SDK.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
*
* Title: fgt_SDK.h
* Purpose: Functions API for Fluigent instruments
* Version: 21.3.0.0
* Date: 11/2021
* Version: 21.4.0.0
* Date: 12/2021
*============================================================================*/

#ifndef _FGT_SDK_H
Expand Down Expand Up @@ -182,6 +182,27 @@ typedef struct
*/
unsigned char FGT_API fgt_initEx(unsigned short SN[256]);

/**
* @Description Creates a simulated Fluigent instrument, which can be detected and initialized like a real one, for the purposes
* of testing and demonstrations.
* @param [type] Type of instrument to simulate
* @param [serial] Serial number for the simulated instrument
* @param [version] Firmware version for the simulated instrument. Set to 0 to use the default version
* @param [config] Array describing the instrument's configuration
* @param [length] Length of the config array
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_create_simulated_instr(fgt_instrument_t type, unsigned short serial, unsigned short version, int* config, int length);

/**
* @Description Removes a simulated instrument that had been previously created. If it had already been initialized by the SDK,
* the controller and channels will remain in the respective lists, but they will act as if the instrument is missing. This is
equivalent to physically disconnecting a real instrument.
* @param [type] Type of instrument to remove
* @param [serial] Serial number of the simulated instrument
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_remove_simulated_instr(fgt_instrument_t type, unsigned short serial);

/*============================================================================*/
/*----------------------------- Channels info ------------------------------*/
Expand Down
Binary file modified LabVIEW/dlls/fgt_SDK_32.dll
Binary file not shown.
Binary file modified LabVIEW/dlls/fgt_SDK_64.dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 47583e6

Please sign in to comment.