||3 months ago|
|doc||3 months ago|
|examples/arduino||2 years ago|
|include/vtp||2 years ago|
|src||2 years ago|
|tests||2 years ago|
|tools||2 years ago|
|vendor/greatest||2 years ago|
|.gitignore||2 years ago|
|CMakeLists.txt||2 years ago|
|LICENSE||2 years ago|
|NOTICE||2 years ago|
|README.md||3 months ago|
|RELEASES.md||2 years ago|
|build-arduino-library.sh||2 years ago|
This library has been deprecated in favor of vtproto
This library has been developed alongside my diploma thesis. It is no longer maintained. Usage for new projects is strongly discouraged. Existing projects should migrate to vtproto.
A library for encoding and decoding vibrotactile patterns
libvtp is a library for encoding and decoding vibrotactile patterns using the (in-development) VTP format.
Specification drafts can be found in the
The library contains the following modules:
codecprovides an abstraction layer for reading/writing VTP Binary files
foldprovides a fold algorithm to accumulate the effects of multiple VTP instructions, e.g. for the purpose of simulation or mapping VTP to a sampling-like interface
Additionally, libvtp contains the CLI tools:
vtp-assemblewhich assembles VTP Assembly Code into the VTP Binary Format
vtp-disassemblewhich derives VTP Assembly Code from VTP Binary Format
They are mostly untested and to be considered as strictly experimental at this point.
libvtp should compile on any compiler that conforms to the C90 standard. If it doesn't in your case, please file a bug report on libvtp's issue tracker (see section Contact).
libvtp uses CMake as its build system, but it should be trivially possible to port it to other build systems, if needed.
The library API documentation can be generated using Doxygen, but it's probably
quicker to just read through the very few and brief header files in the
Usage information for the CLI tools can be printed using the
Please be aware that they read from stdin by default, so if you run them without
any input, they might appear to be frozen when in fact they're just waiting for
the standard input.
It is possible to generate an Arduino library of libvtp using the
build-arduino-library.sh script in the root of the source tree.
Running it will build an Arduino .zip library to the
which can then be included in the Arduino IDE.
The Arduino Port is automatically generated by the
script and modifies libvtp to flatten the directory structure as expected by
the Arduino IDE.
To include libvtp in your Arduino projects, use
#include <vtp_foo.h> instead
libvtp's unit tests depend on
greatest by Scott Vokes.
For details about the dependencies used, please refer to the NOTICE file
Versioning and Compatibility
Versioning of libvtp follows the Semantic Versioning convention.
libvtp keeps a changelog in RELEASES.md
Until 1.0.0, any substantial changes to the library (breaking and non-breaking) will trigger an increase of the minor version, while bug fixes and similar minor improvements may trigger an increase of the patch version.
Additionally, libvtp will strive to achieve ABI compatibility within major versions, once the stable release v1.0.0 has been published.
libvtp is (C) 2020 Lucas Hinderberger
The repository of libvtp can be found at https://codeberg.org/lhinderberger/libvtp
You can also contact the author via email at firstname.lastname@example.org