ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color...

298
NASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler Richard W. Dickson Computer Sciences Corporation Hampton, Virginia Prepared For Langley Research Center under Contract NAS1-19038 January 1992 (NASA-CR-189603) AOVANCED TRANSPORT OPERATING SYSTEM (ATOPS) COLOR DISPLAYS SOFTWARE DESCRIPTION: MICROVAX SYSTEM (Computer Sciences Corp.) 266 p CSCL OlD G3/06 Nq2-22395 Unclas 0085166 N/LRA National Aeronautics and Space Administration Langley Research Center Hampton, Virginia 23665-5225

Transcript of ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color...

Page 1: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

NASA Contractor Report 189603

Advanced Transport Operating System (ATOPS)Color Displays Software DescriptionMicroVAX System

Christopher J. SlominskiValerie E. PlylerRichard W. Dickson

Computer Sciences CorporationHampton, Virginia

Prepared ForLangley Research Centerunder Contract NAS1-19038January 1992

(NASA-CR-189603) AOVANCED TRANSPORT

OPERATING SYSTEM (ATOPS) COLOR DISPLAYSSOFTWARE DESCRIPTION: MICROVAX SYSTEM

(Computer Sciences Corp.) 266 p CSCL OlDG3/06

Nq2-22395

Unclas

0085166

N/LRANational Aeronautics and

Space Administration

Langley Research Center

Hampton, Virginia 23665-5225

Page 2: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 3: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-i-

TABLE OF CONTENTS

1.0 INTRODUCTION ................................... 5

2.0

2.1

2.1

2.2

2.3

2.4

2.5

2.5

2.5

SYSTEM OVERVIEW ................................ 7

PROCESSESANDEXECUTABLEI_GES ................9.i I_GE J MOD_L_SUMMARY.......................11

GLOBAL SECTIONS 17INSPECTING GLOBAL'_i_iifi{fi_'_i_fl'_ifi_''iiii::iill19STARTINGANDSTOPPINGVAXDISPLAYSOFTWARE.....21CONDITIONHANDLING.............................23

.I TOPMS CONDITION HANDLER ...................... 25

.2 EXCEPTION LOG FILES .......................... 27

3.0 I/O COMMUNICATIONS ............................. 29

DSPHDL ....................................... 30

DOUTIO ....................................... 35

DISFIL ....................................... 36

4.0

5.0

EXECUTIVE SOFTWARE ............................. 37

DSPFST ....................................... 38

DP LOAD ..................................... 40

DSPSLW ....................................... 42

PRN AST ..................................... 44

LOG AST ..................................... 45

DATA RECORDING ................................. 47

DDASOT.......................................48DDSTAR.......................................SOcHECK .......................................s3DASDUMP ..................................... 54

DASPRC ...................................... ssGITEM ....................................... 56

NSNAP ....................................... 57OLDSNAP..................................... s8SNAPDEL..................................... s9SNAPDUMP.................................... 6oS_APMOD..................................... 61SNPRC___.................................... 62SYMSEARCH.................................. 63

UCASE ....................................... 65

DISDAT ....................................... 66

DSNAP ........................................ 68

SNAPOUT ...................................... 70

6.0

6.1

NASA PFD SOFTWARE .............................. 71

NASA PFD PROCEDURES ............................ 77

AIRGAM ....................................... 78

STAND OFF ................................... 80

CASMGR ....................................... 81

Page 4: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

7.07.17.2

7.3

GUIDE ........................................ 82SCLXTK ...................................... 84

MSGMGR 85PACK ......................................... 88PFD_NASA ..................................... 90

ALT_CNVRT ................................... 93RWYMGR ....................................... 94

SCREEN ...................................... i01SBXMGR ....................................... 102STAR ......................................... 103LIMITS ...................................... 105

UNPACK ....................................... 106WINDOW ....................................... 108

NAV DISPLAY SOFTWARE ........................... 109THE NAV BACKGROUNDBUFFER ...................... 115NAY BACKGROUNDUTILITIES ....................... 131

NAV_TEXT ..................................... 132NAV SYMBOL ................................... 133BEG SEGNAY LINENAV ARCNAY WPTNAV LABELEND SEG

...................................... 135..................................... 136

...................................... 137

...................................... 138.................................... 139

...................................... 140

NAY BACKGROUNDPROCEDURES ...................... 141BOUNDS ....................................... 142

AREAS ....................................... 143NEARPT ...................................... 144

MAP_AIRWAY ................................... 145GET XY ...................................... 146NAME SIZE ................................... 147

m

NAVS LW

NAVUPD

BUSFMT

OPTION

AIRPRT

ARP SMB

NAVAI D

NAVSMB

RAD IAL

RUNWAY

STRIPS

PATHS

PLAN

LEG

DMA

TURN

WPTXT

TEXT

....................................... 148

...................................... 150

• .--..--...-....-..................... 151

....................................... 152

...................................... 154

...................................... 155

....................................... 156

...................................... 157

...................................... 158

...................................... 160

• --..-................................ 161

........................................ 163

• .--....-...-........................... 164

• ....----..-............................. 165

• ---.....-............................... 166

• ....................................... 167

....................................... 168

• -..-.................................... 169

Page 5: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-3-

7.4

8.08.1

9.0

i0.0

ii.0ii.i

II .2

11.311.4

NAV REAL-TIME PROCEDURES ....................... 171NAVEXC ....................................... 172

SELTRK ...................................... 174NAVMLS ...................................... 176TRENDV ...................................... 177RNGARC ...................................... 178TBOX ........................................ 179ROTATE ...................................... 180

PTHPOS ....................................... 181TIMPOS ...................................... 183LINE ........................................ 185TURN ........................................ 186PASSBY ...................................... 187INBRG ....................................... 188PTHLEG ...................................... 189

FMTBZL ....................................... 190

ENGINE DISPLAY SOFTWARE ........................ 193ENGINE PROCEDURES .............................. 197

ENGEXC ....................................... 198EPR F1 ...................................... 201EPR F2 ...................................... 202

FFPRC ........................................ 203FTEST ........................................ 205

SYSTEMWARNINGDISPLAY SOFTWARE ................ 207SYSEXC ....................................... 208

SPERRYPFD DISPLAY SOFTWARE .................... 211PFDEXC ....................................... 212

TAKEOFFPERFORMANCEMONITORING SYSTEM (TOPMS) ..PRETAKEOFFBACKGROUNDSOFTWARE

ACTRIMAEROCATMOSENGINELNGFMPOLYFT

SIMEQAPRETKFTHROTS

215................. 221

....................................... 223• .....---.-............................. 224........................................ 225

....................................... 226• .......-............................... 227

....................................... 228...................................... 229

• .-..-.-............................... 230....................................... 231

TOPMSREAL-TIME SOFTWARE ....................... 233FILL ......................................... 235TOPEXC ....................................... 237APLANE ...................................... 240

TOPMSOBJECT LIBRARY (TOPMS.OLB) ............... 241TOPMSSIMULATION ............................... 259

Page 6: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-4-

Appendices

A - I/O BUFFER USAGE ................................. 263B - VIEW COMMANDENTRIES ............................. 279C - CREATING THE EXECUTABLEIMAGES ................... 285D - GENERALUTILITIES ................................ 287E - DISPLAY FORMATFREEZE ............................ 291

List of Figures

2.16.16.26.37.17.27.37.48.1ii.iII .2Ii .3D.I

VIEW DISPLAY FORMAT ............................ 20PRIMARY FLIGHT DISPLAY FORMAT .................. 75RUNWAYCOORDINATETRUNCATION ................... 97RUNWAYCOORDINATEPOINTS ....................... 99NAVIGATION DISPLAY FORMAT (MAP MODE) ........... iiiNAVIGATION DISPLAY FORMAT (PLAN MODE) .......... 113SAMPLEBACKGROUNDFLIGHT PLAN ._ ................ 119BACKGROUNDBUFFER DATA FORMAT .................. 121ENGINE DISPLAY FORMAT .......................... 195TOPMSDISPLAY FORMAT (TAKEOFFMODE) ............ 217TOPMSDISPLAY FORMAT(ABORTMODE) .............. 219"ENABLE" WORD (TOPMS) .......................... 261"GREAT CIRCLE" ARC POSITION CALCULATION ........ 289

Page 7: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-5-

Section 1.0 INTRODUCTION

This document describes the software created for thedisplay MicroVAX computer used on the Advanced TransportOperating System (ATOPS) project at the Langley ResearchCenter. The software was developed by Computer SciencesCorporation (CSC) for NASA under contract NASI-19038. Thisdocument targets the software delivery of February 27, 1991as a baseline system. Since a few items have been acceptedfor the next delivery, they will also be included in thisdocument and noted as such.

The display MicroVAX computer is the host to the Sperrymicroprocessor display system. The software residing inthat system is addressed by another document entitled:

Advanced Transport Operating System

COLORDISPLAY SOFTWAREDOCUMENTATION

Microprocessor System

The display host computer works in tandem with anotherMicroVAX computer, referred to as the Flight Management andFlight Controls computer (FM/FC). The document

FLIGHT MANAGEMENT/ FLIGHT CONTROLS

SOFTWARE DOCUMENTATION

should be referenced for information about FM/FC software.

Throughout this document, descriptions of software

modules are presented in a standardized format. The basic

template is shown on the next page. At the top of the form

is a header block containing miscellaneous information about

the module. Next appears a one or two sentence synopsis

used as a quick reference stating the purpose of the module.

A detailed description follows which may be a small para-

graph to several pages in length. Global symbol referencesare listed next. These are the subroutines and common

variables referenced by the particular module. Note that

passed parameter variables are not shown here. Passed

parameters are provided in the CALLING SEQUENCE portion ofthe header information block. When an asterisk is appended

to the name of a data variable listed in the gloabl

reference section it denotes a memory location modified by

the module.

Page 8: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

6

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

VARIABLESe.o,,eo oeeeeo. .oeeeoe

ARRAY S

oQee..,

FUNCTIONS AND SUBROUTINES

e.eeeeee iooee,oe .eeoeoe.

Page 9: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-7-

Section 2.0 SYSTEM OVERVIEW

The various sub-sections of the system overview briefly

describe the overall configuration of the displays host soft-

ware on the MicroVAX flight computer. The reader should be

familiar with the VAX/VMS operating system. Several important

key words are listed below. Detailed information about these

concepts is provided by the VAX/VMS reference manuals. In

particular "Introduction to VMS" and "Guide to Using VMS" are

good places to start.

DEC command language (DCL)command files

processes

images

process priorities

global sections

exceptional conditions / condition signalingcondition handlers

Page 10: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 11: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-9-

Section 2.1 PROCESSESAND EXECUTABLEIMAGES

There are six executable images associated with thedisplays host software. Three of them are utility programsand three are displays applications programs. Their namesare given below with a brief description of their purposes.

DDSTARSECTIONVIEW

(utilities)manipulate data recording tablesinstall and remove global sectionsmonitor global variables

DSPFSTDSPSLWDSPHDL

(displays applications)perform displays real-time calculationsperform displays background processingperform system functions (timing, interrupts, I/O)

The environment created for the displays executable imagesconsists of four VAX processes. They are the initial processcreated from the user login and three spawned sub-processes.The utility programs run in the context of the login process.Any one of the three may be activated from the terminal withthe RUN command. The other three images remain activecontinuously under the context of their own sub-process.Since the displays applications images are always active, theVMS priority system determines how often the images actuallyexecute. DSPHDL and DSPFST are assigned priorities withinthe VMS real-time range, 19 and 18 respectively. DSPSLWuses the default round-robin priority of 4.

The three displays applications images each have a welldefined set of responsibilities. The remaining pages of thissection list the computations performed by DSPFST, DSPSLW,and DSPHDL. The names of modules which make up each imageare also included.

PRECED_i'GG PAGE BLAJ"_K NOT FILMED

Page 12: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 13: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-II-

Section 2.1.1 IMAGE / MODULE SUMMARY

EXECUTABLE IMAGE: DSPFST

DSPFST is the displays real-time applications program.

The computations performed are repeated once every 50 milli-

seconds (20 times per second). Its major function is the

generation of real-time display data for the Sperry micro-

processor color display system. This includes the data for

all microprocessor formats, except the information created

for the navigation displays map background. Other functions

include the formatting of variables for data recording and

the processing of inputs received from the microprocessor

system. The following is a list of program modules which

comprise DSPFST.

MODULE FILE PURPOSE

DSPFST

DP LOAD

MAPTBL

DDASOT

DSNAP

DUMPS

PROJECT

PFDEXC

SYSEXC

NAVEXC

SELTRK

NAVMLS

TRENDV

RNGARC

TBOX

ROTATE

PTHPOS

TIMPOS

LINE

TURN

PASSBY

INBRG

PTHLEG

FMTBZL

PFD NASA

ALT CNVRT

AIRGAM

STAND OFF

WINDOW

STAR

LIMITS

RWYMGR

SCREEN

DSPFST.FOR

DSPFST.FOR

MAPTBL.MAR

DDASOT.MAR

DSNAP.FOR

DSNAP.FOR

PROJECT.FOR

PFDEXC.FOR

SYSEXC.FOR

NAVEXC.FOR

NAVEXC.FOR

NAVEXC.FOR

NAVEXC.FOR

NAVEXC.FOR

NAVEXC.FOR

NAVEXC.FOR

PTHPOS.FOR

PTHPOS.FOR

PTHPOS.FOR

PTHPOS.FOR

PTHPOS.FOR

PTHPOS.FOR

PTHPOS.FOR

FMTBZL.FOR

Executive module

microprocessor identification

global section mapping tables

data recording

variable snapshots

variable snapshots

time-box positioning

Sperry PFD format

system warning format

navigation format: main

NAV: selected track

NAY: MLS airplane

NAV: trend vector

NAV: altitude range arc

NAY: time-box

NAV: coordinate rotations

NAV: time-box

NAY: time-box

NAY: time-box

NAY: time-box

NAV: time-box

NAV: time-box

NAV: time-box

NAY: bezel panel interface

PFD NASA.FOR Primary flight format: main

PFD--NASA.FOR PFD: altitude scalingm

AIRGAM.FOR

AIRGAM.FOR

WINDOW.FOR

STAR.FOR

STAR.FOR

RWYMGR.FOR

RWYMGR.FOR

PFD: aircraft/gamma symbols

PFD: standoff symbols

PFD: inner window symbols

PFD: waypoint star

PFD: waypoint star

PFD: perspective runway

PFD: perspective runway

PRECEDING PAGE BLANK NOT FILMED

Page 14: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-12-

PFDPK

CASMGR

MSGMGR

GUIDE

SCLXTK

ENGEXC

EPR F1

EPR F2

FFPRC

FTEST

TOPEXC

APLANE

SIMTOP

STPDIS

STPREF

FNSERV

FILL

ASPDCO

EPRF

FINTER

RWYPRD

THCORF

XLIM

ANGL

ASSIGN

GET

GRID

LOCK

MAPCOM

MXV

POLAR

POSBTS

C HDL

REPORT

REPORT CHECK

SHOW TTm

UVC

SCOS

VCP

VDP

VMG

XYZ

BCDTIM

EXCEPTIONS

PFDPK.MAR

CASMGR.FOR

MSGMGR.FOR

GUIDE.FOR

GUIDE.FOR

ENGEXC.FOR

ENGEXC.FOR

ENGEXC.FOR

FFPRC.FOR

FTEST.FOR

TOPEXC.FOR

TOPEXC.FOR

TOPEXC.FOR

STPDIS.FOR

STPDIS.FOR

STPDIS.FOR

FILL.FOR

TOPMS.OLB

TOPMS.OLB

TOPMS.OLB

TOPMS.OLB

TOPMS.OLB

TOPMS.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

UTIL.OLB

PFD: binary packing

PFD: airspeed

PFD: warning messages

PFD: mode control panel interface

PFD: mode control scaling

Engine format: main

ENG: EPR limits

ENG: EPR limits

ENG: fuel flow

ENG: lab simulation

TOPMS format: main

TOP: aircraft dynamics

TOP: simulation

TOP: stopping distance

TOP: stopping distance

TOP: servo response

TOP: I/O memory formatting

TOP: airspeed conversion

TOP: EPR

TOP: throttle positioning

TOP: runway distance

TOP: thrust

TOP: value limiting

angular adjustment

logical names

Fortran address pointers

map coordinates

memory residency

global section mapping

matrix, vector product

X, Y, Z to polar coordinates

map clipping

condition handling

condition handling

condition handling

condition handling

unit vector

sine/cosine

vector cross product

vector dot product

vector magnitude

polar to X, Y, Z coordinates

decode system time

exception messages

Page 15: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-13-

EXECUTABLEIMAGE: DSPSLW

DSPSLWis the displays background processing program.It executes in the spare time remaining after DSPHDL andDSPFST have completed their real-time tasks in the 50 milli-second frame. Each time DSPSLWcompletes its tasks it loopsback to start again, like the real-time images. However thereis no time constraint governing how fast it must complete oneiteration of its computations. Its major function is thecreation of the display data for the navigation format mapbackground. Other functions include the TOPMSpretakeoffcalculations and the PFD status announcements. The followingis a list of the program modules which comprise DSPSLW.

MODULE FILE PURPOSE

DSPSLWPRN ASTLOG ASTSNAPOUTSBXMGRMAPTBLNAVSLWNAVUPDBUSFMTOPTIONAIRPRTARPSMBRUNWAYSTRIPSNAVAI DNAVSMBRADIALPATHSPLANLEGDMATURNWPTXTBOUNDSAREASNEARPTTEXTSTORENAV UTLPROJECTMAP AIRWAYGET XYNAME SIZEPRETKF

DSPSLW.FORDSPSLW.FORDSPSLW.FOR_SNAPOUT.FORSBXMGR.FORMAPTBL.MARNAVSLW.FORNAVSLW.FORNAVSLW.FOROPTION.FOROPTION.FOROPTION.FOROPTION.FOROPTION.FOROPTION.FOROPTION.FOROPTION.FORPATHS.FORPATHS.FORPATHS.FORPATHS.FORPATHS.FORPATHS.FORBOUNDS.FORBOUNDS.FORBOUNDS.FORTEXT.FORTEXT.FORNAV UTL.MARPROJECT.FOR

executive moduleprinter completion ASTdata log completion ASTdata snap-shotsPFD status messagesglobal section mappingmap background executivemap background processingmap background processingmap symbologymap airportsmap airportsmap runwaysmap longitudinal stripsmap navaidsmap navaidsmap radialsmap flight planmap flight planmap flight planmap flight planmap flight planmap flight planmap boundary areasmap boundary areasmap boundary areasmap info linesmap info linesmap background data formattingmap position computations

MAP AIRWAY.FOR map airwaysMAP--AIRWAY.FORmap airwaysMAP AIRWAY.FOR map airwaysPRETKF.FOR TOPMSpretakeoff main

Page 16: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-14-

TOP HDL PRETKF.FORADBW2 TOPMS.OLBATMOS TOPMS.OLBASPDCO TOPMS.OLBOLIMIT TOPMS.OLBONED TOPMS.OLBSEARCH TOPMS.OLBRATE TOPMS.OLBTHCORF TOPMS.OLBXLIM TOPMS.OLBDZONE TOPMS.OLBTHSRVO TOPMS.OLBRWYPRD TOPMS.OLBFINTER TOPMS.OLBEPRF TOPMS.OLBTHROTS THROTS.FORAEROC AEROC.FORENGINE ENGTKF.FORPOLYFT POLYFT.FORSIMEQA POLYFT.FORLNGFM LNG2D.FORSTPDIS STPDIS.FORSTPREF STPDIS.FORFNSERV STPDIS.FORACTRIM ACTRIM.FORANGL UTIL.OLBASSIGN UTIL.OLBCLIP UTIL.OLBPOSBTS UTIL.OLBFMTTIM UTIL.OLBGET UTIL.OLBGET CHAR UTIL.OLBGRID UTIL.OLBLOCK UTIL.OLBMAPCOM UTIL.OLBOTSSFLOAT UTIL.OLBPOLAR UTIL.OLBC HDL UTIL.OLBREPORT UTIL.OLBREPORTCHECK UTIL.OLBSHOWTT UTIL.OLBSCOS UTIL.OLBUVC UTIL.OLBBCDTIM UTIL.OLBEXCEPTIONS UTIL.OLB

TOPMScondition handlerTOPMSintegrationTOPMSatmospheric parametersTOPMSairspeed conversionTOPMSopen-end limiting

TOPMS interpolation

TOPMS table search

TOPMS rate limiting

TOPMS thrust

TOPMS value limitingTOPMS dead zone

TOPMS throttle response

TOPMS runway distance

TOPMS throttle positionTOPMS EPR

TOPMS throttle setting

TOPMS aircraft lift/drag

TOPMS engine model

TOPMS curve fitting

TOPMS solving equations

TOPMS longitudinal axis moments

TOPMS stopping distance

TOPMS stopping distance

TOPMS servo response

TOPMS aircraft trimming

angle limiting

logical assignment

map clipping

map clipping

time formatting

Fortran pointer data

Fortran pointer data

map projections

memory residency

global section mapping

data formatting

X, Y, Z to polar coordinates

condition handling

condition handling

condition handling

condition handling

sine/cosine

unit vector

system time conversion

exception messages

Page 17: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-15-

EXECUTABLEIMAGE: DSPHDL

DSPHDL is the displays executive program. It runs ata priority higher than the other images, therefore it hasthe ability to execute immediately whenever it needs to.DSPHDL sits idle waiting for clock interrupts which occurevery ten milliseconds. A set of five interrupts make upone complete 50 millisecond real-time frame. The majorfunctions for DSPHDL are performing system I/O and signalingthe real-time applications program (DSPFST) when to restarta new 50 millisecond frame. It also scales and formats I/Odata to the proper engineering units. The following is alist of the program modules which comprise DSPHDL.

MODULE FILE PURPOSE

DSPHDLDISFILDOUTIOHDL MESGMAPTBLASSIGNLOCKMAPCOMC HDLREPORTREPORTCHECKUTIL.OLBSHOWTT UTIL.OLBBCDTIM UTIL.OLBEXCEPTIONS UTIL.OLB

DSPHDL.MAR timing, DMA I/O, interruptsDISFIL.MAR input formattingDOUTIO.MAR output formattingHDL MESG.MARerror messagesMAPTBL.MAR global section mapping tableUTIL.OLB logical unit assignmentUTIL.OLB memory residencyUTIL.OLB global section mappingUTIL.OLB condition handlingUTIL.OLB condition handling

condition handlingcondition handlingsystem time conversionexception messages

Page 18: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 19: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-17-

Section 2.2 GLOBAL SECTIONS

Global data variables are shared within the softwaresystem through global sections. Global sections are thefastest way a multiple process software configuration canshare data values.

Global sections are areas of physical memory which aremapped into the virtual address space of several activeimages. In the display flight software each global sectionconsists of one relocatable program section following thestandard definition of the VAX Fortran common block. Thedisplays host software uses ten global sections. All buttwo, AADCOMand DISDAT, are defined as Fortran include fileswhich contain one common block definition. The include filesare needed to provide the global section templates to theFortran compiler when compiling the Fortran modules whichmake up most of the displays host software. The other twoglobal sections are macro assembly language files which areassembled directly to produce an object file containing globalsymbol definitions for all common variables. The followingis a list of the global sections with a note on the type ofmemory allocations contained within each.

AADCOMBIUCOMDISDATDISNAVDLNCOMDSPCOMDSRCOMDTCCOMINPCOMTOPCOM

navigation data baseI/O memory for SPERRYmicroprocessorsdefault recording listinput data from FM/FC MicroVAXdata link informationgeneral displays variablesdata recordingI/O memory for aircraft DATAC busformatted DATAC variablesTOPMSvariables

Object files are created for each of the Fortran includefiles by the VAX utility program BLKMAC. The Fortran compileris not used for this since the object modules it creates donot define the individual variables of the common block asglobal symbols. The global symbol definitions are necessaryto allow VAX macro assembly language modules efficient accessto global section variables. The file COMMON.FORexists solelyfor BLKMAC. This file is a Fortran "Block Data" module whichincludes each of the global section template files and alsocontains initialization statements for some of the globalsection variables. BLKMACreads this file and creates anobject file for each common block referenced within.

PRECEDING PAGE BLA:,_K NOT FILMED

Page 20: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-18-

The object files created by BLKMAC are linked into

the program SECTION which is used to create global sections.SECTION is an interactive program that allows the user to

create, refresh, or delete the global sections. Global

sections must be created in memory before any of the display

flight software is started. Note that SECTION will issue

a warning when attempting to delete global sections which

are currently in use by applications software. The user may

choose to proceed with or abort the deletion. If the delete

is not aborted the VAX/VMS operating system removes the

sections from its global section table but does not free the

physical memory until the last image mapped to the sections

has exited. This in effect changes the global sections to

private sections.

Executable images gain access to the global sections

through a call to the utility library module MAPCOM on start-

up. MAPCOM grants read or read/write access to the various

global sections depending on predefined access privilegesencoded in the file MAPTBL.MAR. The utility program GLOBAL

is used to define the access privileges for each process.

GLOBAL creates the ".OPT" files and MAPTBL.MAR used in

linking each executable image.

Page 21: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-19-

Section 2.3 INSPECTING GLOBALVARIABLES WITH VIEW

The program VIEW is used to examine and modify variablesin the VAX global sections defined for flight software. To usethis utility the global sections must have been installedpreviously using the utility SECTION. The VIEW display screencontains two header lines and twenty lines for the placementof variables (see the diagram on the next page). The firstheader line contains the version number of VIEW, the flightsystem identifier to which VIEW was linked, and the date ofthe flight system generation. The second header line showswhich of the four available display pages is currently beingshown. The display lines each have the line number on theleft side of the display. When variables are placed on thedisplay line three additional fields are shown after theline number. First the format code for the variable isshown. This tells how many bytes of data comprise theselected variable, and how the binary value is interpreted.Next on the line is the value of the variable. The lastpart of the display line is the descriptive label used toidentify what variable was placed on the line.

To start the program enter RUN VIEW on an account containinga flight system. VIEW immediately prompts for a password. Thepassword is used to determine the read/write privilege thatVIEW grants to the various global sections. VIEW maintainsdefault privileges for users with no password. The defaultentry into VIEW is gained by simply entering a carriage returnto the password prompt. The person responsible for the flightsystem build selects the access to each global section for boththe default and password users. Refer to appendix B forinformation on the VIEW commands.

Page 22: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-20-

VIEW [V5.1]: TDWR DISPLAYS 12-MAR-1991

Page 11 1.2 0 TOPMS

2 H.2 0020 ENABLE3

4 F.4 -13.1027 ROLL

5

67

8

9

I0

II

1213

14

15

16

17

18

19

20

->ARRAY(16)/F=F.8/R=2/L=6

- FIGURE 2.1 -

Page 23: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-21-

Section 2.4 STARTING AND STOPPING VAX DISPLAY SOFTWARE

There are eleven files needed for a complete displays

host software system. These include the six executable

images described in section 2.1 and the following five files

used to manage the execution of the system.

RUN.COM

This command procedure is used to start the displays host

software. First it checks if an old set of log files are

open (see section 2.5) and closes them if necessary. The

utility program section is automatically run next to allow

the user to install or refresh the global sections. Finally

the sub-processes are spawned and exception log files opened

by calls to GO.COM. Note that the executable image forDSPFST is run twice in RUN.COM. The first time it is run

the sub-process is spawned in total control of the user

terminal with the parent process placed in a wait state.

This must be done to allow an interactive I/O session to

confirm system configuration. DSPFST then exits and returns

control to the parent process. The second time DSPFST is

spawned it is made a joint process allowing the parent

process to continue with control of the interactive terminal.

GO.COM

This command procedure opens the process exception log

file and starts the executable image. It is called once

for each of the three display software processes.

HALT.COM

This command procedure is used to properly terminate

the VAX display software. The first thing it does is close

the exception log files and delete all but the latest three

versions of each. Since the log files are process permanent

files, the logical end-of-file mark is forced to the physical

end-of-file. All three sub-processes are terminated with

the DCL STOP command. Finally the user is given the

opportunity to select automatic removal of the installed

global sections.

GBLNAME.DAT

This information file is used by the utility program

SECTION as a reference to the names of all defined global

sections. This file is also used when creating the software

system. Refer to appendix C for its role in the systembuild.

Page 24: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-22-

SHOWLOG.COM--This command procedure is used to review the current

exception log files while the system is active. Section2.5 (condition handling) has complete information on thelog files.

Once logged into an account containing the afore-mentioned files the user may start the displays software byentering "@RUN" at the console terminal. The user isimmediately prompted by SECTION to choose between installingthe global sections or refreshing a previously installed setof global sections. When this is complete a table iden-tifying the current microprocessor configuration is printedto the screen. This table is generated from informationreceived from the display system. The user must review theformat assignments to make sure the display system hasdetermined correctly in which processors the various formatsare loaded. If the information shown does not depict thedesired display format configuration the user is given theopportunity to correct the problem and try again. Once allthe user interaction is complete the remaining processes arespawned. Finally the utility program DDSTARis automatic-ally run to initialize the default data recording list. Atthis point the standard DCL "$" prompt is issued and theconsole terminal may be used for DCL commands and runningutility programs while the display host software executes.

Page 25: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-23-

Section 2.5 CONDITION HANDLING

Numerous types of exceptional conditions may occur ona VAX/VMS system. These can be both hardware and softwarefaults or traps which occur when the system detects aprogramming error. Without outside intervention the VMSoperating system takes predefined actions through thedefault system condition handler. User defined conditionhandlers may be defined "further up the stack" to interceptexceptions before they reach the system condition handler.The displays software has defined a condition handler toperform special operations for several commonly occurringexceptions.

The system operator is notified of the occurrence ofexceptions in several ways. Each process has an exceptioncounter defined in one of the global sections (HDL ERR,FST ERR, SLW ERR). These variables contain the totalnumber of exceptions that have occurred in each processsince the system was started. The utility program VIEW canbe used to monitor the counters. For most exceptions anexplicit notification is given at the time it occurs. Thenotification consists of a brief message sent to the systemconsole terminal and a detailed description of the exceptionplaced in the process's log file (DSPFST.LOG, DSPHDL.LOG,DSPSLW.LOG). To eliminate unnecessary I/O the terminal andlog file notification will only be made once every fifteenseconds for a repeated exception. A repeated exception musthave both the same error code and originate from the samemachine instruction.

The following is a list of the exceptional conditionshandled by the displays condition handler. Any otherexceptions signaled to the displays condition handler willsimply be resignaled to the the default system conditionhandler after the terminal and log file notifications havebeen posted.

(software traps from VMS math library)

MTH$ SQUROONEG- The square root of negative value errorforces the math library function return value to be zero.No exception message is posted for this error.

MTH$ * - All other math library exceptions also force thefunction return value to zero. Terminal and log filenotification are given for these.

Page 26: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-24-

(hardware faults)

SS$ FLTOVF FSS$--FLTDIV--F - These faults are modified to simulate their

c_rresponding traps since continuation of the applicationssoftware after the fault cannot be done. VMS resignalsthe displays condition handler with the new trap. Notethat the exception counter will be incremented twicebecause of this action.

SS$ ROPRAND- This fault occurs when floating point datacSntains an illegal binary code. There is only oneundefined floating point bit pattern; the sign bit setand all other bits clear (-0). The reserved operand ischanged to a value of zero and the instruction is re-started.

(hardware traps)

SS$ FLTOVFSS$-FLTDIVSS$ INTDIVSS$--INTOVF - These traps are reflected in the exception

cSunters and posted on the terminal and in the log file.The applications software continues afterward with thefollowing instruction. Note that the integer overflowexception currently cannot occur in the software since

the detection is disabled by the Fortan compiler switch

/NOCHECK.

Page 27: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-25-

Section 2.5.1 TOPMS CONDITION HANDLER

A special condition handler is defined during the

pretakeoff calculations performed in DSPSLW. This handler

(TOP HDL) receives all signaled exceptions before the main

dispTay software condition handler is activated. All normal

VMS exception conditions are resignaled to the standard

handler. When one of a few TOPMS related problems occurs a

non-standard condition code is signaled by TOPMS pretakeoff

software. When one of these errors is seen by the TOPMS

handler a stack unwind is implemented which forces DSPSLW to

return to the instruction immediately following the call to

the pretakeoff main module. A flag variable is also set

which invalidates the TOPMS display format.

Page 28: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 29: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-27-

Section 2.5.2 EXCEPTION LOG FILES

Exception messages are saved in log files defined foreach process (DSPHDL.LOG, DSPFST.LOG, DSPSLW.LOG). Inactivelog files may be viewed with DCL commands such as TYPE,COPY, or PRINT. When the display software is executing theactive set of log files are accessed with the SHOWLOG.COMcommand procedure. There are three forms available to use.

@SHOWLOG <process name>@SHOWLOG <process name> ALL@SHOWLOG <process name> SINCE

The "ALL" form will display on the user's terminal allexceptions posted in the file, which is empty when thesoftware system is started. The "SINCE" form shows the userthe exception messages posted since the last time theparticular log file was referenced by @SHOW_LOG.The firstform is equivalent to the "SINCE" form.

Each exception message on the log file consists of aheader with the current MicroVAX date and time, followed bythe aircraft Greenwich Mean Time (GMT). Next appears theVMS exception message followed by a traceback of the callframes.

Page 30: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 31: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-29-

Section 3.0 I/0 COMMUNICATIONS

In order for display application software (DSPFST,DSPSLW, DDSTAR, etc.) to function correctly, real-time data

from external sources must be input, and processed data

must be output, in a synchronized manner. This is theresponsibility of the process DSPHDL.

DSPHDL initializes system resources to allow external

I/O, to schedule this external I/O, and to control the

subprocesses DSPFST and DSPSLW. DSPHDL also formats I/O

data for/from these processes. The executable imageDSPHDL.EXE is activated either in the context of an

interactive user or the context of a subprocess of an

interactive user which has been created using the DCL SPAWN

command. Upon activation DSPHDL raises its priority intothe realtime region at level 19 which disables quantum

expiration context switching. DSPHDL will then use systemcontext to configure I/O channels for DMA with external

devices (DATAC, BIU, FM/FC MicroVAX, etc). The subprocess

DSPFST will be synchronized into a 50 millisecond frame byDSPHDL using an interrupt from the DATAC. The DATAC will

also supply a 10 millisecond clock for synchronization of

DMA I/O. This I/O data is formatted for use by the displayapplication software by DSPHDL.

j_,L '" ",_,,,,".... ,_ FILMEDPRECEDING PAGE BLANK NOT

Page 32: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-30-

MODULE NAME:

FILE NAME:

PROCESS:

CALLED BY:

CALLING SEQUENCE:

DSPHDL

DSPHDL.MAR

DSPHDL

(Main Module)

RUN DSPHDL

PURPOSE:

Initializing system resources to allow external I/O, to

schedule this external I/O, and to control the subprocesses

DSPFST and DSPSLW.

DESCRIPTION:

This module is very intimately tied to, and has been

written around, the framework of the VAX/VMS internal arch-

itecture. As such, an understanding of VMS, in particular

those portions relating to virtual memory structure and the

internals of VMS I/O, will be required to follow the method-

ology used in the configuration of this system for DMA I/O.

This understanding may be obtained from the standard VMS

documentation set (in particular Programming Volume 8 -

Device Support, paying particular attention to the sections

mapping I/O space and connecting to an interrupt vector) and

the text 'VAX/VMS Internals and Data Structures' This under-

standing is assumed in this discussion and in source code

comments. The module DSPHDL contains four functional parts.

These include:

I.) Initialization code

2.) Main loop processing

3.) Kernel mode routines used in initialization

4.) Connect to interrupt routines

The following describes each:

i.) Initialization code - This code performs the

following:

A.) Establish an error condition handler.

2.5 for details.

See section

B.) Assign a channel to the default terminal so that

any error messages may be reported there. Also

assign a channel to the TXA5 serial port which is

used for packet radio link communication.

Page 33: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-31-

C.)

D.)

E.)

F.)

I.)

J.)

K.)

L.)

Declare an exit handler which will set process

priority back to level 4.

Set process priority to level 19. This puts the

process DSPHDL into the real time range and will

disable any quantum expiration context switching.

Lock P0 process space into the working set by

calling LOCK. This will reduce the possibility of

page faulting during main loop execution.

Assign a channel number to each of the followingdevices:

a.) XAA0 - DATAC DRVll

b.) XAB0 - Inter-Processor Link (IPL) DRVll

c.) XAD0 - Bus Interface Unit (BIU) DRVll

d.) KWA0 - KWVll

Call MAPCOM to map to the required global sections.

Use $CRMPSC to map to the physical addresses of the

I/O registers for the DRVll and KWVII devices.

This will allow the process to reference physicallocations via virtual addresses.

Call kernel mode routines which compute the virtual

addresses of DMA buffer page table entries for use

in loading Q-bus adapter mapping registers duringthe connect to interrupt start routines. These arediscussed in section 3 below.

Associate to common event flag cluster. These

event flags are used for synchronization of theflight application processes.

Connect to interrupt vectors. A connect to inter-

rupt SQIO is executed for each of the three DRVlland the KWVll devices. This establishes connect

to interrupt init, start, interrupt service, andcancel routines as discussed in detail in section4.

Wait for first 50 millisecond interrupt, thenenable the i0 millisecond clock and start main

loop software.

Page 34: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-32-

2.)

A.)

a.)

b.)

B.)

I.)

Main loop processing. Main loop processing begins

by waiting for either a 10 or 50 millisecond inter-

rupt. Upon determining which interrupt occurred,DSPHDL will either execute major or minor frame

processing for 50 and 10 millisecond interrupts,

respectively. Major and minor frame processingis described below:

Major frame - Major frame processing begins aftera DATAC 50 millisecond attention interrupt. This

occurs in minor frame 4 several milliseconds before

the minor frame 0 interrupt. The minor frame

counter variable MFKAME is set to a -i during this

interval. DSPHDL will, at the beginning of a major

frame:

Read 234 words of raw data from the DATAC SIR

via DRVll into DTCCOM. This includes hexadecimal

SIR addresses 39 through 123.

Format input data for use by display application

software, using DISFIL, into INPCOM, if the var-iable freeze is not set.

Upon completion of I/O, DSPHDL will set event flag64, enabling DSPFST to execute a frame.

Minor frame - There are five minor frames per

major frame (minor frame 0 thru 4). Minor framezero begins with the first 10 millisecond inter-

rupt after the 50 millisecond attention interrupt.Each 10 millisecond interrupt will signal the

beginning of the next minor frame. DSPHDL will

perform the following processing at the beginning

of the specified minor frame:

Minor frame 0 - No I/O is performed here, as it

was done at the beginning of the major frame

(during the MFRAME = -i interval).

Minor frame 1- Nothing performed in this frame.

Minor frame 2 - Enable IPL interrupt for transfer

in frame 3.

Page 35: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-33-

3.)

4.)

4.) Minor frame 3 - Output 181 words (176 words for

recorded data and FM/FC feedback data plus 5

words not used as a pad against corrupted data

possible at the start of a transfer) in OUTCOM

to the DATAC SIR. The corresponding hexadecimalSIR addresses of valid data are from 550 to 5FF.

This data has been previously loaded by theroutine DOUTIO. Also during this frame the

FM/FC IPL transfer occurs, as initiated by an

FM/FC MicroVAX interrupt. The responding handshaking

software in the display MicroVAX resides in the IPL

Interrupt Service Routine (ISR). This hand-

shaking is as follows :

a.) The wordcount for the IPL transfer is loaded

into the DRVII data register by the FM/FC Micro-

VAX for reading by the display MicroVAX. As a

flag, this count is negated if the transfer does

not send the active navigation buffer. For

the active buffer the count is left positive.

b.) The address for the buffer to be received is

loaded into the display MicroVAX DRVll buffer's

address register.

c.) The transfer is initiated.

5.) Minor frame 4 - In this frame the BIU I/O is

performed. This begins with the reception of

320 words of input data from the BIU being read

into the buffer BIU IN. Subsequent to this, 704

words are output from the buffer BIU OUT to theBIU.

Kernel mode routines - These subroutines are calledfrom the initialization software with the $CMKRNL

system service. This code must run in kernel modein order to reference the privileged registers

PR$ POBR (P0 base register) and PR$ POLR (P0 length

regTster). These registers are needed in order to

calculate the virtual address (in S0 space) of the

DMA buffer's page table entry. This value is used

in loading the Unibus adapter mapping registers.

Connect to interrupt code - There is one connect to

interrupt $QIO per device. A connect to interruptSQIO has four associated parts - initialization,

start, interrupt service, and cancel. These four

parts are doubly mapped both in process P0 space

and in system SO space allowing them to run in

system context. The role of each in this appli-cation is described below:

Page 36: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-34-

A.) Initialization - The only function this part hasat present is to store the system mapped address

of the device register block. While not used at

present, this could be used to control a device'sregisters from another device's ISR, should theneed arise.

B.) Start - The start routine is used to load the

Q-bus adapter mapping registers with the physicaladdress of the DMA buffer. This loading is

achieved using the system routine IOC$LOADUBAMAP,which uses as input the virtual address of the

buffer's page table entry (computed in the kernel

mode routines described above). Connect to inter-

rupt start routines normally run at IPL 6, but

since the allocation and loading of mapping reg-isters requires an IPL of 8, the IPL is raised atthe beginning and then lowered back to 6 before

exiting.

C.) Interrupt service routine - This code is executed

when an interrupt is delivered from the associated

device. Except for the BIU handshaking code de-

scribed above in the section onminor frame 3, the

only function the ISR is used for at present is to

clear the device's CSR and optionally set an eventflag. Whether an event flag is to be set after

an interrupt is specified as an input flag to the

connect to interrupt $QIO. Presently, the deviceswhich will set an event flag are the KWVII (event

flag 4, the I0 millisecond clock) and the DATAC

DRVII (event flag 5, the 50 millisecond attentioninterrupt).

D.) Cancel - This code is executed at the time of

process termination, and is used to release mappingregisters that had been allocated.

GLOBAL REFERENCES:

VARIABLES

FRAME*, FRAMES*, MFRAME*, FREEZE, CNT50*, DSPST2*,

HSTCNT*, HDL_ERR*, MSIOML*, MS50ML*, DTC_NRDY*,BIUTO*, IPL NZ*, IPLNR*, DISNAV_BEG, ACT WPTS,

BIU_IN, BIU_OUT, DTC_IN, DTC_OUT, IPER WCR*, IPER_BAR*,IPER CSR*, IPER DAT*

FUNCTIONS AND SUBROUTINES

DISFIL, DOUTI0, LOCK, MAPCOM, IOC$ALOUBAMAPN,IOC$LOADUBAMAP, IOC$RELMAPREG

Page 37: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-35-

MODULE NAME:

FILE NAME:

PROCESS:

CALLED BY:

CALLING SEQUENCE:

DOUTIO

DOUTIO.MAR

DSPHDL

DSPHDL

JSB DOUTIO

PURPOSE:

TO format 50 millisecond output data from OUTCOM for

DMA to the DATAC SIR.

DESCRIPTION:

DOUTIO is called once per major frame just prior to

DATAC output. It is responsible for formatting and packingdata recording output data. Output data to be formatted is

read from OUTCOM. Variables to be recorded are specified

along with scale factors in the buffer table DASPAR. These

variables are scaled and placed in the buffer DASBF for

output.

GLOBAL REFERENCES:

VARIABLES

DASCAL, MXENT

ARRAYS

DASPAR, DASBF*

Page 38: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-36-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

DISFILDISFIL.MARDSPHDLDSPHDLJSB DISFIL

PURPOSE:TO format 50 millisecond DATAC SIR DMA input data into

INPCOM.

DESCRIPTION:DISFIL is called once per major frame immediately

following a large block input from the DATAC. It is respon-sible for formatting raw input data into a form usable bythe display application software. DISFIL stores formattedinput data into INPCOM.

DISFIL uses the following programmer defined macros:

I.) SMPLXF - Will scale, bias, and/or bit shift a 16 bitinput integer source operand as specified, convert tofloating point, and store the result at a destinationpointed to by R0.

2.) SMPLXB- Tests the specified bit of the source andsets or clears the byte boolean pointed to by R0conditionally.

3.) ASMPLX - Similar to SMPLXFwith the addition of avalidity bit test preceding the conversion. Theresult is stored at the address specified in R0.

4.) GSMPLX- Similar to ASMPLXbut tailored for use informatting GPS raw input data.

5.) SBOOLI - Tests the bit specified and if set will setthe boolean pointed to by R0. Otherwise the booleanis cleared.

GLOBAL REFERENCES:

VARIABLESDTC_IN, (All variables in common INPCOM)*

FUNCTIONS AND SUBROUTINESOTSSPOWRR

Page 39: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-37-

Section 4.0 EXECUTIVE SOFTWARE

The three display VAX applications processes eachhave main modules which are entered directly from VMSwhen their respective executable images are started. Theexecutable image DSPHDL is covered in section #3 and willnot be mentioned again in this section. The processesDSPFST and DSPSLWeach have main modules which aredescribed on the following pages.

Main modules contain operations to setup and initializeitems which effect the entire process in which they reside.They also serve as a caller of subroutines which perform theactual display tasks required to drfve the microprocessordisplay system.

Page 40: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-38-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

DSPFSTDSPFST.FORDSPFSTVMSRUN DSPFST

PURPOSE:DSPFST is the executive module for its process.

DESCRIPTION:DSPFST is the main program module for the executable

image of the same name. VMS transfers control to the startof this module when the RUN DSPFST command is performed.There are two distinct sections in DSPFST. The first con-sists of several operations performed once at the start of

the executable image. The second section consists of things

which are repeated cyclically. Every 50 milliseconds a

sequence of operations are started. When the various tasks

are completed, DSPFST enters a wait state until the next50 millisecond frame is announced.

At the start of the executable image, DSPFST forces all

the program image "pages" into memory. They are locked into

memory to reduce paging I/O during image execution. The

loading and locking operation is performed by the utility

procedure LOCK. It is called by the VMS system procedure

SYS$CMEXEC (change mode to executive). This is done because

user mode does not have enough privilege to bring some of

the image's pages into memory. The privileged pages are the

defined exception messages for the condition handler which

are normally only accessed in executive mode by the operating

system.

After page locking is complete the global sections are

mapped into the executable image's virtual address space.

This is done with a call to the utility procedure MAPCOM.

MAPCOM is passed the name of the image (DSPFST) which is

used to determine which global sections will be mapped and

whether write privileges are to be granted.

If DSPFST is run in interactive mode (see section 2.4)

confirmation of display microprocessor formats is performed

followed by exiting the image. The module DP LOAD is called

to determine which display formats are loaded into the

various microprocessors. A summary is printed to the console

terminal and the system operator is prompted for confirmation

of its correctness.

When DSPFST is not run in interactive mode the remainder

of the startup operations are performed. First the user

defined condition handler is established into the initial

stack frame. Any exceptions occurring in the image DSPFST

will be intercepted on their way "up the stack" to the

system condition handler. The standard output and error

devices are logically assigned to the processes log file

so exception messages may be saved in a file (see section

2.5).

Page 41: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-39-

The DAS recording tables are initialized to the default

recording list by automatically running the utility program

DDSTAR from DSPFST. Section #5 provides ample information

on data recording and the role DDSTAR plays.

The final thing done before entering the real-time

cyclical portion of the module is to connect to a set of

event flags in the operating system to be used for inter-

process signaling. The start of each new 50 millisecond

frame is denoted by the setting of event flag #64.

DSPFST uses the SYS$WAITFR system service to place

itself in a wait state until event flag #64 is set on. Once

this occurs DSPFST will execute over any processes of lesser

priority (all but DSPHDL). The major responsibility of

DSPFST during the 50 millisecond frame is calling procedures

which generate the data buffers used by the display micro-

processors. Data recording procedures are also called at

this time. In addition, several miscellaneous operations

are performed. They include the processing needed when

displays "freeze" has been requested (appendix B), and DSPFST

timing estimates. If event flag #64 is already set when

DSPFST completes the tasks required during the 50 millisecond

frame, a frame time overflow is noted by incrementing theoverflow counter (OVER).

GLOBAL REFERENCES:

VARIABLES

CNT CNT50 COLDST* DISPST* DP TEST* FMTSEL* FREEZE* FSTCNT*

FST ERR* HRSS IWSFLG LABFLG MAPUPD* MAXF* MFRAME NEWFILT*

OVER* TITLE TM ADR* TOINDX TOPMS*

ARRAYS

OUTDAT

FUNCTIONS AND SUBROUTINES

ASSIGN AWAS MGR C HDL DDASOT DP LOAD DSNAP ENGEXC FFPRC

FORSEXIT FTEST INSITU INSITU MGR LIB$ESTABLISH LIB$MOVC5

LIB$SPAWN LIB$STOP LOCK MAPCOM NAVEXC PFDEXC PFD NASA

REC ALERTS SYS$ASCEFC SYS$CLREF SYS$CMEXEC SYS$READEF

SYS_WAITFR SYSEXC TOPEXC

Page 42: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-40-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

DP LOADDSPFST.FORDSPFSTDSPFSTCALL DP LOAD

PURPOSE:TO confirm the display microprocessor configuration.

DESCRIPTION:DP LOAD is called when the process DSPFST is first

started? It parses through the input buffer received fromthe Sperry microprocessor system to determine which displayformats are loaded. This identification procedure is donefor the following reasons.

• The position in the input buffer of bezel button inputsfrom particular formats must be known by the host software.(see appendix A for input buffer layout)

• Navigation formats have custom map background datacreated and sent destined to particular processors.

The system operator may verify the versions of formatsloaded by examination of the format checksums shown on thedisplay.

The process DSPHDLmust already be active when DP LOAD iscalled since it is responsible for performing the I/O whichfills the microprocessor input buffer.

The first thing DP LOAD does when called is to wait twoseconds. Even though the process DSPHDL is spawned beforeDSPFST, DP LOAD can sometimes be called before DSPHDLhasreceived the required inputs.

DP LOAD steps through the input buffer examining thereturn s--tatus location for DPII through DP33. When a formatis loaded in a display microprocessor and operating properlya unique numeric value is stored in the return status whichis used for identification purposes. DP LOAD saves eachformat's ID and checksum to create the confirmation displayplaced on the console terminal. There are two formats whichhave special requirements, the Navigation format and thePrimary Flight format. The MicroVAX display software needsto save the position where these formats return bezel buttonstatus• Also the microprocessor sequence number (1-9) issaved for Navigation formats so map background data may beaddressed directly to individual microprocessors.

Page 43: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-41-

When DP LOAD has examined all nine return statuslocations it--prints its summary to the console terminal. Aprompt message is printed requiring the operator to acceptthe information as correct or reject it. If accepted DP LOADsimply returns. Otherwise a pause message is printed annDP LOAD waits for a keyboard entry from the operator whichinstructs DP LOAD to repeat the microprocessor verificationprocedure.

GLOBAL REFERENCES:

VARIABLESTDW FOUND*

ARRAYSINDAT PFDBZL*

RECORDARRAYSNVFMT*

FUNCTIONS AND SUBROUTINESFOR$CLOSEFOR$OPENGET WORDLIB$STOP OTS$CVTL TZ SYS$SETIMRSYS$WAITFR

Page 44: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-42-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

DSPSLWDSPSLW.FORDSPSLWVMSRUN DSPSLW

PURPOSE:Serve as the executive module for its process.

DESCRIPTION:DSPSLWis the main program module for the executable

image of the same name. VMS transfers control to the start

of this module when the RUN DSPSLW command is performed.

There are two distinct sections in DSPSLW. The first con-

sists of several operations performed once at the start of

the executable image. The second section consists of things

which are repeated cyclically. Each time it completes the

required tasks it jumps to the start and begins again.

At the start of the executable image, DSPSLW forces all

the program image "pages" into memory. They are locked into

memory to reduce paging I/O during image execution. The

loading and locking operation is performed by the utility

procedure LOCK. It is called by the VMS system procedure

SYS$CMEXEC (change mode to executive). This is done because

user mode does not have enough privilege to bring some of

the image's pages into memory. The privileged pages are the

defined exception messages for the condition handler which

are normally only accessed in executive mode by the operatingsystem.

After page locking is complete the global sections are

mapped into the executable image's virtual address space.

This is done with a call to the utility procedure MAPCOM.

MAPCOM is passed the name of the image (DSPSLW) which is

used to determine which global sections will be mapped and

whether write privileges are to be granted.

Next the user defined condition handler is established

into the initial stack frame. Any exceptions occurring in

the image DSPFST will be intercepted on their way "up the

stack" to the system condition handler. The standard output

and error devices are logically assigned to the process's

log file so exception messages may be saved in a file (see

section 2.5).

DSPSLW enters an "infinite loop" where it stays until

the process is stopped by external intervention. The main

function performed here is the creation of data involved

with the map background updates. This is done by the call

to NAVSLW. Other functions include the setting of Primary

Flight Display format status information, initiation of

TOPMS pretakeoff calculations, handling snap-shot data

outputs, and computing background timing estimates.

Page 45: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-43-

GLOBAL REFERENCES:

VARIABLESCNT DATA_LOGDAY* FRAMESHRSS MAGVARORGHDG*ORGLEN* PRINTERPRN_ACTIVE RPTR RWYID* SLWCNT*SLW ERR* SPTR TITLE TKFLENTM ADR* TOPMS* TOPST*

ARRAYSAIRPTS

FUNCTIONS AND SUBROUTINESASSIGN C HDL DAY OF YEAR GET REAL GET WORDHARD COPYLIB$ESTABLISH LIB$SIGNAL LIB_STOP LOCK MAPCOMNAVSLWPRETKF SBXMGRSNAPOUTSYS$ASSIGN SYS$CMEXEC

Page 46: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-44-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

PRN AST

DSPSLW. FOR

DSPSLW

VMS

<AST module>

PURPOSE:

Printer completion AST.

DESCRIPTION:

This Asynchronous Trap procedure (AST) is called by

VMS when outputs to the system line printer have completed.

The flag PRN_ACTIVE is cleared to enable use of the printerby other modules.

GLOBAL REFERENCES:

VARIABLES

PRN ACTIVE*

Page 47: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-45-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

LOG ASTDSPSLW.FORDSPSLWVMS<AST module>

PURPOSE:Log device completion AST.

DESCRIPTION:This Asynchronous Trap procedure (AST) is called by

VMS when outputs to the system logging terminal have

completed. The flag LOG ACTIVE is cleared to enable use of

the printer by other modules.

GLOBAL REFERENCES:

VARIABLES

LOG ACTIVE*

Page 48: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 49: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-47-

Section 5.0 DATA RECORDING

There are five data recording modules which provide thecapability to record selected data on magnetic tape, paper,and strip charts. The file DISDAT.MAR, linked with theprocess DDSTAR, contains a default list of data items to berecorded through the Data Acquisition System (DAS). It alsocontains a group of alternate tables which provide lists ofvariables to be plotted on the strip charts. DDSTAR is aninteractive program which permits the experimenter to modifythe data recording tables and to set up "snap" tables forprinting selected variables on the experimental systems lineprinter. DDSTARprocesses the recording list informationand stores addresses and scale factors for the DAS.

The module DSNAPworks with tables generated throughDDSTAR. When a user specified condition is encountered,DSNAP saves the associated set of data items. Subsequently,the background module SNAPOUTprints the data values to theline printer.

The subroutine DDASOTtakes the data specified in theDAS lists, formats it, and stores it in the 50 words of DASoutput memory. The strip chart data are also included inthe DDASOToutput, which is routed to the onboard stripcharts by the DAS.

The output from DSNAP and the strip charts is availablein flight. The data stored on the DAS tape is available fora "quick look" soon after the experimental flight is com-pleted. DAS information is available over the long term formore thorough data reduction and analysis.

'tALL_ _b'_N_ PRECEDING PAGE BLANK NOT FILMED

Page 50: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-48-

MODULE NAME:

FILE NAME:

PROCESS:

CALLED BY:

CALLING SEQUENCE:

DDASOT

DDASOT.MAR

DSPFST

DSPFST

CALL DDASOT

PURPOSE:

TO configure the alternate-tables to control the strip

chart recorders, and to reformat certain data for recording.

DESCRIPTION:

DDASOT first checks the NODAS boolean to determine

whether or not DDSTAR is modifying the recording tables, if

true it exits immediately. DDASOT then checks the globals

RECWD, RECWDI, RECWD2, and RSWADR to determine which set of

alternate tables should be stored in the global DASPAR

parameter list for strip chart recordings. If RSWADR is

clear or if there is a boolean FALSE at the address

contained in RSWADR, then the "normal" table set specifiedin RECWDI is used, otherwise, RECWD2 is used. RECWD

contains the current configuration. If it does not match

the selected pattern, then a new set of alternate tables is

loaded into DASPAR. This will happen when the alternate

tables have been changed through DDSTAR and RECWD is set to

-i. The values in RECWDI, RECWD2, and RSWADR are user

specified through task VIEW as follows:

RSWADR: USAGE

CLEAR = The primary set of alternate tables will be written

to the DASLST strip chart blocks. (RECWDI)

ADDRESS = The address of some discrete, such as MLSVAL, which

will, when TRUE, cause the secondary set of alternate

tables to be used. (RECWD2) (exercise extreme

caution when using this option, check with the system

administrator to ensure VIEW has the same virtual

addresses as DSPFST.)

RECWDI/RECWD2: BIT MAP

BITS 3,2,1,0:

BITS 7, 6, 5,4:

BITS 9, 8 :

Value 0-7,

Value 8-15

Value 0-7,

Value 8-15

Value 0-3,Value 4-15

Use Alt Tables 0-7 for Strip Blk I.

Reserved for future expansion.

Use Alt Tables 0-7 for Strip Blk 2.

Reserved for future expansion.

Use Atl Tables 8-11 for Strip Blk 3.

Reserved for future expansion.

For a normal configuration of tables 0, I, and 8,

RECWDI would be set to 0010 hexadecimal. For a

secondary configuration of tables 4, 5, and 9, RECWD2

would be set to 0114 hexadecimal.

Page 51: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-49-

The most recent table configuration is recorded inRECWD. If this does not match the selected pattern, thenthe table addresses need to be changed. Otherwise, controlpasses to the data processing code at label CONT. DDSTARselects recording table configuration 0010 hexadecimal bydefault.

The alternate-table setup is done at label DOIT. Asappropriate, RECWDIor RECWD2is moved into RECWDas the newconfiguration record. ALTPAR is the source of the newtables. It is loaded by DDSTARfrom DISDAT and/or fromuser input. It consists of 12 tables with 8 entries pertable, 2 long-words per entry. The format and itssignificance are:

LWORDI: Bits 31-25 Unused

" 24 ON denotes an 8 bit variable.

" 23:16 shift count (+ = Left), used to

position integer data for recording.

" 15 SET denotes NOT floating point data

" 14:0 Scale factor for the data.

NOTE: For a floating point variable, the entire longword is

a scale factor.

LWORD2: Address of the data.

The three required tables are identified and

transferred to the first 16 entries (8 x 3) in DASPAR,

the primary DAS recording list which includes both the

alternate tables and the rest of the data list for

recording. On a run where a table change has occurred,

DASOT terminates at this point.

On a nominal run, when the tables are static, DASOT

builds the packed discrete DISOUT and also calculates and

stores the current navigation position errors. The booleans

to be packed into DDISOT are listed locally at label DISLST.

The sign bit of each boolean is shifted left into a register

which, at the end, is shifted to place the bits at 0:9, and

moved into DDISOT. Then, LAT and LON are converted to 32

bit integer data and output as LATFIN and LONFIN.

GLOBAL REFERENCES:

VARIABLES

ALTDIF* ALTPAR DASPAR* DISOUT* GUID2D GUID3D GUID4D IDDLTC*

IDDLNC* LAT LATDIF* LONDIF* LONINS RECWD* RECWDI RECWD2

RSWADR

Page 52: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-50-

MODULENAME:FILE NAME:PROCESS:CALLED BY:

CALLING SEQUENCE:

DDSTAR (Displays DAS/Snap Access Routine)DDSTAR.FORDDSTARA: DSPHDL (on cold start)B: The User (manually)

$CREPRCS

A. VAXHDL:DS PROCNAME: .ASCID /DDSTAR/

IMAGE=DS PROC NAME,- ; DSTAR IMAGE NAME

INPUT=TERM_DESC,- ; USE CREATING PROCESS'S

OUTPUT=TERM_DES,- ; I/O DEVICEBASPRI=#20,- ; PRIORITY 20 (RUNS NOW)

PRCNAM=DS PROC NAME ; SUBPROCESS NAME

B. Manually: RUN DDSTAR

PURPOSE:

A utility to transfer recording parameters for

the Data Acquisiton System (DAS), to accept interactive

modifications to the existing parameters, and to create

parameter tables for the DSNAP routine.

DESCRIPTION:

The primary function of DDSTAR is to load the tables

(DASPAR & ALTPAR) used by DDASOT to select and route data to

the Data Acquisition System (DAS) for recording on tape or

on the aircraft strip charts. This is done automatically

and transparently on system startup (cold start) when DDSTAR

is called by the I/O handler (DSPHDL). In this case, DAS

processing is enabled for whatever data is defined in the

default DAS list, nominally DISDAT. This is an external

file included in the DDSTAR process which is documented

separately in this volume. (DDSTAR defines DISDAT as a

common block containing structured records which correspond

in format and quantity to the entries in DDATA and ATABL,

the 2 global data blocks in DISDAT.)

The secondary function of DDSTAR is to run

interactively and accept user input to modify the DAS list,

or to create or modify the snap tables. Snap tables (SCRIT)

do not pre-exist and can only be created through DDSTAR.

DDSTAR also provides a mechanism for saving/returning snap

tables, DAS changes, and alternate table changes to/from

disk storage.

Page 53: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-51-

The interactive routine is menu driven and generallyself explanatory. However, more detailed instructions willbe displayed at various points if the user selects tutorialsin response to the initial question and prompt: "Do youwant tutorials? Y/N."

There are up to 50 entries in the DDATA section of the

DAS list, each consisting of a name, address, and scale

factor. Entries may be changed, and/or new ones added up to

the limit. Entries 1 through 16 are used for the strip

chart parameters and are organized in two blocks of eight

entries each. Each of these blocks corresponds with 1 of

the 12 alternate tables which may be read into this area by

subroutine DDASOT. These alternate tables are maintained in

the lower section of DISDAT, in the global data block ATABL.

Tables zero through seven relate to blocks one or two. In

either mode of operation, the contents of DDATA and ATABL

are written to the global DASPAR and ALTPAR tables, respec-tively, during the DAS dump routine.

When modifying the DAS list, the user will be requiredto enter scale factors for each data item entered or

changed. These are explained in the DISDAT documentation inthis volume.

Up to eight snap tables may be created. The user

should be prepared to enter the name of the variable to be

used as the key for the snap, the value at which the snapshould occur, the range or "window" if an exact match is

not required, and the names of up to 15 variables to be

"snapped" to the printer when the snap occurs.

When the name of a variable is requested, DDSTAR will

recognize the name of any global variable in any global

section in the system. Local variables or local common

blocks cannot be referenced. Array elements can be

specified with the index in parentheses. A series of array

elements can be inserted as one entry by appending an

asterisk and count to the index. For example, XYZ(3*I5)

will pick up element 3, plus the next 14, for a total of15.

The use of the "bare" carriage return is consistent

throughout DDSTAR. It will terminate the current activity,

such as a series of data entries, and re-display the

previous menu. From any point in the program, three or four

carriage returns, at most, will bring control back to the

main SNAP/DAS option. There is no limit on the direction or

number of times the user may go back and forth through the

various sub-options.

Program exit may be selected in response to several

menus. However, at any point in the program a control-Z

will cause an orderly exit. This is the usual method.

Page 54: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-52-

The exit routine calls the dump routines for whicheverset of tables was modified during the session. For the DASand alternate tables, the dump routines first transfer therecording parameters, then print a list of the tables on theaircraft line printer. For the snap tables, it is onlynecessary to print the list. During an automatic run,nothing is printed. During the first manual run after coldstart, both the DAS and alternate tables will be printed,whether modified or not. Otherwise, only the modified setis printed.

The DDSTARmodule includes ii subroutines and calls oneexternal subroutine (SYM SEARCH).

n

GLOBAL REFERENCES:

VARIABLES

ALTDMP CHCNT COLDST DASDMP DDATE GETNAME* NOSNAP*

PRINTOUT RECWDI* SNAPACT* SNAPDMP SNENT TERM TUTOR

FUNCTIONS AND SUBROUTINES

DASDUMP DASPRC FOR$CLOSE FOR$DATE T DS FOR$OPEN MAPCOMSNAPDUMP SNPRC

Page 55: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-53-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

CHECKDDSTAR.FORDDSTARGITEM, NSNAP, OLDSNAPCALL CHECK

PURPOSE:To return the location in an input string of a ' (*)'

character sequence.

DESCRIPTION:Check returns an index, relative to the beginning of a

character string, of the location of the left parenthesis(LPAREN), asterisk (ASTER), and right parenthesis (RPAREN)if they exist. The variables used by CHECKare located in alocal common area. These variables include CBUF, a 14 characterbuffer containing the input string; CHCNT, a character countwhich may include blanks; and LPAREN, ASTER and RPARENwhichwere previously defined. In addition to the indices returned,CHCNTwill be updated to reflect the elimination of any embeddedblanks.

If the character string is not found, LPAREN, RPAREN, andASTER are set to zero and a return is made to the caller. Anerror check is made to ensure that the left parenthesis occurs

before the right parenthesis. If it does not, the followingmessage is displayed at the user's terminal-

' NO RIGHT PAREN ! TRY AGAIN'.

GLOBAL REFERENCES:

VARIABLES

ASTER* CBUF CHCNT* ERROR* LPAREN RPAREN

Page 56: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-54 -

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

DASDUMPDDSTAR.FORDDSTARDDSTARCALL DASDUMP

PURPOSE:TO setup DASPARfor use by DDASOTand to print the

recording, snap, and alternate tables if requested.

DESCRIPTION:If the DASDMPflag is true, the DAS recording parameters

are transferred to the DASPARbuffer from the temporary areaDDATA. Since this affects the data recording process, the NODASflag is set to inhibit data recording while DASPAR is beingmodified. Likewise, if the ALTDMP flag is true the alternatetable data is transferred to the ALTPAR buffer.

If the PRINTOUT flag is set and DASDMPis true, the DASlist will be printed. If the PRINTOUT flag is set and ALTDMPis true, the alternate tables will be printed.

GLOBAL REFERENCES:

VARIABLESALTDMP DASDMPDDATE DNENT NNAMENODAS* PRINTOUT RECWD*TIME

RECORDARRAYSALTPAR* ATABL DASPAR* DDATA

FUNCTIONSAND SUBROUTINESFMTTIM FOR$IMVBITS

Page 57: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-55-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

DASPRCDDSTAR.FORDDSTARDDSTARCALL DASPRC

PURPOSE:TO serve as the controller for DAS and alternate table

processing.

DESCRIPTION:This module serves as the user interface to DDSTAR for

all DAS and alternate table functions. Menus are dis-played to the user from which the desired functions may beselected. These functions include modifying the DAS list,modifying the alternate tables, writing the DAS or alternatetable modifications to disk, reading the specified DAS oralternate table modifications from disk, and printing the DASlist and/or alternate tables.

The user supplies inputs in response to program promptsonce the desired function is selected. Error checking of inputsis performed and informational messages are displayed to guidethe user through an interactive session.

GLOBAL REFERENCES:

VARIABLESACNT* ALTDMP* ALTFLG* CBUF CHCNT DASDMP*DASFLG* DCNT* DDATEDNENT ERROR* GETDAS* GETOLD* ITNUM MAX* TABLE* TERM* TUTOR

RECORDARRAYSASAV ATABL DDATA DSAV

FUNCTIONS AND SUBROUTINESFOR$CLOSEFOR$OPENGITEM UCASE

Page 58: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-56-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

GITEMDDSTAR.FORDDSTARDASPRC, NSNAP, SNAPMODCALL GITEM

PURPOSE:TO prompt the user for an item name and scale factors

as necessary.

DESCRIPTION:This module serves as the user interface for the input

of any global variable, scale factor, or snap criteria data.These data may be processed from user supplied interactiveinputs or previously saved changes recovered from a disk file.For each global variable name specified, a call is made tothe 'SYM SEARCH' module which searches the global symbol tableto ensure that it is a valid name. SYM SEARCHalso returns thevariable address, type (real,integer,etc.), and length in byteswhich are used for creating the various recording tables or thesnap tables.

As with other DDSTARmodules, this one also provides promptsand processes user supplied inputs. Error checking is performedand messages displayed to guide the user as necessary. Limitchecking is performed on DAS entries and alternate table entries(a max of 50 entries allowed for each for saving on disk).

GLOBAL REFERENCES:

VARIABLESACNT ADR ALTFLG ASTER CBUF CHCNTDASFLG DCNT DNENT* ERROR*GETDAS* GETNAMEGETOLD* ITNUM* LGTH LPAREN MAX REPEAT RPARENSDONESMODSNAPACTSNENT* TABLE TERM* TYP

ARRAYSSNAME*

RECORDARRAYSASAV ATABL DDATA* DSAV* SCRIT*

FUNCTIONSAND SUBROUTINESCHECK SYM SEARCHUCASE

Page 59: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-57-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

NSNAPDDSTAR.FORDDSTARSNPRCCALL NSNAPAlternate entry point: CALL GETKEY

PURPOSE:To create a new snap table or to replace the name and

criteria data for a key variable.

DESCRIPTION:This module establishes a snap table by creating the

key variable as input by the user and also prompting the userfor the conditions under which the snap is to occur. A call ismade to 'SYM SEARCH' to search the global variable table forthe key variable to ensure that it is a valid name. As withother DDSTARmodules, prompts are supplied and user inputsprocessed in an interactive session. Error messages aredisplayed as appropriate to guide the user through the session.

The alternate entry point, GETKEY, is used whenever theuser is modifying the key variable of an existing snap table.

Once this determination is made, the logic path is followed

as for the main entry point NSNAP.

GLOBAL REFERENCES:

VARIABLES

ADR CBUF CHCNT ERROR* ITNUM* LGTH LPAREN MAX* NNAME NNENT

RPAREN SDONE SNENT* TABLE* TERM* TUTOR TYP

ARRAY S

SNAME *

RECORD ARRAYS

SCRIT*

FUNCTIONS AND SUBROUTINES

CHECK GITEM SYM SEARCH UCASE

Page 60: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-58-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

OLDSNAPDDSTAR.FORDDSTARSNPRCCALL OLDSNAP

PURPOSE:TO read or write a snap table to or from a disk file.

DESCRIPTION:If a file is to stored on disk, a test is made to ensure

that a snap has been defined, if not a message 'NO SNAPSDEFINED, NOTHING SAVED' is displayed. If a snap has beendefined, the user is requested to enter a file name. Errorchecking is performed for all I/O operations and an appropriatemessage is returned for any detected errors. A successfulwrite operation is announced by the message ' SNAP TABLES SAVEDON FILE filename' where 'filename' is the user supplied name.

If a file is to be recovered from disk, the user isrequested to enter the desired file name. As for the storefunction, error checking is performed for all I/O operationsand appropriate messages returned for any detected error.When the data have been read from disk, each entry is processedas if it were entered from the keyboard. This ensures thatdata requested from older versions of the flight software arevalid with the current version. Once again, an error messagewill be displayed for any variable not found in the currentglobal symbol table. If no errors are detected, the message'SNAP TABLES RECOVERED'is displayed on the user's terminal.

GLOBAL REFERENCES:

VARIABLESADR CBUF CHCNTERRORLGTH LPARENRPARENSNAPDMP*SNENTSNPSAV* SRST* TYP

ARRAYSSNAME

RECORDARRAYSSCRIT*

FUNCTIONS AND SUBROUTINESCHECKFOR$CLOSEFOR$OPENSYM SEARCH

Page 61: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-59-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

SNAPDELDDSTAR.FORDDSTARSNPRCCALL SNAPDEL

PURPOSE:To delete a previously entered snap table.

DESCRIPTION:This routine is used to delete a snap table from the

current working set of DDSTARsnap tables. It is not usedto delete previously saved snap tables from disk which maybe accomplished by using the appropriate VAX/VMS commands(See VAX/VMS DCL Dictionary for details). The desiredsnap table number for deletion is entered by the user priorto this routine being called by SNPRC.

GLOBAL REFERENCES:

VARIABLESDEL* SNENT*

ARRAYSSNAME*

RECORDARRAYSSCRIT*

FUNCTIONS AND SUBROUTINESFORSBITEST

Page 62: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-60-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

where:

SNAPDUMPDDSTAR.FORDDSTARDDSTAR, SNAPMODCALL SNAPDUMP(tnum,nent)tnum - table number to dump (zero indicates

all tables are to be dumped)nent - output parameter containing number of

entries found in the table.(n/a when tnum is zero)

PURPOSE:To print a copy of the selected snap table(s).

DESCRIPTION:This routine displays the specified snap table at the

user's terminal or all snap tables on the onboard lineprinter if 'tnum' is zero. It may be used to review snaptables prior to flight or storing them on disk. It may alsobe used to obtain a listing of the current working set of snaptables for record keeping purposes.

GLOBAL REFERENCES:

VARIABLESDDATE SNENT TIME

ARRAYSSNAME

RECORDARRAYSSCRIT

FUNCTIONS AND SUBROUTINESFMTTIM FOR$BITEST

Page 63: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-61-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

SNAPMODDDSTAR.FORDDSTARSNPRCCALL SNAPMOD

PURPOSE:TO modify an existing snap table.

DESCRIPTION:This routine permits the user to modify a previously

completed snap table. The snap table to be modified isentered by the user in response to a program prompt priorto this routine being called by SNPRC. Modifications arethen made in response to program prompts which guide the userthrough a session. Inputs are error checked and appropriatemessages displayed on the user's terminal when errors are

detected. Any data in the snap table may be modified includ-ing the key variable.

GLOBAL REFERENCES:

VARIABLES

CBUF CHCNT ERROR* GETNAME* ITNUM* MAX* MOD NNENT* SMOD*TABLE* TERM*

ARRAYS

SNAME *

RECORD ARRAYS

SCRIT*

FUNCTIONS AND SUBROUTINES

GETKEY GITEM SNAPDUMP UCASE

Page 64: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-62-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

SNPRCDDSTAR.FORDDSTARDDSTARCALL SNPRC

PURPOSE:TO serve as the executive routine for all snap

processing.

DESCRIPTION:SNPRCprompts the user for desired snap table actions

and calls the appropriate subroutines to accomplish them.These actions include creating/modifying snap tables,recovering snap tables from disk, and preserving snap tableson disk.

GLOBAL REFERENCES:

VARIABLESCHCNTDEL* MOD* NNENT* SNENT SNPSAV* TERM*

FUNCTIONS AND SUBROUTINESNSNAP OLDSNAPSNAPDELSNAPMOD

Page 65: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-63-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

SYM SEARCHSYM SEARCH.FORDDSTARDDSTARCALL SYM SEARCH(SYMBOL,ADDRESS,FORM,SIZE)

PURPOSE:To look-up information about a flight software global

variable.

DESCRIPTION:The name of a flight software global variable is passed

as a character string, by descriptor, to SYM SEARCHas thefirst calling parameter. The address, format, and bytelength associated with the variable are returned through theremaining three call list parameters. When the symbolicname is not found in the global symbol table, all the returnvalues are zeroed.

The global symbol table is a group of symbol infor-mation packets having the following format.

Name lengthName

• Addressformat codememory length

1 bytevariable length4 bytes1 byte1 byte

The format codes have the following meaning. The first twoboth have the same machine data representation (floatingpoint). The utility process VIEW differentiates betweenthese by using floating exponential format to displayvariables with a format code of "2"

1 floating point2 floating point3 signed integer4 unsigned hexidecimal5 ASCII

The symbol search starts at the begining of the globalsymbol table• Both the start address of the table and thenumber of entries, a global constant, may not be accesseddirectly from Fortran because of their definition. They areaccessed by SYM SEARCHby declaring them external proceduresand using the %LOCoperator to obtain their value. Theutility functions GET BYTE and GET LONGare used to fetchdata from the table as it is searched. The library function

Page 66: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-64-

STR$COMPAREis used to find a match in symbol names. Sincethis function requires character string inputs, a descriptoris constructed and passed to STR$COMPAREto make the globalsymbol table name appear as a character string.

GLOBAL REFERENCES:

VARIABLESSYMNUM

ARRAYSSYMTAB

FUNCTIONS AND SUBROUTINESGET BYTE GET LONG STR$COMPARE

Page 67: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-65-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

where:

UCASEDDSTAR.FORDDSTARDASPRC, GITEM, NSNAP, SNAPMODCALL UCASE(cbuf, chcnt)cbuf - character buffer containing datachcnt - number of characters to convert

to upper case

PURPOSE:To convert lower case ASCII characters to upper case.

DESCRIPTION:The input characters are tested to ensure that they

are in the range a - z and then converted to upper case ifthey are. Otherwise the characters remain unchanged.

GLOBAL REFERENCES:none

Page 68: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-66-

MODULENAME:FILE NAME:PROCESS:CALLED BY:

DISDATDISDAT.MARDDSTARNone (Components are addressed by theirglobal names: ATABL, DDATA, DNENT)

PURPOSE:To provide a list of data parameters for recording.

DESCRIPTION:DISDAT is the component of the DDSTAR task which

contains the default list of data from the Displays computer

to be recorded by the Data Acquisition System (DAS). It

contains up to 50 names and corresponding scale factors. Of

these, the first 16 specify the output to the strip chart

recorders. There is also a group of 12 alternate tables

with eight entries each. Two of these may be selected

during flight to be read into the strip chart block entries

one through sixteen.

DISDAT consists of two functions and two global data

blocks. The data block DDATA contains space for 50 entries

and the block ATABL contains space for 12 tables of 8

entries apiece. Entries are of the form:

i) .ASCII /ZHAT FINE /

REAL ZHAT, 512.

2) .ASCII /YHAT COURSE /

INTEG YHAT, 2048.

3) .ASCII /EVENT7 /

INTEG HOLDM, 2048.,B

The ASCII name field may contain any 12 printable

characters or symbols except for a slash. The function REAL

will, at assembly time, convert and store the second line as

an address and a scale factor in floating point format. The

function INTEG does the same except that it stores the

address with a negative sign and, if there is a third

parameter such as in the third example, then the scale

factor is stored with negative magnitude. This indicates a

one-byte variable. When the file is ultimately processed by

DDSTAR, a positive address signifies that the variable is a

real number, a negative address that it is an integer, and a

negative scale factor that it is a boolean value.The scale factor is a decimal number which determines

how the data will appear on a strip chart, either on the

aircraft or in the post-flight data reduction phase.

Starting from a value of zero at the centerline of the

chart, the scale is the number at which the needle will be

Page 69: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-67-

at the edge of the chart. When this limit is exceeded, therecorder "wraps-around"; the needle jumps to one side or theother and continues reflecting relative changes in the data.Thus, aircraft altitude, scaled at 500.0, would wrap quicklyas the aircraft climbs or descends, but it would give a goodrecord of small changes from level flight. Scaled at itsmaximum range, say 40,000 feet, the resolution of thealtitude plot would be very poor.

Scale factor determination must consider theresolution available in the DAS and on the strip chartrecorders. The DAS records the most significant 16 bits ofdata. The recorders can display only 12 bits, including thesign bit. The on-board recorder displays the mostsignificant 12 bits. In post-flight analysis, the recorderscan display any 12 bit string in the word.

If data of large magnitude is scaled to display smallchanges on the strip chart and if it is also necessary torecord it at its actual magnitude, then it can be recordedtwice. However, to permit post-flight reconstruction, thescale factors must be determined such that there is anoverlap of significant bits. This can be done by relatingthe scale factors to some power of 2, up to 2 ** 15. Forexample:

REAL POSHAT+I0,100.REAL POSHAT+I0,204800. ;

53 ZHATF FEET54 ZHATC FEET

The i00 scale factor for ZHATF will produce good resolutionfor small changes. At i00 * (2"'11) the scale for ZHATC,204800 feet, is slightly more than the maximum range of ZHAT(32 miles) and it provides a 5 bit overlap in the 16 bitwords. Boolean data items are usually scaled at 2048, whichequates to full displacement of the needle.

The comment section of a DDATA line also requires

attention because some of the fields are parameters for one

of the data reduction programs (CALDAS). The line length

may not exceed 72 columns. The last word on the line

specifies the unit of measurement. This field may not

exceed 10 characters and it may not contain embedded blanks,

commas, or slashes. Left-leaning slashes and underlines are

acceptable. Any type of unit may be specified, but

discretes must be indicated by the word "discrete." In the

case of a "packed discrete," then those two words must be

present. Abbreviations are not acceptable.

The alternate tables are short versions of DDATA.

Tables O through 7 are for real or integer data. Tables 8

through II do not differ from tables 0 through 7. However,

there is a hardware strip chart recorder interface

limitation that requires these tables to contain only

booleans defined as integers (INTEG). Specifically DAS

channels 17-24 must contain only booleans for onboard strip

chart recording.

Page 70: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-68-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

DSNAPDSNAP.FORDSPFSTDSPFSTCALL DSNAP

PURPOSE:TO record snapshot values of user specified

variables according to user defined criteria.

DESCRIPTION:The DSNAP routine records single-event values, called

snapshots, for selected variables and stores them inSNAPBUF, in DSRCOM, for subsequent output to the lineprinter by the SNAPOUTroutine. There are 5 snapshotcriteria tables (SCRIT), each a structured record whichcontains a key variable address, the criteria under whichthat variable should cause a snapshot recording, and a listof up to 15 addresses for the data to be sampled when thesnapshot occurs. (See the SCRIT table documentation in theDSRCOMlisting.) These tables are set up by the userthrough the DDSTARprocess.

DSNAPchecks as many snap tables as have been definedin DDSTAR (indicated by SNENT). First, the type of the keyvariable is determined from the STYPE sub-field in the SCRITtables. Depending on whether the key is an integer, real orsingle-byte, the current value is picked up through a callto GET WORD, GET REAL, or GET BYTE, respectively. All threetypes are processed similarly? The specified criteria maybe that the current value be less than, equal to, or greaterthan the threshold. If equality is specified, then a"window" will also have been specified and some approxi-mation of equality will be acceptable. If the specifiedcondition is met and a snap has not already been done forthis condition, then subroutine DUMPis called and the "SNAPDone" bit is set in the type word. If a snap has been donefor the specified condition, then, if that condition is nolonger true, the "done" bit is cleared and that snap

re-enabled. Thus, only one report is generated each time

the condition is satisfied.

That single-byte key variables may be booleans or

single-byte integers is irrelevant; both possibilities are

checked as if they were integers. A FALSE condition is

recognized by a value of exactly zero, TRUE is the least

significant bit set. This could also be true for a single-

byte integer but the difference is significant only for

subroutine SNAPOUT to determine the labelling when the snap

is printed.

Page 71: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-69-

Subroutine DUMP first increments SPTR (modulo-4) totell SNAPOUTthat a new snap has been recorded, then itstores the number of the snap in the 16th entry ofSNAPBUF(n).SDATA. Next, for as long as there is an address(up to 15) in SCRIT{n)_SLADR, the address list, it deter-

mines the type and byte count of each variable in the list,

collects the value at the address through calls to GET WORD,

GET_REAL, or GET_BYTE, as appropriate, and finally sto_es

them as integers or real numbers in the first 15 entries of

SNAPBUF(n).SDATA (or .SDATR). A flag is set to indicate

whether the variable is an integer or a real number, or elsethat there was an error or the end of the list.

GLOBAL REFERENCES:

VARIABLES

NOSNAP RPTR* SNENT SPTR* SRST*

RECORD ARRAYS

SCRIT*

FUNCTIONS AND SUBROUTINES

DUMPS FOR$BITEST GET BYTE GET REAL GET WORD

Page 72: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-70-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

SNAPOUTSNAPOUT.FORDSPSLWDSPSLWCALL SNAPOUT

PURPOSE:TO format and print snapshot recordings on the

aircraft line printer.

DESCRIPTION:SNAPOUTprints out snap data whenever new snapshots

have been added to the snap buffer (SNAPBUF(n).SDATA). Theglobal counter SPTR is set by the SNAP routine when a newsnap is stored. The global counter RPTR is set by theSNAPOUTroutine when the snap is printed. If the twonumbers do not agree, then one or more snap lists remain tobe printed and DSPSLWmakes the call to SNAPOUT. Bothcounters are modulo-4. SNAPOUTprints one list per call.

If a snap is to be printed, SNAPOUTfirst incrementsthe read counter RPTR and then formats a header line withthe snap number, the name, the time, and the snap criteria,storing these in the output buffer OBUF. It then takes oneentry at a time from the snap buffer, checks the form(integer, real or boolean), performs the necessary conver-sions, and stores the ASCII value in the output buffer. Itrepeats this for 5 entries per line, for 3 lines, or untilthe buffer is empty.

Because SNAPOUTrequires a change in the I/0 device,printing must be synchronized at the executive level. Theflag PRN_ACTIVE is used to signal that I/O is in progressand the output is then initiated through a call to SYS$QIO.Subroutine PRN_AST, specified in the QIO statement, clearsPRN_ACTIVE when the I/O is complete.

GLOBAL REFERENCES:

VARIABLES

PRINTER PRN ACTIVE* RPTR

RECORD ARRAYS

SNAPBUF

FUNCTIONS AND SUBROUTINES

LIB$SIGNAL OTS$CNVOUT OTS$CVT L TI PRN AST SYS$QIO

Page 73: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-71-

Section 6.0 NASA PFD SOFTWARE

The PFD format shows the current aircraft attitude andprovides other critical "aircraft state" information to thepilot. Refer to the PFD format drawing at the end of thissection.

The most outstanding section of the PFD format is therectangular area around the screen center that is topped bya 106 degree arc segment. This area is referred to as thePFD view window. Within the window a number of symbolsappear that depict aircraft roll, pitch, yaw, actual andreference flight path angle, angle of attack, and trackangle information. Three dimensional representations of the"TO" waypoint and the destination runway are displayed inthe window along with a flare guidance cue, radar altitude,and alert messages.

Angular perspective in the window is provided by thepitch grid and horizon ticks. The pitch grid has a doublesolid line representing the horizon which separates the skyfrom the ground, along with parallel grid bars spaced in 5degree increments. Along the horizon line, tick marks arespaced to show i0 degree steps of horizontal displacement.The other window symbology is interpreted against the gridand ticks to ascertain proper angular readings. The areafrom the horizon line to the top of the view window israster filled in blue to easily distinguish the sky/groundboundary formed by the horizon line. At the top of thewindow along the arc is a roll scale which uses a triangularpointer to designate current aircraft roll angle. The rollangle read from the scale corresponds to the amount of rota-tion applied to the horizon line within the view window.

On either side of the view window are gray raster filledrectangular areas called the airspeed and altitude tapes.They have tick marks and numeric values which can slidevertically giving the appearance of a rolling measurementtape.

The airspeed tape, on the left side of the view window,has the current aircraft airspeed value in the blacked outarea at the center of the tape. A blue, amber, or greenpointer box may also appear at the appropriate spot on thetape representing the current airspeed selection from thepilot's mode control panel. When airspeed is changing anelongated arrow will grow from the tape center verticallyalong the outside of the tape ticks and point to theairspeed that will be reached in ten seconds at the currentrate of acceleration or deceleration. Also along the sameedge of the airspeed tape is a wedge marker that indicatesthe upper airspeed suggested for the current aircraft flapsettings. Directly below the airspeed tape the selectedairspeed value, that corresponds to the airspeed pointerbox, is shown in either green or amber. The aircraft machnumber is shown above the airspeed tape when the valueexceeds 0.5.

Page 74: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-72-

On the right hand side of the view window is the alti-tude tape. Similar to the airspeed tape, the current air-plane altitude is shown in the blacked out area at the tapecenter. Alongside the sliding altitude tape on the rightis the vertical speed scale. A yellow arrow grows from thecenter indicating the rate of change in altitude in unitsof thousands of feet per minute. A blue, amber, or greenpointer box may also appear on the altitude tape represen-ting the selected altitude from the pilot's mode controlpanel. An amber or green triangular pointer whichrepresents the vertical profile of the aircraft's flightplan may also appear along the altitude tape edge. Theglideslope pointer and scale are shown just to the left ofthe altitude tape when selected. These appear as a set ofdeviation dots with a diamond shaped pointer. Included inthe pointer are the letters "GP" or "GS" standing for glidepath (MLS) or glideslope (ILS) respectively. The dots andpointer may be green or amber. Immediately below thealtitude tape area is the barometric pressure setting fromthe pilot's control display unit (CDU). The selecteddecision height value appears above the altitude tape.

The horizontal deviation indicators and scales arepresented below the PFD view window. Horizontal deviationfrom the aircraft's flight plan is shown by an amber or greenbox pointer, entitled "HOR", placed above a deviation scale.MLS azimuth or ILS localizer deviations are shown by atriangular pointer placed directly below the HOR deviationscale. The pointer indicates position relative to fivedeviation "dots" which appear along the bottom edge of theHOR scale. The pointer and dots may be shown in amber orgreen.

The corners of the PFD display contain information

pertaining to the current control and guidance modes of the

airplane. The upper left corner shows the current control

and auto-throttle mode. The destination waypoint of the

flight plan is shown in the upper right corner. The

currently selected horizontal and vertical guidance modes

are shown in the lower left and right corners respectively.

Both armed and engaged modes are announced, color coded

in amber (armed) and green (engaged).

The three upper right bezel panel buttons are active

on the PFD format. They are used to select the waypoint

star, perspective runway, and alert messages in order from

the top.

Only the right hand potentiometer, which controls the

value of the decision height, is used for the PFD format.

Page 75: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-73-

The interpretation of some of the symbology in the PFDwindow is affected by the "Velocity Vector" mode. Thismode changes the orientation of the symbols within thewindow. The display is considered in a velocity vector modewhen velocity control wheel steering (VCWS) or automaticguidance with pilot selectable flight path angle (FPASEL)is being flown. The current mode can be identified fromthe display screen by viewing the "Gamma wedge" and "Air-craft" symbology. In the velocity vector mode the gammawedge is a large stationary symbol, positioned at the screencenter. The small aircraft symbol moves relative to thegamma wedge to depict angle of attack and drift angle. Inthe standard mode a large aircraft symbol is fixed .8375inches above screen center• Angle of attack and drift angleare shown by the small moving gamma wedge. In either casethe pitch and flight path angle values associated with thesesymbols can be read directly off the pitch grid. The ori-entation of three items within the view window are affectedby velocity vector mode. They are the "Star Waypoint","Perspective Runway", and "Horizon Ticks" symbols. Thesethree objects all represent positions relative to the air-craft body in the standard mode as follows.

STAR The 3D position of the next waypoint.

RUNWAY The 3D perspective outline of the destinationrunway.

• TICKS The angular displacement to the nearest tendegree heading markers.

All three are representations of what would be seen throughthe pilot's view window. Since the airplane typically fliesin a direction slightly different from the direction pointedto by the aircraft body, the use of the above mentioned sym-bols is limited. When the aircraft is approaching a refer-ence point, such as the runway, the nose of the airplaneusually will be pointing away from it because of drift angleand angle of attack. Therefore the object will be displacedfrom the center of the screen, corresponding to being off tothe side or top of the pilot's view window. This problem isrectified by the velocity vector mode. Instead of orientingsymbols relative to the direction indicated by the aircraftbody, they are aligned in the direction the aircraft ismoving (inertial axis).

Page 76: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 77: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-75-

TDA22

OH200

1000

- 500

Z 0130- 000

- -500

29,92

-6

-3

:2-1

-1

-2-3

-6

IN

MLS AZ o o _o

o oMLS GPFLARE

PRIMARY FLIGHT DISPLAY

-figure 6.1-

' _/'_I . ,r_ T _'t,_lPRECEDING PAGE BLANK NOT FILMED

Page 78: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 79: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-77-

Section 6.1 NASA PFD PROCEDURES

Sixteen procedures are dedicated to the creation of

display buffer data for the Nasa PFD format. The following

chart lists the procedure names along with their source

code language and relative size. Those modules that serve

as utility subroutines to another procedure are shown with

their caller. The size provided is the percentage of total

PFD software memory usage.

Refer to Appendix A to identify which locations in the

output buffer (OUTDAT) are used by these modules. Note that

locations used for this format are tagged in the appendix bythe mnemonic "PFD". The following pages include module

descriptions for each of the sixteen NASA PFD software

procedures.

MODULE SOURCE SIZE

AIRGAM FORTRAN 9%

STAND OFF

CASMGR FORTRAN 2%

GUIDE "FORTRAN 18%

SCLXTK

MSGMGR FORTRAN 12%

PACK VAX MACRO 3%

PFD NASA FORTRAN 16%

RWYMGR FORTRAN 17%

SCREEN

SBXMGR FORTRAN 3%

STAR FORTRAN 14%

LIMITS

UNPACK VAX MACRO 2%

WINDOW FORTRAN 5%

PRECEDING PAGE BLANK NOT FILMED

Page 80: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-78-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

AIRGAMAIRGAM.FORDSPFSTPFD NASACAL_ AIRGAM

PURPOSE:TO compute the positions of the aircraft and gamma

wedges and their standoff symbols.

DESCRIPTION:This module determines where the aircraft and gamma

wedge symbols are positioned and calls the procedureSTAND OFF to perform the computations required for the"stand off" portions of these symbols. The gamma wedges andaircraft symbol are oriented differently in velocity vector

mode (vvmode), and non-velocity vector mode. For a detailed

description of when velocity vector mode is active, consultSection 6.0 in this document. If "vvmode" is active, the

gamma wedges are fixed at the screen center and the aircraft

symbol moves around the screen relative to the gamma wedges.

The aircraft X and Y positions are based on the rotated yaw

(BETAX) and rotated angle of attack (ALPHAX) values respec-

tively, which are computed in the module PFD NASA. The term"rotated" means that these values are transformed into the

pitch axis.

The gamma wedge standoff symbol will appear in "vvmode"

if the pitch column is stabilized (indicating no new flight

path angle is being commanded), and the difference between

actual and commanded gamma is greater than 1.5 degrees. The

standoff symbol is a red dashed diamond, the same size as

the diamond in the middle of the gamma wedges. The standoff

symbol will be displaced directly above or below the gamma

wedges by the degree difference of actual and commanded

gamma. As the two values converge, the standoff symbol will

move closer to the gamma wedges until it is within the 1.5

degree range - at which time it will disappear.

When "vvmode" is not valid, the aircraft symbol be-

comes the fixed object on the screen. It is positioned at

.8375 inches above the center of the screen, which in effect

defines a new screen center. The gamma wedges will now move

relative to the aircraft, with its position based on the ro-

tated angle of attack and rotated yaw values.

There is also a standoff symbol for the aircraft. It

will appear if the attitude control wheel steering button

has been pressed on the pilot's mode control panel, no pitch

column input is being received, and the difference between

actual and commanded pitch is greater than 1.5 degrees.

Page 81: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-79-

The aircraft standoff symbol is also composed of red dashedlines, and resembles a "w". It is actually the same sizeand shape of the middle section of the aircraft symbol. Theaircraft standoff symbol is displaced above or below theaircraft by the actual and commanded pitch difference.

It should be noted that the moving aircraft and gammawedge symbols are limited to the sides, top, and bottom ofthe PFD window, so that they will never disappear entirelyfrom the screen. Also, the standoff symbols are limited tothe top or bottom edge.

Although AIRGAM does not specify it, there are two setsof aircraft and gamma wedge symbols for "vvmode" and "non-vvmode". In "vvmode" the gamma wedges fixed at the screencenter are large, while the moving aircraft is smaller. In

"non-vvmode" the fixed aircraft is larger, and the moving

gamma wedges are smaller. The displays microprocessor soft-

ware is responsible for determining which set of symbols is

displayed.

GLOBAL REFERENCES:

VARIABLES

ACWS AIRCFX* AIRCFY* ALPHAX BETAX FPAPFD GAMC GAMMA MXALF

PITCH PITFLG RLLFLG STDOFF* VVMODE

FUNCTIONS AND SUBROUTINES

STAND OFF XLIM

Page 82: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-80-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

STANDOFFAIRGAM.FORDSPFSTAIRGAMCALL STAND_OFF(FLAG, DELTA, INIT, BIAS)

PURPOSE:TO compute the "stand off" symbol offsets from the

gamma wedges or aircraft symbols.

DESCRIPTION:STAND_OFFis a utility subroutine called solely by the

procedure AIRGAM. Four values are passed in as formalparameters. The first is a logical value which signalswhen the proper conditions exist for a "stand off" symbol.The next value is the angular difference between the actualand commanded aircraft parameter being processed by AIRGAM.This value is filtered with a half second time constant tosmooth transitions. When the filtered value is above 1.5degrees the standoff symbol is enabled. A filter initial-ization flag is the third parameter. The last parameterpassed to the module is a bias value which is added directlyto the computed stand off position. This is for the 5 degreeoffset of the aircraft symbol used when not in a velocityvector mode.

Page 83: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-81-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

CASMGRCASMGR.FORDSPFSTPFD NASACALL CASMGR

PURPOSE:Compute data values associated with the PFD airspeed

tape.

DESCRIPTION:The calibrated airspeed (CAS) tape is located on the

left side of the PFD format. The current aircraft airspeedis shown in the window fixed in the center of the tape area.The acceleration segment is a yellow arrow which starts atthe actual airspeed box and extends vertically to theairspeed value which will be obtained in ten seconds at thecurrent rate of acceleration or deceleration. Referenceairspeed is depicted on the display in two ways. A pointerbox is placed along the airspeed tape at the positioncorresponding to the desired value. Also the referenceairspeed value is shown under the tape.

CASMGRcomputes values for the acceleration segmentlength, reference airspeed, and actual airspeed. Thefixed point binary values sent to the displays are scaledto provide the resolution required for accurate presentationon the PFD screen. Reference airspeed is obtained directlyfrom the value selected on the pilot's mode control panel.Aircraft calibrated airspeed is filtered to remove signalnoise and used as the display CAS value. A one second lagfilter is also applied to find the airspeed rate of change.The display acceleration segment length is derived from theairspeed differential.

The color used for the display of the reference air-speed is set in CASMGR. Logical values from the pilot'smode contol panel are tested to determine the correctsetting of the color index sent to the PFD format.

GLOBAL REFERENCES:

VARIABLESACCSEG* CAS CASACT* CASF CASFLG* CASREF* IASARM IASSELIASSUM

Page 84: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-82-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

GUIDEGUIDE.FORDSPFSTPFD NASACALL GUIDE

PURPOSE:Process PFD horizontal and vertical modes as dictated

by the pilot's mode control panel.

DESCRIPTION:This procedure serves as the interface between the PFD

format and the pilot's mode control panel. The horizontaland vertical guidance modes selected on the mode controlpanel are reflected in various types of color coded PFD textand symbology. The three light colors which may appear onthe mode control panel are blue, amber, and green. Theysignify that the various modes are preselected, armed, orengaged respectively. The associated PFD format symbologyfollows the mode contol panel color coding to provideclear correspondence between the cockpit readout devices.

GUIDE performs its processing in the five steps listedbelow.

. Process the engaged vertical axis mode• Process the armed vertical axis mode• Process the preselected vertical axis mode. Process the engaged horizontal axis mode. Process the armed horizontal axis mode

Note that there are not any preselected horizontal axismodes.

The remainder of this module description shows thevarious modes available in the horizontal and verticalguidance axes. The PFD symbology affected by the guidancemodes is also included.

VERTICAL AXIS

GUIDANCEMODESAuto land flareAuto land glideslope (GPS)Auto land glideslope (MLS)Auto land glideslope (ILS)Vertical pathAltitude selectionFlight path angle selection

Page 85: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-83-

PFD SYMBOLOGYGlideslope bug and scaleVertical path deviation pointerFlight path angle reference barSelected altitude pointer boxSelected altitude readoutVertical mode readout (both armed and engaged)

HORIZONTALAXIS

GUIDANCEMODESAuto land localizer (GPS)Auto land localizer (MLS)Auto land localizer (ILS)Horizontal pathTrack selection

PFD SYMBOLOGYLocalizer bug and scaleHorizontal path deviation pointer and scaleHorizontal mode readout (both armed and engaged)

GLOBAL REFERENCES:

VARIABLESALTARM ALTCORALTREF* ALTRFV* ALTSEL ALTSUMAUTO BETAH DLBSDVBS ETAH FPABAR* FPAREF* FPASEL FPASUMFPDIAL* GPSMGSAGSE GSREF* HER HORARMHORPTHHORREF*HRAD HRZARM* HRZENGLAND LOCE LOCREF* MLSMPSTALT PSTFPA SELFPA TKSEL VDISCVERARMVERPTH VRTARM*VRTENGVRTREF*

FUNCTIONS AND SUBROUTINESALT CNVRT SCLXTK

Page 86: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-84-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

SCLXTKGUIDE.FORDSPFSTGUIDEINTEGER_VALUE= SCLXTK()

PURPOSE:TO compute the horizontal deviation pointer position.

DESCRIPTION:SCLXTK determines the full scale width, in feet, of the

horizontal deviation indicator and computes the appropriateposition of the pointer. By default the horizontal deviationscale represents 7,500 feet in either direction from thecenter. When the aircraft is close enough to the touchdownrunway's localizer shack the full scale width varies tomatch a localizer angular deviation. At runway thresholdthe width is 350 feet. The distance along the path wherethe width reaches the 7,500 foot maximum is dependent on thedistance of the localizer shack to the runway threshold.Once the scale width has been determined the horizontaldeviation pointer position is computed using the aircraftcross-track value (XTK).

GLOBAL REFERENCES:

VARIABLES

ACTCNT DTOGO RWYLEN TOWPT XTK

ARRAYS

AIRPTS

RECORD ARRAYS

ACT WPTS

FUNCTIONS AND SUBROUTINES

XLIM

Page 87: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-85-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

MSGMGRMSGMGR.FORDSPFSTPFD NASACALL MSGMGR

PURPOSE:TO display messages to the screen alerting the pilot

that certain conditions exist.

DESCRIPTION:MSGMGRcontains the logic for the alert and warning

messages displayed on the PFD screen. The messages, eachof which consists of up to seven characters, are displayedin the lower half of the PFD window in large yellow letters.MSGMGRis executed twenty times per second, but only threemessages may appear in one second. Therefore, every seventhiteration a valid warning or alert message may be shown.The text is displayed for its one-third second time frame.Priorities are given to the alert and warning indicators.The three valid messages with the highest priority aredisplayed in the three time slots available in one second.Each second conditions are re-checked, and again the threevalid messages of highest priority are shown, so that someindicators which are also valid may not appear. On theother hand when there is no text to be displayed that areaof the PFD is blanked.

A priority has been given to the messages such thatwarning indicators are output before alert indicators. Thepriority of warning text is as follows: 'AOA', 'FLAPS','GEAR', 'D/H', 'OM', 'MM', and 'LNK MSG' in that order. Thepriority for alert text is: 'ALERT', 'CLIMB' or 'DESCEND','TUNRL' or 'TURNR'. All of the messages except 'AOA'

require that the message bezel be pressed on before they are

displayed. The 'AOA' message will automatically appear in

red when the maximum alpha currently computed by the flight

controls software is exceeded and ground speed is greaterthan 64 knots.

The warning indicator 'FLAPS' has the second highest

priority. It may be shown in either red or yellow. A red

message indicates that either the flap handle positions for

the forward and aft flight decks do not agree, or the flap

settings are outside the structural limits of the airplane

at the current airspeed. A yellow message will appear if

the flaps are not set correctly for the current airspeed,

or if the flaps are set at 40 and the airplane weight is

greater than 95,000 pounds. Only the 'AOA' and 'FLAPS' text

can appear in red, all other messages are shown in yellow.

Page 88: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-86-

The next two indicators processed are the gear and de-cision height warnings. If the runway bezel has been press-ed on, and the flaps are set higher than 15, and the landinggear is not locked down, the text 'GEAR' is flashed. Thismessage indicates to the pilot that the landing gear needsto be lowered. The warning 'D/H' appears when the radaraltitude moves within the 30 foot range above the decisionheight, provided that the decision height is above 45 feet.The text 'D/H' is displayed for ten seconds.

Outer markers and mid markers are both physical posi-tions on the ground located near runways, and are used by

the pilot on runway approaches to verify his position. The

text 'OM' or'MM' is displayed when the airplane passes over

one of the markers, and its radio signal has been sensed.

The lowest priority warning message is 'LNK MSG'. This

message indicates that a data uplink has been received, and

is a cue to the pilot to check the data link display for the

uplinked information.

The next set of indicators is the alert messages.

They have lower priority than the warning messages, so that

if all three time slots within one second have been filled

already, no alert messages will be shown even if they are

valid. Alert messages appear when the airplane is close to

the next waypoint and they describe what general direction

the airplane will take after it passes the waypoint. The

actual logic to display alert indicators is: the alert flag

must be on (it comes on ten seconds before the next waypoint

and goes off after reaching it), the runway is not being

shown, and the approaching waypoint is not the last one.

The text 'ALERT' has highest priority among the alert

messages. The 'CLIMB' indicator is valid if the airplane

altitude increases by 10 feet on the next flight path leg,

and 'DESCEND' is valid if it decreases by i0 feet. The

'TURNL' indicator is true if the airplane turns to the left

more than 2 degrees on the next leg, and 'TURNR' is true if

it turns to the right more than 2 degrees. If there is a

time slot available and alert messages are valid, 'ALERT'

will always appear. The other alert messages are shown if

there is room to show all that are valid. In other words,

if ALERT/CLIMB/TURNL are all true but only two time slots

are available, 'ALERT' only is shown because 'CLIMB' does

not by itself adequately describe the next flight path leg.

Also, once it has been determined that there is enough slots

to show a complete set of alert messages, all warning mes-

sages are suppressed for the rest of that second (because

warnings have higher priority and may interrupt the alert

message being shown) to allow the alert messages to be dis-

played.

Page 89: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-87-

GLOBAL REFERENCES:

VARIABLESACTCNTAEEF ALRTFG* CASF DECHT DLINK FLG FLAP FLAP LIMITSFLPPLC GRPOSHORPTHHRAD MIDMRKMSGBZLMXALF NAV64K OUTMRKRWYBZLRWYVLDTOWPTVERPTHWEIGHT WPTALR

RECORDARRAYSACT WPTS

Page 90: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-88-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

PACKPFDPK.MARDSPFSTPFD NASACALL PACK

PURPOSE:TO pack boolean values into one discrete word and

send it along with the decision height value to the PFDformat.

DESCRIPTION:This procedure stores four items into the display

output buffer for transmission to the PFD format. Twelveboolean values are packed as one bit discretes into a word

of the display buffer. Three display buffer words are

packed with twelve nibble (four bits) fields. The bit and

nibble assignments are shown below.

PACKED DISCRETE WORD

BIT VARIABLE

0 IATTV

1 VVMODE

2 ALTHLD

3 STRVLD

4 TRKBGF

5 RWYVLD

6 ALTRFV

7 HRV

8 CASV

9 CALTV

I0 FMTVLD

Ii

DESCRPTION

Attitude valid

Velocity vector mode

Altitude hold mode

Waypoint star valid

Track bug flag

Perspective runway valid

Altitude referenve valid

Radar altitude valid

Calibrated airspeed validAltitude valid

PFD format valid (constant on)

TKSEL OR PSTTKA OR HORPTH Horizontal guidance valid

NIBBLE WORD #i

CTRLMD Control mode index

AUTHMD Auto throttle mode index

RLLFLG Roll command detent index

PITFLG Pitch command detent index

NIBBLE WORD #2

RWYFLG Perspective runway approach indexCASFLG Selected CAS color index

HRZENG Engaged horizontal mode index

HRZARM Armed horizontal mode index

NIBBLE WORD #3

VRTENG Engaged vertical mode index

VRTARM Armed vertical mode index

FPABAR Flight path angle bar color index

ALRTFG Alert message index

Page 91: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-89-

The digital value of the right bezel panel potentiometer isfetched from the display input buffer to compute decisionheight. The address contained in PFDBZL points to the inputbuffer area corresponding to the pilot's PFD. The range ofvalues obtained from the pot is 0FFFH (all the way left) to0000H (all the way right). The raw pot values are trans-lated into decision height values (feet) by the equation:

DH = .243956 * (4095 - POT VAL)

The 'ones' digit is forced to zero to give decision heightin increments of I0 feet. Note that a POT VAL of 0FFFH

produces a result of -30 feet. In actuality negative values

are not obtained because none of the potentiometers provided

ever reach the full 12 bit range. Typically the digitized

value obtained from the pots on any DU bezel panel will only

be 0F70H when turned completely to the left. This value

corresponds to a decision height of zero feet.

GLOBAL REFERENCES:

VARIABLES

RWYVLD STRVLD TRKBGF VVMODE FMTVLD CASV HRV MACHV LOCVLD

CALTV IATTV PFDBZL

ARRAYS

OUTDAT*

Page 92: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-90-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

PFD NASAPFD NASA.FORDSPFSTDSPFSTCALL PFD NASA

PURPOSE:TO serve as the display MicroVAX executive module to

the NASA primary flight display format.

DESCRIPTION:This module is the executive procedure for the NASA

primary flight display format. Several small PFD compu-tations are performed directly within this module, whileindividual procedures are called to handle larger operationsassociated with the PFD format.

Setting the logical value of the waypoint alert flagis the first operation performed. The flag is set when

the aircraft is within ten seconds of the destination

waypoint (straight leg or DMA turn), or the inbound

tangent point (non-DMA turn), while traversing the active

flight plan. The aircraft must be within 500 feet of the

horizontal flight plan profile to be considered on the

flight plan.

Four memory locations in the microprocessor output

buffer are filled next. These are the actual roll,

commanded roll, actual altitude, and vertical speed, they

are computed from the flight controls variables ROLL, DROLL,

ALTCOR, and HDCF respectively. The two roll variables are

simply scaled and stored as fixed point values. The

altitude is converted to a sign adjusted fixed point value

by the function ALT_CNVRT. The fixed point vertical speed

sent to the PFD is an exponential scaling of the altitude

rate from flight controls. The screen units of length, in

one-thousandths inches, for the altitude rate arrow is

produced as follows.

(809.47353 * HDCF) ** .65

The flight control variables PDCOL and WHLINP are

tested to determine the "out-of-detent" status of the

pilot's side arm controller. Display buffer indices are

set to indicate when roll and pitch commands are in

progress.

The orientation of the display screen depends on modes

of guidance used by the aircraft. The display screen is

oriented along the aircraft "velocity vector" when the air-

craft is flying velocity control wheel steering (VCWS) or

automatic guidance with a manually selectable flight path

angle (FPASEL). The introduction to this section describes

this concept in more detail. The flag VVMODE is set to true

or false by PFD NASA to indicate which orientation will be

used.

Page 93: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-91-

The variables FPAPFD and THETA_PFDrepresent the flightpath angle and pitch angle used by the PFD format. Thetable below shows the settings of these variables undervarious conditions.

Condition FPAPFD set to

• VCWS• FPASEL

OTHER

Commanded flight path angle from control column.Selected flight path angle from AGCS modecontrol panel.Actual flight path angle quickened by the rateof change of pitch.

Condition THETA PFD set to

• ACWSOTHER

Commanded pitch from control column.Actual pitch angle•

The display of "Angle of Attack" and "Yaw" are thencalculated by the equations:

AOA = FPAPFD - THETA PFDYAW = TRACK - HEADING

These values are translated into the aircraft body axis

by performing a coordinate transformation with the air-

craft roll angle• The following is a summary of how the

values described above are used in the positioning of the

"Gamma Wedge" and "Aircraft" symbols• Note some of the

operations mentioned take place in the routine AIRGAM.

In Velocity Vector mode:

The Gamma Wedge symbol is fixed at the center of the

display screen.

The center of the Pitch grid background is displaced

from the Gamma Wedge by FPAPFD. Therefore the Gamma

appears at the correct pitch grid marker.

The Aircraft symbol is drawn relative to the Gamma

wedge by using the transformed angle of attack and yaw.

Not in Velocity Vector mode:

The Aircraft symbol is fixed at a position .8375 inches

above screen center.

The center of the Pitch grid background is displaced from

the Aircraft symbol by THETA PFD. Therefore the aircraft

symbol appears at the correct pitch grid marker.

The Gamma Wedge is drawn relative to the Aircraft symbol

by using the transformed angle of attack and yaw.

Page 94: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-92-

Two transformation matrices are created in PFD NASA foruse by other procedures. The first is the TL2B matrix whichtransforms a 3D vector from geographic to aircraft bodycoordinates. The second, TB2E, changes body to velocityvector coordinates. See the descriptions of the proceduresSTAR and RWYMGRfor more information on the use of thesematrices.

Finally, nine PFD format procedures are called togenerate the data for the PFD format in the microprocessorsystem.

GLOBAL REFERENCES:

VARIABLESACTALT* ACTROLL* ACWSALPHAXALTCORAUTO BETAX CALPX CBETXCROLL DROLL DTOGOFPAPFDGAMCGAMMAGSFPSGUID2D HDCF HDGFHDOT* NAV64K PDCOLPITCH PITCH Y* PITFLG* RLLFLG* ROLLSALPX SBETX SKYPTR* SROLL TOWPTTRKF VCWSVVMODEWHLINPWPTALR* XTK

ARRAYSTB2E* TL2B*

RECORDARRAYSACT WPTS

FUNCTIONSAND SUBROUTINESAIRGAM ALT CNVRTANGL CASMGRGUIDE MSGMGRMTH$SIGN PACKRWYMGRSCOSDSTAR UNPACKWINDOW

Page 95: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-93-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

ALT CNVRTPFD NASA.FORDSPFSTPFD NASAINT VALUE = ALT CNVRT(FP ALTITUDE)

PURPOSE:TO return the fixed point altitude for the micro-

processor display output buffer.

DESCRIPTION:Altitude values, in feet, for the aircraft can reach

above the maximum binary word value possible (32,767). TheMicroVAX uses floating point data to work with altitudes toavoid problems. However, floating point altitude valuesabove 32,767 will cause VAX conversion errors when refor-matted to 16 bit integers for transmission to the displays.The function ALT CNVRT alleviates this problem by convertingthe floating point altitude to a 32 bit longword integerand saving only the lower 16 bits. No MicroVAX conversionerror occurs, however high altitudes become the binaryequivalent of large negative numbers. This is accounted forby the PFD format itself. The "high altitude" values aretreated as unsigned 16 bit integers by the microprocessorssoftware.

Page 96: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-94-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

RWYMGRRWYMGR.FORDSPFSTPFD NASACALL RWYMGR

PURPOSE:TO compute the screen coordinates of the perspective

runway PFD symbology.

DESCRIPTION:

A number of conditions must be met before the perspec-

tive runway symbology will be shown on the PFD format.

These include:

Runway selected on PFD bezel panel.

Destination runway defined on active flight plan.

Airplane is within the ILS zone defined around runway

approach.

Aircraft heading differs from runway heading by less

than 40 degrees.

Altitude above runway is less than 2,500 feet.

The computation of runway parameters proceeds when all theabove conditions are met.

Four different coordinate systems are employed by RWYMGR

while performing the calculations. They are defined asfollows:

GEOGRAPHIC: X - NORTH Y - EAST Z - UP

RUNWAY: X - RWY CENTER LINE

Z - UP

Y - RWY THRESHOLD LINE

BODY: X - ALONG BODY Y - THROUGH WINGS Z - THROUGH

BODY, PERPENDICULAR TO WINGS

INERTIAL: BODY AXES ROTATED BY (TRACK - HEADING) AND

(FLIGHT PATH ANGLE - PITCH)

First the position of the aircraft relative to the

runway threshold point is computed. The values obtained

represent a distance vector with each element of the vector

representing the distance between the aircraft center of

gravity and the runway threshold point, projected onto the

geographic reference axes.

Page 97: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-95-

The geographic distance vector is transformed to therunway frame of reference. The "X" component of the newvector is used to perform a "Psuedo-clip" operation on therunway coordinates. Performing 3D clip calculations foreach vector used to draw the runway is very time consuming.An approximation using the "X" component of the runwayreferenced distance vector is used instead. The idea behindthe "psuedo-clip" approximation is to throw away some of therunway as the airplane approaches. The amount to throw awayis determined from the "X" and "Z" components of the runwayreference distance vector (see figure 6.2 at the end of thisdescription). This technique requires that the aircraft isapproaching the runway down the centerline with small pitchand yaw angles. When these criteria are not met the runwaycoordinates, after transformation to the body frame ofreference, may cause one of two problems. If too muchrunway is truncated the front of the runway may disappearon the screen instead of running below the bottom edge ofthe view screen. A worse situation occurs when not enoughis truncated. The points that are transformed behind theaircraft center of gravity actually are reflected back aheadof the airplane. This will appear as spurious lines beingdrawn onto the display screen. Note the conditionsgoverning the display of the runway symbology (mentionedabove) along with standard flight procedures around thetouchdown runway make the runway truncation a validprocedure.

A transformation matrix is created which changes run-way coordinates to body reference. The global matrix TL2B(Transform Local to Body) is adjusted by runway heading tomake the new transformation matrix. The local procedureSCREENwill use this matrix when performing its computa-tions.

Figure 6.3, at the end of this module description,shows eight points representing the outline of the runway inthe runway coordinate system. These points are sent to thelocal procedure SCREENfor transformation. The coordinatesfor each point are shown in the following table.

POINT (X)...COORDINATES (feet) ... (Y)1 0 (or truncation point) -I002 length of actual runway -I003 length of actual runway I004 0 (or truncation point) 1005 -6076 (or truncation point) 06 1.0E+I0 (infinity) 07 I000 (or not shown) -i008 I000 (or not shown) i00

Page 98: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-96-

The "Z" value for all points is implicity defined as runwayelevation. Note that the threshold and touchdown lines neednot be drawn when the truncate point advances past them.The index RWY INDEX is used to pass this information to thedisplay system.

RWYINDEX012

ACTIONDraw threshold and touchdown linesDraw touchdown lineDraw neither line

The procedure SCREENis called to compute the X and Yscreen coordinates, in one-thousandths inches, for therunway points. The screen coordinate values are sent to thedisplay processors as 16 bit fixed point integers. Thevalues sent during an approach to the runway vary by such alarge amount that a single scale factor value for thecoordinates could not be chosen. Instead the coordinatesare scaled dependent on the largest value created by theprocedure SCREEN. All values are multiplied by the computedscale factor before conversion to integer format takesplace. The scale factor used is also sent to the displaysystem, via the output buffer, for proper interpretation ofthe coordinate values sent.

GLOBAL REFERENCES:

VARIABLESALTCOR COSRHDLATFT DLONFTDLT ALT DLT RWYX DLT RWYY* HDGFILSZON INT SCALE* LAT LON RWYBZLRWYFLGRW_HDGRWYLATRWYLENRWYLONRWYVLD* RYELEV SINRH TRKF VVMODE

ARRAYSAIRPTS OUTDAT* RWYTO BDY* TL2B

FUNCTIONS AND SUBROUTINESANGL SCREEN

Page 99: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-97-

ZOH

k--C]Z(_D-7

rVk-

I11

(Z7-

£3r"l,"CD

0(._)

0

g

',,,,, S

" laj"

\\

X

I

N v." Z

rrt--

ii

I--Z

O

ZO

I--

ZDrvI---

\%

\

\

ZWZ

X 0

T-O(_)

<

0_J

Z Ls.JD

Z

(D

ZIX GI

ZO o

-figure 6.2-

Page 100: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 101: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-99-

7

(3

TOUCHOOWN POINT

_._ -I_" THRESHOLD POINT IS ORIGIN

. t OF COORDINATES IN RUNWRY_$I 8 ._._ I_ FRRME OF REFERENCE

RUNI,,IRY COORD I NRTE PO I NTS

-figure 6.3-

PRECEDING PAGE Bt.A_K NOT FILMED

Page 102: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 103: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-I01-

MODULE NAME:

FILE NAME:

PROCESS:

CALLED BY:

CALLING SEQUENCE:

SCREEN

RWYMGR.FOR

DSPFST

RWYMGR

CALL SCREEN(RWY_X, RWY_Y, SCR_X, SCR_Y)

PURPOSE:

To compute screen unit coordinates on the PFD format

for the perspective runway symbology.

DESCRIPTION:

The procedure screen receives the X and Y offsets of

runway points as its first two calling parameters. These

are values in feet in the runway coordinate system, centered

on the runway threshold line. The position of the runway

point relative to the aircraft is found by adding the air-

craft offsets computed by RWYMGR (DLT RWY X and DLT RWY Y).

A vector is made that changes the coordinates _rigTn

from the runway threshold to the airplane position. This

vector is transformed from the runway frame of reference to

the airplane body frame. If a velocity vector mode of

flight is in use the body coordinates are transformed to the

system oriented in the airplane inertial frame of reference.

The tangent of the pilot observation angles (up/down, left/

right) are found by the ratio of the Z and Y coordinates

with the depth coordinate (X). The PFD screen coordinates,

in one-thousandths inches, are returned to RWYMGR through

the last two calling parameters.

GLOBAL REFERENCES:

VARIABLES

DLT ALT DLT RWY X DLT RWY Y RWYVLD* VVMODE

ARRAYS

RWY TO BDY TB2E

FUNCTIONS AND SUBROUTINES

MXV

Page 104: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-I02-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

SBXMGRSBXMGR.FORDSPSLWDSPSLWCALL SBXMGR

PURPOSE:TO control and output to the PFD information concerning

aircraft autothrottle and control modes, the 'TO' waypoint,and the current mach.

DESCRIPTION:The upper left corner of the PFD is reserved for

information concerning the aircraft's control and auto-throttle modes. The text "AUTO", "VCWS", or "ACWS" may bedisplayed in the control mode slot (which is the linedirectly above the autothrottle text line) depending on thecurrent flight state. If the aircraft is flying auto-throttle then the following text can be shown in the auto-throttle mode slot: "AT CAS" for autothrottle selected, or"AT 4D" when flying four dimensional guidance. For bothmodes, if the conditions are not met to display text thenthe slots remain blank.

The "to" waypoint name will appear in the upper rightcorner of the PFD whenever two dimensional guidance ispossible. The name consists of five characters, and isretrieved from the active guidance buffer. When 2D guidanceis not possible the area will be blanked.

SBXMGRalso stores the current mach value in the dis-play output buffer. It will appear above the airspeed tape

on the PFD screen when it is .5 or greater. Mach is scaled

by one thousand to provide three digits of accuracy on thedisplay.

GLOBAL REFERENCES:

VARIABLES

ACWS AUTHMD* AUTO CTRLMD* GUID2D IASSEL MACH PFD MACH*PFD TO WPT* TIMPTH TOWPT VCWS

RECORD ARRAYS

ACT WPTS

Page 105: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-103-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

STARSTAR.FORDSPFSTPFD NASACALL STAR

PURPOSE:To compute the screen coordinates and zoom factor for

the waypoint "Star" symbol of the PFD format.

DESCRIPTION:The waypoint "STAR" symbol on the PFD depicts a three

dimensional representation of the current position of thedestination waypoint on the active flight plan. When thepilot maneuvers the aircraft so that the track and flightpath angle symbology lie on the STAR symbol, the aircraft isflying directly to the next waypoint on the flight plan.The size of the STAR remains constant, until the aircraft isclose to the waypoint. Then the STAR zooms, to simulate a3-D effect until the waypoint is reached•

First logical comparisons are made to determine if theproper conditions exist for displaying the STAR symbol.The following criteria must be true to proceed with thenecessary calculations.

• A valid 3-D flight plan exists (altitudes for eachwaypoint exist)

• The "STAR" bezel button on the PFD display has beenpressed•

• The 'TO' waypoint is not the last waypoint on theactive flight plan.

The size of the STAR is sent to the display processor

as a 16 bit integer scale factor named STARZM. The value

represents the ratio of the original STAR size times 1024.

For example, a value of 1024 for STARZM means display the

normal sized STAR (i * 1024). If a STAR 5.25 times as large

as the normal size is desired, STARZM would be set to 5376

(5.25 * 1024). When the aircraft is within 3,500 feet the

STAR will start to zoom (i0 seconds before arrival at 210

knots)• The amount of zoom is proportional to the air-

craft's distance from the 'TO' waypoint. The STAR will grow

to 20 times its original size before it is removed from the

display screen until a new 'TO' waypoint can be shown•

Page 106: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-104-

The position of the STAR on the PFD format representsthe track and flight path angle required to reach the 'TO'waypoint from the current position of the aircraft. Thisonly corresponds to flight plan guidance when the currentposition of the aircraft is on the flight plan. The bearingto the destination waypoint is found using earth centeredvectors pointing to both the aircraft position and the 'TO'waypoint. The normal vector to the plane formed by theearth centered vectors is compared to an "absolute west"vector to produce the desired bearing. Desired flight pathangle is found using the distance to the destination waypointand the altitude differential between the positions. Thescreen positions are found by rotating the angular valuesinto the roll axis of the PFD horizon line and scaling thevalues to screen units (one-thousandths inches).

If the coordinates of the STAR symbol lie outside ofthe PFD view window, the coordinates are clipped so the STARsymbol is pegged to the side of the window by the subroutineLIMITS.

GLOBAL REFERENCES:

VARIABLESACTCNT ALTCORCLON CROLL DTOGOFPAPFD GAMXGAMYGUID3D LATLON SLON SROLL STARX STARY STARZM* STRBZL STRVLD* TK TOWPTVVMODE

ARRAYSAIRPTS

RECORDARRAYSACT WPTS

FUNCTIONSAND SUBROUTINESANGL LIMITS MTH$ASIN MTH$ATANMTH$ATAN2VCP VDP VMGXYZ

Page 107: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-105-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

LIMITSSTAR.FORDSPFSTSTARCALL LIMITS(XPOS,YPOS,XLIM, YLIM)

PURPOSE:To force the waypoint STAR within the boundaries of the

PFD viewing window.

DESCRIPTION:The first two calling parameters to LIMITS contain the

computed offsets from the screen center of the waypoint STARsymbol. The values are limited to fall within the PFD view-port and returned in the last two calling parameters.

The limiting operation consists of calculations whichdetermine the intersection of a line from the screen centerto the STAR, and the viewport boundary. Tests are made todetermine where the intersection will occur; viewport sides,bottom, or within the arc at the top. For the sides andbottom, which are either constant X or Y lines, theintersection is found from the fixed coordinate value at theboundary and the slope of the line. The arc intersectionis more difficult. Both the slope of the STAR line and thearc radius are used as follows.

XLIM = +/- SQRT(ARCRAD**2 / (SLOPE**2 + I))

YLIM = SLOPE * XLIM

Note that the "+/-" means XLIM will follow the sign of the

original unlimited X coordinate.

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINES

MTH$SIGN MTH$SQRT

Page 108: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-106-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

UNPACKPFDPK.MARDSPFSTPFD NASACALL UNPACK

PURPOSE:To process packed discrete words.

DESCRIPTION:UNPACKstarts by creating individual boolean variables

for each bit of the packed discrete word FCFLGS, which is a32 bit longword received from the FM/FC MicroVAX computer.The following is a list of the seventeen logical bytevariables formed from the individual bits of FCFLGS. Notethat the variable ALTHLD is logically negated when unpackedfrom FCFLGS.

LOGICAL BIT DESCRIPTION

LOCE 0ACWS 1VCWS 2AUTO 3LAND 4MLSV 5GEAR 6MLSM 7DVBS 8DLBS 9LANDR I0GSE iiTDSP 12MXALF 13ALTHLD 14AEEF 15GPSM 16

localizer engageACWSmodeVCWSmodeAUTO modeLAND modeMLS validgear flagMLS mode engagedvertical beam sensedlateral beam sensedland armedglide slope engagedtrack dial spinAOA exceededaltitude hold of vcwsaft flight deck engagedGPS guidance selected

The 16 buttons on the PFD display bezel panel each con-trol one bit in a microprocessor input word. A bit is 'I'while the button is depressed, otherwise it is '0'. Thepacked word containing the 16 bezel bits is sent to the hostcomputer in the 320 word transmission buffer. UNPACKusesthe addresses saved in the PFDBZL array to fetch the bezelwords for both the pilot and co-pilot PFD formats. Thebits are "one-shotted" to make long button presses appear asa one frame press. The memory word, OUTDAT(680), is used tokeep the current state of each bezel button. Each time apress is detected the corresponding bit in OUTDAT(680) istoggled to the alternate state. This gives the effect ofpress to enable function, press again to disable function.Only the three bezel buttons on the upper right side of the

display screen are used for the PFD format. Their usage is

listed below.

CO)_

Page 109: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-107-

LOGICAL BIT DESCRIPTION

STRBZL 0

RWYBZL 1

MSGBZL 2

bezel panel STAR select

bezel panel perspective runway select

bezel panel alert message select

The current state of the PFD bezel buttons is also sent

back to the PFD since OUTDAT(680) is part of the buffer that

is transmitted to the display system.

GLOBAL REFERENCES:

VARIABLES

LOCE* ACWS* VCWS* AUTO* LAND* MLSV* GEAR* MLSM* DVBS*

DLBS* LANDR* GSE* TDSP* MXALF* ALTHLD* AEEF* GPSM*

STRBZL* RWYBZL* MSGBZL* FCFLGS

ARRAYS

PFDBZL

Page 110: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-108-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

WINDOWWINDOW.FORDSPFSTPFD NASACALL WINDOW

PURPOSE:Compute position data for symbology used within the

PFD format viewing window.

DESCRIPTION:This procedure sends information to the PFD for four

different symbols. These are the horizon ticks, desiredtrack marker, track hold indicator, and the flare guidancecue.

The horizon ticks are a set of tick marks appearing atten degree intervals along the horizon line of the PFDformat. Depending on mode of operation, the center of thePFD view window is either the aircraft's current track orheading. Tick marks are all placed at even ten degree unitsof bearing. The offset to the first tick is computed byWINDOW, in one-thousandths inches, and stored in the micro-processor display buffer.

The desired track "T" bar rides along the top edge ofthe PFD horizon line. The bar is placed at the positioncorresponding to either the flight plan desired track, orthe selected track from the pilot's mode control panel.When the horizontal path guidance is engaged the desiredtrack of the flight plan is stored by WINDOW. Since themode panel selected track is always stored by navigationdisplay modules, WINDOWdoes not need to do so.

When track hold mode of Velocity Control Wheel Steering(VCWS) is engaged the commanded track "bananas" are shown onthe lower edge of the PFD horizon line. Their position isobtained by scaling the offset value created in the flightcontrols software.

The last item processed by WINDOWis the flare guidancecue. The screen position of the cue, in one-thousandthsinches, is computed when VCWSmode is engaged and radaraltitude is less than either selected decision height or200 feet. The computed position is proportional to radaraltitude. The guidance cue will meet the PFD horizon linewhen altitude above the runway is zero. The rate that thecue approaches the horizon line is .05 degrees per foot ofaltitude.

GLOBAL REFERENCES:

VARIABLESDECHT DSRTK FLARE* HDGFHORPTHHORTCK*HRAD MAGVARNOMTRK*PITCHY TKBUGX* TRKBGTRKBGF* TRKF VCWSVVMODE

FUNCTIONSAND SUBROUTINESANGL MTH$AMOD

Page 111: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-109-

Section 7.0 NAV DISPLAY SOFTWARE

The navigation display shows the position of the air-plane relative to ground positions and terrain features.Figures 7.1 and 7.2 at the end of this section depicttypical NAV display configurations for the two available mapbackground orientations (Map and Plan modes). The maporientation is a selectable feature controlled by a bezelbutton.

The airplane chevron in Map mode is fixed 1.25 inchesbelow the screen center and the symbology is displayed in a"track up" orientation. This means that the airplane'scurrent track is always the center of the compass arc at thetop of the display.

In Plan mode some other reference point, typically awaypoint, is used for the fixed position 1.25 inches belowscreen center. All other map background symbology is dis-played in a "north up" orientation. The airplane chevronsymbol moves about the display in this mode.

The NAV format screen is divided into three distinctareas. The major one is the airplane and map backgroundfeatures area. The second is the flight information area atthe top of the display above the compass arc. The verticaldeviation scale area is the third. The three areas exist inboth Map and Plan modes. The compass arc, which forms apartition between background and flight information areas inMap mode, is not shown in Plan mode however.

The flight information area contains wind speed anddirection information in the upper left corner in Map mode.Just a north pointer is displayed there in Plan mode. Theright hand side of this area has four lines of flight infor-mation text. The following describes the informationpresent on each line.

#i 'TO' waypoint information. Includes destinationwaypoint name and distance from present airplaneposition. Also the current Greenwich Mean Time isshown at the end of the line.

#2 Bezel selection indicators. Three letter mnemonicsappear when bezel buttons have been used to selectthe map options; airports, navaids, time box, oraltitude range arc.

#3 Like line #2, mnemonics are shown when terrainfeatures, ground reference points, or the boundaries

of restricted regions have been selected.

Page 112: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-ii0-

#4 Guidance and navigation modes. Aircraft modesinclude 2D/3D/4D guidance, track select, altitudehold, flight path angle select, and air speedselect. The aircraft navigation modes are shownat the end of the line.

The aircraft and map background area shows the air-craft's present position along with selected referencepoints. The orientation of the symbology depends on whichof the two modes is selected from the bezel panel. Flightplans are displayed as a series of straight and curved linesegments with four point star symbols designating specificwaypoints. The aircraft chevron has the current ground speedand altitude appended to the bottom when in Map mode. Alist of the symbols that can appear in the Map backgroundarea follows in the next sections. The symbology appearingin this area is masked from the other two NAV format areas.However the masking is only performed for the verticaldeviation area when the vertical deviation scale is presenton the display.

The altitude profile of the aircraft is shown via thevertical deviation scale. This scale appears in the lowerright hand corner of the display screen when appropriateconditions arise. A rectangular mask around the scale keepsbackground features from interfering when the verticaldeviation scale is present.

The NAV format uses twelve of the sixteen buttons

provided on the bezel panel of a DU. Neither of the two

potentiometer dials is used. The following table describes

the function of each NAV format bezel button. The naming

conventions are: L - left hand set, R - right hand set,

(I through 8) - button number with one being the top.

L1

L2

L3

L4

L5

L6

L7

L8

R1

R2

R3

R4

R5

R6

R7

R8

not used

not used

not used

Terrain features option

GRPs option

not used

ADIZ boundaries option

Map/Plan mode toggle

MLS select/deselect

Airports option

Navigational aids option

Time box option

Altitude range arc option

Path waypoint information option

Zoom out (scale change)

Zoom in (scale change)

p

Page 113: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-iii-

3Hfl->WS2@4 14:52

/

4

5

184 2.? _WS104

O KFG

NAV IGAT ION D ISPLAY( MRP MODE )

FORMAT

-figure 7.1-

Page 114: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 115: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-113-

H

I_ /i

//!

..

/

1.J .."

°f.

-_o7_"/

IHM->WS204 14:52

APT

BHD

2D [RS FPR IOO

."

RES i/.1

o

NAV IGAT ION D ISPLAY

(PLRN MODE)

FORMAT

-figure 7.2-

PRECEDING PAGE BLANK NOT FILMED

• .............. ._ L", _g.,.,_,,..:, ,3; '-,4, . _!

Page 116: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 117: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-115-

Section 7.1 THE NAV BACKGROUND BUFFER

The background data buffer is the first 400 words of

the 704 word buffer sent to the Sperry display system from

the host computer. Appendix A gives the layouts of the I/O

buffers. The background data occurs in varying amounts

depending on the position of the aircraft on the chosen

route, and contains information on the reference points and

flight plan. Unlike the rest of the data sent to the micro-

processor system, the background data is a variable length

stream, up to 800 words, of information which cannot be

identified by its I/O buffer position. Interpretation of

the data must be performed with a sequential parsing,

starting at the first location. Special code words are used

within the data stream to identify what type of background

information follows.

Each NAY format loaded into a display processor may

have unique background data. However the same 400 word data

area is used by all NAV formats, therefore they must take

turns using the background data buffer. Actually many of

the 704 word data buffers read from the host computer

contain no new data in the background area since background

updates occur infrequently (every five seconds, after a NAY

bezel button selection, or following a flight plan

modification).

A word of data, "OUTDAT(599)" in Appendix A, is used to

control the use of the background buffer. The meaning of

the bits in the Map Control word are as follows:

BITS DESCRIPTION

0-3

4

5-7

8-15

Display processor identifier code.

Part two update flag.Unused.

Update sequence number.

The display processor identifier code is a number that

designates the processor which should use this data. The

next chart gives the code values used for the various

processors.

CODE DEU # DP #

1 1 1

2 1 2

3 1 3

4 2 1

5 2 2

7 3 1

8 3 2

9 3 3

I_NT[N[IONALL@ B_NS

|_ I_

PRECEDING PAGE FLA_IK NOT F,_.M_.D

Page 118: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-116-

The part two flag informs the NAV format that the backgroundbuffer is to be considered a continuation of the last one

received. This gives the ability to send 800 words of

background data to a NAV format in two consecutive updates.

The sequence number informs the NAV format that the data in

the background buffer is new data. This number increments

every time a new background buffer is created. This allowsthe NAV format to distinguish between new data designated

for it and old data that has been in the buffer for a while.

All data within the background buffer is stored in

groups of 2 or more words. The first word of the group is

always a "group identifier word" having the group ID label,

class, and word count. The diagrams at the end of this

section show the various formats of background data words.

Bits zero through two of the group ID word are used for the

label. Presently only the following five of the possible

eight group types are used.

LABEL USAGE

0

1

2

3

4

Control group

Text group

Symbol group

Rotatable symbol group

Line segment group

The class code, bits three through seven, is used to

differentiate between variants of the given group. The

upper eight bits of the group ID word are the word count.

The value in this byte is the total words associated with

the particular data group following the ID word.

The control group is used to set up map display soft-

ware prior to the processing of the remaining background

data. Two classes exist in this group; start of transmission

(SOT) data and mode controls. The SOT class is always the

first data in the background buffer. The total number of

words used in the buffer for the entire background update is

stored along with the map sequence index. The index is used

to pick the correct map center displacement out of the array

of four sent from the host computer. Four map center values

exist because up to four independent NAV formats may run

simultaneously. The second class, mode controls, sets map

scale, enables selectable symbology (weather radar, time box,

range arc), and chooses map orientation (track up/north up).

The text group controls the placement of ASCII data on

the four available text lines appearing at the upper right

corner of the NAY format. The class value selects which

line data is written to.

Page 119: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-117-

Reference position symbols are placed on the displayby symbol group entries. The data for this group containsthe north and east displacements from the map center andoptional descriptive text to be shown with the symbol. Thetype of symbol (DME, GRP, AIRFIELD ...) is selected by theclass code.

Symbols which require a particular orientation on thedisplay screen are handled by the rotatable symbol group.The bearing and length (for runway only) is stored in thedata group in addition to the position and text data.

The final group currently used is the line segmentgroup. The class field of this group's ID word sets theline type and color for the following sequence of data. The

two words after the identifier word are the north/eastposition values from map center for the line segment initialpoint. The remaining data in this group occurs in blocks oftwo or more words and is very similar to the group techniquedescribed above. Each block contains one element of theconnected line/path segments being created. The first wordof these blocks is the path element ID, containing theelement type and word count. The element types are line,arc, on path waypoint, and off path waypoint. The lineelement commands a line to be drawn from the last pathposition to the position designated by the north/eastcoordinates provided. The arc type gives the subtendedangle, initial inbound angle, and the arc radius. The onpath waypoint element places a waypoint symbol at the lastdefined path position. Off path waypoints have their ownnorth/east coordinates for placement.

The symbology created from the background data isrepositioned on the display screen every 50 milliseconds bythe airplane position and track data received from the I/Obuffer. This allows the airplane to move smoothly over themap data. The only requirement is that the background beupdated at a fast enough rate so that the display screenalways covers the area defined by the background.

A sample background data buffer is shown below. Thevalues shown are the binary words presented in hexidecimalformat. The data produces a simple flight plan consistingof two straight segments, one arc segment, and a waypointsymbol entitled "COLIN". Text data for lines #i and #4 alsoappear in the data. The diagram on the following pageshows the path drawn from this data. Note the overlap ofthe physical viewing window which allows displacing thebackground from the physical screen center as the airplaneflies.

Page 120: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-118-

01000039

01080001

1204lIFE13070200FFF2FFE303015977F61D9FII0503F298FIE94F43494C204E02001307ED81

0A0120204E372D4D433E4C4F4E4920203231333A2032

0AI94433202041492053202020202020202058492058

; SOT.; 57 words background update.

; controls.; scale is 5NM radius.

; line segments - 18 words.; initial position: 4.606 inches east; 4.871 inches north.; draw line to:

; draw arc with:

; place off path wpt at:

; text: "COLIN "

; draw line to:

.014 inches west

.029 inches south.

125.8 degree turn

2.531 inch radius (left turn)

-136.3 degree inbound bearing.

3.432 inches west

3.607 inches south

4.871 inches east

4.735 inches south.

; text line #i.

; " 7NM->COLIN 12:32 "

; text line #4.

; "3D IAS IXX ".

Page 121: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-119-

CLIPPING WINDOW

VIEWING )OW

÷COLIN

SAMPLE PATH DATA

-figure 7.3-

Page 122: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 123: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

BACKGROUND BUFFER LAYOUT-121-

Burrer consists of 5 data groups:

Label Title

0 Control Group

1 Text Group

2 Symbol Group

3 Rotatable Symbol Group

4 Line Segment Group

Group Identifier words always precede data belonging to a specific group.

Group Identifier Word:

8bits 5bits 3 bits

Where:

Word count

Class

Label

= # of words in data group following identifier.

- identifies subgroup items, line types,colors, etc.

- group number 0 - 4 listed above.

Notes on units for following pages:

-- all distance values : I/lO00thinches.

-- all angular values: (degrees/180)* 2"*15.

-- all text: standard ASCII codes in consecutive byte order

-figure 7.4-

PRECEDING PAGE BLAi'IK NOT FILMED

Page 124: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 125: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

LABEL 0 ICONTROL GROUP:

-123-

SOT

! , ! o i o

BUFFER COUNT

Scale Range(nm)

0 2

I 5

2 I0

3 20

4 40

5 8O

I LABEL 1 ] TEXT GROUP

CLASS I COUNT l CLASS

O: Text line 1

2: Text line 3 • • • ITEXT

_ _×_"°__ I I II

I LABEL 2 J SYMBOL GROUP

CLASS

O: Mountain (Cv ignored)

1: Obstruction (Cv Ignored)

2: Non-directional Beacon (Cv ignored)

3: VORTAC (Cv ON = tuned) II

4: VOR (Cv ON = tuned)

5: DMEITACAN (Cv ON = tuned) I

6: Airfield (Cv ignored) I

7: GRP (Cv ignored)

8: Marker Beacon (Cv ignored) i9: Waypoint (Cv ON = provisional)

"4

Color variant (Cv)

I _OONTl i _'A_I _ I

1 _,_T_0_ !NORTH POS I

I In• • • ITEXT

Li: IJ

,q_.._.)._ ....... j,_,f.............. PRECEDING PAGE BLANK NOT FILMED

Page 126: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 127: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

I LABEL 3 ]

CLASS

ROTATABLE SYMBOLS

0: AIRFIELD (Length ignored)

1: Runway2: SRP (Length ignored)

GROUP

COUNT [ CLASS

EAST POS

l NORTH POS

L BEARING

LENGTH

[ [QQII

[ [

]

]JJ

JnITEXT

]J

-125-

LABEL 4 J LINE SEGMENT GROUP

LINE COLOR

O: White 4: Red

I: Green 5: Cyan

2: Blue 6: Magenta

3: Amber 7: Yellow

LINE TYPE

O: Solid

I: dot

2: Dash

3: Dot/Dash

PATH SUBGROUP ID:

O: Position

1: Arc

2: Wpt (on path)

3: Wpt (off path)

COUNT

.TYPE/COLOR

I_,,'1 4 !

EAST POS ]

NORTH POS ]

COUNT I ID ]

QO0

cou.t I ,D !If!

_I_I'LN I_Of'4_LLY8LA_t_PRECEDING PAGE BLANK NOT RLMED

Page 128: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 129: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-127-

IDO: Positlon I ID COUNT I 0

L EAST POS

L NORTH POS

I I000

I I

3 1

ANGLE

I

I

!

1 -1ITEXT

I J

ID I:Arc

RADIUS

BEARING

ID2: WPT(ON) i ID COUNT I 2

I IOQO

I I

I

I nITEXT

! J

ID 3: WPT (OFF) ID COUNT I

L EAST POS

I NORTH POS

I I000

I I

"l

ITEXT

Im

PRECEDING PAGE BLANK NOT FILMED

Page 130: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 131: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-129-

ID 4: TEXT I ID COUNT I

000

I I

4 I"l

ITEXT

I J

......_ ': '.:_-':' _,.,_"_'. PRECEDING PAGE DL,_,i'4KNOT FILMED

Page 132: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 133: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-131-

Section 7.2 NAV BACKGROUND UTILITIES

The data stored in the Navigation format background

buffer is created by calls to a set of utility procedures.

All the modules described in section 7.3 make calls to these

utilities to place graphic information into the map back-

ground. The set of procedures is small, totaling only four

percent of all navigation format software.

There are two categories of NAV background utilities.

The first group contains procedures which are called to

create NAV symbology independent of other utility calls.

The second group of procedures are called in sets. Each

set starts with a BEG SEG call and is terminated by a

END SEG call. The NAV background utility procedures are

listed below. Detailed module descriptions are provided

on the following pages.

Group #INAV TEXT

NAV SYMBOL

Group #2BEG SEG

NAV LINE

NAV--ARC

NAV WPT

NAV LABEL

END SEG

pReCEDiNG pAGE BLANK NOT F!LMED

Page 134: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-132-

MODULENAME:FILE NAME:CALLING SEQUENCE:

NAV TEXTNAV UTL.MARCALL NAV_TEXT(LINE_ID,COUNT,TEXT)

PURPOSE:To store textual data for NAV format information lines.

DESCRIPTION:The navigation format has four lines of textual infor-

mation appearing in the upper right corner. Any of theselines can be updated with a call to NAY TEXT. The firstcalling parameter for NAV TEXT is the line identificationnumber, from one to four.-- Next is the text character count

followed by the actual buffer containing the ASCII text.

GLOBAL REFERENCES:

VARIABLES

NAVPTR*

ARRAYS

NAVDAT*

Page 135: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-133-

MODULENAME:FILE NAME:CALLING SEQUENCE:

NAV SYMBOLNAY UTL.MARCALL NAV SYMBOL(CLASS,X, Y, CNT,TEXT)CALL NAV SYMBOL(CLASS,X, Y, BRG,LEN, CNTi,TEXT)

PURPOSE:To place NAY format reference symbols on the display.

DESCRIPTION:Navigation format symbols are placed on the display

screen by calls to NAV SYMBOL. The desired symbol isrequested within the parameter list by using predefinednames from the file CONSTANT.INC. The position of thesymbol is passed as the X (east) and Y (north) offsets fromthe map background screen center (in feet). Each symboloptionally may have label text written alongside on thedisplay screen. The character count and actual ASCII textare passed as the last two parameters. Note that commasmust remain in the calling sequence when optional parametersare excluded.

The two different calling sequences pertain to the twocategories of symbols available; non-rotatable androtatable. The rotatable group uses the second callingsequence, which has bearing and length. This type of symbolmaintains its orientation within the map background. Non-rotatable symbols do not rotate with the map background.Their orientation stays fixed relative to the displayscreen. The various types of symbols are shown below.

ROTATABLEGROUP

MNEMONIC DESCRIPTION

FLDRWYRWYSRP

airfield with runway linerunway

selected reference point

NON-ROTATABLE GROUP

MNEMONIC DESCRIPTION

MOUNT

OBSTR

BEACON

VORTAC

VOR

DME

AIRFLD

GRP

MARKER

WPT

mountain

obstruction

radio beacon

VOR/TAC antennae

VOR antennae

DME antennae

airfield

ground reference point

outer/middle marker

waypoint

Page 136: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-134-

Note that within the rotatable group only the runway symboluses the length parameter.

GLOBAL REFERENCES:

VARIABLESNAVPTR*

ARRAYSNAVDAT*

Page 137: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-135-

MODULENAME:FILE NAME:CALLING SEQUENCE:

BEG SEGNAV UTL.MARCALL BEG SEG(COLORTYPE,X,Y)

PURPOSE:To initiate a NAV background drawing sequence.

DESCRIPTION:Navigation format drawing sequences are started with

calls to BEG SEG. Two items are associated with an entiredrawing sequence; line type and initial position. These areset from the parameters passed to BEG SEG. The color andline type are passed as a code value in the first parameter.The list below shows the predefined names, found inCONSTANT.INC, which are used to select the desired type.Note that the passed parameter is actually the sum of thecolor code and line type.

COLORCODES

WHITE GREEN BLUE AMBER RED CYAN MAGENTA YELLOW

LINE TYPES

SOLID DASH DOT DOTDSH

Starting position of the drawing sequence is providedin the last two parameters. These represent the X (east)and Y (north) offsets from map background screen center(in feet).

After BEG SEG has been called, no other map backgroundutilities except NAV_LINE, NAV ARC, NAV WPT, and NAV LABELmay be called until an END SEG call is made.

GLOBAL REFERENCES:

VARIABLESNAVPTR*

ARRAYSNAVDAT*

Page 138: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-136-

MODULENAME:FILE NAME:CALLING SEQUENCE:

NAV LINENAV UTL. MARCALL NAY LINE (X, Y, COUNT,TEXT)

PURPOSE:To draw a line on the NAY display.

DESCRIPTION:Lines are drawn as part of the map background by calls

to NAV LINE. This procedure may only be called as part ofa map background drawing sequence which is initiated with acall to BEG SEG.

The line drawn on the display starts at the lastposition made in the drawing sequence and terminates at theposition specified in the parameter list. The first twovalues in the parameter list specify the X (east) and Y(north) offsets from the map background screen center (infeet). A text label may optionally be specified in thecalling sequence. The number of characters is specifiedfirst, followed by the buffer containing the actual ASCIItext. The text is positioned at the endpoint of the linesegment. Note that commas must be supplied when optionparameters are omitted.

GLOBAL REFERENCES:

VARIABLESNAVPTR*

ARRAYSNAVDAT*

Page 139: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-137-

MODULENAME:FILE NAME:CALLING SEQUENCE:

NAV ARCNAV UTL. MARCALL NAV ARC(ANG,RAD,BRNG,CNT,TEXT)

PURPOSE:To generate arc segments for the NAV format display.

DESCRIPTION:Arc segments are drawn as part of the map background by

calls to NAV ARC. This procedure may only be called as partof a map background drawing sequence which is initiated witha call to BEG SEG.

The arc segment drawn on the display starts at the lastposition made in the drawing sequence. Three parameters arerequired to draw an arc segment. The first is the number of

degrees of arc to draw. Next the radius of the arc is

supplied, in feet. Note that the turn direction is estab-

lished by the radius parameter. A negative value means a

left turn and a positive value is used for a right turn.

The third parameter is the compass bearing of the inbound

tangent to the arc.

A text label may optionally be specified in the calling

sequence. The number of characters is specified first (CNT),

followed by the buffer containing the actual ASCII text

(TEXT). The text is placed at the endpoint of the arc

segment. Note that commas must be supplied when option

parameters are omitted.

GLOBAL REFERENCES:

VARIABLES

NAVPTR*

ARRAYS

NAVDAT*

Page 140: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-138-

MODULENAME:FILE NAME:CALLING SEQUENCE:

NAV WPTNAV--UTL.MARCALL NAV WPT(CNT,TEXT)CALL NAV WPT(X, Y, CNT,TEXT)

PURPOSE:To store path waypoint symbols in the map background.

DESCRIPTION:Path waypoint symbols are drawn as part of the map

background by calls to NAV_WPT. This procedure may only becalled as part of a map background drawing sequence which isinitiated with a call to BEG SEG.

A path waypoint may be placed at the last positionestablished in the drawing sequence using the first callingformat shown above. The path waypoint may be positionedindependently by using the second format which has the X(east) and Y (north) offsets from the map background screencenter (in feet). Note that the established drawingsequence screen position is not updated when a positionedpath waypoint is entered into the map background.

A text label may optionally be specified in the callingsequence. The number of characters is specified first,followed by the buffer containing the actual ASCII text.The text is placed at the lower right side of the waypointsymbol. Note that commas must be supplied when optionalparameters are omitted.

GLOBAL REFERENCES:

VARIABLESNAVPTR*

ARRAYSNAVDAT*

Page 141: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-139-

MODULENAME:FILE NAME:CALLING SEQUENCE:

NAV LABELNAV UTL.MARCALL NAV LABEL(CNT,TEXT)

PURPOSE:To store text labels into the map background.

DESCRIPTION:Text labels may be placed at the current position in

the drawing sequence by calling NAV LABEL. This procedure

may only be called as part of a map--background drawing

sequence which is initiated with a call to BEG SEG. The

character count and text buffer containing ASCII codes are

supplied in the calling parameter list.

GLOBAL REFERENCES:

VARIABLES

NAVPTR*

ARRAYS

NAVDAT*

Page 142: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-140-

MODULENAME:FILE NAME:CALLING SEQUENCE:

END SEGNAV UTL.MARCALL END SEG

PURPOSE:To terminate a map background drawing sequence.

DESCRIPTION:Each time a BEG SEG call is made, followed by other

map background drawing sequence calls, a matching call toEND SEG must be made to complete the data packets stored inthe background buffer. Any number of BEG SEG/END SEG pairsmay be stored into the map background buffer.

GLOBAL REFERENCES:

VARIABLESNAVPTR

ARRAYSNAVDAT*

Page 143: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

, -141-

Section 7.3 NAV BACKGROUND PROCEDURES

Twenty five procedures are dedicated to the creation of

display buffer data for the NAV format background buffer.

The following chart lists the procedure names along with

their source code language and relative size. Those modules

that serve as utility subroutines to another procedure are

shown with their caller. The size provided is the percen-

tage of total NAV software memory usage.

Refer to Appendix A to identify which locations in the

output buffer (OUTDAT) are used by these modules. Note that

locations used for this format are tagged in the appendix bythe mnemonic "NAV". The following pages include module

descriptions for each of the twenty five procedures.

MODULE SOURCE SIZE

BOUNDS

AREAS

NEARPT

FORTRAN 5%

MAP AIRWAY

GET XY

NAME SIZE

FORTRAN 4%

NAVSLW

NAVUPD

BUSFMT

FORTRAN 6%

OPTION

AIRPRT

ARPSMB

RUNWAY

STRIPS

NAVAID

NAVSMB

RADIAL

FORTRAN 27%

PATHS

PLAN

LEG

DMA

TURN

WPTEXT

FORTRAN 18%

TEXT

STOREFORTRAN 8%

Page 144: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-142-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

BOUNDSBOUNDS.FORDSPSLWNAVSLWCALL BOUNDS(MAP ID)

PURPOSE:

To draw boundaries for the coastal air defense iden-

tification zones (CADIZ), air defense identification zones(ADIZ), and the restricted areas.

DESCRIPTION:

This module is the main driver for the navigation

display's boundaries. There are three types of zones that

can be shown on the NAV display when the boundary bezel

button is selected. Included is NASA restricted areas, air

defense, and coastal defense zones. Data for the boundarylines is stored in the system data base (AADCOM). The

procedure "AREAS" is called with the address of a zone typeand the color/line type for the display. Note the address

is advanced by two to move past the start word for each zonetype.

GLOBAL REFERENCES:

VARIABLES

ADZPTR CDZPTR RESPTR

RECORD ARRAYS

NVMODE

FUNCTIONS AND SUBROUTINES

AREAS

Page 145: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-143-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

AREASBOUNDS.FORDSPSLWBOUNDSCALL AREAS(ADDRESS,COLOR)

PURPOSE:To create NAY background boundary lines.

DESCRIPTION:This procedure is passed the address of a boundary area

and the desired line color/type code. The boundary areaconsists of a six character name followed by a series oflatitude and longitude pairs. A zero word terminator marksthe end of the area. The subroutine GRID converts thelatitude/longitude values to north/east coordinates relativeto the current map background screen center. Clipping atthe screen boundaries is performed on each line formed bytwo sets of lat/lon values. Because of clipping, oneboundary made from connected line segments may be brokeninto many disjoint sections. The map background utilityprocedures, described in section 7.2, are called to createdisplay data for the various boundary lines processed. Theboundary label is placed at the line end-point nearest thescreen center. This position is found by the procedureNEARPT.

GLOBAL REFERENCES:

VARIABLESBOTTOMLEFT NVLAT NVLONRIGHT TOP

FUNCTIONS AND SUBROUTINESBEG SEG CLIP END SEG GET REAL GET WORDGRID NAV LINENEARPT

Page 146: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-144-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

NEARPTBOUNDS.FORDSPSLWAREASCALL NEARPT(PTR,LABEL,TOTAL)

PURPOSE:To select a vector end-point for boundary labeling.

DESCRIPTION:This procedure steps through the latitude and longitude

pairs stored for map boundary lines. The first item in thecalling parameter list is the address of the boundary in the

system database. Two items are returned to the caller. Thetotal number of latitude/longitude pairs is returned along

with the index of the point selected to receive the boundary

label. The selected end-point is the one closest to the map

background screen center. An approximation is used to find

the distance from screen center. The absolute value of the

latitude and longitude difference between the end-point and

screen center are summed. This process usually selects a

good place for the boundary label with little processing

expense.

GLOBAL REFERENCES:

VARIABLES

NVLAT NVLON

FUNCTIONS AND SUBROUTINES

GET REAL

Page 147: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-145-

MODULENAME:FILE NAME:

PROCESS:

CALLED BY:

CALLING SEQUENCE:

MAP AIRWAY

MAP AIRWAY.FOR

DSPSLW

OPTION

CALL MAP AIRWAY

PURPOSE:

To draw selected airways on the map display.

DESCRIPTION:

This procedure generates the map background display

data for airways. When an airway is called up on the "NAV

data" page of the pilot's control display unit (CDU), the

database address is sent to the display MicroVAX. The

portions of the airway which fall within the map clip window

are sent as waypoint symbols and line segments. Clipping

may break the airway into several disjoint segments in the

map background buffer.

MAP AIRWAY steps through the waypoint addresses stored

at the airway address in the system database (AADCOM). A

zero terminator word marks the end of waypoint addresses in

the database. The procedure GET XY is called to compute

the X (east) and Y (north) offsets from the map background

screen center (in feet). The utility CLIP is then called

to determine the portion of the line segments, formed by

adjacent waypoints, that falls within the viewing window.

The map background utility procedures, described in section

7.2, are called to generate the line and waypoint symbols

in the background buffer. The names of the waypoints are

stored with the waypoint symbols for identification.

GLOBAL REFERENCES:

VARIABLES

BOTTOM LEFT RIGHT TOP

ARRAYS

LOKWPT

FUNCTIONS AND SUBROUTINES

BEG SEG CLIP END SEG GET WORD GET XY NAME SIZE NAV LINE

NAVWPT

Page 148: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-146-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

GET XYMAP AIRWAY.FORDSPSLWMAP AIRWAYCALL GET_XY(PTR,WPT_PTR,X,Y)

PURPOSE:To compute airway waypoint positions.

DESCRIPTION:This procedure is called with an address pointer to

airway data stored in the system database. The waypointaddress pointed to is fetched and returned as the seconditem in the calling parameter list. The waypoint address isthen used to fetch the latitude and longitude of the way-point. The procedure GRID is called to convert the latitude

and longitude to X (east) and Y (north) offsets from the map

background screen center (in feet). The computed values are

returned to the caller through the last two calling param-

eters.

GLOBAL REFERENCES:

VARIABLES

NVLAT NVLON

FUNCTIONS AND SUBROUTINES

GET LONG GET REAL GRID

Page 149: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-147-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

NAMESIZEMAP AIRWAY.FORDSPSLWMAP AIRWAYLENGTH= NAME SIZE (POINTER)

PURPOSE:To determine waypoint name length.

DESCRIPTION:Different types of waypoints in the system database

have different name lengths. Navigation aids use threecharacter names, airfields have four, and geographicreference points have five letters in their names. Thismodule is passed a pointer to a waypoint in the systemdatabase. It determines the type of waypoint and returns tothe caller the length of the name stored at that address.

The waypoint type is determined by the format definedfor the system database. This is described in detail inthe flight management documentation, in the CDU section.When the fourth byte at the waypoint address is negative,the waypoint is a navigation aid. When the fifth byte is ablank character, its an airfield. Otherwise the waypoint isa geographic reference point.

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINESGET BYTE

Page 150: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-148-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

NAVSLWNAVSLW.FORDSPSLWDSPSLWCALL NAVSLW

PURPOSE:To control the NAV background updating for the various

NAV formats running in the display system.

DESCRIPTION:iThis is the main procedure for the generation of NAV

display background data. The Sperry microprocessor systemmay have from one to four NAY formats loaded and running.Each format has unique background data requirements. Whenthe background of a NAV format needs to be updated thecorresponding update flag, UPD(1) through UPD(4), is set byone of the routines FMTBZL or NAVEXC. Section 7.1 describesthe format of the map background buffer.

The same 400 word output buffer is sent to the displaymicroprocessors to update any of the NAV formats running inthe system. However the amount of data generated for asingle NAY format may be up to 800 words. A two step mapbackground update will occur when more than 400 words of

data are generated. It is the job of NAVSLW to control the

use of the map background buffer, restricting its use to

alleviate conflicts. The buffer is not available to other

NAV formats while an update is in progress.

The task DSPSLW, which contains NAVSLW, runs at the

lowest priority in the display MicroVAX (see section 2.1).

This means that NAVSLW does not run in a fixed time frame,

but runs whenever spare time is available. Since all I/O

is performed in the main 50 millisecond frame, NAVSLW must

perform synchronization steps to assure data integrity.

Without the proper control two problems would occur. The

data could be transmitted to the display system before the

background buffer is finished, or the changes to the buffer

for another NAY format could start before the last one was

transmitted. The first potential problem is solved by the

"Map Control Word" described in section 7.1. This word is

not set until the background buffer is ready to go. Even

when the high priority I/O task interrupts the execution of

NAVSLW and sends the incomplete buffer, no NAV format will

try to use the data until a valid Map Control Word has been

set. The problem of changing the data in the buffer before

transmission is eliminated by requiring that two increments

of the fifty millisecond counter have occurred between

background updates. This assures that the transmission has

been done at least once. Two increments are used, instead

of one, because the I/O takes place during the last I0

Page 151: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-149-

milliseconds of the 50 millisecond frame (frame #4). Thetask DSPSLWmay gain control of the system before that pointif no other tasks require the system. In this case the

frame counter would have incremented but the completed

buffer would not have been transmitted. Waiting two frames

eliminates that possibility.

NAVSLW starts by checking if the background buffer is

available (BWAIT). If it is unavailable it returns, unless

the two frame wait has expired. When the wait is complete

the Map Control Word is cleared so any new update requests

can use the background buffer, unless the second half of a

two part buffer needs to be sent. BUSFMT is called to

process the second part after the timer expires and the

original data block was greater than 400 words.

When the map background buffer is available, the

background update request flags for the NAV formats are

tested to determine when an update is needed. The update

process will start for the first map which has an update

flag set. Other NAY formats must wait until the background

buffer is available before their update request will be

serviced. A background update consists of calls to the

subroutines NAVUPD and BUSFMT. The responsibility of NAVUPD

is to create background data designated for a particular NAY

format. The generated data is saved in an 800 word scratch

buffer called NAVDAT. The new data is then set up in the

map background output buffer (OUTDAT) by calling BUSFMT.

The map control word is managed by BUSFMT also.

While stepping through the update request flags for

each map, NAVSLW checks the map orientation status in the

map mode structure (NVMODE). If any of the active maps is

in the "North-up" mode a flag bit is set in one of the words

(DISPST) sent to the FM/FC MicroVAX computer. When a map is

in "North-up" mode, the LEGS page of the CDU shows special

tags to allow the flight crew to step through the flight

plan.

GLOBAL REFERENCES:

VARIABLES

BKWAIT* CNT50 DISPST* DOUBLE FSAVE

ARRAYS

MAPID* UPD

RECORD ARRAYS

NVMODE

FUNCTIONS AND SUBROUTINES

BUSFMT NAVUPD

Page 152: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-150-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

NAVUPDNAVSLW.FORDSPSLWNAVSLWCALL NAVUPD(MAPINDEX)

PURPOSE:To create data for map background updates.

DESCRIPTION:This procedure is called when one of the map background

update requests has been granted. The index of the selectedmap is passed as the sole calling parameter. The functionof NAVUPD is to oversee the creation of the background data

for the selected map.

Several variables are setup for use by the various

background display modules. This includes the feet to

screen units (one thousandths inches) conversion factor,

map clip window boundaries, and map center position.

The first four words of the background buffer contain

the start of transmission group (SOT) and the mode control

group (see section 7.1). The first word is the SOT header

and the second is the SOT word count, which is filled in by

BUSFMT after all the data is generated. The third and

fourth words are the control group header and mode control

bits respectively. The mode control bits are set from the

map control structure which reflects the current status of

the map bezel panel buttons. The remainder of the data

buffer is created by calls to PATHS, BOUNDS, TEXT, and

OPTION.

GLOBAL REFERENCES:

VARIABLES

BOTTOM* LAT LATCEN LEFT LON LONCEN NAVPTR* NVLAT* NVLON*

NVUNIT* RIGHT TOP*

ARRAYS

NAVDAT

RECORD ARRAYS

NVFMT NVMODE

FUNCTIONS AND SUBROUTINES

BOUNDS OPTION PATHS TEXT

Page 153: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-151 -

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

BUSFMTNAVSLW.FORDSPSLWNAVSLWCALL BUSFMT(MAP_INDEX)

PURPOSE:To store map background data in the background output

areas for transmission to the microprocessor displays.

DESCRIPTION:This procedure moves the completed map background data

to the background output buffer and sets the proper codesin the map control word to enable acceptance of the datafrom the designated map format microprocessor. The Startof Transmission (SOT) count within the buffer is set at thistime (see section 7.1). The upper two bits of the SOT countare set to the index (I-4) of the map being updated. Thisindex allows the selected navigation format to choose thecorrect map center displacement from the list stored in theoutput buffer (by NAVEXC).

The map control word is part of the I/O memory sent tothe microprocessor display system twenty times each second.The bit fields used control the usage of the map backgroundbuffer by individual map formats. The upper byte of thecontrol word is a sequence byte. Each time a new backgroundbuffer is completed this byte is incremented to signal thenavigation formats that fresh data is available. The firstfour bits of the lower byte of the map control worddesignate which of the maps should be the recipient of thenewly created background buffer. A code value is placed inthe four bits which is the sequence number of the micro-processor containing the destination navigation format. Thesecond nibble of the lower byte is used to flag the selectednavigation format that the set of data is the second part ofa two piece background buffer.

GLOBAL REFERENCES:

VARIABLESBKWAIT* CNT50 DOUBLE* FSAVE* NAVPTR

ARRAYSMAPID* NAVDATOUTDAT*

RECORDARRAYSNVFMT

Page 154: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-152-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

OPTIONOPTION.FORDSPSLWDSPSLWCALL OPTION (NAV ID)

PURPOSE:Controls the processing of map background data for

airports, GRPs, navigation aids, terrain features, originand destination airports and runways, tuned navaids, andlook-up reference points.

DESCRIPTION:OPTION acts as an executive for processing a large

subset of map background information. It calls a number ofsmaller modules to process specific types of information.OPTION and its set of called procedures are responsible forproducing background buffer data for bezel selected features(airports, GRPs, navaids, terrain features), look-up refer-ence points, origin and destination airport information, andreference point information selected via the CDU Fix pages.

Up to four unique NAY formats are allowed in thecurrent display system setup. Since each NAV may selectdifferent map scales and bezels, it is necessary for OPTIONto know what the selections are for the map it is currentlyprocessing. The input parameter NAY ID provides this infor-mation.

One of the responsibilities of this procedure is toproduce the data necessary to display a symbol selected onthe Nav Data page. The array LOKWPTprovides an addressinto the navigation database for the information requested,and an index indicating the type of symbol to display,respectively. The following table lists the possible valuesof LOKWPT(2) and the type of symbol it produces.

LOKWPT(2) symbol

1 navaid2 airfield3 GRP5 waypoint series

The last entry in the table refers to a series of waypoints

that can be included in the flight plan. The module

MAP AIRWAY produces the data necessary to display the set

of waypoints.

OPTION calls AIRPRT to process origin and destination

airports and runways, and calls STRIPS to process the bezel

selected information for airports, terrain, navaids, and

GRPs. OPTION also determines if the tuned navaids, DME 2

and DME 3 are selected, and if so calls NAVAID which will

store the appropriate data in the background buffer.

Page 155: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-153-

The last thing done in this procedure is to look forany reference points selected on the CDU Fix pages. Amaximum of two fixes can be selected. Each element of thearray FIXWRD corresponds to one of the fixes that can be

chosen, and contains information about the fix. The least

significant bit of each word indicates whether a fix has

been selected. RADIAL is called to process the Fix pageselections.

Module descriptions for routines mentioned above

(AIRPRT, STRIPS, NAVAID, RADIAL, MAP_AIRWAY) can also befound in this section, and should be referenced if more

detailed information is desired on what they do.

GLOBAL REFERENCES:

VARIABLES

BOTTOM LEFT NVAD2A NVAD3A NVID NVLAT NVLON RIGHT SCALE*TDWR LAT TDWR LON TOP

ARRAYS

FIXWRD LOKWPT

RECORD ARRAYS

NVMODE

FUNCTIONS AND SUBROUTINES

AIRPRT GET REAL GET WORD GRID MAP AIRWAY NAVAID NAVSMBNAV SYMBOL--POSBTS R/_DIAL STRIPS --

Page 156: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-154-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

AIRPRTOPTION.FORDSPSLWOPTIONCALL AIRPRT

PURPOSE:Controls the processing of the origin and destination

airports and runways, and also look-up runways.

DESCRIPTION:Most of the processing done in this routine is based on

the values found in the array AIRPTS. This array containsaddresses into the navigation database for informationconcerning origin, provisional destination, and activedestination airports and runways. It is arranged asfollows.

airfield runway

originprovisional destactive dest

AIRPTS (i, i)AIRPTS (I, 2)AIRPTS (I, 3)

AIRPTS (2, i)AIRPTS (2, 2)AIRPTS (2, 3)

Runway symbols are shown on map scales of 2, 5, i0, and20 nautical miles if a non-zero address exists in the properAIRPTS location for the runway requested. If an address isfound, RUNWAYis called to pack the appropriate data intothe map background buffer. When a valid runway address doesnot exist, ARPSMBis called to process an airport symbolinstead. Origin and destination airports or runways arealways shown. Provisional destination airport informationis processed if the addresses for provisional and activedestination airfields in AIRPTS differ from each other. On

map scales of 40 and 80 nautical miles airport symbols only

are displayed.

Runways may be looked-up via the CDU. An address into

the navigation database for the runway information requested

is stored in the array element LOKWPT(1). As described

above, look-up runways are processed by the routine RUNWAY,

and are only shown on lower map scales.

GLOBAL REFERENCES:

VARIABLES

SCALE

ARRAYS

AIRPTS LOKWPT

FUNCTIONS AND SUBROUTINES

ARPSMB RUNWAY

Page 157: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-155-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

ARPSMBOPTION.FORDSPSLWAIRPRTCALL ARPSMB (ARPT_ADDR)

PURPOSE:Processes the data required to display an airfield.

DESCRIPTION:ARPSMBaccepts as input an address in the navigation

database where information about an airfield to be displayedis stored. If the address is valid (non-zero), the latitudeand longitude is fetched. The utility routines GRID andPOSBTS convert the positions into screen coordinates, anddetermine if the airfield lies within the view screen. Ifso, the runway azimuth is retrieved as well. The procedureNAV SYMBOLwill pack the information gotten from the data-base, along with a four character name it fetches, into themap background buffer. For more information aboutNAV SYMBOLrefer to section 7.2.

GLOBAL REFERENCES:

VARIABLESBOTTOMLEFT NVLAT NVLONRIGHT TOP

FUNCTIONSAND SUBROUTINESGET REAL GRID NAV SYMBOLPOSBTS

Page 158: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-156-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

NAVAIDOPTION.DOCDSPSLWOPTION, STRIPSCALL NAVAID (TUNE_FLG,NAVAID_ADDR)

PURPOSE:Processes the data necessary to display a navaid.

DESCRIPTION:This procedure calls the utility routines required to

store information in the map background buffer for arequested navaid. Inputs passed in are a flag indicatingtune status, and an address into the navigation database forinformation concerning the navaid. A navaid will bedisplayed if any one of the following conditions exist: thenavaid is tuned, the map scale is 40 nautical miles or less,or it is a high altitude navaid. A bit in one of the

database words fetched indicates high altitude status.

Calls to GRID and POSBTS are made to determine if the navaid

is within the viewing screen. If it is, NAVSMB is called to

determine the appropriate symbol to display (there are three

types), and the color (tuned and non-tuned navaids are

different colors). The latitude and longitude positions,

navaid classification, and a three-character name are stored

in the background buffer.

NAVAID may be called in one of two ways: to process a

single tuned navaid, or to process from the database the

entire set of navaids within a particular longitudinal strip.

GLOBAL REFERENCES:

VARIABLES

BOTTOM LEFT NVLAT NVLON RIGHT SCALE TOP

FUNCTIONS AND SUBROUTINES

GET REAL GET WORD GRID NAVSMB NAV SYMBOL POSBTS

Page 159: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-157-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

NAVSMBOPTION.FORDSPSLWOPTION, NAVAID, RADIALCALL NAVSMB (TUNE FLG,TYPE,CLASS)

PURPOSE:Determines the type of navaid symbol to display.

DESCRIPTION:Three types of navigation aids (Navaids) may be shown

on the map. They are: VORs, VORTACs, and non-directionalbeacons. As input to this routine, a data word fetched fromthe area of the navigation database containing informationabout the navaid being processed is sent to NAVSMBin theform of the parameter TYPE. Certain bits of this word arechecked to determine which one of the three types is to bedisplayed. Also, navaids may be tuned or non-tuned, whichon the screen will result in different color symbols beingshown. Tuned Navaids are depicted in green, non-tuned arewhite. The input parameter TUNE FLG indicates the approp-riate state. CLASS is an output parameter which containsthe result of the processing done by NAVSMB, which is asingle word indicating navaid type and tuned status.

Page 160: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-158-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

RADIALOPTION.FORDSPSLWOPTIONCALL RADIAL (INDEX)

PURPOSE:Processes the data required to draw radials through,

or a circle around, a selected reference point.

DESCRIPTION:

This procedure processes information entered on the

CDU Fix pages. By means of the Fix page, a reference point

may be displayed on the map with radials drawn through it

at bearings selected on the CDU page. Also, a circle can

be drawn around the point at a fixed radius in nautical

miles. The CDU Fix page allows for up to two fixes to be

selected. The input parameter to RADIAL is an index indi-

cating which fix is being processed.

Certain global variables contain information used in

drawing the selected reference point (SRP) symbology.

Bits in the variable FIXWRD indicate whether the fix is

active, how many bearings have been entered, and what type

of SRP has been chosen. FIXADD contains the address into

the navigation database of the SRP information. If a circle

around the SRP has been requested on the Fix page, FIXCIR

contains the radius entered in nautical miles.

The basic SRP symbol consists of a fixed size circle

drawn around a selected reference point, with two radials

extending from the edge of the circle in opposite directions

at a bearing entered on the Fix page. Up to four bearings

can be selected for a particular fix. A SRP symbol will be

displayed for each bearing requested, which means that up to

four SRP symbols may overlay the same reference point.

Three types of reference points may be selected on the

Fix page. They are navaids, airports, and GRPs. Using

FIXADD, the reference point's position is fetched from the

database. The position must be within the screen viewing

area before the SRP symbology can be processed. The utility

procedures GRID and POSBTS are used to determine this, and

also to convert the lat/lon position to screen coordinates.

NAV SYMBOL is called to pack the SRP data into the back-

ground buffer.

The Fix page also allows for a circle to be drawn, at

a selected radius, around a reference point. FIXCIR con-

tains the entered radius value. The map background utility

routines BEG_SEG, NAV ARC, and ENG SEG produce the buffer

data necessary to display the circle. For more information

about these modules, and NAV_SYMBOL, reference section 7_2.

Page 161: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-159-

GLOBAL REFERENCES:

VARIABLESBOTTOMLEFT MAGYARNVLAT NVLONRIGHT TOP

ARRAYSFIXADD FIXCIR FIXRAD FIXWRD

FUNCTIONSAND SUBROUTINESANGL BEG SEG END SEG GET REAL GET WORDGRID NAVSMBNAY ARCNAV SYMBOLPOSBTS

Page 162: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-160-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

RUNWAYOPTION.FORDSPSLWAIRPRTCALL RUNWAY(TYPE,RWY_ADDR,ARPT_ADDR)

PURPOSE:Processes the data for the origin, destination, and

look-up runways, and also the runway centerline.

DESCRIPTION:RUNWAYis responsible for retrieving information about

a requested runway from the navigation database, and callingthe utility routines necessary to store the data in the mapbackground buffer. Inputs to this routine are: a flagindicating runway type, a database address for the runway,and a database address for the runway's airfieldrespectively.

Using the runway address, the latitude and longitudeposition, runway length, and azimuth, are fetched. Theutility routines GRID and POSBTSare called to convert thethreshold position to screen coordinates, and to determineif it lies within the view screen. If it does, NAV SYMBOLis called to pack the position, azimuth, length, ann runwaytag into the background buffer (see section 7.2 for moreinformation about NAV SYMBOL. The input parameter TYPE isused in figuring the proper tag to display. A two-charactertag corresponding to the runway number is displayed for alook-up runway, while origin and destination runways aretagged with a four-character name identifying the runway'sairfield. The input parameter containing the airfield'saddress is used to retrieve the airfield name from thedatabase.

Origin and destination runways will have a centerlinedrawn in addition to the symbol. The centerline is a fixedI0 nautical mile length, and is drawn as a green dottedline. It is clipped at the screen edge if necessary. Theutility routines BEG_SEG, NAV LINE, and END SEG put thecenterline data into the background buffer. Section 7.2describes these modules in more detail.

GLOBAL REFERENCES:

VARIABLESBOTTOMLEFT NVLAT NVLONRIGHT TOP

FUNCTIONSAND SUBROUTINESBEG SEG CLIP END SEG GET REAL GRID NAV LINE NAV SYMBOLPOSBTS SCOSD

Page 163: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-161-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

STRIPSOPTION.FORDSPSLWOPTIONCALL STRIPS

PURPOSE:Searches for and processes the longitudinal strip

information in the navigation database corresponding to theregion currently mapped by the NAV format.

DESCRIPTION:Most of the information contained in the database is

arranged in groups of longitudinal strips. A strip isbounded by a pair of longitudinal values which differ bytwo degrees (for example, 76 through 78 degrees longitude).Within it are sets of data for the airports, GRPs, navaids,terrain features, among other things, found in that region.This routine determines which strips of data lie inside theview screen, and processes any data requested within thatstrip.

STRIPS sequentially examines all the longitude pairsin the database. The utility routine GRID determines if aparticular pair is within the screen area. If it is, thenthe airfield, navaid, terrain, and GRP data for that stripis processed if the corresponding bezel has been pressed on.Each strip has address pointers for the four data types,which are used in referencing the appropriate databaselocation.

The rest of this module description assumes that aparticular strip has been determined to be inside the view-ing area, and the bezel for the feature being described ison. The procedures GRID and POSBTSdetermine if the lati-tude and longitude position of the individual members ofeach data feature are within screen limits. The map back-ground utility routine NAV SYMBOLpacks up the informationnecessary to display a symbol into the background buffer.For more information on NAV SYMBOLrefer to section 7.2.

The first data feature--processed in STRIPS is airports.To display an airfield the latitude and longitude positionis required, and also a four-character airfield name.

Navaids are processed next. The NAV routines NAVAIDand NAVSMBare called to do that. Their module descrip-tions, also found in this section, explain in detail thetypes of navaids that exist, the conditions under whichthey are shown, and the information required by the NAVformat to display them.

There are two types of terrain features: obstructionsand mountains. The mountain bezel activates both. Mountainand obstruction information is grouped together in the

Page 164: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-162-

database. The most significant bit in the first data wordfor an individual symbol is used to differentiate betweenthe two. If the bit is set, an obstruction is processed,

otherwise a mountain. Obstructions are only shown on map

scales of 20 nautical miles or less. A lat/lon position

converted to screen units and a tag indicating the obstruc-

tion's height in feet, are packed into the buffer. For

mountains, a position and a tag representing the mountain's

height in hundreds of feet are packed.

The last data feature processed in STRIPS is GRPs.

GRPs are not shown on the 80 nautical mile map scale, and

only high altitude GRPs are displayed at 20 and 40 nautical

miles. A specific bit set in the first word from the GRP's

data area indicates that it is a high altitude GRP. A

screen position, and a five-character name are packed into

the map background buffer.

GLOBAL REFERENCES:

VARIABLES

BOTTOM IBPTR LEFT NVID NVLAT NVLON RIGHT SCALE TOP

RECORD ARRAYS

NVMODE

FUNCTIONS AND SUBROUTINES

GET CHAR GET LONG GET REAL GET WORD GRID LIB$SKPC NAVAID

NAV SYMBOL POSBTS

Page 165: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-163-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

PATHSPATHS.FORDSPSLWNAVUPDCALL PATHS(MAP INDEX)

PURPOSE:To initiate the generation of flight plan displays.

DESCRIPTION:This module creates flight plan data for the naviga-

tion display format. This includes the provisional and

active flight plans, when generated by the FM/FC MicroVAX

computer from flight crew entries on the CDU. The module

PLAN is called to draw a series of connected flight plan

elements (straight line and arc segments). Only one call to

PLAN is needed to create the map background data for the

active flight plan since the active path is always one

connected piece. The provisional path may be a set of

disjoint path segments, separated by "Route Discontinuities"

on the pilot's CDU. The provisional flight plan is parsed

by PATHS to identify each separate flight plan section. A

separate call to PLAN is made for each section found.

GLOBAL REFERENCES:

VARIABLES

ACTCNT MODCNT PMODE TXTMOD*

RECORD ARRAYS

ACT WPTS MOD WPTS NVMODE

FUNCTIONS AND SUBROUTINES

PLAN

Page 166: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-164-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

PLANPATHS.FORDSPSLWPATHSCALL PLAN(WAYPOINTS,COUNT,TYPE)

PURPOSE:To generate map background data for a flight plan

segment.

DESCRIPTION:This procedure is called to draw flight plan paths.

The buffer containing the flight plan waypoints is passedas the first calling parameter. The number of waypointscontained in the buffer is the second parameter and thetype of flight plan, active or provisional, is third.

PLAN makes calls to the utility GRID to convertlatitude and longitude coordinates to X (east) and Y (north)offsets from map background screen center (in feet). Thenone of three subroutines is called to create path data,dependent on the type of flight plan leg being processed.If the current waypoint is a DMA turn entry point, LEG is

called to draw the straight line approach. If the current

waypoint is an exit to a DMA turn, the module DMA is called

to generate the DMA arc. Otherwise a straight line segment

will be drawn unless the "pass-by" distance at the waypoint

as shown at the current map scale is greater than .I inches.

In this situation the procedure TURN is called to create the

"pass-by" turn segment.

When a flight plan is made up of only one waypoint,

PLAN tests for positioning within the clipping window and

if valid, calls NAV SYMBOL to store the waypoint symbol.

GLOBAL REFERENCES:

VARIABLES

ACTCNT BOTTOM I* LEFT MODCNT NEWSEG NVLAT NVLON NVUNIT

RIGHT TOP X2 Y2

ARRAYS

AIRPTS TDAT X* Y*

FUNCTIONS AND SUBROUTINES

DMA END SEG GRID LEG NAV SYMBOL POSBTS TURN WPTXT

Page 167: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-165-

MODULENAME:FILE NAME:PROCESS:CALLED BY:

CALLING SEQUENCE:

LEGPATHS.FORDSPSLWPLAN, TURNCALL LEG(WAYPOINTS,COLOR,TEXT FLAG)

PURPOSE:To create a straight line segment of a flight plan.

DESCRIPTION:This subroutine calls map background utility procedures

to form a straight path segment with waypoint symbols.First the procedure CLIP is called to trim the path leg tothe display window boundaries. If the end of the line isclipped the current background drawing sequence is terminatedby calling END SEG. The global flag NEWSEGis set toindicate that a BEG_SEGcall must be made before any morepath segments are placed in the background buffer.

When the leg endpoint is within the clip window, themodule WPTXT is called to format the waypoint label for theleg endpoint. The utility procedure NAV WPT is called tostore the waypoint symbol and its label _n the backgroundbuffer. When LEG is called with the NEWSEGflag on, thelabeled waypoint symbol for the beginning point of the lineis stored if it falls within the clipping region.

GLOBAL REFERENCES:

VARIABLESBOTTOMI LEFT NEWSEG*RIGHT TOP

ARRAYSTDAT X Y

FUNCTIONSAND SUBROUTINESBEG SEG CLIP END SEG NAV LINE NAV WPT WPTXT

Page 168: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-166-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

DMAPATHS.FORDSPSLWPLANCALL DMA(WAYPOINTS,COLOR)

PURPOSE:To create a DMAturn segment of a flight plan.

DESCRIPTION:This subroutine calls map background utility procedures

to form a DMA turn path segment with waypoint symbols.

First the procedure CLIP is called to determine if the

entire turn segment is outside the clipping region. If it

is, the current background buffer drawing sequence is

terminated by calling END SEG and the global flag NEWSEG is

set to indicate that a BEG SEG call must be made before any

more path segments are plated in the background buffer. If

any of the arc falls within the clipping region the entire

turn segment is added to the current drawing sequence.

This is done because segment clipping is only performed on

straight lines.

The background utility NAV ARC is called to store the

arc segment in the background buffer. The turn angle, arc

radius, and inbound bearing parameters passed to NAV ARC

are all obtained from the waypoint buffer. Note that the

bearing found in the waypoint buffer for DMA turn segments

is actually perpendicular to the inbound tangent point.

Ninety degrees must be added or subtracted depending on the

turn direction (left or right from inbound course).

When the arc endpoint is within the clip window, the

module WPTXT is called to format the waypoint label for the

arc endpoint. The utility procedure NAV WPT is called to

store the waypoint symbol and its label in the background

buffer. When DMA is called with the NEWSEG flag on, the

labeled waypoint symbol for the beginning point of the arc

is stored if it falls within the clipping region.

GLOBAL REFERENCES:

VARIABLES

BOTTOM I LEFT NEWSEG* RIGHT TOP

ARRAYS

TDAT X Y

FUNCTIONS AND SUBROUTINES

ANGL BEG SEG CLIP END SEG NAV ARC NAV WPT WPTXT

Page 169: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-167-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

TURNPATHS.FORDSPSLWPLANCALL TURN(WAYPOINTS,COLOR)

PURPOSE:To create a turn segment for a flight plan.

DESCRIPTION:This subroutine calls map background utility procedures

to form an arc path segment with the "pass-by" waypointsymbol. TURN calls the utility procedure PROJECT to findthe inbound and outbound tangent points which define thestart and endpoints of the arc segment. Waypoint symbolsare not placed at these points. One waypoint symbol ispositioned off the arc at the intersection of the imaginaryinbound and outbound tangent lines. A straight leg isdrawn to the inbound tangent point. The display data forthis leg is generated by calling the procedure LEG.The procedure CLIP is called to determine if the entire turnsegment is outside the clipping region. If it is, thecurrent background buffer drawing sequence is terminated bycalling END SEG and the global flag NEWSEGis set toindicate that a BEG SEG call must be made before any morepath segments are placed in the background buffer. If anyof the arc falls within the clipping region the entire turnsegment is added to the current drawing sequence. This isdone because segment clipping is only performed on straightlines.

The background utility NAV ARC is called to store thearc segment in the background buffer. The turn angle, arcradius, and inbound bearing parameters passed to NAY ARCare all obtained from the waypoint buffer.

When the arc segment is within the clip window, themodule WPTXT is called to format the label text for the"pass-by" waypoint. The utility procedure NAV WPT is calledto store the waypoint symbol, its position, ann its label inthe background buffer.

GLOBAL REFERENCES:

VARIABLESBOTTOMI LEFT NEWSEG*NVLAT NVLONRIGHT TOP X2 Y2

ARRAYSTDAT X Y

FUNCTIONS AND SUBROUTINESBEG SEG CLIP END SEG GRID LEG MTH$ATAND2NAV ARC NAV WPTPROJECT WPTXT

Page 170: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-168-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

WPTXTPATHS.FORDSPSLWPLAN, LEG, DMA, TURNCALL WPTXT(INDEX,WAYPOINTSrCOUNT)

PURPOSE:To format waypoint labels for the flight plan.

DESCRIPTION:This procedure is called with a waypoint buffer and the

corresponding index designating which waypoint within thebuffer is being processed. Label text is generated in theglobal buffer TDAT and the number of characters created forthe label is returned in the last calling parameter. Theextent of the label depends on the global index TXTMOD. The

following chart describes what is included in the waypoint

label for the possible values of TXTMOD.

TXTMOD LABEL GENERATION

0

1

2

Include waypoint name only.

Include waypoint name, assigned altitude and ground

speed.If current waypoint is the 'TO' waypoint of the

active flight plan, process as TXTMOD = 0. Otherwise

no label is generated.

If current waypoint is the 'TO' waypoint of the

active flight plan, process as TXTMOD = i. Otherwise

no label is generated.

When altitude and speed values are included in the label,

waypoint buffer flags are tested to determine when actual

values have been assigned. The label text will have dashes

instead of digits when no value is assigned.

GLOBAL REFERENCES:

VARIABLES

TDAT* TOWPT TXTMOD

FUNCTIONS AND SUBROUTINES

OTS$CVT L TI

Page 171: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-169-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

TEXTTEXT.FORDSPSLWNAVUPDCALL TEXT(MAP_INDEX)

PURPOSE:To update map background text lines.

DESCRIPTION:The Navigation display format allows the display of four

lines of text data, 19 characters per line, in the upperright hand corner of the display screen. The text data issupplied through the map background buffer (see section7.1). The sole calling parameter to TEXT is the index ofthe navigation format currently being updated.

The module TEXT builds a buffer of up to 19 characters,and uses the map background utility procedure NAY_TEXT toplace the text in the background buffer. Shown below is alist of the items included on each display line.

LINE #iITEM

distance to go'TO' wpt nametime of day

CONDITIONSwhen active flight plan existswhen active flight plan existsalways

LINE #2ITEM

airport indicatornavaid indicatortime box indicatorrange arc indicator

CONDITIONS'ARPT' bezel selected'NVD' bezel selected'BOX' bezel selected'ARC' bezel selected

LINE #3ITEM

terrain indicatorGRP indicatorboundary indicator

CONDITIONS'MTN/OBSTR' bezel selected'GRP' bezel selected'BNDS' bezel selected

LINE #4ITEM

2D/3D/4DTRK indicatorALT indicatorIAS indicatorFPA indicatornavigation mode

CONDITIONSwhen auto guidance engagedauto-track select mode engagedauto-altitude hold mode engagedauto throttle engagedauto-flight path angle engagedalways

Page 172: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-170-

GLOBAL REFERENCES:

VARIABLESALTSEL AWAS_BITS DATA_TM DAY DTOGOFE3 FPASEL GUID2DHORPTHHRAD_BHRIASSEL NAY TAS TASVLD TIME TIMPTHTKSEL TOWPTVERPTH

ARRAYSAWASDATA

RECORDARRAYSACT WPTSNVMODE

FUNCTIONS AND SUBROUTINESFMTTIM NAV_TEXT OTS$CVTL TI OTS$FLOATSTORE

Page 173: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-171-

Section 7.4 NAV REAL-TIME PROCEDURES

This section is devoted to the modules that createnavigation format real-time data. All the navigationformat symbology, except the map background, is updatedtwenty times per second. The procedures described inthis section format and store data into the microprocessoroutput buffer at this update rate.

The following chart lists the procedure names alongwith their source code language and relative size. Thosemodules that serve as utility subroutines to anotherprocedure are shown with their caller. The size provided isthe percentage of total NAV software memory usage.

Refer to Appendix A to identify which locations in theoutput buffer (OUTDAT) are used by these modules. Note thatlocations used for this format are tagged in the appendix bythe mnemonic "NAY". The following pages include moduledescriptions for each of the fifteen procedures.

MODULE SOURCE SIZE

FMTBZL FORTRAN 2%

NAVEXCSELTRKNAVMLSTRENDVRNGARCTBOXROTATE

FORTRAN 12%

PTHPOSTIMPOSLINETURNPASSBYINBRGPTHLEG

FORTRAN 12%

Page 174: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-172-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

NAVEXCNAVEXC.FORDSPFSTDSPFSTCALL NAVEXC

PURPOSE:To serve as the main procedure for navigation format

real-time processing.

DESCRIPTION:This procedure initiates all the computations performed

for the navigation format real-time symbology. Most of theprocessing is performed by the modules called from NAVEXC,however several items are handled directly within NAVEXC.The following modules are called to create and store datainto the microprocessor output buffer.

FMTBZLSELTRKNAVMLSTRENDVRNGARCTBOX

process bezel button inputscreate data for selected track linescreate data for MLS airplane positioncreate data for the aircraft trend vectorcreate data for the altitude range arccreate data for time box positioning

The first "in-line" processing performed by NAVEXC isthe setting of map background update requests. The FM/FCMicroVAX computer can command updates of all map backgroundsby setting the global flag MAPUPD. This is done when newbackground data has been generated by CDU software or anupdate timer expires (5 seconds). The timer is used so theaircraft never can fly too far within the current mapbackground to expose the clipped edge. When MAPUPDis setNAVEXCdetermines how many of the four possible map back-grounds are actually in use. The update request flags foreach one is set on to notify map background procedures inDSPSLWto perform the updates.

A set of variables is filtered to produce smoothmovement of navigation format symbology. Included are windspeed, wind direction, aircraft track, and aircraft heading.The rate of change, sine, and cosine of the filtered track

are computed also.

Several microprocessor output buffer locations are

filled next. Values are scaled and stored as fixed point

16 bit integers for true track, magnetic track, heading,

wind speed, wind direction, and ground speed. Two words of

the microprocessor output buffer are reserved for validity

bits used for the navigation format. The corresponding b_ts

for true track, magnetic track, heading, wind, ground speed,

and aircraft position are always set valid. One other bit

of these words can be set by NAVEXC when GPS mode is valid.

The modules called by NAVEXC set other validity bits in

these words.

Page 175: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-173-

Each navigation format running in the microprocessorsystem requires information about where the aircraft hasmoved since its last map background update. The offsetfrom each map background center position to the currentaircraft position is computed and stored in the outputbuffer for the microprocessors. They are stored as an arrayof X (east) and Y (north) offsets in one-thousandths inches.Each time a navigation format has its map background updatedthe map center and scale are saved to allow the backgroundpositioning described above.

GLOBAL REFERENCES:

VARIABLESBCKWRDCOSTRKDOUBLEGPSMGSFPS HDGF HDGTRULAT LON MAGVARMAPUPDMAPWRDMLSV NVGS* NVHDG* NVLAT NYLONNVMTRK* NVTRK*NVUNIT NVWD* NVWS* PSTTKA SINTRK TK TKSEL TOP TRKF VLDI*VLD2* WD WS

ARRAYSAPE* APN* MAPLN* MAPLT* RANGE* UNITS* UPD*

RECORDARRAYSNVFMT

FUNCTIONS AND SUBROUTINESANGL FMTBZL GRID NAVMLSPOSBTSRNGARCSCOSDSELTRK TBOXTRENDV

Page 176: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-174-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

SELTRKNAVEXC.FORDSPFSTNAVEXCCALL SELTRK(TRACK_RATE)

PURPOSE:TO store data for the selected track lines of the

navigation display format.

DESCRIPTION:This procedure processes items associated with the

selected track angle from the pilot's mode control panel.It is only called when a track angle is either selectedor preselected. Four symbols are controlled by thisprocedure.

SELECTEDTRACK BUG - Shown on compass whenever selectedtrack is valid.

TRACK LINE - Line connecting airplane and track bug shownwhen track error greater than one degree or the track dialspin discrete is set.

OFFSET VECTOR - Track line indicating selected trackintercept point starting from offset ahead of airplaneposition. Shown when track line on and bit "0" of TKBITS ismanually set.

EXTENDEDTREND VECTOR- Same as OFFSET VECTORbut shown asan extension to the NAV trend vector. Bit "i" of TKBITS isused to manually select it.

SELTRK first stores the selected track value and validbit into microprocessor output memory. Then the computa-tions for either the OFFSETVECTORor the EXTENDEDTRENDVECTORare performed.

The OFFSETVECTOR intercept point along the aircraft's"straight ahead" line is computed from the equation below.The offset vector extends from this point across the screenat the bearing of the selected track. The 16 bit fixedpoint value sent to the navigation format is converted tonautical miles and scaled by 128 for higher resolution.

AHEAD = GS * GS * TAN( .5 * DEL TRK) / (G * TAN(BANK ANG))

AHEAD: distance ahead (feet)

GS: ground speed (feet/sec)

DEL TRK: difference between actual and commanded track

BANK ANG: nominal bank angle fixed at 25 degrees

Page 177: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-175-

The amount of time required to complete a desired turnis computed and the corresponding position along the trendvector is used to draw the EXTENDEDTRENDVECTOR. Theequation for the time needed is shown below.

TIME = DEL TRK / (2 * TRK RATE)

TIME: time in seconds

DEL TRK: difference between actual and commanded track

TRK--RATE: rate of change of actual track

Note that the factor of "2" in the equation is used since

the track rate variable used by the displays MicroVAX is the

number of degrees of change in one half second. The 16 bit

fixed point value sent to the navigation format is scaled by

256 for greater resolution.

GLOBAL REFERENCES:

VARIABLES

GSFPS MAGVAR NVDT* NVOFS* NVSLTK* TDSP TKASUM TKBITS TKREL

VLDI* VLD2*

FUNCTIONS AND SUBROUTINES

ANGL MTH$TAN

Page 178: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-176-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

NAVMLSNAVEXC.FORDSPFSTNAVEXCCALL NAVMLS

PURPOSE:To perform computations for the MLS airplane symbol

of the navigation format.

DESCRIPTION:This procedure is called by NAVEXCwhen the Microwave

Landing System (MLS) has been determined valid. A bit isset in the navigation format discrete word to indicate MLSvalid. If MLS mode is engaged another bit is set in thediscrete word for the display format. If MLS mode is notengaged the position of the MLS aircraft, as indicated bythe MLS beam, is used to compute the offset from the aircraftposition derived from the current navigation mode. Thesubroutine GRID computes the north and east offset in feet.KOTATE is called to convert these coordinates into navigationformat "track-up" X and Y screen coordinates in feet. Thevalues are then converted to nautical miles and scaled bya factor of 2048 for resolution.

When the MLS airplane position deviates from the desiredflight plan position by more than 50 feet vertically and500 feet horizontally another discrete word bit is set tocommand a MLS aircraft symbol color change.

GLOBAL REFERENCES:

VARIABLESALTCORHER LAT L0N MLSALT MLSLAT MLSLONMLSMMLSX* MLSY*VLD2* XTK

FUNCTIONSAND SUBROUTINESGRID ROTATE

Page 179: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-177-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

TRENDYNAVEXC.FORDSPFSTNAVEXCCALL TRENDV

PURPOSE:To compute trend vector parameters for the navigation

format.

DESCRIPTION:Two items are stored by TRENDV into the microprocessor

output buffer for the navigation format trend vector. Theaircraft's cross-track acceleration and the ratio of cross-track acceleration with ground speed. They are scaled byfactors of 512 and 65536 respectively for resolution whenconverted to the 16 bit fixed point values sent to thenavigation format.

The cross-track acceleration used comes from one oftwo sources. If in a control-wheel steering mode thecurrent roll command is used to compute the cross-trackacceleration as follows.

CROSSTRACKACC = G * TAN(COMMANDED_ROLL)

The constant "G" above is the gravitational accelerationvalue. In other modes the cross-track acceleration measuredby flight controls is used. This value is filtered beforeuse to provide smooth movement of the trend vector.

GLOBAL REFERENCES:

VARIABLESACWSDROLL GSFPS NVACN* VCWSXTACC XTKGS*

FUNCTIONS AND SUBROUTINESMTH$TAN

Page 180: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-178-

MODULENA/_E:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

RNGARCNAVEXC.FORDSPFSTNAVEXCCALL RNGARC

PURPOSE:To perform computations for the altitude range arc of

the navigation format.

DESCRIPTION:Altitude range logic is performed by a sequence of

events starting in the flight management MicroVAX computer.When the flight crew has selected a new altitude via theAGCS mode control panel, the altitude attained flag is madefalse (ALTATT). This flag is sent to the display MicroVAXcomputer in the block of data transferred across the inter-processor I/O link. The range to the intercept point of thedesired altitude is computed by RNGARCuntil the differencebetween commanded and actual altitude is less than 5 feet.At this time the desired altitude is considered attained,but the variable ALTATT can not be set directly since itarrives at the display MicroVAX as input. Instead a bit ina packed discrete word that is sent to the flight managementMicroVAX through the DATACbus is set. This bit informs theflight management MicroVAX to set ALTATT to true.

The distance to the point where the altitude will beattained is computed differently depending on the currentguidance mode of the aircraft. When the current guidance

mode maintains a commanded flight path angle, all but

attitude control-wheel steering, the distance is computed

as follows.

DISTANCE = (SELECTED_ALT - ACTUALALT) / TAN(COMMANDED_FPA)

Otherwise the current measured rate of change in altitude is

used with the aircraft's ground speed as shown below.

DISTANCE = SPEED * (SELECTED ALT - ACTUAL ALT) / ALT RATE

The computed distance is converted from feet to

nautical miles and scaled by a factor of 128 for greater

resolution. It is stored as a 16 bit fixed point value in

the microprocessor output buffer.

GLOBAL REFERENCES:

VARIABLES

ALTATT ALTCOR ALTRNG* ALTSUM AUTO DISPST* GAMC GSFPS HDCF

VCWS

FUNCTIONS AND SUBROUTINES

MTH$TAND

Page 181: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-179-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

TBOXNAVEXC.FORDSPFSTNAVEXCCALL TBOX

PURPOSE:To intiate position computations for Time Box and

Bubbles symbology of the navigation format.

DESCRIPTION:This procedure stores the position and orientation data

for the Time Box and the three Bubbles. Each of the four

items is processed the same, with calls to PTHPOS. A

reference time is passed to PTHPOS for each of the four

items. The data returned is stored into the array of

locations in the microprocessor output buffer starting atOUTDAT(603).

The reference time used is the sum of two time offsets.

Since the system time (TIME) has a resolution of one second,

the fractional part of the current time is maintained by

TBOX. Added to this fraction is 0, 30, 60, or 90 seconds

for each of the four time box items, which are always

separated by 30 seconds in time.

GLOBAL REFERENCES:

VARIABLES

TIME

ARRAYS

OUTDAT*

FUNCTIONS AND SUBROUTINES

PTHPOS

Page 182: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-180-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

ROTATENAVEXC.FORDSPFSTNAVMLS, PTHPOSCALL ROTATE(NORTH,EAST,X,Y)

PURPOSE:To perform coordinate system rotations.

DESCRIPTION:This procedure converts a pair of position coordinates

in the North/East frame of reference to values in thenavigation format's "track-up" frame of reference. Theequations used are shown below.

SCREENX = EAST * COS(TRACK) - NORTH * SIN(TRACK)

SCREEN Y = EAST * SIN(TRACK) + NORTH * COS (TRACK)

GLOBAL REFERENCES:

VARIABLES

COSTRK SINTRK

Page 183: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-181-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

PTHPOSPTHPOS.FORDSPFSTTBOXCALL PTHPOS(TIME,X,Y,BEARING)

PURPOSE:To compute values associated with the Time Box symbology

of the navigation format.

DESCRIPTION:This procedure computes the X and Y coordinates of a

point on the active flight plan, defined for time guidance,that corresponds to a reference time passed as the firstparameter. The reference time is an offset in seconds fromthe aircraft time stored in the variable TIME. The returnedposition values are in terms of feet from the current air-craft position. Also returned is an orientation angle whichrepresents the flight plan bearing at the reference position.All three computed values are relative to a "track-up"display orientation. Therefore X is a cross-track distance,Y is an along-track distance, and BEARING is the angulardifference from the aircraft's true track value.

PTHPOSpositions the Time Box symbology at the air-craft, with the current track, when no flight plan exists(GUID2D is off). If a flight plan exists but has not beendefined for time guidance (GUID4D is off), the position ofthe first waypoint on the flight plan is returned with thebearing of the first leg of the path.

When the active flight plan is defined for time guid-ance the procedure PTHLEG is called. It returns an indexinto the active waypoint buffer pointing to the first way-point which has a planned time of arrival greater than thereference time. This waypoint and the one before it forma time reference path leg containing the desired referenceposition. The difference between the reference time and thebeginning waypoint of the chosen path leg is also returned.

This time represents the amount of time elapsed since the

Time Box (or Bubble) has passed the first waypoint of the

flight plan leg selected by PTHLEG. Note that PTHPOS

returns the position of the first flight plan waypoint when

the reference time is earlier than the beginning waypoint

of the path.

The reference position is found on the reference leg by

the procedure TIMPOS. This module returns a north and east

offset (in feet) of the time reference position relative to

the selected reference waypoint on the leg. One exception

to this is when the reference leg is a staight leg (LEGFLG

= TRUE). In this case the position values returned from

TIMPOS are latitude and longitude coordinates. TIMPOS also

returns the orientation bearing of the reference position.

Page 184: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-182-

The last thing performed by PTHPOS is the computationof screen offsets, in feet, of the time reference positionfrom the current aircraft location. The utility procedureGRID is called to compute the north and east distances fromthe airplane to the time reference waypoint. The north andeast offsets to the time reference position on the selectedpath leg are added to the reference waypoint positions.Finally the procedure ROTATE is called to convert the northand east coordinates to values relative to the "track-up"map coordinate system.

GLOBAL REFERENCES:

VARIABLESACTCNT GUID2D GUID4D LAT LEGFLG LON TRKF

RECORDARRAYSACT WPTS

FUNCTIONS AND SUBROUTINESANGL GRID INBRG PTHLEG ROTATETIMPOS

Page 185: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-183-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

TIMPOS

PTHPOS.FOR

DSPFST

PTHPOS

CALL TIMPOS(INDEX, DT,DN,DE,BRNG)

PURPOSE:

To compute a time reference position on the active

flight plan.

DESCRIPTION:

This procedure computes displacement coordinates from a

selected waypoint to a flight plan position corresponding to

the time reference in the calling parameter list. The first

calling parameter is the index within the waypoint buffer of

the end waypoint of the path leg containing the time refer-

ence position. The second parameter is the amount of time

elapsed between the first waypoint of the path leg and the

time reference position. TIMPOS returns the north and east

offsets from the reference waypoint and the tangential path

bearing at the time reference position.

First the distance between the "from" waypoint and the

time reference position is calculated using the time dis-

placement between the locations. To do this the planned

acceleration along the path leg is computed as follows.

ACC = (SPEED2 - SPEED1) / LEG TIME

Then the distance is derived as shown below.

DISTANCE = SPEED1 * DT + .5 * ACC * DT * DT

ACC: nominal leg acceleration (ft/sec/sec)

SPEED1: planned ground speed at beginning waypoint

(ft/sec)

SPEED2: planned ground speed at ending waypoint

(ft/sec)

LEG TIME: time alloted to fly entire leg of path (sec)1

DISTANCE: distance between "from" waypoint and reference

position (feet)

DT: time between "from" waypoint and reference

position (sec)

Depending on the type of path leg being processed, one

of the modules TURN, LINE, or PASSBY will be called to

compute the values of the offset coordinates and the bearing

associated with the time reference position. The module

TURN is called when the reference leg is a DMA turn. In

this case the reference waypoint is switched from the end

Page 186: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-184-

waypoint to the beginning waypoint to make the computationseasier. When entering a standard turn by the destinationwaypoint the module PASSBY is called. Note that the legwill be considered a straight leg unless the standard turnis significant (arc length greater than 1200 feet). If thereference position falls within the exit area of a signif-icant standard turn past the beginning waypoint, thereference waypoint is switched to the "from" waypoint andPASSBY is called. In all other situations the module LINEis called to process the straight leg segment.

GLOBAL REFERENCES:

VARIABLESLEGFLG*

RECORDARRAYSACT WPTS

FUNCTIONS AND SUBROUTINESLINE PASSBY TURN

Page 187: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-185-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

LINEPTHPOS.FORDSPFSTTIMPOSCALL LINE(INDEX,DST,RLAT,RLON, BRNG)

PURPOSE:To locate the time reference position on a staight

path leg.

DESCRIPTION:This module uses the position of the reference way-

point, identified by the passed parameter INDEX, and thedistance from the 'FROM' waypoint on the reference leg (DST)to compute the offset coordinates and orientation bearingto the time reference position on straight leg segments.

Unless the 'TO' waypoint of the leg is a DMA turn entrypoint, the leg distance is adjusted to compensate for thestandard turn by the 'TO' waypoint. One half the arc lengthis replaced by the distance from the tangent point to the'TO' waypoint position. The distance between the timereference position to the end waypoint of the leg is foundby subtracting the distance passed to LINE from the totalleg distance. This value is passed to the utility procedurePROJECT to compute the time reference position's latitudeand longitude using the leg waypoints and displacement fromthe 'TO' waypoint.

GLOBAL REFERENCES:

VARIABLESLEGFLG*

RECORDARRAYSACT WPTS

FUNCTIONS AND SUBROUTINESINBRG PROJECT

Page 188: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-186-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

TURNPTHPOS.FORDSPFSTTIMPOS, PASSBYCALL TURN(INDEX,DST,DN, DE,BRNG,DME)

PURPOSE:To locate the time reference position on a turn

segment.

DESCRIPTION:This module uses the position of the reference way-

point, identified by the passed parameter INDEX, and thedistance from the "from" waypoint on the reference leg (DST)to compute the offset coordinates and orientation bearingto the time reference position on turn segments. Theoffsets and bearing are returned through the calling param-eter list. The last parameter passed to TURN identifiesturn segments which are defined as DMA arc path legs.

The distance from the turn start to the referenceposition is used with the turn radius to determine thesubtented angle (radians) to the reference position asfollows.

ANGLE = ARC DISTANCE / TURN RADIUS

The subtended angle is combined with the inbound bearing and

turn radius to compute the offsets to the time reference

position and the tangential bearing at that point. The

inbound bearing is passed to TURN when called by the module

PASSBY (DME FLG=FALSE). Otherwise the function INBRG is

used to find the DMA turn inbound bearing.

ang = ANGLE/2 - IN BEARING + (180 +/- 90)

len = 2 * SIN(ANGLE/2) * TURN RADIUS

NORTH = len * SIN(ang)

EAST = fen * COS(ang)

TANGENT BEARING = IN BEARING +/- ANGLE

( "+/-": + for left turn, - for right turn)

GLOBAL REFERENCES:

RECORD ARRAYS

ACT WPTS

FUNCTIONS AND SUBROUTINES

INBRG MTH$SIND SCOSD

Page 189: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-187-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

PASSBYPTHPOS.FORDSPFSTTIMPOSCALL PASSBY{INDEX,DST,DN,DE, BRNG)

PURPOSE:TO locate the time reference position on a standard

turn segment (not DME arc).

DESCRIPTION:This module uses the position of the reference way-

point, identified by the passed parameter INDEX, and the

distance from the "from" waypoint on the reference leg (DST)

to compute the offset coordinates and orientation bearing

to the time reference position on turn segments. The

offsets and bearing are returned through the calling param-eter list.

Standard turns do not have waypoints at the beginning

and ending of the arc segment. The latitude and longitude

of the inbound tangent point of the turn must be found to

use in the computation of the time reference position. The

utility procedure PROJECT is called to compute the tangent

point position from the positions of the 'FROM' and 'TO'

waypoints and the distance to tangent value stored in the

waypoint buffer. Once the start of the turn position has

been established, the procedure TURN is called to compute

the time reference position relative to the turn start

point. The module GRID is then called to compute the north

and east offsets from the turn tangent point to the 'TO'

waypoint. These offsets are added to the values returned

by TURN to produce the final time reference offset values

relative to the reference waypoint.

GLOBAL REFERENCES:

RECORD ARRAYS

ACT WPTS

FUNCTIONS AND SUBROUTINES

GRID MTH$ATAND2 PROJECT TURN

Page 190: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-188-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

INBRGPTHPOS.FORDSPFSTPTHPOS, LINE, TURNBEARING = INBRG(INDEX)

PURPOSE:To produce the inbound bearing to a flight plan

waypoint.

DESCRIPTION:This function returns the inbound bearing to a waypoint

on the active flight plan. For waypoints that are not DMAturn entry points, the bearing is fetched directly from thewaypoint buffer. For DMAentry waypoints the buffer valueis the bearing from the turn center to the entry waypoint.Ninety degrees is either added or subtracted to the waypointbuffer bearing as an adjustment. Addition is used for rightturns, subtraction for left turns.

GLOBAL REFERENCES:

RECORDARRAYSACT WPTS

FUNCTIONSAND SUBROUTINESANGL

Page 191: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-189-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

PTHLEGPTHPOS.FORDSPFSTPTHPOSCALL PTHLEG(T_REF,INDEX, T OFF)

PURPOSE:To identify the flight plan leg containing the time

reference position for Time Box positioning.

DESCRIPTION:This procedure is called to find the flight plan leg

containing the time reference position corresponding toeither the Time Box or one of the Bubbles. A time offset ispassed as the first calling parameter. This value is addedto the aircraft GMTto produce the arrival time at thedesired reference position. The arrival times at the endwaypoint of each leg on the active flight plan are testeduntil one greater than the reference time is found. Theindex of the waypoint within the flight plan buffer isreturned through the parameter list. Also returned is thetime displacement between the reference time and the arrivaltime stored at the beginning waypoint of the selected pathleg.

GLOBAL REFERENCES:

VARIABLESACTCNT TIME

RECORDARRAYSACT WPTS

Page 192: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-190-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

FMTBZLFMTBZL.FORDSPFSTNAVEXCCALL FMTBZL

PURPOSE:To process navigation format bezel button inputs.

DESCRIPTION:This module processes the navigation display bezel

panel inputs. One 16 bit word is received from the displaycontaining bits corresponding to the 16 buttons on thedisplay unit bezel panel. Up to four navigation formats maybe active, so a word from input memory for each is examined.The address of each input word is stored in the structure"NVFMT(I).BZPTR". The following chart shows the usage of

the various bezel buttons.

BIT BUTTON OPTION

0 R1

1 R2

2 R3

3 R4

4 R5

5 R6

6 R7

7 R8

8 L1

9 L2

10 L3

Ii L4

12 L5

13 L6

14 L7

15 L8

MLS select

Airports option

Navaid option

Time Box option

Altitude Range Arc option

Path waypoint information cycle

Zoom out map

Zoom in map

Weather radar select

Terrain features option

Ground reference point option

Boundaries option

Track up / north up toggle

The input words are processed in a loop for each of the

navigation formats in use. The individual discrete words

are "one-shotted" to make a button press appear to occur for

just one 50 millisecond processing frame. If any selections

in the word are made, the map background update flag for the

corresponding navigation format is set on. The individual

bits within the word are processed next. When the MLS

select is on, a bit in word (DISPST) sent to the flight

management MicroVAX through the DATAC is set. All other bit

selections are reflected in the navigation format mode

structure (NVMODE). Note that a copy of this structure is

kept for each of the four navigation formats.

Page 193: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-191-

GLOBAL REFERENCES:

VARIABLESDISPST* TDW TRGT*

ARRAYSUPD*

RECORDARRAYSNVFMT NVMODE*

FUNCTIONS AND SUBROUTINESGET WORD

Page 194: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 195: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-193-

Section 8.0 ENGINE DISPLAY SOFTWARE

The ENG format provides a graphic representation ofquantities associated with the aircraft engines. The formatis split into two distinct sections; simulated engine gaugeson the left and numeric displays on the right. Refer to thefigure 8.1 for the engine format layout.

The gauges are displayed as four sets of pairs,situated side by side. Each set depicts the same engineparameter, but pertaining to the left and right engines. Agauge has a digital readout, an arc section representing thevalid range of values for the particular quantity, and aradial pointer positioned along the arc at the appropriatelocation for the current value of the quantity. The fourengine parameters shown in this manner are the engine pres-sure ratio, N1 RPMpercentage, exhaust gas temperature, andfuel flow rate.

The right hand section of the display screen hasnumeric values of engine quantities displayed within rectan-gular boxes. Four miscellaneous items, left/right thrustreverser armed messages, total air temperature, and aircraftgross weight, are also shown in this section. The engineoil pressure, temperature, and quantity along with the N2ratio are shown in left and right pairs. The amount of fuelremaining is given for the left, right, and center tanksalong with the total amount of the three tanks.

This format does not utilize any of the bezel panelbuttons or potentiometers.

_I_,,/,,,__;_JNT[fq.".I0_¢ALLYBLr"_,N_ PRECEDING PAGE BLANK NOT FILMED

Page 196: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 197: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-195-

ENGINE DTSPLRY FORMFtT

EPR

NI

EGT

FF

IREVnRM IREvARMI

82 I T T6

2.8 JO 3.8

F_NZ-----]

I 0.0 0.0

FUEL

C 6820

L 9050 IIR 9130

ITFQ 25000

TRT 15. 0 C

GW 85000

-figure 8.1-

_li..L,_._l_lIEN I iONALL'( BLAN_

PRECEDING PAGE BLANK NOT FILMED

Page 198: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 199: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-197-

Section 8.1 ENGINE PROCEDURES

There are five procedures dedicated to creating the

output buffer data needed to display the engine format.

The following chart lists the procedures along with the

source code language and relative size. Those modules

that serve as utility subroutines to another procedure are

shown with their caller. The size is the percentage of

total ENG software memory usage.

Refer to Appendix A to identify the memory locations

in the output buffer (OUTDAT) that are used by the engineroutines. The mnemonic "ENG" identifies those locations.

Descriptions of the engine modules appear on the following

pages.

MODULE SOURCE SIZE

ENGEXC FORTRAN

EPR F1 FORTRAN

EPR F2 FORTRAN

67%

FFPRC FORTRAN 21%

FTEST FORTRAN 12%

PRECEDINGPAGEBLANKNOTFILMED

Page 200: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-198-

MODULE NAME:

FILE NAME:

PROCESS:

CALLED BY:

CALLING SEQUENCE:

ENGEXC

ENGEXC.FOR

DSPFST

DSPFST

CALL ENGEXC

PURPOSE:

To scale and store the engine format's parameters as

integers in the display output buffer.

DESCRIPTION:

ENGEXC manages the processing of the data used as input

parameters to the engine display format, and stores it into

the display output buffer. Floating point data is scaled

and stored as integers. Some of the engine parameters have

values for both the left and right engines. These param-

eters are shown next.

Engine pressure ratio

Engine exhaust gas temperature

Engine N1

Engine fuel flow

Engine oil pressure

Engine oil temperature

Engine oil quantity

Engine N2

Engine thrust reversers armed

Many of the parameters mentioned above have fixed

warning limit and caution values. They are also scaled and

stored in the output buffer. The fixed values are as

follows.

Exhaust gas temperature limit

Exhaust gas temperature caution

Engine N1 limit

Engine N1 caution

Engine oil pressure lower limit

Engine oil pressure upper limit

Engine oil temperature limit

Engine oil quantity limit

Engine N2 limit

(570 deg)

(535 deg)

(I00.1%)

(94.0 %)

(35 psi)

(55 psi)

(157 deg)

(i. 0 gal)

(i00.0 %)

The engine pressure ratio (EPR) warning limit is fixed

at 2.0 when the airplane is travelling less than 64 knots,

otherwise the limit is determined via lookup tables. There

are two sets of tables: one for cruise limits (flaps set at

zero), and the other for takeoff limits (flaps non-zero).

The functions EPR F1 and EPR F2 perform the table iookups

based on current air temperature and altitude. The EPR

caution value is set to the EPR limit value minus 0.2.

Page 201: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-199-

To display the fuel quantities for the left, center,and right fuel tanks requires extra processing. The algo-rithm used is based on the premise that fuel is drawn fromthe center tank until less than i00 pounds remains, then itis drawn from the left and right tanks equally. The leftand right tanks are initialized to 9050 and 9130 pounds re-spectively. The center fuel tank display will show the dif-ference between the total fuel quantity and these two values.When the center tank display reaches i00 pounds, it willfreeze at that value and fuel will be siphoned from the leftand right tanks. The 80 pound difference between the twotanks remains as fuel is drawn equally from them.

The engine N1 and N2 percentages for both the left andright engines are also displayed on the engine format. Thepercentages indicate the ratio of the rate of change of theN1 and N2 counters to the maximum rate of change. A 70 unitper second rate of change in the counter corresponds to a100% N1 or N2 value. Since the N1 and N2 counters changerather slowly, they are sampled only every .5 seconds. Thisslower rate allows for more accuracy. The sampled valuesminus the last counter values will yield the units changed.The ratio of these differences to the maximum 35 units perhalf-second rate will be the percentage displayed. Finally,the N1 and N2 percentages are filtered, scaled, and storedas integers into the display output buffer.

The left and right engine thrust reverser messages areshown on the upper right side of the engine format. Theywill be displayed when the thrust reversers have been armed.ENGEXCchecks the two discretes which indicate whether theyhave been armed, and sets bits in one of the packed discretewords if they are.

Another discrete word bit is set if the aft flight deckis engaged. This bit serves as a flag to the microprocessorcode to disallow the EPR radials from turning red when theyenter the warning zone while the aft flight deck is engaged.This code was implemented to suppress red warning indica-tions during takeoff.

All of the engine output parameters discussed above areassumed to have valid values. The bits in the packed dis-crete words used by the engine format, indicating that theseparameters are valid, are always set on.

GLOBAL REFERENCES:

VARIABLESAEEF AP WEIGHT* EGTL EGTR EGT CAUTION* EGT LEFT*EGT LIMTT* EGT RIGHT* ENG REVERSERS*ENG VALID i*ENG--VALID 2* ENG VALID 3*--EOPRSL EOPRSREPRI EPR2EPR--CAUTION* EPR--LEFT*--EPRLIMIT EPR RIGHT* FF5LF FF5RFFLAP FLOW LEFT* FLOWRIGHT_ FTFQ FUE_ LEVEL APU*

Page 202: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-200-

FUEL LEVEL LEFT* FUEL LEVEL RIGHT* HBAROLREV N1 CAUTION*N1 LIMIT* N2 LIMIT* NAV64K OIL LEVEL LEFT* OIL LEVEL LIMIT*OIL LEVEL RIG--HT*PRESSUREHIGH; PRESSURELEFT*--PRESSURELOW* PRESSURERIGHT* RREV SYS WARNWORDTATTEMP_LEFT* TEMP_LIMIT* TEMP_RIGHT* TOTAL AIR TEMP* WEIGHT

ARRAYSENG DATA FUQTY OUTDAT*

FUNCTIONS AND SUBROUTINESEPR F1EPR F2

Page 203: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-201-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

EPR F1ENGEXC.FORDSPFSTENGEXCEPR F1 (TAT, HBARO)

PURPOSE:To find the appropriate flight manual maximum cruise

EPR, given the current air temperature and altitude.

DESCRIPTION:This function determines the maximum cruise EPR (engine

pressure ratio) setting from the flight manual. There aretwo EPR values looked up in this function. One EPR value isobtained by using the current air temperature as a referenceinto a table of EPR values that is arranged according to

temperature intervals. A second EPR value is fetched usingaltitude as the reference into a table based on altitude

intervals. The lower of the two values looked up is used as

the maximum cruise EPR setting.

Page 204: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-202-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

EPR F2ENGEXC.FORDSPFSTDSPFSTEPK F2 (TAT, HBARO)

PURPOSE:To find the appropriate flight manual maximum takeoff

EPR, given the current air temperature and altitude.

DESCRIPTION:This function determines the maximum takeoff EPR

(engine pressure ratio) setting from the flight manual.There are two EPR values looked-up in this function. OneEPR value is obtained by using the current air temperatureas a reference into a table of EPR values that is arrangedaccording to temperature intervals. A second EPR value isfetched using altitude as the reference into a table basedon altitude intervals. The lower of the two values lookedup is used as the maximum takeoff EPR setting.

Page 205: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-203-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

FFPRCFFPRC.FORDSPFSTDSPFSTCALL FFPRC

PURPOSE:To calculate fuel consumption, remaining fuel quantity,

and aircraft total weight.

DESCRIPTION:FFPRC requires a manual entry of aircraft gross weight

(GRWGT)to initiate processing. If GRWGTis set to zero,processing is bypassed. Otherwise, GRWGTis compared tothe previous value and if a new entry has been made theninitialization processing takes place. A change in GRWGTprompts a full initialization, which begins by saving thenew gross weight in I_WEIGHT, computing the aircraft emptyweight (E WEIGHT) as GRWGTminus the measured total fuelquantity _TFQ), setting the FUELUP discrete and zeroing thetotal fuel used (TFU). Several variables used in measuring

and filtering the fuel flow are then computed. KDEN and KTF

are computed as the product of the user adjustable nominal

fuel density (FDEN) and the constants KKDEN and KKTF

respectively. KDEN and KTF are used by the FINPT subroutine

of DISFIL to produce the FU vector (Ibs of fuel used in the

last sample period for each engine and the APU) from the

fuel temperature and fuel meter inputs. The fuel flow

filter constant (KT) is computed from the user adjustable

time constant (TAUFF). The fuel quantity filter constant

(TAUFQ) and the ib/sample to ib/hour conversion factor (SF)

are computed from the user selectable sample interval

(MXITER). Finally, the interaction count (ITER) is set to

the negative of MXITER, FTFQ is set to the measured fuel

quantity (TFQ) and DELTA_F (the difference between TFQ and

FTFQ) is set to zero.

Normal processing begins by incrementing ITER. This

counter was initialized to -MXITER, which is the signal

for FINPT to initialize itself. Subsequently, FINPT takes

a set of readings each time ITER becomes zero. FFPRC pro-

cesses these readings when ITER + 1 = I, i.e., later in the

same major frame. Total fuel used (TFU) is then computed as

the integral of the sum of the FU vector. The filtered

total fuel remaining (FTFQ) is then computed in a complemen-

tary filter driven by FU and corrected by TFQ with a 30

second time constant. Aircraft weight is then set to the

sum of E WEIGHT and FTFQ, and FU is rescaled to fuel flow in

ibs/hr for display.

Page 206: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-204-

Finally, the filtered fuel flow quantities for leftand right engines and the APU are computed from FU. WhenITER becomes equal to MXITER, it is reset to zero, whichreinitializes the cycle.

GLOBAL REFERENCES:

VARIABLESFDEN FF5AF* FF5LF* FF5RF* FTFQ FUELUP* GRWGTITER* KDEN*KT KTF* MXITER TAUFF TFQ TFU* WEIGHT*

ARRAYSFU

FUNCTIONSAND SUBROUTINESMTH$EXP

Page 207: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-205-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

FTESTFTEST.FORDSPFSTDSPFSTCALL FTEST

PURPOSE:To simulate some of the engine parameters needed to

drive the engine display format.

DESCRIPTION:Some of the aircraft inputs used by the engine display

software are not provided by the real-time flight simulationin the Experimental Avionics Systems Integration Laboratory(EASILY) Lab. The engine parameters affected by the lack ofthese inputs are: total fuel quantity, airplane weight,left and right engine fuel flows, and left and right engineN1 and N2 percentages. FTEST was created to simulate thesevalues in the EASILY testing environment only. The calcu-lations to simulate the parameters are based on the averageEPR value between the left and right engines, so that theaffected engine values will change along with a change inEPR. However, no attempt has been made to make thesesimulated values accurate, and should not be viewed asthe actual values that would be displayed under the sameconditions in-flight. The purpose is merely to make theengine parameters listed above seem reasonable when testingin the EASILY.

FTEST is called by DSPFST only when the boolean LABFLGhas been set.

GLOBAL REFERENCES:

VARIABLESEPRI EPR2 FF5LF FF5RF* FTFQ GRWGTNILEFT NIRGHT* N2LEFT*N2RGHT* WEIGHT*

Page 208: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 209: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-207-

Section 9.0 SYSTEM WARNING DISPLAY SOFTWARE

The data required to drive this format is created by

only one procedure, SYSEXC. A description of this procedureis included on the following page. Refer to Appendix A to

to find the locations in the display output buffer (OUTDAT)

used by this format. The mnemonic "SYS" is used to identifybuffer words used by the system warning format.

PRECEDING PAGE BLANK NOT FILMED

_0_ |HTI[NTIONALLY ""_'_

Page 210: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-208-

MODULE NAME:

FILE NAME:

PROCESS:

CALLED BY:

CALLING SEQUENCE:

SYSEXC

SYSEXC.FOR

DSPFST

DSPFST

CALL SYSEXC

PURPOSE:

To process data and store in the output buffer the

inputs needed by the System Warning format to display

warning messages, and information on flap setting and gear

position.

DESCRIPTION:

One of the duties of the system warning format is to

display valid system messages. SYSEXC scans a series of

discrete words whose bits correspond individually to a set

of predefined messages available to be displayed. When a

bit has been set, the appropriate text is shown. System

warning messages fall into three categories: warning,

caution, and special. The following table indicates the

available messages for each type.

warning: "RFD DISENGAGED"

caution: "STB OUT OF TRM"

"SPD BRK NO ARM"

"FLAP LIMIT"

"THROTTLE LIMIT"

"SPD BRKS SYNC"

"AILERON LIMIT"

"ELEVATOR LIMIT"

"RUDDER LIMIT"

"SPD BRK ARM"

special: "NAV 2 TUNING"

"DME 2 TUNING"

"COMM TUNING"

Also, SYSEXC checks to see if the flaps are moving by

comparing the filtered actual flap position to the flap

handle position. If the two values vary by a specified

tolerance value, SYSEXC sets the appropriate bit in the

display output buffer to indicate that the flaps are moving.

The tolerance will be either .25 degrees for flap handle

positions below 5, or 15% of the flap handle value for flap

settings 5 or greater. SYSEXC also scales the value of the

flap position to a Standard Angle Format (SAF) and stores

the scaled position in the proper place in the display

output buffer.

Page 211: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-209-

Lastly, SYSEXCperforms some logic to determine whattype of symbology should be shown to describe the positionof each gear (nose gear, right gear, left gear). Differentsymbology is displayed, depending upon which bits are set inthe display output buffer. The following chart describes

which symbology is displayed for the nose gear given the

following combinations of bit settings in the buffer word

OUTDAT(698).

BITS 4 3 2 1 0 SYMBOL

0 0 1 1 0 GREEN 'DN'

0 0 1 0 1 WHITE 'UP'

0 0 0 1 0 RED DOWN ARROW

1 0 0 0 0 YELLOW DOWN ARROW

0 0 0 0 1 RED UP ARROW

0 1 0 0 0 YELLOW UP ARROW

ALL OTHER COMBINATIONS RED 'X'

(Right and left gear symbology is displayed under the same

bit patterns, but a different range of bits: bits 5-9 of

OUTDAT(698) representing the left gear, and bits 10-14

representing the right gear.)

The following combinations of discrete values, repre-

senting the sensor data received from the airplane, yield

the indicated symbols for the nose gear display.

GUPCMD GDNCMD NGRRED NGRDN

gear up gear down nose gear nose

commanded commanded not gearlocked down

SYMBOL

F T F T GREEN 'DN'

T F F F WHITE 'UP'

F T F F RED DOWN ARROW

F T T T RED DOWN ARROW

F T T F YELLOW DOWN ARROW

T F F T RED UP ARROW

T F T T/F YELLOW UP ARROW

ALL OTHER COMBINATIONS RED 'X'

The same symbology would be displayed for right and left

gear with the substitution of the following booleans as thelast two items in the table above:

LEFT - LGRRED, LGRDN

RIGHT - RGRRED, GRGDN

Page 212: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-210-

GLOBAL REFERENCES:

VARIABLESAILCMO ELVCMOFLAP FLPPLC FLPPOS GDNCMDGEARWORDGRPOS*GUPCMDINBD LEFT FLAP* LGRDNLGRREDNAV VLD 2 NGRDNNGRREDOUTBDRCOMTRCTRLD RGRDNRGRREDRIGHT FLAP RNAV2T RUDCMORXPDRTSPBPLC SPDARMSPDNARSTBTRMSYS i* SYS 2* SYS 3*SYS 4* SYS 7* SYS 8* THRPLC -- -- --

Page 213: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-211-

Section i0.0 SPERRYPFD SOFTWARE

The Primary Flight Display designed by Sperry requiresa small amount of processing in the host computer. Onlyone module, PFDEXC, creates data specifically for this for-mat. Appendix A shows the display output buffer locationsdedicated to the Sperry PFD format. The mnemonic "FI" isused to refer to this format. The next page contains adescription of PFDEXC.

Page 214: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-212-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

PFDEXCPFDEXC.FORDSPFSTDSPFSTCALL PFDEXC

PURPOSE:To process and store in the NAV background buffer the

parameters required by the Sperry PFD format.

DESCRIPTION:The following aircraft parameters are required by the

Sperry PFD format only. They are scaled and stored asintegers in the displays output buffer (OUTDAT).

Sea level barometric pressure settingAircraft pitch angleRate of change in altitudeVertical guidance deviationHorizontal guidance deviation

This is not a complete set of the parameters referencedhowever. Some aircraft inputs used by the Sperry PFD havealready been made available in the 704 word displays bufferby other formats which share the values.

Certain parameters used are always assumed to havevalid values. The valids always turned on by PFDEXC are:

attitude validaltitude validvertical speed validvertical deviation validlateral deviation valid

These valids correspond to bits set in the Sperry PFDdiscrete word PFD VALID, also sent to the microprocessorvia the output buffer.

PFDEXC does some processing for its airspeed display.If the current airspeed value is valid, bits in PFD VALIDare immediately set on corresponding to the airspeedvalid, and airspeed limit valid.

The airspeed limit value is determined by PFDEXC.Fixed airspeed limits exist in a local data table for flapsettings of 0, i, 2, 5, 10, 15, 25, 30, and 40 - with theexception that the limit value for flaps 0 will be one oftwo values depending on whether the gear is down or up.Using the current flap position, an index into the table isfigured, and interpolation is used, to compute the appro-priate airspeed limit value.

One final bit of processing done for the airspeed dis-play is to set on a valid bit in PFD VALID when an airspeedhas been selected on the pilot's CDU.

Page 215: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-213-

PFDEXC does some processing for the altitude displayas well. If the current radar altitude value is valid, anappropriate bit in the valid word is set on, and the radaraltitude value is scaled and stored in the displays outputbuffer. Also, a valid bit is set on in PFD VALID when analtitude has been selected on the pilot's CDU.

GLOBAL REFERENCES:

VARIABLESALTSEL BARSET BETAH CASV ETAH FLAP FLPPOS GEAR HDCF HRADHRV IASSEL PFD BARO SET* PFD CASLMT* PFD HDOT*PFD HORDEV* PFD HRAD* PFD PITCH* PFD VALID* PFD VER DEV*PITCH SYS 7 .....

Page 216: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 217: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-215-

Section 11.0 TAKEOFFPERFORMANCEMONITORINGSYSTEM (TOPMS)

The Takeoff Performance Monitoring System displayformat is used only during the takeoff phase of flight. Adrawing of the format can be found on the following page.The TOPMSformat provides critical takeoff information tothe pilot, and allows the pilot to monitor the performanceof the aircraft during the takeoff roll. It visually showswhere along the runway the airplane should reach the V1(decision speed) and VR (rotate speed) positions. The TOPMSsoftware also performs computations to determine an appro-priate takeoff advisory status, which the pilot may use indetermining whether to complete the takeoff or abort it.The advisory status has four possible states, "must abort","must takeoff", a warning state, and a state indicatingeverything is within normal range.

The TOPMSdisplay has two modes, takeoff and abort.Different amounts of information are provided depending onthe mode - although the runway symbol and identifier, speedvalue, and aircraft symbol will be shown regardless. Notethat the speed value will be airspeed in takeoff mode, andground speed in abort mode. The abort mode display is thesimpler of the two. There are two critical symbols shownduring the abort. One is the symbol indicating where theaircraft will stop along the runway if maximum braking isused (not including reverse thrust). It is comprised ofa circle with a star in the middle. The second criticalsymbol (shaped like a football) represents where the stoppoint will be at the current level of braking.

The takeoff mode display contains a lot more informa-tion than the abort mode. The parameters always displayedin this mode are as follows.

flight manual EPR settingVI, V2, VR speedsaircraft position on runwaywind speed, directiontakeoff advisory statusengine performance barstakeoff roll limit

Under certain conditions the stop point using maximumbraking is shown too. Figures II.I and 11.2 depict thetakeoff and abort modes of the TOPMSdisplay format.

The TOPMSsoftware is divided into two parts, thepretakeoff segment and the real-time segment. The pre-takeoff software generates a takeoff profile based on CDU

entries made by the pilot. The profile will be used to

compare to the actual performance of the airplane during

takeoff. The real-time software computes the actual takeoff

'_ i._ ..:!_. pRECEDING PAGE BLAI'_K NOT FILMED

Page 218: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-216-

performance, and stores the required data into the displays

output buffer that will generate the real-time takeoff (or

abort) display. Both the pretakeoff and real-time software

segments and their associated modules are discussed in

sections Ii.i and 11.2. These sections should be referred

to for a more detailed software description.

Page 219: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-217-

%15

8000 l

m

125 z_ -

127

EPR 1,95

V2 133

Takeoff Performance Monitoring System(takeoff mode)

-figure 11.1-

Page 220: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 221: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-219-

I1041

m

0

m

i

i

22

Takeoff Performance Monitoring System(abort mode)

-figure 11.2-

PRPCEDING PAGE BLANK NOT FILMED

Page 222: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 223: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

t

-221-

Section II.I PRETAKEOFF BACKGROUND SOFTWARE

The pretakeoff calculations for the Takeoff Performance

Monitoring System (TOPMS) are performed to provide a bench-

mark for the TOPMS real-time software. A takeoff profile is

generated using aircraft parameters and the local ambient

conditions. The actual takeoff performance can be compared

to the pretakeoff profile to create advisory information for

the aircraft flight crew.

The TOPMS pretakeoff procedures execute after several

CDU entries have been completed by the flight crew. These

entries are shown below.

AIRFIELD/RUNWAY ROUTE page.

AIRCRAFT WEIGHT PERFORMANCE page.

FLAP SELECTION TAKEOFF page.

TEMPERATURE TAKEOFF page.

AIRCRAFT CG TAKEOFF page

WIND SPEED/DIRECTION TAKEOFF page

RUNWAY FRICTION TAKEOFF page; default to .015

RUNWAY START OFFSET TAKEOFF page; default to 200 feet

RUNWAY LENGTH TAKEOFF page; default to database value

From these entries CDU software computes the stabilizer trim

position, decision speed (Vl), rotate speed (VR), and second

segment climb speed (V2). The CDU values are all sent to

the display MicroVAX computer through the interprocessor I/O

link for use by the TOPMS pretakeoff modules. In addition

the pretakeoff modules use the pressure altitude, obtained

from the aircraft DATAC sensor bus, as a final external

input parameter.

The flag TOPMS is used to control the sequence of

events involved in the pretakeoff calculations. When it is

set to "I" the module PRETKF is called by the background

software executive DSPSLW. When the computations are

complete the flag is set to "2" to indicate that the com-

puted values are ready for the real-time TOPMS software.

The following list describes the parameters that are created

for use by the real-time TOPMS modules.

PRECEDING PAGE BLANK NOT FILMED

Page 224: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-222-

RWYVI Runway distance required to reach Vl.

RWYVR Runway distance required to reach VR.

ROLLIM Runway distance to the takeoff roll limit

COEF() Polynomial coefficients for the takeoff profile

which provides expected acceleration as a

function of true airspeed.

Nine procedures are dedicated to the TOPMS pretakeoff

calculations. The following chart lists the procedure names

along with their source code language and relative size.

Those modules that serve as utility subroutines to another

procedure are shown with their caller. The size provided is

the percentage of total pretakeoff software memory usage,

excluding utility modules from TOPMS.OLB. The following

pages include module descriptions for each of the nine

procedures. The information provided is limited since

much of this software was extracted from portions of the

NASA's Boeing 737 aircraft simulator program. More detailed

information may be obtained from the people responsiblefor maintaining the simulation.

MODULE SOURCE SIZE

ACTRIM FORTRAN 5%

AEROC FORTRAN 8%

ATMOS FORTRAN 1%

ENGINE FORTRAN 9%

LNGFM FORTRAN 9%

POLYFT FORTRAN 7%

SIMEQA

PRETKF FORTRAN 60%

THROTS FORTRAN 2%

Page 225: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-223-

MODULE NAME:

FILE NAME:

PROCESS:

CALLED BY:

CALLING SEQUENCE:

ACTRIM

ACTRIM.FOR

DSPSLW

PRETKF

CALL ACTRIM(X,Y, ICTRIM, YTOL, IFLAG)

PURPOSE:

To compute initial aircraft trim positions.

DESCRIPTION:

This procedure is used to compute aircraft trim values

for pitch angle, and altitude of the center of gravity above

the runway. Initial pitch and altitude values are passed as

the "X" vector in the calling parameter list. The "Y"

vector contains the landing gear weight distribution param-

eters for the current aircraft center of gravity, weight,

and airplane body orientation. These arrays are used in the

solving of matrix equations to produce static trim values.

ACTRIM proceeds until the columns of the simultaneous

equations matrix are forced close to zero. The tolerance

value YTOL is used to determine when convergence has been

detected. If divergence is detected the module returns with

an error status in IFLAG. ACTRIM may be called iteratively

from PRETKF in an attempt to gain acceptable trim values.

The flag ICTRIM is set to force an initialization pass inACTRIM the first time it is called.

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINES

SIMEQA

Page 226: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-224-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

AEROCAEROC.FORDSPSLWPRETKFCALL AEROC(ALPDEG, FLAG)

PURPOSE:To generate parameters for aeronautical derivatives.

DESCRIPTION:This procedure is called to compute many aircraft aero-

nautical derivatives which are a function of angle of attack,center of gravity, and flap setting. The angle of attackvalue is passed as a calling parameter while the otherinputs are global common variables. When the first passvariable (FLAG) is set, all derivative variables are set tothe appropriate values. On subsequent calls to AEROC many

of the variables do not need to be set again. This is done

because these derivatives are dependent on flap setting and

aircraft CG, which are static for one execution of the

pretakeoff calculations. When FLAG is not set only those

derivatives which are dependent on the current angle of

attack are computed.

GLOBAL REFERENCES:

VARIABLES

CDBAS* CG CLAL* CLALD* CLBAS* CLDE* CLDS* CLGM* CLNZ* CLO*

CLQ* CMAL* CMALD* CMBAS* CMDEM* CMDSM* CMFAC* CMGE* CMGM*

CMNZ* CMO* CMQ* DCDG* DCDGE* DCLG* DCLGE* DCMG* DLCLTR*

FGEL* FKA* GEARF* TOFLPS

FUNCTIONS AND SUBROUTINES

LIB$SIGNAL ONED

Page 227: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-225-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

ATMOSATMOS.FORDSPSLWPRETKFCALL ATMOS

PURPOSE:To compute atmospheric parameters.

DESCRIPTION:This subroutine uses pressure altitude and temperature

to calculate temperature ratio, pressure ratio, speed ofsound, and air density.

INPUTS:PALTSOAT

pressure altitude in feettemperature in degrees Celsius

OUTPUTS:THTAMBDLTAMBARHORTEMP

ambient temperature ratioambient pressure ratiospeed of sound in FT/SEC

density in SLUGS/CU.FT

ambient temperature in degrees Rankine

GLOBAL REFERENCES:

VARIABLES

A* ALT PRE DLTAMB RH0* RTEMP SOAT THTAMB

FUNCTIONS AND SUBROUTINES

MTH$SQRT

Page 228: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-226-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

ENGINEENGTKF.FORDSPSLWPRETKFCALL ENGINE(DTH,THRUST,EPR,SPD)

PURPOSE:To perform engine modeling computations.

DESCRIPTION:This procedure performs computations which model the

dynamics of the JT8D-7 aircraft engine. ENGINE is passedthrottle position and airspeed as calling parameters. Whenthe global simulation time variable "T" is zero all theengine parameters are initialized to their idle values. Theairspeed, throttle position, and ambient atmospheric con-ditions are used to calculate the engine thrust and pressureratio, which are returned to the caller in the parameterlist.

GLOBAL REFERENCES:

VARIABLESA ALT PRE DLTAMBT THTAMB

FUNCTIONS AND SUBROUTINESDZONE OLIMIT ONEDRATE THCORFXLIM

Page 229: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-227-

MODULE NAME:

FILE NAME:

PROCESS:

CALLED BY:

CALLING SEQUENCE:

LNGFM

LNG2D.FOR

DSPSLW

PRETKF

CALL LNGFM(OPERATE)

PURPOSE:

To compute the landing gear forces and moments.

DESCRIPTION:

This procedure computes landing gear forces and moments

for the left, right, and nose gear struts. The sole input

parameter is used as an initialization flag. All computed

values are returned through global common memory locations.

GLOBAL REFERENCES:

VARIABLES

ALTR CG COSTHE HDOT LGLB* LGMB* LGNB* LGXB* LGYB* LGZB*

MUROL SINTHE SQLMG* SQNG* SQRMG* THEDOT TPALT

FUNCTIONS AND SUBROUTINES

ONED XLIM

Page 230: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-228-

MODULENA/ME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

POLYFTPOLYFT.FORDSPSLWPRETKFCALL POLYFT(X,Y,NPTS,COEF)

PURPOSE:TO perform polynomial curve fitting.

DESCRIPTION:This subroutine performs a polynomial curve fit on

the X-Y data sets which are passed as calling parameters.A polynomial of order "NPOLY" is fitted minimizing thesum of the squared error.

INPUTSX(NPTS)Y(NPTS)NPTSNPOLY

independent variable arraydependent variable arraynumber of sets of data pointsorder of polynomial (included constant)

OUTPUTSCOEF(NPOLY+I) polynomial coefficients

The computed coefficients generate the solution to thefollowing polynomial equation.

Y = COEF(0) + COEF(1) [ X**l + COEF(2) [X**2 + .......... + COEF(NPOLY) [X**NPOLY

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINESSIMEQA

Page 231: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-229-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

SIMEQAPOLYFT.FORDSPSLWPOLYFT, ACTRIMCALL SIMEQA(B, N, C)

PURPOSE:To solve a system of linear equations.

DESCRIPTION:This subroutine uses matrix reduction to solve a system

of linear equations. The parameter "N" is the number of rowsin the matrix "B" and the number of elements in the vectorliCit .

GLOBAL REFERENCES:

none

Page 232: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-230-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

PRETKFPRETKF.FORDSPSLWDSPSLWCALL PRETKF

PURPOSE:To perform TOPMSpretakeoff calculations.

DESCRIPTION:This procedure is the main module for the TOPMSpre-

takeoff calculations. It performs internal simulations ofthe takeoff roll using the ambient conditions provided bythe aircraft sensors and the flight crew CDU entries. Twocomplete simulations are made using different coefficientsof runway friction (.04, .005). Each run is a simulated45 seconds of takeoff roll with 900 data samples of airspeedand acceleration saved. At the end of a run the sampleddata is passed to a curve fitting subroutine to produce athird order polynomial which approximates the airspeedversus acceleration profile of the data points. After bothsimulation runs are complete, the flight crew frictionestimate entered on the CDU is used to interpolate a finalset of polynomial coefficients from those created for theupper and lower runway friction values. These values areused to generate the remaining pretakeoff outputs describedin the start of this section.

GLOBAL REFERENCES:

VARIABLESA ALPHA ALT ALTR* ALT PRE ARMSPB*ATOBRK* CD CDBASCG CLCLAL CLALD CLBAS CLDE CLDS CLGMCLNZ CLO CLQ CMAL CMALDCMBASCMDEMCMDSMCMFACCMGECMGMCMNZCMOCMQCOSALPCOSPHI* COSTHEDCDFSP* DCDGDCDGEDCDGSP*DCLFSP* DCLGDCLGEDCLGSP* DCMGDELA* DELE DELR* DLCLTR DTHROT* EPRCFGEL FKA GEARF HDOT* LGMB LGXB LGZB MUBC* MUROL* MURWYORGHDGORGLENPB* PBDOT* PHI PHIDOT* QB QBDOT* RB* RBDOT*RHO ROLARM* ROLLIM* RWYVI RWYVR*SINALP SINPHI* SINTHESOAT SQLMGSQNGSQRMGT THEDOT* THETA THRIDL* THRST*TOFLPS TOSTAB TOWDTOWSTPALT UB UBDOTV1VISTOP VB*VBDOT* VR VWKWB WBDOTWEIGHT WGHTPRE YTOL

ARRAYSALTVEC* COEF* COEFSQBVEC* THVEC* UBVEC* WBVEC*

FUNCTIONS AND SUBROUTINESACTRIM ADBW2AEROCASPDCOATMOSENGINE LIB$ESTABLISHLIB$SIGNAL LNGFMMTH$ASIN MTH$COSMTH$SIN MTH$SQRTMTH$TANONEDPOLYFT RWYPRDSTPDIS THROTSTHSRVOTOP HDL

Page 233: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-231-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

THROTSTHROTS.FORDSPSLWPRETKFCALL THROTS(TEMP,PALT,EPRC,DTHC,DTHI4)

PURPOSE:To find the recommended takeoff EPR and the throttle

setting required to reach that value.

DESCRIPTION:This subroutine picks the EPR value recommended by the

B-737 flight manual for the given ambient temperature andpressure altitude based on the tabulation on page #3 (4B-I)of the flight manual for 737-ILT dated JAN 5/70.

The throttle setting needed to achieve this EPR understatic conditions is then calculated by an iterative processusing a relationship between commanded EPR, throttle settingand engine inlet stagnation temperature. This relationshipwas obtained from the JT8D-7 engine model as developed byDave Williams.

INPUTSTEMPPALT

ambient temperature in degrees Celsiuspressure altitude in feet

OUTPUTSEPRCDTHCDTHI4

EPR to be commandedthrottle setting needed to achieve EPRC (degrees)throttle setting for an EPR=I.4

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINESFINTER

Page 234: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 235: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-233-

Section 11.2 TOPMSREAL-TIME SOFTWARE

The TOPMSreal-time software generates the data neededto drive the real-time takeoff display. This software com-putes the actual performance of the airplane during takeoff,which will be compared to the takeoff profile generatedduring the pretakeoff segment of the TOPMSsoftware. Thereal-time software handles both the takeoff and abort modedisplays.

Three procedures are dedicated to the TOPMSreal-timecalculations. The following chart lists the procedure namesalong with their source code language and relative size.Those modules that serve as utility subroutines to anotherprocedure are shown with their caller. The size provided isthe percentage of total pretakeoff software memory usage, ex-cluding utility modules from TOPMS.OLB. The following pagesinclude module descriptions for each of the three procedures.

MODULE SOURCE SIZE

TOPEXC FORTRAN 87%APLANE

FILL FORTRAN 13%

The real-time computations start only after the pretakeoffsoftware has completed successfully. The global variable"TOPMS" is used as an index to coordinate processing. Whenthe index contains a value of 2 or 3 then real-time calcula-tions are computed. TOPEXC is the TOPMSreal-time executive,and is called twenty times per second. The subroutine FILLis called at the end of each pass of TOPEXC. FILL scales,converts, packs, and stores the TOPMSdata required by thedisplay format into the output buffer - including parameterscomputed by the pretakeoff segment.

Another global variable "ENABLE" is important to thereal-time software. Bit settings within the lower byte ofthis word control some of the software processing in TOPEXC.A detailed description of the individual bits and theirsignificance can be found at the end of section Ii.

To produce the real-time TOPMS display certain values

must be constantly updated. A list of those parameters areas follows.

airplane position on runway

measured airspeed in takeoff mode

distance to Vl in feet

distance to VR in feet

engine performance indicators

PRECEDING PAGE 13LA,_K NOT FJLr._ED

Page 236: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-234-

takeoff advisory status

mode switch (takeoff to abort)

stop distance w/current braking

stop distance w/max braking

ground speed in abort mode

Note that the current EPR settings are required by the

TOPMS format also, but since they are stored in the output

buffer by the engine format executive ENGEXC, TOPEXC does

not need to process and store those values too.

Page 237: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-235-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

FILLFILL.FORDSPFSTTOPEXCCALL FILL

PURPOSE:TO store in the displays output buffer the data

required by the TOPMS format.

DESCRIPTION:

This routine performs the scaling and storing of TOPMS

related data into the displays buffer OUTDAT. It also sets

flags as necessary to help regulate the proper execution of

the TOPMS software, which includes signaling the completionof a run.

The global variable "TOPMS" is used as an index to

indicate what phase of TOPMS processing is currently being

performed. The TOPMS format will continue to be displayed

while the real-time TOPMS software in TOPEXC is being

processed (index 2 or 3). However, in all other cases -

TOPMS format deselected (index 0), pre-takeoff calculations

underway (index i), and end of run flagged (index 4) - the

uppermost bit in the displays status word DISPST will be

cleared. This word sent back to the FM/FC computer will

cause the appropriate flags to be set which will turn off

the TOPMS format.

One particular buffer word (OUTDAT index 619) is used

to pack TOPMS related flags and indices. Flags are repre-

sented as certain bits within the word. Individual bits

will be set on if any of the following conditions exist.

bit

0

1

2

5

6

7

condition

no pretakeoff computation errors

left engine not failed

right engine not failed

takeoff mode (off is abort mode)

left or right bleeds are off

TOPMS,actual flap setting not same

Bits 3-4 of the packed word contain a two bit index (values

of 0 to 3) for the takeoff advisory status. The advisory

status determines what type of symbol will be displayed at

the end of the runway (i.e. green "must go" bar, yellow

caution triangle, the red "must stop" sign, or no symbol fornormal conditions).

Some of the TOPMS parameters are updated and stored in

the output buffer every frame, while others only need to be

stored one time per run. Values constantly updated are:

Page 238: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-236-

airplane position along runwaymin stop distance w/max brakingstop distance w/current brakingmeasured airspeed in takeoff modeground speed in abort modedistance to VR in ft ... (as long as VRdistance to V1 in ft ... not exceeded)

TOPMSvalues that are computed before the run starts andnever change for the course of the run, need to be stored inthe output buffer only once. These values include:

wind speedwind direction - runway headingrunway lengthtarget EPR for takeoff rollV2 speedroll limit line positionVR position on runwayVR speedVl speedrunway number

FILL updates the TOPMSphase index variable "TOPMS", whenit begins storing the values only packed once per run. Thisindicates the end of the first pass initialization process.The routine TOPEXCwill use this flag to bypass its firstpass calculations from thereon.

GLOBAL REFERENCES:

VARIABLESCASMDISPST* DISTP EPRC FLAP GSFPS LENGFL ORGHDGORGLENRENGFLROLLIM RWY2VI RWY2VRRWYID RWYVRSTATUS STOPDSTOPETKOFF TOFLPS TOINDX TOPMS* TOPOSTOPST TOWDTOWSV1 V2 VRBLEEDL BLEEDR

ARRAYSOUTDAT*

FUNCTIONSAND SUBROUTINESANGL

Page 239: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-237-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

TOPEXCTOPEXC.FORDSPFSTDSPFSTCALL TOPEXC

PURPOSE:Serves as the executive for the real-time portion of

the TOPMS experiment.

DESCRIPTION:

TOPEXC is the real-time executive for the TOPMS soft-

ware, and most of the actual real-time processing takes

place in this subroutine. The purpose of TOPEXC is to check

the airplane's progress during the takeoff roll. It con-

stantly refigures aircraft position in terms of the runway

already used up, and what is additionally needed to achieve

rotation speed. This routine monitors engine health,

acceleration performance, computes distances in feet re-

quired to reach V1 (decision speed) and VR (rotate speed)

in feet, calculates the distances required to stop, and

outputs a takeoff advisory status.

TOPEXC is called by DSPFST twenty times per second if

the TOPMS format is on. However, no real-time processing

takes place within TOPEXC until the pretakeoff software has

completed successfully. The first pass through the sub-

routine body performs initializations for the takeoff run.

When the software sequence variable "TOPMS" has a value of

three, then the continuous real-time segment is underway,

and continues for the course of the run. Among the things

done during the initialization process is to call APLANE

to make sure the flaps are set at either I, 5, or 15. If

they are not, the TOPMS sequence index is set to "end of

run" (TOPMS = 4). Another situation that will cause the run

to terminate, and is checked for at the beginning of each

TOPEXC pass, is if the difference between the runway heading

and aircraft true heading is more than 25 degrees.

Certain bits within the global variable "ENABLE" affect

TOPEXC's processing. ENABLE provides the capability to

select among a small set of options that allow some control

over how the run will be conducted. Bits can be set in

ENABLE, using the VIEW utility, prior to the .start of a run.

If set, the uppermost bit will cause the TOPMS internal

simulation software to activate, and the body of TOPEXC to

be bypassed. Bit 3 determines whether a pitch attitude

correction is computed into the along track acceleration.

Bit i controls the internal wind update. Bit 0 enabled will

will cause a ground speed bias to be figured. Bit 2 selects

the failure count for a performance failure to be either 5

consecutive frames or 8. Bits 4 and 5 determine the early

on "must go" advisory distance. Figure 11.3, at the end of

section Ii, presents a graphic representation of all the

ENABLE bit settings.

Page 240: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-238-

TOPEXCactivates and uses two time counters duringits processing. These counters are referenced throughoutthe subroutine to determine when specific processing shouldtake place. One is the real-time TOPMSsoftware clock(RTIME) which is started when the EPR's are advanced beyond1.4 and the ground speed is greater than 5 ft/sec. Theother clock, XSTIME, is activated at the actual start of therun which will be when the following conditions are met:the EPR's are greater than 1.4, throttles have been steadyfor at least 3 seconds, and the real-time clock XSTIME hashas been going for at least i0 seconds. Once XSTIME hasbegun counting, the takeoff run is underway.

During the course of the run, the distance travelled,the distances to reach Vl and VR, and also the amount ofrunway required to stop, are constantly recomputed. Twoone-time updates that occur during the run affect the VI, VR,

and stop distance calculations. Approximately two seconds

after the run starts the runway friction coefficient (XMU)

and the scheduled performance basis (COEF) are re-updated

based on the current takeoff run conditions. They are

initially computed during the pretakeoff segment. The other

update that occurs is a wind update. It takes place when

the airspeed exceeds 68 knots. The wind model can be dis-

abled using the ENABLE word.

Two important tasks of the real-time software are to

monitor engine health and acceleration performance. The

TOPMS display format is designed to signal engine and per-

formance failures. To determine if a failure has occurred,

actual engine parameters are compared to predicted ones.

TOPEXC computes predicted EPR and acceleration values. If

the difference between the actual and predicted values

differ by more than their allowable limit a specified number

of consecutive iterations, then an engine failure (EPK's), or

a performance failure (acceleration) is flagged.

There are two stop distances computed by TOPEXC. _One

is the distance required to stop using the present level of

deceleration (STOPE), and the other is the stop distance

using maximum braking (STOPD). The former is always figured

regardless of mode, while the latter is calculated only in

abort mode. Abort mode is entered when the throttles are

pulled back below 1.4 after the run has already begun.

One other responsiblity of this subroutine is to output

a takeoff advisory, which is used as an indication of the

takeoff situation. The advisory information is displayed on

the TOPMS format at the end of the runway, and comes in one

of four forms: a red stop sign warning, a yellow caution

triangle (early on "must go" condition), a green "must go"

bar, or no symbol at all for normal conditions. The follow-

ing chart describes the situations that will cause each of

the advisory indicators to be displayed.

Page 241: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-239-

Red Stop Sign

(i) VR point beyond roll limit line(2) left and right engine failures(3) one engine failure +

airspeed below Vl(4) acceleration performance failure

Yellow Early-On "Must Go" Triangle

(i) one engine failure +airspeed beyond Vl +not enough rwy to stop

Green "Must Go" Bar

(I)

(2)

one engine failure +

airspeed beyond Vl +

not enough rwy to stop

not enough rwy to stop

No Symbol

(i) VR point before roll limit line +

no performance failures +

no engine failures +

enough rwy to stop

The last thing TOPEXC does before exiting is to call

the subroutine FILL, which will pack the TOPMS data into the

output buffer for shipment to the display microprocessors.

GLOBAL REFERENCES:

VARIABLES

A ACCLF BDXACC CAS CASM CD CL DISTP DLTAMB DTHROT* ENABLE

EPRI EPR2 EPRPL EPRPR GSFPS GSPD GSPDI HDGTRU LENGFL

MAGVAR MURWY ORGHDG ORGLEN PITCH RENGFL RHO ROLLIM RWY2VI*

RWY2VR RWYVl RWYVR SOAT STATUS* STOPD STOPE* THROTL THROTR

THRST TKOFF TOPMS* TOPOS TOPST TRKACC V1VR VWK WEIGHT XMU

ARRAYS

COEF* COEFS

FUNCTIONS AND SUBROUTINES

ANGL APLANE ASPDCO EPRF FILL FINTER MTH$COS MTH$SIN RWYPRD

SIMTOP STPDIS THCORF

Page 242: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-240-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

APLANETOPEXC.FORDSPFSTTOPEXCCALL APLANE

PURPOSE:TO determine the coefficients of lift and drag

associated with a given flap setting.

DESCRIPTION:APLANE is called during the first pass initialization

phase of TOPEXC, provided that there were no pretakeoffcomputation errors. APLANE is responsible for figuring theappropriate coefficients of lift and drag for a particularflap setting. There are only three valid flap settings fora takeoff run: one, five, and fifteen. Any other flapsetting will cause APLANE to set the software index flag"TOPMS" to four, which signals end of run. To determinethe lift and drag coefficients the appropriate stabilizersetting must be identified first. Using the center ofgravity position, table look-ups and interpolation are per-formed to figure the stabilizer setting.

Besides the coefficients, the rate of change of lift

and drag due to the front spoilers and ground spoilers is

also identified. These will be fixed values based on which

of the three settings the flaps are positioned at.

GLOBAL REFERENCES:

VARIABLES

CD* CG CL* DCDFSP* DCDGSP* DCLFSP* DCLGSP* TOFLPS TOPMS*

Page 243: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-241-

Section 11.3 TOPMSOBJECT LIBRARY (TOPMS.OLB)

Their are seventeen subroutines on the TOPMSutilitylibrary TOPMS.OLB. Three of them are subroutines used onlyby other utility library modules (STPREF FNSERV SEARCH).

The following pages give a brief summary of the modules on

this library.

Page 244: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-242-

MODULENAME:FILE NAME:CALLING SEQUENCE:

ADBW2PROCS.FORCALL ADBW2(STATEVECTOR)

PURPOSE:To perform state vector integration.

DESCRIPTION:This utility performs integration to produce the

current value of a simulated signal. A three element inputarray is passed as the sole calling parameter. The arrayelements are used as follows.

STATE VECTOR(I): This element contains the last value ofthe signal. The new value computed from integration isreturned in this element.

STATE VECTOR(2) : This element contains the current rate thatthe signal changes in one second.

STATE VECTOR(3) : This element contains the previous framesvalue for STATE VECTOR(2).

The integration performed by this procedure is done 20 timesper second of simulated time. The equation used to computethe new signal is given below.

SIGNAL = LAST SIGNAL + .05 * (1.5 * KATE - 0.5 LAST KATE)

Note that ADBW2 automatically places the current rate into

the last rate element before returning to the caller.

GLOBAL REFERENCES:

none

Page 245: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-243-

MODULENAME:FILE NAME:CALLING SEQUENCE:

ASPDCOPROCS.FORCALL ASPDCO(SPEED, TYPE)

PURPOSE:To convert between airspeed types.

DESCRIPTION:This procedure is passed an airspeed (knots) and a

conversion type code. A type code of "0" requests con-version from true airspeed to calibrated airspeed and atype of "i" is passed for the conversion back.

GLOBAL REFERENCES:

VARIABLESDLTAMB THTAMB

FUNCTIONS AND SUBROUTINESMTH$SIGN MTH$SQRT

Page 246: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-244-

MODULENAME:FILE NAME:CALLING SEQUENCE:

DZONEPROCS.FORVALUE = DZONE(SIG, LOW, HIGH)

PURPOSE:

To perform a dead-zone adjustment.

DESCRIPTION:

This utility function is called to force a dead-zone

about zero on an input signal. The first calling parameter

is the signal value. The remaining parameters are the dead-

zone boundaries. The resulting value is the amount the

input signal is outside of the dead-zone. If the input is

within the dead-zone a zero value is returned.

GLOBAL REFERENCES:

none

Page 247: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-245-

MODULENAME:FILE NAME:CALLING SEQUENCE:

EPRFPROCS.FOREPR = EPRF(THROTTLE, TEMPERATURE)

PURPOSE:To compute EPR values.

DESCRIPTION:This utility function is called to compute an estimated

engine pressure ratio (EPR) from the throttle setting and

the engine inlet stagnation temperature.

GLOBAL REFERENCES:

none

Page 248: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-246-

MODULENAME:FILE NAME:CALLING SEQUENCE:

FINTERPROCS.FORCALL FINTER(EPR, OAT, THROTTLE)

PURPOSE:TO compute throttle setting for desired EPR.

DESCRIPTION:This utility is passed a desired engine pressure ratio

(EPR) and the outside air temperature (Deg C) to computethe throttle setting required. An iterative algorithmusing the function EPRF is implemented.

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINESEPRF LIB$SIGNAL

Page 249: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-247-

MODULENAME:FILE NAME:CALLING SEQUENCE:

FNSERVSTPDIS.FORPOS = FNSERV(RATE,COMMAND,ACTUAL,LIMIT)

PURPOSE:TO model servo response for control inputs.

DESCRIPTION:This subroutine models servo response to control

commands. The first calling parameter is the exponentialservo response constant used in filtering equations. Thecommanded value is passed along with the current actualposition. The last parameter is a rate limit which is themaximum amount the new position may differ from the last.

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINESMTH$SIGN

I

Page 250: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-248-

MODULE NAME:

FILE NAME:

CALLING SEQUENCE:

OLIMIT

PROCS.FOR

VALUE = OLIMIT(VALUE, LOW, HIGH)

PURPOSE:

To perform value limiting.

DESCRIPTION:

This utility function limits an input value to the

supplied boundary values. The resulting number will always

be within the range LOW - HIGH, not including the boundary

values. A tolerance of 1.0E-9 from the supplied range is

always enforced.

GLOBAL REFEKENCES:

none

Page 251: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-249-

MODULENAME:FILE NAME:CALLING SEQUENCE:

ONEDPROCS.FORVALUE = ONED(X, X_TABLE, INT_TABLE)

PURPOSE:

To perform one dimensional interpolation.

DESCRIPTION:

This utility function is passed a sample value "X" and

a table of possible values for the sampled value "X TABLE".

The interval containing X in X table is located and--used

to compute the interpolation value for the parallel interval

in the interpolation table "INT TABLE".

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINES

SEARCH

Page 252: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-250-

MODULENAME:FILE NAME:CALLING SEQUENCE:

RATEPROCS.FORVALUE = RATE(NEW, OLD, HIGH, LOW)

PURPOSE:

TO perform rate limiting.

DESCRIPTION:

This utility procedure returns the NEW value from the

parameter list unless the change from the previous value

exceeds the rate limits supplied. Note that the rate limits

are in UNITS/SECOND, but the utility assumes the time

differential between the sampled OLD and NEW is .05 seconds.

Note that the global time variable "T" from the pretakeoff

simulation is checked for initialization time (0.0). When

the simulation time has not started the NEW values is always

returned without rate limiting.

GLOBAL REFERENCES:

VARIABLES

T

FUNCTIONS AND SUBROUTINES

XLIM

Page 253: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-251-

MODULENAME:FILE NAME:CALLING SEQUENCE:-

RWYPRDPROCS.FORDISTANCE = RWYPRD(V START,V FINAL,V WIND)

PURPOSE:

To compute runway distances covered.

DESCRIPTION:

This utility function returns the predicted runway

distance traveled while accelerating between two airspeeds.

Both airspeeds (true/knots) are supplied in the calling

parameters along with the "along runway" component of the

wind speed (knots).The total distance traveled is found by a ten iteration

summation of distances covered in acceleration steps. The

pretakeoff acceleration versus airspeed polynomial is used

to predict the acceleration at each step.

GLOBAL REFERENCES:

ARRAYS

COEF

Page 254: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-252-

MODULENAME: SEARCHFILE NAME: PROCS.FORCALLING SEQUENCE: INDEX = SEARCH(VALUE,TABLE)

PURPOSE:TO perform table searching for interpolation modules.

DESCRIPTION:This utility function is called by the interpolation

utilities ONEDand TWODto locate the interval within atable where a supplied value falls. Note that since notable length is passed, the last interval of the table mustbe large enough to contain any possible search key value.

GLOBAL REFERENCES:none

Page 255: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-253-

MODULENAME:FILE NAME:CALLING SEQUENCE:

STPDISSTPDIS.FORDIST = STPDIS (V_0,MU, WEIGHT,V_WIND,TK_OFF)

PURPOSE:To compute runway stopping distances.

DESCRIPTION:This function computes the distance required to stop the

aircraft. This is done by iteratively simulating the abortprocess with a fixed time step (.25 seconds). The inputsare described below.

CALLING PARAMETERSV 0 current true airspeed (FT/SEC)MU rolling coefficient of frictionWEIGHT aircraft weight (POUNDS)V WIND wind speed (FT/SEC)TK OFF takeoff / abort mode flag

GLOBAL INPUTS

CL

CD

DCLFSP

DCDFSP

DCLGSP

DCDGSP

RHO

THRIDL

DTHROT

coefficient of lift

coefficient of drag

change in CL due to forward spoilers

change in CD due to forward spoilers

change in CL due to ground spoilers

change in CD due to ground spoilers

air density (SLUGS/CU FT)

idle thrust (POUNDS)

current throttle position (DEGREES)

The simulation performed models the forces involved

in stopping the aircraft. Performance of the aircraft is

modeled for .25 second intervals until the initial speed has

been driven to zero. The aircraft deceleration is computed

from thrust, lift, drag, weight, and runway friction.

Thrust and drag values are computed from the modeling of

reaction time in retarding the throttles and deploying the

spoilers. I

GLOBAL REFERENCES:

VARIABLES

CD CL DCDFSP DCDGSP DCLFSP DCLGSP DTHROT FSPREF GSPREF RHO

THRIDL THRST TMREF

FUNCTIONS AND SUBROUTINES

FNSERV STPREF

Page 256: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-254 -

MODULE NAME:

FILE NAME:

CALLING SEQUENCE:

STPREF

STPDIS.FOR

CALL STPREF(TK OFF)

PURPOSE:

To model throttle and spoiler usage in stopping.

DESCRIPTION:

This procedure is called solely by the utility STPDIS.

It computes the initial positions of throttles, forward

spoilers, and ground spoilers. When in takeoff mode, TK OFF

equal TRUE, the spoilers are assumed retracted and the --

throttles are set to takeoff position. Once a takeoff abort

has started however the entire response time involved is

reduced because these actions start when the abort is

initiated. After a certain amount of time into the abort

phase the throttles and spoilers will be considered com-

pletely in their abort positions.

The reference values for the positions are returned to

STPDIS through the global variables FSPREF, GSPREF, andTMREF.

GLOBAL REFERENCES:

VARIABLES

FSPREF* GSPREF* TMREF*

FUNCTIONS AND SUBROUTINES

FNSERV

Page 257: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-255-

MODULENAME:FILE NAME:CALLING SEQUENCE:

THCORFPROCS.FORTHRUST= THCORF(MACH,EPR)

PURPOSE:TO calculate engine thrust.

DESCRIPTION:This utility function is called to calculate sea-level

engine thrust from mach number and engine pressure ratio.For current pressure altitude adjustment the returned valuemust be multiplied by DLTAMB, which is a global variablecomputed by ATMOS.

GLOBAL REFERENCES:

FUNCTIONSAND SUBROUTINESXLIM

Page 258: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-256-

MODULENAME:FILE NAME:CALLING SEQUENCE:

THSRVOPROCS.FORCALL THSRVO(COMMAND,POSITION)

PURPOSE:TO compute the aft flight deck throttle servo response.

DESCRIPTION:This utility procedure is called to compute the aft

flight deck throttle servo position. The calling parametersare the desired and current throttle positions respectively.The actual position of the servo is returned through thesecond parameter. The effect of this module is to lag theresponse to the command by filtering the differentialbetween commanded and actual positions. The total amountthe servo may respond in one frame is also rate limited.

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINESMTH$SIGN

Page 259: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-257-

MODULENAME:FILE NAME:CALLING SEQUENCE:

TWODPROCS.FORVALUE = TWOD(X, XST,Y, YST,NX, FST)

PURPOSE:

To perform two dimensional interpolation.

DESCRIPTION:

This utility function is used to interpolate table

values dependent on two input values. This can be thought

of as identifying the proper position between four points of

a grid and interpolating into a corresponding value grid.

The first pair of calling parameters is the first

dependent variable and its corresponding table of possible

values. The next pair are used likewise for the second

dependent variable. The two dimensional table of values is

passed as the last calling parameter. Note that the number

of rows "NX" in the two dimensional value matrix is passed

for Fortran's addressing requirements.

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINES

SEARCH

Page 260: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-258 -

MODULENAME:FILE NAME:CALLING SEQUENCE:

XLIMPROCS.FORVALUE = XLIM(VALUE, LOW,HIGH)

PURPOSE:To perform range limiting.

DESCRIPTION:This utility function is called to limit an input value

to a range of specified values. The upper and lower bound-aries are passed as calling parameters.

GLOBAL REFERENCES:none

Page 261: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-259-

Section 11.4 TOPMSSIMULATION

The TOPMSdisplay format may be driven for the purpose

of demonstration by an internal simulation. The global

variable ENABLE is manually modified using the VIEW utility

to select the simulation. Note that the standard pilot CDU

entries into the flight management computer are made as

usual.

The high order four bits of ENABLE are used for the

TOPMS simulation. Refer to figure 11.3 at the end of

section ii for the definition of the TOPMS ENABLE bits.

The following page contains a module description for

the single routine responsible for creating the TOPMS

simulation.

Page 262: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-260-

MODULENAME:FILE NAME:PROCESS:CALLED BY:CALLING SEQUENCE:

SIMTOPTOPEXC.FORDSPFSTTOPEXCCALL SIMTOP(PERFLG)

PURPOSE:To simulate TOPMSvariables for demonstration.

DESCRIPTION:This procedure is called by TOPEXCwhen the simulation

selection bit in the ENABLE word is set. It is called justbefore TOPMSprocessing begins to overwrite external inputvariables which are used by TOPEXC. The TOPMSperformancefailure flag is passed to SIMTOP to assist in determiningengine failure situations.

GLOBAL REFERENCES:

VARIABLESBDXACCBLEEDL* BLEEDR* CAS DTHROTENABLE EPRI* EPR2* EPRCFLAP* GSFPS* HDGTRU*MAGVARORGHDGPITCH* THROTL* THROTR*TOFLPS TOPMS* V1VR VWK

ARRAYSCOEF

FUNCTIONSAND SUBROUTINESASPDCO

Page 263: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

"ENABLE" WORD (TOPMS)

-261-

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Brr(s)

0

1

2

3

4-5

6-7

12-15

USAGE

Set to sample stationary ground speed from IRS to create a ground speed bias

term.

Set to disable the TOPMS internal wind update.

Used to determine the consecutive failure count needed to flag a performance

error. When set the count is 8 frames, otherwise 5 frames. Note when the

count is set to 8, performance failure checking will also occur after the aircraft

reaches rotate speed (VR).

Set to remove pitch attitude correction to body mounted acceleration (X-axis)

in the computation of along runway acceleration.

Two-bit value selects overlap distance for "early on" of must-go advisory.O0 _ 0 feet Ol ---,500 feet I0 --_ I000 feetII _ 1500 feet

Throttle position override bits.

O1 --_ copy right into left 10 _ copy left into right

TOPMS internal simulation bits.

15: enable simulation

12: freeze simulation

13-14:00 _ standardrun 01 --_ IXXn• performance

10 --_ engine out at 100kt 11 --_ engine out at V1

-figure 11.3-

Page 264: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 265: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-263-

Appendix A I/O BUFFER USAGE

Display data is sent to the microprocessor system in a

704 word contiguous block. Except for the Navigation dis-

play format's background buffer (first 400 words), specific

locations within the data block have assigned contents. The

following pages contain the information on the allocation of

the data buffer. The first chart shows a composite usage

layout for all six display formats. The ranges of memory

used by the various formats is shown by assigning the byte

offset values to ID mnemonics (NAV: Navigation Display;

PFD: Primary Flight Display; ENG: Engine Display; SYS:

System warning display; FI: Sperry Primary Display TOP:

TOPMS display). The remaing pages have charts for each

individual format, breaking down the I/O memory usage by

specific variables. Note that the memory allocations for

NAV and TOP overlay each other. This is because these

display formats are mutually exclusive. The same micro-

processor contains both formats, with only one active at

a time.The offset and size values in the charts are in terms of

bytes. The index column contains the index into a word array

used by the host computer. When a "+" is shown by the index

the data actually resides on an odd byte boundary.

Following the I/O layouts is a detailed description of

the various packed words contained in the charts.

PRECEDING PAGE I_LANK NOT FILMED

Page 266: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-264-

MEMORY USAGE FOR ALL FORMATS

OFFSET SIZE INDEX ID

0 - 801 802 1

802 - 1005 204 402

1006 - 1007 2 504

1008 - 1079 72 505

1080 - 1081 2 541

1082 - 1085 4 542

1086 - 1089 4 544

1090 - 1091 2 546

1092 - 1097 6 547

1098 - 1099 2 550

ii00 - 1103 4 551

1104 - 1107 4 553

1108 - 1169 62 555

1170 - 1179 i0 586

1180 - 1181 2 591

1182 - 1187 6 592

1188 - 1189 2 595

1190 - 1193 4 596

1194 - 1195 2 598

1196 - 1201 6 599

1202 - 1203 2 602

1204 - 1207 4 603

1208 - 1241 34 605

1242 - 1247 6 622

1248 - 1255 8 625

1256 - 1263 8 629

1264 - 1267 4 633

1268 - 1271 4 635

1272 - 1275 4 637

1276 - 1343 68 639

1344 - 1345 2 673

1346 - 1347 2 674

1348 - 1351 4 675

1352 - 1355 4 677

1356 - 1357 2 679

1358 - 1359 2 680

1360 - 1361 2 681

1362 - 1363 2 682

1364 - 1365 2 683

1366 - 1369 4 684

1370 - 1373 4 686

1374 - 1375 2 688

1376 - 1377 2 689

1378 - 1379 2 690

1380 - 1381 2 691

NAV

ENG

F1

F1

PFD F1

F1

SYS

ENG

PFD NAY

NAV

PFD NAV

NAV

PFD NAV

NAV

PFD NAV

NAV

NAV TOP

NAY

PFD

PFD F1

PFD

PFD NAY

PFD

PFD NAV

PFD

NAV SYS

PFD F1

PFD NAV SYS F1

PFD NAV

PFD NAV SYS F1

TOP ENG SYS

SYS F1

PFD F1

PFD NAV TOP ENG SYS F1

PFD F1

Page 267: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-265-

1382 - 1383

1384 - 13951396 - 1401

1402 - 1403

1404 - 1405

1406 - 1407

2

12

62

2

2

692

693

699

702

703

704

NAV TOP

SYS

ENG SYS

ENG

NAV SYS F1

NAV SYS

Page 268: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-266-

MEMORY ALLOCATION FOR PFD

OFFSET SIZE INDEX VARIABLE UNITS

1090 - 1091 2

1180 - 1181 2

1188 - 1189 2

1194 - 1195 2

1202 - 1203 2

1256 - 1257 2

1258 - 1259 2

1260 - 1261 2

1262 - 1263 2

1264 - 1265 2

1266 - 1267 2

1268 - 1269 2

1270 - 1271 2

1272 - 1273 2

1274 - 1275 2

1276 - 1277 2

1278 - 1279 2

1280 - 1281 2

1282 - 1283 2

1284 - 1285 2

1286 - 1287 2

1288 - 1289 2

1290 - 1291 2

1292 - 1293 2

1294 - 1295 2

1296 - 1297 2

1298 - 1299 2

1300 - 1301 2

1302 - 1303 2

1304 - 1305 2

1306 - 1307 2

1308 - 1309 2

1310 - 1311 2

1312 - 1313 2

1314 - 1315 2

1316 - 1317 2

1318 - 1319 2

1320 - 1321 2

1322 - 1323 2

1324 - 1325 2

1326 - 1327 2

1328 - 1329 2

1330 - 1331 2

1332 - 1333 2

1334 - 1339 6

546 RADAR ALT

591 TRK DIAL

595 TRU HDG

598 TRU TRK

602 MAG TRK

629 ACC SEGMENT

630 STANDOFF

631 AIRCRAFT X

632 AIRCRAFT Y

633 ACT CAS

634 CAS REFm

635 DEC HT

636 FPA DIAL

637 VRT REF

638 GS REF

639 HOR TICK CTR

640 HOR X

641 MACH

642 PITCH Y

643 LOC X

644 RWY X1

645 RWY Y1

646 RWY X2

647 RWY Y2

648 RWY X3

649 RWY Y3

650 RWY X4

651 RWY Y4

652 RWY X5

653 RWY Y5

654 RWY X6

655 RWY Y6

656 RWY X7

657 RWY Y7

658 RWY X8

659 RWY Y8

660 RWY SCALE

661 PTH TRK

662 FLARE

663 STAR X

664 STAR Y

665 STAR--ZOOM

666 FPA REF

667 TRACK BUG X

668 TO WPT

FEET * 6.5536

DEG * 182.0444

DEG * 182.0444

DEG * 182.0444

DEG * 182.0444

INCHES * I000

INCHES * I000

INCHES * 1000

INCHES * I000

KNOTS * 64

KNOTS * 64

FEET

DEG * i0

FEET

FEET

INCHES * i000

INCHES * 1000

RATIO * I000

INCHES * i000

INCHES * 1000

INCHES * I000

INCHES * I000

INCHES * i000

INCHES * i000

INCHES * 1000

INCHES * I000

INCHES * 1000

INCHES * I000

INCHES * 1000

INCHES * I000

INCHES * I000

INCHES * 1000

INCHES * 1000

INCHES * I000

INCHES * 1000

INCHES * 1000

(0-I) * 16384

DEG * 182.0444

INCHES * 1000

INCHES * i000

INCHES * 1000

(1-20) * 1024

INCHES * i000

INCHES * 1000

ASCIC

Page 269: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-267-

1340 - 13411342 - 13431344 - 13451348 - 13491350 - 13511358 - 13591360 - 13611362 - 13631364 - 13651376 - 13771378 - 13791380 - 1381

222222222222

671672673675676680681682683689690691

NIBBLES 1NIBBLES 2NIBBLES 3DISCRETESSKY PTRACT ROLLACT ALTHDOTALT REFFLAP UPHOSTCNTBARO SET

PACKEDWORDPACKEDWORDPACKEDWORDPACKEDWORDDEG * 182.0444DEG * 182.0444

FEET

INCHES * i000

FEET

KNOTS * 65.536

SECONDS * 20

INCHES * I00

Page 270: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-268-

MEMORYALLOCATION FOR NAV

OFFSET SIZE INDEX VARIABLE UNITS

0 - 799 800 1 BCKGNDBUF800 - 801 2 401 LINK CMD1180 - 1181 2 591 SEL TRK1182 - 1183 2 592 ALT RANGE1184 - 1185 2 593 XTK GS RATIO1186 - 1187 2 594 AC NORIq1188 - 1189 2 595 TRU HDG1190 - 1191 2 596 WIND SPD1192 - 1193 2 597 WIND DIR1194 - 1195 2 598 TRU TRK1196 - 1197 2 599 MAP WORD1198 - 1199 2 600 MLS--X1200 - 1201 2 601 MLS Y1202 - 1203 2 602 MAGTRK1204 - 1205 2 603 BOX--X1206 - 1207 2 604 BOX--Y1208 - 1209 2 605 BOX HDG1210 - 1227 18 606 BUB--COORDS1228 - 1229 2 615 TANG TIMEI1230 - 1231 2 616 OFF VECTOR1232 - 1239 8 617 AP E--AST1240 - 1247 8 621 AP--NORTH1272 - 1273 2 637 VRT REF1274 - 1275 2 638 GS REF1344 - 1345 2 673 NIBBLE31356 - 1357 2 679 GS FPS1360 - 1361 2 681 ALT ACTUAL1362 - 1363 2 682 HDOT SEGMENT1364 - 1365 2 683 REF ALT VALUE1378 - 1379 2 690 HOST CNT1382 - 1383 2 692 FMT YD

1404 - 1405 2 703 DISC WORD11

1406 - 1407 2 704 DISC--WORDI2

BACKGROUND DATA

reserved

DEG * 182.0444

NAUT. MILES * 128

(I/SEC) * 65536

(FT/SEC/SEC) * 512

DEG * 182.0444

KNOTS

DEG * 182.0444

DEG * 182.0444

PACKED WORD

NAUT. MILES * 2048

NAUT. MILES * 2048

DEG * 182.0444

FEET / 32

FEET / 32

DEG * 182.0444

3-(X,Y, HDG)

SEC * 256

NAUT. MILES * 128

4-(INCHES * i000)

4-(INCHES * i000)FEET

FEET

PACKED WORD

(FT/SEC) * 32

FEET

INCHES * I000

FEET

SECONDS * 20

2, 7

PACKED WORD

PACKED WORD

Page 271: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-269-

MEMORYALLOCATION FOR TOP

OFFSET SIZE INDEX VARIABLE

1208 - 1209 2 605 SPEED1210 - 1211 2 606 WIND_SPD1212 - 1213 2 607 WIND_DIR1214 - 1215 2 608 RWY_LEN1216 - 1217 2 609 PLANE1218 - 1219 2 610 EPR1220 - 1221 2 611 V21222 - 1223 2 612 ROLL_LIMIT1224 - 1225 2 613 VRI1226 - 1227 2 614 VR2_POS1228 - 1229 2 615 VR2_VAL1230 - 1231 2 616 DSPEED_POS1232 - 1233 2 617 DSPEED_VAL1234 - 1235 2 618 STAR1236 - 1237 2 619 PACK_WORD1238 - 1239 2 620 EYE1240 - 1241 2 621 RWY ID1366 - 1367 2 684 EPRI1368 - 1369 2 685 EPR21378 - 1379 2 690 HOST CNT1382 - 1383 2 692 FMT_ID

UNITS

KNOTSKNOTSDEG * 182.0444FEETFEETRATIO * 8192KNOTSFEETFEETFEETKNOTSFEETKNOTSFEETPACKEDWORDFEETASCIIRATIO * 8192RATIO * 8192SECONDS* 202, 7

Page 272: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-270-

MEMORYALLOCATION FOR ENG

OFFSET SIZE INDEX

1006 - 1007 2 5041108 - 1109 2 555Iii0 - iiii 2 5561112 - 1113 2 5571114 - 1115 2 5581116 - 1117 2 5591118 - 1119 2 5601120 - 1121 2 5611122 - 1123 2 5621124 - 1125 2 5631126 - 1127 2 5641128 - 1129 2 5651130 - 1131 2 5661132 - 1133 2 5671134 - 1135 2 5681136 - 1137 2 5691138 - 1139 2 5701140 - 1141 2 5711142 - 1143 2 5721144 - 1145 2 5731146 - 1147 2 5741148 - 1149 2 5751150 - 1151 2 5761152 - 1153 2 5771154 - 1155 2 5781156 - 1157 2 5791158 - 1159 2 5801160 - 1161 2 5811162 - 1163 2 5821164 - 1165 2 5831166 - 1167 2 5841168 - 1169 2 5851366 - 1367 2 6841368 - 1369 2 6851378 - 1379 2 6901396 - 1397 2 6991398 - 1399 2 7001400 - 1401 2 7011402 - 1403 2 702

VARIABLE

SWITCHENG EPRLIMENG EPRCAUENG EPRCOMENG N1LENG N1RENG NILIMENG NICAUENG EGT LENG EGT RENG--EGTLIMENG EGTCAUENG FF LENG FF RENG EOP LENG EOP RENG EOLLIMENG EOULIMENG EOT LENG EOT RENG EOTLIMENG EOQ LENG EOQRENG EOQLIMENG N2 LENG N2 RENG N2LIMENG LFUELQENGRFUELQENG CFUELQENG TATENG GWENG EPR LENG EPR RHOST CNTDISC WORD7DISC WORD8DISC WORD9DISC WORD10

UNITS

reservedRATIO * 8192RATIO * 8192RATIO * 8192% * 163.84% * 163.84% * 163.84

% * 163.84

DEG-C * 32.768

DEG-C * 32.768

DEG-C * 32.768

DEG-C * 32.768

(LB/HR) * 1.6384

(LB/HR) * 1.6384

PSI * 163.84

PSI * 163.84

PSI * 163.84

PSI * 163.84

DEG-C * 91.022

DEG-C * 91.022

DEG-C * 91.022

GALLONS * 3276.8

GALLONS * 3276.8

GALLONS * 3276.8

% * 163.84

% * 163.84

% * 163.84

POUNDS

POUNDS

POUNDS

DEG-C * 128

POUNDS * .125

RATIO * 8192

RATIO * 8192

SECONDS * 20

PACKED WORD

PACKED WORD

PACKED WORD

PACKED WORD

Page 273: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-271-

MEMORYALLOCATION FOR SYS

OFFSET SIZE INDEX VARIABLE UNITS

ii00 - 1101 2 551 SYS LFLAP

1102 - 1103 2 552 SYS RFLAP

1356 - 1357 2 679 GS FPS

1360 - 1361 2 681 PFD ALT

1364 - 1365 2 683 PFD SELALT

1366 - 1367 2 684 ENG EPR L

1368 - 1369 2 685 ENG EPR R

1374 - 1375 2 688 PFD VSPD

1378 - 1379 2 690 HOST CNT

1384 - 1385 2 693 DISC WORD1

1386 - 1387 2 694 DISC WORD2

1388 - 1389 2 695 DISC WORD3

1390 - 1391 2 696 DISC WORD4

1392 - 1393 2 697 DISC WORD5

1394 - 1395 2 698 DISC WORD6

1396 - 1397 2 699 DISC WORD7

1398 - 1399 2 700 DISC WORD8

1400 - 1401 2 701 DISC WORD9

1404 - 1405 2 703 DISC WORD11

1406 - 1407 2 704 DISC WORD12

DEG * 182.0444

DEG * 182.0444

(FT/SEC) * 32

FEET

FEET

RATIO * 8192

RATIO * 8192

(FT/SEC) * 49.152

SECONDS * 20

PACKED WORD

PACKED WORD

PACKED WORD

PACKED WORD

PACKED WORD

PACKED WORD

PACKED WORD

PACKED WORD

PACKED WORD

PACKED WORD

PACKED WORD

Page 274: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-272-

MEMORYALLOCATION FOR F1

OFFSET SIZE INDEX

1080 - 1081 2 5411086 - 1087 2 5441088 - 1089 2 5451090 - 1091 2 5461092 - 1093 2 5471094 - 1095 2 5481096 - 1097 2 5491264 - 1265 2 6331266 - 1267 2 6341358 - 1359 2 6801360 - 1361 2 6811364 - 1365 2 6831374 - 1375 2 6881376 - 1377 2 6891378 - 1379 2 6901380 - 1381 2 6911404 - 1405 2 703

VARIABLE

PFD PITCHPFD VDVDATPFD XLDDATRADDATPFD SPDDATPITCMDCPROLCMDCPIASDATASTDATPFD ROLLALTITUDEPFD ASELDATVSPDATVMODATHOST CNTBAROSETDISC WORD11

UNITS

DEG * 182.0444FEET * 9.6FEET * 9.6FEET * 6.5536

knots * 500

DEG * 182.0444

DEG * 182.0444

KNOTS * 64

KNOTS * 64

DEG * 182.0444

FEET

FEET

(FT/SEC) * 49.152

KNOTS * 65.536

SECONDS * 20

INCHES * i00

PACKED WORD

Page 275: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-273-

INDEX

i599i

619

671

672

673

675

693

694

695

BIT(S)

0-15

0

1

2

3-4

5

6

0-3

4-7

8-11

12-15

0-3

4-7

8-11

12-15

0-34-7

8-11

12-15

0

1

2

3

4

5

6

7

8

9

I0

II

0

1-4

5

6

7

0-6

7

8-15

0-9

I0

11-15

PACKED WORD DESCRIPTIONS

USAGE

map background contol word (Section 7.1)

TOPMS format valid

left engine o.k.

right engine o.k.

takeoff advisory status

flap set error

left or right bleeds off

control mode index

throttle mode index

roll controller detent status

pitch controller detent status

perspective runway approach indexreference CAS color code

engaged horizontal mode indexarmed horizontal mode index

engaed vertical mode indexarmed vertical mode index

flight path angle bar color code

alert message index

attitude valid

velocity vector mode enabled

altitude hold sub-mode valid

star symbol valid

track bug symbol valid

runway symbol validreference altitude valid

radar altitude valid

airspeed valid

altitude valid

PFD format valid

track select valid

rfdiu disengaged

reserved

RFD Nav #2 tuning

DME #2 tuning

RFD com tuning 1 & 2

reserved

stabilizer out of trim

reserved

reserved

speed brake-do not arm

reserved

Page 276: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-274-

696

697

698

699

700

701

01

2

34

5

6-13

14

15

0-I

0

12

3

4

5

6

7

8

9

i0

II

12

13

14

0

1

2-34

5-9

I0

II

0

12

3

4

5

6

7

01

2

3

4

5

6

7

flap placard

throttle placard

speed brake placardaileron cam out

elevator cam out

rudder cam out

reserved

anti-skid inoperativereserved

reserved

nose gear upnose gear down

nose gear locked

nose gear up to down

nose gear down to upleft gear upleft gear down

left gear locked

left gear up to down

left gear down to upright gear up

right gear down

right gear locked

right gear up to down

right gear down to up

left flap movingright flap movingreserved

speed brake armedreserved

left reverser armed

right reverser armedleft EPR valid

left N1 valid

left EGT valid

left fuel flow valid

left oil pressure valid

left oil temperature valid

left oil quantity validleft N2 valid

rlght EPR valid

r_ght N1 valid

rlght EGT valid

rlght fuel flow valid

rlght oil pressure valid

rlght oil temperature valid

rlght oil quantity valid

rlght N2 valid

Page 277: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-275-

702

703

704

0123456789i0II12131415012345689i011-1213141501236789131415

EPR limit validEPR caution validEPR command validN1 limit validN1 caution validEGT limit validEGT caution validoil pressure limit validoil temperature limit validoil quantity limit validN2 limit validleft fuel quantity validright fuel quantity validcenter fuel quantity validtotal air temperature validgross weight validattitude validairspeed validselected airspeed validairspeed limit validaltitude validselected altitude validvertical speed validvertical deviation validlateral deviation validradar altitude validreservedtrue heading validtrue track validselected track validtrack line validMLS mode engagedMLS mode validGPS mode validwind validleft flap validright flap validMLS airplane color variantground speed validposition validmagnetic track valid

Page 278: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-276-

INDAT(N)

1

2

3

4

5:0-7

5:8-15

6

7

8

9

i0 - 32

33

34

35

36

37:0-7

37:8-15

38

39

40

41

42 - 64

65

66

67

68

69:0-7

69:8-15

70

71

72

73

74 - 96

97

98

99

i00

101:0-7

101:8-15

102

103

104

105

DESCRIPTION

DPII FORMAT ID/STATUS

DPII LEFT POT VALUE

DPII RIGHT POT VALUE

DPII BEZEL DISCRETE WORD

DPII DP ID FOUND BY FORMAT FROM DISCRETES

DPII DEU ID FOUND BY FORMAT FROM DISCRETES

DPII FORMAT CHECKSUM

DPII FORMAT SPARE TIME APPROXIMATION (msec)DPII FORMAT TIME FRAME OVERFLOW COUNT

DPII FORMAT TO DP4 I/O INTERFACE MISSES

DPI2 FORMAT ID/STATUS

DPI2 LEFT POT VALUE

DPI2 RIGHT POT VALUE

DPI2 BEZEL DISCRETE WORD

DPI2 DP ID FOUND BY FORMAT FROM DISCRETES

DPI2 DEU ID FOUND BY FORMAT FROM DISCRETES

DPI2 FORMAT CHECKSUM

DPI2 FORMAT SPARE TIME APPROXIMATION (msec)DPI2 FORMAT TIME FRAME OVERFLOW COUNT

DPI2 FORMAT TO DP4 I/O INTERFACE MISSES

DPI3 FORMAT ID/STATUS

DPI3 LEFT POT VALUE

DPI3 RIGHT POT VALUE

DPI3 BEZEL DISCRETE WORD

DPI3 DP ID FOUND BY FORMAT FROM DISCRETES

DPI3 DEU ID FOUND BY FORMAT FROM DISCRETES

DPI3 FORMAT CHECKSUM

DPI3 FORMAT SPARE TIME APPROXIMATION (msec)

DPI3 FORMAT TIME FRAME OVERFLOW COUNT

DPI3 FORMAT TO DP4 I/O INTERFACE MISSES

DP21 FORMAT ID/STATUS

DP21 LEFT POT VALUE

DP21 RIGHT POT VALUE

DP21 BEZEL DISCRETE WORD

DP21 DP ID FOUND BY FORMAT FROM DISCRETES

DP21 DEU ID FOUND BY FORMAT FROM DISCRETES

DP21 FORMAT CHECKSUM

DP21 FORMAT SPARE TIME APPROXIMATION (msec)

DP21 FORMAT TIME FRAME OVERFLOW COUNT

DP21 FORMAT TO DP4 I/O INTERFACE MISSES

Page 279: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-277-

106 - 128129130131132133:0-7133:8-15134135136137138 - 192193194195196197:0-7197:8-15198199200201202 - 224225226227228229:0-7229:8-15230231232233234 - 256257258259260261:0-7261:8-15262263264265266 - 288289

DP22 FORMATID/STATUSDP22 LEFT POT VALUEDP22 RIGHT POT VALUEDP22 BEZEL DISCRETE WORDDP22 DP ID FOUNDBY FORMATFROMDISCRETESDP22 DEU ID FOUNDBY FORMATFROMDISCRETESDP22 FORMATCHECKSUMDP22 FORMATSPARE TIME APPROXIMATION (msec)DP22 FORMATTIME FRAMEOVERFLOWCOUNTDP22 FORMATTO DP4 I/O INTERFACE MISSES

DP31 FORMATID/STATUSDP31 LEFT POT VALUEDP31 RIGHT POT VALUEDP31 BEZEL DISCRETE WORDDP31DP ID FOUNDBY FORMATFROMDISCRETESDP31DEU ID FOUNDBY FORMATFROMDISCRETESDP31 FORMATCHECKSUMDP31 FORMATSPARETIME APPROXIMATION (msec)DP31 FORMATTIME FRAMEOVERFLOWCOUNTDP31 FORMATTO DP4 I/O INTERFACE MISSES

DP32 FORMATID/STATUSDP32 LEFT POT VALUEDP32 RIGHT POT VALUEDP32 BEZEL DISCRETE WORDDP32 DP ID FOUNDBY FORMATFROMDISCRETESDP32 DEU ID FOUNDBY FORMATFROMDISCRETESDP32 FORMATCHECKSUMDP32 FORMATSPARE TIME APPROXIMATION (msec)DP32 FORMATTIME FRAMEOVERFLOWCOUNTDP32 FORMATTO DP4 I/O INTERFACE MISSES

DP33 FORMATID/STATUSDP33 LEFT POT VALUEDP33 RIGHT POT VALUEDP33 BEZEL DISCRETE WORDDP33 DP ID FOUNDBY FORMATFROMDISCRETESDP33 DEU ID FOUNDBY FORMATFROMDISCRETESDP33 FORMATCHECKSUMDP33 FORMATSPARE TIME APPROXIMATION (msec)DP33 FORMATTIME FRAMEOVERFLOWCOUNTDP33 FORMATTO DP4 I/O INTERFACE MISSES

BIU REAL TIME INTERRUPTCOUNT

Page 280: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-278-

290291292293294295296297298299300301302303304305306307308309 - 311312 - 314315 - 317318319320

COUNTOF PASSES THROUGHBIU MAIN LOOPBIU HIGH-SPEED BUS TRANSMITTERTIMEOUT COUNTERCOUNTEROF DEU RESPONSEFAILURESBIU HSB RECEPTIONSWITH WRONGNUMBEROF BYTESHSB CRC ERRORCOUNTERDISCRETE INDICATING BIU ROUTINES EXECUTEDNUMBEROF BIU REINITIALIZATIONS AFTER POWERONNUMBEROF BIU HARDWARERESETS SINCE POWERONNUMBEROF UNEXPECTEDINTERRUPTS IN THE BIUHSB SECONDARYADDRESS (DESTINATION OF FRAME)HSB PRIMARY ADDRESS (FILTERS INCOMING FRAMES)BIU HARDWAREINPUT DISCRETENORDENTO BIU INPUT COUNTERBIU TO NORDENOUTPUTCOUNTERNUMBEROF TIMEOUTS DURING INPUT FROMDR11 TO BIUNUMBEROF TIMEOUTS DURING OUTPUTFROMBIU TO DR11CONTENTSOF DR11 ADDRESSREGISTERBIU TIMEOUT COUNTER(CLEAREDEACHFRAME)NO DR11 ACTIVITY COUNTERDPI4 GENERALPURPOSESTATUSWORDSDP24 GENERALPURPOSESTATUS WORDSDP34 GENERALPURPOSESTATUS WORDSUNEXPECTEDDR11 WRITE COMMANDCOUNTERUNEXPECTEDDR11 READ COMMANDCOUNTER

Page 281: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-279-

Appendix B VIEW COMMANDENTRIES

When entering commands to VIEW the entered text is shownbelow the last display line. The prompt "->" is shown whileVIEW is accepting input. While the VIEW prompt is displayedthe values of the variables on the display lines are notupdated. This "freezes" the state of all displayed variablesat the time input was started. To perform a value "freeze"when no actual entries need to be made, enter a blank spaceto get into update hold. A carriage return will send a nullcommand to VIEW which will return to standard update mode.

The following pages contain a description of the commandsavailable for VIEW users. When the complete format of a commandis given, optional parts are delimited by square brackets.The last page of this section contains examples of VIEWcommands with a brief description of the actions performed.

** Displaying Variables **

Flight software global variables may be placed on theVIEW display screen by entering their name followed by oneor more options. The general format of this command isshown below.

<name> [ ([+]n) ] [/L=n[/I]] [/F=a[.n]] [/R=n] [/D=a] [/S=n]

The various options are used to override default actionsfrom VIEW.

SUBSCRIPT / OFFSET

A numeric value may be entered, enclosed in parentheses,

immediately following the symbol name. VIEW interprets the

number in one of two ways. If the entered value is an unsigned

constant then the value is treated as an array index. VIEW uses

the index to determine which of several consecutive data items

should be displayed. When the value is preceeded by a "+" or "-"

sign the value will be used as a direct byte offset from the

address associated with the variable's name. When no subscript

is supplied the base address of the entered variable is used.

Note that entering "(I)" or "(+0)" after a variable shows the

identical memory location as is seen when the variable's name is

entered by itself.

Page 282: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-280-

/L

This switch is used to select the line on the display screen

(1-20) where the variable will be placed. The default is the

first line after the last used line. When the /L option is used

any variable already show on the chosen line will be erased. If

the new variable is to be inserted at the line the /I switch

must be used in conjunction with /L. When the /I is used

the variables on the rest of the display page are moved down

to make room for the new entry. Note that variables at the

bottom of the display page will be pushed of the end of the

page.

/F

This switch is used to override the default format stored in

the VIEW symbol table. There are two parts to this switch; The

format type and the format length. The format length indicates

how many bytes of memory belong to the variable and the format

type defines how the data at that location is interpreted. The

following table shows the five format types and their valid

data lengths.

FORMAT LENGTH DESCRIPTION

F 4,8

E 4,8

I 1,2,4

H 1,2,4

A 1 - 8

floating point format

exponential floating point

signed decimal fixed point

unsigned hexadecimal fixed pointASCII text

Note the byte length defaults to 4 when not supplied.

/R

The repeat count is used to display a group of consecutive

memory locations each having the same data format. The default

repeat count is one, which shows the symbolic address location

only.

/D

This switch overrides the default description label placed

alongside an entered variable. VIEW uses the entered variable

name as the label by default. Any ASCII text string may be used,

up to 14 characters long.

Page 283: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-281-

/S

This switch defines the number of lines to be used for an

update sequence of the selected variable. An update sequence

shows the last "n" sampled values of the chosen variable. For

each update cycle of VIEW only one line in the update sequence is

changed to reflect the most recent sample of the variable. When

the line is updated a two digit hexadecimal sequence number is

appended to the end of line. The sequence number is used to

denote which line within the update sequence was updated last.

On the next update cycle the next line within the sequence is

changed. Past values of the variable remain on the screen on

the other lines of the update sequence. Note that only one

update sequence may be in effect at a time.

** Modifying Variables **

A value may be stored into a variable which is shown on

the VIEW display line by specifying the line number and the

desired value. The entered value must be appropriate for the

format used to display the variable. The format of the command

is as follows.

#<line>=<value> [/R=n]

Note that variables on several consecutive display lines may be

modified by using the /R switch to supply the count.

** Deleting Display Lines **

This command is used to remove a variable from the VIEW

display. The format of the command is as follows.

-<line> [/C] [/R=n]

The /R switch is used when several consecutive lines must be

removed. If it is desired that the variables following the

deleted lines should be moved up to fill the vacated space the

compress switch (/C) is entered. To remove all the variables

from the display use "-*"

Page 284: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-282-

** Changing Pages **

VIEW has four display pages consisting of twenty lines

each. Simply enter the desired page number, no <CR> necessary,

to get to the desired one. Note that entering the current

page number is a convenient way to erase unwanted outputshowing on the CRT screen.

** Creating Command Sets **

A sequence of VIEW commands may be saved on a file for use

at a later time. To enable command logging enter

\<file>

where <file> is the name of the disk file where the VIEW

commands are to be stored. To disable logging the "\" is

entered again with no file name appended. Note the standard

VIEW prompt "->" is changed to ">>" when command logging is

enabled. Erroneous VIEW entries, which cause the display of an

error diagnostic, will not be added to the command log.

There is one VIEW command which is valid only while loggingis enabled. The "." command places a pause into the command set

file. Later when the command set is executed the stream of VIEW

commands will be interrupted at the point where the "." was

entered. Two options exist for continuing from a pause duringcommand set execution. An <esc> entry terminates the command

set, returning VIEW to standard update mode. Any other keystroke will cause VIEW to continue on with the remainder ofthe command set.

Built in command sets can be created from a command log

file by using the program VIEW_SET. To use the program enter

RUN UTL:VIEW SET

on the software development VAX. The SETUP.MAR file linked

with VIEW can be modified by this menu driven program. After

exiting VIEW SET the SETUP.MAR file must be assembled and a

new VIEW.EXE must be created using the linker.

Page 285: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-283-

** Predefined Command Sets **

An entire set of VIEW commands may be executed by usinga predefined command set. The format of the command is asfollows.

@n or @<file>

When the @n form is used one of the built-in command sets isexecuted. To get a directory of all the built-in commandsets enter @0. To execute a built in command set type the "@"command followed by the number of the desired command set. Acommand set that exists on a file is executed by following the"@" command by the name of the file containing the set of VIEWcommands. In either case the commands are executed as if theywere entered manually in the order saved in the command set.

** Symbolic Name Directory **

The names of global variables which VIEW has stored in its

symbol table may be displayed on the CRT screen with this

command. The format of the command is as follows.

?<pattern>

All variables that match the entered pattern are shown, in

alphabetic order. The wildcard characters "*" and "%" may

be used in the pattern. The "*" means any characters may fit

in the entered position, including none at all. The "%" symbol

can represent exactly one character position.

** Exiting View **

Enter ^Z to stop the program and save the state of the

display pages. "QUIT" exits VIEW freeing all display lines.

Since a ^Z exit reserves a block of VAX memory for storage of

page configuration, the QUIT should be used at the end of a

session.

** Obtaining Help **

Enter "HELP" to produce a page of command reference text.

Any key stroke will return the display to the standard VIEW

page.

Page 286: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-284-

COMMAND

PITCH

LIST (4)/L=6/R=3/F=H. 2

#4=17.51

-15

-I/R=3/C

@4

@I-]COMMANDS.LOG

\[-]COMMANDS.LOG

\

?S*I

?R%%%

VIEW command examples

RESULT

Places the variable PITCH on the next

available display line using the format

stored in the VIEW symbol table.

Places three elements of the array LIST,

starting with the fourth element, onto

display lines 6 - 8. The data format is

two byte hexadecimal representation.

Changes the global memory associated

with the variable on line #4 to 17.51.

The format used on the display wouldneed to be either "F" or "E".

Remove from the display the variable

shown on line #15.

_Remove the variables on lines 1 - 3,

moving the rest of the displayed

variables up to fill the empty lines.

Execute the fourth built in command set.

Execute the command set stored in the

specified file.

Log VIEW commands on the specified file.

Terminate command logging.

Display all global variable names which

start with "S" and end with "i"

Display all four letter global variablenames which start with "R".

Page 287: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-285-

Appendix C CREATING THE EXECUTABLEIMAGES

The following files are provided with the source codefiles in a delivery set. These files are used in thegeneration of the display executable images.

BUILD.COMDDSTAR.COMDSPFST.COMDSPHDL.COMDSPSLW.COMSECTION.COMVIEW.COM

Builds all images using following ".COM" filesLinker commands for building DDSTAR.EXELinker commands for building DSPFST.EXELinker commands for building DSPHDL.EXELinker commands for building DSPSLW.EXELinker commands for building SECTION.EXELinker commands for building VIEW.EXE

DSPFST.OPTDSPHDL.OPTDSPSLW.OPTOPT.OPTSECTION.OPTMAPTBL.MAR

PASS.MAR

Linker options for DSPFST.EXELinker options for DSPHDL.EXELinker options for DSPSLW.EXELinker options for all executable imagesLinker options for SECTION.EXE and VIEW.EXEGlobal section mapping table for DSPFST,DSPHDL, DSPSLWGlobal section mapping associated withVIEW password entries.

COMMON.FORGBLNAME.DAT

Fortran "Block Data" module for BLKMACContains names of all images and globalsections for use by the utilities GLOBAL andSECTION.

Several command procedures and utility programs exist formaintenance of the display software. Users must have the

following commands in their LOGIN.COM file.

DEFINE UTL DUB0: [CSC.CJS.CMS]/JOB

@UTL:SET UP

The executable programs have been defined as DCL commands,

therefore they are accessed by simply entering their names

(CMS_SYSTEM, GLOBAL, BLKMAC). The command files are acti-

vated by prefixing "@UTL:" to the file name.

CMS SYSTEM.EXE

GLOBAL.EXE

BLKMAC.EXE

MACALL.COM

FORALL.COM

FTN.COM

Accesses source file delivery sets

Interactive program for global section

linkage

Creates object modules for global data

Assembles macro source files

Compiles Fortran source files

Compiles individual Fortran source file.

Page 288: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-286-

The first step in creating the executable images is thegeneration of VMS object modules from the source code filesdescribed in this document. The VMS Fortran compiler andMacro assembler are used to create object modules for ".FOR"and ".MAR" files respectively. Object files for the globaldata modules, ".INC" files with Fortran COMMONdefinitions,are generated with the utility program BLKMAC. One sourcefile, COMMON.FOR,is provided to BLKMACas input. The fileis a Fortran "Block Data" module, containing INCLUDE state-ments for each of the ".INC" files containing common blocks.Also data initialization statements for the global variablesappear in COMMON.FOR. BLKMACcreates one object module foreach COMMONstatement encountered in the input stream. Thefile name will have the same name as the Fortran commonblock. Two VMS command files were designed to facilitate thegeneration of object modules.

@UTL:MACALL

@UTL:FORALL

The first command assembles all VAX macro source files on an

account. The second command both compiles all Fortran files

on the account and automatically executes BLKMAC to compileglobal data specification files.

The next step is the creation of global section access

files. These files are used by the VMS linker and by the

executable images to determine the global section access

allowed for the individual executable images. The VMS

command GLOBAL_SECTIONS (GLOBAL for short) is executed to

interactively select the global section usage for each of

the applications images. This command gets the names of all

the images and global sections from the file GBLNAME.DAT,

which must exist on the current default directory. Infor-

mation about read and write access to the various global

sections must be provided for each executable image. This

information is used to generate the ".OPT" files and the

VAX macro file MAPTBL.MAR. Also the user is prompted for

VIEW passwords. When all password entries are complete,

information about the global section access privileges for

each password must be provided. The file PASS.MAR is

created from this information. When GLOBAL is finished the

two ".MAR" files must be assembled as follows.

GLOBAL

<interactive session>

MAC PASS,MAPTBL

The last step for the creation of the executable images

is Linking. All the required linking is performed by usingthe build command file provided.

@BUILD

Page 289: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-287-

Appendix D GENERALUTILITIES

A group of general purpose utility procedures are usedby display software. All but one reside in the utilitylibrary UTIL.OLB. The following is a list of the modulesused from the library. The description of these modules isprovided in the flight software utilities reference manual.

Condition Handling

C HDL EXCEPTIONS REPORT REPORT CHECK SHOW TT

Data Formatting

BCDTIM FMTTIM OTS$FLOAT

Mathematics

ANGL MXV POLAR SCOS UVC VCP VDP VMG XYZ

Map projection

CLIP GRID POSBTS

Miscellaneous

ASSIGN GET GET CHAR LOCK MAPCOM

The utility procedure PROJECT is not part of the utility

library. Its description is provided on the following page.

Page 290: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-288-

MODULE NAME:

FILE NAME:

PROCESS:

CALLED BY:

CALLING SEQUENCE:

PROJECT

PROJECT.FOR

DSPFST, DSPSLW

TURN, LINE, PASSBY

CALL PROJECT(WPTS, I,DIST,RLAT,RLON)

PURPOSE:

To compute a position between waypoints.

DESCRIPTION:

This utility procedure is called to find the latitude

and longitude of a point on the "great circle" arc connect-

ing two waypoints. The first three items in the parameter

list are inputs to PROJECT, while the last two are outputs.

The first input parameter is one of the waypoint buffers,

either the active (ACT WPTS) or the provisional (MOD WPTS).

The index into the waypoint buffer of the end waypoint of

the leg being processed is passed next. The last input

parameter is the distance, in feet, to the desired position

from the end waypoint. The values returned through the

remaining parameters in the calling list are the latitude

and longitude of the desired position.

Figure D.I on the following page shows how the position

of the desired point is found. The values given are A, a,

R, and the unit vectors for the arc end points.

GLOBAL REFERENCES:

FUNCTIONS AND SUBROUTINES

UVC POLAR

Page 291: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

"GREAT CIRCLE" ARC

POSITION CALCULATION

-289-

A

D

o =A/R ¢ =a/R {Subtended angles}

sin(O)d/D = _ = sin(O)cos (0) + sin(O)" sin(O)cos(@)

{Chord ratio }

•_ i A A= P2+ (l-p)I_ {direction vector}

^ gp-

IglUnit Vector

A

LATITUDE = ARCSIN (Px)

LONGITUDE = ARCTANGENT(- _y ,pz)A

-figure D.I-

Page 292: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 293: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-291-

Appendix E DISPLAY FORMAT "FREEZE"

The global variable FREEZE is used to stop portions of

the display software while the display processes are active.

This technique is used for debugging display formats and

customizing display screen appearance for photograph

sessions. The utility VIEW is used to manually modify the

variable FREEZE. By default the variable is set to zero for

normal display software operation. Note that the variable

will be automatically cleared if the flight management flag

LABFLG is not set on. Shown below are the values that may

be placed in FREEZE with VIEW, and their effect on the VAX

display software.

FREEZE = 1

No DATAC or interprocessor link I/O is performed. This

freezes the current sensor and FM/FC inputs at their

current values. Display microprocessor I/O is performedas usual.

DISFIL and FFPRC are not called. This eliminates the

intermediate processing of input variables.

Map background requests are generated regularly. This is

normally performed by the FM/FC update request MAPUPD,

which is no longer received. This is done since the

navigation format require fresh map backgrounds at least

every 15 seconds.

FREEZE = 3

Everything from FREEZE = i.

Display applications software is not executed, except map

background generation modules. This means the display

microprocessor output buffer remains frozen with the last

values sent to the formats.

When FREEZE is set to either value, the utility VIEW

may be used to manually modify VAX display variables which

effect the display formats in the microprocessors. With

FREEZE = 1 the inputs to the applications modules are

changed with VIEW. These modules will then perform their

computations on the input variables and format the display

microprocessor output buffer. When using FREEZE = 3, the

display microprocessor output buffer must be modified

directly with VIEW. The advantage of the first setting is

the user can work in engineering units such as feet and

_-_k-_tNx_?_"_r',_,_tb' !_t._( PRECEDING PAGE BLANK NOT FiLM_.D

Page 294: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

-292-

degrees and does not need to know the format of the display

output buffer. The setting of "3" is used when it is more

convenient to modify the output buffer directly, or the

active applications software produces undesirable results.

This happens in the case of display outputs that are the

differential of input signals. Since inputs are frozen at

their last value, the differential becomes zero, which will

be stored by an applications module into the display outputbuffer when FREEZE = I.

Page 295: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 296: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler

REPORTForm Approved

DOCUMENTATION PAGE OMaNo.o7o4-o18a

Puioh( rel_rhnq burden for lhfs t;ollP(tlOn of informahon is @_tlrnate_cl to avPr,tqe I hf)ur Dr rr,,_p_)n,.t,. Includinq the tlrnP for rPvlPWlllq inBtructiotl$, 1,catching PXlBtlflCj data sources,

L|alhq,ranq and ma*ntalnmg the data needed, and completing and tewPw*nq the, _oItP, Lion r)l mh_rm,ll*on _Pnd (omment$ rPc)ardmcj this burden estimate or any other aBpe(t of thi_toilP_tl_)n o| infr-,rm_tlon, infludlnq _u_gestlon$ for redu(In 9 Ih0 _, burden Ii) W_l_h_n_jtl}n _l_ldqudflP¢$ _q'fVl_.e_. I_trectorate TOT Information Opefatlon_ and RPpOft$o 12 lS Jef_ecson

Day**, H.Ihwav ¢,uite )204. Arhnqton. VA 22202-4 ]0}. and to the. Otfh e ,)f M.m_.|Pmenl ,rod IhJd,wt. Pal_,rwork R_lu(tlnn Pro Pt_t (0104-0188). Washm(jton, DC 2050)

1. AGENCY USE ONLY (Leave blank) 2. REPORT DATE 3. REPORT TYPE AND DATES COVERED

January 1992 Contractor Report

4. TITLE AND SUBTITLE Advanced Transport Operating System s. FUNDING NUMBERS

(ATOPS)Color Displays Software Description- C

MicroVAX System

6. AUTHOR(S)

Christopher J. S1ominskiValerie E. PlylerRichard W. Dickson

7. PERFORMINGORGANIZATIONNAME(S)ANDADDRESS(ES)

Computer Sciences Corporation3217 North Armistead Avenue

Hanlpton, Virginia 23666-1379

9. SPONSORING / MONITORING AGENCY NAME(S) AND ADDRESS(ES)

National Aeronautics and SpaceLangley Research CenterHampton, Virginia 23665-5225

Administration

WU

NAS1-19038

505-64-13-11

8. PERFORMING ORGANIZATIONREPORT NUMBER

10. SPONSORING / MONITORINGAGENCY REPORT NUMBER

NASA CR-189603

11. SUPPLEMENTARYNOTES

Langley Technical Monitor: Dr. James R. SchiessRobert A. Kudlinski

(COTR)

12a.DISTRIBUTION/ AVAILABILITYSTATEMENT

Unclassified - Unlimited

Subject Category 06

12b. DISTRIBUTION CODE

13. ABSTRACT (Maximum 200 words)

This document describes the software created for the Display MicroVAX computer used for the

Advanced Transport Operating Systems (ATOPS) project on the Transport Systems Research

Vehicle (TSRV). The software delivery of February 27, 1991, known as the "baseline display

system", is the one described in this document. Throughout this publication, module descriptions

are presented in a standardized format which contains module purpose, calling sequence, detailed

description and global references. The global references section includes subroutines, functions

and common variables referenced by a particular module.

The system described supports the Research Flight Deck (RFD) of the TSRV. The RFD contains

eight Cathode Ray Tubes (CRTs) which depict a Primary Flight Display, Navigation Display,

System Warning Display, Takeoff Performance Monitoring System Display, and Engine Display.

14. SUBJECT TERMS

Electronic Flight Instrumentation System Glass CockpitPrimary Flight Display Multifunction Displa)flavigation Display Fli_ht Displa_ Software

17. SECURITY CLASSIFICATION 18. SECURITY CLASSIFICATION 19. SECURITY CLASSIFICATIONOF REPORT OF THIS PAGE OF ABSTRACT

Unclassified Unclassified Unclassifiedi

NSN 7S40-01-280-$500

lS. NUMBER OF PAGES

29316. PRICE CODE

A1320. LIMITATION OF ABSTRACT I

UL

Standard Form 298 (Rev 2-89)Prescribed by ANed Std Z.]9-18

_98-102

Page 297: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler
Page 298: ntrs.nasa.govNASA Contractor Report 189603 Advanced Transport Operating System (ATOPS) Color Displays Software Description MicroVAX System Christopher J. Slominski Valerie E. Plyler