by no means get's them all, but it's a start.
double user_heading = manager->get_user_heading();
double user_pitch = manager->get_user_pitch();
double user_yaw = manager->get_user_yaw();
- double user_speed = manager->get_user_speed();
+ // double user_speed = manager->get_user_speed();
// calculate range to target in feet and nautical miles
double lat_range = fabs(pos.lat() - user_latitude) * ft_per_deg_lat;
double user_heading = manager->get_user_heading();
double user_pitch = manager->get_user_pitch();
double user_yaw = manager->get_user_yaw();
- double user_speed = manager->get_user_speed();
+ // double user_speed = manager->get_user_speed();
// calculate range to target in feet and nautical miles
double lat_range = fabs(pos.lat() - user_latitude) * ft_per_deg_lat;
ft_per_deg_lat = 366468.96 - 3717.12 * cos(pos.lat()/SG_RADIANS_TO_DEGREES);
ft_per_deg_lon = 365228.16 * cos(pos.lat() / SG_RADIANS_TO_DEGREES);
- double altitude_ft = altitude * SG_METER_TO_FEET;
+ // double altitude_ft = altitude * SG_METER_TO_FEET;
//###########################//
// do calculations for range //
// copy values from the AIManager
double user_latitude = manager->get_user_latitude();
double user_longitude = manager->get_user_longitude();
- double user_altitude = manager->get_user_altitude();
+ // double user_altitude = manager->get_user_altitude();
// calculate range to target in feet and nautical miles
double lat_range = fabs(pos.lat() - user_latitude) * ft_per_deg_lat;
double rwy_lon = atof( argv[5] );
double rwy_hdg = atof( argv[6] );
double rwy_len = atof( argv[7] ) * SG_DEGREES_TO_RADIANS;
- double rwy_wid = atof( argv[8] );
+ // double rwy_wid = atof( argv[8] );
if ( dir == "FOR" ) {
rwy_hdg += 180.0;
debug( false ),
y_n( 0.0 ),
r_n( 0.0 ),
+ y_scale( 1.0 ),
+ r_scale( 1.0 ),
Kp( 0.0 ),
alpha( 0.1 ),
beta( 1.0 ),
ep_n_1( 0.0 ),
edf_n_1( 0.0 ),
edf_n_2( 0.0 ),
- u_n_1( 0.0 ),
- r_scale( 1.0 ),
- y_scale( 1.0 )
+ u_n_1( 0.0 )
{
int i;
for ( i = 0; i < node->nChildren(); ++i ) {
debug( false ),
y_n( 0.0 ),
r_n( 0.0 ),
- u_min( 0.0 ),
- u_max( 0.0 ),
y_scale( 1.0 ),
- r_scale ( 1.0 )
+ r_scale ( 1.0 ),
+ u_min( 0.0 ),
+ u_max( 0.0 )
{
int i;
for ( i = 0; i < node->nChildren(); ++i ) {
FGPredictor::FGPredictor ( SGPropertyNode *node ):
- debug( false ),
- ivalue( 0.0 ),
last_value ( 999999999.9 ),
average ( 0.0 ),
seconds( 0.0 ),
- filter_gain( 0.0 )
+ filter_gain( 0.0 ),
+ debug( false ),
+ ivalue( 0.0 )
{
int i;
for ( i = 0; i < node->nChildren(); ++i ) {
else //if tsi enabled
{
- float factor = My_box.right / 6.0;
+ // float factor = My_box.right / 6.0;
drawOneLine(cen_x-1.0, My_box.top, cen_x+1.0, My_box.top);
drawOneLine(cen_x-1.0, My_box.top, cen_x-1.0, My_box.top+10.0);
FGExternalPipe::FGExternalPipe( double dt, string name ) {
valid = true;
+ last_weight = 0.0;
+ last_cg_offset = -9999.9;
buf = new char[sizeof(char) + sizeof(int) + sizeof(ctrls)];
SG_LOG( SG_IO, SG_ALERT, "Write error to named pipe: " << fifo_name_1 );
}
}
+ last_weight = weight;
if ( cg_offset > -5.0 || cg_offset < 5.0 ) {
sprintf( cmd, "1aircraft-cg-offset-inches=%.2f", cg_offset );
SG_LOG( SG_IO, SG_ALERT, "Write error to named pipe: " << fifo_name_1 );
}
}
+ last_cg_offset = cg_offset;
SG_LOG( SG_IO, SG_INFO, "before sending reset command." );
last_weight = weight;
double cg_offset = fgGetDouble( "/sim/aircraft-cg-offset-inches" );
- static double last_cg_offset = -9999.9;
if ( fabs( cg_offset - last_cg_offset ) > 0.01 ) {
char cmd[256];
sprintf( cmd, "1aircraft-cg-offset-inches=%.2f", cg_offset );
*((int *)ptr) = iterations;
ptr += sizeof(int);
memcpy( ptr, (char *)(&ctrls), length );
+ cout << "writing control structure to remote fdm." << endl;
result = write( pd1, buf, length + 1 );
if ( result == -1 ) {
SG_LOG( SG_IO, SG_ALERT, "Write error to named pipe: "
<< fifo_name_1 );
+ } else {
+ cout << " write successful = " << length + 1 << endl;
}
// Read fdm values
length = sizeof(fdm);
+ cout << "about to read fdm data from remote fdm." << endl;
result = read( pd2, (char *)(& fdm), length );
if ( result == -1 ) {
SG_LOG( SG_IO, SG_ALERT, "Read error from named pipe: "
<< fifo_name_2 );
+ } else {
+ cout << " read successful." << endl;
}
FGNetFDM2Props( &fdm, false );
#endif
FGNetFDM fdm;
char *buf;
+ double last_weight;
+ double last_cg_offset;
+
public:
// Constructor
void c172_aero( SCALAR dt, int Initialize ) {
- static int init = 0;
+ // static int init = 0;
static int fi=0;
static SCALAR lastFlapHandle=0;
static SCALAR Ai;
$Header$
$Log$
-Revision 1.1 2002/09/10 01:14:02 curt
-Initial revision
+Revision 1.2 2004/04/01 15:27:55 curt
+Clean up various compiler warnings that have crept into the code. This
+by no means get's them all, but it's a start.
+
+Revision 1.1.1.1 2002/09/10 01:14:02 curt
+Initial revision of FlightGear-0.9.0
Revision 1.1.1.1 1999/06/17 18:07:34 curt
Start of 0.7.x branch
{
int *indxc, *indxr, *ipiv;
- int i, icol, irow, j, k, l, ll;
+ int i, icol = 0, irow = 0, j, k, l, ll;
double big, dum, pivinv, temp;
int bexists = ((m != 0) || (b == 0));
if (is_suspended())
return;
- int multiloop = _calc_multiloop(dt);
+ // int multiloop = _calc_multiloop(dt);
double time_step = dt;
float Airplane::setFuel(int tank, float fuel)
{
- ((Tank*)_tanks.get(tank))->fill = fuel;
+ return ((Tank*)_tanks.get(tank))->fill = fuel;
}
float Airplane::getFuelDensity(int tank)
{
Rotor* w = new Rotor();
- float defDihed = 0;
+ // float defDihed = 0;
float pos[3];
pos[0] = attrf(a, "x");
//_delta=omega*_delta;
_delta*=maxpitchforce/(_max_pitch*omega*lentocenter*2*_weight_per_blade*.453);
float phi=Math::atan2(2*omega*_delta,omega0*omega0-omega*omega);
- float phi2=Math::abs(omega0-omega)<.000000001?pi/2:Math::atan(2*omega*_delta/(omega0*omega0-omega*omega));
+ // float phi2=Math::abs(omega0-omega)<.000000001?pi/2:Math::atan(2*omega*_delta/(omega0*omega0-omega*omega));
float relamp=omega*omega/(2*_delta*Math::sqrt(sqr(omega0*omega0-omega*omega)+4*_delta*_delta*omega*omega));
if (!_no_torque)
{
<< " relamp: " << relamp
<< " delta: " <<_delta);
- float lspeed[3],dirzentforce[3];
+ // float lspeed[3];
+ float dirzentforce[3];
float f=(!_ccw)?1:-1;
//Math::mul3(f*speed,directions[1],lspeed);
void
FGInput::doKey (int k, int modifiers, int x, int y)
{
- static SGPropertyNode *heading_enabled
- = fgGetNode("/autopilot/locks/heading", true);
+ // static SGPropertyNode *heading_enabled
+ // = fgGetNode("/autopilot/locks/heading", true);
// Sanity check.
if (k < 0 || k >= MAX_KEYS) {
ADF::ADF ()
- : _last_frequency_khz(-1),
- _time_before_search_sec(0),
+ : _time_before_search_sec(0),
+ _last_frequency_khz(-1),
_transmitter_valid(false),
_transmitter_elevation_ft(0),
_transmitter_range_nm(0)
double wp_latitude_deg = _wp_latitude_node->getDoubleValue();
double wp_course_deg =
_wp_course_node->getDoubleValue();
- double wp_distance, wp_bearing_deg, wp_actual_radial_deg,
- wp_course_deviation_deg, wp_course_error_m, wp_TTW;
+ double wp_distance, wp_bearing_deg, wp_course_deviation_deg,
+ wp_course_error_m, wp_TTW;
+ // double wp_actual_radial_deg;
string wp_ID = _wp_ID_node->getStringValue();
// If the get-nearest-airport-node is true.
return result;
}
+#if 0
+ //
+ // these routines look useful ??? but are never used in the code ???
+ //
+
/**
* Built-in command: suspend one or more subsystems.
*
return result;
}
+#endif
+
/**
* Built-in command: load flight.
}
+#if 0
+ //
+ // This function is never used, but maybe useful in the future ???
+ //
+
// Preset lon/lat given an airport id
static bool fgSetPosFromAirportID( const string& id ) {
FGAirport a;
return false;
}
}
+#endif
// Set current tower position lon/lat given an airport id
// static const SGPropertyNode *altitude
// = fgGetNode("/sim/presets/altitude-ft");
- FGLight *l = (FGLight *)(globals->get_subsystem("lighting"));
-
SG_LOG( SG_GENERAL, SG_INFO, "Initialize Subsystems");
SG_LOG( SG_GENERAL, SG_INFO, "========== ==========");
= fgGetNode("/sim/presets/longitude-deg");
static const SGPropertyNode *latitude
= fgGetNode("/sim/presets/latitude-deg");
- static const SGPropertyNode *altitude
- = fgGetNode("/sim/presets/altitude-ft");
+ // static const SGPropertyNode *altitude
+ // = fgGetNode("/sim/presets/altitude-ft");
SGPath cloud_path(globals->get_fg_root());
#if 0
= fgGetNode( "/sim/freeze/replay", true );
static SGPropertyNode *replay_time
= fgGetNode( "/sim/replay/time", true );
- static const SGPropertyNode *replay_end_time
- = fgGetNode( "/sim/replay/end-time", true );
+ // static const SGPropertyNode *replay_end_time
+ // = fgGetNode( "/sim/replay/end-time", true );
//SG_LOG(SG_FLIGHT,SG_INFO, "Updating time dep calcs()");
= fgGetNode("/sim/freeze/clock", true);
static const SGPropertyNode *cur_time_override
= fgGetNode("/sim/time/cur-time-override", true);
- static const SGPropertyNode *replay_master
- = fgGetNode("/sim/freeze/replay", true);
+ // static const SGPropertyNode *replay_master
+ // = fgGetNode("/sim/freeze/replay", true);
// Update the elapsed time.
static bool first_time = true;
{
string options = arg;
string host, port, auth;
- int pos;
+ unsigned int pos;
host = port = auth = "";
if ((pos = options.find("@")) != string::npos)
bool at_model = false;
int from_model_index = 0;
int at_model_index = 0;
- double damp_alt, damp_roll, damp_pitch, damp_heading;
+ // double damp_alt;
+ double damp_roll = 0.0, damp_pitch = 0.0, damp_heading = 0.0;
double x_offset_m, y_offset_m, z_offset_m, fov_deg;
double heading_offset_deg, pitch_offset_deg, roll_offset_deg;
double target_x_offset_m, target_y_offset_m, target_z_offset_m;
// Data received
if (iBytes > 0) {
- if (iBytes >= sizeof(MsgHdr)) {
+ if (iBytes >= (int)sizeof(MsgHdr)) {
// Read header
MsgHdr = (T_MsgHdr *)sMsg;
******************************************************************/
FGMultiplayTxMgr::FGMultiplayTxMgr() {
- int iPlayerCnt; // Count of players in player array
+ // int iPlayerCnt; // Count of players in player array
// Initialise private members
m_bInitialised = false;
******************************************************************/
void FGMultiplayTxMgr::SendTextMessage(const string &sMsgText) const {
- bool bResult = false;
+ // bool bResult = false;
T_MsgHdr MsgHdr;
T_ChatMsg ChatMsg;
- int iNextBlockPosition = 0;
+ unsigned int iNextBlockPosition = 0;
char sMsg[sizeof(T_MsgHdr) + sizeof(T_ChatMsg)];
if (m_bInitialised) {
string generic_sentence;
char tmp[255];
- int v;
- double d;
+ double val;
for (unsigned int i = 0; i < _message.size(); i++) {
switch (_message[i].type) {
case FG_INT:
- v = _message[i].offset +
+ val = _message[i].offset +
_message[i].prop->getIntValue() * _message[i].factor;
- snprintf(tmp, 255, _message[i].format.c_str(), v);
+ snprintf(tmp, 255, _message[i].format.c_str(), (int)val);
break;
case FG_BOOL:
break;
case FG_DOUBLE:
- d = _message[i].offset +
+ val = _message[i].offset +
_message[i].prop->getDoubleValue() * _message[i].factor;
- snprintf(tmp, 255, _message[i].format.c_str(), d);
+ snprintf(tmp, 255, _message[i].format.c_str(), val);
break;
default: // SG_STRING
wind_dir_node(fgGetNode("/environment/wind-from-heading-deg", true)),
wind_speed_node(fgGetNode("/environment/wind-speed-kt", true)),
mag_var_node(fgGetNode("/environment/magnetic-variation-deg", true)),
- p_left_aileron(fgGetNode("surface-positions/left-aileron-pos-norm", true)),
- p_right_aileron(fgGetNode("surface-positions/right-aileron-pos-norm", true)),
- p_elevator(fgGetNode("surface-positions/elevator-pos-norm", true)),
- p_elevator_trim(fgGetNode("surface-positions/elevator_trim-pos-norm", true)),
- p_rudder(fgGetNode("surface-positions/rudder-pos-norm", true)),
- p_flaps(fgGetNode("surface-positions/flap-pos-norm", true)),
- p_flaps_cmd(fgGetNode("/controls/flaps", true)),
- p_alphadot(fgGetNode("/fdm/jsbsim/aero/alphadot-radsec", true)),
- p_betadot(fgGetNode("/fdm/jsbsim/aero/betadot-radsec", true)),
p_latitude(fgGetNode("/position/latitude-deg", true)),
p_longitude(fgGetNode("/position/longitude-deg", true)),
p_alt_node(fgGetNode("/position/altitude-ft", true)),
egt0_node(fgGetNode("/engines/engine/egt-degf", true)),
egt1_node(fgGetNode("/engines/engine[1]/egt-degf", true)),
egt2_node(fgGetNode("/engines/engine[2]/egt-degf", true)),
- egt3_node(fgGetNode("/engines/engine[3]/egt-degf", true))
+ egt3_node(fgGetNode("/engines/engine[3]/egt-degf", true)),
+ p_left_aileron(fgGetNode("surface-positions/left-aileron-pos-norm", true)),
+ p_right_aileron(fgGetNode("surface-positions/right-aileron-pos-norm", true)),
+ p_elevator(fgGetNode("surface-positions/elevator-pos-norm", true)),
+ p_elevator_trim(fgGetNode("surface-positions/elevator_trim-pos-norm", true)),
+ p_rudder(fgGetNode("surface-positions/rudder-pos-norm", true)),
+ p_flaps(fgGetNode("surface-positions/flap-pos-norm", true)),
+ p_flaps_cmd(fgGetNode("/controls/flaps", true)),
+ p_alphadot(fgGetNode("/fdm/jsbsim/aero/alphadot-radsec", true)),
+ p_betadot(fgGetNode("/fdm/jsbsim/aero/betadot-radsec", true))
{
}
*/
void FGReplay::update( double dt ) {
- static SGPropertyNode *replay_master = fgGetNode( "/sim/freeze/replay" );
+ static SGPropertyNode *replay_master
+ = fgGetNode( "/sim/freeze/replay", true );
if ( replay_master->getBoolValue() ) {
// don't record the replay session
// Determine scenery altitude via ssg.
// returned results are in meters
-static double hitlist1_time = 0.0;
+// static double hitlist1_time = 0.0;
bool fgCurrentElev( sgdVec3 abs_view_pos, double max_alt_m,
sgdVec3 scenery_center,
}
-static double hitlist2_time = 0.0;
+// static double hitlist2_time = 0.0;
// Determine scenery altitude via ssg.
// returned results are in meters
if(!naIsString(name)) return naNil();
vector<SGPropertyNode_ptr> children
= (*node)->getChildren(naStr_data(name));
- for(int i=0; i<children.size(); i++)
+ for(unsigned int i=0; i<children.size(); i++)
naVec_append(result, propNodeGhostCreate(c, children[i]));
}
return result;
double target = _pressure_in_node->getDoubleValue();
double current = _pressure_out_node->getDoubleValue();
- double delta = target - current;
+ // double delta = target - current;
_pressure_out_node->setDoubleValue(fgGetLowPass(current, target, dt));
}
}
_diffuse_tbl( NULL ),
_specular_tbl( NULL ),
_sky_tbl( NULL ),
- _sun_rotation( 0.0 ),
_prev_sun_angle(-9999.0),
+ _sun_rotation( 0.0 ),
_dt_total( 0.0 )
{
}
void FGLight::update_sky_color () {
// if the 4th field is 0.0, this specifies a direction ...
- const GLfloat white[4] = { 1.0, 1.0, 1.0, 1.0 };
+ // const GLfloat white[4] = { 1.0, 1.0, 1.0, 1.0 };
const GLfloat base_sky_color[4] = { 0.31, 0.43, 0.69, 1.0 };
const GLfloat base_fog_color[4] = { 0.84, 0.87, 1.0, 1.0 };