From 04f7625c67ac2d0808e88a6d00ac77c79fc4d4b8 Mon Sep 17 00:00:00 2001 From: tony Date: Wed, 25 Sep 2002 11:04:20 +0000 Subject: [PATCH] Fixes for flaps, gear, and reset. The c310 takeoff rotation problem seems to be fixed as well, though I don't understand why. --- src/FDM/JSBSim/filtersjb/FGFCSComponent.cpp | 18 ++++-------------- src/FDM/JSBSim/filtersjb/FGKinemat.cpp | 4 ++-- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/src/FDM/JSBSim/filtersjb/FGFCSComponent.cpp b/src/FDM/JSBSim/filtersjb/FGFCSComponent.cpp index 3da814261..56b5ee83e 100644 --- a/src/FDM/JSBSim/filtersjb/FGFCSComponent.cpp +++ b/src/FDM/JSBSim/filtersjb/FGFCSComponent.cpp @@ -77,18 +77,6 @@ void FGFCSComponent::SetOutput(void) bool FGFCSComponent::Run(void) { - - // switch(InputType) { -// case itAP: -// case itPilotAC: -// Input = InputNode->getDoubleValue(); -// break; -// case itFCS: -// Input = fcs->GetComponentOutput(InputIdx); -// case itBias: -// break; -// } - return true; } @@ -128,8 +116,10 @@ void FGFCSComponent::bind(FGPropertyManager *node) { void FGFCSComponent::unbind(void) { string name = "fcs"; FGPropertyManager *node=PropertyManager->GetNode(name); - node->Untie( PropertyManager->mkPropertyName(Name, true) ); - name += "/components" + name += "/" + PropertyManager->mkPropertyName(Name, true); + PropertyManager->Untie( name ); + + name = "fcs/components/" + PropertyManager->mkPropertyName(Name, true); node= PropertyManager->GetNode(name); node->Untie("output-value"); diff --git a/src/FDM/JSBSim/filtersjb/FGKinemat.cpp b/src/FDM/JSBSim/filtersjb/FGKinemat.cpp index 98600cda4..887016825 100644 --- a/src/FDM/JSBSim/filtersjb/FGKinemat.cpp +++ b/src/FDM/JSBSim/filtersjb/FGKinemat.cpp @@ -109,7 +109,7 @@ bool FGKinemat::Run(void ) { double dt=fcs->GetState()->Getdt(); double output_transit_rate=0; - FGFCSComponent::Run(); // call the base class for initialization of Input + Input = InputNodes[0]->getDoubleValue(); InputCmd = Input*Detents[NumDetents-1]; OutputPos = OutputNode->getDoubleValue(); @@ -155,7 +155,7 @@ bool FGKinemat::Run(void ) { if (fabs(OutputPos - InputCmd) > fabs(dt*output_transit_rate) ) { OutputPos+=output_transit_rate*dt; //cout << "FGKinemat::Run, OutputPos: " << OutputPos - // << " dt: " << dt << endl; + // << " dt: " << dt << endl; } else { InTransit=0; OutputPos=InputCmd; -- 2.39.5