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
Step 2: Installation
Type
After installing you should run
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
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:
- 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:
- 0.4.2:
- Python support to open the interface by serial
- Some Bug fixes
- 0.4.1:
- Added support to change the RF address.
- Added functions: (not in Knobloch lib)
- SetRFMode()
- Added support for functions:
- Some minor Bug fixes
- 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:
- added udev file
- experimental support for uploading to the interface (usb only)
- included program ftuploader
- add support for functions:
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
- DWORD - long int
- LPCSTR - char *
- LPVOID - void *
- BYTE - unsigned char
- USHORT - unsigned short int
- UINT - unsigned int
- 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.