## C++ InertiaSDK

The C++ InertiaSDK allows you to interact with Inertia Technology devices,
and files created using the InertiaSDK or InertiaStudio.


### Contents
This SDK contains the following directories and files:
* `html` The auto-generated documentation of the SDK header files, open with `index.html`.
* `include` The SDK header files.
* `lib` The debug and release libraries of the specific platform, and the cmake config files.
* `samples` Example code using the SDK.
* `CMakeLists.txt` The CMake example file.
* `licenses.txt` Licenses of software used in the SDK.


### Requirements
The Inertia library depends on [Boost](http://www.boost.org/) and [matio](https://github.com/tbeu/matio).
On Windows, these libraries are statically linked with the Inertia library. On other platforms, these libraries need to be installed.
On Linux, the SDK also depends in libudev. To use the (optional) Ethernet features, libpcap is required.

To install the required and optional libraries on Ubuntu:

    sudo apt install libboost-all-dev libmatio-dev libudev-dev libpcap-dev

CMake will check if these libraries are available.


### Example
Use [CMake](https://cmake.org/) to generate the makefile or workspace for the compiler environment of your choice.

The example code demonstrates a few features of the SDK:
* It tries to detect and connect to the first available device.
* It uses an asynchronous (default) or synchronous API for data received from a device.
* It logs the received data to an ITLOG file, and coverts the file to CSV.
* It demonstrates the use of configurations and commands:
  * Periodically toggle data transmission of the devices.
  * Periodically toggle the accelerometer range between 2g and 8g.
  * Periodically send a command to get a list of files on the devices.
