libroboint
libroboint Index Page

Introduction

libroboint is an Open Source version of the fischertechnik ROBO Interface Library for Unix like systems

The goal is to create a library that is fully compatible with the ftlib by knobloch eletronic.

This library should work on any systems supported by libusb, like Linux, BSD and Mac OS X and is released under the GNU Lesser General Public License (LGPL)

Included is the helper program "ftuploader" which allows you to upload programs to the Robo Interface.
Running ftuploader –help should give you an idea how to use it.
Also included is an Interface Diagnose utility. See section Interface Diagnose

Warning
Please note that only the older Robo- and Intelligent Interface are supported.
The new ROBO TX Controller is not supported!

Download

Current Version: 0.5.6

Download: https://gitlab.com/Humpelstilzchen/libroboint/-/archive/0.5.6/libroboint-0.5.6.zip
Git: https://gitlab.com/Humpelstilzchen/libroboint
A ROS-Package with basic support of the Navigation Stack is available: https://defiant.homedns.org/gitweb/?p=ros_roboint.git

Requirements

API Documentation

See also
libroboint.c

Installation

Step 1: Compiling

Type

  • cmake .
  • make

Step 2: Installation

Type

  • make install

After installing you should run

  • ldconfig

to make the library known to your system. Make sure that /etc/ld.so.conf is configured to include /usr/local/lib

To install the diagnose utility type

  • make diag

Debian packages are available. Please read http://vontaene.de/apt/README.txt
You can install them with apt-get install libroboint0 libroboint-doc libroboint-python libroboint-diag

Step 3: udev

When running udev you might want to copy the file fischertechnik.rules from the udev folder to /etc/udev/rules.d/ to get the correct permissions.
Udev then needs a reload with

  • udevadm control –reload-rules (current udev)
    or
  • udevcontrol reload_rules (on old udev versions)
    You will now need to replug your device.

Step 4: Create Documentation

Type

  • make doc
    to create the html API documentation.

Step 5: Python

A Python interface to this library is available, see the python folder for details.
Type
make python
in the python/ -folder to install the python module. Use pydoc to read its documentation:

  • pydoc robointerface in the shell
  • help(robointerface) from the python interpreter

Interface Diagnose

You can find it in the folder diag/.
It requires the python module (see above) and PyQT4. You can launch it by running "python ftdiagnose"

JavaScript

For a Node.js wrapper see https://github.com/xeronimus/node-libroboint

Author

Erik Andresen - erik@.nosp@m.vont.nosp@m.aene..nosp@m.de

Please contact me for bugs or any suggestions

Homepage of libroboint: http://defiant.homedns.org/~erik/ft/libft/

Changes

  • 0.5.6:
    • Now supports Knobloch Robo Connect Box
  • 0.5.5:
    • Python 3 compatibility
  • 0.5.4:
    • Added support for Knobloch education line Cross Roads, Trafic Lights & Signal
  • 0.5.3:
    • Added experimental support for Robo Connect Box
    • Updated java bindings to jna 4.0.0
  • 0.5.2:
    • Added experimental support for Robo LT Controller
  • 0.5.1:
    • Intelligent Interface fixes
  • 0.5.0:
    • Libft renamed to libroboint to avoid name clashes with other software
    • C Header file renamed to roboint.h
  • 0.4.4:
    • Some Bug fixes, fixes to work with Fedora 14
  • 0.4.3:
    • Bug fix: Extension digital inputs at RoboRF
    • ftdiagnose: Display connection status
    • Added functions: (not in Knobloch lib):
    • Python added functions:
      • IsConnected()
  • 0.4.2:
    • Python support to open the interface by serial
    • Some Bug fixes
  • 0.4.1:
  • 0.4:
    • Hopefully support for more then one Robo Interface attached to an RF Link.
    • Added support for the ft distance sensor
    • Added functions:
    • Added support for functions:
    • Python added functions:
      • GetNumFtUsbDevices()
      • RoboInterface.GetDeviceTypeString()
      • GetD1()
      • GetD2()
    • Added ft Diagnose utility.
  • 0.3:
    • added (overwrite) –target option to the ftuploader
    • included some documentation
    • minor fixes
    • enhanced python layer
    • support for RF Module
  • 0.2.1:
    • fixed Analog/Voltage Sensor calculations
  • 0.2:

Porting your program from the Knobloch Windows Library

When porting your program from the Knobloch Library for Microsoft Windows operation systems please note the following:

  • Types like DWORD are replaced with their logical ANSI-C counterparts, like
    1. DWORD - long int
    2. LPCSTR - char *
    3. LPVOID - void *
    4. BYTE - unsigned char
    5. USHORT - unsigned short int
    6. UINT - unsigned int
    7. UCHAR - unsigned char
  • The Windows Notifications stuff will probably never be supported.
  • Some return codes might be different, so if something is going wrong, check this manual.