#include <Debug/logstream.hxx>
#include <Flight/flight.hxx>
#include <Include/fg_constants.h>
+#include <Main/options.hxx>
#include <Misc/fgstream.hxx>
#include "fg_serial.hxx"
-#include "options.hxx"
-
-
-const int fgOPTIONS::FG_RADIUS_MIN;
-const int fgOPTIONS::FG_RADIUS_MAX;
-
inline double
atof( const string& str )
sound(1),
// Flight Model options
- flight_model(FG_LARCSIM),
+ flight_model(FGState::FG_LARCSIM),
// Rendering options
fog(FG_FOG_NICEST), // nicest
tris_or_culled(0),
// Time options
- time_offset(0),
-
- // Serial port options
- // port_a(FG_SERIAL_DISABLED),
- // port_b(FG_SERIAL_DISABLED),
- // port_c(FG_SERIAL_DISABLED),
- // port_d(FG_SERIAL_DISABLED),
-
- port_a_config(""),
- port_b_config(""),
- port_c_config(""),
- port_d_config("")
+ time_offset(0)
{
// set initial values/defaults
}
airport_id = ""; // default airport id
+
+ // initialize port config string list
+ port_options_list.erase ( port_options_list.begin(),
+ port_options_list.end() );
}
// printf("flight model = %s\n", fm);
if ( fm == "slew" ) {
- return FG_SLEW;
+ return FGState::FG_SLEW;
} else if ( (fm == "larcsim") || (fm == "LaRCsim") ) {
- return FG_LARCSIM;
+ return FGState::FG_LARCSIM;
+ } else if ( fm == "external" ) {
+ return FGState::FG_EXTERNAL;
} else {
FG_LOG( FG_GENERAL, FG_ALERT, "Unknown flight model = " << fm );
exit(-1);
}
-// Parse serial port option --serial=a,/dev/ttyS1,nmea,4800,out
+// Parse serial port option --serial=/dev/ttyS1,nmea,4800,out
//
-// Format is "--serial=port_id,device,format,baud,direction" where
+// Format is "--serial=device,format,baud,direction" where
//
-// port_id = {a, b, c, d}
// device = OS device name to be open()'ed
// format = {nmea, fgfs}
// baud = {300, 1200, 2400, ..., 230400}
// direction = {in, out, bi}
-//
+
bool
fgOPTIONS::parse_serial( const string& serial_str ) {
string::size_type pos;
- string port;
- string config;
// cout << "Serial string = " << serial_str << endl;
- // port
+ // a flailing attempt to see if the port config string has a
+ // chance at being valid
pos = serial_str.find(",");
if ( pos == string::npos ) {
FG_LOG( FG_GENERAL, FG_ALERT,
return false;
}
- port = serial_str.substr(0, pos);
- config = serial_str.substr(++pos);
-
- if ( port == "a" ) {
- port_a_config = config;
- } else if ( port == "b" ) {
- port_b_config = config;
- } else if ( port == "c" ) {
- port_c_config = config;
- } else if ( port == "d" ) {
- port_d_config = config;
- } else {
- FG_LOG( FG_GENERAL, FG_ALERT, "Valid ports are a - d, config for port "
- << port << " ignored" );
- return false;
- }
+ port_options_list.push_back( serial_str );
return true;
}
printf("\t--enable-sound: enable sound effects\n");
printf("\n");
+ printf("Flight Model:\n");
+ printf("\t--flight-mode=abcd: one of slew, larcsim, or external\n");
+ printf("\n");
+
printf("Initial Position and Orientation:\n");
printf("\t--airport-id=ABCD: specify starting postion by airport id\n");
printf("\t--lon=degrees: starting longitude in degrees (west = -)\n");
printf("\t--enable-textures: enable textures\n");
printf("\t--disable-wireframe: disable wireframe drawing mode\n");
printf("\t--enable-wireframe: enable wireframe drawing mode\n");
- printf("\t--geomtry=WWWxHHH: specify window geometry: 640x480, 800x600\n");
+ printf("\t--geometry=WWWxHHH: window geometry: 640x480, 800x600, etc.\n");
printf("\n");
printf("Scenery Options:\n");
// $Log$
+// Revision 1.34 1998/12/05 15:54:22 curt
+// Renamed class fgFLIGHT to class FGState as per request by JSB.
+//
+// Revision 1.33 1998/12/04 01:30:44 curt
+// Added support for the External flight model.
+//
+// Revision 1.32 1998/11/25 01:34:00 curt
+// Support for an arbitrary number of serial ports.
+//
+// Revision 1.31 1998/11/23 21:49:04 curt
+// Borland portability tweaks.
+//
// Revision 1.30 1998/11/16 14:00:02 curt
// Added pow() macro bug work around.
// Added support for starting FGFS at various resolutions.