]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/JSBSim.cxx
Updates from JSBSim, including new turbine engine model from David Culp
[flightgear.git] / src / FDM / JSBSim / JSBSim.cxx
index 1fbc7b05452a8eb0081c5a8bfd89a314934a835d..aaa08ef87bfb2e461a8e7d4bd45afa0c8272b432 100644 (file)
 // $Id$
 
 
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
 #include <simgear/compiler.h>
 
 #ifdef SG_MATH_EXCEPTION_CLASH
@@ -141,7 +145,7 @@ FGJSBsim::FGJSBsim( double dt )
     fgSetDouble("/fdm/trim/aileron",    FCS->GetDaCmd());
     fgSetDouble("/fdm/trim/rudder",     FCS->GetDrCmd());
 
-    startup_trim = fgGetNode("/sim/startup/trim", true);
+    startup_trim = fgGetNode("/sim/presets/trim", true);
 
     trimmed = fgGetNode("/fdm/trim/trimmed", true);
     trimmed->setBoolValue(false);
@@ -151,8 +155,7 @@ FGJSBsim::FGJSBsim( double dt )
     aileron_trim = fgGetNode("/fdm/trim/aileron", true );
     rudder_trim = fgGetNode("/fdm/trim/rudder", true );
     
-    
-    stall_warning = fgGetNode("/sim/aero/alarms/stall-warning",true);
+    stall_warning = fgGetNode("/sim/alarms/stall-warning",true);
     stall_warning->setDoubleValue(0);
     
 
@@ -175,6 +178,7 @@ FGJSBsim::FGJSBsim( double dt )
     temperature = fgGetNode("/environment/temperature-degc",true);
     pressure = fgGetNode("/environment/pressure-inhg",true);
     density = fgGetNode("/environment/density-slugft3",true);
+    turbulence = fgGetNode("environment/turbulence-norm",true);
     
     wind_from_north= fgGetNode("/environment/wind-from-north-fps",true);
     wind_from_east = fgGetNode("/environment/wind-from-east-fps" ,true);
@@ -184,10 +188,7 @@ FGJSBsim::FGJSBsim( double dt )
 }
 /******************************************************************************/
 FGJSBsim::~FGJSBsim(void) {
-    if (fdmex != NULL) {
-        delete fdmex; fdmex=NULL;
-        delete fgic; fgic=NULL;
-    }  
+        delete fdmex;
 }
 
 /******************************************************************************/
@@ -211,6 +212,9 @@ void FGJSBsim::init() {
                   9.0/5.0*(temperature->getDoubleValue()+273.15) );
       Atmosphere->SetExPressure(pressure->getDoubleValue()*70.726566);
       Atmosphere->SetExDensity(density->getDoubleValue());
+      Atmosphere->SetTurbGain(turbulence->getDoubleValue() *
+                              turbulence->getDoubleValue() *
+                              100.0);
     } else {
       Atmosphere->UseInternal();
     }
@@ -398,6 +402,9 @@ bool FGJSBsim::copy_to_JSBsim() {
                   9.0/5.0*(temperature->getDoubleValue()+273.15) );
     Atmosphere->SetExPressure(pressure->getDoubleValue()*70.726566);
     Atmosphere->SetExDensity(density->getDoubleValue());
+    Atmosphere->SetTurbGain(turbulence->getDoubleValue() *
+                            turbulence->getDoubleValue() *
+                            100.0);
 
     Atmosphere->SetWindNED( wind_from_north->getDoubleValue(),
                             wind_from_east->getDoubleValue(),
@@ -754,7 +761,7 @@ void FGJSBsim::update_gear(void) {
 void FGJSBsim::do_trim(void) {
 
         FGTrim *fgtrim;
-        if( fgGetBool("/sim/startup/onground") ) {
+        if( fgGetBool("/sim/presets/onground") ) {
             fgic->SetVcalibratedKtsIC(0.0);
             fgtrim=new FGTrim(fdmex,tGround);
         } else {
@@ -796,3 +803,4 @@ void FGJSBsim::update_ic(void) {
      fgic->SetClimbRateFpsIC( get_Climb_Rate() );
    }  
 }
+