• Docs
  • API
Show / Hide Table of Contents
  • NixUniversalSDK
    • BatteryStateEventArgs
    • ColorData
    • ColorDifferenceType
    • ColorDifferenceTypeExtensions
    • ColorType
    • ColorTypeExtensions
    • ColorUtils
    • CommandStatus
    • CommandStatusExtensions
    • DensityData
    • DensityStatus
    • DensityStatusExtensions
    • DeviceCompat
    • DeviceResult
    • DeviceScanner
    • DeviceScannerState
    • DeviceScannerStateExtensions
    • DeviceState
    • DeviceStateExtensions
    • DeviceStatus
    • DeviceStatusArgs
    • DeviceStatusExtensions
    • DeviceType
    • DeviceTypeExtensions
    • DeviceVersion
    • ExtPowerStateEventArgs
    • IColorData
    • IColorDataExtensions
    • IDensityData
    • IDeviceCompat
    • IDeviceCompatEvents
    • IDeviceCompatExtensions
    • IDeviceScanner
    • IDeviceScannerEvents
    • IMeasurementData
    • IMeasurementDataExtensions
    • ISpectralData
    • ISpectralDataExtensions
    • Illuminant
    • IlluminantExtensions
    • InterfaceType
    • InterfaceTypeExtensions
    • LicenseFeature
    • LicenseFeatureExtensions
    • LicenseManager
    • LicenseManagerState
    • MeasurementData
    • Observer
    • ObserverExtensions
    • ReferenceWhite
    • ReferenceWhiteExtensions
    • ScanMode
    • ScanModeExtensions
    • ScanResultEventArgs
    • ScannerCreatedEventArgs
    • SpectralData
  • NixUniversalSDK.Wrapper
    • Constants
    • Delegates
    • Delegates.BoolValue
    • Delegates.Empty
    • Delegates.IntValue
    • Delegates.StringValue
    • DeviceCompatModule
    • DeviceScannerModule
    • Exported

Class Exported

Exported static functions

Inheritance
object
Exported
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: NixUniversalSDK.Wrapper
Assembly: NixUniversalSDK.Wrapper.dll
Syntax
public static class Exported

Methods

Device_Connect(nint)

Opens a connection to the device with the specified ID. Only a single device can be connected at one time; opening a connection to a second device will disconnect the first. Connecting is an async process; either the ConnectedDelegate will be invoked on success, or the DisconnectedDelegate will be invoked on failure. To cancel a connection in progress, call Device_Disconnect().

Declaration
public static void Device_Connect(nint idPtr)
Parameters
Type Name Description
nint idPtr

Pointer to device ID string. This should match the Id of a device found by the DeviceScanner in this app session. If this device has not already been found, a search will automatically be started before starting the connection process.

Device_Disconnect()

Closes the current device connection.

Declaration
public static void Device_Disconnect()

Device_GetBatteryLevel()

BatteryLevel for the current device as an Int32. Range is 0 - 100, or -1 if not available. This value is valid only after a connection been opened.

Declaration
public static int Device_GetBatteryLevel()
Returns
Type Description
int

Device_GetExtPowerState()

ExtPowerState for the current device. This value is valid only after a connection been opened.

Declaration
public static bool Device_GetExtPowerState()
Returns
Type Description
bool

Device_GetFieldCalibrationDue()

Flag to indicate if in-field calibration is recommended for this device at this time (if supported). This value is only valid after opening a connection and is a function of both time and ambient temperature. This value also updates each time a measurement is completed.

Declaration
public static bool Device_GetFieldCalibrationDue()
Returns
Type Description
bool

Device_GetFieldCalibrationEnabled()

Flag to indicate if in-field calibration results are applied (true) or bypassed (false) when evaluating the final calibrated measurement result. Value is true by default if supported by the device. It is recommended to leave this set to true if supported.

Declaration
public static bool Device_GetFieldCalibrationEnabled()
Returns
Type Description
bool

Device_GetFieldCalibrationMaxDelta()

Gets the current threshold/maximum Delta E threshold used when performing in-field calibration. Value is NaN if the device does not support field calibration.

Declaration
public static double Device_GetFieldCalibrationMaxDelta()
Returns
Type Description
double

Device_GetFirmwareVersion()

FirmwareVersion for the current device as an ANSI string. This value is valid only after a connection been opened.

Declaration
public static nint Device_GetFirmwareVersion()
Returns
Type Description
nint

Device_GetHapticFeedbackEnabled()

Flag to indicate if device haptic feedback is enabled.

Declaration
public static bool Device_GetHapticFeedbackEnabled()
Returns
Type Description
bool

Device_GetHardwareVersion()

HardwareVersion for the current device as an ANSI string. This value is valid only after a connection been opened.

Declaration
public static nint Device_GetHardwareVersion()
Returns
Type Description
nint

Device_GetId()

Id for the current device as an ANSI string, or empty if no device is selected.

Declaration
public static nint Device_GetId()
Returns
Type Description
nint

Device_GetInterfaceType()

InterfaceType for the current device as an Int32. See InterfaceType for the possible values.

Declaration
public static int Device_GetInterfaceType()
Returns
Type Description
int

Device_GetLastCalibrationDebug()

Gets debug information for the last field calibration performed in this application session, formatted as a JSON string

Declaration
public static nint Device_GetLastCalibrationDebug()
Returns
Type Description
nint

Device_GetLastCalibrationStatus()

Gets the CommandStatus for the last field calibration performed in this application session, represented as an Int32.

Declaration
public static int Device_GetLastCalibrationStatus()
Returns
Type Description
int

Device_GetName()

Name for the current device as an ANSI string, or empty if no device is selected.

Declaration
public static nint Device_GetName()
Returns
Type Description
nint

Device_GetNote()

Note for the current device as an ANSI string. This value is valid only after a connection been opened.

Declaration
public static nint Device_GetNote()
Returns
Type Description
nint

Device_GetPowerState()

PowerState for the current device; true if sufficient power is available to complete a measurement, false if a measurement will be aborted. This value is valid only after a connection been opened.

Declaration
public static bool Device_GetPowerState()
Returns
Type Description
bool

Device_GetProvidesDensity()

ProvidesDensity for the current device. This value is valid only after a connection been opened.

Declaration
public static bool Device_GetProvidesDensity()
Returns
Type Description
bool

Device_GetProvidesSpectral()

ProvidesSpectral for the current device. This value is valid only after a connection been opened.

Declaration
public static bool Device_GetProvidesSpectral()
Returns
Type Description
bool

Device_GetReferenceJavaTicks()

ReferenceDate for the current device, represented as a UInt64, or 0 if not supported. This corresponds to the milliseconds since the Unix epoch (January 1, 1970 00:00 UTC).

Declaration
public static ulong Device_GetReferenceJavaTicks()
Returns
Type Description
ulong

Device_GetReferenceTemperature()

ReferenceTemperature for the current device a 32-bit float, or TemperatureError it not available. This value is valid only after a connection been opened.

Declaration
public static float Device_GetReferenceTemperature()
Returns
Type Description
float

Device_GetRgbFeedbackEnabled()

Flag to indicate if device RGB feedback is enabled.

Declaration
public static bool Device_GetRgbFeedbackEnabled()
Returns
Type Description
bool

Device_GetScanCount()

ScanCount for the current device as an UInt32, or 0 if not supported.

Declaration
public static uint Device_GetScanCount()
Returns
Type Description
uint

Device_GetScanTemperature()

ScanTemperature for the current device as a 32-bit float, or TemperatureError if not available. This value is valid only if a device is connected and a measurement has completed.

Declaration
public static float Device_GetScanTemperature()
Returns
Type Description
float

Device_GetSerialNumber()

SerialNumber for the current device as an ANSI string. This value is valid only after a connection been opened.

Declaration
public static nint Device_GetSerialNumber()
Returns
Type Description
nint

Device_GetSoftwareVersion()

SoftwareVersion for the current device as an ANSI string. This value is valid only after a connection been opened.

Declaration
public static nint Device_GetSoftwareVersion()
Returns
Type Description
nint

Device_GetState()

State for the current device as an Int32. See DeviceState for the possible values.

Declaration
public static int Device_GetState()
Returns
Type Description
int

Device_GetSupportedModes()

SupportedModes for the current device, formatted as a JSON array of string values (scan mode names). This value is valid only after a connection been opened.

Declaration
public static nint Device_GetSupportedModes()
Returns
Type Description
nint

Device_GetSupportedReferences()

SupportedReferences for the current device, formatted as a JSON array of string values (reference names). This value is valid only after a connection been opened.

Declaration
public static nint Device_GetSupportedReferences()
Returns
Type Description
nint

Device_GetSupportsFieldCalibration()

Flag to indicate if this device supports in-field calibration using the provided reference tile.

Declaration
public static bool Device_GetSupportsFieldCalibration()
Returns
Type Description
bool

Device_GetSupportsHapticFeedback()

Flag to indicate if the device supports built-in haptic feedback.

Declaration
public static bool Device_GetSupportsHapticFeedback()
Returns
Type Description
bool

Device_GetSupportsRgbFeedback()

Flag to indicate if the device supports built-in RGB feedback.

Declaration
public static bool Device_GetSupportsRgbFeedback()
Returns
Type Description
bool

Device_GetSupportsTemperatureCompensation()

Flag to indicate if this device supports automatic temperature compensation to correct for small changes in ambient temperature.

Declaration
public static bool Device_GetSupportsTemperatureCompensation()
Returns
Type Description
bool

Device_GetTemperatureCompensationEnabled()

Flag to indicate if ambient temperature compensation / correction is applied (true) or bypassed (false) when evaluating the final calibrated measurement. Value is true by default if supported by the device. It is recommended to leave this set to true if supported.

Declaration
public static bool Device_GetTemperatureCompensationEnabled()
Returns
Type Description
bool

Device_GetType()

Type for the current device as an Int32. See DeviceType for the possible values.

Declaration
public static int Device_GetType()
Returns
Type Description
int

Device_HasOptions()

Flag to indicate if any on-device options are available. Value is true if any one of SupportsFieldCalibration, SupportsTemperatureCompensation, SupportsHapticFeedback, or SupportsRgbFeedback is true.

Declaration
public static bool Device_HasOptions()
Returns
Type Description
bool

Device_InvalidateFieldCalibration()

Calls InvalidateFieldCalibrationAsync() on the current device. This is an async operation; it will invoke the CommandCompletedDelegate on completion with the CommandStatus of the result passed as an integer.

Declaration
public static void Device_InvalidateFieldCalibration()

Device_IsModeSupported(nint)

Checks if a specific scan mode is supported. This value is valid only after a connection been opened.

Declaration
public static bool Device_IsModeSupported(nint scanModeNamePtr)
Parameters
Type Name Description
nint scanModeNamePtr

Pointer to scan mode string to query. Must match names defined in the ScanMode enum (e.g. - "M0", "M1", or "M2")

Returns
Type Description
bool

True if mode is supported, false if not supported or invalid

Device_IsTileStringValid(nint)

Used to check if a decoded string from the reference tile is valid.

Declaration
public static bool Device_IsTileStringValid(nint tileStringPtr)
Parameters
Type Name Description
nint tileStringPtr

Pointer to string value decoded from the reference tile QR code

Returns
Type Description
bool

Device_LedTest()

Calls LedTestAsync() on the current device. This is an async operation; it will invoke the CommandCompletedDelegate on completion with the CommandStatus of the result passed as an Int32.

Declaration
public static void Device_LedTest()

Device_Measure(nint)

Calls MeasureAsync(params ScanMode[]) on the current device. This is an async operation; it will invoke the CommandCompletedDelegate on completion with the CommandStatus of the result passed as an Int32.

Declaration
public static void Device_Measure(nint modesJsonPtr)
Parameters
Type Name Description
nint modesJsonPtr

Pointer to string with scan mode(s) to select, formatted as a JSON array, or empty string to select all supported modes. Scan mode names must match the names in the ScanMode enum.

Device_ProvidesColor(nint)

Helper to check if a particular reference white point is supported by the colorimetry data from this device.

Declaration
public static bool Device_ProvidesColor(nint referenceNamePtr)
Parameters
Type Name Description
nint referenceNamePtr

Pointer to reference white string, by its name defined in the ReferenceWhite enum (e.g. - "D50_2") to query

Returns
Type Description
bool

True if reference is supported, false if not supported or invalid

Device_RegisterBatteryStateChanged(nint)

Registers a callback handler for the BatteryStateChangedDelegate, which is linked to the BatteryStateChanged event on the internal IDeviceCompat instance. The handler takes two arguments: a string argument (name of the calling event) and an int corresponding to the updated battery level (0 - 100). See BatteryStateChangedDelegate for an example handler definition.

Declaration
public static void Device_RegisterBatteryStateChanged(nint handlerPtr)
Parameters
Type Name Description
nint handlerPtr

Pointer to callback function

Device_RegisterCommandCompleted(nint)

Registers a callback handler for the CommandCompletedDelegate, which is invoked on completion of any async operations on the internal IDeviceCompat instance. The handler takes two arguments: a string argument (name of the internal calling function) and an int corresponding to the CommandStatus of the operation. See CommandCompletedDelegate for an example handler definition.

Declaration
public static void Device_RegisterCommandCompleted(nint handlerPtr)
Parameters
Type Name Description
nint handlerPtr

Pointer to callback function

Device_RegisterConnected(nint)

Registers a callback handler for the ConnectedDelegate, which is linked to the Connected event on the internal IDeviceCompat instance. The handler takes one string argument (name of the calling event). See ConnectedDelegate for an example handler definition.

Declaration
public static void Device_RegisterConnected(nint handlerPtr)
Parameters
Type Name Description
nint handlerPtr

Pointer to callback function

Device_RegisterDisconnected(nint)

Registers a callback handler for the DisconnectedDelegate, which is linked to the Disconnected event on the internal IDeviceCompat instance. The handler takes two arguments: a string argument (name of the calling event) and an int corresponding to the DeviceStatus reason for disconnection. See DisconnectedDelegate for an example handler definition.

Declaration
public static void Device_RegisterDisconnected(nint handlerPtr)
Parameters
Type Name Description
nint handlerPtr

Pointer to callback function

Device_RegisterExtPowerStateChanged(nint)

Registers a callback handler for the ExtPowerStageChangedDelegate, which is linked to the ExtPowerStateChanged event on the internal IDeviceCompat instance. The handler takes two arguments: a string argument (name of the calling event) and an bool corresponding to the external power state. See ExtPowerStageChangedDelegate for an example handler definition.

Declaration
public static void Device_RegisterExtPowerStateChanged(nint handlerPtr)
Parameters
Type Name Description
nint handlerPtr

Pointer to callback function

Device_RunFieldCalibration(nint)

Calls RunFieldCalibrationAsync(string) on the current device. This is an async operation; it will invoke the CommandCompletedDelegate on completion with the CommandStatus of the result passed as an integer.

Declaration
public static void Device_RunFieldCalibration(nint tileStringPtr)
Parameters
Type Name Description
nint tileStringPtr

Pointer to string value decoded from the reference tile QR code. For Spectro2 devices, the 5 digit code printed on the reference tile case is also accepted

Device_SetFieldCalibrationEnabled(bool)

Calls SetFieldCalibrationEnabledAsync(bool) on the current device. This is an async operation; it will invoke the CommandCompletedDelegate on completion with the CommandStatus of the result passed as an integer.

Declaration
public static void Device_SetFieldCalibrationEnabled(bool enabled)
Parameters
Type Name Description
bool enabled

New state for this option

Device_SetFieldCalibrationMaxDelta(double)

Updates the maximum Delta E threshold used when performing in-field calibration. This is ignored if the device does not support field calibration.

Declaration
public static void Device_SetFieldCalibrationMaxDelta(double newValue)
Parameters
Type Name Description
double newValue

Device_SetHapticFeedbackEnabled(bool)

Calls SetHapticFeedbackEnabledAsync(bool) on the current device. This is an async operation; it will invoke the CommandCompletedDelegate on completion with the CommandStatus of the result passed as an integer.

Declaration
public static void Device_SetHapticFeedbackEnabled(bool enabled)
Parameters
Type Name Description
bool enabled

New state for this option

Device_SetRgbFeedbackEnabled(bool)

Calls SetRgbFeedbackEnabledAsync(bool) on the current device. This is an async operation; it will invoke the CommandCompletedDelegate on completion with the CommandStatus of the result passed as an integer.

Declaration
public static void Device_SetRgbFeedbackEnabled(bool enabled)
Parameters
Type Name Description
bool enabled

New state for this option

Device_SetTemperatureCompensationEnabled(bool)

Calls SetTemperatureCompensationEnabledAsync(bool) on the current device. This is an async operation; it will invoke the CommandCompletedDelegate on completion with the CommandStatus of the result passed as an integer.

Declaration
public static void Device_SetTemperatureCompensationEnabled(bool enabled)
Parameters
Type Name Description
bool enabled

New state for this option

GetSdkId()

Gets the vendor identifier for the current license.

Declaration
[Obsolete("Use License_GetUuid() instead", false)]
public static nint GetSdkId()
Returns
Type Description
nint

License_Activate(nint, nint)

Activates a license. The options and signature parameters must exactly match the values provided in the SDK license. Calling this function invalidates any currently active license. Any connected device will be disconnected.

Declaration
public static int License_Activate(nint optionsPtr, nint signaturePtr)
Parameters
Type Name Description
nint optionsPtr

Pointer to license options string.

nint signaturePtr

Pointer to license signature, used to validate the license options.

Returns
Type Description
int

License manager state after activation as an integer. See LicenseManagerState for possible values.

License_Deactivate()

Deactivates the current license. Any connected device will be disconnected.

Declaration
public static void License_Deactivate()

License_GetAllocations()

Gets a list of Nix device allocation codes associated with the current license formatted as a JSON array.

Declaration
public static nint License_GetAllocations()
Returns
Type Description
nint

License_GetAllowedDeviceTypes()

Gets a list of device types supported by the current license, formatted as a JSON array of integer values. See DeviceType for possible integer values.

Declaration
public static nint License_GetAllowedDeviceTypes()
Returns
Type Description
nint

License_GetExpiryJavaTicks()

Gets the expiry time for the current license represented as a ulong. This corresponds to the milliseconds since the Unix epoch (January 1, 1970 00:00 UTC).

Declaration
public static ulong License_GetExpiryJavaTicks()
Returns
Type Description
ulong

License_GetFeatures()

Gets a list of supported features for the current license, formatted as a JSON array of integer values. See LicenseFeature for possible integer values.

Declaration
public static nint License_GetFeatures()
Returns
Type Description
nint

License_GetLibraryVersion()

Gets the current version of the NixUniversalSDK.

Declaration
public static nint License_GetLibraryVersion()
Returns
Type Description
nint

License_GetLibraryWrapperVersion()

Gets the current version of the wrapper library for the NixUniversalSDK.

Declaration
public static nint License_GetLibraryWrapperVersion()
Returns
Type Description
nint

License_GetState()

Gets the current State as an int. See LicenseManagerState for possible values.

Declaration
public static int License_GetState()
Returns
Type Description
int

License_GetUuid()

Gets the vendor identifier for the current license.

Declaration
public static nint License_GetUuid()
Returns
Type Description
nint

License_IsDeviceTypeSupported(int)

Checks if the current license supports the specified device type. See DeviceType for valid device type values.

Declaration
public static bool License_IsDeviceTypeSupported(int typeInt)
Parameters
Type Name Description
int typeInt
Returns
Type Description
bool

License_IsFeatureEnabled(int)

Checks if the current license supports the specified feature. See LicenseFeature for valid feature values.

Declaration
public static bool License_IsFeatureEnabled(int featureInt)
Parameters
Type Name Description
int featureInt
Returns
Type Description
bool

Measurement_GetLastColorJson(nint, nint, nint)

Gets tristimulus colorimetry data for the last measurement in the selected scan mode, reference white, and color type, formatted as JSON. Result is empty ("{}") if the measurement mode or reference white is not available for the last measurement.

Declaration
public static nint Measurement_GetLastColorJson(nint scanModeNamePtr, nint referenceNamePtr, nint typeNamePtr)
Parameters
Type Name Description
nint scanModeNamePtr

Pointer to scan mode name to select, which must match one of the names in the ScanMode enum (e.g. - "M0", "M1", or "M2")

nint referenceNamePtr

Pointer to reference white to select, which must match one of the names in the ReferenceWhite enum (e.g. - "D50_2")

nint typeNamePtr

Pointer to color type to select, which must match one of the names in the ColorType enum (e.g. - "CIEXYZ", "CIELAB", "CIELCH", "CIELUV")

Returns
Type Description
nint

Colorimetry data formatted as JSON

Examples

An example of calling this function is shown below:

string color = Measurement_GetLastColorJson("M2", "D50_2", "CIEXYZ");

Example JSON output:

{
    "mode": "M2",
    "reference": "D50_2",
    "type": "CIEXYZ",
    "value": [
        0.3444101768980547,
        0.18339852869976314,
        0.15600230435248466
    ]
}

Measurement_GetLastDensityJson(nint, nint)

Gets ISO density data for the last measurement in the selected scan mode and density status setting, formatted as JSON. Result is empty ("{}") if density data is not available.

Declaration
public static nint Measurement_GetLastDensityJson(nint scanModeNamePtr, nint densityStatusNamePtr)
Parameters
Type Name Description
nint scanModeNamePtr

Pointer to name of the scan mode to select, which must match one of the names in the ScanMode enum (e.g. - "M0", "M1", or "M2")

nint densityStatusNamePtr

Pointer to name of the ISO density setting to select, which must match one of the names in the DensityStatus enum (e.g. - "A", "E", "I", "T")

Returns
Type Description
nint

Density data formatted as JSON

Examples

An example of calling this function is shown below:

string density = Measurement_GetLastDensityJson("M2", "T");

Example JSON output:

{
    "mode": "M2",
    "isoStatus": "T",
    "autoIndex": 1,
    "value": [
        0.2709233297197278,
        1.2105773026488242,
        0.7482882315988111,
        0.6266073723704548
    ]
}

Measurement_GetLastHexCode(nint, nint)

Gets sRGB value for the last measurement in the selected scan mode and reference white, as a HEX triplet. Result is empty ("") if the measurement mode or reference white is not available for the last measurement.

Declaration
public static nint Measurement_GetLastHexCode(nint scanModeNamePtr, nint referenceNamePtr)
Parameters
Type Name Description
nint scanModeNamePtr

Pointer to scan mode name to select, which must match one of the names in the ScanMode enum (e.g. - "M0", "M1", or "M2")

nint referenceNamePtr

Pointer to reference white to select, which must match one of the names in the ReferenceWhite enum (e.g. - "D50_2")

Returns
Type Description
nint

sRGB value as a HEX triplet (e.g. "#RRGGBB"), or empty string ("") on error

Examples

An example of calling this function is shown below:

string hexCode = Measurement_GetLastHexCode("M2", "D50_2");

Example output:

#DB267C

Measurement_GetLastJavaTicks()

Gets the time stamp for the last measurement, represented as a UInt64, or 0 if not available. This corresponds to the milliseconds since the Unix epoch (January 1, 1970 00:00 UTC).

Declaration
public static ulong Measurement_GetLastJavaTicks()
Returns
Type Description
ulong

Measurement_GetLastMetadataJson(nint)

Gets metadata (device type, device settings, temperature) for the last measurement, formatted as JSON.

Declaration
public static nint Measurement_GetLastMetadataJson(nint scanModeNamePtr)
Parameters
Type Name Description
nint scanModeNamePtr

Pointer to name of the scan mode to select, which must match one of the names in the ScanMode enum (e.g. - "M0", "M1", or "M2")

Returns
Type Description
nint

Measurement metadata formatted as JSON

Examples

An example of calling this function is shown below:

string metadata = Measurement_GetLastMetadataJson("M2");

Example JSON output:

{
    "dateMs": 1682005505841,
    "status": 1,
    "deviceName": "Nix Spectro 2",
    "deviceType": 5,
    "mode": "M2",
    "tRef": 24.25,
    "tScan": 24.5625,
    "tReal": true,
    "tCompEnabled": true,
    "tileEnabled": true
}

Measurement_GetLastModesJson()

Gets a list of modes available for the last measurement, formatted as JSON.

Declaration
public static nint Measurement_GetLastModesJson()
Returns
Type Description
nint
Examples

Example JSON output:

["M0","M1","M2"]

Measurement_GetLastReferencesJson(nint)

Gets a list of reference white names available for the last measurement, formatted as JSON.

Declaration
public static nint Measurement_GetLastReferencesJson(nint scanModeNamePtr)
Parameters
Type Name Description
nint scanModeNamePtr

Pointer to scan mode name to select, which must match one of the names in the ScanMode enum (e.g. - "M0", "M1", or "M2")

Returns
Type Description
nint
Examples

An example of calling this function is shown below:

string references = Measurement_GetLastReferencesJson("M2");

Example JSON output:

["D50_2","D65_10"]

Measurement_GetLastSpectralJson(nint)

Gets spectral data for the last measurement in the selected scan mode, formatted as JSON. Result is empty ("{}") if spectral data is not available.

Declaration
public static nint Measurement_GetLastSpectralJson(nint scanModeNamePtr)
Parameters
Type Name Description
nint scanModeNamePtr

Pointer to name of the scan mode to select, which must match one of the names in the ScanMode enum (e.g. - "M0", "M1", or "M2")

Returns
Type Description
nint

Spectral data formatted as JSON

Examples

An example of calling this function is shown below:

string spectral = Measurement_GetLastSpectralJson("M2");

Example JSON output:

{
    "mode": "M2",
    "lambdaMin": 400,
    "lambdaInterval": 10,
    "value": [
        0.09571632,
        0.143246919,
        0.201270252,
        0.233701661,
        0.229667112,
        0.219201699,
        0.197433069,
        0.171539515,
        0.14366518,
        0.118656777,
        0.102365054,
        0.0851489082,
        0.066573441,
        0.0530253462,
        0.0496698469,
        0.0497059524,
        0.0470496677,
        0.0388559736,
        0.0423551463,
        0.123382688,
        0.342879653,
        0.608318865,
        0.770111382,
        0.84290266,
        0.88257581,
        0.898779333,
        0.898909926,
        0.902816713,
        0.904295564,
        0.906794488,
        0.906649113
    ]
}

Measurement_GetLastStatus()

Gets the CommandStatus of the last measurement, represented as an Int32.

Declaration
public static int Measurement_GetLastStatus()
Returns
Type Description
int

Scanner_GetSortedResults(int)

Gets a snapshot of the nearby devices list, sorted by signal strength and serialized as a JSON string. This command only provides a snapshot of the list, but does not update it. The list is updated while the IDeviceScanner is running; to update the list, call Scanner_Start(int, int, int) or Scanner_SearchForId(nint, int).

Declaration
public static nint Scanner_GetSortedResults(int maxCount = -1)
Parameters
Type Name Description
int maxCount

Maximum number of devices to report. Set to -1 to report all devices

Returns
Type Description
nint

List of nearby devices serialized as JSON string

Examples

An example of calling this function is shown below:

string list = Scanner_GetSortedResults(5);

Example JSON output:

[
    {
        "id": "COM3",
        "interfaceType": 2,
        "name": "Nix Spectro 2",
        "rssi": 0,
        "type": 5
    },
    {
        "id": "D2:4F:5C:5C:54:40",
        "interfaceType": 1,
        "name": "Nix Mini 3",
        "rssi": -50,
        "type": 6
    },
    {
        "id": "F8:CA:CF:4A:3C:03",
        "interfaceType": 1,
        "name": "Nix Spectro 2",
        "rssi": -53,
        "type": 5
    },
    {
        "id": "D0:92:BA:D3:13:3A",
        "interfaceType": 1,
        "name": "Nix Spectro 2",
        "rssi": -54,
        "type": 5
    },
    {
        "id": "CB:80:63:06:CD:9F",
        "interfaceType": 1,
        "name": "Nix Spectro 2",
        "rssi": -55,
        "type": 5
    }
]

Scanner_GetState()

Gets the current State as an Int32

Declaration
public static int Scanner_GetState()
Returns
Type Description
int

Scanner_HasFoundDevice(nint)

Checks if the specified device ID has been found by the IDeviceScanner.

Declaration
public static bool Scanner_HasFoundDevice(nint idPtr)
Parameters
Type Name Description
nint idPtr

Pointer to ID string, corresponding to (Id)

Returns
Type Description
bool

True if the device has been found

Scanner_ListUsbDevices()

Runs a listing for all available Nix devices attached via USB. This will invoke the ScanResultDelegate callback when the listing is complete.

Declaration
public static void Scanner_ListUsbDevices()

Scanner_RegisterCreated(nint)

Registers a callback handler for the ScannerCreatedDelegate, which is linked to the ScannerCreated event on the internal DeviceScanner instance. The handler takes two arguments: a string argument (name of the calling event) and an int corresponding to the DeviceScannerState after initialization. See ScannerCreatedDelegate for an example handler definition.

Declaration
public static void Scanner_RegisterCreated(nint handlerPtr)
Parameters
Type Name Description
nint handlerPtr

Pointer to callback function

Scanner_RegisterScanResult(nint)

Registers a callback handler for the ScanResultDelegate, which is linked to the ScanResult event on the internal DeviceScanner instance. The handler takes two arguments: a string argument (name of the calling event) and a string containing scan results. The scan results are formatted in the same manner as Scanner_GetSortedResults(int). See ScanResultDelegate for an example handler definition.

Declaration
public static void Scanner_RegisterScanResult(nint handlerPtr)
Parameters
Type Name Description
nint handlerPtr

Pointer to callback function

Scanner_RegisterStarted(nint)

Registers a callback handler for the ScannerStartedDelegate, which is linked to the ScannerStarted event on the internal DeviceScanner instance. The handler takes one string argument (name of the calling event). See ScannerStartedDelegate for an example handler definition.

Declaration
public static void Scanner_RegisterStarted(nint handlerPtr)
Parameters
Type Name Description
nint handlerPtr

Pointer to callback function

Scanner_RegisterStopped(nint)

Registers a callback handler for the ScannerStoppedDelegate, which is linked to the ScannerStopped event on the internal DeviceScanner instance. The handler takes one string argument (name of the calling event). See ScannerStoppedDelegate for an example handler definition.

Declaration
public static void Scanner_RegisterStopped(nint handlerPtr)
Parameters
Type Name Description
nint handlerPtr

Pointer to callback function

Scanner_Reset()

Checks the Bluetooth adapter state again and resets the IDeviceScanner instance. This will invoke the ScannerCreatedDelegate callback upon completion.

Declaration
public static void Scanner_Reset()

Scanner_SearchForId(nint, int)

Searches for a specific Nix device via USB and Bluetooth. The search will run until the specified device is found, or until the specified time interval elapses, whichever is shorter. This will invoke the ScanResultDelegate callback when the device is found.

Declaration
public static void Scanner_SearchForId(nint idPtr, int scanPeriodMs = 10000)
Parameters
Type Name Description
nint idPtr

Pointer to specific device ID to find

int scanPeriodMs

Maximum time period in milliseconds to run the search, as an Int32

Scanner_Start(int, int, int)

Starts a device search for the specified length of time, maximum callback interval, and report length. This will invoke the ScannerStartedDelegate callback on start, ScannerStoppedDelegate callback on stop, and ScanResultDelegate callback when the device list updates.

Declaration
public static void Scanner_Start(int scanPeriodMs = 20000, int maxReportIntervalMs = 250, int maxReportCount = 25)
Parameters
Type Name Description
int scanPeriodMs

Length of time in milliseconds to run the device search, as an Int32

int maxReportIntervalMs

Maximum interval in milliseconds to invoke the ScanResultDelegate callback, as an Int32

int maxReportCount

Maximum number of devices to report in the ScanResultDelegate callback, as an Int32

Scanner_Stop()

Stops a device search if one is currently running. This will invoke the ScannerStoppedDelegate callback once the scanner changes from a running state to a stopped state.

Declaration
public static void Scanner_Stop()
In this article
Back to top Generated by DocFX