CODE nGEN Programmer’s Guide
Copyright
Contents
1:
In This Guide
About this Document
Who Should Read this Document
In this Document
Related Documents
Conventions Used
Notes, Tips and Warnings
2:
Understanding the Runtime Architecture
Viewing the Runtime Architecture
Standard Architecture
Graphics Server Architecture (ARINC 661)
RT Kernel
Porting Layer
Understanding the Managers
Understanding the Drawing Manager
Understanding the Fonts
Understanding the Font Table
Understanding Events
Understanding the RT (System) Event Manager
Understanding the State Machine
Viewing the Runtime Architecture Components
Viewing the nGEN Sources for Generic XT
Viewing the nGEN Sources for ARINC 661Support
3:
Using CODE nGEN
About CODE nGEN
Understanding the Configuration Files
Locating the Build Configuration File
Customizing the Build Configuration File
Using the Class and Implementation Files
Compiling Applications and nGEN Sources using cg_make
Compiling nGEN Sources with Visual Studio
Building a Stand-Alone Windows Executable
Building a Stand-Alone Executable for a Target Platform
4:
Using Main and Integration Modules
Developing a Main Module
Main Function
Building Integrations
API
C++ Callback Interface
C VAPS XT User Integration Interface
C Callback Interface
Call Flow
Linking Libraries
ARINC 661 Integration Module
5:
Porting to a Target Platform
Understanding Rehosting
Rehosting with the nGEN Sources
Building the Runtime Libraries for a Target Platform
Compiling the Runtime Libraries for a Target Platform
Porting an Application to a Target Platform
STEP 1: Planning
STEP 2: Preparing the Port
STEP 3: Modifying the CODE nGEN Build Configuration File
STEP 4: Developing Your Port
STEP 4.1: Defining the Basics
STEP 4.2: Configuring VAPS XT Features
STEP 4.3: Developing the Input Drivers
STEP 4.4: Porting the Utilities
STEP 4.5: Porting the Fonts
STEP 4.6: Porting the Third Party Libraries
STEP 4.7: Porting the Coded Objects
Resolving Errors
STEP 5: Testing Your Port
STEP 6: Testing Your Graphics Server
6:
Other Porting Issues
The Application Configuration File
Run Time Error Manager
Error Stack
Error Handler
Error severity
Disable text output
Define new error
Error Handler Interface
Error Manager API
Porting Memory Instrumentation
7:
The Graphics Server
Overview of the Graphics Server Architecture
Main & Integration Modules
Widget Library
VAPS XT A661 Runtime Kernel
VAPS XT Runtime Kernel
VAPS XT Porting Layer
Implementing a User Application
Receiving messages from the CDS
vHandleWidgetEvent
Sending messages to the CDS
Calculating the Size of a Command Block
Changing the Current Output Stream
UA Request Commands
Set Parameter Commands
Buffer Format Functions
Miscellaneous Functions
Connecting a User Application to the Graphics Server
Handling Runtime Commands
The A661 Manager
The Remote UA
Implementing UDP Streams
Sample User Application Code
Sample Graphics Server Code
Graphics Server C Interface
Miscellaneous
8:
The Porting Layer
Overview of the Porting Layer
Where the Porting Layer Fits in
Display Porting Layer
OS Porting Layer
Using Porting Layer Strings and Streams
Using vxtPLString and vxtPLWString to convert values to string
Using vxtPLTxtOStream to write to a buffer, the standard output or a text file
Implementing a Porting Layer Task Helper
Registration with the User Integration Interface
Working with the Task
Creating the Porting Layer Task Helper
Implementing a Porting Layer Device Manager
Finding Windows and Devices
Device Management
Implementing a Porting Layer Device
Device Operations
Window Management
Implementing a Porting Layer Window
Window Operations
Drawing Operations
Implementing a Graphic Layer
Primitives
Attributes
Linestyles
Patterns
Opacity
Gradient
Attribute Tables
Image, Raster Font, and Picture
Monochrome Tiles
General Attributes
Transformations
Advanced Stencil API
Miscellaneous
A:
Communicating Externally
Example: Create a GUI to Display Hardware Status