1 /**********************************************************************
3 FILENAME: uiuc_recorder.cpp
5 ----------------------------------------------------------------------
7 DESCRIPTION: outputs variables specified in input file to recorder
10 ----------------------------------------------------------------------
14 ----------------------------------------------------------------------
16 REFERENCES: Liberty, Jesse. "Sam's Teach Yourself C++ in 21 Days,"
19 ----------------------------------------------------------------------
21 HISTORY: 01/31/2000 initial release
22 03/02/2000 (JS) added record options for 1D and 2D
23 interpolated variables
25 ----------------------------------------------------------------------
27 AUTHOR(S): Jeff Scott <jscott@mail.com>
29 ----------------------------------------------------------------------
33 ----------------------------------------------------------------------
37 ----------------------------------------------------------------------
39 OUTPUTS: -variables recorded in uiuc_recorder.dat
41 ----------------------------------------------------------------------
43 CALLED BY: uiuc_wrapper.cpp
45 ----------------------------------------------------------------------
49 ----------------------------------------------------------------------
51 COPYRIGHT: (C) 2000 by Michael Selig
53 This program is free software; you can redistribute it and/or
54 modify it under the terms of the GNU General Public License
55 as published by the Free Software Foundation.
57 This program is distributed in the hope that it will be useful,
58 but WITHOUT ANY WARRANTY; without even the implied warranty of
59 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60 GNU General Public License for more details.
62 You should have received a copy of the GNU General Public License
63 along with this program; if not, write to the Free Software
64 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
65 USA or view http://www.gnu.org/copyleft/gpl.html.
67 **********************************************************************/
69 #include "uiuc_recorder.h"
71 void uiuc_recorder(double dt )
77 string record_variables = "# ";
79 command_list = recordParts->getCommands();
82 for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
83 record_variables += recordParts->getToken(*command_line,2) + " ";
85 fout << record_variables << endl;
86 for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
89 linetoken = recordParts->getToken(*command_line, 2);
91 switch(record_map[linetoken])
95 fout << Dx_pilot << " ";
100 fout << Dy_pilot << " ";
103 case Dz_pilot_record:
105 fout << Dz_pilot << " ";
110 fout << V_north << " ";
115 fout << V_east << " ";
120 fout << V_down << " ";
123 case V_rel_wind_record:
125 fout << V_rel_wind << " ";
128 case Dynamic_pressure_record:
130 fout << Dynamic_pressure << " ";
135 fout << Alpha << " ";
138 case Alpha_dot_record:
140 fout << Alpha_dot << " ";
148 case Beta_dot_record:
150 fout << Beta_dot << " ";
155 // fout << Gamma << " ";
160 fout << P_body << " ";
165 fout << Q_body << " ";
170 fout << R_body << " ";
180 fout << Theta << " ";
188 case Theta_dot_record:
190 fout << Theta_dot << " ";
195 fout << Density << " ";
205 fout << Simtime << " ";
213 case elevator_record:
215 fout << elevator << " ";
220 fout << aileron << " ";
225 fout << rudder << " ";
235 fout << CDfaI << " ";
240 fout << CDfadeI << " ";
250 fout << CLfaI << " ";
255 fout << CLfadeI << " ";
265 fout << CmfadeI << " ";
275 fout << CYfadaI << " ";
278 case CYfbetadrI_record:
280 fout << CYfbetadrI << " ";
290 fout << ClfadaI << " ";
293 case ClfbetadrI_record:
295 fout << ClfbetadrI << " ";
305 fout << CnfadaI << " ";
308 case CnfbetadrI_record:
310 fout << CnfbetadrI << " ";
313 case F_X_wind_record:
315 fout << F_X_wind << " ";
318 case F_Y_wind_record:
320 fout << F_Y_wind << " ";
323 case F_Z_wind_record:
325 fout << F_Z_wind << " ";
328 case F_X_aero_record:
330 fout << F_X_aero << " ";
333 case F_Y_aero_record:
335 fout << F_Y_aero << " ";
338 case F_Z_aero_record:
340 fout << F_Z_aero << " ";
343 case F_X_engine_record:
345 fout << F_X_engine << " ";
348 case F_Y_engine_record:
350 fout << F_Y_engine << " ";
353 case F_Z_engine_record:
355 fout << F_Z_engine << " ";
358 case F_X_gear_record:
360 fout << F_X_gear << " ";
363 case F_Y_gear_record:
365 fout << F_Y_gear << " ";
368 case F_Z_gear_record:
370 fout << F_Z_gear << " ";
388 case M_l_aero_record:
390 fout << M_l_aero << " ";
393 case M_m_aero_record:
395 fout << M_m_aero << " ";
398 case M_n_aero_record:
400 fout << M_n_aero << " ";
403 case M_l_engine_record:
405 fout << M_l_engine << " ";
408 case M_m_engine_record:
410 fout << M_m_engine << " ";
413 case M_n_engine_record:
415 fout << M_n_engine << " ";
418 case M_l_gear_record:
420 fout << M_l_gear << " ";
423 case M_m_gear_record:
425 fout << M_m_gear << " ";
428 case M_n_gear_record:
430 fout << M_n_gear << " ";
435 fout << M_l_rp << " ";
440 fout << M_m_rp << " ";
445 fout << M_n_rp << " ";
452 // end uiuc_recorder.cpp