Merge branch 'dev' into FMGC
This commit is contained in:
commit
79de4a14bc
12 changed files with 4131 additions and 4036 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -5,3 +5,4 @@ MyDevWIP
|
|||
# ignore swap files
|
||||
*.swp
|
||||
*.swo
|
||||
.DS_Store
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
</hud>
|
||||
|
||||
<model>
|
||||
<fallback-model-index>212</fallback-model-index>
|
||||
|
||||
<autopush include="AircraftConfig/autopush-config.xml"/>
|
||||
<icing>
|
||||
<iceable>
|
||||
|
|
|
@ -16,20 +16,17 @@
|
|||
<path>Aircraft/A320-family/Models/Fuselages/A320-100/fuselage.xml</path>
|
||||
</model>
|
||||
|
||||
<!-- Separate Flightdeck to fit the modified nose -->
|
||||
<model>
|
||||
<name>Flightdeck</name>
|
||||
<path>Aircraft/A320-family/Models/FlightDeck/a320.flightdeck.xml</path>
|
||||
<offsets>
|
||||
<x-m>4.81794</x-m>
|
||||
<y-m>0.0</y-m>
|
||||
<z-m>0.0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>Interior</name>
|
||||
<path>Aircraft/A320-family/Models/Interior/a320.interior.xml</path>
|
||||
<path>Aircraft/A320-family/Models/A320-interior.xml</path>
|
||||
<!-- On multiplayer models, the interior is loaded separately and global
|
||||
offsets are not applied. This cancels the global offsets, so that
|
||||
the interior is loaded at (0,0,0) anyway. -->
|
||||
<offsets>
|
||||
<x-m>18.8499</x-m>
|
||||
<z-m>-1.7005004</z-m>
|
||||
</offsets>
|
||||
<usage>interior</usage>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
|
|
|
@ -16,20 +16,17 @@
|
|||
<path>Aircraft/A320-family/Models/Fuselages/A320/fuselage.xml</path>
|
||||
</model>
|
||||
|
||||
<!-- Separate Flightdeck to fit the modified nose -->
|
||||
<model>
|
||||
<name>Flightdeck</name>
|
||||
<path>Aircraft/A320-family/Models/FlightDeck/a320.flightdeck.xml</path>
|
||||
<offsets>
|
||||
<x-m>4.81794</x-m>
|
||||
<y-m>0.0</y-m>
|
||||
<z-m>0.0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>Interior</name>
|
||||
<path>Aircraft/A320-family/Models/Interior/a320.interior.xml</path>
|
||||
<path>Aircraft/A320-family/Models/A320-interior.xml</path>
|
||||
<!-- On multiplayer models, the interior is loaded separately and global
|
||||
offsets are not applied. This cancels the global offsets, so that
|
||||
the interior is loaded at (0,0,0) anyway. -->
|
||||
<offsets>
|
||||
<x-m>18.8499</x-m>
|
||||
<z-m>-1.7005004</z-m>
|
||||
</offsets>
|
||||
<usage>interior</usage>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
|
|
|
@ -16,20 +16,17 @@
|
|||
<path>Aircraft/A320-family/Models/Fuselages/A320/fuselage.xml</path>
|
||||
</model>
|
||||
|
||||
<!-- Separate Flightdeck to fit the modified nose -->
|
||||
<model>
|
||||
<name>Flightdeck</name>
|
||||
<path>Aircraft/A320-family/Models/FlightDeck/a320.flightdeck.xml</path>
|
||||
<offsets>
|
||||
<x-m>4.81794</x-m>
|
||||
<y-m>0.0</y-m>
|
||||
<z-m>0.0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>Interior</name>
|
||||
<path>Aircraft/A320-family/Models/Interior/a320.interior.xml</path>
|
||||
<path>Aircraft/A320-family/Models/A320-interior.xml</path>
|
||||
<!-- On multiplayer models, the interior is loaded separately and global
|
||||
offsets are not applied. This cancels the global offsets, so that
|
||||
the interior is loaded at (0,0,0) anyway. -->
|
||||
<offsets>
|
||||
<x-m>18.8499</x-m>
|
||||
<z-m>-1.7005004</z-m>
|
||||
</offsets>
|
||||
<usage>interior</usage>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
|
|
23
Models/A320-interior.xml
Normal file
23
Models/A320-interior.xml
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<PropertyList>
|
||||
<!-- Separate Flightdeck to fit the modified nose -->
|
||||
<model>
|
||||
<name>Flightdeck</name>
|
||||
<path>Aircraft/A320-family/Models/FlightDeck/a320.flightdeck.xml</path>
|
||||
<offsets>
|
||||
<x-m>-14.0320</x-m>
|
||||
<y-m>0.0</y-m>
|
||||
<z-m>1.7005004</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>Interior</name>
|
||||
<path>Aircraft/A320-family/Models/Interior/a320.interior.xml</path>
|
||||
<offsets>
|
||||
<x-m>-18.8499</x-m>
|
||||
<z-m>1.7005004</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
</PropertyList>
|
|
@ -16,20 +16,17 @@
|
|||
<path>Aircraft/A320-family/Models/Fuselages/A320neo/fuselage.xml</path>
|
||||
</model>
|
||||
|
||||
<!-- Separate Flightdeck to fit the modified nose -->
|
||||
<model>
|
||||
<name>Flightdeck</name>
|
||||
<path>Aircraft/A320-family/Models/FlightDeck/a320.flightdeck.xml</path>
|
||||
<offsets>
|
||||
<x-m>4.81794</x-m>
|
||||
<y-m>0.0</y-m>
|
||||
<z-m>0.0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>Interior</name>
|
||||
<path>Aircraft/A320-family/Models/Interior/a320.interior.xml</path>
|
||||
<path>Aircraft/A320-family/Models/A320-interior.xml</path>
|
||||
<!-- On multiplayer models, the interior is loaded separately and global
|
||||
offsets are not applied. This cancels the global offsets, so that
|
||||
the interior is loaded at (0,0,0) anyway. -->
|
||||
<offsets>
|
||||
<x-m>18.8499</x-m>
|
||||
<z-m>-1.7005004</z-m>
|
||||
</offsets>
|
||||
<usage>interior</usage>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
|
|
|
@ -16,20 +16,17 @@
|
|||
<path>Aircraft/A320-family/Models/Fuselages/A320neo/fuselage.xml</path>
|
||||
</model>
|
||||
|
||||
<!-- Separate Flightdeck to fit the modified nose -->
|
||||
<model>
|
||||
<name>Flightdeck</name>
|
||||
<path>Aircraft/A320-family/Models/FlightDeck/a320.flightdeck.xml</path>
|
||||
<offsets>
|
||||
<x-m>4.81794</x-m>
|
||||
<y-m>0.0</y-m>
|
||||
<z-m>0.0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>Interior</name>
|
||||
<path>Aircraft/A320-family/Models/Interior/a320.interior.xml</path>
|
||||
<path>Aircraft/A320-family/Models/A320-interior.xml</path>
|
||||
<!-- On multiplayer models, the interior is loaded separately and global
|
||||
offsets are not applied. This cancels the global offsets, so that
|
||||
the interior is loaded at (0,0,0) anyway. -->
|
||||
<offsets>
|
||||
<x-m>18.8499</x-m>
|
||||
<z-m>-1.7005004</z-m>
|
||||
</offsets>
|
||||
<usage>interior</usage>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
|
|
|
@ -112,6 +112,7 @@ var att_switch = props.globals.getNode("controls/switching/ATTHDG", 1);
|
|||
var air_switch = props.globals.getNode("controls/switching/AIRDATA", 1);
|
||||
var appr_enabled = props.globals.getNode("it-autoflight/output/appr-armed/", 1);
|
||||
var loc_enabled = props.globals.getNode("it-autoflight/output/loc-armed/", 1);
|
||||
var vert_state = props.globals.getNode("it-autoflight/output/vert/", 1);
|
||||
var ils_data1 = props.globals.getNode("FMGC/internal/ils1-mcdu/", 1);
|
||||
# Independent MCDU ILS not implemented yet, use MCDU1 in the meantime
|
||||
# var ils_data2 = props.globals.getNode("FMGC/internal/ils2-mcdu/", 1);
|
||||
|
@ -120,6 +121,9 @@ var dme_data = props.globals.getNode("instrumentation/dme[0]/indicated-distance-
|
|||
var ils_crs = props.globals.getNode("instrumentation/nav[0]/radials/selected-deg", 1);
|
||||
var ils1_crs_set = props.globals.getNode("FMGC/internal/ils1crs-set/", 1);
|
||||
var arrival_airport = props.globals.getNode("FMGC/internal/arr-arpt", 1);
|
||||
var outer_marker = props.globals.getNode("instrumentation/marker-beacon/outer", 1);
|
||||
var middle_marker = props.globals.getNode("instrumentation/marker-beacon/middle", 1);
|
||||
var inner_marker = props.globals.getNode("instrumentation/marker-beacon/inner", 1);
|
||||
|
||||
# Create Nodes:
|
||||
var vs_needle = props.globals.initNode("/instrumentation/pfd/vs-needle", 0.0, "DOUBLE");
|
||||
|
@ -197,7 +201,7 @@ var canvas_PFD_base = {
|
|||
"AI_bank_lim","AI_bank_lim_X","AI_pitch_lim","AI_pitch_lim_X","AI_slipskid","AI_horizon","AI_horizon_ground","AI_horizon_sky","AI_stick","AI_stick_pos","AI_heading","AI_agl_g","AI_agl","AI_error","AI_group","FD_roll","FD_pitch","ALT_scale","ALT_target",
|
||||
"ALT_target_digit","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_digit_UP","ALT_digit_DN","ALT_error","ALT_group","ALT_group2","ALT_frame","VS_pointer","VS_box","VS_digit","VS_error","VS_group","QNH","QNH_setting",
|
||||
"QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale","HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L","HDG_digit_R","HDG_error","HDG_group","HDG_frame",
|
||||
"TRK_pointer","machError","ilsError","ils_code","ils_freq","dme_dist","dme_dist_legend", "ILS_HDG_R", "ILS_HDG_L", "ILS_right", "ILS_left"];
|
||||
"TRK_pointer","machError","ilsError","ils_code","ils_freq","dme_dist","dme_dist_legend", "ILS_HDG_R", "ILS_HDG_L", "ILS_right", "ILS_left", "outerMarker", "middleMarker", "innerMarker"];
|
||||
},
|
||||
updateDu1: func() {
|
||||
var elapsedtime_act = elapsedtime.getValue();
|
||||
|
@ -772,7 +776,6 @@ var canvas_PFD_base = {
|
|||
me["TRK_pointer"].setTranslation((track_diff.getValue() / 10) * 98.5416, 0);
|
||||
split_ils = split("/", ils_data1.getValue());
|
||||
|
||||
#Secondary via RAD-NAV
|
||||
if (ap_ils_mode.getValue() == 1 and ils1_crs_set.getValue() == 1 and size(split_ils) == 2) {
|
||||
magnetic_hdg = ils_crs.getValue();
|
||||
magnetic_hdg_dif = geo.normdeg180(magnetic_hdg - heading.getValue());
|
||||
|
@ -796,14 +799,9 @@ var canvas_PFD_base = {
|
|||
me["ILS_HDG_L"].hide();
|
||||
me["CRS_pointer"].hide();
|
||||
}
|
||||
} else {
|
||||
me["ILS_HDG_R"].hide();
|
||||
me["ILS_HDG_L"].hide();
|
||||
me["CRS_pointer"].hide();
|
||||
}
|
||||
|
||||
# Primary via MCDU, not implemented yet
|
||||
# if (ap_ils_mode.getValue() == 1 and arrival_airport.getValue() != "" and size(split_ils) == 2) {
|
||||
#Approach selected and tuned, overwrite RAD NAV
|
||||
# } else if (0) {
|
||||
# var runways = airportinfo(airportinfo(arrival_airport.getValue()).id).runways;
|
||||
# var runway_keys = sort(keys(runways), string.icmp);
|
||||
# foreach(var rwy; runway_keys) {
|
||||
|
@ -811,34 +809,20 @@ var canvas_PFD_base = {
|
|||
# if (r.ils_frequency_mhz == split_ils[1]) {
|
||||
# magnetic_hdg = r.heading - getprop("environment/magnetic-variation-deg");
|
||||
# magnetic_hdg_dif = geo.normdeg180(magnetic_hdg - heading.getValue());
|
||||
# if (magnetic_hdg_dif >= -23.62 and magnetic_hdg_dif <= 23.62) {
|
||||
# me["CRS_pointer"].setTranslation((magnetic_hdg_dif / 10) * 98.5416, 0);
|
||||
# me["ILS_HDG_R"].hide();
|
||||
# me["ILS_HDG_L"].hide();
|
||||
# me["CRS_pointer"].show();
|
||||
# } else if (magnetic_hdg_dif < -23.62 and magnetic_hdg_dif >= -180) {
|
||||
# me["ILS_left"].setText(sprintf("%3.0f", int(magnetic_hdg)));
|
||||
# me["ILS_HDG_L"].show();
|
||||
# me["ILS_HDG_R"].hide();
|
||||
# me["CRS_pointer"].hide();
|
||||
# } else if (magnetic_hdg_dif > 23.62 and magnetic_hdg_dif <= 180) {
|
||||
# me["ILS_right"].setText(sprintf("%3.0f", int(magnetic_hdg)));
|
||||
# me["ILS_HDG_R"].show();
|
||||
# me["ILS_HDG_L"].hide();
|
||||
# me["CRS_pointer"].hide();
|
||||
# } else {
|
||||
# me["ILS_HDG_R"].hide();
|
||||
# me["ILS_HDG_L"].hide();
|
||||
# me["CRS_pointer"].hide();
|
||||
# }
|
||||
#
|
||||
# SET THE FMGC values here!!!!!
|
||||
# course = r.heading;
|
||||
# ils_frequency = r.ils_frequency_mhz;
|
||||
#
|
||||
# break;
|
||||
# }
|
||||
# }
|
||||
# } else {
|
||||
# me["ILS_HDG_R"].hide();
|
||||
# me["ILS_HDG_L"].hide();
|
||||
# me["CRS_pointer"].hide();
|
||||
# }
|
||||
|
||||
} else {
|
||||
me["ILS_HDG_R"].hide();
|
||||
me["ILS_HDG_L"].hide();
|
||||
me["CRS_pointer"].hide();
|
||||
}
|
||||
|
||||
# AI HDG
|
||||
me.AI_horizon_hdg_trans.setTranslation(me.middleOffset, horizon_pitch.getValue() * 11.825);
|
||||
|
@ -937,6 +921,27 @@ var canvas_PFD_1 = {
|
|||
me["ils_freq"].hide();
|
||||
me["dme_dist"].hide();
|
||||
me["dme_dist_legend"].hide();
|
||||
me["outerMarker"].hide();
|
||||
me["middleMarker"].hide();
|
||||
me["innerMarker"].hide();
|
||||
}
|
||||
|
||||
if (outer_marker.getValue() == 1) {
|
||||
me["outerMarker"].show();
|
||||
me["middleMarker"].hide();
|
||||
me["innerMarker"].hide();
|
||||
} else if (middle_marker.getValue() == 1) {
|
||||
me["middleMarker"].show();
|
||||
me["outerMarker"].hide();
|
||||
me["innerMarker"].hide();
|
||||
} else if (inner_marker.getValue() == 1) {
|
||||
me["innerMarker"].show();
|
||||
me["outerMarker"].hide();
|
||||
me["middleMarker"].hide();
|
||||
} else {
|
||||
me["outerMarker"].hide();
|
||||
me["middleMarker"].hide();
|
||||
me["innerMarker"].hide();
|
||||
}
|
||||
|
||||
if (ap_ils_mode.getValue() == 1 and loc_in_range.getValue() == 1 and hasloc.getValue() == 1 and nav0_signalq.getValue() > 0.99) {
|
||||
|
@ -949,13 +954,13 @@ var canvas_PFD_1 = {
|
|||
} else {
|
||||
me["GS_pointer"].hide();
|
||||
}
|
||||
|
||||
|
||||
if (ap_ils_mode.getValue() == 0 and (appr_enabled.getValue() == 1 or loc_enabled.getValue() == 1)) {
|
||||
me["ilsError"].show();
|
||||
me["ilsError"].show();
|
||||
} else {
|
||||
me["ilsError"].hide();
|
||||
}
|
||||
|
||||
|
||||
me.updateCommon();
|
||||
},
|
||||
updateFast: func() {
|
||||
|
@ -1261,6 +1266,33 @@ var canvas_PFD_2 = {
|
|||
me["ils_freq"].hide();
|
||||
me["dme_dist"].hide();
|
||||
me["dme_dist_legend"].hide();
|
||||
me["outerMarker"].hide();
|
||||
me["middleMarker"].hide();
|
||||
me["innerMarker"].hide();
|
||||
}
|
||||
|
||||
if (ap_ils_mode2.getValue() == 1 and (appr_enabled.getValue() == 1 or loc_enabled.getValue() == 1 or vert_state.getValue() == 2)) {
|
||||
if (outer_marker.getValue() == 1) {
|
||||
me["outerMarker"].show();
|
||||
me["middleMarker"].hide();
|
||||
me["innerMarker"].hide();
|
||||
} else if (middle_marker.getValue() == 1) {
|
||||
me["middleMarker"].show();
|
||||
me["outerMarker"].hide();
|
||||
me["innerMarker"].hide();
|
||||
} else if (inner_marker.getValue() == 1) {
|
||||
me["innerMarker"].show();
|
||||
me["outerMarker"].hide();
|
||||
me["middleMarker"].hide();
|
||||
} else {
|
||||
me["outerMarker"].hide();
|
||||
me["middleMarker"].hide();
|
||||
me["innerMarker"].hide();
|
||||
}
|
||||
} else {
|
||||
me["outerMarker"].hide();
|
||||
me["middleMarker"].hide();
|
||||
me["innerMarker"].hide();
|
||||
}
|
||||
|
||||
if (ap_ils_mode2.getValue() == 1 and loc_in_range.getValue() == 1 and hasloc.getValue() == 1 and nav0_signalq.getValue() > 0.99) {
|
||||
|
|
File diff suppressed because it is too large
Load diff
Before Width: | Height: | Size: 282 KiB After Width: | Height: | Size: 284 KiB |
|
@ -1600,6 +1600,22 @@
|
|||
<reference-dist>10</reference-dist>
|
||||
<max-dist>100</max-dist>
|
||||
</cricket>
|
||||
|
||||
<cchord>
|
||||
<name>Cricket</name>
|
||||
<path>Aircraft/A320-family/Sounds/Cockpit/c-chord.wav</path>
|
||||
<mode>once</mode>
|
||||
<type>avionics</type>
|
||||
<condition>
|
||||
<property>/sim/sound/warnings/cchord</property>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/current-view/internal</property>
|
||||
<factor>0.2</factor>
|
||||
</volume>
|
||||
<reference-dist>10</reference-dist>
|
||||
<max-dist>100</max-dist>
|
||||
</cchord>
|
||||
|
||||
<stall-voice>
|
||||
<name>stall-voice</name>
|
||||
|
|
|
@ -159,11 +159,6 @@
|
|||
<tau>0.1</tau>
|
||||
</altimeter>
|
||||
|
||||
<marker-beacon>
|
||||
<name>marker-beacon</name>
|
||||
<number>0</number>
|
||||
</marker-beacon>
|
||||
|
||||
<heading-indicator>
|
||||
<name>heading-indicator</name>
|
||||
<number>0</number>
|
||||
|
@ -187,6 +182,11 @@
|
|||
<minimum-supply-volts>109.9</minimum-supply-volts>
|
||||
</marker-beacon>
|
||||
|
||||
<marker-beacon>
|
||||
<name>marker-beacon</name>
|
||||
<number>0</number>
|
||||
</marker-beacon>
|
||||
|
||||
<nav-radio> <!-- VOR unit -->
|
||||
<name>nav</name>
|
||||
<number>0</number>
|
||||
|
|
Loading…
Reference in a new issue