Industrial related application details
The eNTiDi applications are usually based on the GTK+ library stack. They are developed in plain C using the object-oriented paradigm provided by the GObject facility (yes, OOP in C is possible). This approach keeps open the possibility of reusing the code in other programming languages by providing only the missing glue (that is, using the so called bindings).
I'm contributing to some projects that are based on this stack:
- ADG
- a non-interactive cairo canvas based on cairo specifically designed for generating 2D technical drawings;
- Gtk+2 panel
- a panel entirely based on the gtk stack, a useful alternative for embedded system or dedicated machines;
- GContainer
- abstraction layer for container-child relationship, strictly using the GtkContainer approach;
- NtD system
- additional widgets (led, switch, gauge...) and interaction with external data (got from PLC or NC) throught protocols: actually this project is stalled.
The tracker of these projects can be found at http://dev.entidi.com/: feel free to sign in if you intend to report bugs or suggest features. For simply looking around or browsing the progress, no registration is needed.
Around the GTK+ stack there is a plethora of projects that can be used to accomplish really different tasks. The following list contains the ones I personally use / intend to use (description excerpted from their home pages):
- libgda
- a data abstraction layer. It can manage data stored in databases and can be used by non GNOME applications, it depends on the GLib (and integrates with it), and LibXML.
- GOffice
- GOffice is a library of document-centric objects and utilities building on top of GLib and Gtk+ and used by software such as Gnumeric.
- GStreamer
- GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.
- GtkDataBox
- GtkDatabox is a widget for the Gtk+-library designed to display large amounts of numerical data fast and easy. One or more data sets of thousands of data points (X and Y coordinate) may be displayed and updated in split seconds. The widget is therfore used in many scientific and private projects that need to show quickly changing data "live".
- libmodbus
- A Modbus library for Linux (and OSX) wrote in C and which supports RTU communication over a serial line or a TCP link. Clean and fast! A shared library to send/receive data to/from ModBus devices which respect the protocol etablished by Modicon.