| Tilt Five NDK |

Tilt Five™ NDK

# Welcome!

WARNING - BETA RELEASE
The NDK is currently in beta - things may change without warning, and your code may break. Stay tuned for updates, but until then, Beware Dragons.

The Tilt Five™ native development kit (NDK) enables development of content for the Tilt Five™ platform.

Ensure you're using the latest development tools by visiting https://www.tiltfive.com/developers.

## Prerequisites

- Latest driver package installed
- Available USB3 port
- Tilt Five™ glasses
- At least C11 or C++11 project

## Getting Started

- Download and extract the NDK
- Getting Started : C
- Getting Started : C++

## Samples

### Dynamic Linking

The `samples` directory in the NDK download contains three trivial clients exercising a range of functions of the NDK. The two files sample.c and `sample.cpp` use the C and C++ interface respectively. They have been tested with GCC 11.2.0, clang 13.0.0-2, and MSVC 19.30.30705, built as follows:

- `gcc -std=c11 sample.c -I .. ../lib/linux64/libTiltFiveNative.so`
- `g++ -std=c++11 sample.cpp -I .. ../lib/linux64/libTiltFiveNative.so -latomic`
- `clang -std=c11 sample.c -I .. ../lib/linux64/libTiltFiveNative.so`
- `clang++ -std=c++11 sample.cpp -I .. ../lib/linux64/libTiltFiveNative.so -latomic`
- `cl /std:c11 sample.c /MD /I .. ..\lib\win64\TiltFiveNative.dll.if.lib`
- `cl /std:c++14 sample.cpp /MD /EHsc /I .. ..\lib\win64\TiltFiveNative.dll.if.lib`

## A Note on Compatibility

We aim to provide backward compatibility between NDK versions and driver versions, but we do not provide forward compatibility. In practice, this means:

- Software built using an older NDK version will work with the same driver version or newer.
- Software built using a newer NDK version will fail to work with older driver versions.

The T5_ERROR_SERVICE_INCOMPATIBLE (C) and `tiltfive::Error::kServiceIncompatible` (C++) errors indicate the latter condition if returned from the system-wide functions. Ensure that you check these return values because the NDK functions will not work with an incompatible driver package.

## Contact

Developer Relations | devrel@tiltfive.com
Careers | jobs@tiltfive.com
Press Relations | press@tiltfive.com

## Website

Visit the Tilt Five website for the latest news and downloads: https://tiltfive.com

## Copyright

Copyright (C) 2020-2022 Tilt Five, Inc.