Start of trail End of trail navigation bar

Table of Contents

CEAL CIGI Host

Sends position and orientation commands for the Ownship and Entity, requests for Height Above Terrain (HAT)/ Height Of Terrain (HOT), and generic data for Short Component Control to the CEAL Common Image Generator Interface (CIGI) Image Generator (IG).

Library

QUARC Applications/CEAL/User Interface/CIGI

MATLAB Command Line

Click to copy the following command line to the clipboard. Then paste it in the MATLAB Command Window:

qc_open_library('quarc_library_applications/CEAL/User Interface/CIGI')

Description

CEAL CIGI Host

The CEAL CIGI Host block sends position and orientation commands for the Ownship and Entity, requests for HAT/HOT, and generic data for Short Component Control to the CEAL CIGI-compatible Image Generator (IG). It outputs the frame count, the period between two responses, the data rate, and the HAT/HOT responses from IG.

This block implements a subset of the Common Image Generator Interface (CIGI) framework and uses the UDP protocol to communicate with the IG.

Installation Requirements

QUARC Target Configuration

Install The CIGI IG application typically runs on a remote system, whose IP address is entered on the CEAL CIGI Host block dialog as one of its parameters.

Input Ports

ownship

A 6-element double vector representing the position (in meters) and orientation (in degrees) for the ownship entity. The 6 elements are, in order, x, y, z, roll, pitch, yaw.

entity enable

This port appears when the Number of Moving Entities is set to non-zero. The width of the port must be the same size as the Number of Moving Entities, each element of the port indicates whether the particular entity is active or not.

entity position

This port appears when the Number of Moving Entities is set to non-zero. The width of the port must be the same size as the Number of Moving Entities multiplied by 6. Every 6 elements represent the x, y, z, roll, pitch, yaw of each Entity object. If the entity enable of the particular entity is 0, then the entity position of that entity is ignored.

HAT/HOT position

This port appears when the Number of HAT/HOT Requests is set to non-zero. The width of the port must be the same size as the Number of HAT/HOT Requests multiplied by 3. Every 3 elements represent the x, y, z offset from the ownship entity.

short component control

This port appears when the Number of Short Component Controls is set to non-zero. The width of the port must be the same size as the Number of Short Component Controls multiplied by 6. Every 6 elements represent the component id, instance id, component class, component state, and two int32 generic component data of each component to be controlled.

Output Ports

frame count

A int32 value representing the frame count of the CIGI IG. The frame count indicates the timestamp of the current CIGI communication data message from the CIGI host (e.g., motion system controller). As long as the frame count value is incremented, the CIGI host and CIGI IG are communicating.

period

A double value representing the time difference (in seconds) between receiving 2 Start-Of-Frame (SOF) packets from the IG system.

data rate

A double value representing the communication data rate to the IG system, expressed in bytes per second (i.e., B/s or Bps). This corresponds to the total number of bytes that are received and sent over one period.

HAT/HOT valid

This port appears when the Number of HAT/HOT Requests is set to non-zero. A vector of uint32 values with width equals to the Number of Short Component Controls, representing whether the HAT and HOT of ownship entity is valid or not.

HAT/HOT

This port appears when the Number of HAT/HOT Requests is set to non-zero. A vector of double values with width equals to the Number of Short Component Controls multiplied by 2, representing the HAT and HOT of ownship entity.

Parameters and Dialog Box

Required Pane

The Required pane of the dialog appears as follows:

CEAL CIGI Host Required tab

The Required tab contains the core settings for the communication to the IG.

Thread Priority (tunable offline)

The priority of the separate client thread used to communicate with the IG application. In general, a value of 0 indicates the lowest priority and higher values indicate a higher priority. The number of priority levels available depends on the type of QUARC target for which code is being generated.

IG Address

The IG IP address.

IG Port Number (tunable offline)

The UDP port number to use to communicate with the IG.

Host Port Number (tunable offline)

The UDP port number for the CIGI host system.

Optional Pane

The Optional pane of the dialog appears as follows:

CEAL CIGI Host Optional tab

The Optional tab contains the optional settings for the communication to the IG, which include extra messages that can be communicated to the IG.

Number of Moving Entities

Allow setting a maximum of 6 moving entities' position (x, y, z) and orientation (roll, pitch, yaw).

Number of HAT/HOT Requests

Allow requesting a maximum of 4 points' HAT/HOT, where the points are defined by the x, y, z offsets from ownship entity.

Number of Short Component Controls

Allow setting a maximum of 6 componenets' data (component id, instance id, component class, component state, and two int32 generic component data) via short component controls messages.

Targets

Target Name

Compatible*

Model Referencing

Comments

QUARC Win32 Target

Yes

Yes

QUARC Win64 Target

Yes

Yes

QUARC Linux Nvidia Target

Yes

Yes

QUARC Linux QBot Platform Target

Yes

Yes

QUARC Linux QCar 2 Target

Yes

Yes

QUARC Linux QDrone 2 Target

Yes

Yes

QUARC Linux Raspberry Pi 3 Target

Yes

Yes

QUARC Linux Raspberry Pi 4 Target

Yes

Yes

QUARC Linux RT ARMv7 Target

Yes

Yes

QUARC Linux x64 Target

Yes

Yes

QUARC Linux DuoVero Target

Yes

Yes

QUARC Linux DuoVero 2016 Target

Yes

Yes

QUARC Linux Verdex Target

Yes

Yes

QUARC QNX x86 Target

Yes

Yes

Last fully supported in QUARC 2018.

Rapid Simulation (RSIM) Target

Yes

Yes

S-Function Target

No

N/A

Old technology. Use model referencing instead.

Normal simulation

Yes

Yes

* Compatible means that the block can be compiled for the target.

 

navigation bar