I was making some tests with the cessna172 configuration file (\Aircraft\c172\c172.xml).
in the FLIGHT_CONTROL section, there are 8 components that describe the plane's control system as a "block diagram".
I changed that file as follows:
1) added a component after the last component:
<COMPONENT NAME="Ganho 1" TYPE="PURE_GAIN">
        ID 8
        INPUT FG_PITCHRATE
        GAIN 1
</COMPONENT>
2) Modified the first component (a summer) to receive input from Ganho 1.
<COMPONENT NAME="Pitch Trim Sum" TYPE="SUMMER">
        ID 0
        INPUT FG_ELEVATOR_CMD
        INPUT FG_PITCH_TRIM_CMD
        INPUT 8                 //<-- added this line
        CLIPTO -1 1
</COMPONENT>

then I got an initialization failure when initializing the component 0, because it used component 8 as input, and 8 wasn't yet created.
I found that error was ocurring in the FGSummer's Debug(int) method witch was being called after the FGSummer constructor. The Debug method was trying to print some component 8's attribute before it was initialized:
...
        case itFCS:
          cout << "        FCS Component " << Inputs[i]->Idx << " (" << fcs->GetComponentName(Inputs[i]->Idx) << ")" << endl;
...

then i changed that line to:
...
        case itFCS:
          cout << "        FCS Component " << Inputs[i]->Idx << endl;
...
and it seems to have solved the problem.

I believe that problem may also occurr in al Components classes whenever there is a feedback.

peace.

Tony Lampada

_______________________________________________ Flightgear-users mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-users

Reply via email to