100 C P?S/8 FOCAL VELOCITY, ETC. PLOTTING PROGRAM. 110 120 C LAST EDIT: 03-JAN-1990 04:00:00 CJL 130 140 C PROGRAM PRODUCES VELOCITY PLOT, ETC. ON HDS 3200-30 GRAPHICS DISPLAY 150 C TERMINAL OPERATING IN TEKTRONIX 4010 MODE. 160 170 C MUST BE USED WITH GRIND FILES OBTAINED BY SETTING 'CHAN=0' IN CURRENT 180 C GRIND PROGRAM. 190 200 C USAGE: .R FOCAL,8PATCH,HPATCH,HVPLT1...,PARAM,DATAFILES...,ZAP/N 210 220 C 8PATCH IS THE STANDARD 8K FOCAL PATCH. 230 240 C HPATCH IS THE STANDARD HDS 3200-30 FOCAL PATCH. 250 260 C HVPLT1... IS THE COLLECTION OF FILES STARTING WITH THIS FILE WHICH 270 C ENCOMPASS THE MAIN PROGRAM. 280 290 C PARAM IS THE FILE CONTAINING *ONLY* THE STARTING AND DISPLAY TIME, 300 C ETC. ATTEMPTS TO EMBELLISH THIS FILE WILL MAKE THE PROGRAM FAIL! 310 320 C DATAFILES IS THE COLLECTION OF FILES OBTAINED FROM THE GRIND PROGRAM. 330 340 C ZAP IS A SENTINEL FILE CONTAINING NOTHING BUT THE WORD "ZAP" TO 350 C TERMINATE THE DATA. 360 370 C ERASE ALL VARIABLES. 380 1.01 ERASE 390 C SETUP X-COORDINATE SCALING FACTORS. 400 1.02 SET XS=1.0; SET XO=0.0 410 C SETUP Y-COORDINATE SCALING FACTORS. 420 1.03 SET YS=3184/4096; SET YO=-456 430 C SETUP TIME BASE LINE Y-COORDINATE. 440 1.04 SET TY=-1900 450 C SETUP YAW EYE POSITION BASE LINE Y-COORDINATE. 460 1.05 SET XY=1390 470 C SETUP YAW HEAD POSITION BASE LINE Y-COORDINATE. 480 1.06 SET YY=74 490 C SETUP YAW EYE VELOCITY BASE LINE Y-COORDINATE. 500 1.07 SET VY=-1242 510 C INITIALIZE DISPLAYED VALUES (NO MOVEMENTS YET). 520 1.08 SET AX=0; SET AY=0; SET AV=0 530 C OUTPUT MAJOR X-AXES. 540 1.1 SET Y=XY; DO 15 550 1.11 SET Y=YY; DO 15 560 1.12 SET Y=VY; DO 15 570 1.13 SET Y=TY; DO 15 580 1.14 SET Y=2047; DO 15 590 C OUTPUT MINOR AXIS. 600 1.2 SET Y=732; FOR X=-2048,64,2047; DO 8 610 C OUTPUT MINOR AXIS. 620 1.3 FOR X=-2048,64,2047;SET Y=-584; DO 8 630 C OBTAIN STARTING TIME. 640 1.4 ASK ST 650 C OBTAIN DISPLAY (RUNNING) TIME. 660 1.5 ASK RT 670 C CALCULATE AND DRAW TIME LINE LABELS. 680 1.6 DO 7 690 C INITIALIZE MOVEMENT-USEFUL SWITCH; SETUP MOVEMENT AND OUTPUT TIMERS. 700 1.7 SET SW=0; SET OT=ST; SET TI=0 710 C INDICATE NO YET; INITIALIZE MOVEMENT COUNT; SETUP NEXT 720 C DISPLAY INCREMENT FACTOR. 730 1.8 SET EF=0; SET MC=0; SET ND=RT/1024 740 C CHECK IF LATEST (PREVIOUSLY ACQUIRED) MOVEMENT IS USEFUL NOW. 750 2.1 IF (SW) 2.4 760 C SINCE THERE IS NO CURRENT USEFUL MOVEMENT, ATTEMPT TO GET ONE. 770 2.2 DO 30; IF (EF) 3.1 780 C CHECK IF LATEST MOVEMENT IS USEFUL NOW. 790 2.3 IF (TI-OT) 2.2; SET SW=-1 800 C CHECK IF LATEST USEFUL MOVEMENT SHOULD BE USED RIGHT NOW. 810 2.4 IF (OT-TI) 2.6 820 C UPDATE DISPLAY VALUES FROM THIS MOVEMENT AND INDICATE NO FURTHER USE. 830 2.5 DO 6; SET SW=0 840 C OUTPUT CURRENT DISPLAY VALUES. 850 2.6 DO 5 860 C UPDATE DISPLAY TIME; CHECK IF AT END OF DESIRED DISPLAY INTERVAL. 870 2.7 SET OT=OT+ND; IF (OT-(ST+RT)) 2.1 880 C FLUSH ANY ADDITIONAL MOVEMENTS. 890 2.8 IF (EF) 3.1 900 2.9 DO 30; GO 2.8 910 C DISPLAY COMPLETE. 920 3.1 TYPE !,MC,OT,TI;QUIT 930 C 940 C 950 5.1 SET X=((OT-ST)*4096/RT)-2048 960 5.2 SET Y=AX*(658/512)+XY; DO 8 970 5.3 SET Y=AY*(658/512)+YY; DO 8 980 5.4 SET Y=(AV*(658/640)*64)+VY; DO 8 990 C 1000 C 1010 C TAKE NEW DISPLAYED POSITION FROM MOVEMENT END POSITION. 1020 6.1 SET AX=EX 1030 C TAKE NEW DISPLAYED POSITION FROM MOVEMENT END POSITION. 1040 6.2 SET AY=EY 1050 C TALE NEW DISPLAYED VELOCITY FROM MOVEMENT. 1060 6.3 SET AV=(EX-BX)/MT 1070 C 1080 C 1090 C CALCULATE TIME LABEL VALUES. 1100 7.1 SET TD=FITR(RT/5) 1110 C ENSURE MINIMUM TIME INTERVAL OF ONE SECOND. 1120 7.2 IF (1-TD) 7.3; SET TD=1 1130 C SETUP INITIAL TIME LABEL VALUE. 1140 7.3 SET T1= ST 1150 C OUTPUT LATEST TIME LABEL VALUE. 1160 7.4 DO 9 1170 C INCREMENT AND TEST LOOP VARIABLE.