Show / Hide Table of Contents

# Nix Universal SDK

A library to allow integration of Nix devices into third-party Windows .NET applications.

The latest version of this documentation is available online and the latest version of the library is hosted on nuget.org.

## Overview

This library was written to allow integration of Nix devices into third-party Windows .NET applications. It provides tools to discover nearby Nix devices, open a connection, perform measurements, and obtain data. Tools are also provided for basic colour conversions and colour difference calculations.

For changes introduced in this version, please review the release notes.

##### Note

If you are upgrading to version 4.2.x or newer from an earlier version, you will need to update your application to activate your SDK license. See Activating the SDK License for more details.

##### Important

This library replaces the previous `NixLibrary.dll` library. These two libraries should not be used together; remove `NixLibrary.dll` from your project before adding `NixUniversalSDK`.

## Minimum Requirements

- Microsoft Visual Studio (tested with Visual Studio 2022, version 17.14.32)
- Windows device running Windows 10 version 1703 ('Creators Update') or later
  - Version code 10.0.15063 or higher
- Supported .NET Framework or .NET Core versions:
  - .NET Framework: 4.7.2 or higher
  - .NET Core: 6.0 or higher
- Bluetooth 4.0 ('Bluetooth Low Energy') hardware for Bluetooth connectivity
  - See Bluetooth compatibility notes for architecture requirements
- USB 2.0 port for USB connectivity
- Active internet connection for device activation (demo / evaluation versions only)
- Supported Nix devices:
  - Nix Mini
  - Nix Mini 2
  - Nix Mini 3
  - Nix Pro
  - Nix Pro 2
  - Nix QC
  - Nix Spectro 2
  - Nix Spectro L

## Getting Started

1. An activation code is required to use the Nix Universal SDK. Free evaluation codes are available for non-commercial use. To obtain an activation code, visit to the SDK license page.
2. The Nix Universal SDK is provided as a NuGet package and is available via nuget.org. See Adding to Your Visual Studio Project for instructions.
3. Once added to your Visual Studio project, the LicenseManager can be used to enable the SDK functions included in your license. See Activating the SDK License for more details.
4. Once the license is active, the DeviceScanner class can be used to discover nearby and attached Nix devices as IDeviceCompat instances. These objects can be used to open a connection to the device. See Discovering and Connecting to Nix Devices for more details.
5. Once connected, measurements and other device operations can be performed using the IDeviceCompat instance. Device parameters can also be queried. See Device Operations for more details.
6. Once a measurement has been completed, results are provided as IMeasurementData instances. These objects provide colorimetry data, density, and spectral measurements (if supported by the device and active license). See Handling Measurement Data for more details.
7. Several additional utility functions are provided by the ColorUtils class. These include functions for manual colour conversions, delta E calculations, and more.
8. A list of frequently asked questions (FAQ) and steps to troubleshoot common issues is available here.
9. To demonstrate integration of the Nix Universal SDK, two example applications are provided:
   - A basic console application `NixExampleConsole`, targeting .NET Framework 4.7.2
   - A WinUI3 based application `NixExampleWinUI`, targeting .NET 8.0
10. A project demonstrating how the .NET SDK can be wrapped and used in a C/C++ application is also provided. See Wrapper for Usage in C/C++ for more details.

## Other Platforms

Aside from Windows, alternate versions of the `NixUniversalSDK` are available for other platforms. If you are looking to add Nix device support to Android, iOS, or macOS applications please visit the following pages for further information.

- NixUniversalSDK for Android
- NixUniversalSDK for iOS and macOS

## Additional Support

This quick start guide is not intended as an exhaustive reference. Please refer to the API documentation section for further details on the classes and methods provided by the Nix Universal SDK.

If you encounter any issues with SDK implementation, please contact us via e-mail at sdk@nixsensor.com.

## Privacy Disclaimer

Limited anonymous usage data is tracked by the Nix Universal SDK using Google Analytics. No personal user data, color data, or any data which uniquely identifies an individual Nix device is collected. Collected data is subject to the Nix Apps privacy policy. Events and usage data tracked by the Nix SDK are solely limited to the following information:

- Device connection events:
  - Device type (e.g. - Nix Pro, Nix Mini, etc)
  - Device manufacturing batch identifier
  - Nix SDK version
- Device color scan events:
  - Device type
  - Nix SDK version
- Reference tile usage events:
  - Device type
  - Device diagnostics information
  - Nix SDK version