X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FLaRCsim%2Fls_geodesy.c;h=e9bf47208ddccc19476bf6034a0b6c25a5a8482f;hb=13db36f67912be03c2e970e84cdcdbd41dddb61c;hp=6d4073c8b786b46338aa13f3e59ff83609b509f9;hpb=c90db01dc8d5462a3da22771ffa7c96f5ea31217;p=flightgear.git diff --git a/src/FDM/LaRCsim/ls_geodesy.c b/src/FDM/LaRCsim/ls_geodesy.c index 6d4073c8b..e9bf47208 100644 --- a/src/FDM/LaRCsim/ls_geodesy.c +++ b/src/FDM/LaRCsim/ls_geodesy.c @@ -40,9 +40,166 @@ $Header$ $Log$ -Revision 1.1 1999/04/05 21:32:45 curt +Revision 1.1 2002/09/10 01:14:02 curt Initial revision +Revision 1.3 2001/03/24 05:03:12 curt +SG-ified logstream. + +Revision 1.2 2000/10/23 22:34:54 curt +I tested: +LaRCsim c172 on-ground and in-air starts, reset: all work +UIUC Cessna172 on-ground and in-air starts work as expected, reset +results in an aircraft that is upside down but does not crash FG. I +don't know what it was like before, so it may well be no change. +JSBSim c172 and X15 in-air starts work fine, resets now work (and are +trimmed), on-ground starts do not -- the c172 ends up on its back. I +suspect this is no worse than before. + +I did not test: +Balloon (the weather code returns nan's for the atmosphere data --this +is in the weather module and apparently is a linux only bug) +ADA (don't know how) +MagicCarpet (needs work yet) +External (don't know how) + +known to be broken: +LaRCsim c172 on-ground starts with a negative terrain altitude (this +happens at KPAO when the scenery is not present). The FDM inits to +about 50 feet AGL and the model falls to the ground. It does stay +upright, however, and seems to be fine once it settles out, FWIW. + +To do: +--implement set_Model on the bus +--bring Christian's weather data into JSBSim +-- add default method to bus for updating things like the sin and cos of +latitude (for Balloon, MagicCarpet) +-- lots of cleanup + +The files: +src/FDM/flight.cxx +src/FDM/flight.hxx +-- all data members now declared protected instead of private. +-- eliminated all but a small set of 'setters', no change to getters. +-- that small set is declared virtual, the default implementation +provided preserves the old behavior +-- all of the vector data members are now initialized. +-- added busdump() method -- SG_LOG's all the bus data when called, +useful for diagnostics. + +src/FDM/ADA.cxx +-- bus data members now directly assigned to + +src/FDM/Balloon.cxx +-- bus data members now directly assigned to +-- changed V_equiv_kts to V_calibrated_kts + +src/FDM/JSBSim.cxx +src/FDM/JSBSim.hxx +-- bus data members now directly assigned to +-- implemented the FGInterface virtual setters with JSBSim specific +logic +-- changed the static FDMExec to a dynamic fdmex (needed so that the +JSBSim object can be deleted when a model change is called for) +-- implemented constructor and destructor, moved some of the logic +formerly in init() to constructor +-- added logic to bring up FGEngInterface objects and set the RPM and +throttle values. + +src/FDM/LaRCsim.cxx +src/FDM/LaRCsim.hxx +-- bus data members now directly assigned to +-- implemented the FGInterface virtual setters with LaRCsim specific +logic, uses LaRCsimIC +-- implemented constructor and destructor, moved some of the logic +formerly in init() to constructor +-- moved default inertias to here from fg_init.cxx +-- eliminated the climb rate calculation. The equivalent, climb_rate = +-1*vdown, is now in copy_from_LaRCsim(). + +src/FDM/LaRCsimIC.cxx +src/FDM/LaRCsimIC.hxx +-- similar to FGInitialCondition, this class has all the logic needed to +turn data like Vc and Mach into the more fundamental quantities LaRCsim +needs to initialize. +-- put it in src/FDM since it is a class + +src/FDM/MagicCarpet.cxx + -- bus data members now directly assigned to + +src/FDM/Makefile.am +-- adds LaRCsimIC.hxx and cxx + +src/FDM/JSBSim/FGAtmosphere.h +src/FDM/JSBSim/FGDefs.h +src/FDM/JSBSim/FGInitialCondition.cpp +src/FDM/JSBSim/FGInitialCondition.h +src/FDM/JSBSim/JSBSim.cpp +-- changes to accomodate the new bus + +src/FDM/LaRCsim/atmos_62.h +src/FDM/LaRCsim/ls_geodesy.h +-- surrounded prototypes with #ifdef __cplusplus ... #endif , functions +here are needed in LaRCsimIC + +src/FDM/LaRCsim/c172_main.c +src/FDM/LaRCsim/cherokee_aero.c +src/FDM/LaRCsim/ls_aux.c +src/FDM/LaRCsim/ls_constants.h +src/FDM/LaRCsim/ls_geodesy.c +src/FDM/LaRCsim/ls_geodesy.h +src/FDM/LaRCsim/ls_step.c +src/FDM/UIUCModel/uiuc_betaprobe.cpp +-- changed PI to LS_PI, eliminates preprocessor naming conflict with +weather module + +src/FDM/LaRCsim/ls_interface.c +src/FDM/LaRCsim/ls_interface.h +-- added function ls_set_model_dt() + +src/Main/bfi.cxx +-- eliminated calls that set the NED speeds to body components. They +are no longer needed and confuse the new bus. + +src/Main/fg_init.cxx +-- eliminated calls that just brought the bus data up-to-date (e.g. +set_sin_cos_latitude). or set default values. The bus now handles the +defaults and updates itself when the setters are called (for LaRCsim and +JSBSim). A default method for doing this needs to be added to the bus. +-- added fgVelocityInit() to set the speed the user asked for. Both +JSBSim and LaRCsim can now be initialized using any of: +vc,mach, NED components, UVW components. + +src/Main/main.cxx +--eliminated call to fgFDMSetGroundElevation, this data is now 'pulled' +onto the bus every update() + +src/Main/options.cxx +src/Main/options.hxx +-- added enum to keep track of the speed requested by the user +-- eliminated calls to set NED velocity properties to body speeds, they +are no longer needed. +-- added options for the NED components. + +src/Network/garmin.cxx +src/Network/nmea.cxx +--eliminated calls that just brought the bus data up-to-date (e.g. +set_sin_cos_latitude). The bus now updates itself when the setters are +called (for LaRCsim and JSBSim). A default method for doing this needs +to be added to the bus. +-- changed set_V_equiv_kts to set_V_calibrated_kts. set_V_equiv_kts no +longer exists ( get_V_equiv_kts still does, though) + +src/WeatherCM/FGLocalWeatherDatabase.cpp +-- commented out the code to put the weather data on the bus, a +different scheme for this is needed. + +Revision 1.1.1.1 1999/06/17 18:07:34 curt +Start of 0.7.x branch + +Revision 1.1.1.1 1999/04/05 21:32:45 curt +Start of 0.6.x branch. + Revision 1.3 1998/07/08 14:41:37 curt . @@ -105,7 +262,7 @@ Initial Flight Gear revision. /* ONE_SECOND is pi/180/60/60, or about 100 feet at earths' equator */ #define ONE_SECOND 4.848136811E-6 -#define HALF_PI 0.5*PI +#define HALF_PI 0.5*LS_PI void ls_geoc_to_geod( SCALAR lat_geoc, SCALAR radius, SCALAR *lat_geod,