]> git.mxchange.org Git - flightgear.git/blob - LaRCsim/ls_sim_control.h
c37f559f50557c18c6ff0236cb6e24a062d5cfa8
[flightgear.git] / LaRCsim / ls_sim_control.h
1 /***************************************************************************
2
3         TITLE:          ls_sim_control.h
4         
5 ----------------------------------------------------------------------------
6
7         FUNCTION:       LaRCSim simulation control parameters header file
8
9 ----------------------------------------------------------------------------
10
11         MODULE STATUS:  developmental
12
13 ----------------------------------------------------------------------------
14
15         GENEALOGY:      Created 18 DEC 1993 by Bruce Jackson
16
17 ----------------------------------------------------------------------------
18
19         DESIGNED BY:    B. Jackson
20         
21         CODED BY:       B. Jackson
22         
23         MAINTAINED BY:  guess who
24
25 ----------------------------------------------------------------------------
26
27         MODIFICATION HISTORY:
28         
29         DATE    PURPOSE                                         BY
30         
31         940204  Added "overrun" flag to indicate non-real-time frame.
32         940210  Added "vision" flag to indicate use of shared memory.
33         940513  Added "max_tape_channels" and "max_time_slices" EBJ
34         950308  Increased size of time_stamp and date_string to include
35                 terminating null char.                          EBJ
36         950314  Addedf "paused" flag to make this global (was local to
37                 ls_cockpit routine).                            EBJ
38         950406  Removed tape_channels parameter, and added end_time, model_hz,
39                 and term_update_hz parameters.                  EBJ     
40
41 $Header$
42 $Log$
43 Revision 1.2  1998/01/06 01:20:17  curt
44 Tweaks to help building with MSVC++
45
46 Revision 1.1  1997/05/29 00:09:59  curt
47 Initial Flight Gear revision.
48
49  * Revision 1.11  1995/04/07  01:39:09  bjax
50  * Removed tape_channels and added end_time, model_hz, and term_update_hz.
51  *
52  * Revision 1.10  1995/03/15  12:33:29  bjax
53  * Added 'paused' flag.
54  *
55  * Revision 1.9  1995/03/08  12:34:21  bjax
56  * Increased size of date_string and time_stamp by 1 to include terminating null;
57  * added userid field and include of stdio.h. EBJ
58  *
59  * Revision 1.8  1994/05/13  20:41:43  bjax
60  * Increased size of time_stamp to 8 chars to allow for colons.
61  * Added fields "tape_channels" and "time_slices" to allow user to change.
62  *
63  * Revision 1.7  1994/05/10  15:18:49  bjax
64  * Modified write_cmp2 flag to write_asc1 flag, since XPLOT 4.00 doesn't
65  * support cmp2.  Also added RCS header and log entries in header.
66  *
67                 
68
69 --------------------------------------------------------------------------*/
70 #include <stdio.h>
71
72 #ifndef SIM_CONTROL
73
74 typedef struct {
75
76   enum { batch, terminal, GLmouse, cockpit } sim_type;
77   char simname[64];     /* name of simulation */
78   int run_number;       /* run number of this session                     */
79   char date_string[7];  /* like "931220" */
80   char time_stamp[9];   /* like "13:00:00" */
81 #ifdef COMPILE_THIS_CODE_THIS_USELESS_CODE
82   char userid[L_cuserid]; /* who is running this sim */
83 #endif /* COMPILE_THIS_CODE_THIS_USELESS_CODE */
84   long time_slices;     /* number of points that can be recorded (circ buff) */
85   int write_av;         /* will be writing out an Agile_VU file after run */
86   int write_mat;        /* will be writing out a matrix script of session */
87   int write_tab;        /* will be writing out a tab-delimited time history */
88   int write_asc1;       /* will be writing out a GetData ASCII 1 file */
89   int save_spacing;     /* spacing between data points when recording
90                            data to memory; 0 = every point, 1 = every 
91                            other point; 2 = every fourth point, etc. */
92   int write_spacing;    /* spacing between data points when writing
93                            output files; 0 = every point, 1 = every 
94                            other point; 2 = every fourth point, etc. */
95   int overrun;          /* indicates, if non-zero, a frame overrun
96                            occurred in the previous frame. Suitable for
97                            setting a display flag or writing an error
98                            message.                                     */
99   int vision;           /* indicates, if non-zero, marriage to LaRC VISION
100                            software (developed A. Dare and J. Burley of the 
101                            former Cockpit Technologies Branch) */
102   int debug;            /* indicates, if non-zero, to operate in debug mode
103                            which implies disable double-buffering and synch.
104                            attempts to avoid errors */
105   int paused;           /* indicates simulation is paused */
106   float end_time;       /* end of simulation run value */
107   float model_hz;       /* current inner loop frame rate */
108   float term_update_hz; /* current terminal refresh frequency */
109
110 } SIM_CONTROL;
111
112 extern SIM_CONTROL sim_control_;
113
114 #endif
115
116 /*------------------------  end of ls_sim_control.h ----------------------*/