Ada Industrial Control Widget Library v1.3 Released

The Ada Industrial Control Widget library provide high-quality industrial control widgets for Ada applications. Version 1.3 is a bug-fix release with no new features:

  • A sample of asynchronous plotting added, based on the contribution by Yogeshwarsing Calleecharan, who generously provided his code solving a differential equation of a generator’s rotor movement. The sample illustrates ploting data on-line, as they are computed by a separate Ada task.
  • Memory leak while drawing graph paper annotations fixed.
  • Graph paper annotations formatting flag to enable or disable superscript numbers.

You can read the release announcement here and get to the code here. Fedora and Debian packages are available and source for the rest of us.

Another Round of Dmitry Kazakov Updates

The productivity of Dmitry Kazakov continues to amaze me. Not only is he producing some rather large libraries and projects, he is also very actively updating and maintaining them.

I could probably learn a lot from this guy. 🙂

Today we’ve got updates to the following projects:

Simple components for Ada v3.16:

Changes in version 3.16 (and 3.15, since I forgot to report those):

  • Bug fix in the package Storage_Streams. The bug was caused by an overflow in index computations.
  • Parsers now have a mechanism to disallow an operation outside brackets.
  • Closing brackets can be returned back when misplaced switching to infix context. For example, it is now possible to parse expressions like f(|a|+1|x), where | is both |·|-brackets and an infix operation.
  • Association checks are performed on all operations and brackets.

Simple components provides…

…implementations of smart pointers, directed graphs, sets, maps, stacks, tables, string editing, unbounded arrays, expression analyzers, lock-free data structures, synchronization primitives (events, race condition free pulse events, arrays of events, reentrant mutexes, deadlock-free arrays of mutexes), pseudo-random non-repeating numbers, symmetric encoding and decoding, IEEE 754 representations support. Tables management and strings editing are described in separate documents see Tables and Strings edit. The library is kept conform to both Ada 95 and Ada 2005 language standards.

The next contender is the Ada industrial widget library v1.2:

Changes to the previous version:

  • Bug fix in waveform sampling which had the effect that sometimes the amplifier get permanently rescaled when in auto-scale mode.
  • Rendering waveform annotations was changed to prevent values shown as xxx*10**0.

The key features of the Ada industrial widget library are..

…widgets composed of transparent layers drawn by cairo, fully scalable graphics, support of time controlled refresh policy for real-time and heavy-duty applications, caching graphical operations, stream I/O support for serialization and deserialization, ready-to-use gauge, meter, oscilloscope widgets, editor widget for WYSIWYG design of complex dashboards.

Go get ’em while they are hot!

GtkAda Contributions and AICW updates

More updates from Dmitry Kazakov:

GtkAda Contributions is the work of Dmitry Kazakov and Maxim Reznik. It is a package of proposed contributions to GtkAda, adding stuff like tasking support, embeddable images, spawning processes synchronously and asynchronously with pipes and a whole lot more. You can read the release announcement here.

Ada Industrial Control Widget Library enables you to create all sorts of graphical gauges, meters, clocks and oscilloscopes. If you need some sort of visual indication of load, pressure, speed or whatever, then this package will probably be able to get the work done. You can read Dmitry’s release announcement here.

Ada Industrial Control Widget Library

From the hands of Dmitry A. Kazakov comes version 1.0 of his Ada Industrial Control Widget Library, bringing all sorts of gauges, meters, clocks and whatnot to Ada.

The described here packages are provided for design high-quality industrial control widgets for Ada applications. The software is based on GtkAda and cairoada, Ada bindings to GTK+ and cairo. The key features of the library are widgets composed of transparent layers drawn by cairo, fully scalable graphics, support of time controlled refresh policy for real-time and heavy-duty applications, caching graphical operations, stream I/O support for serialization and deserialization, ready-to-use gauge and meter widgets, editor widget for WYSIWYG design of complex dashboards.

As is usual with Kazakov’s code, it is thoroughly documented, with lots of graphics to help understand exactly how the library works. Excellent work.

AICWL is based on:

Installation is pretty straightforward. If you’re doing Ada programming and you’re in need of some nifty looking gauges/meters, then this is most certainly a good place to start.

Ada industrial control widget library v1.0 released

From the hands of Dmitry A. Kazakov we get Ada Industrial Control Widget Library, version 1.0:

The library is intended for designing high-quality industrial control widgets for Ada applications. The widgets are composed of transparent layers drawn by cairo. The widgets are fully scalable graphics. Time controlled refresh policy is supported for real-time and heavy-duty applications. The library supports caching graphical operations and stream I/O for serialization and deserialization. Ready-to-use gauge and meter widgets provided as samples as well as an editor widget for WYSIWYG design of complex dashboards. The software is based on GtkAda and cairoada, Ada bindings to GTK+ and cairo.

The library is documented in the usual style of Dmitry’s packages: Perfectly.

The library depends on GtkAda and cairoada.

You can read the full release announcement here.