Skip to content

Commit

Permalink
Merge pull request #62 from Fluigent/version-22.2.0.0
Browse files Browse the repository at this point in the history
Update SDK to version 22.2.0.0
  • Loading branch information
mtrellet authored Jan 19, 2023
2 parents 5c4c295 + e6c3070 commit e158ea8
Show file tree
Hide file tree
Showing 95 changed files with 933 additions and 164 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.
2 changes: 2 additions & 0 deletions C#/fgt_sdk_csharp/Enums/fgt_INSTRUMENT_TYPE.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,7 @@ public enum fgt_INSTRUMENT_TYPE
IPS,
ESS,
F_OEM,
CFU,
NIFS,
}
}
2 changes: 2 additions & 0 deletions C#/fgt_sdk_csharp/Enums/fgt_SENSOR_TYPE.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,7 @@ public enum fgt_SENSOR_TYPE
Pressure_XL,
Flow_M_plus_dual,
Flow_L_plus_dual,
Flow_L_CFU,
Flow_L_NIFS,
}
}
1 change: 1 addition & 0 deletions C#/fgt_sdk_csharp/Enums/fgt_VALVE_TYPE.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ public enum fgt_VALVE_TYPE
M_X,
Two_X,
L_X,
Bypass,
}
}
107 changes: 105 additions & 2 deletions C#/fgt_sdk_csharp/fgtSdk.cs
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,30 @@ private static IntPtr ArchResolver(string libraryName, Assembly assembly, DllImp
[DllImport(FGT_SDK)]
private static extern byte fgt_get_inletPressure(uint pressureIndex, ref float pressure);

// unsigned char __stdcall fgt_get_differentialPressureRange(unsigned int sensorIndex, float* Pmin, float* Pmax);
[DllImport(FGT_SDK)]
private static extern byte fgt_get_differentialPressureRange(uint sensorIndex, ref float pMin, ref float pMax);

// unsigned char __stdcall fgt_get_differentialPressure(unsigned int sensorIndex, float* Pdiff);
[DllImport(FGT_SDK)]
private static extern byte fgt_get_differentialPressure(uint sensorIndex, ref float pDiff);

// unsigned char __stdcall fgt_get_absolutePressureRange(unsigned int sensorIndex, float* Pmin, float* Pmax);
[DllImport(FGT_SDK)]
private static extern byte fgt_get_absolutePressureRange(uint sensorIndex, ref float pMin, ref float pMax);

// unsigned char __stdcall fgt_get_absolutePressure(unsigned int sensorIndex, float* Pabs);
[DllImport(FGT_SDK)]
private static extern byte fgt_get_absolutePressure(uint sensorIndex, ref float pAbs);

// unsigned char __stdcall fgt_get_sensorBypassValve(unsigned int sensorIndex, unsigned char* state)
[DllImport(FGT_SDK)]
private static extern byte fgt_get_sensorBypassValve(uint sensorIndex, ref byte state);

// unsigned char __stdcall fgt_set_sensorBypassValve(unsigned int sensorIndex, unsigned char state)
[DllImport(FGT_SDK)]
private static extern byte fgt_set_sensorBypassValve(uint sensorIndex, byte state);

#endregion

#endregion
Expand Down Expand Up @@ -1132,8 +1156,9 @@ public static fgt_ERROR_CODE Fgt_set_purge(uint controllerIndex, bool purge)
}

/// <summary>
/// Manually activate internal electrovalve. This stops pressure regulation.
/// This feature is only available on MFCS and MFCS-EZ devices.
/// Manually set internal solenoid valve voltage.
/// This stops pressure regulation on the channel until a new pressure or
/// flow rate command is set.
/// </summary>
/// <param name="pressureIndex">Index of pressure channel or unique ID</param>
/// <param name="value">Applied valve voltage from 0 to 100(%)</param>
Expand Down Expand Up @@ -1184,6 +1209,84 @@ public static (fgt_ERROR_CODE errCode, float pressure) Fgt_get_inletPressure(uin
return (errCode, pressure);
}

/// <summary>
/// Returns the range of the differential pressure sensor.
/// This feature is only available on NIFS devices.
/// </summary>
/// <param name="sensorIndex">Index of sensor channel or unique ID</param>
/// <returns>Error code <see cref="fgt_ERROR_CODE"/></returns>
public static (fgt_ERROR_CODE errCode, float pMin, float pMax) Fgt_get_differentialPressureRange(uint sensorIndex)
{
float pMin = 0, pMax = 0;
var errCode = ErrCheck((fgt_ERROR_CODE)fgt_get_differentialPressureRange(sensorIndex, ref pMin, ref pMax), fgt_ERRCHECK_TYPE.Sensor);
return (errCode, pMin, pMax);
}

/// <summary>
/// Returns the current differential pressure measurement
/// This feature is only available on NIFS devices.
/// </summary>
/// <param name="sensorIndex">Index of sensor channel or unique ID</param>
/// <returns>Error code <see cref="fgt_ERROR_CODE"/> and differential pressure</returns>
public static (fgt_ERROR_CODE errCode, float pDiff) Fgt_get_differentialPressure(uint sensorIndex)
{
float pDiff = 0;
var errCode = ErrCheck((fgt_ERROR_CODE)fgt_get_differentialPressure(sensorIndex, ref pDiff), fgt_ERRCHECK_TYPE.Sensor);
return (errCode, pDiff);
}

/// <summary>
/// Returns the range of the absolute pressure sensor.
/// This feature is only available on NIFS devices.
/// </summary>
/// <param name="sensorIndex">Index of sensor channel or unique ID</param>
/// <returns>Error code <see cref="fgt_ERROR_CODE"/></returns>
public static (fgt_ERROR_CODE errCode, float pMin, float pMax) Fgt_get_absolutePressureRange(uint sensorIndex)
{
float pMin = 0, pMax = 0;
var errCode = ErrCheck((fgt_ERROR_CODE)fgt_get_absolutePressureRange(sensorIndex, ref pMin, ref pMax), fgt_ERRCHECK_TYPE.Sensor);
return (errCode, pMin, pMax);
}

/// <summary>
/// Returns the current absolute pressure measurement
/// This feature is only available on NIFS devices.
/// </summary>
/// <param name="sensorIndex">Index of sensor channel or unique ID</param>
/// <returns>Error code <see cref="fgt_ERROR_CODE"/> and absolute pressure</returns>
public static (fgt_ERROR_CODE errCode, float pAbs) Fgt_get_absolutePressure(uint sensorIndex)
{
float pAbs = 0;
var errCode = ErrCheck((fgt_ERROR_CODE)fgt_get_absolutePressure(sensorIndex, ref pAbs), fgt_ERRCHECK_TYPE.Sensor);
return (errCode, pAbs);
}

/// <summary>
/// Returns the current state of the bypass valve.
/// This feature is only available on NIFS devices.
/// </summary>
/// <param name="sensorIndex">Index of sensor channel or unique ID</param>
/// <returns>Error code <see cref="fgt_ERROR_CODE"/> and boolean value which is true if the valve is open and false otherwise</returns>
public static (fgt_ERROR_CODE errCode, bool state) Fgt_get_sensorBypassValve(uint sensorIndex)
{
byte state = 0;
var errCode = ErrCheck((fgt_ERROR_CODE)fgt_get_sensorBypassValve(sensorIndex, ref state), fgt_ERRCHECK_TYPE.Sensor);
return (errCode, state != 0);
}

/// <summary>
/// Sets the state of the sensor's bypass valve.
/// This feature is only available on NIFS devices.
/// </summary>
/// <param name="sensorIndex">Index of sensor channel or unique ID</param>
/// <param name="state">True to open the valve, false to close</param>
/// <returns>Error code <see cref="fgt_ERROR_CODE"/> and boolean value which is true if the valve is open and false otherwise</returns>
public static fgt_ERROR_CODE Fgt_set_sensorBypassValve(uint sensorIndex, bool state)
{
var errCode = ErrCheck((fgt_ERROR_CODE)fgt_set_sensorBypassValve(sensorIndex, (byte)(state ? 1 : 0)), fgt_ERRCHECK_TYPE.Sensor);
return errCode;
}

#endregion

/// <summary>
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>22.1.0.0</Version>
<Version>22.2.0.0</Version>
<PackageTags>Microfluidics, Control</PackageTags>
<Platforms>AnyCPU;x64;x86</Platforms>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<AssemblyVersion>22.1.0.0</AssemblyVersion>
<AssemblyVersion>22.2.0.0</AssemblyVersion>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<Copyright>Copyright (c) Fluigent 2022</Copyright>
<RepositoryUrl>https://github.com/Fluigent/fgt-SDK</RepositoryUrl>
<PackageProjectUrl>https://www.fluigent.com/</PackageProjectUrl>
<FileVersion>22.1.0.0</FileVersion>
<FileVersion>22.2.0.0</FileVersion>
</PropertyGroup>

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

project(SDK_cpp_examples VERSION 22.0.0.0)
project(SDK_cpp_examples VERSION 22.2.0.0)
set(CMAKE_CXX_STANDARD 11)

add_subdirectory(fgt_SDK_Cpp)
Expand Down
71 changes: 64 additions & 7 deletions C++/fgt_SDK_Cpp/dlls/fgt_SDK.h
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
/*============================================================================
* Fluigent Software Developement Kit
*----------------------------------------------------------------------------
* Copyright (c) Fluigent 2022. All Rights Reserved.
* Copyright (c) Fluigent 2023. All Rights Reserved.
*----------------------------------------------------------------------------
*
* Title: fgt_SDK.h
* Purpose: Functions API for Fluigent instruments
* Version: 22.1.0.0
* Date: 07/2022
* Version: 22.2.0.0
* Date: 01/2023
*============================================================================*/

#ifndef _FGT_SDK_H
Expand Down Expand Up @@ -71,14 +71,15 @@ extern "C"
};

/** @Description Instrument controller type */
enum class fgt_INSTRUMENT_TYPE { None, MFCS, MFCS_EZ, FRP, LineUP, IPS, ESS, F_OEM };
enum class fgt_INSTRUMENT_TYPE { None, MFCS, MFCS_EZ, FRP, LineUP, IPS, ESS, F_OEM, CFU, NIFS };

/** @Description Sensor type */
enum class fgt_SENSOR_TYPE {
None,
Flow_XS_single, Flow_S_single, Flow_S_dual, Flow_M_single, Flow_M_dual, Flow_L_single, Flow_L_dual, Flow_XL_single,
Pressure_S, Pressure_M, Pressure_XL,
Flow_M_plus_dual, Flow_L_plus_dual,
Flow_L_CFU, Flow_L_NIFS,
};

/** @Description Sensor calibration table */
Expand All @@ -94,7 +95,7 @@ extern "C"
enum class fgt_LINK_MODULE { None, FlowEZ, PSwitch = 3, SwitchEZ = 4 };

/** @Description Valve type */
enum class fgt_VALVE_TYPE { None, MSwitch, TwoSwitch, LSwitch, PSwitch, M_X, Two_X, L_X };
enum class fgt_VALVE_TYPE { None, MSwitch, TwoSwitch, LSwitch, PSwitch, M_X, Two_X, L_X, Bypass };

/** @Description Switch direction type */
enum class fgt_SWITCH_DIRECTION { Shortest, Anticlockwise, Clockwise };
Expand Down Expand Up @@ -664,8 +665,8 @@ typedef struct
unsigned char FGT_API fgt_set_purge(unsigned int controllerIndex, unsigned char purge);

/**
* @Description Manually activate internal electrovalve. This stops pressure regulation.
* This feature is only available on MFCS and MFCS-EZ devices.
* @Description Manually set the voltage of the pressure channel's input solenoid valve.
* This stops pressure regulation.
* @param pressureIndex Index of pressure channel or unique ID
* @param value applied valve voltage from 0 to 100(%)
* @return fgt_ERROR_CODE
Expand All @@ -690,6 +691,62 @@ typedef struct
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_get_inletPressure(unsigned int pressureIndex, float* pressure);
/**
* @Description Returns the range of the differential pressure sensor in mbar
* This feature is only available on NIFS devices.
* @param sensorIndex Index of sensor or unique ID
* @out Pmin minimum differential pressure in mbar
* @out Pmax maximum differential pressure in mbar
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_get_differentialPressureRange(unsigned int sensorIndex, float* Pmin, float* Pmax);

/**
* @Description Returns the current differential pressure measurement in mbar
* This feature is only available on NIFS devices.
* @param sensorIndex Index of sensor or unique ID
* @out Pdiff differential pressure in mbar
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_get_differentialPressure(unsigned int sensorIndex, float* Pdiff);

/**
* @Description Returns the range of the absolute pressure sensor in mbar
* This feature is only available on NIFS devices.
* @param sensorIndex Index of sensor or unique ID
* @out Pmin minimum absolute pressure in mbar
* @out Pmax maximum absolute pressure in mbar
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_get_absolutePressureRange(unsigned int sensorIndex, float* Pmin, float* Pmax);

/**
* @Description Returns the current absolute pressure measurement in mbar
* This feature is only available on NIFS devices.
* @param sensorIndex Index of sensor or unique ID
* @out Pabs absolute pressure in mbar
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_get_absolutePressure(unsigned int sensorIndex, float* Pabs);

/**
* @Description Returns the current state of the bypass valve.
* This feature is only available on NIFS devices.
* @param sensorIndex Index of sensor or unique ID
* @out state 1 if the valve is open, 0 if it is closed.
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_get_sensorBypassValve(unsigned int sensorIndex, unsigned char* state);

/**
* @Description Sets the state of the sensor's bypass valve.
* This feature is only available on NIFS devices.
* @param sensorIndex Index of sensor or unique ID
* @param state 1 to open, 0 to close.
* @return fgt_ERROR_CODE
*/
unsigned char FGT_API fgt_set_sensorBypassValve(unsigned int sensorIndex, unsigned char state);


#ifdef __cplusplus
}
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.
Loading

0 comments on commit e158ea8

Please sign in to comment.