HostJet

Host Emulator for CIGI‑Compliant Aircraft Simulation with Integrated User Interface

HostJet is a real-time host emulator designed for use with IG that support the Common Image Generator Interface (CIGI) v3.3 protocol. This emulator simulates a jet’s motion in local East‑North‑Up (ENU) coordinates and sends CIGI packets to an Image Generator (IG) at 60 Hz.

HostJet integrates a joystick to offer interactive and natural flight control. Movement is calculated using basic acceleration physics and converted to valid geospatial coordinates (latitude, longitude, altitude), ensuring full compatibility with visual systems.

The project features a fully functional user interface for configuring initial settings, monitoring joystick activity, mapping controls, simulating motion, and debugging packet transmission.

Overview

HostJet is a real-time host emulator designed for use with IG that support the Common Image Generator Interface (CIGI) v3.3 protocol. This emulator simulates a jet’s motion in ENU coordinates and sends CIGI packets to an Image Generator at 60 Hz.

Host Emulator UI Screenshot

Figure: HostJet User Interface

Features

User Interface

1. Initial Position Pre‑Setter

2. Live Joystick Status Monitor

3. Joystick Mapping Configuration

4. Motion Simulation Panel

5. Network & IG Control

6. CIGI Packet Preview / Debug

7. Logging & Diagnostics

Tech Stack

Tool / LibraryPurpose
C++17Core language for simulation and host logic
Boost.Asio (boost_1_81_0)Networking layer for CIGI UDP packet transmission
CIGI Class Library (CCL) v3.3Packet definition and IG communication (IG Control, Entity Control)
Windows Joystick API / DirectInputReal-time joystick input for heading, pitch, and roll control
Multithreading (std::thread)Runs joystick capture, SOF listening, and packet generation concurrently
Custom ENU-to-Geo ConverterConverts local movement in meters to lat/lon degrees
Math/Physics UtilitiesComputes acceleration-based motion and orientation updates

Starting Position

The jet starts at a local position that corresponds to a real-world location over Riyadh, Saudi Arabia, and simulates movement using acceleration vectors based on joystick input.

How to Run

Future Improvements

Author

Adeeb Alqahtani

Software Integration Engineer

theadeeb.com | LinkedIn