Tide - English

Introduction

Tide (Time-Indexed Data Entries) is a library for recording and playing back data indexed along a single axis, typically time. It is not described as “for storing and retrieving;” the library is optimised for data streams, not data tables. It is particularly suited to applications that must record one or more streams of data in such a way that the data can be replayed at a later date, maintaining the timing information of the data. A common application is recording data streams from a robot’s sensors and playing those streams back in real-time later on for testing software.

Requirements

Tide uses the CMake build system. You will need at least version 2.8 to be able to build the component.

Tide runs on Linux, Mac OS X and Windows.

Installation

Binary

No binary installers are currently available.

From source

Follow these steps to install Tide from source in any operating system:

  • Download the source, either from the repository or a source archive, and extract it somewhere:

    tar -xvzf tide-1.0.0.tar.gz
  • Change to the directory containing the extracted source:

    cd tide-1.0.0
  • Create a directory called build:

    mkdir build
  • Change to that directory:

    cd build
  • Run cmake or cmake-gui:

    cmake ../
  • If no errors occurred, run make:

    make
    
  • Finally, install the library. Ensure the necessary permissions to install into the chosen prefix are available:

    make install
  • The install destination can be changed by executing ccmake and changing the variable CMAKE_INSTALL_PREFIX:

    ccmake ../

The library is now ready to use. You can use it in your own CMake projects with the following line:

find_package(tide)

If you are not using CMake, a pkg-config file is available, tide.pc. Be sure to add the pkg-config location below the Tide install prefix to the PKG_CONFIG_PATH environment variable. If you installed into /usr/local, this will be:

/usr/local/lib/pkgconfig

or:

/usr/local/lib64/pkgconfig

APIs

Tide features two APIs for the programmer:

Tide
This is the element-level API. It requires working with the EBML elements used in the Tide format directly. It allows significant flexibility in how a Tide document is written to disc or read from disc. A reasonable knowledge of the Tide format specification (available here) is necessary to use this interface effectively.
HighTide
This is the high-level API, providing an abstract interface into Tide documents. For example, channels are abstracted into streams of data that can be individually iterated through. No knowledge of the Tide format specification is necessary to use this API.

Documentation

Full API documentation is available with the library. It is generated using Doxygen and Sphinx. If you installed from source, you must have Doxygen and Sphinx installed and set BUILD_DOCUMENTATION to ON in CMake.

Click here to access the API documentation.

The documentation is also available online.

Examples

Simple usage examples are provided in the examples/ directory of the source. For more complex examples, see the sourcecode of the tools included with Tide.

Tools

Tide includes several useful tools. These tools are designed to introspect and manipulate Tide objects.

Format specification

The Tide format specification is available online.

Changelog

1.0

  • Initial release.

License

This software is developed at the National Institute of Advanced Industrial Science and Technology. Approval number H23PRO-????. This software is licensed under the Lesser General Public License. See COPYING.LESSER.

Table Of Contents

Next topic

Tide - Japanese (soon)

This Page