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.1  2002/09/10 01:14:02  curt
44 Initial revision
45 
46 Revision 1.1.1.1  1999/06/17 18:07:33  curt
47 Start of 0.7.x branch
48 
49 Revision 1.1.1.1  1999/04/05 21:32:45  curt
50 Start of 0.6.x branch.
51 
52 Revision 1.4  1998/08/06 12:46:39  curt
53 Header change.
54 
55 Revision 1.3  1998/01/22 02:59:33  curt
56 Changed #ifdef FILE_H to #ifdef _FILE_H
57 
58 Revision 1.2  1998/01/06 01:20:17  curt
59 Tweaks to help building with MSVC++
60 
61 Revision 1.1  1997/05/29 00:09:59  curt
62 Initial Flight Gear revision.
63 
64  * Revision 1.11  1995/04/07  01:39:09  bjax
65  * Removed tape_channels and added end_time, model_hz, and term_update_hz.
66  *
67  * Revision 1.10  1995/03/15  12:33:29  bjax
68  * Added 'paused' flag.
69  *
70  * Revision 1.9  1995/03/08  12:34:21  bjax
71  * Increased size of date_string and time_stamp by 1 to include terminating null;
72  * added userid field and include of stdio.h. EBJ
73  *
74  * Revision 1.8  1994/05/13  20:41:43  bjax
75  * Increased size of time_stamp to 8 chars to allow for colons.
76  * Added fields "tape_channels" and "time_slices" to allow user to change.
77  *
78  * Revision 1.7  1994/05/10  15:18:49  bjax
79  * Modified write_cmp2 flag to write_asc1 flag, since XPLOT 4.00 doesn't
80  * support cmp2.  Also added RCS header and log entries in header.
81  *
82 
83 
84 --------------------------------------------------------------------------*/
85 
86 
87 #ifndef _LS_SIM_CONTROL_H
88 #define _LS_SIM_CONTROL_H
89 
90 
91 #include <stdio.h>
92 
93 #ifndef SIM_CONTROL
94 
95 typedef struct {
96 
97   enum { batch, terminal, GLmouse, cockpit } sim_type;
98   char simname[64];        /* name of simulation */
99   int run_number;        /* run number of this session                          */
100   char date_string[7];         /* like "931220" */
101   char time_stamp[9];          /* like "13:00:00" */
102 #ifdef COMPILE_THIS_CODE_THIS_USELESS_CODE
103   char userid[L_cuserid]; /* who is running this sim */
104 #endif /* COMPILE_THIS_CODE_THIS_USELESS_CODE */
105   long time_slices;        /* number of points that can be recorded (circ buff) */
106   int write_av;                /* will be writing out an Agile_VU file after run */
107   int write_mat;        /* will be writing out a matrix script of session */
108   int write_tab;        /* will be writing out a tab-delimited time history */
109   int write_asc1;        /* will be writing out a GetData ASCII 1 file */
110   int save_spacing;        /* spacing between data points when recording
111                            data to memory; 0 = every point, 1 = every
112                            other point; 2 = every fourth point, etc. */
113   int write_spacing;        /* spacing between data points when writing
114                            output files; 0 = every point, 1 = every
115                            other point; 2 = every fourth point, etc. */
116   int overrun;                /* indicates, if non-zero, a frame overrun
117                            occurred in the previous frame. Suitable for
118                            setting a display flag or writing an error
119                            message.                                        */
120   int vision;                /* indicates, if non-zero, marriage to LaRC VISION
121                            software (developed A. Dare and J. Burley of the
122                            former Cockpit Technologies Branch) */
123   int debug;                /* indicates, if non-zero, to operate in debug mode
124                            which implies disable double-buffering and synch.
125                            attempts to avoid errors */
126   int paused;                /* indicates simulation is paused */
127   float end_time;        /* end of simulation run value */
128   float model_hz;        /* current inner loop frame rate */
129   float term_update_hz; /* current terminal refresh frequency */
130 
131 } SIM_CONTROL;
132 
133 extern SIM_CONTROL sim_control_;
134 
135 #endif
136 
137 
138 #endif /* _LS_SIM_CONTROL_H */
139 
140 
141 /*------------------------  end of ls_sim_control.h ----------------------*/
142