Hydraulics: correct PTU function, fire valves
This commit is contained in:
parent
ebe4d5aa3c
commit
5046369761
4 changed files with 161 additions and 77 deletions
Models/Instruments/Lower-ECAM
Nasal
Systems
|
@ -30,9 +30,6 @@ var leftdoor = 0;
|
||||||
var rightdoor = 0;
|
var rightdoor = 0;
|
||||||
var nosedoor = 0;
|
var nosedoor = 0;
|
||||||
var gearlvr = 0;
|
var gearlvr = 0;
|
||||||
var askidsw = 0;
|
|
||||||
var brakemode = 0;
|
|
||||||
var accum = 0;
|
|
||||||
var elapsedtime = 0;
|
var elapsedtime = 0;
|
||||||
var tr1_v = 0;
|
var tr1_v = 0;
|
||||||
var tr1_a = 0;
|
var tr1_a = 0;
|
||||||
|
@ -72,7 +69,7 @@ var aileron_ind_right = props.globals.getNode("/ECAM/Lower/aileron-ind-right", 1
|
||||||
var elevator_ind_left = props.globals.getNode("/ECAM/Lower/elevator-ind-left", 1);
|
var elevator_ind_left = props.globals.getNode("/ECAM/Lower/elevator-ind-left", 1);
|
||||||
var elevator_ind_right = props.globals.getNode("/ECAM/Lower/elevator-ind-right", 1);
|
var elevator_ind_right = props.globals.getNode("/ECAM/Lower/elevator-ind-right", 1);
|
||||||
var elevator_trim_deg = props.globals.getNode("/ECAM/Lower/elevator-trim-deg", 1);
|
var elevator_trim_deg = props.globals.getNode("/ECAM/Lower/elevator-trim-deg", 1);
|
||||||
var final_deg = props.globals.getNode("/fdm/jsbsim/hydraulics/rudder/final-deg", 1);
|
var final_deg = props.globals.getNode("/fdm/jsbsim/hydraulic/rudder/final-deg", 1);
|
||||||
var temperature_degc = props.globals.getNode("/environment/temperature-degc", 1);
|
var temperature_degc = props.globals.getNode("/environment/temperature-degc", 1);
|
||||||
var gw = props.globals.getNode("/FMGC/internal/gw", 1);
|
var gw = props.globals.getNode("/FMGC/internal/gw", 1);
|
||||||
var tank3_content_lbs = props.globals.getNode("/fdm/jsbsim/propulsion/tank[2]/contents-lbs", 1);
|
var tank3_content_lbs = props.globals.getNode("/fdm/jsbsim/propulsion/tank[2]/contents-lbs", 1);
|
||||||
|
@ -164,23 +161,37 @@ var tr2_fault = props.globals.getNode("/systems/failures/electrical/tr-2", 1);
|
||||||
var essTrVolt = props.globals.getNode("/systems/electrical/relay/dc-ess-feed-tr/output", 1);
|
var essTrVolt = props.globals.getNode("/systems/electrical/relay/dc-ess-feed-tr/output", 1);
|
||||||
var essTrAmp = props.globals.getNode("/systems/electrical/relay/dc-ess-feed-tr/output-amp", 1);
|
var essTrAmp = props.globals.getNode("/systems/electrical/relay/dc-ess-feed-tr/output-amp", 1);
|
||||||
|
|
||||||
|
# Hydraulic
|
||||||
|
var blue_psi = 0;
|
||||||
|
var green_psi = 0;
|
||||||
|
var yellow_psi = 0;
|
||||||
|
var y_resv_lo_air_press = props.globals.getNode("/systems/hydraulic/yellow-resv-lo-air-press", 1);
|
||||||
|
var b_resv_lo_air_press = props.globals.getNode("/systems/hydraulic/blue-resv-lo-air-press", 1);
|
||||||
|
var g_resv_lo_air_press = props.globals.getNode("/systems/hydraulic/green-resv-lo-air-press", 1);
|
||||||
|
var elec_pump_y_ovht = props.globals.getNode("/systems/hydraulic/elec-pump-yellow-ovht", 1);
|
||||||
|
var elec_pump_b_ovht = props.globals.getNode("/systems/hydraulic/elec-pump-blue-ovht", 1);
|
||||||
|
var rat_deployed = props.globals.getNode("/controls/hydraulic/rat-deployed", 1);
|
||||||
|
var y_resv_ovht = props.globals.getNode("/systems/hydraulic/yellow-resv-ovht", 1);
|
||||||
|
var b_resv_ovht = props.globals.getNode("/systems/hydraulic/blue-resv-ovht", 1);
|
||||||
|
var g_resv_ovht = props.globals.getNode("/systems/hydraulic/green-resv-ovht", 1);
|
||||||
|
var askidsw = 0;
|
||||||
|
var brakemode = 0;
|
||||||
|
var accum = 0;
|
||||||
|
|
||||||
var eng1_running = props.globals.getNode("/engines/engine[0]/running", 1);
|
var eng1_running = props.globals.getNode("/engines/engine[0]/running", 1);
|
||||||
var eng2_running = props.globals.getNode("/engines/engine[1]/running", 1);
|
var eng2_running = props.globals.getNode("/engines/engine[1]/running", 1);
|
||||||
var switch_cart = props.globals.getNode("/controls/electrical/ground-cart", 1);
|
var switch_cart = props.globals.getNode("/controls/electrical/ground-cart", 1);
|
||||||
var total_psi = props.globals.getNode("/systems/pneumatic/total-psi", 1);
|
var total_psi = props.globals.getNode("/systems/pneumatic/total-psi", 1);
|
||||||
var b_psi = props.globals.getNode("/systems/hydraulic/blue-psi", 1);
|
var spoiler_L1 = props.globals.getNode("/fdm/jsbsim/hydraulic/spoiler-l1/final-deg", 1);
|
||||||
var g_psi = props.globals.getNode("/systems/hydraulic/green-psi", 1);
|
var spoiler_L2 = props.globals.getNode("/fdm/jsbsim/hydraulic/spoiler-l2/final-deg", 1);
|
||||||
var y_psi = props.globals.getNode("/systems/hydraulic/yellow-psi", 1);
|
var spoiler_L3 = props.globals.getNode("/fdm/jsbsim/hydraulic/spoiler-l3/final-deg", 1);
|
||||||
var spoiler_L1 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-l1/final-deg", 1);
|
var spoiler_L4 = props.globals.getNode("/fdm/jsbsim/hydraulic/spoiler-l4/final-deg", 1);
|
||||||
var spoiler_L2 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-l2/final-deg", 1);
|
var spoiler_L5 = props.globals.getNode("/fdm/jsbsim/hydraulic/spoiler-l5/final-deg", 1);
|
||||||
var spoiler_L3 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-l3/final-deg", 1);
|
var spoiler_R1 = props.globals.getNode("/fdm/jsbsim/hydraulic/spoiler-r1/final-deg", 1);
|
||||||
var spoiler_L4 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-l4/final-deg", 1);
|
var spoiler_R2 = props.globals.getNode("/fdm/jsbsim/hydraulic/spoiler-r2/final-deg", 1);
|
||||||
var spoiler_L5 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-l5/final-deg", 1);
|
var spoiler_R3 = props.globals.getNode("/fdm/jsbsim/hydraulic/spoiler-r3/final-deg", 1);
|
||||||
var spoiler_R1 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-r1/final-deg", 1);
|
var spoiler_R4 = props.globals.getNode("/fdm/jsbsim/hydraulic/spoiler-r4/final-deg", 1);
|
||||||
var spoiler_R2 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-r2/final-deg", 1);
|
var spoiler_R5 = props.globals.getNode("/fdm/jsbsim/hydraulic/spoiler-r5/final-deg", 1);
|
||||||
var spoiler_R3 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-r3/final-deg", 1);
|
|
||||||
var spoiler_R4 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-r4/final-deg", 1);
|
|
||||||
var spoiler_R5 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-r5/final-deg", 1);
|
|
||||||
var spoiler_L1_fail = props.globals.getNode("/systems/failures/spoiler-l1", 1);
|
var spoiler_L1_fail = props.globals.getNode("/systems/failures/spoiler-l1", 1);
|
||||||
var spoiler_L2_fail = props.globals.getNode("/systems/failures/spoiler-l2", 1);
|
var spoiler_L2_fail = props.globals.getNode("/systems/failures/spoiler-l2", 1);
|
||||||
var spoiler_L3_fail = props.globals.getNode("/systems/failures/spoiler-l3", 1);
|
var spoiler_L3_fail = props.globals.getNode("/systems/failures/spoiler-l3", 1);
|
||||||
|
@ -217,25 +228,6 @@ var tank1pump1 = props.globals.getNode("controls/fuel/tank1pump1", 1);
|
||||||
var tank1pump2 = props.globals.getNode("controls/fuel/tank1pump2", 1);
|
var tank1pump2 = props.globals.getNode("controls/fuel/tank1pump2", 1);
|
||||||
var tank2pump1 = props.globals.getNode("controls/fuel/tank2pump1", 1);
|
var tank2pump1 = props.globals.getNode("controls/fuel/tank2pump1", 1);
|
||||||
var tank2pump2 = props.globals.getNode("controls/fuel/tank2pump2", 1);
|
var tank2pump2 = props.globals.getNode("controls/fuel/tank2pump2", 1);
|
||||||
var ptu = props.globals.getNode("/controls/hydraulic/ptu", 1);
|
|
||||||
var ptu_fault = props.globals.getNode("/systems/hydraulic/ptu-fault", 1);
|
|
||||||
var ptu_active = props.globals.getNode("/systems/hydraulic/ptu-active", 1);
|
|
||||||
var ptu_supplies = props.globals.getNode("/systems/hydraulic/ptu-supplies", 1);
|
|
||||||
var eng1_pump = props.globals.getNode("/controls/hydraulic/eng1-pump", 1);
|
|
||||||
var eng2_pump = props.globals.getNode("/controls/hydraulic/eng2-pump", 1);
|
|
||||||
var elec_pump_blue = props.globals.getNode("/controls/hydraulic/elec-pump-blue", 1);
|
|
||||||
var elec_pump_yellow = props.globals.getNode("/controls/hydraulic/elec-pump-yellow", 1);
|
|
||||||
var y_resv_lo_air_press = props.globals.getNode("/systems/hydraulic/yellow-resv-lo-air-press", 1);
|
|
||||||
var b_resv_lo_air_press = props.globals.getNode("/systems/hydraulic/blue-resv-lo-air-press", 1);
|
|
||||||
var g_resv_lo_air_press = props.globals.getNode("/systems/hydraulic/green-resv-lo-air-press", 1);
|
|
||||||
var elec_pump_y_ovht = props.globals.getNode("/systems/hydraulic/elec-pump-yellow-ovht", 1);
|
|
||||||
var elec_pump_b_ovht = props.globals.getNode("/systems/hydraulic/elec-pump-blue-ovht", 1);
|
|
||||||
var rat_deployed = props.globals.getNode("/controls/hydraulic/rat-deployed", 1);
|
|
||||||
var y_resv_ovht = props.globals.getNode("/systems/hydraulic/yellow-resv-ovht", 1);
|
|
||||||
var b_resv_ovht = props.globals.getNode("/systems/hydraulic/blue-resv-ovht", 1);
|
|
||||||
var g_resv_ovht = props.globals.getNode("/systems/hydraulic/green-resv-ovht", 1);
|
|
||||||
var y_fire_valve = props.globals.getNode("/systems/hydraulic/yellow-fire-valve", 1);
|
|
||||||
var g_fire_valve = props.globals.getNode("/systems/hydraulic/green-fire-valve", 1);
|
|
||||||
var autobreak_mode = props.globals.getNode("/controls/autobrake/mode", 1);
|
var autobreak_mode = props.globals.getNode("/controls/autobrake/mode", 1);
|
||||||
var gear1_pos = props.globals.getNode("gear/gear[0]/position-norm", 1);
|
var gear1_pos = props.globals.getNode("gear/gear[0]/position-norm", 1);
|
||||||
var gear2_pos = props.globals.getNode("gear/gear[1]/position-norm", 1);
|
var gear2_pos = props.globals.getNode("gear/gear[1]/position-norm", 1);
|
||||||
|
@ -244,9 +236,6 @@ var gear_door_L = props.globals.getNode("/systems/hydraulic/gear/door-left", 1);
|
||||||
var gear_door_R = props.globals.getNode("/systems/hydraulic/gear/door-right", 1);
|
var gear_door_R = props.globals.getNode("/systems/hydraulic/gear/door-right", 1);
|
||||||
var gear_door_N = props.globals.getNode("/systems/hydraulic/gear/door-nose", 1);
|
var gear_door_N = props.globals.getNode("/systems/hydraulic/gear/door-nose", 1);
|
||||||
var gear_down = props.globals.getNode("/controls/gear/gear-down", 1);
|
var gear_down = props.globals.getNode("/controls/gear/gear-down", 1);
|
||||||
var askid = props.globals.getNode("/systems/hydraulic/brakes/askidnwssw", 1);
|
|
||||||
var brk_mode = props.globals.getNode("/systems/hydraulic/brakes/mode", 1);
|
|
||||||
var accu_press = props.globals.getNode("/systems/hydraulic/brakes/accumulator-pressure-psi", 1);
|
|
||||||
var press_vs_norm = props.globals.getNode("/systems/pressurization/vs-norm", 1);
|
var press_vs_norm = props.globals.getNode("/systems/pressurization/vs-norm", 1);
|
||||||
var cabinalt = props.globals.getNode("/systems/pressurization/cabinalt-norm", 1);
|
var cabinalt = props.globals.getNode("/systems/pressurization/cabinalt-norm", 1);
|
||||||
var gear0_wow = props.globals.getNode("/gear/gear[0]/wow", 1);
|
var gear0_wow = props.globals.getNode("/gear/gear[0]/wow", 1);
|
||||||
|
@ -1847,9 +1836,9 @@ var canvas_lowerECAM_fctl = {
|
||||||
"spoiler5Lf","ailLscale","ailRscale","path4249","path4249-3","path4249-3-6-7","path4249-3-6-7-5","path4249-3-6"];
|
"spoiler5Lf","ailLscale","ailRscale","path4249","path4249-3","path4249-3-6-7","path4249-3-6-7-5","path4249-3-6"];
|
||||||
},
|
},
|
||||||
update: func() {
|
update: func() {
|
||||||
blue_psi = b_psi.getValue();
|
blue_psi = systems.HYD.Psi.blue.getValue();
|
||||||
green_psi = g_psi.getValue();
|
green_psi = systems.HYD.Psi.green.getValue();
|
||||||
yellow_psi = y_psi.getValue();
|
yellow_psi = systems.HYD.Psi.yellow.getValue();
|
||||||
|
|
||||||
# Pitch Trim
|
# Pitch Trim
|
||||||
me["PT"].setText(sprintf("%2.1f", math.round(elevator_trim_deg.getValue(), 0.1)));
|
me["PT"].setText(sprintf("%2.1f", math.round(elevator_trim_deg.getValue(), 0.1)));
|
||||||
|
@ -2442,9 +2431,9 @@ var canvas_lowerECAM_hyd = {
|
||||||
"LO-AIR-PRESS-Yellow","LO-AIR-PRESS-Blue","OVHT-Green","OVHT-Blue","OVHT-Yellow","Quantity-Indicator-Green","Quantity-Indicator-Blue","Quantity-Indicator-Yellow","Green-label","Blue-label","Yellow-label"];
|
"LO-AIR-PRESS-Yellow","LO-AIR-PRESS-Blue","OVHT-Green","OVHT-Blue","OVHT-Yellow","Quantity-Indicator-Green","Quantity-Indicator-Blue","Quantity-Indicator-Yellow","Green-label","Blue-label","Yellow-label"];
|
||||||
},
|
},
|
||||||
update: func() {
|
update: func() {
|
||||||
blue_psi = b_psi.getValue();
|
blue_psi = systems.HYD.Psi.blue.getValue();
|
||||||
green_psi = g_psi.getValue();
|
green_psi = systems.HYD.Psi.green.getValue();
|
||||||
yellow_psi = y_psi.getValue();
|
yellow_psi = systems.HYD.Psi.yellow.getValue();
|
||||||
|
|
||||||
me["Press-Green"].setText(sprintf("%s", math.round(green_psi, 50)));
|
me["Press-Green"].setText(sprintf("%s", math.round(green_psi, 50)));
|
||||||
me["Press-Blue"].setText(sprintf("%s", math.round(blue_psi, 50)));
|
me["Press-Blue"].setText(sprintf("%s", math.round(blue_psi, 50)));
|
||||||
|
@ -2491,12 +2480,12 @@ var canvas_lowerECAM_hyd = {
|
||||||
me["Press-Green"].setColor(0.7333,0.3803,0);
|
me["Press-Green"].setColor(0.7333,0.3803,0);
|
||||||
me["Green-label"].setColor(0.7333,0.3803,0);
|
me["Green-label"].setColor(0.7333,0.3803,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ptu.getValue() == 1 and ptu_fault.getValue() == 0) {
|
if (systems.HYD.Switch.ptu.getValue() and !systems.HYD.Fail.ptuFault.getValue()) {
|
||||||
me["PTU-connection"].setColor(0.0509,0.7529,0.2941);
|
me["PTU-connection"].setColor(0.0509,0.7529,0.2941);
|
||||||
|
|
||||||
if (ptu_active.getValue() == 1) {
|
if (systems.HYD.Ptu.active.getValue()) {
|
||||||
if (ptu_supplies.getValue() == "yellow") {
|
if (systems.HYD.Ptu.diff.getValue() < 0) {
|
||||||
me["PTU-Supply-Line"].show();
|
me["PTU-Supply-Line"].show();
|
||||||
me["PTU-supply-yellow"].show();
|
me["PTU-supply-yellow"].show();
|
||||||
me["PTU-supply-green"].hide();
|
me["PTU-supply-green"].hide();
|
||||||
|
@ -2535,7 +2524,7 @@ var canvas_lowerECAM_hyd = {
|
||||||
me["Pump-Yellow-label"].setColor(0.7333,0.3803,0);
|
me["Pump-Yellow-label"].setColor(0.7333,0.3803,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (eng1_pump.getValue() == 1) {
|
if (systems.HYD.Switch.greenEDP.getValue()) {
|
||||||
me["Pump-Green-off"].hide();
|
me["Pump-Green-off"].hide();
|
||||||
if (green_psi >= 1500) {
|
if (green_psi >= 1500) {
|
||||||
me["Pump-Green-on"].show();
|
me["Pump-Green-on"].show();
|
||||||
|
@ -2555,7 +2544,7 @@ var canvas_lowerECAM_hyd = {
|
||||||
me["Pump-Green"].setColor(0.7333,0.3803,0);
|
me["Pump-Green"].setColor(0.7333,0.3803,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (eng2_pump.getValue() == 1) {
|
if (systems.HYD.Switch.yellowEDP.getValue()) {
|
||||||
me["Pump-Yellow-off"].hide();
|
me["Pump-Yellow-off"].hide();
|
||||||
if (yellow_psi >= 1500) {
|
if (yellow_psi >= 1500) {
|
||||||
me["Pump-Yellow-on"].show();
|
me["Pump-Yellow-on"].show();
|
||||||
|
@ -2576,7 +2565,7 @@ var canvas_lowerECAM_hyd = {
|
||||||
me["Pump-Yellow"].setColor(0.7333,0.3803,0);
|
me["Pump-Yellow"].setColor(0.7333,0.3803,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (elec_pump_blue.getValue() == 1) {
|
if (systems.HYD.Switch.blueElec.getValue()) {
|
||||||
me["Pump-Blue-off"].hide();
|
me["Pump-Blue-off"].hide();
|
||||||
if (blue_psi >= 1500) {
|
if (blue_psi >= 1500) {
|
||||||
me["Pump-Blue-on"].show();
|
me["Pump-Blue-on"].show();
|
||||||
|
@ -2596,7 +2585,7 @@ var canvas_lowerECAM_hyd = {
|
||||||
me["Pump-Blue"].setColor(0.7333,0.3803,0);
|
me["Pump-Blue"].setColor(0.7333,0.3803,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (elec_pump_yellow.getValue() == 0) {
|
if (!systems.HYD.Switch.yellowElec.getValue()) {
|
||||||
me["ELEC-Yellow-on"].hide();
|
me["ELEC-Yellow-on"].hide();
|
||||||
me["ELEC-Yellow-off"].show();
|
me["ELEC-Yellow-off"].show();
|
||||||
} else {
|
} else {
|
||||||
|
@ -2639,7 +2628,7 @@ var canvas_lowerECAM_hyd = {
|
||||||
me["ELEC-OVHT-Blue"].hide();
|
me["ELEC-OVHT-Blue"].hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rat_deployed.getValue() == 1) {
|
if (systems.HYD.Rat.position.getValue() == 1) {
|
||||||
me["RAT-stowed"].hide();
|
me["RAT-stowed"].hide();
|
||||||
me["RAT-not-stowed"].show();
|
me["RAT-not-stowed"].show();
|
||||||
} else {
|
} else {
|
||||||
|
@ -2665,19 +2654,19 @@ var canvas_lowerECAM_hyd = {
|
||||||
me["OVHT-Blue"].hide();
|
me["OVHT-Blue"].hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ac1.getValue() > 110) {
|
if (systems.ELEC.Bus.ac1.getValue() > 110) {
|
||||||
me["ELEC-Blue-label"].setColor(0.8078,0.8039,0.8078);
|
me["ELEC-Blue-label"].setColor(0.8078,0.8039,0.8078);
|
||||||
} else {
|
} else {
|
||||||
me["ELEC-Blue-label"].setColor(0.7333,0.3803,0);
|
me["ELEC-Blue-label"].setColor(0.7333,0.3803,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ac2.getValue() > 110) {
|
if (systems.ELEC.Bus.ac2.getValue() > 110) {
|
||||||
me["ELEC-Yellow-label"].setColor(0.8078,0.8039,0.8078);
|
me["ELEC-Yellow-label"].setColor(0.8078,0.8039,0.8078);
|
||||||
} else {
|
} else {
|
||||||
me["ELEC-Yellow-label"].setColor(0.7333,0.3803,0);
|
me["ELEC-Yellow-label"].setColor(0.7333,0.3803,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (y_fire_valve.getValue() == 1) {
|
if (systems.HYD.Valve.yellowFire.getValue() != 0) {
|
||||||
me["Fire-Valve-Yellow"].setColor(0.7333,0.3803,0);
|
me["Fire-Valve-Yellow"].setColor(0.7333,0.3803,0);
|
||||||
me["Fire-Valve-Yellow"].setRotation(90 * D2R);
|
me["Fire-Valve-Yellow"].setRotation(90 * D2R);
|
||||||
} else {
|
} else {
|
||||||
|
@ -2685,7 +2674,7 @@ var canvas_lowerECAM_hyd = {
|
||||||
me["Fire-Valve-Yellow"].setRotation(0);
|
me["Fire-Valve-Yellow"].setRotation(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_fire_valve.getValue() == 1) {
|
if (systems.HYD.Valve.greenFire.getValue() != 0) {
|
||||||
me["Fire-Valve-Green"].setColor(0.7333,0.3803,0);
|
me["Fire-Valve-Green"].setColor(0.7333,0.3803,0);
|
||||||
me["Fire-Valve-Green"].setRotation(90 * D2R);
|
me["Fire-Valve-Green"].setRotation(90 * D2R);
|
||||||
} else {
|
} else {
|
||||||
|
@ -2711,9 +2700,9 @@ var canvas_lowerECAM_wheel = {
|
||||||
"braketemp2","braketemp3","braketemp4","leftuplock","noseuplock","rightuplock","Triangle-Left1","Triangle-Left2","Triangle-Nose1","Triangle-Nose2","Triangle-Right1","Triangle-Right2","BSCUrect1","BSCUrect2","BSCU1","BSCU2"];
|
"braketemp2","braketemp3","braketemp4","leftuplock","noseuplock","rightuplock","Triangle-Left1","Triangle-Left2","Triangle-Nose1","Triangle-Nose2","Triangle-Right1","Triangle-Right2","BSCUrect1","BSCUrect2","BSCU1","BSCU2"];
|
||||||
},
|
},
|
||||||
update: func() {
|
update: func() {
|
||||||
blue_psi = b_psi.getValue();
|
blue_psi = systems.HYD.Psi.blue.getValue();
|
||||||
green_psi = g_psi.getValue();
|
green_psi = systems.HYD.Psi.green.getValue();
|
||||||
yellow_psi = y_psi.getValue();
|
yellow_psi = systems.HYD.Psi.yellow.getValue();
|
||||||
autobrakemode = autobreak_mode.getValue();
|
autobrakemode = autobreak_mode.getValue();
|
||||||
nosegear = gear1_pos.getValue();
|
nosegear = gear1_pos.getValue();
|
||||||
leftgear = gear2_pos.getValue();
|
leftgear = gear2_pos.getValue();
|
||||||
|
@ -2722,9 +2711,9 @@ var canvas_lowerECAM_wheel = {
|
||||||
rightdoor = gear_door_R.getValue();
|
rightdoor = gear_door_R.getValue();
|
||||||
nosedoor = gear_door_N.getValue();
|
nosedoor = gear_door_N.getValue();
|
||||||
gearlvr = gear_down.getValue();
|
gearlvr = gear_down.getValue();
|
||||||
askidsw = askid.getValue();
|
askidsw = systems.HYD.Brakes.askidSw.getBoolValue();
|
||||||
brakemode = brk_mode.getValue();
|
brakemode = systems.HYD.Brakes.mode.getBoolValue();
|
||||||
accum = accu_press.getValue();
|
accum = systems.HYD.Brakes.accumPressPsi.getBoolValue();
|
||||||
|
|
||||||
# L/G CTL
|
# L/G CTL
|
||||||
if ((leftgear == 0 or nosegear == 0 or rightgear == 0 and gearlvr == 0) or (leftgear == 1 or nosegear == 1 or rightgear == 1 and gearlvr == 1)) {
|
if ((leftgear == 0 or nosegear == 0 or rightgear == 0 and gearlvr == 0) or (leftgear == 1 or nosegear == 1 or rightgear == 1 and gearlvr == 1)) {
|
||||||
|
|
|
@ -3,8 +3,24 @@
|
||||||
|
|
||||||
# Copyright (c) 2019 Jonathan Redpath
|
# Copyright (c) 2019 Jonathan Redpath
|
||||||
|
|
||||||
|
var accum = 0;
|
||||||
|
var parking = 0;
|
||||||
|
var askidnws_sw = 0;
|
||||||
|
var down = 0;
|
||||||
|
|
||||||
var HYD = {
|
var HYD = {
|
||||||
|
Brakes: {
|
||||||
|
accumPressPsi: props.globals.initNode("/systems/hydraulic/brakes/accumulator-pressure-psi", 0, "INT"),
|
||||||
|
accumPressPsi1: props.globals.initNode("/systems/hydraulic/brakes/accumulator-pressure-psi-1", 0, "INT"),
|
||||||
|
leftPressPsi: props.globals.initNode("/systems/hydraulic/brakes/pressure-left-psi", 0, "INT"),
|
||||||
|
rightPressPsi: props.globals.initNode("/systems/hydraulic/brakes/pressure-right-psi", 0, "INT"),
|
||||||
|
askidSw: props.globals.initNode("/systems/hydraulic/brakes/askidnwssw", 1, "BOOL"),
|
||||||
|
mode: props.globals.initNode("/systems/hydraulic/brakes/mode", 0, "INT"),
|
||||||
|
lbrake: props.globals.initNode("/systems/hydraulic/brakes/lbrake", 0, "INT"),
|
||||||
|
rbrake: props.globals.initNode("/systems/hydraulic/brakes/rbrake", 0, "INT"),
|
||||||
|
noserubber: props.globals.initNode("/systems/hydraulic/brakes/nose-rubber", 0, "INT"),
|
||||||
|
counter: props.globals.initNode("/systems/hydraulic/brakes/counter", 0, "INT"),
|
||||||
|
},
|
||||||
Fail: {
|
Fail: {
|
||||||
blueElec: props.globals.getNode("/systems/failures/hydraulic/blue-elec"),
|
blueElec: props.globals.getNode("/systems/failures/hydraulic/blue-elec"),
|
||||||
blueLeak: props.globals.getNode("/systems/failures/hydraulic/blue-leak"),
|
blueLeak: props.globals.getNode("/systems/failures/hydraulic/blue-leak"),
|
||||||
|
@ -16,12 +32,22 @@ var HYD = {
|
||||||
yellowLeak: props.globals.getNode("/systems/failures/hydraulic/yellow-leak"),
|
yellowLeak: props.globals.getNode("/systems/failures/hydraulic/yellow-leak"),
|
||||||
},
|
},
|
||||||
Psi: {
|
Psi: {
|
||||||
|
blue: props.globals.getNode("/systems/hydraulic/blue-psi"),
|
||||||
|
green: props.globals.getNode("/systems/hydraulic/green-psi"),
|
||||||
|
yellow: props.globals.getNode("/systems/hydraulic/yellow-psi"),
|
||||||
|
},
|
||||||
|
Ptu: {
|
||||||
|
active: props.globals.getNode("/systems/hydraulic/sources/ptu/ptu-active"),
|
||||||
|
diff: props.globals.getNode("/systems/hydraulic/yellow-psi-diff"),
|
||||||
},
|
},
|
||||||
Qty: {
|
Qty: {
|
||||||
blueInput: props.globals.initNode("/systems/hydraulic/blue-qty-input", 0, "INT"),
|
blueInput: props.globals.initNode("/systems/hydraulic/blue-qty-input", 0, "INT"),
|
||||||
greenInput: props.globals.initNode("/systems/hydraulic/green-qty-input", 0, "INT"),
|
greenInput: props.globals.initNode("/systems/hydraulic/green-qty-input", 0, "INT"),
|
||||||
yellowInput: props.globals.initNode("/systems/hydraulic/yellow-qty-input", 0, "INT"),
|
yellowInput: props.globals.initNode("/systems/hydraulic/yellow-qty-input", 0, "INT"),
|
||||||
},
|
},
|
||||||
|
Rat: {
|
||||||
|
position: props.globals.getNode("/systems/hydraulic/sources/rat/position"),
|
||||||
|
},
|
||||||
Switch: {
|
Switch: {
|
||||||
blueElec: props.globals.getNode("/controls/hydraulic/switches/blue-elec"),
|
blueElec: props.globals.getNode("/controls/hydraulic/switches/blue-elec"),
|
||||||
blueElecOvrd: props.globals.getNode("/controls/hydraulic/switches/blue-elec-ovrd"),
|
blueElecOvrd: props.globals.getNode("/controls/hydraulic/switches/blue-elec-ovrd"),
|
||||||
|
@ -31,6 +57,10 @@ var HYD = {
|
||||||
yellowEDP: props.globals.getNode("/controls/hydraulic/switches/yellow-edp"),
|
yellowEDP: props.globals.getNode("/controls/hydraulic/switches/yellow-edp"),
|
||||||
yellowElec: props.globals.getNode("/controls/hydraulic/switches/yellow-elec"),
|
yellowElec: props.globals.getNode("/controls/hydraulic/switches/yellow-elec"),
|
||||||
},
|
},
|
||||||
|
Valve: {
|
||||||
|
yellowFire: props.globals.getNode("/systems/hydraulics/sources/yellow-edp/fire-valve"),
|
||||||
|
greenFire: props.globals.getNode("/systems/hydraulics/sources/green-edp/fire-valve"),
|
||||||
|
},
|
||||||
init: func() {
|
init: func() {
|
||||||
me.resetFail();
|
me.resetFail();
|
||||||
me.Qty.blueInput.setValue(math.round((rand() * 4) + 8 , 0.1)); # Random between 8 and 12
|
me.Qty.blueInput.setValue(math.round((rand() * 4) + 8 , 0.1)); # Random between 8 and 12
|
||||||
|
@ -55,6 +85,24 @@ var HYD = {
|
||||||
me.Fail.yellowLeak.setBoolValue(0);
|
me.Fail.yellowLeak.setBoolValue(0);
|
||||||
},
|
},
|
||||||
loop: func() {
|
loop: func() {
|
||||||
|
accum = me.Brakes.accumPressPsi.getValue();
|
||||||
|
parking = getprop("/controls/gear/brake-parking");
|
||||||
|
askidnws_sw = me.Brakes.askidSw.getBoolValue();
|
||||||
|
|
||||||
|
if (!parking and askidnws_sw and me.Psi.green.getValue() > 2500) {
|
||||||
|
# set mode to on
|
||||||
|
me.Brakes.mode.setValue(1);
|
||||||
|
} else if ((!parking and askidnws_sw and me.Psi.yellow.getValue() > 2500) or (!parking and askidnws_sw and accum > 0)) {
|
||||||
|
# set mode to altn
|
||||||
|
me.Brakes.mode.setValue(2);
|
||||||
|
} else {
|
||||||
|
# set mode to off
|
||||||
|
me.Brakes.mode.setValue(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (me.Brakes.mode.getValue() == 2 and me.Psi.yellow.getValue() > 2500 and accum < 700) {
|
||||||
|
me.Brakes.accumPressPsi.setValue(me.Brakes.accumPressPsi.getValue() + 50);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1096,8 +1096,10 @@
|
||||||
<test logic="AND" value="1">
|
<test logic="AND" value="1">
|
||||||
/systems/electrical/bus/ac-1 lt 110
|
/systems/electrical/bus/ac-1 lt 110
|
||||||
/systems/electrical/bus/ac-2 lt 110
|
/systems/electrical/bus/ac-2 lt 110
|
||||||
|
/systems/acconfig/autoconfig-running ne 1
|
||||||
</test>
|
</test>
|
||||||
<test logic="AND" value="1">
|
<test logic="AND" value="1">
|
||||||
|
/systems/acconfig/autoconfig-running ne 1
|
||||||
/systems/electrical/relay/ext-epc/contact-pos eq 0
|
/systems/electrical/relay/ext-epc/contact-pos eq 0
|
||||||
<test logic="OR">
|
<test logic="OR">
|
||||||
/controls/electrical/switches/gen-1 eq 0
|
/controls/electrical/switches/gen-1 eq 0
|
||||||
|
|
|
@ -101,13 +101,20 @@
|
||||||
|
|
||||||
<fcs_function name="/systems/hydraulic/sources/rat/source-psi">
|
<fcs_function name="/systems/hydraulic/sources/rat/source-psi">
|
||||||
<function>
|
<function>
|
||||||
<table>
|
<ifthen>
|
||||||
<independentVar lookup="row">/instrumentation/airspeed-indicator/indicated-speed-kt</independentVar>
|
<eq>
|
||||||
<tableData>
|
<property>/systems/hydraulic/sources/rat/position</property>
|
||||||
99 0
|
<value>1</value>
|
||||||
100 2500
|
</eq>
|
||||||
</tableData>
|
<table>
|
||||||
</table>
|
<independentVar lookup="row">/instrumentation/airspeed-indicator/indicated-speed-kt</independentVar>
|
||||||
|
<tableData>
|
||||||
|
99 0
|
||||||
|
100 2500
|
||||||
|
</tableData>
|
||||||
|
</table>
|
||||||
|
<value>0</value>
|
||||||
|
</ifthen>
|
||||||
</function>
|
</function>
|
||||||
</fcs_function>
|
</fcs_function>
|
||||||
|
|
||||||
|
@ -207,10 +214,16 @@
|
||||||
</function>
|
</function>
|
||||||
</fcs_function>
|
</fcs_function>
|
||||||
|
|
||||||
|
<actuator name="/systems/hydraulic/sources/green-edp/fire-valve">
|
||||||
|
<input>/controls/engines/engine[0]/fire-btn</input>
|
||||||
|
<rate_limit>0.25</rate_limit> <!-- 4 seconds -->
|
||||||
|
</actuator>
|
||||||
|
|
||||||
<switch name="/systems/hydraulic/sources/green-edp/output-psi">
|
<switch name="/systems/hydraulic/sources/green-edp/output-psi">
|
||||||
<default value="0"/>
|
<default value="0"/>
|
||||||
<test value="/systems/hydraulic/sources/green-edp/source-psi">
|
<test value="/systems/hydraulic/sources/green-edp/source-psi">
|
||||||
/controls/hydraulic/switches/green-edp eq 1
|
/controls/hydraulic/switches/green-edp eq 1
|
||||||
|
/systems/hydraulic/sources/green-edp/fire-valve lt 0.10
|
||||||
</test>
|
</test>
|
||||||
</switch>
|
</switch>
|
||||||
|
|
||||||
|
@ -272,10 +285,16 @@
|
||||||
</function>
|
</function>
|
||||||
</fcs_function>
|
</fcs_function>
|
||||||
|
|
||||||
|
<actuator name="/systems/hydraulic/sources/yellow-edp/fire-valve">
|
||||||
|
<input>/controls/engines/engine[1]/fire-btn</input>
|
||||||
|
<rate_limit>0.25</rate_limit> <!-- 4 seconds -->
|
||||||
|
</actuator>
|
||||||
|
|
||||||
<switch name="/systems/hydraulic/sources/yellow-edp/output-psi">
|
<switch name="/systems/hydraulic/sources/yellow-edp/output-psi">
|
||||||
<default value="0"/>
|
<default value="0"/>
|
||||||
<test value="/systems/hydraulic/sources/yellow-edp/source-psi">
|
<test value="/systems/hydraulic/sources/yellow-edp/source-psi">
|
||||||
/controls/hydraulic/switches/yellow-edp eq 1
|
/controls/hydraulic/switches/yellow-edp eq 1
|
||||||
|
/systems/hydraulic/sources/yellow-edp/fire-valve lt 0.10
|
||||||
</test>
|
</test>
|
||||||
</switch>
|
</switch>
|
||||||
|
|
||||||
|
@ -338,6 +357,11 @@
|
||||||
<rate_limit sense="decr">/systems/hydraulic/sys-decr-rate</rate_limit>
|
<rate_limit sense="decr">/systems/hydraulic/sys-decr-rate</rate_limit>
|
||||||
</actuator>
|
</actuator>
|
||||||
|
|
||||||
|
<pure_gain name="/systems/hydraulic/green-psi-ptu">
|
||||||
|
<input>/systems/hydraulic/green-psi</input>
|
||||||
|
<gain>0.9</gain>
|
||||||
|
</pure_gain>
|
||||||
|
|
||||||
<!-- Yellow PSI -->
|
<!-- Yellow PSI -->
|
||||||
<fcs_function name="/systems/hydraulic/yellow-psi-cmd-pump">
|
<fcs_function name="/systems/hydraulic/yellow-psi-cmd-pump">
|
||||||
<function>
|
<function>
|
||||||
|
@ -377,6 +401,11 @@
|
||||||
<rate_limit sense="decr">/systems/hydraulic/sys-decr-rate</rate_limit>
|
<rate_limit sense="decr">/systems/hydraulic/sys-decr-rate</rate_limit>
|
||||||
</actuator>
|
</actuator>
|
||||||
|
|
||||||
|
<pure_gain name="/systems/hydraulic/yellow-psi-ptu">
|
||||||
|
<input>/systems/hydraulic/yellow-psi</input>
|
||||||
|
<gain>0.9</gain>
|
||||||
|
</pure_gain>
|
||||||
|
|
||||||
<!-- PTU -->
|
<!-- PTU -->
|
||||||
<fcs_function name="/systems/hydraulic/yellow-psi-diff">
|
<fcs_function name="/systems/hydraulic/yellow-psi-diff">
|
||||||
<function>
|
<function>
|
||||||
|
@ -388,30 +417,46 @@
|
||||||
</fcs_function>
|
</fcs_function>
|
||||||
|
|
||||||
<switch name="/systems/hydraulic/sources/ptu/ptu-active">
|
<switch name="/systems/hydraulic/sources/ptu/ptu-active">
|
||||||
<default value="0"/>
|
<test logic="AND" value="0">
|
||||||
<test logic="OR" value="1">
|
/systems/hydraulic/yellow-psi-diff gt -250
|
||||||
/systems/hydraulic/yellow-psi-diff gt 500
|
/systems/hydraulic/yellow-psi-diff lt 250
|
||||||
/systems/hydraulic/yellow-psi-diff lt -500
|
/systems/hydraulic/sources/ptu/ptu-active eq 1
|
||||||
|
</test>
|
||||||
|
<test logic="AND" value="1">
|
||||||
|
<test logic="OR">
|
||||||
|
/systems/hydraulic/yellow-psi-diff ge 250
|
||||||
|
/systems/hydraulic/yellow-psi-diff le -250
|
||||||
|
</test>
|
||||||
|
/systems/hydraulic/sources/ptu/ptu-active eq 1
|
||||||
|
</test>
|
||||||
|
<test logic="AND" value="1">
|
||||||
|
<test logic="OR">
|
||||||
|
/systems/hydraulic/yellow-psi-diff gt 500
|
||||||
|
/systems/hydraulic/yellow-psi-diff lt -500
|
||||||
|
</test>
|
||||||
|
/systems/hydraulic/sources/ptu/ptu-active eq 0
|
||||||
</test>
|
</test>
|
||||||
</switch>
|
</switch>
|
||||||
|
|
||||||
<switch name="/systems/hydraulic/sources/ptu/green-yellow">
|
<switch name="/systems/hydraulic/sources/ptu/green-yellow">
|
||||||
<default value="0"/>
|
<default value="0"/>
|
||||||
<test logic="AND" value="/systems/hydraulic/green-psi">
|
<test logic="AND" value="/systems/hydraulic/green-psi-ptu">
|
||||||
/controls/hydraulic/switches/ptu eq 1
|
/controls/hydraulic/switches/ptu eq 1
|
||||||
/systems/hydraulic/sources/ptu/ptu-active eq 1
|
/systems/hydraulic/sources/ptu/ptu-active eq 1
|
||||||
/systems/electrical/bus/dc-2 ge 25
|
/systems/electrical/bus/dc-2 ge 25
|
||||||
/systems/failures/hydraulic/ptu ne 1
|
/systems/failures/hydraulic/ptu ne 1
|
||||||
|
/systems/hydraulic/sources/yellow-edp/fire-valve lt 0.10
|
||||||
</test>
|
</test>
|
||||||
</switch>
|
</switch>
|
||||||
|
|
||||||
<switch name="/systems/hydraulic/sources/ptu/yellow-green">
|
<switch name="/systems/hydraulic/sources/ptu/yellow-green">
|
||||||
<default value="0"/>
|
<default value="0"/>
|
||||||
<test logic="AND" value="/systems/hydraulic/yellow-psi">
|
<test logic="AND" value="/systems/hydraulic/yellow-psi-ptu">
|
||||||
/controls/hydraulic/switches/ptu eq 1
|
/controls/hydraulic/switches/ptu eq 1
|
||||||
/systems/hydraulic/sources/ptu/ptu-active eq 1
|
/systems/hydraulic/sources/ptu/ptu-active eq 1
|
||||||
/systems/electrical/bus/dc-2 ge 25
|
/systems/electrical/bus/dc-2 ge 25
|
||||||
/systems/failures/hydraulic/ptu ne 1
|
/systems/failures/hydraulic/ptu ne 1
|
||||||
|
/systems/hydraulic/sources/green-edp/fire-valve lt 0.10
|
||||||
</test>
|
</test>
|
||||||
</switch>
|
</switch>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue