Embedded Wizard

Last updated
Embedded Wizard
Developer(s) TARA Systems GmbH
Initial release2003
Stable release
V13 / November 29, 2023;8 months ago (2023-11-29)
Written in C++
Operating system Windows, Linux using Wine
Available inEnglish
License Embedded Wizard - EULA
Website Embedded Wizard

Embedded Wizard is a graphical user interface tool developed and distributed by TARA Systems GmbH for creating graphical user interface (GUI) applications mainly for embedded systems, including microcontroller and microprocessor units. It provides a WYSIWYG front-end for editing graphics, effects and logic of the user interface and generates source code for particular target hardware. Embedded Wizard is independent of a specific graphics hardware, color format or input mechanism. It supports object oriented programming and does not require a Real-time operating system/Operating system, allowing GUIs to run on bare metal. [1]

Contents

Embedded Wizard is mainly used to develop GUI applications for products in the area of industrial automation, consumer electronics, home appliances, medical industry, automotive industry and products equipped with a graphics display with or without a touch screen. The Free Edition of the tool is available on the Embedded Wizard website: https://www.embedded-wizard.de/download.

History

The first version of Embedded Wizard was released in 2003 by TARA Systems GmbH, an embedded software development company located in Munich, Germany. It was intended as a successor of previous GUI tools from TARA Systems GmbH, like M2-Builder. In contrast to former tools, Embedded Wizard enabled platform-independent development, introduced its own programming language Chora, and was designed to support object oriented programming and resource-constrained devices, such as microcontroller. Since the first version, the tool has been extended with new features like an integrated debugger, a memory footprint analysis of RAM and flash consumption or support for effects and animations with a 3D perception and vector graphics.

Embedded Wizard was designed and developed by Paul Banach and Manfred Schweyer.

Embedded Wizard IDE Embedded-wizard-ide.png
Embedded Wizard IDE
Embedded Wizard Platform Package Architecture Platform-package-2.png
Embedded Wizard Platform Package Architecture

Architecture

Embedded Wizard consists of the Embedded Wizard Studio, a WYSIWYG IDE for creating and prototyping the user interface application, and a hardware abstraction layer, called Platform Packages, which are available for various embedded chipsets, operating systems and color formats.

Each platform package contains a dedicated code generator and resource converter for bitmaps and TrueType fonts, which are adapted to a specific chipset, and - if available - operating system.

Another platform package can be licensed, which generates JavaScript/WebGL source code instead of ANSI C. [2]

Workflow

Following the approach of object-oriented programming, each Embedded Wizard project consists of classes which implement a certain part of the design and/or functionality. The class library of Embedded Wizard, called Mosaic, is part of every project and provides the basic functionality for visual objects, focus handling, layouting, event handling and more.

To create a graphical user interface, Embedded Wizard provides basic functions like rectangles, gradients, lines, (multiline) text boxes, import of bitmaps and TrueType fonts, but also GUI widgets like menus, scrollbars, buttons, and sliders. [3] Besides the visual objects, developers can create methods, properties, variables, and enums to implement a certain behavior, using Embedded Wizard's own programming language Chora. [4] Embedded Wizard follows the approach of visual programming. All logical elements, like methods, properties or variables are represented in the IDE as visual bricks. This enables developers, for example, to assign a variable as a parameter for a method by drag-and-drop.

The members of the class library can be flexibly extended by developers according to their needs. The available Knowledge Base [5] accompanied by video tutorials and open community forum Ask Embedded Wizard [6] help the developer to get familiar with the technology.

Embedded Wizard supports rapid prototyping and testing of the user interface. A debugger for the Chora code is integrated as well. During code generation, the Chora code is transformed into ANSI C code or JavaScript for a specific chipset, using the appropriate Platform Package. The generated C code needs to be compiled and linked with the runtime environment (RTE) and graphics engine (GE) of the platform package. [7]

Availability

The Embedded Wizard Studio is distributed by TARA Systems GmbH or its distributors as a per-developer license. The license consists of two parts. The Embedded Wizard Studio (i.e. the IDE), to develop Graphical User Interfaces (GUIs) on your Windows PC, and the Embedded Wizard Platform Package, which acts as an abstraction layer to the used embedded system, graphical subsystem and (RT)OS (if any). [8]

Platform Packages are available for more than 70 various chipsets (as of 2024). [9] Embedded Wizard is a selected solution by many semiconductor manufacturers for their chipsets. A complete list of all supported chipsets and operating systems can be found on http://www.embedded-wizard.de/platforms

Related Research Articles

An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop and NetBeans, do not.

<span class="mw-page-title-main">GNUstep</span> Open source widget toolkit and application development tools

GNUstep is a free software implementation of the Cocoa Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.

<span class="mw-page-title-main">Gambas</span> Integrated development environment

Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish, French, and Portuguese languages, from which the project's logos are derived.

Windows Embedded Compact, formerly Windows Embedded CE, Windows Powered and Windows CE, was an operating system developed by Microsoft for mobile and embedded devices. It was part of the Windows Embedded family and served as the foundation of several classes of devices including the Handheld PC, Pocket PC, Auto PC, Windows Mobile, Windows Phone 7 and others.

In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of application software.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.

VisualAge is a family of computer integrated development environments from IBM, which supports multiple programming languages. VisualAge was first released in October 1993 and was discontinued April 30, 2007 and its web page removed in September 2011. VisualAge was also marketed as VisualAge Smalltalk, and in 2005, Instantiations, Inc. acquired the worldwide rights to this product. IBM has stated that XL C/C++ is the followup product to VisualAge.

<span class="mw-page-title-main">Graphical user interface builder</span> Software development tool

A graphical user interface builder, also known as GUI designer or sometimes RAD IDE, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements using a drag-and-drop WYSIWYG editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in the source code, with no visual feedback until the program is run. Such tools are usually called the term RAD IDE.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

<span class="mw-page-title-main">Lazarus (software)</span> Free cross-platform integrated development environment for Free Pascal

Lazarus is a cross-platform, integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler. Its goal is to provide an easy-to-use development environment for developing with the Object Pascal language, which is as close as possible to Delphi. It is free and open-source software with different parts released under different software licenses.

<span class="mw-page-title-main">Visual Basic (classic)</span> Microsofts programming language based on BASIC and COM

Visual Basic (VB) before .NET, sometimes referred to as Classic Visual Basic, is a third-generation programming language, based on BASIC, and an integrated development environment (IDE), from Microsoft for Windows known for supporting rapid application development (RAD) of graphical user interface (GUI) applications, event-driven programming and both consumption and development of components via the Component Object Model (COM) technology.

Apple Dylan is the original implementation of the programming language Dylan. It was developed by Apple Computer from 1992 to 1995.

<span class="mw-page-title-main">Adobe AIR</span> Cross-platform runtime system for building rich web applications

Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.

The Softwell Maker is an environment development. Designer uses visual forms and reports (WYSIWYG), business rules, and visually representing other actions using flowcharts.

<span class="mw-page-title-main">Qt Creator</span> QT development environment

Qt Creator is a cross-platform C++, JavaScript, Python and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which encapsulates host OS GUI function calls. It includes a visual debugger and an integrated WYSIWYG GUI layout and forms designer. The editor has features such as syntax highlighting and autocompletion. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux. On Windows it can use MinGW or MSVC with the default install and can also use Microsoft Console Debugger when compiled from source code. Clang is also supported.

<span class="mw-page-title-main">Hollywood (programming language)</span> Programming language

Hollywood is a commercially distributed programming language developed by Andreas Falkenhahn which mainly focuses on the creation of multimedia-oriented applications. Hollywood is available for AmigaOS, MorphOS, WarpOS, AROS, Windows, macOS, Linux, Android, and iOS. Hollywood has an inbuilt cross compiler that can automatically save executables for all platforms supported by the software. The generated executables are completely stand-alone and do not have any external dependencies, so they can also be started from a USB flash drive. An optional add-on also allows users to compile projects into APK files.

<span class="mw-page-title-main">Fyne (software)</span> Graphical toolkit for building cross platform GUIs

Fyne is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs) across desktop and mobile platforms. It is designed to enable developers to build applications that run on multiple desktop and mobile platforms/versions from a single code base. Fyne uses OpenGL to provide cross-platform graphics. It is inspired by the principles of Material Design to create applications that look and behave consistently across all platforms. It is licensed under the terms of the 3-clause BSD License, supporting the creation of free and proprietary applications. In December 2019 Fyne became the most popular GUI toolkit for Go, by GitHub star count and in early February 2020 it was trending as #1 project in GitHub trending ranks.

References