Updates so that JSBsim can work.
This commit is contained in:
parent
a1b2152d7f
commit
aa68d067d0
3 changed files with 24 additions and 4 deletions
|
@ -54,7 +54,7 @@ FGFDMExec FDMExec;
|
||||||
|
|
||||||
// Initialize the JSBsim flight model, dt is the time increment for
|
// Initialize the JSBsim flight model, dt is the time increment for
|
||||||
// each subsequent iteration through the EOM
|
// each subsequent iteration through the EOM
|
||||||
int fgJSBsimInit(double dt) {
|
int fgJSBsimInit(double dt, FGInterface& f) {
|
||||||
FG_LOG( FG_FLIGHT, FG_INFO, "Starting initializing JSBsim" );
|
FG_LOG( FG_FLIGHT, FG_INFO, "Starting initializing JSBsim" );
|
||||||
|
|
||||||
FG_LOG( FG_FLIGHT, FG_INFO, " created FDMExec" );
|
FG_LOG( FG_FLIGHT, FG_INFO, " created FDMExec" );
|
||||||
|
@ -69,7 +69,27 @@ int fgJSBsimInit(double dt) {
|
||||||
engine_path.str(), "X15");
|
engine_path.str(), "X15");
|
||||||
FG_LOG( FG_FLIGHT, FG_INFO, " loaded aircraft" );
|
FG_LOG( FG_FLIGHT, FG_INFO, " loaded aircraft" );
|
||||||
|
|
||||||
FDMExec.GetState()->Reset(aircraft_path.str(), "Reset00");
|
// FDMExec.GetState()->Reset(aircraft_path.str(), "Reset00");
|
||||||
|
|
||||||
|
FDMExec.GetState()->Initialize(
|
||||||
|
current_options.get_uBody(),
|
||||||
|
current_options.get_vBody(),
|
||||||
|
current_options.get_wBody(),
|
||||||
|
f.get_Phi(),
|
||||||
|
f.get_Theta(),
|
||||||
|
f.get_Psi(),
|
||||||
|
f.get_Latitude() * RAD_TO_DEG,
|
||||||
|
f.get_Longitude() * RAD_TO_DEG,
|
||||||
|
f.get_Altitude()
|
||||||
|
);
|
||||||
|
|
||||||
|
// FDMExec.GetState()->Setlatitude(f.get_Latitude());
|
||||||
|
// FDMExec.GetState()->Setlongitude(f.get_Longitude());
|
||||||
|
// FDMExec.GetState()->Seth(f.get_Altitude());
|
||||||
|
// FDMExec.GetRotation()->Setphi(f.get_Phi());
|
||||||
|
// FDMExec.GetRotation()->Settht(f.get_Theta());
|
||||||
|
// FDMExec.GetRotation()->Setpsi(f.get_Psi());
|
||||||
|
|
||||||
FG_LOG( FG_FLIGHT, FG_INFO, " loaded initial conditions" );
|
FG_LOG( FG_FLIGHT, FG_INFO, " loaded initial conditions" );
|
||||||
|
|
||||||
FDMExec.GetState()->Setdt(dt);
|
FDMExec.GetState()->Setdt(dt);
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
|
|
||||||
// reset flight params to a specific position
|
// reset flight params to a specific position
|
||||||
int fgJSBsimInit(double dt);
|
int fgJSBsimInit(double dt, FGInterface& f);
|
||||||
|
|
||||||
// update position based on inputs, positions, velocities, etc.
|
// update position based on inputs, positions, velocities, etc.
|
||||||
int fgJSBsimUpdate(FGInterface& f, int multiloop);
|
int fgJSBsimUpdate(FGInterface& f, int multiloop);
|
||||||
|
|
|
@ -86,7 +86,7 @@ int fgFDMInit(int model, FGInterface& f, double dt) {
|
||||||
// fgSlewInit(dt);
|
// fgSlewInit(dt);
|
||||||
#ifndef __MWERKS__ // -dw- 04/22/99 JSB sim not ported yet
|
#ifndef __MWERKS__ // -dw- 04/22/99 JSB sim not ported yet
|
||||||
} else if ( model == FGInterface::FG_JSBSIM ) {
|
} else if ( model == FGInterface::FG_JSBSIM ) {
|
||||||
fgJSBsimInit(dt);
|
fgJSBsimInit(dt, f);
|
||||||
fgJSBsim_2_FGInterface(base_fdm_state);
|
fgJSBsim_2_FGInterface(base_fdm_state);
|
||||||
#endif
|
#endif
|
||||||
} else if ( model == FGInterface::FG_LARCSIM ) {
|
} else if ( model == FGInterface::FG_LARCSIM ) {
|
||||||
|
|
Loading…
Reference in a new issue