SELENIS · Case Study OSB

Virtual Terminal GUI Framework & Embedded Target Integration

Object-Oriented GUI-Based Development for ISO 11783 / ISOBUS Tractor Terminals

Industry: Agricultural Technology / Embedded Systems  ·  Customer Context: OSB AG  ·  Role: Software Developer, C++ / Embedded GUI

1) Project Context

This project focused on the extension of an object-oriented VTServer / VTClient software system implementing the ISO 11783 Virtual Terminal concept. The software was used in tractors as a user terminal for controlling distributed embedded systems.

The task combined embedded target software, desktop GUI tooling, CAN-based communication, XML persistence, and a graphical editor for defining and testing Virtual Terminal masks.

In simple terms: the system allowed graphical operating masks for tractor terminals to be created, edited, stored, tested and transferred between a PC-based tool and embedded target hardware.

2) The Challenge

The existing VTServer / VTClient system had to be extended on several levels at the same time:

  • Support for embedded target hardware based on Infineon C167
  • Extension of the VTServer for a graphical VT GUI editor
  • Integration of new mask components and control elements
  • Synchronization between editor data models, tree views and graphical views
  • Target-specific rendering and interaction on the tractor terminal display
  • Testing and debugging on real embedded targets

3) Architectural Core Idea

The software followed an object-oriented Document/View architecture in C++. The GUI editor, data model, target representation and embedded communication logic had to remain synchronized while supporting different runtime environments.

Guiding principle: one structured model · multiple graphical views · target-specific execution.

4) Main Responsibilities

  • Extension of the VTServer for the embedded target platform Infineon C167
  • Extension of the VTServer for the VT GUI editor
  • Implementation of mechanisms for adding mask components and controls into the VTServer logic and view layer
  • Updating document components, VTServer view elements and wxWidgets-based GUI components
  • Adapting the VTServer using Tasking EDE to make the software executable on the target
  • Implementation of target-specific View Layer functionality including focus handling, activation and target interface access

5) GUI-Based Mask Development

A major part of the work was the further development of graphical Virtual Terminal mask tooling. The system supported editing, validation, navigation and persistence of complex mask structures.

  • Generic mechanisms for storing and loading VTClient mask controls in XML format
  • Interfaces for synchronizing selections between mask controls and new window components
  • Graphical components based on wxWidgets 2.6 – 2.8 for displaying and editing masks
  • Tree-Control windows for navigating between controls and multiple data masks
  • Property Grid control for displaying, entering and validating mask attributes
  • Menus and toolbars for load/save operations and import/export workflows

6) Embedded Target Integration

The project was not limited to desktop tooling. The graphical concepts had to be mapped to real embedded hardware.

  • Implementation of target interfaces accessing low-level hardware / BIOS primitives
  • Rendering of graphical elements on the target LCD display
  • Implementation of a target instance for monitoring I/O and system configuration
  • Porting of the product prototype to Windows OS for development and testing
  • Testing of the software using Lauterbach debugger

7) Communication & Test Support

To validate the GUI editor and the terminal behavior, VTClient components were also developed and used as a CAN Server for testing purposes. This allowed graphical mask behavior and communication workflows to be tested before or alongside deployment to the embedded target.

8) Technologies & Methods

  • C++, object-oriented design
  • Document/View architecture pattern
  • wxWidgets GUI framework
  • ISO 11783 / ISOBUS Virtual Terminal concepts
  • CAN communication
  • XML persistence for mask data
  • Infineon C167 embedded target platform
  • Tasking EDE, Lauterbach debugger

9) Engineering Outcome

  • Extended GUI-based toolchain for Virtual Terminal mask development
  • Improved editing, navigation, validation and persistence of graphical terminal masks
  • Integrated target-specific rendering and interaction logic
  • Supported development and testing across PC-based tooling and embedded target hardware
  • Strengthened the bridge between graphical application development and embedded machine control
This project connected desktop GUI engineering with embedded target integration — a combination that became a recurring theme throughout my later work in industrial, automotive and embedded software architecture.