Runway Awareness and Advisory System: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 35: Line 35:
| Use *.groundnet.xml to detect when the aircraft is near a holding point to more accurately emit "approaching-runway" signal || {{Not done}}
| Use *.groundnet.xml to detect when the aircraft is near a holding point to more accurately emit "approaching-runway" signal || {{Not done}}
|-
|-
| Give an advisory of which runway the aircraft is lined up with when the aircraft is airborne and approaching a runway || {{Not done}}
| Give an advisory of which runway the aircraft is lined up with when the aircraft is airborne and approaching a runway || {{Progressbar|100}}
|-
|-
| Give "Approaching runway <runway>, <distance> available" advisory when the aircraft is airborne and approaching a short runway || {{Not done}}
| Give "Approaching runway <runway>, <distance> available" advisory when the aircraft is airborne and approaching a short runway || {{Progressbar|100}}
|-
|-
| Give "Long landing" caution when aircraft has less than a specified distance/percentage remaining || {{Not done}}
| Give "Long landing" caution when aircraft has less than a specified distance/percentage remaining || {{Not done}}
Line 69: Line 69:
|-
|-
| takeoff || on-runway, on-short-runway
| takeoff || on-runway, on-short-runway
|-
| approach || approaching-runway, approaching-short-runway
|}
|}


Line 127: Line 129:
     var distance = getprop("/sim/runway-announcer/short-runway-distance");
     var distance = getprop("/sim/runway-announcer/short-runway-distance");
     return sprintf("On runway %%s, %d %s remaining", distance, takeoff_config.distances_unit);
     return sprintf("On runway %%s, %d %s remaining", distance, takeoff_config.distances_unit);
};
var approaching_short_runway_format = func {
    var distance = takeoff_announcer.get_short_runway_distance();
    return sprintf("Approaching runway %%s, %d %s available", distance, takeoff_config.distances_unit);
};
};


Line 171: Line 178:
takeoff_announcer.connect("on-short-runway", runway.make_betty_cb(copilot_say, on_short_runway_format, switch_to_takeoff));
takeoff_announcer.connect("on-short-runway", runway.make_betty_cb(copilot_say, on_short_runway_format, switch_to_takeoff));
takeoff_announcer.connect("approaching-runway", runway.make_betty_cb(copilot_say, "Approaching runway %s"));
takeoff_announcer.connect("approaching-runway", runway.make_betty_cb(copilot_say, "Approaching runway %s"));
takeoff_announcer.connect("approaching-short-runway", runway.make_betty_cb(copilot_say, approaching_short_runway_format));


var landing_config = { parents: [runway.LandingRunwayAnnounceConfig] };
var landing_config = { parents: [runway.LandingRunwayAnnounceConfig] };
Line 202: Line 210:
         else {
         else {
             takeoff_announcer.set_mode("taxi-and-takeoff");
             takeoff_announcer.set_mode("taxi-and-takeoff");
            logger.warn(sprintf("Takeoff mode: %s", takeoff_announcer.mode));
         }
         }
         takeoff_announcer.start();
         takeoff_announcer.start();
Line 207: Line 216:
     }
     }
     else {
     else {
         takeoff_announcer.stop();
         takeoff_announcer.set_mode("approach");
         logger.warn("Stopping takeoff announcer");
         logger.warn(sprintf("Takeoff mode: %s", takeoff_announcer.mode));


         landing_announcer.stop();
         landing_announcer.stop();
Line 269: Line 278:
# required for a normal takeoff, then the on-short-runway instead of
# required for a normal takeoff, then the on-short-runway instead of
# on-runway signal will be emitted.
# on-runway signal will be emitted.
nominal_distance_landing_m: 2000,
# Minimum distance in meters required for a normal landing. If
# runway length when approaching the runway is less than the distance
# required for a normal landing, then the approaching-short-runway
# instead of approaching-runway signal will be emitted.


distances_unit: "meter",
distances_unit: "meter",
72

edits

Navigation menu