Generic Logic, Inc.

HMI and SCADA Toolkit
Interactive Editor & GIS

Web: JavaScript, React, Angular, Next.js
Desktop: C/C++, C#/.NET, Java
Platforms: Windows, Linux, Embedded/ARM
Web: JavaScript, React, Angular
Desktop: C/C++, C#/.NET, Java
Platforms: Windows, Linux, ARM

Embedded Graphics Toolkit for ARM Linux

Raspberry Pi, Beagle Bone, NVIDIA Jetson, TI Sitara
ARM6, ARM7 and ARM8 / ARM64

Free Community Edition

› Download Community Edition
› Online Demos: JavaScript / React / Angular
› Tutorials and Documentation
› FAQs
› Supported Platforms
› Community Edition License
› Community Edition Discussion Group

The GLG Toolkit is an extremely flexible and robust graphical framework for building elaborate visual simulations and dynamic graphical screens that display real-time data.

The Embedded Edition of the Toolkit provides support for ARM processors and embedded boards. Both ARMv6, ARMv7 and ARMv8 AArch64 architectures are supported, including the Raspberry Pi, Beagle Bone, NVIDIA Jetson and TI Sitara boards. The Embedded Edition supports all features of the Toolkit, making it easy to develop an application that can be run on both desktop and embedded devices.

The Free Community Edition of the GLG Toolkit is a fully functional version of the toolkit containing a complete set of tools for developing embedded graphics and elaborate HMI interfaces for embedded devices.

The Community Edition includes a graphical editor, a large number of pre-built components and a native C/C++ library for using the HMI screens into an application. The GIS component is also available, as well as a Java class library for developing Java applications. The Toolkit's run-time library can be easily integrated into existing applications, making it an ideal tool for developing embedded graphical interfaces.

› More Information

Point and Click Graphical Editor

GLG Graphics Builder The GLG Graphics Builder is an interactive graphical editor for creating animated graphical drawings, elaborate simulations and HMI screens. Using the Builder, a developer can draw graphical objects, define their properties, as well as attach dynamics and define resources for animating the drawing with real-time data.

The GLG drawings are screen resolution-independent, which makes it possible to deploy them on a wide range of displays - from large monitors to embedded LCD displays. Drawings created with the Builder can be reused between desktop and embedded applications. For convenience, the drawings are usually created on the development system on the desktop, but the Builder can also be run on the embedded board itself, if necessary.

The graph, dial and meter widgets are available in the Graphics Builder for drag and drop editing via the widget palettes. New widgets and custom symbols may be created with the Builder and added to the Builder's palettes as reusable components.

The prototype mode of the Graphics Builder may be used to animate a drawing or widget with real or simulated data. The run command of the Builder has a variety of options for supplying data. For samples of run commands, use Ctrl-Click in widget palettes to load widget drawings with the default run commands, then click on Run in the toolbar to prototype. A custom editor extension DLL can also be used to supply data and handle user input, allowing to prototype a complete application right in the Builder.

› More Information.

Run-Time: C/C++ Library

The Toolkit provides native C/C++ libraries for the run-time deployment. on a variety platforms, including ARM-based embedded devices and boards. An application can be developed on a desktop system and then compiled for the embedded ARM device. Both ARMv6, ARMv7 and ARMv8 / ARM64 architectures are supported, including the Raspberry Pi, Beagle Bone, NVIDIA Jetson and TI Sitara boards.

The GLG library is used by an application to load, display and update the HMI screens with real-time data at run time. The library provides a concise but extensive programming API that allows developers to configure the HMI displays at run time, as well as to handle user interaction with the displays.

Java Class Library

A Java version of the GLG library may be used to create a cross-platform version of an application.

The GLG drawings can be reused between the C/C++ and Java versions of the application. The Java version of the GLG library provides the same functionality and a similar API  as the C/C++ version,  making it possible to reuse the programming logic and simplify porting an application from C/C++ to Java.

JavaScript / React / Angular / Next.js Library for Web and Mobile Deployment

The GLG JavaScript Library is used to deploy the HMI displays on a web page in a browser, on any desktop or mobile device. The library provides an API to load and display drawings created with the Graphics Builder, animate them with real-time data and handle user interaction.

The React, Angular and Next.js GLG components provided in the React, Angular and Next.js integration examples may be used to integrate GLG drawings in the React, Angular and Next.js frameworks.

The GLG JavaScript Library implements full GLG run-time functionality present in the GLG C/C++, C# and Java libraries, allowing the same graphical page and programming logic to be shared between the desktop, web and mobile versions of an application.

The library uses HTML5 canvas to render graphics and supports all major browsers: Chrome, Firefox, Edge and Safari, as well as mobile browsers. Since the rendering is performed by the browser on the client side, the server load is reduced, making it possible to use low-end embedded web servers for hosting a web application.

The Community Edition of the GLG JavaScript Library includes both the GLG Standard and Extended APIs.

The online demos contain complete source code of each demo, which can be used as coding examples for creating web applications.

› Online Demos (JavaScript / React / Angular).
› More information on the GLG JavaScript Library

GIS Map Server

The GLG Map Server library and an integrated GIS component  are also available for embedded ARM devices, makes it possible to deploy a GIS application on a stand-alone embedded system.

When used with the Toolkit, an integrated GIS Object renders a map in the background of a GLG drawing and takes care of all chores of zooming, panning and coordinate conversion, while the Toolkit handles rendering of dynamic icons on top of the map and updating them in real time.

The GLG Graphics Builder facilitates interactive setup and rapid prototyping of the map component with no programming, by simply editing GIS objects in the drawing.

The GIS component supports optimized rendering of millions of points, both raster, vector and elevation data, rectangular and orthographic projections, unlimited layering, full alpha-blending, transparency and dynamic attribute thresholding. It is optimized for both the whole globe and small region maps, supports hierarchical tiling, tile cache and automatic layers selection based on zoom thresholds.

Online Demos
Mobile Process Control
SCADA Viewer
Real-Time Chart with Cursor Feedback
Mobile Avionics Dashboard
Mobile Circuit Monitoring
Air Traffic Monitoring
› More information on the Community Edition
› Download Community Edition
› Online Documentation