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
24 04/01/2000 (JS) added throttle, longitudinal, lateral,
25 and rudder inputs to record map
26 04/24/2000 (JS) added rest of variables in
28 07/06/2001 (RD) changed Flap handle output
29 07/20/2001 (RD) fixed Lat_control and Rudder_pedal
30 10/25/2001 (RD) Added new variables needed for the non-
31 linear Twin Otter model at zero flaps
33 11/12/2001 (RD) Added new variables needed for the non-
34 linear Twin Otter model at zero flaps
35 (CxfxxfI). Removed zero flap variables.
36 Added flap_pos and flap_goal.
37 02/13/2002 (RD) Added variables so linear aero model
38 values can be recorded
40 ----------------------------------------------------------------------
42 AUTHOR(S): Jeff Scott <jscott@mail.com>
43 Robert Deters <rdeters@uiuc.edu>
45 ----------------------------------------------------------------------
49 ----------------------------------------------------------------------
53 ----------------------------------------------------------------------
55 OUTPUTS: -variables recorded in uiuc_recorder.dat
57 ----------------------------------------------------------------------
59 CALLED BY: uiuc_wrapper.cpp
61 ----------------------------------------------------------------------
65 ----------------------------------------------------------------------
67 COPYRIGHT: (C) 2000 by Michael Selig
69 This program is free software; you can redistribute it and/or
70 modify it under the terms of the GNU General Public License
71 as published by the Free Software Foundation.
73 This program is distributed in the hope that it will be useful,
74 but WITHOUT ANY WARRANTY; without even the implied warranty of
75 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
76 GNU General Public License for more details.
78 You should have received a copy of the GNU General Public License
79 along with this program; if not, write to the Free Software
80 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
81 USA or view http://www.gnu.org/copyleft/gpl.html.
83 **********************************************************************/
85 #include "uiuc_recorder.h"
87 SG_USING_STD(endl); // -dw
89 void uiuc_recorder( double dt )
94 static int recordStep = 0;
95 string record_variables = "# ";
97 int modulus = recordStep % recordRate;
99 if ((recordStep % recordRate) == 0)
101 command_list = recordParts->getCommands();
105 for (command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
106 record_variables += recordParts->getToken(*command_line,2) + " ";
108 fout << record_variables << endl;
109 for (command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
111 linetoken = recordParts->getToken(*command_line, 2);
113 switch(record_map[linetoken])
115 /************************* Time ************************/
118 fout << Simtime << " ";
127 /************************* Mass ************************/
130 fout << Weight << " ";
159 /*********************** Geometry **********************/
160 case Dx_pilot_record:
162 fout << Dx_pilot << " ";
165 case Dy_pilot_record:
167 fout << Dy_pilot << " ";
170 case Dz_pilot_record:
172 fout << Dz_pilot << " ";
177 fout << Dx_cg << " ";
182 fout << Dy_cg << " ";
187 fout << Dz_cg << " ";
191 /********************** Positions **********************/
192 case Lat_geocentric_record:
194 fout << Lat_geocentric << " ";
197 case Lon_geocentric_record:
199 fout << Lon_geocentric << " ";
202 case Radius_to_vehicle_record:
204 fout << Radius_to_vehicle << " ";
207 case Latitude_record:
209 fout << Latitude << " ";
212 case Longitude_record:
214 fout << Longitude << " ";
217 case Altitude_record:
219 fout << Altitude << " ";
229 fout << Theta << " ";
238 /******************** Accelerations ********************/
239 case V_dot_north_record:
241 fout << V_dot_north << " ";
244 case V_dot_east_record:
246 fout << V_dot_east << " ";
249 case V_dot_down_record:
251 fout << V_dot_down << " ";
254 case U_dot_body_record:
256 fout << U_dot_body << " ";
259 case V_dot_body_record:
261 fout << V_dot_body << " ";
264 case W_dot_body_record:
266 fout << W_dot_body << " ";
269 case A_X_pilot_record:
271 fout << A_X_pilot << " ";
274 case A_Y_pilot_record:
276 fout << A_Y_pilot << " ";
279 case A_Z_pilot_record:
281 fout << A_Z_pilot << " ";
286 fout << A_X_cg << " ";
291 fout << A_Y_cg << " ";
296 fout << A_Z_cg << " ";
299 case N_X_pilot_record:
301 fout << N_X_pilot << " ";
304 case N_Y_pilot_record:
306 fout << N_Y_pilot << " ";
309 case N_Z_pilot_record:
311 fout << N_Z_pilot << " ";
316 fout << N_X_cg << " ";
321 fout << N_Y_cg << " ";
326 fout << N_Z_cg << " ";
329 case P_dot_body_record:
331 fout << P_dot_body << " ";
334 case Q_dot_body_record:
336 fout << Q_dot_body << " ";
339 case R_dot_body_record:
341 fout << R_dot_body << " ";
345 /********************** Velocities *********************/
348 fout << V_north << " ";
353 fout << V_east << " ";
358 fout << V_down << " ";
361 case V_north_rel_ground_record:
363 fout << V_north_rel_ground << " ";
366 case V_east_rel_ground_record:
368 fout << V_east_rel_ground << " ";
371 case V_down_rel_ground_record:
373 fout << V_down_rel_ground << " ";
376 case V_north_airmass_record:
378 fout << V_north_airmass << " ";
381 case V_east_airmass_record:
383 fout << V_east_airmass << " ";
386 case V_down_airmass_record:
388 fout << V_down_airmass << " ";
391 case V_north_rel_airmass_record:
393 fout << V_north_rel_airmass << " ";
396 case V_east_rel_airmass_record:
398 fout << V_east_rel_airmass << " ";
401 case V_down_rel_airmass_record:
403 fout << V_down_rel_airmass << " ";
408 fout << U_gust << " ";
413 fout << V_gust << " ";
418 fout << W_gust << " ";
423 fout << U_body << " ";
428 fout << V_body << " ";
433 fout << W_body << " ";
436 case V_rel_wind_record:
438 fout << V_rel_wind << " ";
441 case V_true_kts_record:
443 fout << V_true_kts << " ";
446 case V_rel_ground_record:
448 fout << V_rel_ground << " ";
451 case V_inertial_record:
453 fout << V_inertial << " ";
456 case V_ground_speed_record:
458 fout << V_ground_speed << " ";
463 fout << V_equiv << " ";
466 case V_equiv_kts_record:
468 fout << V_equiv_kts << " ";
471 case V_calibrated_record:
473 fout << V_calibrated << " ";
476 case V_calibrated_kts_record:
478 fout << V_calibrated_kts << " ";
483 fout << P_local << " ";
488 fout << Q_local << " ";
493 fout << R_local << " ";
498 fout << P_body << " ";
503 fout << Q_body << " ";
508 fout << R_body << " ";
513 fout << P_total << " ";
518 fout << Q_total << " ";
523 fout << R_total << " ";
528 fout << Phi_dot << " ";
531 case Theta_dot_record:
533 fout << Theta_dot << " ";
538 fout << Psi_dot << " ";
541 case Latitude_dot_record:
543 fout << Latitude_dot << " ";
546 case Longitude_dot_record:
548 fout << Longitude_dot << " ";
551 case Radius_dot_record:
553 fout << Radius_dot << " ";
557 /************************ Angles ***********************/
560 fout << Alpha << " ";
563 case Alpha_deg_record:
565 fout << Alpha * RAD_TO_DEG << " ";
568 case Alpha_dot_record:
570 fout << Alpha_dot << " ";
573 case Alpha_dot_deg_record:
575 fout << Alpha_dot * RAD_TO_DEG << " ";
583 case Beta_deg_record:
585 fout << Beta * RAD_TO_DEG << " ";
588 case Beta_dot_record:
590 fout << Beta_dot << " ";
593 case Beta_dot_deg_record:
595 fout << Beta_dot * RAD_TO_DEG << " ";
598 case Gamma_vert_record:
600 fout << Gamma_vert_rad << " ";
603 case Gamma_vert_deg_record:
605 fout << Gamma_vert_rad * RAD_TO_DEG << " ";
608 case Gamma_horiz_record:
610 fout << Gamma_horiz_rad << " ";
613 case Gamma_horiz_deg_record:
615 fout << Gamma_horiz_rad * RAD_TO_DEG << " ";
619 /**************** Atmospheric Properties ***************/
622 fout << Density << " ";
627 fout << V_sound << " ";
630 case Mach_number_record:
632 fout << Mach_number << " ";
635 case Static_pressure_record:
637 fout << Static_pressure << " ";
640 case Total_pressure_record:
642 fout << Total_pressure << " ";
645 case Impact_pressure_record:
647 fout << Impact_pressure << " ";
650 case Dynamic_pressure_record:
652 fout << Dynamic_pressure << " ";
655 case Static_temperature_record:
657 fout << Static_temperature << " ";
660 case Total_temperature_record:
662 fout << Total_temperature << " ";
666 /******************** Earth Properties *****************/
669 fout << Gravity << " ";
672 case Sea_level_radius_record:
674 fout << Sea_level_radius << " ";
677 case Earth_position_angle_record:
679 fout << Earth_position_angle << " ";
682 case Runway_altitude_record:
684 fout << Runway_altitude << " ";
687 case Runway_latitude_record:
689 fout << Runway_latitude << " ";
692 case Runway_longitude_record:
694 fout << Runway_longitude << " ";
697 case Runway_heading_record:
699 fout << Runway_heading << " ";
702 case Radius_to_rwy_record:
704 fout << Radius_to_rwy << " ";
707 case D_pilot_north_of_rwy_record:
709 fout << D_pilot_north_of_rwy << " ";
712 case D_pilot_east_of_rwy_record:
714 fout << D_pilot_east_of_rwy << " ";
717 case D_pilot_above_rwy_record:
719 fout << D_pilot_above_rwy << " ";
722 case X_pilot_rwy_record:
724 fout << X_pilot_rwy << " ";
727 case Y_pilot_rwy_record:
729 fout << Y_pilot_rwy << " ";
732 case H_pilot_rwy_record:
734 fout << H_pilot_rwy << " ";
737 case D_cg_north_of_rwy_record:
739 fout << D_cg_north_of_rwy << " ";
742 case D_cg_east_of_rwy_record:
744 fout << D_cg_east_of_rwy << " ";
747 case D_cg_above_rwy_record:
749 fout << D_cg_above_rwy << " ";
752 case X_cg_rwy_record:
754 fout << X_cg_rwy << " ";
757 case Y_cg_rwy_record:
759 fout << Y_cg_rwy << " ";
762 case H_cg_rwy_record:
764 fout << H_cg_rwy << " ";
768 /********************* Engine Inputs *******************/
769 case Throttle_3_record:
771 fout << Throttle[3] << " ";
774 case Throttle_pct_record:
776 fout << Throttle_pct << " ";
780 /******************** Control Inputs *******************/
781 case Long_control_record:
783 fout << Long_control << " ";
786 case Long_trim_record:
788 fout << Long_trim << " ";
791 case Long_trim_deg_record:
793 fout << Long_trim * RAD_TO_DEG << " ";
796 case elevator_record:
798 fout << elevator << " ";
801 case elevator_deg_record:
803 fout << elevator * RAD_TO_DEG << " ";
806 case Lat_control_record:
808 fout << Lat_control << " ";
813 fout << aileron << " ";
816 case aileron_deg_record:
818 fout << aileron * RAD_TO_DEG << " ";
821 case Rudder_pedal_record:
823 fout << Rudder_pedal << " ";
828 fout << rudder << " ";
831 case rudder_deg_record:
833 fout << rudder * RAD_TO_DEG << " ";
836 case Flap_handle_record:
838 fout << Flap_handle << " ";
846 case flap_deg_record:
848 fout << flap * RAD_TO_DEG << " ";
851 case flap_goal_record:
853 fout << flap_goal << " ";
856 case flap_pos_record:
858 fout << flap_pos << " ";
862 /****************** Aero Coefficients ******************/
870 fout << CDfaI << " ";
875 fout << CDfCLI << " ";
880 fout << CDfadeI << " ";
885 fout << CDfdfI << " ";
890 fout << CDfadfI << " ";
898 case CXfabetafI_record:
900 fout << CXfabetafI << " ";
903 case CXfadefI_record:
905 fout << CXfadefI << " ";
910 fout << CXfaqfI << " ";
913 case CDo_save_record:
915 fout << CDo_save << " ";
918 case CDK_save_record:
920 fout << CDK_save << " ";
923 case CD_a_save_record:
925 fout << CD_a_save << " ";
928 case CD_adot_save_record:
930 fout << CD_adot_save << " ";
933 case CD_q_save_record:
935 fout << CD_q_save << " ";
938 case CD_ih_save_record:
940 fout << CD_ih_save << " ";
943 case CD_de_save_record:
945 fout << CD_de_save << " ";
948 case CXo_save_record:
950 fout << CXo_save << " ";
953 case CXK_save_record:
955 fout << CXK_save << " ";
958 case CX_a_save_record:
960 fout << CX_a_save << " ";
963 case CX_a2_save_record:
965 fout << CX_a2_save << " ";
968 case CX_a3_save_record:
970 fout << CX_a3_save << " ";
973 case CX_adot_save_record:
975 fout << CX_adot_save << " ";
978 case CX_q_save_record:
980 fout << CX_q_save << " ";
983 case CX_de_save_record:
985 fout << CX_de_save << " ";
988 case CX_dr_save_record:
990 fout << CX_dr_save << " ";
993 case CX_df_save_record:
995 fout << CX_df_save << " ";
998 case CX_adf_save_record:
1000 fout << CX_adf_save << " ";
1010 fout << CLfaI << " ";
1013 case CLfadeI_record:
1015 fout << CLfadeI << " ";
1020 fout << CLfdfI << " ";
1023 case CLfadfI_record:
1025 fout << CLfadfI << " ";
1035 fout << CZfaI << " ";
1038 case CZfabetafI_record:
1040 fout << CZfabetafI << " ";
1043 case CZfadefI_record:
1045 fout << CZfadefI << " ";
1048 case CZfaqfI_record:
1050 fout << CZfaqfI << " ";
1053 case CLo_save_record:
1055 fout << CLo_save << " ";
1058 case CL_a_save_record:
1060 fout << CL_a_save << " ";
1063 case CL_adot_save_record:
1065 fout << CL_adot_save << " ";
1068 case CL_q_save_record:
1070 fout << CL_q_save << " ";
1073 case CL_ih_save_record:
1075 fout << CL_ih_save << " ";
1078 case CL_de_save_record:
1080 fout << CL_de_save << " ";
1083 case CZo_save_record:
1085 fout << CZo_save << " ";
1088 case CZ_a_save_record:
1090 fout << CZ_a_save << " ";
1093 case CZ_a2_save_record:
1095 fout << CZ_a2_save << " ";
1098 case CZ_a3_save_record:
1100 fout << CZ_a3_save << " ";
1103 case CZ_adot_save_record:
1105 fout << CZ_adot_save << " ";
1108 case CZ_q_save_record:
1110 fout << CZ_q_save << " ";
1113 case CZ_de_save_record:
1115 fout << CZ_de_save << " ";
1118 case CZ_deb2_save_record:
1120 fout << CZ_deb2_save << " ";
1123 case CZ_df_save_record:
1125 fout << CZ_df_save << " ";
1128 case CZ_adf_save_record:
1130 fout << CZ_adf_save << " ";
1140 fout << CmfaI << " ";
1143 case CmfadeI_record:
1145 fout << CmfadeI << " ";
1150 fout << CmfdfI << " ";
1153 case CmfadfI_record:
1155 fout << CmfadfI << " ";
1158 case CmfabetafI_record:
1160 fout << CmfabetafI << " ";
1163 case CmfadefI_record:
1165 fout << CmfadefI << " ";
1168 case CmfaqfI_record:
1170 fout << CmfaqfI << " ";
1173 case Cmo_save_record:
1175 fout << Cmo_save << " ";
1178 case Cm_a_save_record:
1180 fout << Cm_a_save << " ";
1183 case Cm_a2_save_record:
1185 fout << Cm_a2_save << " ";
1188 case Cm_adot_save_record:
1190 fout << Cm_adot_save << " ";
1193 case Cm_q_save_record:
1195 fout << Cm_q_save << " ";
1198 case Cm_ih_save_record:
1200 fout << Cm_ih_save << " ";
1203 case Cm_de_save_record:
1205 fout << Cm_de_save << " ";
1208 case Cm_b2_save_record:
1210 fout << Cm_b2_save << " ";
1213 case Cm_r_save_record:
1215 fout << Cm_r_save << " ";
1218 case Cm_df_save_record:
1220 fout << Cm_df_save << " ";
1228 case CYfadaI_record:
1230 fout << CYfadaI << " ";
1233 case CYfbetadrI_record:
1235 fout << CYfbetadrI << " ";
1238 case CYfabetafI_record:
1240 fout << CYfabetafI << " ";
1243 case CYfadafI_record:
1245 fout << CYfadafI << " ";
1248 case CYfadrfI_record:
1250 fout << CYfadrfI << " ";
1253 case CYfapfI_record:
1255 fout << CYfapfI << " ";
1258 case CYfarfI_record:
1260 fout << CYfarfI << " ";
1263 case CYo_save_record:
1265 fout << CYo_save << " ";
1268 case CY_beta_save_record:
1270 fout << CY_beta_save << " ";
1273 case CY_p_save_record:
1275 fout << CY_p_save << " ";
1278 case CY_r_save_record:
1280 fout << CY_r_save << " ";
1283 case CY_da_save_record:
1285 fout << CY_da_save << " ";
1288 case CY_dr_save_record:
1290 fout << CY_dr_save << " ";
1293 case CY_dra_save_record:
1295 fout << CY_dra_save << " ";
1298 case CY_bdot_save_record:
1300 fout << CY_bdot_save << " ";
1308 case ClfadaI_record:
1310 fout << ClfadaI << " ";
1313 case ClfbetadrI_record:
1315 fout << ClfbetadrI << " ";
1318 case ClfabetafI_record:
1320 fout << ClfabetafI << " ";
1323 case ClfadafI_record:
1325 fout << ClfadafI << " ";
1328 case ClfadrfI_record:
1330 fout << ClfadrfI << " ";
1333 case ClfapfI_record:
1335 fout << ClfapfI << " ";
1338 case ClfarfI_record:
1340 fout << ClfarfI << " ";
1343 case Clo_save_record:
1345 fout << Clo_save << " ";
1348 case Cl_beta_save_record:
1350 fout << Cl_beta_save << " ";
1353 case Cl_p_save_record:
1355 fout << Cl_p_save << " ";
1358 case Cl_r_save_record:
1360 fout << Cl_r_save << " ";
1363 case Cl_da_save_record:
1365 fout << Cl_da_save << " ";
1368 case Cl_dr_save_record:
1370 fout << Cl_dr_save << " ";
1373 case Cl_daa_save_record:
1375 fout << Cl_daa_save << " ";
1383 case CnfadaI_record:
1385 fout << CnfadaI << " ";
1388 case CnfbetadrI_record:
1390 fout << CnfbetadrI << " ";
1393 case CnfabetafI_record:
1395 fout << CnfabetafI << " ";
1398 case CnfadafI_record:
1400 fout << CnfadafI << " ";
1403 case CnfadrfI_record:
1405 fout << CnfadrfI << " ";
1408 case CnfapfI_record:
1410 fout << CnfapfI << " ";
1413 case CnfarfI_record:
1415 fout << CnfarfI << " ";
1418 case Cno_save_record:
1420 fout << Cno_save << " ";
1423 case Cn_beta_save_record:
1425 fout << Cn_beta_save << " ";
1428 case Cn_p_save_record:
1430 fout << Cn_p_save << " ";
1433 case Cn_r_save_record:
1435 fout << Cn_r_save << " ";
1438 case Cn_da_save_record:
1440 fout << Cn_da_save << " ";
1443 case Cn_dr_save_record:
1445 fout << Cn_dr_save << " ";
1448 case Cn_q_save_record:
1450 fout << Cn_q_save << " ";
1453 case Cn_b3_save_record:
1455 fout << Cn_b3_save << " ";
1459 /******************** Ice Detection ********************/
1460 case CL_clean_record:
1462 fout << CL_clean << " ";
1465 case CL_iced_record:
1467 fout << CL_iced << " ";
1470 case CD_clean_record:
1472 fout << CD_clean << " ";
1475 case CD_iced_record:
1477 fout << CD_iced << " ";
1480 case Cm_clean_record:
1482 fout << Cm_clean << " ";
1485 case Cm_iced_record:
1487 fout << Cm_iced << " ";
1490 case Ch_clean_record:
1492 fout << Ch_clean << " ";
1495 case Ch_iced_record:
1497 fout << Ch_iced << " ";
1500 case Cl_clean_record:
1502 fout << Cl_clean << " ";
1505 case Cl_iced_record:
1507 fout << Cl_iced << " ";
1510 case CLclean_wing_record:
1512 fout << CLclean_wing << " ";
1515 case CLiced_wing_record:
1517 fout << CLiced_wing << " ";
1520 case CLclean_tail_record:
1522 fout << CLclean_tail << " ";
1525 case CLiced_tail_record:
1527 fout << CLiced_tail << " ";
1530 case Lift_clean_wing_record:
1532 fout << Lift_clean_wing << " ";
1535 case Lift_iced_wing_record:
1537 fout << Lift_iced_wing << " ";
1540 case Lift_clean_tail_record:
1542 fout << Lift_clean_tail << " ";
1545 case Lift_iced_tail_record:
1547 fout << Lift_iced_tail << " ";
1550 case Gamma_clean_wing_record:
1552 fout << Gamma_clean_wing << " ";
1555 case Gamma_iced_wing_record:
1557 fout << Gamma_iced_wing << " ";
1560 case Gamma_clean_tail_record:
1562 fout << Gamma_clean_tail << " ";
1565 case Gamma_iced_tail_record:
1567 fout << Gamma_iced_tail << " ";
1570 case w_clean_wing_record:
1572 fout << w_clean_wing << " ";
1575 case w_iced_wing_record:
1577 fout << w_iced_wing << " ";
1580 case w_clean_tail_record:
1582 fout << w_clean_tail << " ";
1585 case w_iced_tail_record:
1587 fout << w_iced_tail << " ";
1590 case V_total_clean_wing_record:
1592 fout << V_total_clean_wing << " ";
1595 case V_total_iced_wing_record:
1597 fout << V_total_iced_wing << " ";
1600 case V_total_clean_tail_record:
1602 fout << V_total_clean_tail << " ";
1605 case V_total_iced_tail_record:
1607 fout << V_total_iced_tail << " ";
1610 case beta_flow_clean_wing_record:
1612 fout << beta_flow_clean_wing << " ";
1615 case beta_flow_clean_wing_deg_record:
1617 fout << beta_flow_clean_wing * RAD_TO_DEG << " ";
1620 case beta_flow_iced_wing_record:
1622 fout << beta_flow_iced_wing << " ";
1625 case beta_flow_iced_wing_deg_record:
1627 fout << beta_flow_iced_wing * RAD_TO_DEG << " ";
1630 case beta_flow_clean_tail_record:
1632 fout << beta_flow_clean_tail << " ";
1635 case beta_flow_clean_tail_deg_record:
1637 fout << beta_flow_clean_tail * RAD_TO_DEG << " ";
1640 case beta_flow_iced_tail_record:
1642 fout << beta_flow_iced_tail << " ";
1645 case beta_flow_iced_tail_deg_record:
1647 fout << beta_flow_iced_tail * RAD_TO_DEG << " ";
1650 case Dbeta_flow_wing_record:
1652 fout << Dbeta_flow_wing << " ";
1655 case Dbeta_flow_wing_deg_record:
1657 fout << Dbeta_flow_wing * RAD_TO_DEG << " ";
1660 case Dbeta_flow_tail_record:
1662 fout << Dbeta_flow_tail << " ";
1665 case Dbeta_flow_tail_deg_record:
1667 fout << Dbeta_flow_tail * RAD_TO_DEG << " ";
1670 case pct_beta_flow_wing_record:
1672 fout << pct_beta_flow_wing << " ";
1675 case pct_beta_flow_tail_record:
1677 fout << pct_beta_flow_tail << " ";
1680 case eta_ice_record:
1682 fout << eta_ice << " ";
1685 case eta_wing_left_record:
1687 fout << eta_wing_left << " ";
1690 case eta_wing_right_record:
1692 fout << eta_wing_right << " ";
1695 case eta_tail_record:
1697 fout << eta_tail << " ";
1700 case delta_CL_record:
1702 fout << delta_CL << " ";
1705 case delta_CD_record:
1707 fout << delta_CD << " ";
1710 case delta_Cm_record:
1712 fout << delta_Cm << " ";
1715 case delta_Cl_record:
1717 fout << delta_Cl << " ";
1720 case delta_Cn_record:
1722 fout << delta_Cn << " ";
1725 case boot_cycle_tail_record:
1727 fout << boot_cycle_tail << " ";
1730 case boot_cycle_wing_left_record:
1732 fout << boot_cycle_wing_left << " ";
1735 case boot_cycle_wing_right_record:
1737 fout << boot_cycle_wing_right << " ";
1740 case autoIPS_tail_record:
1742 fout << autoIPS_tail << " ";
1745 case autoIPS_wing_left_record:
1747 fout << autoIPS_wing_left << " ";
1750 case autoIPS_wing_right_record:
1752 fout << autoIPS_wing_right << " ";
1755 case eps_pitch_input_record:
1757 fout << eps_pitch_input << " ";
1760 case eps_alpha_max_record:
1762 fout << eps_alpha_max << " ";
1765 case eps_pitch_max_record:
1767 fout << eps_pitch_max << " ";
1770 case eps_pitch_min_record:
1772 fout << eps_pitch_min << " ";
1775 case eps_roll_max_record:
1777 fout << eps_roll_max << " ";
1780 case eps_thrust_min_record:
1782 fout << eps_thrust_min << " ";
1785 case eps_flap_max_record:
1787 fout << eps_flap_max << " ";
1790 case eps_airspeed_max_record:
1792 fout << eps_airspeed_max << " ";
1795 case eps_airspeed_min_record:
1797 fout << eps_airspeed_min << " ";
1800 case tactilefadefI_record:
1802 fout << tactilefadefI << " ";
1806 /*******************Autopilot***************************/
1807 case ap_Theta_ref_deg_record:
1809 fout << ap_Theta_ref_deg << " ";
1812 case ap_pah_on_record:
1814 fout << ap_pah_on << " ";
1818 /************************ Forces ***********************/
1819 case F_X_wind_record:
1821 fout << F_X_wind << " ";
1824 case F_Y_wind_record:
1826 fout << F_Y_wind << " ";
1829 case F_Z_wind_record:
1831 fout << F_Z_wind << " ";
1834 case F_X_aero_record:
1836 fout << F_X_aero << " ";
1839 case F_Y_aero_record:
1841 fout << F_Y_aero << " ";
1844 case F_Z_aero_record:
1846 fout << F_Z_aero << " ";
1849 case F_X_engine_record:
1851 fout << F_X_engine << " ";
1854 case F_Y_engine_record:
1856 fout << F_Y_engine << " ";
1859 case F_Z_engine_record:
1861 fout << F_Z_engine << " ";
1864 case F_X_gear_record:
1866 fout << F_X_gear << " ";
1869 case F_Y_gear_record:
1871 fout << F_Y_gear << " ";
1874 case F_Z_gear_record:
1876 fout << F_Z_gear << " ";
1894 case F_north_record:
1896 fout << F_north << " ";
1901 fout << F_east << " ";
1906 fout << F_down << " ";
1910 /*********************** Moments ***********************/
1911 case M_l_aero_record:
1913 fout << M_l_aero << " ";
1916 case M_m_aero_record:
1918 fout << M_m_aero << " ";
1921 case M_n_aero_record:
1923 fout << M_n_aero << " ";
1926 case M_l_engine_record:
1928 fout << M_l_engine << " ";
1931 case M_m_engine_record:
1933 fout << M_m_engine << " ";
1936 case M_n_engine_record:
1938 fout << M_n_engine << " ";
1941 case M_l_gear_record:
1943 fout << M_l_gear << " ";
1946 case M_m_gear_record:
1948 fout << M_m_gear << " ";
1951 case M_n_gear_record:
1953 fout << M_n_gear << " ";
1958 fout << M_l_rp << " ";
1963 fout << M_m_rp << " ";
1968 fout << M_n_rp << " ";
1972 /*********************** Moments ***********************/
1973 //case flapper_freq_record:
1975 //fout << flapper_freq << " ";
1978 //case flapper_phi_record:
1980 //fout << flapper_phi << " ";
1983 //case flapper_phi_deg_record:
1985 //fout << flapper_phi*RAD_TO_DEG << " ";
1988 //case flapper_Lift_record:
1990 //fout << flapper_Lift << " ";
1993 //case flapper_Thrust_record:
1995 //fout << flapper_Thrust << " ";
1998 //case flapper_Inertia_record:
2000 //fout << flapper_Inertia << " ";
2003 //case flapper_Moment_record:
2005 //fout << flapper_Moment << " ";
2008 /*********************** debug ***********************/
2009 /* debug variables for use in probing data */
2010 /* comment out old lines, and add new */
2011 /* only remove code that you have written */
2015 // fout << eta_q_Cm_q_fac << " ";
2016 // fout << eta_q_Cm_adot_fac << " ";
2017 // fout << eta_q_Cmfade_fac << " ";
2018 // fout << eta_q_Cl_dr_fac << " ";
2020 // fout << tc << " ";
2022 // fout << engineOmega * 60 / (2 * LS_PI)<< " ";
2023 // vertical climb rate in fpm
2024 // fout << V_down * 60 << " ";
2025 // w_induced downwash at tail due to wing
2026 //fout << w_induced << " ";
2027 // w_induced downwash at tail due to wing
2028 fout << gammaWing << " ";
2033 //Lift to drag ratio
2034 // fout << V_north/V_down << " ";
2035 // g's through the c.g. of the aircraft
2036 // fout << (-A_Z_cg/32.174) << " ";
2037 // gyroscopic moment (see uiuc_wrapper.cpp)
2038 // fout << (polarInertia * engineOmega * Q_body) << " ";
2039 // downwashAngle at tail
2040 fout << downwashAngle * 57.29 << " ";
2041 // w_induced from engine
2042 // fout << w_i << " ";
2047 // die off function for eta_q
2048 // fout << (Cos_alpha * Cos_alpha) << " ";
2049 // gyroscopic moment (see uiuc_wrapper.cpp)
2050 // fout << (-polarInertia * engineOmega * R_body) << " ";
2052 // fout << AlphaTail * 57.29 << " ";
2053 // fout << Alpha * 57.29 << " ";
2055 fout << eta_q << " ";
2065 // end uiuc_recorder.cpp