From 998c2a93250e5d72a26f06333977b9b10be90014 Mon Sep 17 00:00:00 2001 From: tony Date: Tue, 26 Feb 2002 22:27:42 +0000 Subject: [PATCH] Output control positions to properties --- src/FDM/JSBSim/JSBSim.cxx | 21 ++++++++++++++++++++- src/FDM/JSBSim/JSBSim.hxx | 6 ++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/FDM/JSBSim/JSBSim.cxx b/src/FDM/JSBSim/JSBSim.cxx index b4d125e19..72faca875 100644 --- a/src/FDM/JSBSim/JSBSim.cxx +++ b/src/FDM/JSBSim/JSBSim.cxx @@ -150,8 +150,20 @@ FGJSBsim::FGJSBsim( double dt ) stall_warning = fgGetNode("/sim/aero/alarms/stall-warning",true); stall_warning->setDoubleValue(0); -} + + elevator_pos=fgGetNode("/surface-positions/elevator-pos-deg",true); + left_aileron_pos=fgGetNode("/surface-positions/left-aileron-pos-deg",true); + right_aileron_pos=fgGetNode("/surface-positions/right-aileron-pos-deg",true); + rudder_pos=fgGetNode("/surface-positions/rudder-pos-deg",true); + flap_pos=fgGetNode("/surface-positions/flap-pos-deg",true); + + elevator_pos->setDoubleValue(0); + left_aileron_pos->setDoubleValue(0); + right_aileron_pos->setDoubleValue(0); + rudder_pos->setDoubleValue(0); + flap_pos->setDoubleValue(0); +} /******************************************************************************/ FGJSBsim::~FGJSBsim(void) { if (fdmex != NULL) { @@ -488,6 +500,13 @@ bool FGJSBsim::copy_from_JSBsim() { stall_warning->setDoubleValue( Aircraft->GetStallWarn() ); + elevator_pos->setDoubleValue( FCS->GetDePos()*SG_RADIANS_TO_DEGREES ); + left_aileron_pos->setDoubleValue( FCS->GetDaPos()*SG_RADIANS_TO_DEGREES ); + right_aileron_pos->setDoubleValue( -1*FCS->GetDaPos()*SG_RADIANS_TO_DEGREES ); + rudder_pos->setDoubleValue( -1*FCS->GetDrPos()*SG_RADIANS_TO_DEGREES ); + flap_pos->setDoubleValue( FCS->GetDfPos() ); + + return true; } diff --git a/src/FDM/JSBSim/JSBSim.hxx b/src/FDM/JSBSim/JSBSim.hxx index 55dcbc453..6179d1896 100644 --- a/src/FDM/JSBSim/JSBSim.hxx +++ b/src/FDM/JSBSim/JSBSim.hxx @@ -241,6 +241,12 @@ private: SGPropertyNode *rudder_trim; SGPropertyNode *stall_warning; + SGPropertyNode *elevator_pos; + SGPropertyNode *left_aileron_pos; + SGPropertyNode *right_aileron_pos; + SGPropertyNode *rudder_pos; + SGPropertyNode *flap_pos; + void init_gear(void); void update_gear(void); -- 2.39.5