(Comp.sys.handhelds) Item: 3382 by anderson at truebalt.caltech.edu Author: [Eric R. Anderson] Subj: HP48: Aviation/Flight Planning programs Date: Thu Jun 06 1991 [Note: Eric describes how to "unpack" the program. He is referring to the source code listing, called FLY.SRC on this disk. But you don't need to bother "unpacking" it, because I already did. The binary file, called FLY on this disk, is fully "unpacked" and ready to download and run. -jkh-] What follows is a group of programs making up an electronic flight computer of sorts. The flight computer is made up of 6 functions: Weight and Balance with 9 plane memory and CG graphing Flight plan of up to eight legs Winds aloft calculation Density altitude Distance and heading between two points Crosswind components Each will be described more fully later. These functions can be accessed either alone, or by selecting from a menu presented by running START. There is a minimal amount of error checking in the programs, but if run from the START menu, the stack will be cleaned up if an error does occur. If flag 10 is set, the output of some of the program is changed to metric. Units are allowed (even encouraged) unless noted below, and appropriate conversions made. Extensive use is made of PGROB and UPGROB from Erik Bryntse, and they are included in the directory. The last four functions could be done much more compactly with the equation solver, but the programs provide a front end for things. The CST menu is also defined for conversions between fuel volume and weight (at 6lbs/gal). The whole thing is rather large, and to download on my 30K calculator requires removing everthing but ASC-> and ->ASC. ASC-> is required to unpack the directory. When I download it, everything goes fine until the last packet or two, when the calculator quits responding. Both Kermits eventually time out, and the directory is present and whole on the calculator. I'm not sure if this is just my calculator, or what. If it happens, just be patient. Once downloaded, press AERO to get into the directory, then SETUP to unpack it. Press START to begin. Notes: FPLAN, WIND, and CWIND use vector arithmetic, so beware if you have an HP 48 with the vector bug. The checksums are: Before unpacking: #11040d 23664.5 After unpacking: # 5241d 17881.5 Disclaimer: Use at your own risk. Feel free to redistribute in whole or in part if it strikes your fancy. If you want to make improvements, go ahead - I'm graduating in a week and a half, and losing net access, so I can't post any I make. Program Descriptions: The primary programs are described in the order they appear in the VAR menu. Since the directory is rather large, I have included a list of programs that call each program, so if you decide you don't want one of the functions, you can delete all the programs that only it calls. To save memory, I run without START and HELP, which saves about 5K. I apologise if the descriptions are a little cryptic. The program follows the descriptions. START: Called by: None Use the arrow keys to move around, and ENTER to select choice. Press any key to return to menu after program execution. HELP: Called by: START, self executable Presents three short help screens. FPLAN: Called by: START, self executable Computes magnetic heading, groundspeed, time en route, and fuel burn for up to eight legs of a flight. If units are entered for distance or fuel consumption rate on the first leg, units must be entered for each remaining leg. Time is shown in Hours:minutes format. W&B: Called by: START, self executable Compute weight and balance for selected aircraft, and plots weight vs moment arm if graph is defined for aircraft. Output is metric if flag 10 is set. If a graph has been defined for the plane chosen, flag 10 must be set so the output matches the units used in defining the graph for the graph to be valid. Choose ADD/DELETE to add a new plane or delete an old one. When adding a plane, select 0 for the number of points in the graph to save memory. If you want to define a graph, select a number of points equal to the number of line segments in the graph + 1. A line will be drawn from each point to the next point entered. Points are entered in the form (without units) { moment/1000 weight }. When asked for a station name, keep in mind that W&B will append "weight and moment arm" after the name you supply. WIND: Called by: START, self executable Calculates winds aloft from true course, ground speed, true heading and true airspeed. DALT: Called by: START, self executable Calculates density altitude from pressure altitude and temperature. Valid only for altitudes less than 36000 ft. DISTANCE: Called by: START, self executable Calculates distance and true heading between two points of latitude and longitude entered in hhh.mmss form. Points in the southern or eastern hemisphere may need to be entered as negative. The program has only been tested for points N and W. CWIND: Called by: START, self executable Given a heading and wind speed and direction, calculates headwind and crosswind components. Does not support units - units of components are same as of wind speed. PAUSE: Called by: START TRAP: Called by: START MAKEMENU: Called by: none Utility to make a menu for use with CHOOSE. ADDPLANE: Called by: W&B STRIP: Called by: START, FPLAN PAD: Called by: START CHOOSE: Called by: START, W&B, ADDPLANE Call with initial cursor position in stack level 2, and the menu grob in level 1. Returns cursor postion when ENTER is pressed. ADDGRAPH: Called by: ADDPLANE SCL: Called by: ADDGRAPH, CGGRAPH WBIN: Called by: W&B CGGRAPH: Called by: W&B PGROB, UPGROB: Called by: HELP,CHOOSE, ADDPLANE, CGGRAPH, ADDGRAPH, FPLAN PLANES: Called by W&B, ADDPLANE Stores the list of planes for use by W&B. Each plane list has the format { { CGgraph maxmoment minmoment maxweight minweight } { { station1name station1weight station1arm } { station2name station2weight station2arm } . . . { stationNname stationNweight stationNarm } } "Plane name" } FPLAN.GROB: Called by: FPLAN HELP.{123}: Called by: HELP STMENU: Called by: START WBMENU: Called by: W&B, ADDPLANE CURSOR: Called by: CHOOSE UNITMENU: Called by: W&B, ADDPLANE PLMENU: Called by: ADDPLANE DESCMENU: Called by: ADDPLANE Gal: Called by: W&B, FPLAN, ADDPLANE, CST (Defines 1 Gallon = 6 lbs) L: Called by: W&B, FPLAN, ADDPLANE, CST CST: Called by: None