CTB was developed to simplify and standardize the communication with other devices through different interfaces (RS232, GPIB). And this platform independent!
At this time CTB supports RS232 and GPIB (IEEE488) for Linux and Windows95/98, NT, Win2k and XP in a transparent way. That means that the program code for read and write via RS232 and GPIB is exactly identical for Linux and Windows.
After open a RS232 or GPIB connection you can accessing the device without consider the kind of unit.
In your code you select the device just once. Read/Write and all device independent stuff will be done with one unique device handle.
Task does not react!
ALL interface accesses (read, write, status query) are NON BLOCKING!
That means that you can read or write data without being afraid that the function call and with it your program blocks. If no data is available or no data can be stored the function returns with null, otherwise with the number of received or sent data bytes.
ctb doesn't depend on any additional libs (neither graphical nor any other lib like STL or Boost) and therefor are qualified for small embedded enviroments and also for any consol applications, background processes and so on.
Multiple threads can communicate with different ports at the same time.
An integrated RS232 interface is required. Alternatively USB-to-Serial adapter cables or special plug in boards can be used.
Installed PCI-GPIB board from Nation Instruments or compatible one.
Installed Linux-GPIB-3.1.101 . All by Linux-GPIB-3.1.101 library supported boards. Tested with PCI-GPIB board from NI.
ctb comes as setup.exe like installer and contains prebuild libs for Windows and Linux. Of course also the sources and makefiles for GCC, Visual C++, Borland, Watcom and MingW.
Since version 0.9 ctb also includes a python module ctb.py.
Currently you have to build the python module by yourself, a prebuild version is planned. See build notes in README
The detailed description as PDF File.
Jürgen Schuhmacher added a very detailed description for the usage of CTB with wxWindows and Multiport Devices. Thank's again Jürgen!
CTB is available as source code and freely usable, even in commercial applications.