diff --git a/Aircraft/Instruments-3d/kfc200/fd-annun.xml b/Aircraft/Instruments-3d/kfc200/fd-annun.xml index ef4f6f50c..a4e3af6c4 100644 --- a/Aircraft/Instruments-3d/kfc200/fd-annun.xml +++ b/Aircraft/Instruments-3d/kfc200/fd-annun.xml @@ -24,7 +24,7 @@ Syd Adams <type>select</type> <object-name>FD-ON</object-name> <condition> - <property>/instrumentation/kfc200/fd_on</property> + <property>/instrumentation/kfc200/fd-on</property> </condition> </animation> diff --git a/Aircraft/Instruments-3d/kfc200/fd-control.xml b/Aircraft/Instruments-3d/kfc200/fd-control.xml index f7141fb1d..21d3bce3c 100644 --- a/Aircraft/Instruments-3d/kfc200/fd-control.xml +++ b/Aircraft/Instruments-3d/kfc200/fd-control.xml @@ -92,7 +92,7 @@ <repeatable>false</repeatable> <binding> <command>property-toggle</command> - <property>/instrumentation/kfc200/fd_on</property> + <property>/instrumentation/kfc200/fd-on</property> </binding> </action> </animation> diff --git a/Aircraft/Instruments-3d/kfc200/kfc-200.nas b/Aircraft/Instruments-3d/kfc200/kfc-200.nas index 09cda3f58..47d018e65 100644 --- a/Aircraft/Instruments-3d/kfc200/kfc-200.nas +++ b/Aircraft/Instruments-3d/kfc200/kfc-200.nas @@ -4,15 +4,15 @@ # hdg - Heading: v-bars command a turn to the heading bug # appr - Approach: bank and pitch commands capture and track LOC and GS # bc - Reverse Localizer: bank command to caputre and track a reverse LOC -# course. GS is locked out. +#course.GS is locked out. # arm - Standby mode to compute capture point for nav, appr, or bc. # cpld - Coupled: Active mode for nav, appr, or bc. # ga - Go Around: commands wings level and missed approach attitude. # alt - Altitude hold: commands pitch to hold altitude # vertical trim - pitch command to adjust altitude at 500 fpm while in alt hold -# or pitch attitude at rate of 1 deg/sec when not in alt hold +#or pitch attitude at rate of 1 deg/sec when not in alt hold # yd - Yaw Damper: system senses motion around ayw axis and moves rudder to -# oppose yaw. +# oppose yaw. fdprop = props.globals.getNode("/instrumentation/kfc200",1); fdmode = "off"; @@ -24,160 +24,160 @@ alt_offset = 0.0; V_pitch=0.0; V_roll=0.0; DH = 0; -NAVGS = props.globals.getNode("/instrumentation/nav/has-gs",1); -NAVGS_RANGE = props.globals.getNode("/instrumentation/nav/gs-distance",1); -NAVBC = props.globals.getNode("/instrumentation/nav/back-course-btn",1); -NAV_IN_RANGE = props.globals.getNode("/instrumentation/nav/in-range",1); -HDG_DEFLECTION = props.globals.getNode("/instrumentation/nav/heading-needle-deflection",1); -GS_DEFLECTION = props.globals.getNode("/instrumentation/nav/gs-needle-deflection",1); +NAVGS = props.globals.getNode("/instrumentation/nav/has-gs",1); +NAVGS_RANGE = props.globals.getNode("/instrumentation/nav/gs-distance",1); +NAVBC = props.globals.getNode("/instrumentation/nav/back-course-btn",1); +NAV_IN_RANGE = props.globals.getNode("/instrumentation/nav/in-range",1); +HDG_DEFLECTION = props.globals.getNode("/instrumentation/nav/heading-needle-deflection",1); +GS_DEFLECTION = props.globals.getNode("/instrumentation/nav/gs-needle-deflection",1); HDG = props.globals.getNode("/autopilot/locks/heading",1); ALT = props.globals.getNode("/autopilot/locks/altitude",1); SPD = props.globals.getNode("/autopilot/locks/speed",1); setlistener("/sim/signals/fdm-initialized", func { - fdprop.getNode("serviceable",1).setBoolValue(1); - fdprop.getNode("vbar-pitch",1).setValue(0.0); - fdprop.getNode("vbar-roll",1).setValue(0.0); - fdprop.getNode("fd-on",1).setBoolValue(0); - fdprop.getNode("fdmode",1).setValue("off"); - fdprop.getNode("fdmodeV",1).setValue("off"); - fdprop.getNode("alt-offset",1).setValue(0.0); - fdprop.getNode("alt-alert",1).setBoolValue(0); + fdprop.getNode("serviceable",1).setBoolValue(1); + fdprop.getNode("vbar-pitch",1).setValue(0.0); + fdprop.getNode("vbar-roll",1).setValue(0.0); + fdprop.getNode("fd-on",1).setBoolValue(0); + fdprop.getNode("fdmode",1).setValue("off"); + fdprop.getNode("fdmodeV",1).setValue("off"); + fdprop.getNode("alt-offset",1).setValue(0.0); + fdprop.getNode("alt-alert",1).setBoolValue(0); DH = props.globals.getNode("/autopilot/route-manager/min-lock-altitude-agl-ft").getValue(); - alt_select = 0; + alt_select = 0; print("KFC-200 ... OK"); }); setlistener("/instrumentation/kfc200/fd-on", func { - var fdON = cmdarg().getValue(); - if(!fdprop.getNode("serviceable").getBoolValue()){return;} + var fdON = cmdarg().getValue(); + if(!fdprop.getNode("serviceable").getBoolValue()){return;} clear_ap(); }); -setlistener("/autopilot/settings/target-altitude-ft",func { - if(!fdprop.getNode("serviceable").getBoolValue()){return;} - alt_select = cmdarg().getValue(); +setlistener("/autopilot/settings/target-altitude-ft",func{ + if(!fdprop.getNode("serviceable").getBoolValue()){return;} + alt_select = cmdarg().getValue(); }); -setlistener("/autopilot/route-manager/min-lock-altitude-agl-ft", func { - if(!fdprop.getNode("serviceable").getBoolValue()){return;} - DH = cmdarg().getValue(); +setlistener("/autopilot/route-manager/min-lock-altitude-agl-ft",func{ + if(!fdprop.getNode("serviceable").getBoolValue()){return;} + DH = cmdarg().getValue(); }); -setlistener("/instrumentation/kfc200/fdmode", func { - if(!fdprop.getNode("serviceable").getBoolValue()){return;} - fdmode = cmdarg().getValue(); - NAVBC.setBoolValue(0); +setlistener("/instrumentation/kfc200/fdmode",func{ + if(!fdprop.getNode("serviceable").getBoolValue()){return;} + fdmode = cmdarg().getValue(); + NAVBC.setBoolValue(0); if(fdmode == "off"){HDG.setValue("wing-leveler");return;} if(fdmode == "hdg"){ - HDG.setValue("dg-heading-hold"); - return;} + HDG.setValue("dg-heading-hold"); + return;} if(fdmode == "appr"){ - HDG.setValue("nav1-hold"); - if(NAVGS.getBoolValue()){ - fdprop.getNode("fdmodeV").setValue("gs-arm"); - } - return;} + HDG.setValue("nav1-hold"); + if(NAVGS.getBoolValue()){ + fdprop.getNode("fdmodeV").setValue("gs-arm"); + } + return;} if(fdmode == "nav-arm"){ - HDG.setValue("dg-heading-hold"); - return;} + HDG.setValue("dg-heading-hold"); + return;} if(fdmode == "nav-cpld"){ - HDG.setValue("nav1-hold"); - return;} + HDG.setValue("nav1-hold"); + return;} if(fdmode == "bc"){ - HDG.setValue("nav1-hold"); - NAVBC.setBoolValue(1); - return;} - }); + HDG.setValue("nav1-hold"); + NAVBC.setBoolValue(1); + return;} + }); setlistener("/instrumentation/kfc200/fdmodeV", func { - if(!fdprop.getNode("serviceable").getBoolValue()){return;} - altmode = cmdarg().getValue(); - if(altmode == "off"){ - setprop("/autopilot/settings/target-pitch-deg",getprop("/orientation/pitch-deg")); + if(!fdprop.getNode("serviceable").getBoolValue()){return;} + altmode = cmdarg().getValue(); + if(altmode == "off"){ + setprop("/autopilot/settings/target-pitch-deg",getprop("/orientation/pitch-deg")); ALT.setValue("pitch-hold"); - return;} + return;} if(altmode == "alt-arm"){ - ALT.setValue("pitch-hold"); - return;} + ALT.setValue("pitch-hold"); + return;} if(altmode == "alt"){ - ALT.setValue("altitude-hold"); - return;} + ALT.setValue("altitude-hold"); + return;} if(altmode == "gs-arm"){ - ALT.setValue("pitch-hold"); - return;} - if(altmode == "gs"){ - ALT.setValue("gs1-hold"); - return;} + ALT.setValue("pitch-hold"); + return;} + if(altmode == "gs"){ + ALT.setValue("gs1-hold"); + return;} }); clear_ap = func { - setprop("/autopilot/settings/target-pitch-deg",getprop("/orientation/pitch-deg")); - HDG.setValue("wing-leveler"); - ALT.setValue("pitch-hold"); - } + setprop("/autopilot/settings/target-pitch-deg",getprop("/orientation/pitch-deg")); + HDG.setValue("wing-leveler"); + ALT.setValue("pitch-hold"); + } update_nav = func { - if(fdprop.getNode("serviceable").getBoolValue()){ - var APmode = fdprop.getNode("fdmode").getValue(); - var VNAV = fdprop.getNode("fdmodeV").getValue(); + if(fdprop.getNode("serviceable").getBoolValue()){ + var APmode = fdprop.getNode("fdmode").getValue(); + var VNAV = fdprop.getNode("fdmodeV").getValue(); if(APmode == "nav-arm"){ - if(NAV_IN_RANGE.getBoolValue()){ - var offset = HDG_DEFLECTION.getValue(); - if(offset < 5 or offset > -5){ - fdprop.getChild("fdmode").setValue("nav-cpld"); - }else{ - fdprop.getChild("fdmode").setValue("nav-arm"); - } - } - } - if(VNAV == "gs-arm"){ - if(NAVGS_RANGE.getValue()< 30000){ - test = GS_DEFLECTION.getValue(); - if(test < 1 ){fdprop.getNode("fdmodeV").setValue("gs");} - } - } - - if(VNAV == "alt-arm"){ - var offset = fdprop.getNode("alt-offset").getValue(); - if(offset > -990 and offset < 990){ - fdprop.getNode("fdmodeV").setValue("alt");} - } + if(NAV_IN_RANGE.getBoolValue()){ + var offset = HDG_DEFLECTION.getValue(); + if(offset < 5 or offset > -5){ + fdprop.getChild("fdmode").setValue("nav-cpld"); + }else{ + fdprop.getChild("fdmode").setValue("nav-arm"); + } + } + } + if(VNAV == "gs-arm"){ + if(NAVGS_RANGE.getValue()< 30000){ + test = GS_DEFLECTION.getValue(); + if(test < 1 ){fdprop.getNode("fdmodeV").setValue("gs");} + } + } - if(VNAV == "alt"){ - offset = fdprop.getNode("alt-offset").getValue(); - if(offset < -990 and offset > 990){ - fdprop.getNode("fdmodeV").setValue("alt-arm");} - } - } - V_pitch=props.globals.getNode("autopilot/settings/target-pitch-deg").getValue(); - V_pitch-=props.globals.getNode("orientation/pitch-deg").getValue(); - if(V_pitch > 30){V_pitch = 30;} - if(V_pitch < -30){V_pitch = -30;} - fdprop.getNode("vbar-pitch",1).setValue(V_pitch); - V_roll=props.globals.getNode("autopilot/internal/target-roll-deg").getValue(); - if(V_roll == nil){V_roll = 0.0;} - V_roll -=props.globals.getNode("orientation/roll-deg").getValue(); - if(V_roll > 30){V_roll = 30;} - if(V_roll < -30){V_roll = -30;} - fdprop.getNode("vbar-roll",1).setValue(V_roll); + if(VNAV == "alt-arm"){ + var offset = fdprop.getNode("alt-offset").getValue(); + if(offset > -990 and offset < 990){ + fdprop.getNode("fdmodeV").setValue("alt");} + } + + if(VNAV == "alt"){ + offset = fdprop.getNode("alt-offset").getValue(); + if(offset < -990 and offset > 990){ + fdprop.getNode("fdmodeV").setValue("alt-arm");} + } + } + V_pitch=props.globals.getNode("autopilot/settings/target-pitch-deg").getValue(); + V_pitch-=props.globals.getNode("orientation/pitch-deg").getValue(); + if(V_pitch > 30){V_pitch = 30;} + if(V_pitch < -30){V_pitch = -30;} + fdprop.getNode("vbar-pitch",1).setValue(V_pitch); + V_roll=props.globals.getNode("autopilot/internal/target-roll-deg").getValue(); + if(V_roll == nil){V_roll = 0.0;} + V_roll -=props.globals.getNode("orientation/roll-deg").getValue(); + if(V_roll > 30){V_roll = 30;} + if(V_roll < -30){V_roll = -30;} + fdprop.getNode("vbar-roll",1).setValue(V_roll); } get_altoffset = func{ - current_alt = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft").getValue(); - var offset = (current_alt - alt_select); - var alert =0; - fdprop.getNode("alt-offset").setValue(offset); - if(offset > -1000 and offset < -300){alert = 1;} - if(offset < 1000 and offset > 300){alert = 1;} - fdprop.getNode("alt-alert").setBoolValue(alert); - if(getprop("/position/altitude-agl-ft") < DH){props.globals.getNode("/autopilot/locks/passive-mode").setBoolValue(1);} - } + current_alt = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft").getValue(); + var offset = (current_alt - alt_select); + var alert =0; + fdprop.getNode("alt-offset").setValue(offset); + if(offset > -1000 and offset < -300){alert = 1;} + if(offset < 1000 and offset > 300){alert = 1;} + fdprop.getNode("alt-alert").setBoolValue(alert); + if(getprop("/position/altitude-agl-ft") < DH){props.globals.getNode("/autopilot/locks/passive-mode").setBoolValue(1);} + } update = func { - get_altoffset(); + get_altoffset(); update_nav(); settimer(update, 0); } diff --git a/Aircraft/Instruments-3d/kfc200/ki256.xml b/Aircraft/Instruments-3d/kfc200/ki256.xml index 4e2fe58e0..6be8e91b1 100644 --- a/Aircraft/Instruments-3d/kfc200/ki256.xml +++ b/Aircraft/Instruments-3d/kfc200/ki256.xml @@ -71,7 +71,7 @@ Syd Adams <object-name>Lpivot</object-name> <object-name>Rpivot</object-name> <condition> - <property>instrumentation/kfc200/fd_on</property> + <property>instrumentation/kfc200/fd-on</property> </condition> </animation>