Skip to main content
Version: Skinetic SDK 1.5.0

Skinetic SDK

Platform specific requirements

CAUTION

Please note that the next requirements for the SDK are not only essential during the development phase but also crucial for ensuring the smooth operation of any software using the SDK on the client's platform.

Failing to fulfill these requirements may lead to potential issues or limitations in utilizing the SDK's features, impacting the end-user experience.

Therefore, it is highly recommended to thoroughly assess and fulfill these prerequisites both during development and before deployment to ensure seamless execution of the software utilizing the SDK.

Firmware requirements

WARNING

Skinetic device with a firmware version below 1.3.0 and HSD mk.* devices are not compatible with the new backend that is activated by default. In order to properly connect with earlier firmware versions, it is mandatory to enable the legacy backend through the Experimental API.

Failing to set the legacy backend will result in connection error and an Invalid parameters or Unknown message error will be logged.

Linux

USB Mode with .rules File

To use the USB mode of our SDK on Linux, follow these steps:

  1. Copy .rules File: Place the 70-skinetic-hid.rules file (provided with the SDK) into the /etc/udev/rules.d/ directory. This is essential to grant the necessary permissions for the USB device to be recognized by the SDK.

  2. Apply Rule Changes: To apply the new rules, you can choose one of the following methods:

    • Restart the udev service by running: sudo service udev restart
    • Reboot your machine
    • Unplug the USB device and then plug it back in
  3. Connect USB Device: Now, connect Skinetic using USB. It should be detected and accessible by the SDK in USB mode.

Bluetooth Mode and Visibility

To resolve Bluetooth connection issue with Skinetic on Linux, please update your firmware with Skinetic Hub

Windows

Microsoft Visual C++ Redistributable

When using our SDK on Windows, ensure that the Microsoft Visual C++ Redistributable is installed. This is required to provide the necessary runtime components for the SDK to function correctly.

  1. Install Redistributable: If not already installed, you can download and install the Microsoft Visual C++ Redistributable from the official Microsoft website.

  2. Redistribute with Your Application: If you plan to distribute your application that uses our SDK, you should include the necessary Microsoft Visual C++ Redistributable package along with your application installer. This ensures that users won't face compatibility issues.

Remember to keep these points in mind to ensure a smooth experience when using our SDK on both Linux and Windows platforms.

OsX

Bluetooth Mode with btScan executable

To use the Bluetooth mode of our SDK on OSX, place the btScan file (provided with the SDK) into the same directory as the SkineticSDK.dylib. This is essential to find your Skinetic device.

Bluetooth Mode and Visibility

To resolve Bluetooth connection issue with Skinetic on OsX, please update your firmware with Skinetic Hub

Building

Building with g++ on Linux

Suppose you have a C++ source file named main.cpp in your project, and you want to build it with the SDK's dynamic library:

   g++ -std=c++11 -o helloworld helloworld.cpp -I/path/to/skinetic-sdk

Building with Visual C++ on Windows

If you are using Visual Studio, follow these steps to build your project:

  1. Create a new Visual C++ project or open your existing project.

  2. Add main.cpp to your project.

  3. Set the include directories:

    • Right-click on the project in the Solution Explorer and select "Properties."
    • Go to Configuration Properties -> C/C++ -> General.
    • Add the path to the SDK include directory in "Additional Include Directories."
  4. Set the library directories:

    • Go to Configuration Properties -> Linker -> General.
    • Add the path to the SDK library directory in "Additional Library Directories."
  5. Add the SDK library to your project:

    • Go to Configuration Properties -> Linker -> Input.
    • Add the SDK library name (sdk.lib for Release or sdkd.lib for Debug) to "Additional Dependencies."
  6. Build your project using Visual Studio.

Building with CMake

If you prefer using CMake to build your project, you can create a CMakeLists.txt file with the following content:

cmake_minimum_required(VERSION 3.12)
project(my_app)

# Add your C++ source files to the project
set(SOURCES main.cpp)

# Path to the SDK
set(SDK_PATH /path/to/sdk)

# Include the SDK's header files
include_directories(${SDK_PATH}/include)

# Link against the SDK's dynamic library
add_executable(my_app ${SOURCES})
target_link_libraries(my_app ${SDK_PATH}/lib/SkineticSDK.so)

Note: Replace /path/to/sdk with the actual path where you extracted the SDK.

Building for Android using Android Studio (Gradle)

  1. Copy the SkineticSDK.aar file into your Android project's libs directory.

  2. Open your Android project in Android Studio.

  3. In the build.gradle file (Module-level build.gradle), add the following line inside the dependencies block:

implementation files('libs/sdk.aar')
  1. Sync your project with Gradle to include the SDK in your Android project.

  2. Now, you can use the SDK's functionality in your Android app.

The SDK should now be integrated into your Android project, and you can access its functionality from your Java/Kotlin code.


These examples should provide you with a starting point for building your projects with the SDK on different platforms. Make sure to adjust the paths and filenames based on your specific project setup and SDK version.

Have a look at SDK API's documentation and examples for further details on using the APIs and to explore the available features and functionalities.

Experimental API

The SDK has separated API that exposes experimental features. We recommend using these experimental features only for testing or experimenting and not to rely on them when deploying your solution. They might as well be fully integrated into the main API or completely removed at some point.

Experimental Features

Legacy mode enabling

The legacy mode can be enabled to maintain backward compatibility with earlier version of the firmware. See Compatibility Matrix for more details.

Audio device handling

This feature allows introspecting available audio devices and open an audio connection to on of them. Then the haptic rendering while output the haptic signals toward the audio devices. This audioConnection() acts as a substitute to the standard connection(), afterward all other features of the API can be used to control the haptic rendering.

CAUTION

This feature is not available through the Android API.

ASH-fx (Audio-to-Haptic)

This feature allows to generate haptic automatically by listening to a target loopback audio device. It comes along several functions to inspect the available loopback devices. The generated haptic can be forwarded either to an audio device or through the standard Skinetic protocol.

CAUTION

This feature is not available through the Android API.