1
0
Fork 0

Add support for aileron and rudder trims.

This commit is contained in:
curt 2005-02-15 18:11:03 +00:00
parent cdfb43f94d
commit 9d8b687fc5
2 changed files with 16 additions and 6 deletions

View file

@ -111,8 +111,10 @@ void FGProps2NetCtrls( FGNetCtrls *net, bool honor_freezes,
net->version = FG_NET_CTRLS_VERSION; net->version = FG_NET_CTRLS_VERSION;
net->aileron = node->getDoubleValue( "aileron" ); net->aileron = node->getDoubleValue( "aileron" );
net->elevator = node->getDoubleValue( "elevator" ); net->elevator = node->getDoubleValue( "elevator" );
net->elevator_trim = node->getDoubleValue( "elevator-trim" );
net->rudder = node->getDoubleValue( "rudder" ); net->rudder = node->getDoubleValue( "rudder" );
net->aileron_trim = node->getDoubleValue( "aileron-trim" );
net->elevator_trim = node->getDoubleValue( "elevator-trim" );
net->rudder_trim = node->getDoubleValue( "rudder-trim" );
net->flaps = node->getDoubleValue( "flaps" ); net->flaps = node->getDoubleValue( "flaps" );
net->flaps_power net->flaps_power
= fgGetDouble( "/systems/electrical/outputs/flaps", 1.0 ) >= 1.0; = fgGetDouble( "/systems/electrical/outputs/flaps", 1.0 ) >= 1.0;
@ -233,8 +235,10 @@ void FGProps2NetCtrls( FGNetCtrls *net, bool honor_freezes,
net->version = htonl(net->version); net->version = htonl(net->version);
htond(net->aileron); htond(net->aileron);
htond(net->elevator); htond(net->elevator);
htond(net->elevator_trim);
htond(net->rudder); htond(net->rudder);
htond(net->aileron_trim);
htond(net->elevator_trim);
htond(net->rudder_trim);
htond(net->flaps); htond(net->flaps);
net->flaps_power = htonl(net->flaps_power); net->flaps_power = htonl(net->flaps_power);
net->flap_motor_ok = htonl(net->flap_motor_ok); net->flap_motor_ok = htonl(net->flap_motor_ok);
@ -294,8 +298,10 @@ void FGNetCtrls2Props( FGNetCtrls *net, bool honor_freezes,
net->version = htonl(net->version); net->version = htonl(net->version);
htond(net->aileron); htond(net->aileron);
htond(net->elevator); htond(net->elevator);
htond(net->elevator_trim);
htond(net->rudder); htond(net->rudder);
htond(net->aileron_trim);
htond(net->elevator_trim);
htond(net->rudder_trim);
htond(net->flaps); htond(net->flaps);
net->flaps_power = htonl(net->flaps_power); net->flaps_power = htonl(net->flaps_power);
net->flap_motor_ok = htonl(net->flap_motor_ok); net->flap_motor_ok = htonl(net->flap_motor_ok);
@ -350,8 +356,10 @@ void FGNetCtrls2Props( FGNetCtrls *net, bool honor_freezes,
node = fgGetNode("/controls/flight", true); node = fgGetNode("/controls/flight", true);
node->setDoubleValue( "aileron", net->aileron ); node->setDoubleValue( "aileron", net->aileron );
node->setDoubleValue( "elevator", net->elevator ); node->setDoubleValue( "elevator", net->elevator );
node->setDoubleValue( "elevator-trim", net->elevator_trim );
node->setDoubleValue( "rudder", net->rudder ); node->setDoubleValue( "rudder", net->rudder );
node->setDoubleValue( "aileron-trim", net->aileron_trim );
node->setDoubleValue( "elevator-trim", net->elevator_trim );
node->setDoubleValue( "rudder-trim", net->rudder_trim );
node->setDoubleValue( "flaps", net->flaps ); node->setDoubleValue( "flaps", net->flaps );
fgSetBool( "/systems/electrical/outputs/flaps", net->flaps_power ); fgSetBool( "/systems/electrical/outputs/flaps", net->flaps_power );
node->setBoolValue( "flaps-serviceable", net->flap_motor_ok ); node->setBoolValue( "flaps-serviceable", net->flap_motor_ok );

View file

@ -17,7 +17,7 @@
# error This library requires C++ # error This library requires C++
#endif #endif
const int FG_NET_CTRLS_VERSION = 23; const int FG_NET_CTRLS_VERSION = 24;
// Define a structure containing the control parameters // Define a structure containing the control parameters
@ -37,8 +37,10 @@ public:
// Aero controls // Aero controls
double aileron; // -1 ... 1 double aileron; // -1 ... 1
double elevator; // -1 ... 1 double elevator; // -1 ... 1
double elevator_trim; // -1 ... 1
double rudder; // -1 ... 1 double rudder; // -1 ... 1
double aileron_trim; // -1 ... 1
double elevator_trim; // -1 ... 1
double rudder_trim; // -1 ... 1
double flaps; // 0 ... 1 double flaps; // 0 ... 1
// Aero control faults // Aero control faults