Virtual Terminal GUI Framework & Embedded Target Integration
Object-Oriented GUI-Based Development for ISO 11783 / ISOBUS Tractor Terminals
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.