72
edits
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 || {{ | | 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 || {{ | | 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. | takeoff_announcer.set_mode("approach"); | ||
logger.warn(" | 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", |
edits