fbf4be91e3
from https://github.com/c172p-team/c172p/releases/tag/version%2F2020.4 f0e108bca8ebfde42c8496df84dd580716242a0d
639 lines
22 KiB
XML
639 lines
22 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<PropertyList>
|
|
|
|
<name>Flying the Pattern</name>
|
|
|
|
<description>
|
|
The traffic pattern is used as a method to stop aircraft crashing into each other when near an airport.
|
|
|
|
The pattern is a rectangular flight path with the runway forming one of the long sides.
|
|
|
|
We will be flying at Hilo (PHTO) from runway 21, on a clear day.
|
|
|
|
It consists of the following sections:
|
|
- Upwind. Once we've taken off, we fly straight ahead on the runway heading (220 deg) to 1000 ft.
|
|
- Crosswind. At 500 ft, we turn right 90 degrees to 310 deg and continue climbing until we get to 1500 ft.
|
|
- Downwind. When we reach 1500 ft, we turn right again so we are parallel to the runway, which is 40 deg, reduce power and fly at 100 kts. When we are "abeam the numbers" (opposite the number on the runway we intend to land on), we reduce power to 60 %, drop one notch of flaps and descend 100 ft at 90 kts.
|
|
- Base. We now make another right-hand turn to 130 deg, add another notch of flaps, and let speed continue to dissipate to 70 knots.
|
|
- Final. At the correct moment (based on visual queues), we make a final left turn to line up with the runway. Maks sure to stay a safe altitude above ground! We drop our final lot of flaps, descend and land.
|
|
</description>
|
|
|
|
<nasal>
|
|
<script>
|
|
c172p.repair_damage();
|
|
electrical.reset_battery_and_circuit_breakers();
|
|
c172p.click("engine-repair", 6.0);
|
|
c172p.dialog_battery_reload();
|
|
setprop("/engines/active-engine/oil-level", sim/model/c172p/engine_flag_0 ? 7 : 8);
|
|
setprop("/engines/active-engine/carb_ice", 0.0);
|
|
setprop("/fdm/jsbsim/engine/damage-level", 0.0);
|
|
</script>
|
|
</nasal>
|
|
|
|
<audio-dir>Tutorials/pattern</audio-dir>
|
|
<timeofday>noon</timeofday>
|
|
<presets>
|
|
<airport-id>PHTO</airport-id>
|
|
<on-ground>1</on-ground>
|
|
<altitude-ft>-9999</altitude-ft>
|
|
<latitude-deg>19.72415017471669</latitude-deg>
|
|
<longitude-deg>-155.0518970894882</longitude-deg>
|
|
<heading-deg>220</heading-deg>
|
|
<airspeed-kt>0</airspeed-kt>
|
|
<glideslope-deg>0</glideslope-deg>
|
|
<offset-azimuth-deg>0</offset-azimuth-deg>
|
|
<offset-distance-nm>0</offset-distance-nm>
|
|
<airport-requested>true</airport-requested>
|
|
<runway-requested>false</runway-requested>
|
|
<parking-requested>false</parking-requested>
|
|
</presets>
|
|
|
|
<step>
|
|
<set>
|
|
<property>/sim/model/door-positions/baggageDoor/position-norm</property>
|
|
<value>0</value>
|
|
</set>
|
|
<set>
|
|
<property>/sim/model/door-positions/leftDoor/position-norm</property>
|
|
<value>0</value>
|
|
</set>
|
|
<set>
|
|
<property>/sim/model/door-positions/rightDoor/position-norm</property>
|
|
<value>0</value>
|
|
</set>
|
|
<set>
|
|
<property>/sim/model/c172p/securing/chock</property>
|
|
<value>false</value>
|
|
</set>
|
|
<set>
|
|
<property>/sim/model/c172p/securing/cowl-plugs-visible</property>
|
|
<value>false</value>
|
|
</set>
|
|
<set>
|
|
<property>/sim/model/c172p/securing/tiedownL-visible</property>
|
|
<value>false</value>
|
|
</set>
|
|
<set>
|
|
<property>/sim/model/c172p/securing/tiedownR-visible</property>
|
|
<value>false</value>
|
|
</set>
|
|
<set>
|
|
<property>/sim/model/c172p/securing/tiedownT-visible</property>
|
|
<value>false</value>
|
|
</set>
|
|
<set>
|
|
<property>/sim/model/c172p/securing/pitot-cover-visible</property>
|
|
<value>false</value>
|
|
</set>
|
|
<set>
|
|
<property>sim/model/c172p/engine_flag_0</property>
|
|
<value>1</value>
|
|
</set>
|
|
<set>
|
|
<property>sim/model/c172p/engine_flag_1</property>
|
|
<value>0</value>
|
|
</set>
|
|
<set>
|
|
<property>/controls/engines/active-engine</property>
|
|
<value>0</value>
|
|
</set>
|
|
<set>
|
|
<property>instrumentation/altimeter/setting-inhg</property>
|
|
<value>29.95</value>
|
|
</set>
|
|
<set>
|
|
<property>/controls/engines/engine/primer</property>
|
|
<value>4</value>
|
|
</set>
|
|
<set>
|
|
<property>/controls/engines/current-engine/throttle</property>
|
|
<value>0.2</value>
|
|
</set>
|
|
<set>
|
|
<property>/controls/flight/flaps</property>
|
|
<value>0.0</value>
|
|
</set>
|
|
<set>
|
|
<property>/controls/switches/master-bat</property>
|
|
<value>true</value>
|
|
</set>
|
|
<set>
|
|
<property>/controls/switches/master-alt</property>
|
|
<value>true</value>
|
|
</set>
|
|
<set>
|
|
<property>/controls/gear/brake-parking</property>
|
|
<value>1</value>
|
|
</set>
|
|
<set>
|
|
<property>/controls/switches/magnetos</property>
|
|
<value>3</value>
|
|
</set>
|
|
<set>
|
|
<property>/instrumentation/adf/frequencies/selected-khz</property>
|
|
<value>367</value>
|
|
</set>
|
|
<set>
|
|
<property>/environment/weather-scenario</property>
|
|
<value>Fair weather</value>
|
|
</set>
|
|
<set>
|
|
<property>/controls/flight/elevator-trim</property>
|
|
<value>0.17</value>
|
|
</set>
|
|
<set>
|
|
<property>/sim/model/c172p/cockpit/control-lock-placed</property>
|
|
<value>false</value>
|
|
</set>
|
|
<set>
|
|
<property>/sim/model/c172p/cockpit/control-lock-visible</property>
|
|
<value>false</value>
|
|
</set>
|
|
<nasal>
|
|
<script>
|
|
setprop("/controls/engines/current-engine/mixture", 1.0);
|
|
setprop("/controls/switches/starter", 1);
|
|
</script>
|
|
</nasal>
|
|
<message></message>
|
|
<view>
|
|
<heading-offset-deg>0.0</heading-offset-deg>
|
|
<pitch-offset-deg>-12</pitch-offset-deg>
|
|
<roll-offset-deg>0.0</roll-offset-deg>
|
|
<x-offset-m>-0.21</x-offset-m>
|
|
<y-offset-m>0.19</y-offset-m>
|
|
<field-of-view>73.6</field-of-view>
|
|
</view>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Release the parking brakes, smoothly apply full power and start your take-off.</message>
|
|
|
|
<nasal>
|
|
<script>
|
|
var listeners = std.Vector.new();
|
|
|
|
listeners.append(setlistener("/engines/active-engine/running", func (node) {
|
|
if (node.getBoolValue()) {
|
|
setprop("/controls/switches/starter", 0);
|
|
foreach (var listener; listeners.vector) {
|
|
removelistener(listener);
|
|
}
|
|
listeners.clear();
|
|
}
|
|
}, 1, 0));
|
|
</script>
|
|
</nasal>
|
|
|
|
<error>
|
|
<message>Release the parking brake using Shift B</message>
|
|
<condition>
|
|
<equals>
|
|
<property>/controls/gear/brake-parking</property>
|
|
<value>1</value>
|
|
</equals>
|
|
</condition>
|
|
</error>
|
|
<error>
|
|
<message>Apply full throttle for take-off</message>
|
|
<condition>
|
|
<less-than>
|
|
<property>/controls/engines/current-engine/throttle</property>
|
|
<value>0.95</value>
|
|
</less-than>
|
|
</condition>
|
|
</error>
|
|
|
|
<exit>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/velocities/airspeed-kt</property>
|
|
<value>5.0</value>
|
|
</greater-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Stay on the center-line of the runway using the rudder.</message>
|
|
|
|
<set>
|
|
<property>/controls/switches/starter</property>
|
|
<value>false</value>
|
|
</set>
|
|
|
|
<exit>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/velocities/airspeed-kt</property>
|
|
<value>45.0</value>
|
|
</greater-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Take-off at 65 knots and climb straight out on heading 220 at 600 feet per minute (about 70 knots).</message>
|
|
<exit>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/vertical-speed-indicator/indicated-speed-fpm</property>
|
|
<value>300</value>
|
|
</greater-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Continue your climb on heading 220 at 600 feet per minute to 1000 feet.</message>
|
|
|
|
<error>
|
|
<message>Your climb angle is too shallow - raise the nose slightly to increase your climb rate.</message>
|
|
<condition>
|
|
<less-than>
|
|
<property>/instrumentation/vertical-speed-indicator/indicated-speed-fpm</property>
|
|
<value>400</value>
|
|
</less-than>
|
|
</condition>
|
|
</error>
|
|
<error>
|
|
<message>Your climb angle is too great - lower the nose slightly to decrease your climb rate.</message>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/vertical-speed-indicator/indicated-speed-fpm</property>
|
|
<value>900</value>
|
|
</greater-than>
|
|
</condition>
|
|
</error>
|
|
<error>
|
|
<message>You are heading too far left, Turn right slightly to heading 220.</message>
|
|
<condition>
|
|
<less-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>210</value>
|
|
</less-than>
|
|
</condition>
|
|
</error>
|
|
<error>
|
|
<message>You are heading too far right, Turn left slightly to heading 220.</message>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>230</value>
|
|
</greater-than>
|
|
</condition>
|
|
</error>
|
|
<error>
|
|
<message>You are in danger of being "behind the power curve". Drop the nose to speed up to 70 knots.</message>
|
|
<condition>
|
|
<less-than>
|
|
<property>/velocities/airspeed-kt</property>
|
|
<value>60</value>
|
|
</less-than>
|
|
</condition>
|
|
</error>
|
|
|
|
<exit>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
|
<value>900</value>
|
|
</greater-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Make a right turn to crosswind (heading 310) and continue climbing to 1500 feet.</message>
|
|
|
|
<error>
|
|
<message>You're too far right. Turn left to heading 310!</message>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>320</value>
|
|
</greater-than>
|
|
</condition>
|
|
</error>
|
|
|
|
<error>
|
|
<message>You're too far left. Turn right to heading 310!</message>
|
|
<condition>
|
|
<less-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>300</value>
|
|
</less-than>
|
|
</condition>
|
|
</error>
|
|
|
|
<exit>
|
|
<condition>
|
|
<and>
|
|
<greater-than>
|
|
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
|
<value>1400</value>
|
|
</greater-than>
|
|
<greater-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>300</value>
|
|
</greater-than>
|
|
<less-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>320</value>
|
|
</less-than>
|
|
</and>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Level off the aircraft at 1500 ft and maintain heading and altitude for a few more seconds</message>
|
|
<wait>10</wait>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Now make another 90 degree right turn to downwind (heading 40).</message>
|
|
|
|
<error>
|
|
<message>You're getting too low. Climb to 1500 ft!</message>
|
|
<condition>
|
|
<less-than>
|
|
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
|
<value>1400</value>
|
|
</less-than>
|
|
</condition>
|
|
</error>
|
|
|
|
<error>
|
|
<message>You're getting too high. Descent to 1500 ft!</message>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
|
<value>1600</value>
|
|
</greater-than>
|
|
</condition>
|
|
</error>
|
|
|
|
<error>
|
|
<message>You're too far right. Turn left to heading 40!</message>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>50</value>
|
|
</greater-than>
|
|
</condition>
|
|
</error>
|
|
|
|
<error>
|
|
<message>You're too far left. Turn right to heading 40!</message>
|
|
<condition>
|
|
<less-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>30</value>
|
|
</less-than>
|
|
</condition>
|
|
</error>
|
|
|
|
<exit>
|
|
<condition>
|
|
<and>
|
|
<less-than>
|
|
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
|
<value>1600</value>
|
|
</less-than>
|
|
<greater-than>
|
|
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
|
<value>1400</value>
|
|
</greater-than>
|
|
<greater-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>30</value>
|
|
</greater-than>
|
|
<less-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>50</value>
|
|
</less-than>
|
|
</and>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Reduce power to 80-85%, and trim for level flight. Continue flying parallel to the runway.</message>
|
|
<error>
|
|
<message>You are heading too far left, Turn right slightly to heading 40.</message>
|
|
<condition>
|
|
<less-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>30</value>
|
|
</less-than>
|
|
</condition>
|
|
</error>
|
|
<error>
|
|
<message>You are heading too far right, Turn left slightly to heading 40.</message>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>50</value>
|
|
</greater-than>
|
|
</condition>
|
|
</error>
|
|
<error>
|
|
<message>You are too high. Pattern altitude is 1500 feet.</message>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
|
<value>1600</value>
|
|
</greater-than>
|
|
</condition>
|
|
</error>
|
|
<error>
|
|
<message>You are too low. Pattern altitude is 1500 feet.</message>
|
|
<condition>
|
|
<less-than>
|
|
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
|
<value>1400</value>
|
|
</less-than>
|
|
</condition>
|
|
</error>
|
|
|
|
<exit>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/position/latitude-deg</property>
|
|
<value>19.74</value>
|
|
</greater-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>You are now opposite the end of the runway. Reduce power to 70%, set flaps to 10.</message>
|
|
|
|
<exit>
|
|
<condition>
|
|
<and>
|
|
<greater-than>
|
|
<property>/controls/flight/flaps</property>
|
|
<value>0.3</value>
|
|
</greater-than>
|
|
<less-than>
|
|
<property>/controls/engines/current-engine/throttle</property>
|
|
<value>0.75</value>
|
|
</less-than>
|
|
</and>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Let the aircraft descend and slow down. Continue flying a heading of 40.</message>
|
|
|
|
<error>
|
|
<message>You are heading too far left, Turn right slightly to heading 40.</message>
|
|
<condition>
|
|
<less-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>30</value>
|
|
</less-than>
|
|
</condition>
|
|
</error>
|
|
<error>
|
|
<message>You are heading too far right, Turn left slightly to heading 40.</message>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>50</value>
|
|
</greater-than>
|
|
</condition>
|
|
</error>
|
|
<error>
|
|
<message>You are too high. You should be descending to around 1300 feet.</message>
|
|
<condition>
|
|
<greater-than>
|
|
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
|
<value>1350</value>
|
|
</greater-than>
|
|
</condition>
|
|
</error>
|
|
|
|
<exit>
|
|
<condition>
|
|
<less-than>
|
|
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
|
<value>1350</value>
|
|
</less-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<set>
|
|
<property>/instrumentation/nav/frequencies/selected-mhz</property>
|
|
<value>112</value>
|
|
</set>
|
|
<set>
|
|
<property>/instrumentation/nav[0]/radials/selected-deg</property>
|
|
<value>127</value>
|
|
</set>
|
|
<message>Turn left to base (heading 130), and set flaps to 20.
|
|
Continue descending, but make sure to maintain a safe altitude above the ground!
|
|
</message>
|
|
|
|
<exit>
|
|
<condition>
|
|
<less-than>
|
|
<property>/instrumentation/nav[0]/filtered-cdiNAV0-deflection</property>
|
|
<value>4</value>
|
|
</less-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Turn onto final (heading 220), and line up with the runway.</message>
|
|
|
|
<exit>
|
|
<condition>
|
|
<and>
|
|
<greater-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>200</value>
|
|
</greater-than>
|
|
<less-than>
|
|
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
|
<value>240</value>
|
|
</less-than>
|
|
<less-than>
|
|
<property>/position/latitude-deg</property>
|
|
<value>19.74</value>
|
|
</less-than>
|
|
</and>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Set flaps to 30. Control your descent rate using the throttle.</message>
|
|
|
|
<exit>
|
|
<condition>
|
|
<less-than>
|
|
<property>/position/latitude-deg</property>
|
|
<value>19.72</value>
|
|
</less-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Slowly reduce power to idle. When you are about 10 feet above the ground,
|
|
smoothly bring the nose up so it is just above the horizon.
|
|
</message>
|
|
<exit>
|
|
<condition>
|
|
<less-than>
|
|
<property>/position/altitude-agl-ft</property>
|
|
<value>10.0</value>
|
|
</less-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Keep tracking straight down the runway using the rudder
|
|
and let the aircraft land on the main gear.
|
|
</message>
|
|
|
|
<exit>
|
|
<condition>
|
|
<less-than>
|
|
<property>/velocities/airspeed-kt</property>
|
|
<value>45.0</value>
|
|
</less-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Lower the nose wheel, continue to track down the runway and gently brake to a stop.</message>
|
|
|
|
<exit>
|
|
<condition>
|
|
<less-than>
|
|
<property>/velocities/airspeed-kt</property>
|
|
<value>5.0</value>
|
|
</less-than>
|
|
</condition>
|
|
</exit>
|
|
</step>
|
|
|
|
<step>
|
|
<message>Congratulations on successfully following the pattern.
|
|
If you want to practice more landings, you can take off again immediately.
|
|
Don't forget to lift your flaps though! This is known as a Touch and Go.
|
|
</message>
|
|
</step>
|
|
|
|
</PropertyList>
|