]> git.mxchange.org Git - flightgear.git/commitdiff
Modified to use fgGetLowPass from utils.cxx.
authordavid <david>
Fri, 27 Sep 2002 22:04:21 +0000 (22:04 +0000)
committerdavid <david>
Fri, 27 Sep 2002 22:04:21 +0000 (22:04 +0000)
src/Instrumentation/altimeter.cxx
src/Instrumentation/altimeter.hxx
src/Systems/static.cxx

index b5450551eece9f33a825a62c46e60c8955c8eef7..08cfcb36e1fb623b36711bb0c35051aac9732ff3 100644 (file)
@@ -7,6 +7,7 @@
 
 #include "altimeter.hxx"
 #include <Main/fg_props.hxx>
+#include <Main/util.hxx>
 
 
 // Altitude based on pressure difference from sea level.
@@ -82,8 +83,11 @@ Altimeter::update (double dt)
     if (_serviceable_node->getBoolValue()) {
         double pressure = _pressure_node->getDoubleValue();
         double setting = _setting_node->getDoubleValue();
-        _altitude_node
-            ->setDoubleValue(_altitude_table->interpolate(setting-pressure));
+        double altitude =
+            fgGetLowPass(_altitude_node->getDoubleValue(),
+                         _altitude_table->interpolate(setting - pressure),
+                         dt * 10);
+        _altitude_node->setDoubleValue(altitude);
     }
 }
 
index b653a4c13ad13fc2e8166880547d74b03200515c..5a5250d2993234a592c94bfbd1c60a6b8711783c 100644 (file)
@@ -46,8 +46,6 @@ public:
 
 private:
 
-    double _spin;
-
     SGPropertyNode_ptr _serviceable_node;
     SGPropertyNode_ptr _setting_node;
     SGPropertyNode_ptr _pressure_node;
index 9e2b6aff19989d02ff092aa7000949f64a14fb89..7f9a287be75b227b71835187096dbfccdf634fb4 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "static.hxx"
 #include <Main/fg_props.hxx>
+#include <Main/util.hxx>
 
 
 StaticSystem::StaticSystem ()
@@ -37,11 +38,11 @@ void
 StaticSystem::update (double dt)
 {
     if (_serviceable_node->getBoolValue()) {
+        
         double target = _pressure_in_node->getDoubleValue();
         double current = _pressure_out_node->getDoubleValue();
         double delta = target - current;
-        current += delta * dt;
-        _pressure_out_node->setDoubleValue(current);
+        _pressure_out_node->setDoubleValue(fgGetLowPass(current, target, dt));
     }
 }