1
0
Fork 0

Added a specific "altas" format for output which includes a proprietary string

to convey the radio stack settings.
This commit is contained in:
curt 2001-01-31 22:21:36 +00:00
parent c7f1c662a1
commit a4d27fe7bc
3 changed files with 64 additions and 8 deletions

View file

@ -34,14 +34,15 @@
#include <simgear/timing/timestamp.hxx> #include <simgear/timing/timestamp.hxx>
#include <Network/protocol.hxx> #include <Network/protocol.hxx>
#include <Network/native.hxx> #include <Network/atlas.hxx>
#include <Network/garmin.hxx> #include <Network/garmin.hxx>
#include <Network/joyclient.hxx>
#include <Network/native.hxx>
#include <Network/nmea.hxx> #include <Network/nmea.hxx>
#include <Network/props.hxx> #include <Network/props.hxx>
#include <Network/pve.hxx> #include <Network/pve.hxx>
#include <Network/ray.hxx> #include <Network/ray.hxx>
#include <Network/rul.hxx> #include <Network/rul.hxx>
#include <Network/joyclient.hxx>
#include "globals.hxx" #include "globals.hxx"
@ -72,12 +73,18 @@ static FGProtocol *parse_port_config( const string& config )
FG_LOG( FG_IO, FG_INFO, " protocol = " << protocol ); FG_LOG( FG_IO, FG_INFO, " protocol = " << protocol );
FGProtocol *io; FGProtocol *io;
if ( protocol == "native" ) { if ( protocol == "atlas" ) {
FGNative *native = new FGNative; FGAtlas *atlas = new FGAtlas;
io = native; io = atlas;
} else if ( protocol == "garmin" ) { } else if ( protocol == "garmin" ) {
FGGarmin *garmin = new FGGarmin; FGGarmin *garmin = new FGGarmin;
io = garmin; io = garmin;
} else if ( protocol == "joyclient" ) {
FGJoyClient *joyclient = new FGJoyClient;
io = joyclient;
} else if ( protocol == "native" ) {
FGNative *native = new FGNative;
io = native;
} else if ( protocol == "nmea" ) { } else if ( protocol == "nmea" ) {
FGNMEA *nmea = new FGNMEA; FGNMEA *nmea = new FGNMEA;
io = nmea; io = nmea;
@ -93,9 +100,6 @@ static FGProtocol *parse_port_config( const string& config )
} else if ( protocol == "rul" ) { } else if ( protocol == "rul" ) {
FGRUL *rul = new FGRUL; FGRUL *rul = new FGRUL;
io = rul; io = rul;
} else if ( protocol == "joyclient" ) {
FGJoyClient *joyclient = new FGJoyClient;
io = joyclient;
} else { } else {
return NULL; return NULL;
} }

View file

@ -765,6 +765,8 @@ parse_option (const string& arg)
fgSetString("/sim/hud/frame-stat-type", "tris"); fgSetString("/sim/hud/frame-stat-type", "tris");
} else if ( arg == "--hud-culled" ) { } else if ( arg == "--hud-culled" ) {
fgSetString("/sim/hud/frame-stat-type", "culled"); fgSetString("/sim/hud/frame-stat-type", "culled");
} else if ( arg.find( "--atlas=" ) != string::npos ) {
parse_channel( "atlas", arg.substr(8) );
} else if ( arg.find( "--native=" ) != string::npos ) { } else if ( arg.find( "--native=" ) != string::npos ) {
parse_channel( "native", arg.substr(9) ); parse_channel( "native", arg.substr(9) );
} else if ( arg.find( "--garmin=" ) != string::npos ) { } else if ( arg.find( "--garmin=" ) != string::npos ) {

View file

@ -451,6 +451,56 @@ bool FGAtlas::parse_message() {
FG_LOG( FG_IO, FG_INFO, " altitude = " << altitude ); FG_LOG( FG_IO, FG_INFO, " altitude = " << altitude );
} else if ( sentence == "PATLA" ) {
// nav1 freq
end = msg.find(",", begin);
if ( end == string::npos ) {
return false;
}
string nav1_freq = msg.substr(begin, end - begin);
begin = end + 1;
FG_LOG( FG_IO, FG_INFO, " nav1_freq = " << nav1_freq );
// nav1 selected radial
end = msg.find(",", begin);
if ( end == string::npos ) {
return false;
}
string nav1_rad = msg.substr(begin, end - begin);
begin = end + 1;
FG_LOG( FG_IO, FG_INFO, " nav1_rad = " << nav1_rad );
// nav2 freq
end = msg.find(",", begin);
if ( end == string::npos ) {
return false;
}
string nav2_freq = msg.substr(begin, end - begin);
begin = end + 1;
FG_LOG( FG_IO, FG_INFO, " nav2_freq = " << nav2_freq );
// nav2 selected radial
end = msg.find(",", begin);
if ( end == string::npos ) {
return false;
}
string nav2_rad = msg.substr(begin, end - begin);
begin = end + 1;
FG_LOG( FG_IO, FG_INFO, " nav2_rad = " << nav2_rad );
// adf freq
end = msg.find("*", begin);
if ( end == string::npos ) {
return false;
}
string adf_freq = msg.substr(begin, end - begin);
begin = end + 1;
FG_LOG( FG_IO, FG_INFO, " adf_freq = " << adf_freq );
} }
// printf("%.8f %.8f\n", lon, lat); // printf("%.8f %.8f\n", lon, lat);