The NTD system is a collection of libraries to speed up developement of automation applications.

The NTD system is released under the GNU Library General Public License (GNU LGPL), which allows for flexible licensing of client applications. It consists on the following libraries:

ntd-widgets

A user interface library that provides some useful widgets. It depends on Gtk+2.8 or later, no Gnome stuff is required. This minimizes system requirements, often a nightmare in real-time applications. Furthermore, if the Gtk front-end to the linux frame-buffer driver will properly grow, a good graphic application without any X server will be possible.

ntdprotocols

This is an intent to make a standard interface for PLC and NC protocols. In my personal experience, I often wrote a lot of stuff to connect a PC to PLCs or NCs (Omron, Siemens, Hitachi, Nardi Elettronica and Ever) and I realized a big piece of code was similar.

ntddb

An abstraction layer to the database management functions commonly used on industrial environements. These APIs must be as real-time as possible.

A tipical real-time application runs lonely on a dedicated computer with a few threads that must be of known responsiveness, so a lot of stuff could be cutted-off from the system, such as X server (I don't like it at all), window manager, panels and so on. Usually, the computer must boot starting a few daemons and one application and shutdowns when this application is quitted.

The goal of this project is to create a base for such applications, taking advantages from the stability and customizability of open-source operating systems (Gnu-Linux, *BSD and POSIX compliant systems).

Of course, the Gtk+2.8 can be run on a variety of systems (also proprietary), so you can risk to execute a "real-time" application on them. Anyway, this is not my target.

The library is still under heavy developement, so many features will be planned but no implemented. I will try to upload code only when their documentation (at least a minimum part) will be ready, but do not expect tutorials or examples in a short time.

For any informations or requests, please contact me at or visit the project web site on http://ntd.entidi.com.

Of course, any help and feedback will be appreciated.