Propogate colocated dme flag.
This commit is contained in:
parent
2fac753991
commit
292c97fa43
3 changed files with 16 additions and 1 deletions
|
@ -143,6 +143,7 @@ void FGRadioStack::search( double lon, double lat, double elev ) {
|
|||
if ( current_ilslist->query( lon, lat, elev, nav1_freq, &ils ) ) {
|
||||
nav1_valid = true;
|
||||
nav1_loc = true;
|
||||
nav1_dme = true;
|
||||
|
||||
nav1_lon = ils.get_loclon();
|
||||
nav1_lat = ils.get_loclat();
|
||||
|
@ -160,7 +161,7 @@ void FGRadioStack::search( double lon, double lat, double elev ) {
|
|||
} else if ( current_navlist->query( lon, lat, elev, nav1_freq, &nav ) ) {
|
||||
nav1_valid = true;
|
||||
nav1_loc = false;
|
||||
|
||||
nav1_dme = nav.get_dme();
|
||||
nav1_lon = nav.get_lon();
|
||||
nav1_lat = nav.get_lat();
|
||||
nav1_elev = nav.get_elev();
|
||||
|
@ -180,6 +181,7 @@ void FGRadioStack::search( double lon, double lat, double elev ) {
|
|||
if ( current_ilslist->query( lon, lat, elev, nav2_freq, &ils ) ) {
|
||||
nav2_valid = true;
|
||||
nav2_loc = true;
|
||||
nav2_dme = true;
|
||||
|
||||
nav2_lon = ils.get_loclon();
|
||||
nav2_lat = ils.get_loclat();
|
||||
|
@ -197,6 +199,7 @@ void FGRadioStack::search( double lon, double lat, double elev ) {
|
|||
} else if ( current_navlist->query( lon, lat, elev, nav2_freq, &nav ) ) {
|
||||
nav2_valid = true;
|
||||
nav2_loc = false;
|
||||
nav2_dme = nav.get_dme();
|
||||
|
||||
nav2_lon = nav.get_lon();
|
||||
nav2_lat = nav.get_lat();
|
||||
|
|
|
@ -37,6 +37,7 @@ class FGRadioStack {
|
|||
|
||||
bool nav1_valid;
|
||||
bool nav1_inrange;
|
||||
bool nav1_dme;
|
||||
bool nav1_loc;
|
||||
double nav1_freq;
|
||||
double nav1_alt_freq;
|
||||
|
@ -55,6 +56,7 @@ class FGRadioStack {
|
|||
|
||||
bool nav2_valid;
|
||||
bool nav2_inrange;
|
||||
bool nav2_dme;
|
||||
bool nav2_loc;
|
||||
double nav2_freq;
|
||||
double nav2_alt_freq;
|
||||
|
@ -140,6 +142,7 @@ public:
|
|||
|
||||
// Calculated values.
|
||||
inline bool get_nav1_inrange() const { return nav1_inrange; }
|
||||
inline bool get_nav1_dme() const { return nav1_dme; }
|
||||
inline bool get_nav1_loc() const { return nav1_loc; }
|
||||
inline double get_nav1_lon() const { return nav1_lon; }
|
||||
inline double get_nav1_lat() const { return nav1_lat; }
|
||||
|
@ -150,6 +153,7 @@ public:
|
|||
inline double get_nav1_target_gs() const { return nav1_target_gs; }
|
||||
|
||||
inline bool get_nav2_inrange() const { return nav2_inrange; }
|
||||
inline bool get_nav2_dme() const { return nav2_dme; }
|
||||
inline bool get_nav2_loc() const { return nav2_loc; }
|
||||
inline double get_nav2_lon() const { return nav2_lon; }
|
||||
inline double get_nav2_lat() const { return nav2_lat; }
|
||||
|
|
|
@ -86,6 +86,10 @@ FGGain::FGGain(FGFCS* fcs, FGConfigFile* AC_cfg) : FGFCSComponent(fcs),
|
|||
*AC_cfg >> Max;
|
||||
} else if (token == "SCHEDULED_BY") {
|
||||
*AC_cfg >> ScheduledBy;
|
||||
} else if (token == "OUTPUT") {
|
||||
IsOutput = true;
|
||||
*AC_cfg >> sOutputIdx;
|
||||
OutputIdx = fcs->GetState()->GetParameterIndex(sOutputIdx);
|
||||
} else {
|
||||
AC_cfg->ResetLineIndexToZero();
|
||||
lookup = new float[2];
|
||||
|
@ -137,8 +141,12 @@ bool FGGain::Run(void )
|
|||
|
||||
if (Output >= 0.0) Output = Input * Max;
|
||||
else Output = Input * (-Min);
|
||||
|
||||
Output *= Gain;
|
||||
}
|
||||
|
||||
if (IsOutput) SetOutput();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue