web analytics
Tech Library | Ada Forge - News
Tech Library

Simple Components v4.20 released

Changes to the previous version:
  • Modbus TCP client bug fixed. The bug prevented receiving large responses, more than 60 words, e.g. to FC3 (read holding registers).


From Dmitry A. Kazakov

Read More…

GtkAda contributions v3.18 released

It deals with the following issues:

- Tasking support;
- Custom models for tree view widget;
- Custom cell renderers for tree view widget;
- Multi-columned derived model;
- Extension derived model (to add columns to an existing model);
- Abstract caching model for directory-like data;
- Tree view and list view widgets for navigational browsing of abstract caching models;
- File system navigation widgets with wildcard filtering;
- Resource styles;
- Capturing resources of a widget;
- Embeddable images;
- Some missing subprograms and bug fixes;
- Measurement unit selection widget and dialogs;
- Improved hue-luminance-saturation color model;
- Simplified image buttons and buttons customizable by style properties;
- Controlled Ada types for GTK+ strong and weak references;
- Simplified means to create lists of strings;
- Spawning processes synchronously and asynchronously with pipes;
- Capturing asynchronous process standard I/O by Ada tasks and by text buffers;
- Source view widget support.

Changes to the previous version:
- Gtk.Main.Router implementation of Send is changed so that when called on the main task context the callback is made at the loop end rather than immediately.


From Dmitry A. Kazakov
Read More…

Deepend v3.9 Released

Deepend is a set of storage pools for Ada 95, Ada 2005, and Ada 2012 that includes subpool capabilities. Groups of memory allocations from a storage pool can be assigned to specific subpools where groups of objects can be deallocated as a group by deallocating the subpool, rather than by individual deallocations of objects.

Each subpool is "owned" by a specific task in Ada, allowing allocations and deallocations to be efficient, as well as being safer and less error prone.

Since version 3.4, the most notable changes are:
  • Ada 2012 subpools were not working in version 3.4, but now work properly with the Ada 2012 subpool syntax.
  • It is now possible to set task ownership of the storage pool itself, as well as subpools.
  • Portability changes made to integrate with PTC's ObjectAda 64bit compiler for Ada 2005 and Ada 95
  • Portability changes made to integrate with RR Software's Janus Ada compiler for Ada 95
  • Memory allocations returned by the generic allocators were not initializing memory. This is important for types that have discriminants or tags. Now memory is initialised which is consistent with behaviour when one uses Ada's "new" keyword syntax to provide the allocations.
  • The generic allocator routines now support allocating unconstrained types, such as strings.

There are 4 different storage pools to choose from;
  • Unbounded storage pool with subpool support
  • Bounded storage pool with subpool support
  • Unbounded storage pool without subpool support
  • Bounded storage pool without subpool support


From Brad Moore Read More…

AZip v.2.0 released

AZip is a Zip archive manager.

The latest addition is an archive recompression tool.


From Gautier
Read More…

Zip-Ada v.52 released

Changes in '52', 08-Oct-2016:
  • UnZip.Streams: all procedures have an additional (optional) Ignore_Directory parameter.
  • Zip.Compress has the following new methods with improved compression:
  • LZMA_3, Preselection_1 (replaces Preselection), Preselection_2.
  • Preselection methods use now entry name extension and size for improving compression, while remaining 1-pass methods.


From Gautier
Read More…

Thick bindings for the Linux joystick API

Thick bindings for the Linux joystick API are available at: https://github.com/alkhimey/Ada_Joystick

From Artium

Read More…

ZanyBlue - 1.3.0b released

The changes since the last release are:
  • Added a new utility zbinfo to query built-in data. This was released as an example previously (the dumplocale example which has been dropped).
  • Added encoding support to convert Wide_String values to String based on an encoding schema, e.g., UTF-8, ISO8859-2, CP932, SHIFT_JIS, etc. To fully use this functionality, narrow accessors should be used which, when printing, use Stream_IO to avoid interaction between the Text_IO and encoded values. The list of supported encodings is available via zbinfo --list-encodings.
  • The default locale is now en_US.UTF-8 if no other locale can be determined from the environment.
  • Updated the documentation (and website) to use the Sphinx documentation system.
  • Updated and expanded the documentation. Additional documentation is, however, needed. Switch to gnatdoc from gnathtml to generate the source code based documentation.
  • Restricted the usage of the -gnatW8 compilation option to just the source files containing UTF-8 encoded strings: the message pool file generated by the zbmcompile utility.
  • Added option to the zbmcompile utility to generate ASCII only source files (-A option).
  • Added option to the zbmcompile utility to define handling of non-Ada message keys when generating accessors (the -X option).
  • Updated the build to use gprbuild instead of gnatmake.
  • Updated the build to use -gnat2012 in all gpr files.
  • Switched from AUnit to Ahven for unit testing.
  • Minor source code changes based on stricter checks with GNAT 2016.


From Michael Rohan.

Read More…

Thick bindings for Zstd v0.8 released

I created a set of thick bindings against the recent v0.8.0 version. Those cover the stable API (basic compression / decompression and use of dictionaries). The API for streaming compression / decompression is not yet stable, and as such it is only available in the static library. Once streaming de/compression is provided in the shared library,


From John R. Marino Read More…

Ada/SPARK ASN.1 implementation version 0.0.01

I'm making public my ASN.1 project which aims to be a verified implementation of ASN.1, which is used in security-certificates, which is hopefully the first step in a verified-TLS/-TLS -- the project also aims to be [directly] usable in DSA projects.

As of 0.0.01 the only portion implemented is a pure big-number package, and another currently shared-passive unit for usability.
I would certainly appropriate comments, criticism, and most especially contributions.


From Shark8
Read More…

Thick bindings for libsodium

These bindings are thick and I've committed the testcases I was using to serve as examples. They cover the most of the functionality of libsodium, but some are missing the thick counterparts (e.g. most of the detached versions have no thick counterpart as I stuck with the recommended "combined" variants).


From John R. Marino

Read More…

Adequate, MQTT broker and client programs based on Kasakov's Components

The Adequate project provides command line clients for the MQTT protocol. All the hard work is provided by Dmitry Kazakov's Components.
Among them is an implementation of the MQTT protocol.

The Adequate project consists of three programs
  1. aq_broker, a MQTT broker or MQTT server.
  2. aq_pub, a MQTT client for publishing single messages with a command line interface.
  3. aq_sub, a MQTT client for subscribing to a topic (including wildcards). It also only has a command line interface.


From Rolf Ebert Read More…

SymExpr 1.1 released

SymExpr is a generic Ada package that allow you some manipulation of "symbolic expressions."


From Riccardo Bernardini Read More…

Imago 0.2 released

Imago is a thin binding to DevIL - Developers' Image Library (which is a library that supports working with most image formats).


From darkestkhan

Read More…

Ada PDF Writer v.002

Latest changes are:
  • ISO Latin-1 character support
  • Image dimensions can be queried (useful before inserting them!)
  • Added tool: img2pdf
  • Improved demo - vector graphics with the Ada Mascot!
  • Some fixes


From Gautier's Ada programming

Read More…

Excel Writer v.15 released

A quick note to announce the latest release of Excel Writer.

The changes since last note here are:

15: 23-Apr-2016:
  • zoom factor for viewing / editing sheet
  • international code pages were added: Thai, Japanese Shift-JIS, Chinese Simplified GBK, Korean (Wansung), Chinese Traditional BIG5, Latin II (Central European), Cyrillic, Latin I, Greek, Turkish, Hebrew, Arabic, Baltic, Vietnamese, Korean (Johab).

14: 20-Jul-2014:
  • cells "locked" (Excel's default, this allows formula protection)
  • Next, Next_Row admit zero as parameter


From Gautier's Ada programming
Read More…

Dequesterity v1.5 released

(Buffers of many shapes and sizes)

Dequesterity is a set of Ada 2005 generics that provide various forms of general purpose buffer containers.
Buffers may be used as deques, queues, ring buffers, stacks, double ended stacks, vectors, priority queues, and similar abstractions.

There are various concurrent buffers, priority buffers, streaming buffers, remote buffers. In fact there are now over 100 buffer packages to choose from.

This release mostly fixes some issues with the streaming Ravenscar buffers.

Brad Moore

Read More…

Ada Industrial Control Widget Library v3.13 released

Changes to the previous version:
  • Minor changes improving performance;
  • Waveform sweeper interface is enhanced to suppress the "draw" signal flood when a sweeper is shared by several independent widgets.

Library can be found here.
GNU GPL v2+ license (modified for runtime).

Author Dmitry A. Kazakov
Read More…

Simple Components for Ada v4.11 released

Changes to the previous version:

  • ELV/e-Q3 MAX! client protocol implementation corrected;
  • ELV/e-Q3 MAX! client supports reading measured temperature from radiator thermostats;
  • ELV/e-Q3 MAX! client subprograms Get_Error, Has_Device_Data, Query_NTP_Servers, Reset_Devices, Reset_Error, Set_NTP_Servers added;
  • ELV/e-Q3 MAX! client messages and commands A, F, N support added;
  • GNUTLS bindings updated to the latest version.

Library can be found here.
GNU GPL v2+ license (modified for runtime).

From Dmitry A. Kazakov
Read More…

A-stream-tools-1.0.4 released

Buffered, Memory and Time stream handling.

New in this release:
  • Added send_socket for better integration with gnat_socket.
  • Added the capability to read all the remaining elements in the stream without getting End_Error.

see at https://github.com/persan/a-stream-tools/releases/tag/a-stream-tools-1.0.4-2016-02-29
Copyleft license.

From Per Sandberg
Read More…

Controlling the LIFX smart bulbs

Read More…

Ada industrial control widget library v3.12 released

The library is provided for design high-quality industrial control widgets
for Ada applications. The software is based on GtkAda, Ada bindings to GTK+
and cairo. The key features of the library:

  • 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.


Read More…

GtkAda contributions v3.14 released

The library extends GtkAda 3.8.3/4.


Read More…

Simple components 4.10 released

The current version provides implementations of smart pointers, directed
graphs, sets, maps, B-trees, 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, multiple connections server/client designing

Read More…

ZanyBlue v1.2.1 Beta Available

This is an Ada library currently targeting localization support for Ada (along the lines of Java properties) with supporting message formatting and built-in localization for about 20 locales.

The properties files are compiled into Ada sources built with your application and use to access application messages at run-time.

The run-time locale is used to select localized messages, if they are available.

Read More…

XNAdaLib 2015 binaries for MacOS 10.9 including GTKAda GPL 2015 and more

This is XNAdaLib 2015 built on MacOS 10.9 Mavericks for Native Quartz including:
  • GTK Ada GPL 2015 with GTK+ 3.16.0 complete,
  • Glade 3.18.3,
  • GnatColl GPL 2015,
  • Florist GPL 2015,
  • AdaCurses 20110404,
  • Gate 3-04-b,
  • AICWL 3.11 (with Components 4.8 and gtksourceview 3.14.3),
  • GNOGA 1.1a,
Read More…

Web-application server with Servlet API

Development version of Matreshka provides server-independent implementation of well known Servlet API and web-application server Spikedog to execute Ada applications build on top of this API.
Read More…