[0: About libximu]

This is an open source c++ re-implementation of the x-IMU API.
The code is based on the original published x-IMA API 13.1
source code in c# (see http://www.x-io.co.uk/node/9) and was
modified to suit our needs.

[1: Changelog]

2012-03-29: added snapshot 0.2b (fixed pkg-config file) see files section for direct download
2012-03-27: added snapshot v0.2
2012-03-27: fixed time struct bug (!) & added tare commands
2012-03-22: fixed/changed pkgconfig file creation
2012-02-14: added snapshot v0.1
2012-01-26: libximu opensource project online

[2: Notes]

So far this library implements only a subset of the available
functions of the original library. If you need a specific feature
send me an email and i will have a look and add it to the lib.
If you find any bugs and/or have any suggestions feel free to contact me.

WARNING: When running on ubuntu please note that there is (at least for 12.04) a bug in the modemmanager. It will grab the ttyUSBx device and you can not access the IMU. You can try this udev blacklist patch (add the vendor 0403 and product id 6001).

[3: Usage]

For a short demonstration how to use the library see the test.cpp file.
The basic idea of this library is that a separate thread is handling
all the incoming data and the user can either register callbacks
for the specific incoming datasets and/or use polling to get the latest
available dataset.

In order to use libximu in your own (CMake) projects the following code snippets might help you.
Add the following code to your CMakeLists File:

#libximu resolver
PKG_CHECK_MODULES(XIMU REQUIRED libximu>=0.2)
IF (XIMU_FOUND)
  MESSAGE("Using libximu version ${XIMU_VERSION} from ${XIMU_PREFIX}")
ELSE (XIMU_FOUND)
  message(FATAL_ERROR "Error: Cannot find lib XIMU")
ENDIF (XIMU_FOUND)
...

LINK_DIRECTORIES(... ${XIMU_LIBRARY_DIRS} ...)
INCLUDE_DIRECTORIES( ... ${XIMU_INCLUDE_DIRS} ...)

...

ADD_EXECUTABLE( xyz main.cpp )
TARGET_LINK_LIBRARIES(  xyz ... ${XIMU_LIBRARIES})

[4: Download / SVN checkout]

In order to check out & build the latest version simply check it out using svn:

svn co https://opensource.cit-ec.de/svn/libximu/trunk/ libximu

[5: Compiling]

Aftre checking out the source code (see above) you can compile the library:
This library uses a standard CMake file. So the installation procedure is:

.../libximu> mkdir build
.../libximu> cd build
.../libximu> cmake .. 
             (you might want to set -DCMAKE_INSTALL_PREFIX=/my/prefix)
.../libximu> make
.../libximu> make install

For testing purposes you might call ./ximu_test /dev/ttyUSBX (or /dev/rfcomm0 for bt)