]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/UIUCModel/uiuc_recorder.cpp
Fix for bug 1304 - crash loading XML route
[flightgear.git] / src / FDM / UIUCModel / uiuc_recorder.cpp
index 4c1e316d030eead51418ef2eddeb41545162ec1a..3264ad184af86601dc755d01f133f39276b2ab3b 100644 (file)
                             and rudder inputs to record map
                04/24/2000   (JS) added rest of variables in 
                             ls_generic.h
+              07/06/2001   (RD) changed Flap handle output
+              07/20/2001   (RD) fixed Lat_control and Rudder_pedal
+               10/25/2001   (RD) Added new variables needed for the non-
+                           linear Twin Otter model at zero flaps
+                           (Cxfxxf0I)
+               11/12/2001   (RD) Added new variables needed for the non-
+                           linear Twin Otter model at zero flaps
+                           (CxfxxfI).  Removed zero flap variables.
+                           Added flap_pos and flap_cmd_deg.
+              02/13/2002   (RD) Added variables so linear aero model
+                           values can be recorded
+               03/03/2003   (RD) Added flap_cmd_record
+               03/16/2003   (RD) Added trigger record variables
+               07/17/2003   (RD) Added error checking code (default
+                            routine) since it was removed from
+                            uiuc_menu_record()
+               08/20/2003   (RD) Changed spoiler variables to match
+                            flap convention.  Added flap_pos_norm
 
 ----------------------------------------------------------------------
 
- AUTHOR(S):    Jeff Scott         <jscott@mail.com>
-
+ AUTHOR(S):    Jeff Scott         http://www.jeffscott.net/
+               Robert Deters      <rdeters@uiuc.edu>
+              Michael Selig      <m-selig@uiuc.edu>
 ----------------------------------------------------------------------
 
  VARIABLES:
 
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA or view http://www.gnu.org/copyleft/gpl.html.
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 **********************************************************************/
 
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <simgear/compiler.h>
+#include <simgear/misc/sg_path.hxx>
+#include <Main/fg_props.hxx>
+
 #include "uiuc_recorder.h"
 
+using std::endl;               // -dw
+
 void uiuc_recorder( double dt )
 {
   stack command_list;
   string linetoken;
-  static int init = 0;
+  // static int init = 0;
   static int recordStep = 0;
   string record_variables = "# ";
 
-  int modulus = recordStep % recordRate;
+  // int modulus = recordStep % recordRate;
+
+  //static double lat1;
+  //static double long1;
+  //double D_cg_north1;
+  //double D_cg_east1;
+  //if (Simtime == 0)
+  // {
+  //    lat1=Latitude;
+  //    long1=Longitude;
+  //  }
 
   if ((recordStep % recordRate) == 0)
     {
       command_list = recordParts->getCommands();
       fout << endl;
 
-      for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
+      LIST command_line;
+      for (command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
         record_variables += recordParts->getToken(*command_line,2) + "  ";
 
       fout << record_variables << endl; 
-      for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
+      for (command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
         {
           linetoken = recordParts->getToken(*command_line, 2); 
 
@@ -219,6 +258,21 @@ void uiuc_recorder( double dt )
                 fout << Psi << " ";
                 break;
               }
+            case Phi_deg_record:
+              {
+                fout << Phi*RAD_TO_DEG << " ";
+                break;
+              }
+            case Theta_deg_record:
+              {
+                fout << Theta*RAD_TO_DEG << " ";
+                break;
+              }
+            case Psi_deg_record:
+              {
+                fout << Psi*RAD_TO_DEG << " ";
+                break;
+              }
 
               /******************** Accelerations ********************/
             case V_dot_north_record:
@@ -343,6 +397,11 @@ void uiuc_recorder( double dt )
                 fout << V_down << " ";
                 break;
               }
+           case V_down_fpm_record:
+             {
+               fout << V_down * 60 << " ";
+               break;
+             }
             case V_north_rel_ground_record:
               {
                 fout << V_north_rel_ground << " ";
@@ -542,42 +601,42 @@ void uiuc_recorder( double dt )
               /************************ Angles ***********************/
             case Alpha_record:
               {
-                fout << Alpha << " ";
+                fout << Std_Alpha << " ";
                 break;
               }
             case Alpha_deg_record:
               {
-                fout << Alpha * RAD_TO_DEG << " ";
+                fout << Std_Alpha * RAD_TO_DEG << " ";
                 break;
               }
             case Alpha_dot_record:
               {
-                fout << Alpha_dot << " ";
+                fout << Std_Alpha_dot << " ";
                 break;
               }
             case Alpha_dot_deg_record:
               {
-                fout << Alpha_dot * RAD_TO_DEG << " ";
+                fout << Std_Alpha_dot * RAD_TO_DEG << " ";
                 break;
               }
             case Beta_record:
               {
-                fout << Beta << " ";
+                fout << Std_Beta << " ";
                 break;
               }
             case Beta_deg_record:
               {
-                fout << Beta * RAD_TO_DEG << " ";
+                fout << Std_Beta * RAD_TO_DEG << " ";
                 break;
               }
             case Beta_dot_record:
               {
-                fout << Beta_dot << " ";
+                fout << Std_Beta_dot << " ";
                 break;
               }
             case Beta_dot_deg_record:
               {
-                fout << Beta_dot * RAD_TO_DEG << " ";
+                fout << Std_Beta_dot * RAD_TO_DEG << " ";
                 break;
               }
             case Gamma_vert_record:
@@ -762,7 +821,7 @@ void uiuc_recorder( double dt )
                 break;
               }
 
-              /******************** Control Inputs *******************/
+              /************************ Controls ***********************/
             case Long_control_record:
               {
                 fout << Long_control << " ";
@@ -788,9 +847,14 @@ void uiuc_recorder( double dt )
                 fout << elevator * RAD_TO_DEG << " ";
                 break;
               }
+           case elevator_sas_deg_record:
+             {
+               fout << elevator_sas * RAD_TO_DEG << " ";
+               break;
+             }
             case Lat_control_record:
               {
-                fout << Long_control << " ";
+                fout << Lat_control << " ";
                 break;
               }
             case aileron_record:
@@ -803,9 +867,14 @@ void uiuc_recorder( double dt )
                 fout << aileron * RAD_TO_DEG << " ";
                 break;
               }
+           case aileron_sas_deg_record:
+             {
+               fout << aileron_sas * RAD_TO_DEG << " ";
+               break;
+             }
             case Rudder_pedal_record:
               {
-                fout << Long_control << " ";
+                fout << Rudder_pedal << " ";
                 break;
               }
             case rudder_record:
@@ -818,19 +887,86 @@ void uiuc_recorder( double dt )
                 fout << rudder * RAD_TO_DEG << " ";
                 break;
               }
+           case rudder_sas_deg_record:
+             {
+               fout << rudder_sas * RAD_TO_DEG << " ";
+               break;
+             }
             case Flap_handle_record:
               {
-                fout << flap << " ";
+                fout << Flap_handle << " ";
+                break;
+              }
+            case flap_cmd_record:
+              {
+                fout << flap_cmd << " ";
+                break;
+              }
+            case flap_cmd_deg_record:
+              {
+                fout << flap_cmd * RAD_TO_DEG << " ";
+                break;
+              }
+            case flap_pos_record:
+              {
+                fout << flap_pos << " ";
+                break;
+              }
+            case flap_pos_deg_record:
+              {
+                fout << flap_pos * RAD_TO_DEG << " ";
+                break;
+              }
+            case flap_pos_norm_record:
+              {
+                fout << flap_pos_norm << " ";
+                break;
+              }
+            case Spoiler_handle_record:
+              {
+                fout << Spoiler_handle << " ";
                 break;
               }
-            case flap_record:
+            case spoiler_cmd_record:
               {
-                fout << flap << " ";
+                fout << spoiler_cmd << " ";
                 break;
               }
-            case flap_deg_record:
+            case spoiler_cmd_deg_record:
               {
-                fout << flap * RAD_TO_DEG << " ";
+                fout << spoiler_cmd * RAD_TO_DEG << " ";
+                break;
+              }
+            case spoiler_pos_record:
+              {
+                fout << spoiler_pos << " ";
+                break;
+              }
+            case spoiler_pos_deg_record:
+              {
+                fout << spoiler_pos * RAD_TO_DEG << " ";
+                break;
+              }
+            case spoiler_pos_norm_record:
+              {
+                fout << spoiler_pos_norm << " ";
+                break;
+              }
+
+              /****************** Gear Inputs ************************/
+            case Gear_handle_record:
+              {
+                fout << Gear_handle << " ";
+                break;
+              }
+            case gear_cmd_norm_record:
+              {
+                fout << gear_cmd_norm << " ";
+                break;
+              }
+            case gear_pos_norm_record:
+              {
+                fout << gear_pos_norm << " ";
                 break;
               }
 
@@ -870,6 +1006,146 @@ void uiuc_recorder( double dt )
                 fout << CX << " ";
                 break;
               }
+            case CXfabetafI_record:
+              {
+                fout << CXfabetafI << " ";
+                break;
+              }
+            case CXfadefI_record:
+              {
+                fout << CXfadefI << " ";
+                break;
+              }
+            case CXfaqfI_record:
+              {
+                fout << CXfaqfI << " ";
+                break;
+              }
+            case CDo_save_record:
+              {
+                fout << CDo_save << " ";
+                break;
+              }
+            case CDK_save_record:
+              {
+                fout << CDK_save << " ";
+                break;
+              }
+            case CLK_save_record:
+              {
+                fout << CLK_save << " ";
+                break;
+              }
+            case CD_a_save_record:
+              {
+                fout << CD_a_save << " ";
+                break;
+              }
+            case CD_adot_save_record:
+              {
+                fout << CD_adot_save << " ";
+                break;
+              }
+            case CD_q_save_record:
+              {
+                fout << CD_q_save << " ";
+                break;
+              }
+            case CD_ih_save_record:
+              {
+                fout << CD_ih_save << " ";
+                break;
+              }
+            case CD_de_save_record:
+              {
+                fout << CD_de_save << " ";
+                break;
+              }
+            case CD_dr_save_record:
+              {
+                fout << CD_dr_save << " ";
+                break;
+              }
+            case CD_da_save_record:
+              {
+                fout << CD_da_save << " ";
+                break;
+              }
+            case CD_beta_save_record:
+              {
+                fout << CD_beta_save << " ";
+                break;
+              }
+            case CD_df_save_record:
+              {
+                fout << CD_df_save << " ";
+                break;
+              }
+            case CD_ds_save_record:
+              {
+                fout << CD_ds_save << " ";
+                break;
+              }
+            case CD_dg_save_record:
+              {
+                fout << CD_dg_save << " ";
+                break;
+              }
+            case CXo_save_record:
+              {
+                fout << CXo_save << " ";
+                break;
+              }
+            case CXK_save_record:
+              {
+                fout << CXK_save << " ";
+                break;
+              }
+            case CX_a_save_record:
+              {
+                fout << CX_a_save << " ";
+                break;
+              }
+            case CX_a2_save_record:
+              {
+                fout << CX_a2_save << " ";
+                break;
+              }
+            case CX_a3_save_record:
+              {
+                fout << CX_a3_save << " ";
+                break;
+              }
+            case CX_adot_save_record:
+              {
+                fout << CX_adot_save << " ";
+                break;
+              }
+            case CX_q_save_record:
+              {
+                fout << CX_q_save << " ";
+                break;
+              }
+            case CX_de_save_record:
+              {
+                fout << CX_de_save << " ";
+                break;
+              }
+            case CX_dr_save_record:
+              {
+                fout << CX_dr_save << " ";
+                break;
+              }
+            case CX_df_save_record:
+              {
+                fout << CX_df_save << " ";
+                break;
+              }
+            case CX_adf_save_record:
+              {
+                fout << CX_adf_save << " ";
+                break;
+              }
             case CL_record:
               {
                 fout << CL << " ";
@@ -900,6 +1176,121 @@ void uiuc_recorder( double dt )
                 fout << CZ << " ";
                 break;
               }
+            case CZfaI_record:
+              {
+                fout << CZfaI << " ";
+                break;
+              }
+            case CZfabetafI_record:
+             {
+                fout << CZfabetafI << " ";
+                break;
+              }
+            case CZfadefI_record:
+              {
+                fout << CZfadefI << " ";
+                break;
+              }
+            case CZfaqfI_record:
+              {
+                fout << CZfaqfI << " ";
+                break;
+              }
+            case CLo_save_record:
+              {
+                fout << CLo_save << " ";
+                break;
+              }
+            case CL_a_save_record:
+              {
+                fout << CL_a_save << " ";
+                break;
+              }
+            case CL_adot_save_record:
+              {
+                fout << CL_adot_save << " ";
+                break;
+              }
+            case CL_q_save_record:
+              {
+                fout << CL_q_save << " ";
+                break;
+              }
+            case CL_ih_save_record:
+              {
+                fout << CL_ih_save << " ";
+                break;
+              }
+            case CL_de_save_record:
+              {
+                fout << CL_de_save << " ";
+                break;
+              }
+            case CL_df_save_record:
+              {
+                fout << CL_df_save << " ";
+                break;
+              }
+            case CL_ds_save_record:
+              {
+                fout << CL_ds_save << " ";
+                break;
+              }
+            case CL_dg_save_record:
+              {
+                fout << CL_dg_save << " ";
+                break;
+              }
+            case CZo_save_record:
+              {
+                fout << CZo_save << " ";
+                break;
+              }
+            case CZ_a_save_record:
+              {
+                fout << CZ_a_save << " ";
+                break;
+              }
+            case CZ_a2_save_record:
+              {
+                fout << CZ_a2_save << " ";
+                break;
+              }
+            case CZ_a3_save_record:
+              {
+                fout << CZ_a3_save << " ";
+                break;
+              }
+            case CZ_adot_save_record:
+              {
+                fout << CZ_adot_save << " ";
+                break;
+              }
+            case CZ_q_save_record:
+              {
+                fout << CZ_q_save << " ";
+                break;
+              }
+            case CZ_de_save_record:
+              {
+                fout << CZ_de_save << " ";
+                break;
+              }
+            case CZ_deb2_save_record:
+              {
+                fout << CZ_deb2_save << " ";
+                break;
+              }
+            case CZ_df_save_record:
+              {
+                fout << CZ_df_save << " ";
+                break;
+              }
+            case CZ_adf_save_record:
+              {
+                fout << CZ_adf_save << " ";
+                break;
+              }
             case Cm_record:
               {
                 fout << Cm << " ";
@@ -925,6 +1316,81 @@ void uiuc_recorder( double dt )
                 fout << CmfadfI << " ";
                 break;
               }
+            case CmfabetafI_record:
+              {
+                fout << CmfabetafI << " ";
+                break;
+              }
+            case CmfadefI_record:
+              {
+                fout << CmfadefI << " ";
+                break;
+              }
+            case CmfaqfI_record:
+              {
+                fout << CmfaqfI << " ";
+                break;
+              }
+            case Cmo_save_record:
+              {
+                fout << Cmo_save << " ";
+                break;
+              }
+            case Cm_a_save_record:
+              {
+                fout << Cm_a_save << " ";
+                break;
+              }
+            case Cm_a2_save_record:
+              {
+                fout << Cm_a2_save << " ";
+                break;
+              }
+            case Cm_adot_save_record:
+              {
+                fout << Cm_adot_save << " ";
+                break;
+              }
+            case Cm_q_save_record:
+              {
+                fout << Cm_q_save << " ";
+                break;
+              }
+            case Cm_ih_save_record:
+              {
+                fout << Cm_ih_save << " ";
+                break;
+              }
+            case Cm_de_save_record:
+              {
+                fout << Cm_de_save << " ";
+                break;
+              }
+            case Cm_b2_save_record:
+              {
+                fout << Cm_b2_save << " ";
+                break;
+              }
+            case Cm_r_save_record:
+              {
+                fout << Cm_r_save << " ";
+                break;
+              }
+            case Cm_df_save_record:
+              {
+                fout << Cm_df_save << " ";
+                break;
+              }
+            case Cm_ds_save_record:
+              {
+                fout << Cm_ds_save << " ";
+                break;
+              }
+            case Cm_dg_save_record:
+              {
+                fout << Cm_dg_save << " ";
+                break;
+              }
             case CY_record:
               {
                 fout << CY  << " ";
@@ -940,6 +1406,71 @@ void uiuc_recorder( double dt )
                 fout << CYfbetadrI << " ";
                 break;
               }
+           case CYfabetafI_record:
+             {
+               fout << CYfabetafI << " ";
+               break;
+             }
+           case CYfadafI_record:
+             {
+               fout << CYfadafI << " ";
+               break;
+             }
+           case CYfadrfI_record:
+             {
+               fout << CYfadrfI << " ";
+               break;
+             }
+           case CYfapfI_record:
+             {
+               fout << CYfapfI << " ";
+               break;
+             }
+           case CYfarfI_record:
+             {
+               fout << CYfarfI << " ";
+               break;
+             }
+           case CYo_save_record:
+             {
+               fout << CYo_save << " ";
+               break;
+             }
+           case CY_beta_save_record:
+             {
+               fout << CY_beta_save << " ";
+               break;
+             }
+           case CY_p_save_record:
+             {
+               fout << CY_p_save << " ";
+               break;
+             }
+           case CY_r_save_record:
+             {
+               fout << CY_r_save << " ";
+               break;
+             }
+           case CY_da_save_record:
+             {
+               fout << CY_da_save << " ";
+               break;
+             }
+           case CY_dr_save_record:
+             {
+               fout << CY_dr_save << " ";
+               break;
+             }
+           case CY_dra_save_record:
+             {
+               fout << CY_dra_save << " ";
+               break;
+             }
+           case CY_bdot_save_record:
+             {
+               fout << CY_bdot_save << " ";
+               break;
+             }
             case Cl_record:
               {
                 fout << Cl << " ";
@@ -955,6 +1486,66 @@ void uiuc_recorder( double dt )
                 fout << ClfbetadrI << " ";
                 break;
               }
+           case ClfabetafI_record:
+             {
+               fout << ClfabetafI << " ";
+               break;
+             }
+           case ClfadafI_record:
+             {
+               fout << ClfadafI << " ";
+               break;
+             }
+           case ClfadrfI_record:
+             {
+               fout << ClfadrfI << " ";
+               break;
+             }
+           case ClfapfI_record:
+             {
+               fout << ClfapfI << " ";
+               break;
+             }
+           case ClfarfI_record:
+             {
+               fout << ClfarfI << " ";
+               break;
+             }
+           case Clo_save_record:
+             {
+               fout << Clo_save << " ";
+               break;
+             }
+           case Cl_beta_save_record:
+             {
+               fout << Cl_beta_save << " ";
+               break;
+             }
+           case Cl_p_save_record:
+             {
+               fout << Cl_p_save << " ";
+               break;
+             }
+           case Cl_r_save_record:
+             {
+               fout << Cl_r_save << " ";
+               break;
+             }
+           case Cl_da_save_record:
+             {
+               fout << Cl_da_save << " ";
+               break;
+             }
+           case Cl_dr_save_record:
+             {
+               fout << Cl_dr_save << " ";
+               break;
+             }
+           case Cl_daa_save_record:
+             {
+               fout << Cl_daa_save << " ";
+               break;
+             }
             case Cn_record:
               {
                 fout << Cn << " ";
@@ -970,8 +1561,123 @@ void uiuc_recorder( double dt )
                 fout << CnfbetadrI << " ";
                 break;
               }
+           case CnfabetafI_record:
+             {
+               fout << CnfabetafI << " ";
+               break;
+             }
+           case CnfadafI_record:
+             {
+               fout << CnfadafI << " ";
+               break;
+             }
+           case CnfadrfI_record:
+             {
+               fout << CnfadrfI << " ";
+               break;
+             }
+           case CnfapfI_record:
+             {
+               fout << CnfapfI << " ";
+               break;
+             }
+           case CnfarfI_record:
+             {
+               fout << CnfarfI << " ";
+               break;
+             }
+           case Cno_save_record:
+             {
+               fout << Cno_save << " ";
+               break;
+             }
+           case Cn_beta_save_record:
+             {
+               fout << Cn_beta_save << " ";
+               break;
+             }
+           case Cn_p_save_record:
+             {
+               fout << Cn_p_save << " ";
+               break;
+             }
+           case Cn_r_save_record:
+             {
+               fout << Cn_r_save << " ";
+               break;
+             }
+           case Cn_da_save_record:
+             {
+               fout << Cn_da_save << " ";
+               break;
+             }
+           case Cn_dr_save_record:
+             {
+               fout << Cn_dr_save << " ";
+               break;
+             }
+           case Cn_q_save_record:
+             {
+               fout << Cn_q_save << " ";
+               break;
+             }
+           case Cn_b3_save_record:
+             {
+               fout << Cn_b3_save << " ";
+               break;
+             }
 
               /******************** Ice Detection ********************/
+           case CL_clean_record:
+             {
+               fout << CL_clean << " ";
+               break;
+             }
+           case CL_iced_record:
+             {
+               fout << CL_iced << " ";
+               break;
+             }
+           case CD_clean_record:
+             {
+               fout << CD_clean << " ";
+               break;
+             }
+           case CD_iced_record:
+             {
+               fout << CD_iced << " ";
+               break;
+             }
+           case Cm_clean_record:
+             {
+               fout << Cm_clean << " ";
+               break;
+             }
+           case Cm_iced_record:
+             {
+               fout << Cm_iced << " ";
+               break;
+             }
+           case Ch_clean_record:
+             {
+               fout << Ch_clean << " ";
+               break;
+             }
+           case Ch_iced_record:
+             {
+               fout << Ch_iced << " ";
+               break;
+             }
+           case Cl_clean_record:
+             {
+               fout << Cl_clean << " ";
+               break;
+             }
+           case Cl_iced_record:
+             {
+               fout << Cl_iced << " ";
+               break;
+             }
             case CLclean_wing_record:
               {
                 fout << CLclean_wing << " ";
@@ -1142,6 +1848,183 @@ void uiuc_recorder( double dt )
                 fout << pct_beta_flow_tail << " ";
                 break;
               }
+           case eta_ice_record:
+             {
+               fout << eta_ice << " ";
+               break;
+             }
+           case eta_wing_left_record:
+             {
+               fout << eta_wing_left << " ";
+               break;
+             }
+           case eta_wing_right_record:
+             {
+               fout << eta_wing_right << " ";
+               break;
+             }
+           case eta_tail_record:
+             {
+               fout << eta_tail << " ";
+               break;
+             }
+           case delta_CL_record:
+             {
+               fout << delta_CL << " ";
+               break;
+             }
+           case delta_CD_record:
+             {
+               fout << delta_CD << " ";
+               break;
+             }
+           case delta_Cm_record:
+             {
+               fout << delta_Cm << " ";
+               break;
+             }
+           case delta_Cl_record:
+             {
+               fout << delta_Cl << " ";
+               break;
+             }
+           case delta_Cn_record:
+             {
+               fout << delta_Cn << " ";
+               break;
+             }
+           case boot_cycle_tail_record:
+             {
+               fout << boot_cycle_tail << " ";
+               break;
+             }
+           case boot_cycle_wing_left_record:
+             {
+               fout << boot_cycle_wing_left << " ";
+               break;
+             }
+           case boot_cycle_wing_right_record:
+             {
+               fout << boot_cycle_wing_right << " ";
+               break;
+             }
+           case autoIPS_tail_record:
+             {
+               fout << autoIPS_tail << " ";
+               break;
+             }
+           case autoIPS_wing_left_record:
+             {
+               fout << autoIPS_wing_left << " ";
+               break;
+             }
+           case autoIPS_wing_right_record:
+             {
+               fout << autoIPS_wing_right << " ";
+               break;
+             }
+           case eps_pitch_input_record:
+             {
+               fout << eps_pitch_input << " ";
+               break;
+             }
+           case eps_alpha_max_record:
+             {
+               fout << eps_alpha_max << " ";
+               break;
+             }
+           case eps_pitch_max_record:
+             {
+               fout << eps_pitch_max << " ";
+               break;
+             }
+           case eps_pitch_min_record:
+             {
+               fout << eps_pitch_min << " ";
+               break;
+             }
+           case eps_roll_max_record:
+             {
+               fout << eps_roll_max << " ";
+               break;
+             }
+           case eps_thrust_min_record:
+             {
+               fout << eps_thrust_min << " ";
+               break;
+             }
+           case eps_flap_max_record:
+             {
+               fout << eps_flap_max << " ";
+               break;
+             }
+           case eps_airspeed_max_record:
+             {
+               fout << eps_airspeed_max << " ";
+               break;
+             }
+           case eps_airspeed_min_record:
+             {
+               fout << eps_airspeed_min << " ";
+               break;
+             }
+
+             /****************** Autopilot **************************/
+           case ap_pah_on_record:
+             {
+               fout << ap_pah_on << " ";
+               break;
+             }
+           case ap_alh_on_record:
+             {
+               fout << ap_alh_on << " ";
+               break;
+             }
+           case ap_rah_on_record:
+             {
+               fout << ap_rah_on << " ";
+               break;
+             }
+           case ap_hh_on_record:
+             {
+               fout << ap_hh_on << " ";
+               break;
+             }
+           case ap_Theta_ref_deg_record:
+             {
+               fout << ap_Theta_ref_rad*RAD_TO_DEG << " ";
+               break;
+             }
+           case ap_Theta_ref_rad_record:
+             {
+               fout << ap_Theta_ref_rad << " ";
+               break;
+             }
+           case ap_alt_ref_ft_record:
+             {
+               fout << ap_alt_ref_ft << " ";
+               break;
+             }
+           case ap_Phi_ref_deg_record:
+             {
+               fout << ap_Phi_ref_rad*RAD_TO_DEG << " ";
+               break;
+             }
+           case ap_Phi_ref_rad_record:
+             {
+               fout << ap_Phi_ref_rad << " ";
+               break;
+             }
+           case ap_Psi_ref_deg_record:
+             {
+               fout << ap_Psi_ref_rad*RAD_TO_DEG << " ";
+               break;
+             }
+           case ap_Psi_ref_rad_record:
+             {
+               fout << ap_Psi_ref_rad << " ";
+               break;
+             }
 
               /************************ Forces ***********************/
             case F_X_wind_record:
@@ -1296,7 +2179,300 @@ void uiuc_recorder( double dt )
                 fout << M_n_rp << " ";
                 break;
               }
-            };
+            case M_l_cg_record:
+              {
+                fout << M_l_cg << " ";
+                break;
+              }
+            case M_m_cg_record:
+              {
+                fout << M_m_cg << " ";
+                break;
+              }
+            case M_n_cg_record:
+              {
+                fout << M_n_cg << " ";
+                break;
+              }
+
+              /********************* flapper *********************/
+           case flapper_freq_record:
+             {
+               fout << flapper_freq << " ";
+               break;
+             }
+           case flapper_phi_record:
+             {
+               fout << flapper_phi << " ";
+               break;
+             }
+           case flapper_phi_deg_record:
+             {
+               fout << flapper_phi*RAD_TO_DEG << " ";
+               break;
+             }
+           case flapper_Lift_record:
+             {
+               fout << flapper_Lift << " ";
+               break;
+             }
+           case flapper_Thrust_record:
+             {
+               fout << flapper_Thrust << " ";
+               break;
+             }
+           case flapper_Inertia_record:
+             {
+               fout << flapper_Inertia << " ";
+               break;
+             }
+           case flapper_Moment_record:
+             {
+               fout << flapper_Moment << " ";
+               break;
+             }
+             /****************Other Variables*******************/
+           case gyroMomentQ_record:
+             {
+               fout << polarInertia * engineOmega * Q_body << " ";
+               break;
+             }
+           case gyroMomentR_record:
+             {
+               fout << -polarInertia * engineOmega * R_body << " ";
+               break;
+             }
+           case eta_q_record:
+             {
+               fout << eta_q << " ";
+               break;
+             }
+           case rpm_record:
+             {
+               fout << (engineOmega * 60 / (2 * LS_PI)) << " ";
+               break;
+             }
+           case w_induced_record:
+             {
+               fout << w_induced << " ";
+               break;
+             }
+           case downwashAngle_deg_record:
+             {
+               fout << downwashAngle * RAD_TO_DEG << " ";
+               break;
+             }
+           case alphaTail_deg_record:
+             {
+               fout << alphaTail * RAD_TO_DEG << " ";
+               break;
+             }
+           case gammaWing_record:
+             {
+               fout << gammaWing << " ";
+               break;
+             }
+           case LD_record:
+             {
+               fout << V_ground_speed/V_down_rel_ground  << " ";
+               break;
+             }
+           case gload_record:
+             {
+               fout << -A_Z_cg/32.174 << " ";
+               break;
+             }
+            case tactilefadefI_record:
+              {
+                fout << tactilefadefI << " ";
+                break;
+              }
+             /****************Trigger Variables*******************/
+           case trigger_on_record:
+             {
+               fout << trigger_on << " ";
+               break;
+             }
+           case trigger_num_record:
+             {
+               fout << trigger_num << " ";
+               break;
+             }
+           case trigger_toggle_record:
+             {
+               fout << trigger_toggle << " ";
+               break;
+             }
+           case trigger_counter_record:
+             {
+               fout << trigger_counter << " ";
+               break;
+             }
+             /*********local to body transformation matrix********/
+           case T_local_to_body_11_record:
+             {
+               fout << T_local_to_body_11 << " ";
+               break;
+             }
+           case T_local_to_body_12_record:
+             {
+               fout << T_local_to_body_12 << " ";
+               break;
+             }
+           case T_local_to_body_13_record:
+             {
+               fout << T_local_to_body_13 << " ";
+               break;
+             }
+           case T_local_to_body_21_record:
+             {
+               fout << T_local_to_body_21 << " ";
+               break;
+             }
+           case T_local_to_body_22_record:
+             {
+               fout << T_local_to_body_22 << " ";
+               break;
+             }
+           case T_local_to_body_23_record:
+             {
+               fout << T_local_to_body_23 << " ";
+               break;
+             }
+           case T_local_to_body_31_record:
+             {
+               fout << T_local_to_body_31 << " ";
+               break;
+             }
+           case T_local_to_body_32_record:
+             {
+               fout << T_local_to_body_32 << " ";
+               break;
+             }
+           case T_local_to_body_33_record:
+             {
+               fout << T_local_to_body_33 << " ";
+               break;
+             }
+    
+             /********* MSS debug and other data *******************/
+              /* debug variables for use in probing data            */
+              /* comment out old lines, and add new                 */
+              /* only remove code that you have written             */
+           case debug1_record:
+             {
+               // eta_q term check
+               // fout << eta_q_Cm_q_fac << " ";
+               // fout << eta_q_Cm_adot_fac << " ";
+               // fout << eta_q_Cmfade_fac << " ";
+               // fout << eta_q_Cl_dr_fac << " ";
+               // fout << eta_q_Cm_de_fac << " ";
+               // eta on tail
+               // fout << eta_q  << " ";
+               // engine RPM
+               // fout << engineOmega * 60 / (2 * LS_PI)<< " ";
+               // vertical climb rate in fpm
+               fout << V_down * 60 << " ";
+               // vertical climb rate in fps
+               // fout << V_down << " ";
+               // w_induced downwash at tail due to wing
+               // fout << gammaWing   << " ";
+               //fout << outside_control << " ";
+               break;
+             }
+           case debug2_record:
+             {
+               // Lift to drag ratio 
+               // fout <<  V_ground_speed/V_down_rel_ground << " ";
+               // g's through the c.g. of the aircraft
+               fout << (-A_Z_cg/32.174) << " ";
+               // L/D via forces (used in 201 class for L/D)
+               // fout << (F_Z_wind/F_X_wind) << " ";
+               // gyroscopic moment (see uiuc_wrapper.cpp)
+               // fout << (polarInertia * engineOmega * Q_body) << " ";
+               // downwashAngle at tail
+               // fout << downwashAngle * 57.29 << " ";
+               // w_induced from engine
+               // fout << w_induced << " ";
+               break;
+             }
+           case debug3_record:
+             {
+               // die off function for eta_q
+               // fout << (Cos_alpha * Cos_alpha)       << " ";
+               // gyroscopic moment (see uiuc_wrapper.cpp)
+               // fout << (-polarInertia * engineOmega * R_body) << " ";
+               // eta on tail
+               // fout << eta_q << " ";
+               // flapper cycle percentage
+               fout << (sin(flapper_phi - 3 * LS_PI / 2)) << " ";
+               break;
+             }
+              /********* RD debug and other data *******************/
+              /* debug variables for use in probing data            */
+              /* comment out old lines, and add new                 */
+              /* only remove code that you have written             */
+           case debug4_record:
+             {
+               // flapper F_X_aero_flapper
+               //fout << F_X_aero_flapper << " ";
+               //ap_pah_on
+               //fout << ap_pah_on << " ";
+               //D_cg_north1 = Radius_to_rwy*(Latitude - lat1);
+               //fout << D_cg_north1 << " ";
+               break;
+             }
+           case debug5_record:
+             {
+               // flapper F_Z_aero_flapper
+               //fout << F_Z_aero_flapper << " ";
+               // gear_rate
+               //D_cg_east1 = Radius_to_rwy*cos(lat1)*(Longitude - long1);
+               //fout << D_cg_east1 << " ";
+               break;
+             }
+           case debug6_record:
+             {
+               //gear_max
+               //fout << gear_max << " ";
+               //fout << sqrt(D_cg_north1*D_cg_north1+D_cg_east1*D_cg_east1) << " ";
+               break;
+             }
+           case debug7_record:
+             {
+               //Debug7
+               fout << debug7 << " ";
+               break;
+             }
+           case debug8_record:
+             {
+               //Debug8
+               fout << debug8 << " ";
+               break;
+             }
+           case debug9_record:
+             {
+               //Debug9
+               fout << debug9 << " ";
+               break;
+             }
+           case debug10_record:
+             {
+               //Debug10
+               fout << debug10 << " ";
+               break;
+             }
+           default:
+             {
+               if (ignore_unknown_keywords) {
+                 // do nothing
+               } else {
+                 // print error message
+                 uiuc_warnings_errors(2, *command_line);
+               }
+               break;
+             }
+           };
         } // end record map
     }
   recordStep++;