diff --git a/Aircraft/Generic/DualControl/AUTHORS b/Aircraft/Generic/DualControl/AUTHORS new file mode 100644 index 000000000..869a954d6 --- /dev/null +++ b/Aircraft/Generic/DualControl/AUTHORS @@ -0,0 +1,22 @@ +Anders Gidenstam (anders(at)gidenstam.org) + - Dual control Nasal modules + - Configuration of dual-control 3d instruments. + +DualControl borrows content from the following authors' contributions +to FlightGear: + +Syd Adams - from Aircraft/Instruments-3d/ + - KY-196 Comm Radio. + - VHF 22 Comm Radio. + - VIR 32 Nav Radio. + - KI-206 VOR Gauge. + - KR-97 ADF Radio. + - KI-227 ADF Gauge. + +Torsten Dreyer - from Aircraft/SenceaII/Instruments-3d/ + - KX-165 Nav Comm Radio. + - KR-87 ADF Radio. + +Ron Jensen - from Aircraft/Instruments-3d + - KAP140 Autopilot 3d. + diff --git a/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl-62.png b/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl-62.png new file mode 100644 index 000000000..79bd04060 Binary files /dev/null and b/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl-62.png differ diff --git a/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl62-adf1.xml b/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl62-adf1.xml new file mode 100644 index 000000000..384244a6e --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl62-adf1.xml @@ -0,0 +1,380 @@ + + + + + + ctl62.ac + + + select + freq.002 + freq.003 + freq.dec + freq.004 + freq.005 + + + systems/electrical/outputs/adf + 1 + + + + + + select + stby.002 + stby.003 + stby.dec + stby.004 + stby.005 + + + systems/electrical/outputs/adf + 1 + + + + + + select + freq.001 + + + + systems/electrical/outputs/adf + 1 + + + instrumentation/adf/frequencies/selected-khz + 999.5 + + + + + + + select + stby.001 + + + + systems/electrical/outputs/adf + 1 + + + instrumentation/adf/frequencies/standby-khz + 999.5 + + + + + + + select + mem.annun + + + systems/electrical/outputs/adf + 1 + + + + + + rotate + CTL-62.pwr + instrumentation/adf/serviceable + + 00 + 1.030 + +
+ 0.0 + -0.014 + -0.018 +
+ + -1 + 0 + 0 + +
+ + + + + textranslate + freq.001 + instrumentation/adf/frequencies/selected-khz + 0.0001 + 1000 + 0.05 + + 0 + 1 + 0 + + + + + textranslate + freq.002 + instrumentation/adf/frequencies/selected-khz + 0.001 + 100 + 0.05 + + 0 + 1 + 0 + + + + + textranslate + freq.003 + instrumentation/adf/frequencies/selected-khz + 0.01 + 10 + 0.05 + + 0 + 1 + 0 + + + + + textranslate + freq.004 + instrumentation/adf/frequencies/selected-khz + 0.1 + 1 + 0.05 + + 0 + 1 + 0 + + + + + textranslate + freq.005 + instrumentation/adf/frequencies/selected-khz + 1.0 + 0.1 + 0.05 + + 0 + 1 + 0 + + + + + + + textranslate + stby.001 + instrumentation/adf/frequencies/standby-khz + 0.0001 + 1000 + 0.05 + + 0 + 1 + 0 + + + + + textranslate + stby.002 + instrumentation/adf/frequencies/standby-khz + 0.001 + 100 + 0.05 + + 0 + 1 + 0 + + + + + textranslate + stby.003 + instrumentation/adf/frequencies/standby-khz + 0.01 + 10 + 0.05 + + 0 + 1 + 0 + + + + + textranslate + stby.004 + instrumentation/adf/frequencies/standby-khz + 0.1 + 1 + 0.05 + + 0 + 1 + 0 + + + + + textranslate + stby.005 + instrumentation/adf/frequencies/standby-khz + 1.0 + 0.1 + 0.05 + + 0 + 1 + 0 + + + + + + + pick + CTL-62.xfr + + + false + + nasal + + + + + + + pick + pwr.off + + + false + + property-assign + instrumentation/adf/serviceable + false + + + + + + pick + pwr.on + + + false + + property-assign + instrumentation/adf/serviceable + true + + + + + + pick + freq.knob.small + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + pick + freq.knob.large + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + +
diff --git a/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl62.ac b/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl62.ac new file mode 100644 index 000000000..f3d3c7a5b --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl62.ac @@ -0,0 +1,2449 @@ +AC3Db +MATERIAL "DefaultWhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0 +MATERIAL "DefaultWhite.001" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0 +MATERIAL "dimlit" rgb 1 1 1 amb 1 1 1 emis 0.5 0.5 0.5 spec 0.5 0.5 0.5 shi 64 trans 0 +MATERIAL "lit" rgb 1 1 1 amb 1 1 1 emis 1 1 1 spec 0.5 0.5 0.5 shi 64 trans 0 +OBJECT world +kids 29 +OBJECT poly +name "CTL-62" +data 4 +Mesh +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 8 +0.00288 0.033556 0.030053 +0.002878 -0.033556 0.030053 +0.002878 -0.033556 -0.030053 +0.00288 0.033556 -0.030053 +1e-06 0.033557 0.030053 +-1e-06 -0.033557 0.030053 +-1e-06 -0.033557 -0.030053 +1e-06 0.033557 -0.030054 +numsurf 7 +SURF 0x00 +mat 1 +refs 3 +2 0.0318928062916 0.52865421772 +6 0.0318928062916 0.471345812082 +7 0.0892012119293 0.471345812082 +SURF 0x00 +mat 1 +refs 3 +1 0.0318928062916 0.52865421772 +4 0.0318928062916 0.471345812082 +5 0.0892012119293 0.471345812082 +SURF 0x00 +mat 1 +refs 4 +4 0.0318928062916 0.52865421772 +0 0.0318928062916 0.471345812082 +3 0.0892012119293 0.471345812082 +7 0.0892012119293 0.52865421772 +SURF 0x00 +mat 1 +refs 4 +6 0.0318928062916 0.52865421772 +2 0.0318928062916 0.471345812082 +1 0.0892012119293 0.471345812082 +5 0.0892012119293 0.52865421772 +SURF 0x00 +mat 1 +refs 3 +1 0.0318928062916 0.52865421772 +0 0.0318928062916 0.471345812082 +4 0.0892012119293 0.471345812082 +SURF 0x00 +mat 1 +refs 3 +3 0.0318928062916 0.52865421772 +2 0.0318928062916 0.471345812082 +7 0.0892012119293 0.471345812082 +SURF 0x00 +mat 1 +refs 4 +0 0.00467306375504 0.99786221981 +1 0.00467306375504 0.10612988472 +2 0.803326964378 0.106129825115 +3 0.803327083588 0.99786221981 +kids 0 +OBJECT poly +name "CTL-62.mem" +data 8 +Mesh.001 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003175 0.002595 -0.027258 +0.003175 0.002595 -0.017239 +0.003175 0.012924 -0.027258 +0.003175 0.012924 -0.017239 +numsurf 1 +SURF 0x00 +mat 2 +refs 4 +0 0.765544474125 0.593913197517 +2 0.765544474125 0.72511190176 +3 0.638291478157 0.725111961365 +1 0.638291418552 0.593913197517 +kids 0 +OBJECT poly +name "CTL-62.pwr" +data 8 +Mesh.002 +texture "ctl-62.png" +texrep 1 1 +crease 40.000000 +numvert 61 +0.011466 -0.015393 0.01504 +0.011476 -0.015129 0.01383 +0.011475 -0.015347 0.012612 +0.011464 -0.017031 0.010863 +0.011471 -0.019458 0.010815 +0.011463 -0.0205 0.011484 +0.011464 -0.021208 0.012499 +0.011474 -0.021473 0.013707 +0.011475 -0.021255 0.014926 +0.011476 -0.020587 0.015968 +0.011467 -0.018363 0.016942 +0.011479 -0.017144 0.016723 +0.011467 -0.016101 0.016056 +0.010939 -0.0145 0.017787 +0.010936 -0.016318 0.018952 +0.010939 -0.018442 0.019331 +0.010934 -0.020548 0.018869 +0.010936 -0.022319 0.017636 +0.010934 -0.023483 0.01582 +0.010932 -0.023861 0.013696 +0.010934 -0.0234 0.011587 +0.010928 -0.022167 0.009817 +0.010933 -0.02035 0.008654 +0.010928 -0.018226 0.008274 +0.010934 -0.016119 0.008735 +0.010932 -0.014348 0.009969 +0.010934 -0.013185 0.011786 +0.010936 -0.012805 0.01391 +0.010934 -0.013267 0.016017 +0.003255 -0.0145 0.017787 +0.003253 -0.016317 0.018951 +0.003255 -0.018441 0.019331 +0.003252 -0.020549 0.018868 +0.003253 -0.022319 0.017635 +0.003252 -0.023483 0.015818 +0.003251 -0.023862 0.013695 +0.003252 -0.023401 0.011588 +0.003249 -0.022167 0.009817 +0.003251 -0.020351 0.008653 +0.003249 -0.018226 0.008273 +0.003252 -0.016119 0.008735 +0.003251 -0.014349 0.009969 +0.003252 -0.013185 0.011786 +0.003253 -0.012805 0.013909 +0.003252 -0.013267 0.016017 +0.002948 -0.013119 0.019223 +0.002944 -0.011442 0.016814 +0.002944 -0.01482 0.020668 +0.002949 -0.019252 0.021461 +0.002944 -0.021347 0.020694 +0.002945 -0.023755 0.019016 +0.002944 -0.025338 0.016545 +0.002942 -0.025854 0.013656 +0.002944 -0.025225 0.01079 +0.002939 -0.023548 0.008381 +0.002943 -0.021077 0.006799 +0.002939 -0.018187 0.006282 +0.002944 -0.01532 0.00691 +0.002942 -0.012913 0.008588 +0.002944 -0.01133 0.011059 +0.002945 -0.010813 0.013948 +numsurf 47 +SURF 0x10 +mat 1 +refs 4 +0 0.242616027594 0.34228309989 +1 0.253560334444 0.330271661282 +27 0.27686715126 0.344839572906 +28 0.258591175079 0.36488327384 +SURF 0x10 +mat 1 +refs 4 +26 0.286074966192 0.31933516264 +27 0.27686715126 0.344839572906 +1 0.253560334444 0.330271661282 +2 0.259069859982 0.314993470907 +SURF 0x10 +mat 1 +refs 4 +25 0.284832298756 0.292247921228 +26 0.286074966192 0.31933516264 +2 0.259069859982 0.314993470907 +3 0.258331537247 0.298769056797 +SURF 0x10 +mat 1 +refs 3 +24 0.273313134909 0.267678141594 +25 0.284832298756 0.292247921228 +3 0.258331537247 0.298769056797 +SURF 0x10 +mat 1 +refs 3 +23 0.253274142742 0.249411016703 +24 0.273313134909 0.267678141594 +3 0.251419782639 0.284074395895 +SURF 0x10 +mat 1 +refs 4 +22 0.227752551436 0.240196049213 +23 0.253274142742 0.249411016703 +3 0.239418447018 0.27314016223 +4 0.224144220352 0.267609983683 +SURF 0x10 +mat 1 +refs 4 +21 0.200660303235 0.241442531347 +22 0.227752551436 0.240196049213 +4 0.224144220352 0.267609983683 +5 0.207917496562 0.26836925745 +SURF 0x10 +mat 1 +refs 4 +20 0.176110818982 0.252956539392 +21 0.200660303235 0.241442531347 +5 0.207917496562 0.26836925745 +6 0.193216666579 0.275259315968 +SURF 0x10 +mat 1 +refs 4 +19 0.157832920551 0.273013472557 +20 0.176110818982 0.252956539392 +6 0.193216666579 0.275259315968 +7 0.182275414467 0.287250161171 +SURF 0x10 +mat 1 +refs 4 +18 0.148611694574 0.298515945673 +19 0.157832920551 0.273013472557 +7 0.182275414467 0.287250161171 +8 0.17675408721 0.302526503801 +SURF 0x10 +mat 1 +refs 4 +17 0.149867773056 0.325605154037 +18 0.148611694574 0.298515945673 +8 0.17675408721 0.302526503801 +9 0.17750428617 0.318752765656 +SURF 0x10 +mat 1 +refs 4 +16 0.161388874054 0.350161790848 +17 0.149867773056 0.325605154037 +9 0.17750428617 0.318752765656 +10 0.184401065111 0.333466231823 +SURF 0x10 +mat 1 +refs 3 +15 0.181427836418 0.368428856134 +16 0.161388874054 0.350161790848 +10 0.184401065111 0.333466231823 +SURF 0x10 +mat 1 +refs 4 +14 0.206934183836 0.377653956413 +15 0.181427836418 0.368428856134 +10 0.196400627494 0.344412237406 +11 0.211677893996 0.349921613932 +SURF 0x10 +mat 1 +refs 4 +13 0.234041765332 0.37639734149 +14 0.206934183836 0.377653956413 +11 0.211677893996 0.349921613932 +12 0.227901563048 0.349183142185 +SURF 0x10 +mat 1 +refs 4 +12 0.227901563048 0.349183142185 +0 0.242616027594 0.34228309989 +28 0.258591175079 0.36488327384 +13 0.234041765332 0.37639734149 +SURF 0x10 +mat 1 +refs 4 +28 0.313261419535 0.912568569183 +44 0.313261419535 0.819853067398 +29 0.40597692132 0.819853067398 +13 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +30 0.313261419535 0.912568569183 +14 0.313261419535 0.819853067398 +13 0.40597692132 0.819853067398 +29 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +31 0.313261419535 0.912568569183 +15 0.313261419535 0.819853067398 +14 0.40597692132 0.819853067398 +30 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +32 0.313261419535 0.912568569183 +16 0.313261419535 0.819853067398 +15 0.40597692132 0.819853067398 +31 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +33 0.313261419535 0.912568569183 +17 0.313261419535 0.819853067398 +16 0.40597692132 0.819853067398 +32 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +34 0.313261419535 0.912568569183 +18 0.313261419535 0.819853067398 +17 0.40597692132 0.819853067398 +33 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +35 0.313261419535 0.912568569183 +19 0.313261419535 0.819853067398 +18 0.40597692132 0.819853067398 +34 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +36 0.313261419535 0.912568569183 +20 0.313261419535 0.819853067398 +19 0.40597692132 0.819853067398 +35 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +37 0.313261419535 0.912568569183 +21 0.313261419535 0.819853067398 +20 0.40597692132 0.819853067398 +36 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +38 0.313261419535 0.912568569183 +22 0.313261419535 0.819853067398 +21 0.40597692132 0.819853067398 +37 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +39 0.313261419535 0.912568569183 +23 0.313261419535 0.819853067398 +22 0.40597692132 0.819853067398 +38 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +40 0.313261419535 0.912568569183 +24 0.313261419535 0.819853067398 +23 0.40597692132 0.819853067398 +39 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +41 0.313261419535 0.912568569183 +25 0.313261419535 0.819853067398 +24 0.40597692132 0.819853067398 +40 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +42 0.313261419535 0.912568569183 +26 0.313261419535 0.819853067398 +25 0.40597692132 0.819853067398 +41 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +43 0.313261419535 0.912568569183 +27 0.313261419535 0.819853067398 +26 0.40597692132 0.819853067398 +42 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +44 0.313261419535 0.912568569183 +28 0.313261419535 0.819853067398 +27 0.40597692132 0.819853067398 +43 0.40597692132 0.912568569183 +SURF 0x10 +mat 1 +refs 4 +29 0.82833224535 0.541667699814 +44 0.82833224535 0.498332291842 +46 0.871667683125 0.498332291842 +45 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +30 0.82833224535 0.541667699814 +29 0.82833224535 0.498332291842 +45 0.871667683125 0.498332291842 +47 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +32 0.82833224535 0.541667699814 +31 0.82833224535 0.498332291842 +48 0.871667683125 0.498332291842 +49 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +33 0.82833224535 0.541667699814 +32 0.82833224535 0.498332291842 +49 0.871667683125 0.498332291842 +50 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +34 0.82833224535 0.541667699814 +33 0.82833224535 0.498332291842 +50 0.871667683125 0.498332291842 +51 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +35 0.82833224535 0.541667699814 +34 0.82833224535 0.498332291842 +51 0.871667683125 0.498332291842 +52 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +36 0.82833224535 0.541667699814 +35 0.82833224535 0.498332291842 +52 0.871667683125 0.498332291842 +53 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +37 0.82833224535 0.541667699814 +36 0.82833224535 0.498332291842 +53 0.871667683125 0.498332291842 +54 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +38 0.82833224535 0.541667699814 +37 0.82833224535 0.498332291842 +54 0.871667683125 0.498332291842 +55 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +39 0.82833224535 0.541667699814 +38 0.82833224535 0.498332291842 +55 0.871667683125 0.498332291842 +56 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +40 0.82833224535 0.541667699814 +39 0.82833224535 0.498332291842 +56 0.871667683125 0.498332291842 +57 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +41 0.82833224535 0.541667699814 +40 0.82833224535 0.498332291842 +57 0.871667683125 0.498332291842 +58 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +42 0.82833224535 0.541667699814 +41 0.82833224535 0.498332291842 +58 0.871667683125 0.498332291842 +59 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +43 0.82833224535 0.541667699814 +42 0.82833224535 0.498332291842 +59 0.871667683125 0.498332291842 +60 0.871667683125 0.541667699814 +SURF 0x10 +mat 1 +refs 4 +44 0.82833224535 0.541667699814 +43 0.82833224535 0.498332291842 +60 0.871667683125 0.498332291842 +46 0.871667683125 0.541667699814 +kids 0 +OBJECT poly +name "CTL-62.toggle" +data 8 +Mesh.003 +texture "ctl-62.png" +texrep 1 1 +crease 50.000000 +numvert 16 +0.00288 0.013648 -0.023997 +0.00288 0.0122 -0.023997 +0.00288 0.011176 -0.022972 +0.00288 0.011176 -0.021524 +0.00288 0.0122 -0.0205 +0.00288 0.013648 -0.0205 +0.00288 0.014672 -0.021524 +0.00288 0.014672 -0.022973 +0.009506 0.014166 -0.025409 +0.009506 0.011682 -0.025409 +0.009506 0.011463 -0.025282 +0.009506 0.011464 -0.019214 +0.009506 0.011682 -0.019088 +0.009506 0.014166 -0.019088 +0.009506 0.014385 -0.019215 +0.009506 0.014384 -0.025283 +numsurf 11 +SURF 0x10 +mat 1 +refs 4 +1 0.403194278479 0.371655732393 +0 0.403194278479 0.337494283915 +8 0.437355726957 0.337494283915 +9 0.437355726957 0.371655732393 +SURF 0x10 +mat 1 +refs 4 +2 0.403194278479 0.371655732393 +1 0.403194278479 0.337494283915 +9 0.437355726957 0.337494283915 +10 0.437355726957 0.371655732393 +SURF 0x10 +mat 1 +refs 4 +3 0.403194278479 0.371655732393 +2 0.403194278479 0.337494283915 +10 0.437355726957 0.337494283915 +11 0.437355726957 0.371655732393 +SURF 0x10 +mat 1 +refs 4 +4 0.403194278479 0.371655732393 +3 0.403194278479 0.337494283915 +11 0.437355726957 0.337494283915 +12 0.437355726957 0.371655732393 +SURF 0x10 +mat 1 +refs 4 +5 0.403194278479 0.371655732393 +4 0.403194278479 0.337494283915 +12 0.437355726957 0.337494283915 +13 0.437355726957 0.371655732393 +SURF 0x10 +mat 1 +refs 4 +6 0.403194278479 0.371655732393 +5 0.403194278479 0.337494283915 +13 0.437355726957 0.337494283915 +14 0.437355726957 0.371655732393 +SURF 0x10 +mat 1 +refs 4 +7 0.403194278479 0.371655732393 +6 0.403194278479 0.337494283915 +14 0.437355726957 0.337494283915 +15 0.437355726957 0.371655732393 +SURF 0x10 +mat 1 +refs 4 +8 0.403194278479 0.371655732393 +0 0.403194278479 0.337494283915 +7 0.437355726957 0.337494283915 +15 0.437355726957 0.371655732393 +SURF 0x10 +mat 1 +refs 4 +11 0.403194278479 0.371655732393 +14 0.403194278479 0.337494283915 +13 0.437355726957 0.337494283915 +12 0.437355726957 0.371655732393 +SURF 0x10 +mat 1 +refs 4 +8 0.403194278479 0.371655732393 +15 0.403194278479 0.337494283915 +10 0.437355726957 0.337494283915 +9 0.437355726957 0.371655732393 +SURF 0x10 +mat 1 +refs 4 +10 0.403194278479 0.371655732393 +15 0.403194278479 0.337494283915 +14 0.437355726957 0.337494283915 +11 0.437355726957 0.371655732393 +kids 0 +OBJECT poly +name "CTL-62.vol" +data 8 +Mesh.004 +texture "ctl-62.png" +texrep 1 1 +crease 40.000000 +numvert 33 +0.011467 -0.016005 0.016157 +0.011479 -0.017093 0.016853 +0.011467 -0.018365 0.01708 +0.011466 -0.019627 0.016803 +0.011476 -0.020687 0.016064 +0.011475 -0.021385 0.014977 +0.011474 -0.021612 0.013705 +0.011464 -0.021335 0.012443 +0.011463 -0.020596 0.011384 +0.011471 -0.019508 0.010686 +0.011463 -0.018237 0.01046 +0.011464 -0.016975 0.010736 +0.011474 -0.015914 0.011473 +0.011475 -0.015218 0.012561 +0.011476 -0.01499 0.013833 +0.011466 -0.015266 0.015096 +0.018907 -0.015266 0.015095 +0.018897 -0.01499 0.013833 +0.018896 -0.015217 0.012562 +0.018896 -0.015914 0.011474 +0.018906 -0.016975 0.010736 +0.018905 -0.018237 0.010458 +0.018893 -0.019508 0.010686 +0.018905 -0.020596 0.011382 +0.018906 -0.021336 0.012443 +0.018896 -0.021611 0.013705 +0.018896 -0.021385 0.014978 +0.018897 -0.020688 0.016065 +0.018907 -0.019628 0.016803 +0.018908 -0.018366 0.017079 +0.0189 -0.017093 0.016853 +0.018908 -0.016006 0.016155 +0.018896 -0.018301 0.013769 +numsurf 32 +SURF 0x10 +mat 1 +refs 4 +14 0.0525224171579 0.855924844742 +15 0.0525224171579 0.803254663944 +16 0.105192601681 0.803254663944 +17 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +13 0.0525224171579 0.855924844742 +14 0.0525224171579 0.803254663944 +17 0.105192601681 0.803254663944 +18 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +12 0.0525224171579 0.855924844742 +13 0.0525224171579 0.803254663944 +18 0.105192601681 0.803254663944 +19 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +11 0.0525224171579 0.855924844742 +12 0.0525224171579 0.803254663944 +19 0.105192601681 0.803254663944 +20 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +10 0.0525224171579 0.855924844742 +11 0.0525224171579 0.803254663944 +20 0.105192601681 0.803254663944 +21 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +9 0.0525224171579 0.855924844742 +10 0.0525224171579 0.803254663944 +21 0.105192601681 0.803254663944 +22 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +8 0.0525224171579 0.855924844742 +9 0.0525224171579 0.803254663944 +22 0.105192601681 0.803254663944 +23 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +7 0.0525224171579 0.855924844742 +8 0.0525224171579 0.803254663944 +23 0.105192601681 0.803254663944 +24 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +6 0.0525224171579 0.855924844742 +7 0.0525224171579 0.803254663944 +24 0.105192601681 0.803254663944 +25 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +5 0.0525224171579 0.855924844742 +6 0.0525224171579 0.803254663944 +25 0.105192601681 0.803254663944 +26 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +4 0.0525224171579 0.855924844742 +5 0.0525224171579 0.803254663944 +26 0.105192601681 0.803254663944 +27 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +3 0.0525224171579 0.855924844742 +4 0.0525224171579 0.803254663944 +27 0.105192601681 0.803254663944 +28 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +2 0.0525224171579 0.855924844742 +3 0.0525224171579 0.803254663944 +28 0.105192601681 0.803254663944 +29 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +1 0.0525224171579 0.855924844742 +2 0.0525224171579 0.803254663944 +29 0.105192601681 0.803254663944 +30 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +0 0.0525224171579 0.855924844742 +1 0.0525224171579 0.803254663944 +30 0.105192601681 0.803254663944 +31 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 4 +15 0.0525224171579 0.855924844742 +0 0.0525224171579 0.803254663944 +31 0.105192601681 0.803254663944 +16 0.105192601681 0.855924844742 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +17 0.253559589386 0.330276489258 +16 0.242618411779 0.342267304659 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +18 0.259069114923 0.314998298883 +17 0.253559589386 0.330276489258 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +19 0.258329153061 0.298784583807 +18 0.259069114923 0.314998298883 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +20 0.251420378685 0.28407022357 +19 0.258329153061 0.298784583807 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +21 0.239420965314 0.27312335372 +20 0.251420378685 0.28407022357 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +22 0.224143624306 0.267613887787 +21 0.239420965314 0.27312335372 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +23 0.207920014858 0.26835244894 +22 0.224143624306 0.267613887787 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +24 0.193217262626 0.275255173445 +23 0.207920014858 0.26835244894 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +25 0.182273030281 0.287265688181 +24 0.193217262626 0.275255173445 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +26 0.176751494408 0.302543014288 +25 0.182273030281 0.287265688181 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +27 0.177503541112 0.318757563829 +26 0.176751494408 0.302543014288 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +28 0.184403434396 0.333450436592 +27 0.177503541112 0.318757563829 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +29 0.196402996778 0.34439638257 +28 0.184403434396 0.333450436592 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +30 0.211677148938 0.349926501513 +29 0.196402996778 0.34439638257 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +31 0.227903932333 0.34916728735 +30 0.211677148938 0.349926501513 +SURF 0x10 +mat 1 +refs 3 +32 0.217911168933 0.308764845133 +16 0.242618411779 0.342267304659 +31 0.227903932333 0.34916728735 +kids 0 +OBJECT poly +name "CTL-62.xfr" +data 8 +Mesh.005 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003175 0.012924 -0.017239 +0.003175 0.012924 -0.027258 +0.003175 0.023253 -0.017239 +0.003175 0.023253 -0.027258 +numsurf 1 +SURF 0x00 +mat 2 +refs 4 +2 0.638291537762 0.856310725212 +0 0.638291478157 0.725111961365 +1 0.765544474125 0.72511190176 +3 0.765544474125 0.856310606003 +kids 0 +OBJECT poly +name "act.btn" +data 8 +Mesh.006 +texture "ctl-62.png" +texrep 1 1 +crease 40.000000 +numvert 24 +0.004243 -0.026244 -0.016292 +0.004243 -0.02737 -0.017417 +0.004243 -0.028962 -0.017417 +0.004243 -0.030088 -0.016292 +0.004243 -0.030088 -0.0147 +0.004243 -0.028962 -0.013574 +0.004243 -0.02737 -0.013574 +0.004243 -0.026244 -0.0147 +0.002926 -0.026244 -0.016292 +0.002926 -0.02737 -0.017417 +0.002926 -0.028962 -0.017417 +0.002926 -0.030088 -0.016292 +0.002926 -0.030088 -0.0147 +0.002926 -0.028962 -0.013574 +0.002926 -0.02737 -0.013574 +0.002926 -0.026244 -0.0147 +0.004485 -0.026466 -0.014792 +0.004485 -0.027462 -0.013796 +0.004485 -0.02887 -0.013796 +0.004485 -0.029866 -0.014792 +0.004485 -0.029866 -0.0162 +0.004485 -0.02887 -0.017195 +0.004485 -0.027462 -0.017195 +0.004485 -0.026466 -0.0162 +numsurf 19 +SURF 0x10 +mat 1 +refs 4 +0 0.426579475403 0.37008485198 +1 0.435408592224 0.36124792695 +9 0.435408592224 0.36124792695 +8 0.426579475403 0.37008485198 +SURF 0x10 +mat 1 +refs 4 +1 0.435408592224 0.36124792695 +2 0.435408592224 0.348753720522 +10 0.435408592224 0.348753720522 +9 0.435408592224 0.36124792695 +SURF 0x10 +mat 1 +refs 4 +2 0.435408592224 0.348753720522 +3 0.426579475403 0.339916795492 +11 0.426579475403 0.339916795492 +10 0.435408592224 0.348753720522 +SURF 0x10 +mat 1 +refs 4 +3 0.426579475403 0.339916795492 +4 0.414085328579 0.339916795492 +12 0.414085328579 0.339916795492 +11 0.426579475403 0.339916795492 +SURF 0x10 +mat 1 +refs 4 +4 0.414085328579 0.339916795492 +5 0.405248343945 0.348753720522 +13 0.405248343945 0.348753720522 +12 0.414085328579 0.339916795492 +SURF 0x10 +mat 1 +refs 4 +5 0.405248343945 0.348753720522 +6 0.405248343945 0.36124792695 +14 0.405248343945 0.36124792695 +13 0.405248343945 0.348753720522 +SURF 0x10 +mat 1 +refs 4 +6 0.405248343945 0.36124792695 +7 0.414085328579 0.37008485198 +15 0.414085328579 0.37008485198 +14 0.405248343945 0.36124792695 +SURF 0x10 +mat 1 +refs 4 +7 0.414085328579 0.37008485198 +0 0.426579475403 0.37008485198 +8 0.426579475403 0.37008485198 +15 0.414085328579 0.37008485198 +SURF 0x10 +mat 1 +refs 4 +0 0.426579475403 0.37008485198 +7 0.414085328579 0.37008485198 +16 0.414807319641 0.368342548609 +23 0.425857484341 0.368342548609 +SURF 0x10 +mat 1 +refs 4 +7 0.414085328579 0.37008485198 +6 0.405248343945 0.36124792695 +17 0.406990647316 0.360525846481 +16 0.414807319641 0.368342548609 +SURF 0x10 +mat 1 +refs 4 +6 0.405248343945 0.36124792695 +5 0.405248343945 0.348753720522 +18 0.406990647316 0.349475771189 +17 0.406990647316 0.360525846481 +SURF 0x10 +mat 1 +refs 4 +5 0.405248343945 0.348753720522 +4 0.414085328579 0.339916795492 +19 0.414807319641 0.341659069061 +18 0.406990647316 0.349475771189 +SURF 0x10 +mat 1 +refs 4 +4 0.414085328579 0.339916795492 +3 0.426579475403 0.339916795492 +20 0.425857484341 0.341659069061 +19 0.414807319641 0.341659069061 +SURF 0x10 +mat 1 +refs 4 +3 0.426579475403 0.339916795492 +2 0.435408592224 0.348753720522 +21 0.433666348457 0.349475771189 +20 0.425857484341 0.341659069061 +SURF 0x10 +mat 1 +refs 4 +2 0.435408592224 0.348753720522 +1 0.435408592224 0.36124792695 +22 0.433666348457 0.360525846481 +21 0.433666348457 0.349475771189 +SURF 0x10 +mat 1 +refs 4 +1 0.435408592224 0.36124792695 +0 0.426579475403 0.37008485198 +23 0.425857484341 0.368342548609 +22 0.433666348457 0.360525846481 +SURF 0x10 +mat 1 +refs 4 +23 0.425857484341 0.368342548609 +16 0.414807319641 0.368342548609 +17 0.406990647316 0.360525846481 +22 0.433666348457 0.360525846481 +SURF 0x10 +mat 1 +refs 4 +22 0.433666348457 0.360525846481 +17 0.406990647316 0.360525846481 +18 0.406990647316 0.349475771189 +21 0.433666348457 0.349475771189 +SURF 0x10 +mat 1 +refs 4 +21 0.433666348457 0.349475771189 +18 0.406990647316 0.349475771189 +19 0.414807319641 0.341659069061 +20 0.425857484341 0.341659069061 +kids 0 +OBJECT poly +name "freq.001" +data 8 +Mesh.007 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.025297 0.014946 +0.003139 0.018003 0.016019 +0.003139 0.018003 0.020611 +0.003139 0.025297 0.019538 +numsurf 1 +SURF 0x00 +mat 3 +refs 4 +0 0.979923069477 0.0980069637299 +3 0.920508384705 0.0980069637299 +2 0.920508384705 0.0035574734211 +1 0.979923069477 0.0035574734211 +kids 0 +OBJECT poly +name "freq.002" +data 8 +Mesh.008 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.025297 0.008783 +0.003139 0.018003 0.009856 +0.003139 0.018003 0.014449 +0.003139 0.025297 0.013376 +numsurf 1 +SURF 0x00 +mat 3 +refs 4 +0 0.979923069477 0.0980069637299 +3 0.920508384705 0.0980069637299 +2 0.920508384705 0.0035574734211 +1 0.979923069477 0.0035574734211 +kids 0 +OBJECT poly +name "freq.003" +data 8 +Mesh.009 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.025297 0.001851 +0.003139 0.018003 0.002924 +0.003139 0.018003 0.007517 +0.003139 0.025297 0.006444 +numsurf 1 +SURF 0x00 +mat 3 +refs 4 +0 0.979923069477 0.0980069637299 +3 0.920508384705 0.0980069637299 +2 0.920508384705 0.0035574734211 +1 0.979923069477 0.0035574734211 +kids 0 +OBJECT poly +name "freq.004" +data 8 +Mesh.010 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.025297 -0.005082 +0.003139 0.018003 -0.004009 +0.003139 0.018003 0.000584 +0.003139 0.025297 -0.000489 +numsurf 1 +SURF 0x00 +mat 3 +refs 4 +0 0.979923069477 0.0980069637299 +3 0.920508384705 0.0980069637299 +2 0.920508384705 0.0035574734211 +1 0.979923069477 0.0035574734211 +kids 0 +OBJECT poly +name "freq.005" +data 8 +Mesh.011 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.025297 -0.012448 +0.003139 0.018003 -0.011375 +0.003139 0.018003 -0.006782 +0.003139 0.025297 -0.007855 +numsurf 1 +SURF 0x00 +mat 3 +refs 4 +0 0.979923069477 0.0980069637299 +3 0.920508384705 0.0980069637299 +2 0.920508384705 0.0035574734211 +1 0.979923069477 0.0035574734211 +kids 0 +OBJECT poly +name "freq.dec" +data 8 +Mesh.012 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003202 0.019053 -0.00615 +0.003202 0.01806 -0.005908 +0.003202 0.01806 -0.004872 +0.003202 0.019053 -0.005114 +numsurf 1 +SURF 0x00 +mat 3 +refs 4 +0 0.933840274811 0.0771778821945 +3 0.925696730614 0.0771778821945 +2 0.925696730614 0.0642324090004 +1 0.933840274811 0.0642324090004 +kids 0 +OBJECT poly +name "freq.dwn" +data 8 +Mesh.013 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003022 -0.006662 -0.017042 +0.003022 -0.02423 -0.017042 +0.003022 -0.006662 -0.008258 +0.003022 -0.02423 -0.008258 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.628464281559 0.464825630188 +2 0.508616089821 0.464825630188 +3 0.508616030216 0.2251290977 +1 0.628464281559 0.2251290977 +kids 0 +OBJECT poly +name "freq.knob.large" +data 8 +Mesh.014 +texture "ctl-62.png" +texrep 1 1 +crease 40.000000 +numvert 48 +0.011502 -0.011309 -0.02118 +0.0115 -0.013207 -0.022448 +0.011494 -0.015446 -0.022894 +0.0115 -0.017686 -0.022448 +0.011497 -0.019584 -0.02118 +0.011502 -0.020853 -0.019281 +0.011504 -0.021299 -0.017042 +0.011502 -0.020853 -0.014802 +0.011497 -0.019584 -0.012904 +0.0115 -0.017686 -0.011635 +0.011494 -0.015446 -0.01119 +0.0115 -0.013207 -0.011635 +0.011502 -0.011309 -0.012904 +0.011497 -0.010039 -0.014802 +0.011495 -0.009593 -0.017042 +0.011497 -0.010039 -0.019281 +0.010891 -0.007442 -0.020357 +0.010893 -0.006782 -0.017042 +0.010891 -0.007442 -0.013726 +0.010893 -0.00932 -0.010916 +0.010889 -0.01213 -0.009038 +0.010889 -0.015446 -0.008378 +0.010888 -0.018762 -0.009038 +0.010896 -0.021574 -0.010916 +0.010886 -0.02345 -0.013726 +0.010895 -0.024111 -0.017041 +0.010886 -0.02345 -0.020357 +0.010896 -0.021574 -0.023168 +0.010888 -0.018762 -0.025047 +0.010889 -0.015446 -0.025706 +0.010889 -0.01213 -0.025047 +0.010893 -0.00932 -0.023168 +0.003025 -0.007441 -0.020357 +0.003027 -0.006783 -0.017042 +0.003025 -0.007441 -0.013726 +0.003026 -0.00932 -0.010916 +0.003023 -0.012131 -0.009038 +0.003022 -0.015446 -0.008378 +0.003022 -0.018762 -0.009038 +0.00303 -0.021574 -0.010916 +0.003031 -0.023452 -0.013726 +0.003029 -0.024112 -0.017042 +0.003031 -0.023452 -0.020357 +0.00303 -0.021574 -0.023168 +0.003022 -0.018762 -0.025047 +0.003022 -0.015446 -0.025706 +0.003023 -0.012131 -0.025047 +0.003026 -0.00932 -0.023168 +numsurf 32 +SURF 0x10 +mat 1 +refs 4 +0 0.681315302849 0.39272326231 +1 0.696943879128 0.369354456663 +30 0.72895103693 0.382609218359 +31 0.705807030201 0.417218744755 +SURF 0x10 +mat 1 +refs 4 +29 0.737064003944 0.341771930456 +30 0.72895103693 0.382609218359 +1 0.696943879128 0.369354456663 +2 0.702431261539 0.341774225235 +SURF 0x10 +mat 1 +refs 4 +28 0.72895103693 0.300935894251 +29 0.737064003944 0.341771930456 +2 0.702431261539 0.341774225235 +3 0.696943879128 0.314183682203 +SURF 0x10 +mat 1 +refs 4 +27 0.705806910992 0.266300916672 +28 0.72895103693 0.300935894251 +3 0.696943879128 0.314183682203 +4 0.681315302849 0.290801167488 +SURF 0x10 +mat 1 +refs 4 +26 0.671187996864 0.243188887835 +27 0.705806910992 0.266300916672 +4 0.681315302849 0.290801167488 +5 0.657934963703 0.275174319744 +SURF 0x10 +mat 1 +refs 4 +25 0.630345463753 0.235042914748 +26 0.671187996864 0.243188887835 +5 0.657934963703 0.275174319744 +6 0.63035929203 0.269683331251 +SURF 0x10 +mat 1 +refs 4 +24 0.589516758919 0.243188887835 +25 0.630345463753 0.235042914748 +6 0.63035929203 0.269683331251 +7 0.602769732475 0.275174379349 +SURF 0x10 +mat 1 +refs 4 +23 0.554897606373 0.266300976276 +24 0.589516758919 0.243188887835 +7 0.602769732475 0.275174379349 +8 0.579389333725 0.290801227093 +SURF 0x10 +mat 1 +refs 4 +22 0.531767487526 0.300935894251 +23 0.554897606373 0.266300976276 +8 0.579389333725 0.290801227093 +9 0.563760757446 0.314183682203 +SURF 0x10 +mat 1 +refs 4 +21 0.52364051342 0.341771930456 +22 0.531767487526 0.300935894251 +9 0.563760757446 0.314183682203 +10 0.558273494244 0.341774344444 +SURF 0x10 +mat 1 +refs 4 +20 0.531767487526 0.382609218359 +21 0.52364051342 0.341771930456 +10 0.558273494244 0.341774344444 +11 0.563760757446 0.369354456663 +SURF 0x10 +mat 1 +refs 4 +19 0.554897606373 0.417218744755 +20 0.531767487526 0.382609218359 +11 0.563760757446 0.369354456663 +12 0.579389333725 0.39272326231 +SURF 0x10 +mat 1 +refs 4 +18 0.589516758919 0.440356194973 +19 0.554897606373 0.417218744755 +12 0.579389333725 0.39272326231 +13 0.602769732475 0.408364892006 +SURF 0x10 +mat 1 +refs 4 +17 0.63035929203 0.448476850986 +18 0.589516758919 0.440356194973 +13 0.602769732475 0.408364892006 +14 0.63035929203 0.413855850697 +SURF 0x10 +mat 1 +refs 4 +16 0.671188056469 0.440356194973 +17 0.63035929203 0.448476850986 +14 0.63035929203 0.413855850697 +15 0.657934963703 0.408364892006 +SURF 0x10 +mat 1 +refs 4 +15 0.657934963703 0.408364892006 +0 0.681315302849 0.39272326231 +31 0.705807030201 0.417218744755 +16 0.671188056469 0.440356194973 +SURF 0x10 +mat 1 +refs 4 +31 0.0603405237198 0.71993303299 +47 0.0603405237198 0.621863663197 +32 0.158409923315 0.621863663197 +16 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +33 0.0603405237198 0.71993303299 +17 0.0603405237198 0.621863663197 +16 0.158409923315 0.621863663197 +32 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +34 0.0603405237198 0.71993303299 +18 0.0603405237198 0.621863663197 +17 0.158409923315 0.621863663197 +33 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +35 0.0603405237198 0.71993303299 +19 0.0603405237198 0.621863663197 +18 0.158409923315 0.621863663197 +34 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +36 0.0603405237198 0.71993303299 +20 0.0603405237198 0.621863663197 +19 0.158409923315 0.621863663197 +35 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +37 0.0603405237198 0.71993303299 +21 0.0603405237198 0.621863663197 +20 0.158409923315 0.621863663197 +36 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +38 0.0603405237198 0.71993303299 +22 0.0603405237198 0.621863663197 +21 0.158409923315 0.621863663197 +37 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +39 0.0603405237198 0.71993303299 +23 0.0603405237198 0.621863663197 +22 0.158409923315 0.621863663197 +38 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +40 0.0603405237198 0.71993303299 +24 0.0603405237198 0.621863663197 +23 0.158409923315 0.621863663197 +39 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +41 0.0603405237198 0.71993303299 +25 0.0603405237198 0.621863663197 +24 0.158409923315 0.621863663197 +40 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +42 0.0603405237198 0.71993303299 +26 0.0603405237198 0.621863663197 +25 0.158409923315 0.621863663197 +41 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +43 0.0603405237198 0.71993303299 +27 0.0603405237198 0.621863663197 +26 0.158409923315 0.621863663197 +42 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +44 0.0603405237198 0.71993303299 +28 0.0603405237198 0.621863663197 +27 0.158409923315 0.621863663197 +43 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +45 0.0603405237198 0.71993303299 +29 0.0603405237198 0.621863663197 +28 0.158409923315 0.621863663197 +44 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +46 0.0603405237198 0.71993303299 +30 0.0603405237198 0.621863663197 +29 0.158409923315 0.621863663197 +45 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +47 0.0603405237198 0.71993303299 +31 0.0603405237198 0.621863663197 +30 0.158409923315 0.621863663197 +46 0.158409923315 0.71993303299 +kids 0 +OBJECT poly +name "freq.knob.small" +data 8 +Mesh.028 +texture "ctl-62.png" +texrep 1 1 +crease 40.000000 +numvert 33 +0.02046 -0.015446 -0.017042 +0.020463 -0.01004 -0.019281 +0.020461 -0.009594 -0.017042 +0.020463 -0.01004 -0.014802 +0.020468 -0.01131 -0.012904 +0.020465 -0.013207 -0.011635 +0.02046 -0.015446 -0.01119 +0.020466 -0.017686 -0.011635 +0.020463 -0.019585 -0.012904 +0.020468 -0.020854 -0.014802 +0.020459 -0.021298 -0.017042 +0.020468 -0.020854 -0.019281 +0.020463 -0.019585 -0.02118 +0.020466 -0.017686 -0.022448 +0.02046 -0.015446 -0.022894 +0.020465 -0.013207 -0.022448 +0.020468 -0.01131 -0.02118 +0.010502 -0.011309 -0.02118 +0.0105 -0.013207 -0.022448 +0.010494 -0.015446 -0.022894 +0.0105 -0.017686 -0.022448 +0.010497 -0.019584 -0.02118 +0.010502 -0.020853 -0.019281 +0.010504 -0.021299 -0.017042 +0.010502 -0.020853 -0.014802 +0.010497 -0.019584 -0.012904 +0.0105 -0.017686 -0.011635 +0.010494 -0.015446 -0.01119 +0.0105 -0.013207 -0.011635 +0.010502 -0.011309 -0.012904 +0.010497 -0.010039 -0.014802 +0.010495 -0.009593 -0.017042 +0.010497 -0.010039 -0.019281 +numsurf 32 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +16 0.681315302849 0.392718017101 +1 0.657934963703 0.408358514309 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +1 0.657934963703 0.408358514309 +2 0.63035929203 0.413849562407 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +2 0.63035929203 0.413849562407 +3 0.602769732475 0.408358514309 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +3 0.602769732475 0.408358514309 +4 0.579389333725 0.392718017101 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +4 0.579389333725 0.392718017101 +5 0.563760757446 0.369349330664 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +5 0.563760757446 0.369349330664 +6 0.558273494244 0.341769099236 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +6 0.558273494244 0.341769099236 +7 0.563760757446 0.314178436995 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +7 0.563760757446 0.314178436995 +8 0.579389333725 0.290795952082 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +8 0.579389333725 0.290795952082 +9 0.602769732475 0.275168001652 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +9 0.602769732475 0.275168001652 +10 0.63035929203 0.269701093435 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +10 0.63035929203 0.269701093435 +11 0.657934963703 0.275168001652 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +11 0.657934963703 0.275168001652 +12 0.681315302849 0.290795892477 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +12 0.681315302849 0.290795892477 +13 0.696943879128 0.314178436995 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +13 0.696943879128 0.314178436995 +14 0.702431261539 0.341769099236 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +14 0.702431261539 0.341769099236 +15 0.696943879128 0.369349330664 +SURF 0x10 +mat 1 +refs 3 +0 0.63035929203 0.341769099236 +15 0.696943879128 0.369349330664 +16 0.681315302849 0.392718017101 +SURF 0x10 +mat 1 +refs 4 +17 0.0603405237198 0.71993303299 +32 0.0603405237198 0.621863663197 +1 0.158409923315 0.621863663197 +16 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +32 0.0603405237198 0.71993303299 +31 0.0603405237198 0.621863663197 +2 0.158409923315 0.621863663197 +1 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +31 0.0603405237198 0.71993303299 +30 0.0603405237198 0.621863663197 +3 0.158409923315 0.621863663197 +2 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +30 0.0603405237198 0.71993303299 +29 0.0603405237198 0.621863663197 +4 0.158409923315 0.621863663197 +3 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +29 0.0603405237198 0.71993303299 +28 0.0603405237198 0.621863663197 +5 0.158409923315 0.621863663197 +4 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +28 0.0603405237198 0.71993303299 +27 0.0603405237198 0.621863663197 +6 0.158409923315 0.621863663197 +5 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +27 0.0603405237198 0.71993303299 +26 0.0603405237198 0.621863663197 +7 0.158409923315 0.621863663197 +6 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +26 0.0603405237198 0.71993303299 +25 0.0603405237198 0.621863663197 +8 0.158409923315 0.621863663197 +7 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +25 0.0603405237198 0.71993303299 +24 0.0603405237198 0.621863663197 +9 0.158409923315 0.621863663197 +8 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +24 0.0603405237198 0.71993303299 +23 0.0603405237198 0.621863663197 +10 0.158409923315 0.621863663197 +9 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +23 0.0603405237198 0.71993303299 +22 0.0603405237198 0.621863663197 +11 0.158409923315 0.621863663197 +10 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +22 0.0603405237198 0.71993303299 +21 0.0603405237198 0.621863663197 +12 0.158409923315 0.621863663197 +11 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +21 0.0603405237198 0.71993303299 +20 0.0603405237198 0.621863663197 +13 0.158409923315 0.621863663197 +12 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +20 0.0603405237198 0.71993303299 +19 0.0603405237198 0.621863663197 +14 0.158409923315 0.621863663197 +13 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +19 0.0603405237198 0.71993303299 +18 0.0603405237198 0.621863663197 +15 0.158409923315 0.621863663197 +14 0.158409923315 0.71993303299 +SURF 0x10 +mat 1 +refs 4 +18 0.0603405237198 0.71993303299 +17 0.0603405237198 0.621863663197 +16 0.158409923315 0.621863663197 +15 0.158409923315 0.71993303299 +kids 0 +OBJECT poly +name "freq.up" +data 8 +Mesh.015 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003022 -0.006662 -0.017042 +0.003022 -0.02423 -0.017042 +0.003022 -0.02423 -0.025826 +0.003022 -0.006662 -0.025826 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +3 0.748312532902 0.464825630188 +0 0.628464281559 0.464825630188 +1 0.628464281559 0.2251290977 +2 0.748312532902 0.2251290977 +kids 0 +OBJECT poly +name "mem.annun" +data 8 +Mesh.016 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.006882 0.01649 +0.003139 0.003499 0.016498 +0.003139 0.003499 0.02398 +0.003139 0.006882 0.023971 +numsurf 1 +SURF 0x00 +mat 3 +refs 4 +0 0.135593175888 0.0792972072959 +3 0.0378846973181 0.0792972296476 +2 0.0377717465162 0.035107113421 +1 0.135480225086 0.035107113421 +kids 0 +OBJECT poly +name "pwr.off" +data 8 +Mesh.017 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.002944 -0.026036 0.021504 +0.002944 -0.010631 0.021504 +0.002944 -0.026036 0.013802 +0.002944 -0.010631 0.013802 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.114473424852 0.201592057943 +2 0.220019072294 0.201592057943 +3 0.220019072294 0.412683337927 +1 0.114473424852 0.412683337927 +kids 0 +OBJECT poly +name "pwr.on" +data 8 +Mesh.018 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.002944 -0.010631 0.013802 +0.002944 -0.026036 0.013802 +0.002944 -0.026036 0.0061 +0.002944 -0.010632 0.0061 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +3 0.325564712286 0.412683337927 +0 0.220019072294 0.412683337927 +1 0.220019072294 0.201592057943 +2 0.325564712286 0.201592057943 +kids 0 +OBJECT poly +name "stby.001" +data 8 +Mesh.019 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.016594 0.015554 +0.003139 0.0093 0.016627 +0.003139 0.0093 0.02122 +0.003139 0.016594 0.020147 +numsurf 1 +SURF 0x00 +mat 2 +refs 4 +0 0.979923069477 0.0980069637299 +3 0.920508384705 0.0980069637299 +2 0.920508384705 0.0035574734211 +1 0.979923069477 0.0035574734211 +kids 0 +OBJECT poly +name "stby.002" +data 8 +Mesh.020 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.016594 0.009392 +0.003139 0.0093 0.010465 +0.003139 0.0093 0.015057 +0.003139 0.016594 0.013984 +numsurf 1 +SURF 0x00 +mat 2 +refs 4 +0 0.979923069477 0.0980069637299 +3 0.920508384705 0.0980069637299 +2 0.920508384705 0.0035574734211 +1 0.979923069477 0.0035574734211 +kids 0 +OBJECT poly +name "stby.003" +data 8 +Mesh.021 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.016594 0.002459 +0.003139 0.0093 0.003532 +0.003139 0.0093 0.008125 +0.003139 0.016594 0.007052 +numsurf 1 +SURF 0x00 +mat 2 +refs 4 +0 0.979923069477 0.0980069637299 +3 0.920508384705 0.0980069637299 +2 0.920508384705 0.0035574734211 +1 0.979923069477 0.0035574734211 +kids 0 +OBJECT poly +name "stby.004" +data 8 +Mesh.022 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.016594 -0.004473 +0.003139 0.0093 -0.0034 +0.003139 0.0093 0.001192 +0.003139 0.016594 0.000119 +numsurf 1 +SURF 0x00 +mat 2 +refs 4 +0 0.979923069477 0.0980069637299 +3 0.920508384705 0.0980069637299 +2 0.920508384705 0.0035574734211 +1 0.979923069477 0.0035574734211 +kids 0 +OBJECT poly +name "stby.005" +data 8 +Mesh.023 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003139 0.016594 -0.011839 +0.003139 0.0093 -0.010766 +0.003139 0.0093 -0.006174 +0.003139 0.016594 -0.007247 +numsurf 1 +SURF 0x00 +mat 2 +refs 4 +0 0.979923069477 0.0980069637299 +3 0.920508384705 0.0980069637299 +2 0.920508384705 0.0035574734211 +1 0.979923069477 0.0035574734211 +kids 0 +OBJECT poly +name "stby.dec" +data 8 +Mesh.024 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.003202 0.01035 -0.005541 +0.003202 0.009357 -0.005299 +0.003202 0.009357 -0.004264 +0.003202 0.01035 -0.004506 +numsurf 1 +SURF 0x00 +mat 2 +refs 4 +0 0.933840274811 0.0771778821945 +3 0.925696730614 0.0771778821945 +2 0.925696730614 0.0642324090004 +1 0.933840274811 0.0642324090004 +kids 0 +OBJECT poly +name "sto.btn" +data 8 +Mesh.025 +texture "ctl-62.png" +texrep 1 1 +crease 40.000000 +numvert 24 +0.004243 -0.01313 -0.001986 +0.004243 -0.014256 -0.003111 +0.004243 -0.015848 -0.003111 +0.004243 -0.016974 -0.001986 +0.004243 -0.016974 -0.000394 +0.004243 -0.015848 0.000732 +0.004243 -0.014256 0.000732 +0.004243 -0.01313 -0.000394 +0.002926 -0.01313 -0.001986 +0.002926 -0.014256 -0.003111 +0.002926 -0.015848 -0.003111 +0.002926 -0.016974 -0.001986 +0.002926 -0.016974 -0.000394 +0.002926 -0.015848 0.000732 +0.002926 -0.014256 0.000732 +0.002926 -0.01313 -0.000394 +0.004485 -0.013353 -0.000486 +0.004485 -0.014348 0.00051 +0.004485 -0.015756 0.00051 +0.004485 -0.016752 -0.000486 +0.004485 -0.016752 -0.001894 +0.004485 -0.015756 -0.002889 +0.004485 -0.014348 -0.002889 +0.004485 -0.013353 -0.001894 +numsurf 19 +SURF 0x10 +mat 1 +refs 4 +0 0.426304638386 0.369004756212 +1 0.435133755207 0.360167771578 +9 0.435133755207 0.360167771578 +8 0.426304638386 0.369004756212 +SURF 0x10 +mat 1 +refs 4 +1 0.435133755207 0.360167771578 +2 0.435133755207 0.347673624754 +10 0.435133755207 0.347673624754 +9 0.435133755207 0.360167771578 +SURF 0x10 +mat 1 +refs 4 +2 0.435133755207 0.347673624754 +3 0.426304638386 0.338836669922 +11 0.426304638386 0.338836669922 +10 0.435133755207 0.347673624754 +SURF 0x10 +mat 1 +refs 4 +3 0.426304638386 0.338836669922 +4 0.413810491562 0.338836669922 +12 0.413810491562 0.338836669922 +11 0.426304638386 0.338836669922 +SURF 0x10 +mat 1 +refs 4 +4 0.413810491562 0.338836669922 +5 0.404973506927 0.347673624754 +13 0.404973506927 0.347673624754 +12 0.413810491562 0.338836669922 +SURF 0x10 +mat 1 +refs 4 +5 0.404973506927 0.347673624754 +6 0.404973506927 0.360167771578 +14 0.404973506927 0.360167771578 +13 0.404973506927 0.347673624754 +SURF 0x10 +mat 1 +refs 4 +6 0.404973506927 0.360167771578 +7 0.413810491562 0.369004756212 +15 0.413810491562 0.369004756212 +14 0.404973506927 0.360167771578 +SURF 0x10 +mat 1 +refs 4 +7 0.413810491562 0.369004756212 +0 0.426304638386 0.369004756212 +8 0.426304638386 0.369004756212 +15 0.413810491562 0.369004756212 +SURF 0x10 +mat 1 +refs 4 +0 0.426304638386 0.369004756212 +7 0.413810491562 0.369004756212 +16 0.414532542229 0.367254585028 +23 0.425582587719 0.367254585028 +SURF 0x10 +mat 1 +refs 4 +7 0.413810491562 0.369004756212 +6 0.404973506927 0.360167771578 +17 0.406715869904 0.359445750713 +16 0.414532542229 0.367254585028 +SURF 0x10 +mat 1 +refs 4 +6 0.404973506927 0.360167771578 +5 0.404973506927 0.347673624754 +18 0.406715869904 0.348395645618 +17 0.406715869904 0.359445750713 +SURF 0x10 +mat 1 +refs 4 +5 0.404973506927 0.347673624754 +4 0.413810491562 0.338836669922 +19 0.414532542229 0.340578913689 +18 0.406715869904 0.348395645618 +SURF 0x10 +mat 1 +refs 4 +4 0.413810491562 0.338836669922 +3 0.426304638386 0.338836669922 +20 0.425582587719 0.340578913689 +19 0.414532542229 0.340578913689 +SURF 0x10 +mat 1 +refs 4 +3 0.426304638386 0.338836669922 +2 0.435133755207 0.347673624754 +21 0.433391451836 0.348395645618 +20 0.425582587719 0.340578913689 +SURF 0x10 +mat 1 +refs 4 +2 0.435133755207 0.347673624754 +1 0.435133755207 0.360167771578 +22 0.433391451836 0.359445750713 +21 0.433391451836 0.348395645618 +SURF 0x10 +mat 1 +refs 4 +1 0.435133755207 0.360167771578 +0 0.426304638386 0.369004756212 +23 0.425582587719 0.367254585028 +22 0.433391451836 0.359445750713 +SURF 0x10 +mat 1 +refs 4 +23 0.425582587719 0.367254585028 +16 0.414532542229 0.367254585028 +17 0.406715869904 0.359445750713 +22 0.433391451836 0.359445750713 +SURF 0x10 +mat 1 +refs 4 +22 0.433391451836 0.359445750713 +17 0.406715869904 0.359445750713 +18 0.406715869904 0.348395645618 +21 0.433391451836 0.348395645618 +SURF 0x10 +mat 1 +refs 4 +21 0.433391451836 0.348395645618 +18 0.406715869904 0.348395645618 +19 0.414532542229 0.340578913689 +20 0.425582587719 0.340578913689 +kids 0 +OBJECT poly +name "test.btn" +data 8 +Mesh.026 +texture "ctl-62.png" +texrep 1 1 +crease 40.000000 +numvert 24 +0.004243 -0.026244 -0.001986 +0.004243 -0.02737 -0.003111 +0.004243 -0.028962 -0.003111 +0.004243 -0.030088 -0.001986 +0.004243 -0.030088 -0.000394 +0.004243 -0.028962 0.000732 +0.004243 -0.02737 0.000732 +0.004243 -0.026244 -0.000394 +0.002926 -0.026244 -0.001986 +0.002926 -0.02737 -0.003111 +0.002926 -0.028962 -0.003111 +0.002926 -0.030088 -0.001986 +0.002926 -0.030088 -0.000394 +0.002926 -0.028962 0.000732 +0.002926 -0.02737 0.000732 +0.002926 -0.026244 -0.000394 +0.004485 -0.026466 -0.000486 +0.004485 -0.027462 0.00051 +0.004485 -0.02887 0.00051 +0.004485 -0.029866 -0.000486 +0.004485 -0.029866 -0.001894 +0.004485 -0.02887 -0.002889 +0.004485 -0.027462 -0.002889 +0.004485 -0.026466 -0.001894 +numsurf 19 +SURF 0x10 +mat 1 +refs 4 +0 0.427904635668 0.37008485198 +1 0.436733752489 0.36124792695 +9 0.436733752489 0.36124792695 +8 0.427904635668 0.37008485198 +SURF 0x10 +mat 1 +refs 4 +1 0.436733752489 0.36124792695 +2 0.436733752489 0.348753720522 +10 0.436733752489 0.348753720522 +9 0.436733752489 0.36124792695 +SURF 0x10 +mat 1 +refs 4 +2 0.436733752489 0.348753720522 +3 0.427904635668 0.339916795492 +11 0.427904635668 0.339916795492 +10 0.436733752489 0.348753720522 +SURF 0x10 +mat 1 +refs 4 +3 0.427904635668 0.339916795492 +4 0.415410488844 0.339916795492 +12 0.415410488844 0.339916795492 +11 0.427904635668 0.339916795492 +SURF 0x10 +mat 1 +refs 4 +4 0.415410488844 0.339916795492 +5 0.406573563814 0.348753720522 +13 0.406573563814 0.348753720522 +12 0.415410488844 0.339916795492 +SURF 0x10 +mat 1 +refs 4 +5 0.406573563814 0.348753720522 +6 0.406573563814 0.36124792695 +14 0.406573563814 0.36124792695 +13 0.406573563814 0.348753720522 +SURF 0x10 +mat 1 +refs 4 +6 0.406573563814 0.36124792695 +7 0.415410488844 0.37008485198 +15 0.415410488844 0.37008485198 +14 0.406573563814 0.36124792695 +SURF 0x10 +mat 1 +refs 4 +7 0.415410488844 0.37008485198 +0 0.427904635668 0.37008485198 +8 0.427904635668 0.37008485198 +15 0.415410488844 0.37008485198 +SURF 0x10 +mat 1 +refs 4 +0 0.427904635668 0.37008485198 +7 0.415410488844 0.37008485198 +16 0.416132539511 0.368342548609 +23 0.427182585001 0.368342548609 +SURF 0x10 +mat 1 +refs 4 +7 0.415410488844 0.37008485198 +6 0.406573563814 0.36124792695 +17 0.408315867186 0.360525846481 +16 0.416132539511 0.368342548609 +SURF 0x10 +mat 1 +refs 4 +6 0.406573563814 0.36124792695 +5 0.406573563814 0.348753720522 +18 0.408315867186 0.349475771189 +17 0.408315867186 0.360525846481 +SURF 0x10 +mat 1 +refs 4 +5 0.406573563814 0.348753720522 +4 0.415410488844 0.339916795492 +19 0.416132539511 0.341659069061 +18 0.408315867186 0.349475771189 +SURF 0x10 +mat 1 +refs 4 +4 0.415410488844 0.339916795492 +3 0.427904635668 0.339916795492 +20 0.427182585001 0.341659069061 +19 0.416132539511 0.341659069061 +SURF 0x10 +mat 1 +refs 4 +3 0.427904635668 0.339916795492 +2 0.436733752489 0.348753720522 +21 0.434991449118 0.349475771189 +20 0.427182585001 0.341659069061 +SURF 0x10 +mat 1 +refs 4 +2 0.436733752489 0.348753720522 +1 0.436733752489 0.36124792695 +22 0.434991449118 0.360525846481 +21 0.434991449118 0.349475771189 +SURF 0x10 +mat 1 +refs 4 +1 0.436733752489 0.36124792695 +0 0.427904635668 0.37008485198 +23 0.427182585001 0.368342548609 +22 0.434991449118 0.360525846481 +SURF 0x10 +mat 1 +refs 4 +23 0.427182585001 0.368342548609 +16 0.416132539511 0.368342548609 +17 0.408315867186 0.360525846481 +22 0.434991449118 0.360525846481 +SURF 0x10 +mat 1 +refs 4 +22 0.434991449118 0.360525846481 +17 0.408315867186 0.360525846481 +18 0.408315867186 0.349475771189 +21 0.434991449118 0.349475771189 +SURF 0x10 +mat 1 +refs 4 +21 0.434991449118 0.349475771189 +18 0.408315867186 0.349475771189 +19 0.416132539511 0.341659069061 +20 0.427182585001 0.341659069061 +kids 0 +OBJECT poly +name "xmt.annun" +data 8 +Mesh.027 +texture "ctl-62.png" +texrep 1 1 +crease 30.000000 +numvert 25 +0.003657 -0.026232 0.007594 +0.003657 -0.027365 0.006461 +0.003657 -0.028967 0.006461 +0.003657 -0.0301 0.007594 +0.003657 -0.0301 0.009197 +0.003657 -0.028967 0.01033 +0.003657 -0.027365 0.01033 +0.003657 -0.026232 0.009197 +0.002984 -0.025837 0.007431 +0.002984 -0.027201 0.006067 +0.002984 -0.029131 0.006067 +0.002984 -0.030495 0.007431 +0.002984 -0.030495 0.00936 +0.002984 -0.02913 0.010724 +0.002984 -0.027201 0.010724 +0.002984 -0.025837 0.00936 +0.00403 -0.027153 0.008815 +0.00403 -0.027746 0.009409 +0.00403 -0.028586 0.009409 +0.00403 -0.029179 0.008815 +0.00403 -0.029179 0.007976 +0.00403 -0.028586 0.007382 +0.00403 -0.027746 0.007382 +0.00403 -0.027153 0.007976 +0.004171 -0.028166 0.008395 +numsurf 24 +SURF 0x10 +mat 1 +refs 4 +0 0.306933730841 0.200225278735 +1 0.318501800299 0.188657224178 +9 0.322524517775 0.190331682563 +8 0.30859798193 0.204258263111 +SURF 0x10 +mat 1 +refs 4 +1 0.318501800299 0.188657224178 +2 0.318501800299 0.172300755978 +10 0.322524517775 0.170626237988 +9 0.322524517775 0.190331682563 +SURF 0x10 +mat 1 +refs 4 +2 0.318501800299 0.172300755978 +3 0.306933730841 0.160732701421 +11 0.30859798193 0.156699717045 +10 0.322524517775 0.170626237988 +SURF 0x10 +mat 1 +refs 4 +3 0.306933730841 0.160732701421 +4 0.290566951036 0.160732701421 +12 0.288902699947 0.156699717045 +11 0.30859798193 0.156699717045 +SURF 0x10 +mat 1 +refs 4 +4 0.290566951036 0.160732701421 +5 0.278998970985 0.172300755978 +13 0.274976164103 0.170636430383 +12 0.288902699947 0.156699717045 +SURF 0x10 +mat 1 +refs 4 +5 0.278998970985 0.172300755978 +6 0.278998970985 0.188657224178 +14 0.274976164103 0.190331682563 +13 0.274976164103 0.170636430383 +SURF 0x10 +mat 1 +refs 4 +6 0.278998970985 0.188657224178 +7 0.290566951036 0.200225278735 +15 0.288902699947 0.204258263111 +14 0.274976164103 0.190331682563 +SURF 0x10 +mat 1 +refs 4 +7 0.290566951036 0.200225278735 +0 0.306933730841 0.200225278735 +8 0.30859798193 0.204258263111 +15 0.288902699947 0.204258263111 +SURF 0x10 +mat 1 +refs 4 +0 0.306933730841 0.200225278735 +7 0.290566951036 0.200225278735 +16 0.294467270374 0.190821796656 +23 0.30303350091 0.190821796656 +SURF 0x10 +mat 1 +refs 4 +7 0.290566951036 0.200225278735 +6 0.278998970985 0.188657224178 +17 0.288402467966 0.184767216444 +16 0.294467270374 0.190821796656 +SURF 0x10 +mat 1 +refs 4 +6 0.278998970985 0.188657224178 +5 0.278998970985 0.172300755978 +18 0.288402467966 0.176190719008 +17 0.288402467966 0.184767216444 +SURF 0x10 +mat 1 +refs 4 +5 0.278998970985 0.172300755978 +4 0.290566951036 0.160732701421 +19 0.294467270374 0.1701361835 +18 0.288402467966 0.176190719008 +SURF 0x10 +mat 1 +refs 4 +4 0.290566951036 0.160732701421 +3 0.306933730841 0.160732701421 +20 0.30303350091 0.1701361835 +19 0.294467270374 0.1701361835 +SURF 0x10 +mat 1 +refs 4 +3 0.306933730841 0.160732701421 +2 0.318501800299 0.172300755978 +21 0.309098213911 0.176190719008 +20 0.30303350091 0.1701361835 +SURF 0x10 +mat 1 +refs 4 +2 0.318501800299 0.172300755978 +1 0.318501800299 0.188657224178 +22 0.309098213911 0.184767216444 +21 0.309098213911 0.176190719008 +SURF 0x10 +mat 1 +refs 4 +1 0.318501800299 0.188657224178 +0 0.306933730841 0.200225278735 +23 0.30303350091 0.190821796656 +22 0.309098213911 0.184767216444 +SURF 0x10 +mat 1 +refs 3 +23 0.30303350091 0.190821796656 +16 0.294467270374 0.190821796656 +24 0.298755466938 0.180478990078 +SURF 0x10 +mat 1 +refs 3 +16 0.294467270374 0.190821796656 +17 0.288402467966 0.184767216444 +24 0.298755466938 0.180478990078 +SURF 0x10 +mat 1 +refs 3 +17 0.288402467966 0.184767216444 +18 0.288402467966 0.176190719008 +24 0.298755466938 0.180478990078 +SURF 0x10 +mat 1 +refs 3 +18 0.288402467966 0.176190719008 +19 0.294467270374 0.1701361835 +24 0.298755466938 0.180478990078 +SURF 0x10 +mat 1 +refs 3 +19 0.294467270374 0.1701361835 +20 0.30303350091 0.1701361835 +24 0.298755466938 0.180478990078 +SURF 0x10 +mat 1 +refs 3 +20 0.30303350091 0.1701361835 +21 0.309098213911 0.176190719008 +24 0.298755466938 0.180478990078 +SURF 0x10 +mat 1 +refs 3 +21 0.309098213911 0.176190719008 +22 0.309098213911 0.184767216444 +24 0.298755466938 0.180478990078 +SURF 0x10 +mat 1 +refs 3 +22 0.309098213911 0.184767216444 +23 0.30303350091 0.190821796656 +24 0.298755466938 0.180478990078 +kids 0 diff --git a/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl62.nas b/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl62.nas new file mode 100644 index 000000000..897a802cf --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/ADF-462/ctl62.nas @@ -0,0 +1,229 @@ +############################################################################### +## +## Nasal for dual control of a ADF 462 radio over the multiplayer +## network. +## +## Copyright (C) 2008 - 2010 Anders Gidenstam (anders(at)gidenstam.org) +## This file is licensed under the GPL license version 2 or later. +## +############################################################################### + +# Note: +# This module MUST be loaded as ADF462. +# + +# Slave button presses. +var swap_btn = "frq-swap-btn"; +var freq_decS = "freq-decS-clicked"; +var freq_incS = "freq-incS-clicked"; +var freq_decL = "freq-decL-clicked"; +var freq_incL = "freq-incL-clicked"; + +# Settings +var freq_selected = "frequencies/selected-khz"; +var freq_standby = "frequencies/standby-khz"; + +var adf_base = ["instrumentation/adf[0]", + "instrumentation/adf[1]"]; + +########################################################################### +var master_ctl62 = { + new : func(n) { + var obj = {}; + obj.parents = [master_ctl62]; + obj.adf_base = props.globals.getNode(adf_base[n]); + return obj; + }, + swap : func() { + var tmp = me.adf_base.getNode(freq_selected).getValue(); + me.adf_base.getNode(freq_selected).setValue + (me.adf_base.getNode(freq_standby).getValue()); + me.adf_base.getNode(freq_standby).setValue(tmp); + }, + adjust_frequency : func(d) { + adjust_radio_frequency( + me.adf_base.getNode(freq_standby), + d, + 190.0, + 1800.0); + } +}; + +########################################################################### +var slave_ctl62 = { + new : func(n, airoot) { + var obj = {}; + obj.parents = [slave_ctl62]; + obj.root = airoot; + obj.adf_base = props.globals.getNode(adf_base[n]); + return obj; + }, + swap : func() { + var p = me.adf_base.getNode(swap_btn); + print("ADF62[?].SWAP"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + adjust_frequency : func(d) { + var p = 0; + if (abs(d) < 5.0) { + p = (d < 0) ? me.adf_base.getNode(freq_decS) + : me.adf_base.getNode(freq_incS); + } else { + p = (d < 0) ? me.adf_base.getNode(freq_decL) + : me.adf_base.getNode(freq_incL); + } + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + } +}; + +########################################################################### +# The ADF 462 pick animations default to master. +# NOTE: Use make_master() and make_slave_to(). +# Do NOT change ctl62 directly. +var ctl62 = [master_ctl62.new(0), master_ctl62.new(1)]; + + +########################################################################### +# API for pick animations and dual control setup. +########################################################################### + +########################################################################### +# n - Adf# +var make_master = func(n) { + ctl62[n] = master_ctl62.new(n); +} + +########################################################################### +# n - Adf# +var make_slave_to = func(n, airoot) { + ctl62[n] = slave_ctl62.new(n, airoot); +} + +########################################################################### +# n - Adf# +var swap = func(n) { + ctl62[n].swap(); +} + +########################################################################### +# n - Adf# +# d - adjustment +var adjust_frequency = func(n, d) { + ctl62[n].adjust_frequency(d); +} + +########################################################################### +# Create aliases to drive a radio 3d model in an AI/MP model. +# n - Adf# +var animate_aimodel = func(n, airoot) { + var p = "systems/electrical/outputs/adf["~ n ~"]"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = "instrumentation/adf["~ n ~"]/serviceable"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = adf_base[n] ~ "/" ~ freq_selected; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = adf_base[n] ~ "/" ~ freq_standby; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); +} + +########################################################################### +# Create a TDMEncoder node array for sending the current radio state to +# slaves. +# n - Adf# +var master_send_state = func(n) { + var b = props.globals.getNode(adf_base[n]); + return + [ + b.getNode(freq_selected), + b.getNode(freq_standby) + ]; +} + +########################################################################### +# Create a SwitchDecoder action array for processing button presses +# from a slave. +# n - Adf# +var master_receive_slave_buttons = func(n) { + return + [ + func (b) { + if (b) { swap(n); } + }, + func (b) { + if (b) { adjust_frequency(n, -1.0); } + }, + func (b) { + if (b) { adjust_frequency(n, 1.0); } + }, + func (b) { + if (b) { adjust_frequency(n, -10.0); } + }, + func (b) { + if (b) { adjust_frequency(n, 10.0); } + } + ]; +} + +########################################################################### +# Create a TDMDecoder action array for processing the radio state +# from the master. +# n - Adf# +var slave_receive_master_state = func(n) { + var b = props.globals.getNode(adf_base[n]); + return + [ + func (v) { + b.getNode(freq_selected).setValue(v); + }, + func (v) { + b.getNode(freq_standby).setValue(v); + } + ]; +} + +########################################################################### +# Create a SwitchEncoder node array for sending button presses +# to the master +# n - Adf# +var slave_send_buttons = func(n) { + var b = props.globals.getNode(adf_base[n]); + return + [ + b.getNode(swap_btn, 1), + b.getNode(freq_decS, 1), + b.getNode(freq_incS, 1), + b.getNode(freq_decL, 1), + b.getNode(freq_incL, 1), + ]; +} + + + +########################################################################### +# (Not so) Generic frequency stepper. +# f - frequency property +# d - change +# min - min frequency +# max - max frequency +var adjust_radio_frequency = func(f, d, min, max) { + var old = f.getValue(); + var new = old + d; + if (new < min - 0.05) { + new = max + (new - min); + if ((max - new) >= -d) new += -d; + } + if (new > max + 0.05) { + new = min + (new - max); + if ((new - min) >= d) new -= d; + } +# print("Old: " ~ old ~ " Intermediate: " ~ (old + d) ~ " New: " ~ new); + f.setValue(new); +} diff --git a/Aircraft/Generic/DualControl/Instruments/KAP-140/KAP140TwoAxisAlt.xml b/Aircraft/Generic/DualControl/Instruments/KAP-140/KAP140TwoAxisAlt.xml new file mode 100644 index 000000000..17bf86389 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KAP-140/KAP140TwoAxisAlt.xml @@ -0,0 +1,13 @@ + + + + + null.ac + + + Aircraft/Instruments-3d/kap140/KAP140TwoAxisAlt.xml + + + + + diff --git a/Aircraft/Generic/DualControl/Instruments/KAP-140/kap140.nas b/Aircraft/Generic/DualControl/Instruments/KAP-140/kap140.nas new file mode 100644 index 000000000..447408842 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KAP-140/kap140.nas @@ -0,0 +1,330 @@ +############################################################################### +## +## Nasal for dual control of a KAP 140 autopilot over the multiplayer +## network. +## +## Copyright (C) 2008 - 2010 Anders Gidenstam (anders(at)gidenstam.org) +## This file is licensed under the GPL license version 2 or later. +## +############################################################################### + +# Note: +# This module MUST be loaded as kap140. +# + +# Load the real KAP 140 module as kap140_implementation. +if (!contains(globals, "kap140_implementation")) { + io.load_nasal(getprop("/sim/fg-root") ~ + "/Aircraft/Generic/kap140.nas", + "kap140_implementation"); +} + +# Slave button presses. +var ap_btn = "ap-btn"; +var hdg_btn = "hdg-btn"; +var nav_btn = "nav-btn"; +var apr_btn = "apr-btn"; +var alt_btn = "alt-btn"; +var rev_btn = "rev-btn"; +var down_btn = "down-btn"; +var up_btn = "up-btn"; +var arm_btn = "arm-btn"; +var baro_press_btn = "baro-press-btn"; +var baro_release_btn = "baro-release-btn"; + +var base = "autopilot/kap140/"; +var buttons = base ~ "buttons/"; + +############################################################################### +# API function wrappers. + +var apButton = func { + kap140.apButton(); +} + +var hdgButton = func { + kap140.hdgButton(); +} + +var navButton = func { + kap140.navButton(); +} + +var aprButton = func { + kap140.aprButton(); +} + +var altButton = func { + kap140.altButton(); +} + +var revButton = func { + kap140.revButton(); +} + +var downButton = func { + kap140.downButton(); +} + +var upButton = func { + kap140.upButton(); +} + +var armButton = func { + kap140.armButton(); +} + +var baroButtonPress = func { + kap140.baroButtonPress(); +} + +var baroButtonRelease = func { + kap140.baroButtonRelease(); +} + +var knobSmallDown = func { + kap140.knobSmallDown(); +} + +var knobSmallUp = func { + kap140.knobSmallUp(); +} + +var knobLargeDown = func { + kap140.knobLargeDown(); +} + +var knobLargeUp = func { + kap140.knobLargeUp(); +} + +############################################################################### + +########################################################################### +# The master is just the standard implementation. +var master_kap140 = + contains(globals, "kap140_implementation") ? kap140_implementation : nil; + +########################################################################### +var slave_kap140 = { + new : func(airoot) { + var obj = {}; + obj.parents = [slave_kap140]; + obj.root = airoot; + obj.base = props.globals.getNode("/autopilot/kap140/buttons", 1); + return obj; + }, + apButton : func { + var p = me.base.getNode(ap_btn); + print("KAP140.AP"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + hdgButton : func { + var p = me.base.getNode(hdg_btn); + print("KAP140.HDG"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + navButton : func { + var p = me.base.getNode(nav_btn); + print("KAP140.NAV"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + aprButton : func { + var p = me.base.getNode(apr_btn); + print("KAP140.APR"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + altButton : func { + var p = me.base.getNode(alt_btn); + print("KAP140.ALT"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + revButton : func { + var p = me.base.getNode(rev_btn); + print("KAP140.REV"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + downButton : func { + var p = me.base.getNode(down_btn); + print("KAP140.DN"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + upButton : func { + var p = me.base.getNode(up_btn); + print("KAP140.UP"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + armButton : func { + var p = me.base.getNode(arm_btn); + print("KAP140.ARM"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + baroButtonPress : func { + var p = me.base.getNode(baro_press_btn); + print("KAP140.BARO_PRESS"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + baroButtonRelease : func { + var p = me.base.getNode(baro_release_btn); + print("KAP140.BARO_RELEASE"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + knobSmallDown : func { + }, + knobSmallUp : func { + }, + knobLargeDown : func { + }, + knobLargeUp : func { + }, +}; + +########################################################################### +# The KAP140 pick animations default to master. +var kap140 = master_kap140; + +########################################################################### +# API for dual control setup. +########################################################################### + +########################################################################### +var make_master = func { + master_kap140 = + contains(globals, "kap140_implementation") ? kap140_implementation : nil; +} + +########################################################################### +var make_slave_to = func(airoot) { + kap140 = slave_kap140.new(airoot); +} + +########################################################################### +# Create aliases to drive the KAP 140 3d model in an AI/MP model. +var animate_aimodel = func(airoot) { +# var p = base ~ "/data-is-valid"; +# airoot.getNode(p, 1).alias(props.globals.getNode(p)); +} + +########################################################################### +# Create a TDMEncoder node array for sending the current state to +# slaves. +var master_send_state = func { + return + [ + ]; +} + +########################################################################### +# Create a SwitchDecoder action array for processing button presses +# from a slave. +var master_receive_slave_buttons = func { + return + [ + func (b) { + if (b) { kap140.apButton(); } + }, + func (b) { + if (b) { kap140.hdgButton(); } + }, + func (b) { + if (b) { kap140.navButton(); } + }, + func (b) { + if (b) { kap140.aprButton(); } + }, + func (b) { + if (b) { kap140.altButton(); } + }, + func (b) { + if (b) { kap140.revButton(); } + }, + func (b) { + if (b) { kap140.downButton(); } + }, + func (b) { + if (b) { kap140.upButton(); } + }, + func (b) { + if (b) { kap140.armButton(); } + }, + func (b) { + if (b) { kap140.baroButtonPress(); } + }, + func (b) { + if (b) { kap140.baroButtonRelease(); } + } + ]; +} + +########################################################################### +# Create a TDMDecoder action array for processing the state +# from the master. +var slave_receive_master_state = func { + return + [ + ]; +} + +########################################################################### +# Create a SwitchEncoder node array for sending button presses +# to the master +var slave_send_buttons = func { + return + [ + props.globals.getNode(buttons ~ ap_btn, 1), + props.globals.getNode(buttons ~ hdg_btn, 1), + props.globals.getNode(buttons ~ nav_btn, 1), + props.globals.getNode(buttons ~ apr_btn, 1), + props.globals.getNode(buttons ~ alt_btn, 1), + props.globals.getNode(buttons ~ rev_btn, 1), + props.globals.getNode(buttons ~ down_btn, 1), + props.globals.getNode(buttons ~ up_btn, 1), + props.globals.getNode(buttons ~ arm_btn, 1), + props.globals.getNode(buttons ~ baro_press_btn, 1), + props.globals.getNode(buttons ~ baro_release_btn, 1) + ]; +} diff --git a/Aircraft/Generic/DualControl/Instruments/KAP-140/null.ac b/Aircraft/Generic/DualControl/Instruments/KAP-140/null.ac new file mode 100644 index 000000000..e0952a6b7 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KAP-140/null.ac @@ -0,0 +1,3 @@ +AC3Db +OBJECT poly +kids 0 diff --git a/Aircraft/Generic/DualControl/Instruments/KDI-572/dme.ac b/Aircraft/Generic/DualControl/Instruments/KDI-572/dme.ac new file mode 100644 index 000000000..f2f22d279 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KDI-572/dme.ac @@ -0,0 +1,823 @@ +AC3Db +MATERIAL "DefaultWhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0 +MATERIAL "illum" rgb 1 1 1 amb 1 1 1 emis 0.7 0.7 0.7 spec 0 0 0 shi 0 trans 0 +MATERIAL "glosswhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.255556 0.255556 0.255556 shi 32 trans 0 +MATERIAL "flatpaint" rgb 0.8 0.8 0.8 amb 0.8 0.8 0.8 emis 0.051361 0.051361 0.051361 spec 0 0 0 shi 32 trans 0 +OBJECT world +kids 13 +OBJECT poly +name "DME.kt1" +data 9 +Plane.145 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.001016 0.011226 0.002169 +0.001016 0.002312 0.002169 +0.001016 0.002312 0.007201 +0.001016 0.011226 0.007201 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.0838298201561 0.199461504817 +3 0.0236648730934 0.199461504817 +2 0.0236648730934 0.00404679775238 +1 0.0838298201561 0.00404679775238 +kids 0 +OBJECT poly +name "DME.kt2" +data 9 +Plane.146 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.001016 0.011226 -0.003798 +0.001016 0.002312 -0.003798 +0.001016 0.002312 0.001234 +0.001016 0.011226 0.001234 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.0838298201561 0.199461504817 +3 0.0236648730934 0.199461504817 +2 0.0236648730934 0.00404679775238 +1 0.0838298201561 0.00404679775238 +kids 0 +OBJECT poly +name "DME.kt3" +data 9 +Plane.147 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.001016 0.011226 -0.009766 +0.001016 0.002312 -0.009766 +0.001016 0.002312 -0.004733 +0.001016 0.011226 -0.004733 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.0838298201561 0.199461504817 +3 0.0236648730934 0.199461504817 +2 0.0236648730934 0.00404679775238 +1 0.0838298201561 0.00404679775238 +kids 0 +OBJECT poly +name "DME.mn1" +data 9 +Plane.149 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.001016 0.011226 -0.024916 +0.001016 0.002312 -0.024916 +0.001016 0.002312 -0.019884 +0.001016 0.011226 -0.019884 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.0838298201561 0.199461504817 +3 0.0236648730934 0.199461504817 +2 0.0236648730934 0.00404679775238 +1 0.0838298201561 0.00404679775238 +kids 0 +OBJECT poly +name "DME.mn2" +data 9 +Plane.148 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.001016 0.011226 -0.030883 +0.001016 0.002312 -0.030883 +0.001016 0.002312 -0.025851 +0.001016 0.011226 -0.025851 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.0838298201561 0.199461504817 +3 0.0236648730934 0.199461504817 +2 0.0236648730934 0.00404679775238 +1 0.0838298201561 0.00404679775238 +kids 0 +OBJECT poly +name "DME.nm" +data 9 +Plane.150 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.000959 0.003707 0.022752 +0.000959 0.002877 0.022752 +0.000959 0.002877 0.023547 +0.000959 0.003707 0.023547 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.0709507837892 0.181225210428 +3 0.0457188934088 0.181225210428 +2 0.0457188934088 0.166461586952 +1 0.0709507837892 0.166461586952 +kids 0 +OBJECT poly +name "DME.nm1" +data 9 +Plane.131 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.001016 0.011226 0.02914 +0.001016 0.002312 0.02914 +0.001016 0.002312 0.034172 +0.001016 0.011226 0.034172 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.0838298201561 0.199461504817 +3 0.0236648730934 0.199461504817 +2 0.0236648730934 0.00404679775238 +1 0.0838298201561 0.00404679775238 +kids 0 +OBJECT poly +name "DME.nm2" +data 9 +Plane.143 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.001016 0.011226 0.023676 +0.001016 0.002312 0.023676 +0.001016 0.002312 0.028708 +0.001016 0.011226 0.028708 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.0838298201561 0.199461504817 +3 0.0236648730934 0.199461504817 +2 0.0236648730934 0.00404679775238 +1 0.0838298201561 0.00404679775238 +kids 0 +OBJECT poly +name "DME.nm3" +data 9 +Plane.151 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 4 +0.001016 0.011226 0.017181 +0.001016 0.002312 0.017181 +0.001016 0.002312 0.022214 +0.001016 0.011226 0.022214 +numsurf 1 +SURF 0x00 +mat 1 +refs 4 +0 0.0838298201561 0.199461504817 +3 0.0236648730934 0.199461504817 +2 0.0236648730934 0.00404679775238 +1 0.0838298201561 0.00404679775238 +kids 0 +OBJECT poly +name "DMEswitch" +data 8 +Cylinder +texture "dme.png" +texrep 1 1 +crease 40.000000 +numvert 28 +0.001039 -0.006427 0.003573 +0.001039 -0.005119 0.001308 +0.001039 -0.005119 -0.001308 +0.001039 -0.006427 -0.003573 +0.001039 -0.008692 -0.004881 +0.001039 -0.011308 -0.004881 +0.001039 -0.013573 -0.003573 +0.001039 -0.014881 -0.001308 +0.001039 -0.014881 0.001308 +0.001039 -0.013573 0.003573 +0.001039 -0.011308 0.004881 +0.001039 -0.008692 0.004881 +0.004499 -0.006686 0.003314 +0.004499 -0.005473 0.001213 +0.004499 -0.005473 -0.001213 +0.004499 -0.006686 -0.003314 +0.004499 -0.008787 -0.004527 +0.004499 -0.011213 -0.004527 +0.004499 -0.013314 -0.003314 +0.004499 -0.014527 -0.001213 +0.004499 -0.014527 0.001213 +0.004499 -0.013314 0.003314 +0.004499 -0.011213 0.004527 +0.004499 -0.008787 0.004527 +0.007779 -0.008787 -0.004193 +0.007779 -0.011213 -0.004193 +0.007779 -0.011213 0.004193 +0.007779 -0.008787 0.004193 +numsurf 21 +SURF 0x10 +mat 2 +refs 4 +0 0.535729765892 0.453892558813 +12 0.53325176239 0.448936551809 +13 0.544875144958 0.408671677113 +1 0.548260271549 0.410485655069 +SURF 0x10 +mat 2 +refs 4 +1 0.548260271549 0.410485655069 +13 0.544875144958 0.408671677113 +14 0.544875144958 0.362177878618 +2 0.548260271549 0.36036375165 +SURF 0x10 +mat 2 +refs 4 +2 0.548260271549 0.36036375165 +14 0.544875144958 0.362177878618 +15 0.533251881599 0.321913033724 +3 0.535729765892 0.316956788301 +SURF 0x10 +mat 2 +refs 4 +3 0.535729765892 0.316956788301 +15 0.533251881599 0.321913033724 +16 0.513119459152 0.298666030169 +4 0.514026403427 0.291895896196 +SURF 0x10 +mat 2 +refs 4 +4 0.514026403427 0.291895896196 +16 0.513119459152 0.298666030169 +17 0.489872395992 0.298665940762 +5 0.488965392113 0.291895896196 +SURF 0x10 +mat 2 +refs 4 +5 0.488965392113 0.291895896196 +17 0.489872395992 0.298665940762 +18 0.46974003315 0.321912825108 +6 0.467261910439 0.316956788301 +SURF 0x10 +mat 2 +refs 4 +6 0.467261910439 0.316956788301 +18 0.46974003315 0.321912825108 +19 0.458116590977 0.3621776402 +7 0.454731464386 0.360363692045 +SURF 0x10 +mat 2 +refs 4 +7 0.454731464386 0.360363692045 +19 0.458116590977 0.3621776402 +20 0.458116590977 0.408671438694 +8 0.454731464386 0.410485595465 +SURF 0x10 +mat 2 +refs 4 +8 0.454731464386 0.410485595465 +20 0.458116590977 0.408671438694 +21 0.46974003315 0.448936372995 +9 0.467261910439 0.453892499208 +SURF 0x10 +mat 2 +refs 4 +9 0.467261910439 0.453892499208 +21 0.46974003315 0.448936372995 +22 0.489872336388 0.472183257341 +10 0.488965272903 0.478953510523 +SURF 0x10 +mat 2 +refs 4 +10 0.488965272903 0.463854044676 +22 0.489872336388 0.457083791494 +23 0.513119280338 0.457083910704 +11 0.514026403427 0.463854044676 +SURF 0x10 +mat 2 +refs 4 +12 0.53325176239 0.448936551809 +0 0.535729765892 0.453892558813 +11 0.514026403427 0.478953510523 +23 0.513119280338 0.472183376551 +SURF 0x10 +mat 2 +refs 4 +18 0.46974003315 0.321912825108 +21 0.46974003315 0.448936372995 +20 0.458116590977 0.408671438694 +19 0.458116590977 0.3621776402 +SURF 0x10 +mat 2 +refs 4 +17 0.489872395992 0.298665940762 +22 0.489872336388 0.472183257341 +21 0.46974003315 0.448936372995 +18 0.46974003315 0.321912825108 +SURF 0x10 +mat 2 +refs 4 +12 0.53325176239 0.448936551809 +15 0.533251881599 0.321913033724 +14 0.544875144958 0.362177878618 +13 0.544875144958 0.408671677113 +SURF 0x10 +mat 2 +refs 4 +12 0.53325176239 0.448936551809 +23 0.513119280338 0.472183376551 +16 0.513119459152 0.298666030169 +15 0.533251881599 0.321913033724 +SURF 0x10 +mat 2 +refs 4 +17 0.489872395992 0.298665940762 +16 0.513119459152 0.298666030169 +24 0.513119459152 0.30507221818 +25 0.489872395992 0.305072128773 +SURF 0x10 +mat 2 +refs 4 +23 0.513119280338 0.457083910704 +22 0.489872336388 0.457083791494 +26 0.489872336388 0.450677603483 +27 0.513119280338 0.450677722692 +SURF 0x10 +mat 2 +refs 4 +22 0.489872336388 0.472183257341 +17 0.489872395992 0.298665940762 +25 0.489872395992 0.305072128773 +26 0.489872336388 0.46577706933 +SURF 0x10 +mat 2 +refs 4 +16 0.513119459152 0.298666030169 +23 0.513119280338 0.472183376551 +27 0.513119280338 0.46577718854 +24 0.513119459152 0.30507221818 +SURF 0x10 +mat 2 +refs 4 +25 0.489872395992 0.305072128773 +24 0.513119459152 0.30507221818 +27 0.513119280338 0.46577718854 +26 0.489872336388 0.46577706933 +kids 0 +OBJECT poly +name "dmebezel" +data 8 +Mesh.079 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 56 +0.000842 0.007242 -0.039319 +0.000842 -0.007229 -0.039331 +0.000842 -0.014511 -0.032798 +0.000842 -0.014515 0.032738 +0.000842 -0.007242 0.039319 +0.000842 0.007229 0.039331 +0.000843 0.01451 0.032798 +0.000842 0.014515 -0.032738 +0.002247 0.007242 -0.039319 +0.002247 0.014515 -0.032738 +0.002247 0.01451 0.032798 +0.002246 0.007229 0.039331 +0.002246 -0.007242 0.039319 +0.002247 -0.007229 -0.039331 +0.002247 -0.014516 0.032738 +0.002247 -0.014511 -0.032798 +0.002246 0.01607 -0.033721 +0.002247 0.008025 -0.04088 +0.002246 0.016065 0.033782 +0.002247 0.00801 0.040893 +0.002247 -0.008025 0.04088 +0.002247 -0.00801 -0.040894 +0.002247 -0.01607 0.03372 +0.002247 -0.016065 -0.033782 +0.000843 -6e-06 0.039325 +0.000842 7e-06 -0.039325 +0.00165 0.01607 -0.033721 +0.00165 0.008025 -0.04088 +0.00165 0.016065 0.033782 +0.00165 0.00801 0.040893 +0.00165 -0.008025 0.04088 +0.00165 -0.00801 -0.040894 +0.00165 -0.01607 0.03372 +0.00165 -0.016065 -0.033782 +0.00165 0.017447 -0.043733 +0.00165 0.016138 -0.044932 +0.00165 0.017442 0.043812 +0.00165 0.016107 0.044946 +0.00165 -0.016138 0.044932 +0.00165 -0.016108 -0.044947 +0.00165 -0.017448 0.043732 +0.00165 -0.017442 -0.043812 +0.000147 0.017447 -0.043733 +0.000147 0.016138 -0.044932 +0.000147 0.017442 0.043812 +0.000147 0.016107 0.044946 +0.000147 -0.016138 0.044932 +0.000147 -0.016108 -0.044947 +0.000147 -0.017448 0.043732 +0.000147 -0.017442 -0.043812 +0.000842 -0.007229 -0.039331 +0.000842 -0.014511 -0.032798 +0.000842 -0.014515 0.032738 +0.000842 -0.007242 0.039319 +0.000843 -6e-06 0.039325 +0.000842 7e-06 -0.039325 +numsurf 46 +SURF 0x00 +mat 3 +refs 4 +7 0.752499580383 0.500000059605 +0 0.752499580383 0.400000065565 +8 0.852499604225 0.400000065565 +9 0.852499604225 0.500000059605 +SURF 0x00 +mat 3 +refs 4 +6 0.752499580383 0.500000059605 +7 0.752499580383 0.400000065565 +9 0.852499604225 0.400000065565 +10 0.852499604225 0.500000059605 +SURF 0x00 +mat 3 +refs 4 +5 0.752499580383 0.500000059605 +6 0.752499580383 0.400000065565 +10 0.852499604225 0.400000065565 +11 0.852499604225 0.500000059605 +SURF 0x00 +mat 3 +refs 3 +4 0.752499580383 0.500000059605 +24 0.752499580383 0.400000065565 +12 0.852499604225 0.400000065565 +SURF 0x00 +mat 3 +refs 4 +3 0.752499580383 0.500000059605 +4 0.752499580383 0.400000065565 +12 0.852499604225 0.400000065565 +14 0.852499604225 0.500000059605 +SURF 0x00 +mat 3 +refs 4 +2 0.752499580383 0.500000059605 +3 0.752499580383 0.400000065565 +14 0.852499604225 0.400000065565 +15 0.852499604225 0.500000059605 +SURF 0x00 +mat 3 +refs 4 +1 0.752499580383 0.500000059605 +2 0.752499580383 0.400000065565 +15 0.852499604225 0.400000065565 +13 0.852499604225 0.500000059605 +SURF 0x00 +mat 3 +refs 4 +9 0.516570031643 0.94054287672 +8 0.516570031643 0.927807867527 +17 0.529305040836 0.927807867527 +16 0.529305040836 0.94054287672 +SURF 0x00 +mat 3 +refs 4 +10 0.516570031643 0.94054287672 +9 0.516570031643 0.927807867527 +16 0.529305040836 0.927807867527 +18 0.529305040836 0.94054287672 +SURF 0x00 +mat 3 +refs 4 +11 0.516570031643 0.94054287672 +10 0.516570031643 0.927807867527 +18 0.529305040836 0.927807867527 +19 0.529305040836 0.94054287672 +SURF 0x00 +mat 3 +refs 4 +12 0.516570031643 0.94054287672 +11 0.516570031643 0.927807867527 +19 0.529305040836 0.927807867527 +20 0.529305040836 0.94054287672 +SURF 0x00 +mat 3 +refs 4 +8 0.516570031643 0.94054287672 +13 0.516570031643 0.927807867527 +21 0.529305040836 0.927807867527 +17 0.529305040836 0.94054287672 +SURF 0x00 +mat 3 +refs 4 +14 0.516570031643 0.94054287672 +12 0.516570031643 0.927807867527 +20 0.529305040836 0.927807867527 +22 0.529305040836 0.94054287672 +SURF 0x00 +mat 3 +refs 4 +15 0.516570031643 0.94054287672 +14 0.516570031643 0.927807867527 +22 0.529305040836 0.927807867527 +23 0.529305040836 0.94054287672 +SURF 0x00 +mat 3 +refs 4 +13 0.516570031643 0.94054287672 +15 0.516570031643 0.927807867527 +23 0.529305040836 0.927807867527 +21 0.529305040836 0.94054287672 +SURF 0x00 +mat 3 +refs 3 +0 0.752499580383 0.500000059605 +25 0.752499580383 0.400000065565 +13 0.852499604225 0.400000065565 +SURF 0x00 +mat 3 +refs 3 +0 0.752499580383 0.500000059605 +13 0.752499580383 0.400000065565 +8 0.852499604225 0.400000065565 +SURF 0x00 +mat 3 +refs 3 +5 0.752499580383 0.500000059605 +11 0.752499580383 0.400000065565 +12 0.852499604225 0.400000065565 +SURF 0x00 +mat 3 +refs 3 +25 0.752499580383 0.500000059605 +1 0.752499580383 0.400000065565 +13 0.852499604225 0.400000065565 +SURF 0x00 +mat 3 +refs 3 +24 0.752499580383 0.500000059605 +5 0.752499580383 0.400000065565 +12 0.852499604225 0.400000065565 +SURF 0x00 +mat 3 +refs 4 +16 0.928124308586 0.311250269413 +17 0.928124308586 0.27125030756 +27 0.968124330044 0.27125030756 +26 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +18 0.928124308586 0.311250269413 +16 0.928124308586 0.27125030756 +26 0.968124330044 0.27125030756 +28 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +19 0.928124308586 0.311250269413 +18 0.928124308586 0.27125030756 +28 0.968124330044 0.27125030756 +29 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +20 0.928124308586 0.311250269413 +19 0.928124308586 0.27125030756 +29 0.968124330044 0.27125030756 +30 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +17 0.928124308586 0.311250269413 +21 0.928124308586 0.27125030756 +31 0.968124330044 0.27125030756 +27 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +22 0.928124308586 0.311250269413 +20 0.928124308586 0.27125030756 +30 0.968124330044 0.27125030756 +32 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +23 0.928124308586 0.311250269413 +22 0.928124308586 0.27125030756 +32 0.968124330044 0.27125030756 +33 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +21 0.928124308586 0.311250269413 +23 0.928124308586 0.27125030756 +33 0.968124330044 0.27125030756 +31 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +26 0.928124308586 0.311250269413 +27 0.928124308586 0.27125030756 +35 0.968124330044 0.27125030756 +34 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +28 0.928124308586 0.311250269413 +26 0.928124308586 0.27125030756 +34 0.968124330044 0.27125030756 +36 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +29 0.928124308586 0.311250269413 +28 0.928124308586 0.27125030756 +36 0.968124330044 0.27125030756 +37 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +30 0.928124308586 0.311250269413 +29 0.928124308586 0.27125030756 +37 0.968124330044 0.27125030756 +38 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +27 0.928124308586 0.311250269413 +31 0.928124308586 0.27125030756 +39 0.968124330044 0.27125030756 +35 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +32 0.928124308586 0.311250269413 +30 0.928124308586 0.27125030756 +38 0.968124330044 0.27125030756 +40 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +33 0.928124308586 0.311250269413 +32 0.928124308586 0.27125030756 +40 0.968124330044 0.27125030756 +41 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +31 0.928124308586 0.311250269413 +33 0.928124308586 0.27125030756 +41 0.968124330044 0.27125030756 +39 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +34 0.928124308586 0.311250269413 +35 0.928124308586 0.27125030756 +43 0.968124330044 0.27125030756 +42 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +36 0.928124308586 0.311250269413 +34 0.928124308586 0.27125030756 +42 0.968124330044 0.27125030756 +44 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +37 0.928124308586 0.311250269413 +36 0.928124308586 0.27125030756 +44 0.968124330044 0.27125030756 +45 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +38 0.928124308586 0.311250269413 +37 0.928124308586 0.27125030756 +45 0.968124330044 0.27125030756 +46 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +35 0.928124308586 0.311250269413 +39 0.928124308586 0.27125030756 +47 0.968124330044 0.27125030756 +43 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +40 0.928124308586 0.311250269413 +38 0.928124308586 0.27125030756 +46 0.968124330044 0.27125030756 +48 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +41 0.928124308586 0.311250269413 +40 0.928124308586 0.27125030756 +48 0.968124330044 0.27125030756 +49 0.968124330044 0.311250269413 +SURF 0x00 +mat 3 +refs 4 +39 0.928124308586 0.311250269413 +41 0.928124308586 0.27125030756 +49 0.968124330044 0.27125030756 +47 0.968124330044 0.311250269413 +SURF 0x10 +mat 3 +refs 4 +50 0.920733690262 0.440070271492 +53 0.0834924578667 0.439790010452 +52 0.153548210859 0.284956693649 +51 0.851188838482 0.285044133663 +SURF 0x10 +mat 3 +refs 4 +50 0.920733690262 0.440070271492 +55 0.920669853687 0.594127893448 +54 0.0834285616875 0.593843877316 +53 0.0834924578667 0.439790010452 +kids 0 +OBJECT poly +name "dmeface" +data 8 +Mesh.094 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 6 +0.000842 7e-06 -0.039325 +0.000843 -6e-06 0.039325 +0.000842 0.014515 -0.032738 +0.000843 0.01451 0.032798 +0.000842 0.007229 0.039331 +0.000842 0.007242 -0.039319 +numsurf 2 +SURF 0x10 +mat 1 +refs 4 +0 0.922852396965 0.604025781155 +5 0.922788202763 0.758947312832 +4 0.0807167291641 0.758664429188 +1 0.0807809233665 0.603740155697 +SURF 0x10 +mat 1 +refs 4 +5 0.922788202763 0.758947312832 +2 0.848569154739 0.914694130421 +3 0.154421895742 0.914586186409 +4 0.0807167291641 0.758664429188 +kids 0 +OBJECT poly +name "dmeface.001" +data 8 +Mesh.354 +texture "dme.png" +texrep 1 1 +crease 30.000000 +numvert 6 +0.000706 1.1e-05 -0.039929 +0.000707 -3e-06 0.039929 +0.000768 0.015102 -0.03324 +0.000768 0.015097 0.033301 +0.000737 0.007523 0.039935 +0.000737 0.007536 -0.039922 +numsurf 2 +SURF 0x10 +mat 1 +refs 4 +0 0.610067427158 0.813914358616 +5 0.61005282402 0.849155306816 +4 0.41850155592 0.849090993404 +1 0.418516159058 0.813849389553 +SURF 0x10 +mat 1 +refs 4 +5 0.61005282402 0.849155306816 +2 0.593169748783 0.884584009647 +3 0.435267746449 0.884559452534 +4 0.41850155592 0.849090993404 +kids 0 diff --git a/Aircraft/Generic/DualControl/Instruments/KDI-572/dme.png b/Aircraft/Generic/DualControl/Instruments/KDI-572/dme.png new file mode 100644 index 000000000..c4322a4ea Binary files /dev/null and b/Aircraft/Generic/DualControl/Instruments/KDI-572/dme.png differ diff --git a/Aircraft/Generic/DualControl/Instruments/KDI-572/kdi572.nas b/Aircraft/Generic/DualControl/Instruments/KDI-572/kdi572.nas new file mode 100644 index 000000000..936c4e019 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KDI-572/kdi572.nas @@ -0,0 +1,66 @@ +############################################################################### +## $Id$ +## +## Nasal for KDI 572 DME. +## +## Copyright (C) 2006 - 2008 Syd Adams +## Adapted for dual control by Anders Gidenstam +## +## This file is licensed under the GPL license version 2 or later. +## +############################################################################### + +# Note: +# This module MUST be loaded as KDI572. +# + +var base = ["instrumentation/dme[0]", + "instrumentation/dme[1]"]; + +########################################################################### +# API for pick animations. +########################################################################### + +var dme_step = func(stp) { + var switch= getprop("instrumentation/dme/switch-position"); + switch += stp; + if (switch >3) switch=3; + if (switch <0) switch=0; + setprop("instrumentation/dme/switch-position", switch); + + if (switch==0) { + setprop("instrumentation/dme/frequencies/source", + "instrumentation/dme/frequencies/selected-mhz"); + } elsif (switch==1) { + setprop("instrumentation/dme/frequencies/source", + "instrumentation/nav[0]/frequencies/selected-mhz"); + } elsif (switch==2) { + setprop("instrumentation/dme/frequencies/source", + "instrumentation/dme/frequencies/selected-mhz"); + } elsif (switch==3) { + setprop("instrumentation/dme/frequencies/source", + "instrumentation/nav[1]/frequencies/selected-mhz"); + } +} + +########################################################################### +# API for dual control setup. +########################################################################### + +########################################################################### +# Create aliases to drive a KDI-572 3d model in an AI/MP model. +# n - unit# +var animate_aimodel = func(n, airoot) { + var p = "systems/electrical/outputs/dme"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/switch-position"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/in-range"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/indicated-distance-nm"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/indicated-ground-speed-kt"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/indicated-time-min"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); +} diff --git a/Aircraft/Generic/DualControl/Instruments/KDI-572/kdi572.xml b/Aircraft/Generic/DualControl/Instruments/KDI-572/kdi572.xml new file mode 100644 index 000000000..81bea819c --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KDI-572/kdi572.xml @@ -0,0 +1,228 @@ + + + + + dme.ac + + + select + dmeface + + + + systems/electrical/outputs/dme + 8 + + + instrumentation/dme/switch-position + 0 + + + + + + + select + DME.nm + DME.nm1 + DME.nm2 + DME.nm3 + DME.kt1 + DME.kt2 + DME.kt3 + DME.mn1 + DME.mn2 + + + + systems/electrical/outputs/dme + 8 + + instrumentation/dme/in-range + + + + + + rotate + DMEswitch + instrumentation/dme/switch-position + + + 00.0 + + + 135.0 + + + 290.0 + + + 3150.0 + + + + -1 + 0 + 0 + +
+ 0 + 0 + -0.010 +
+
+ + + + + textranslate + DME.nm1 + instrumentation/dme/indicated-distance-nm + 0.01 + 10 + + 1 + 0 + 0 + + + + + textranslate + DME.nm2 + instrumentation/dme/indicated-distance-nm + 0.1 + 1 + + 1 + 0 + 0 + + + + + textranslate + DME.nm3 + instrumentation/dme/indicated-distance-nm + 1.0 + 0.1 + + 1 + 0 + 0 + + + + + + + textranslate + DME.kt1 + instrumentation/dme/indicated-ground-speed-kt + 0.001 + 100 + + 1 + 0 + 0 + + + + + textranslate + DME.kt2 + instrumentation/dme/indicated-ground-speed-kt + 0.01 + 10 + + 1 + 0 + 0 + + + + + textranslate + DME.kt3 + instrumentation/dme/indicated-ground-speed-kt + 0.1 + 1 + + 1 + 0 + 0 + + + + + + + textranslate + DME.mn1 + instrumentation/dme/indicated-time-min + 0.01 + 10 + + 1 + 0 + 0 + + + + + textranslate + DME.mn2 + instrumentation/dme/indicated-time-min + 0.1 + 1 + + 1 + 0 + 0 + + + + + + + pick + DMEswitch + + + false + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + +
diff --git a/Aircraft/Generic/DualControl/Instruments/KI-206/ki206-1.xml b/Aircraft/Generic/DualControl/Instruments/KI-206/ki206-1.xml new file mode 100644 index 000000000..7536792ed --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KI-206/ki206-1.xml @@ -0,0 +1,176 @@ + + + + + Aircraft/Instruments-3d/ki206/ki206.ac + Aircraft/Instruments-3d/ki206/ + + material + KI206.gsflag + KI206.toflag + KI206.fromflag + KI206.navflag + KI206.face + KI206card + KI206.locneedle + KI206.gsneedle + KI206.knob + + 0.8 + 0.4 + 0.2 + /systems/electrical/outputs/instrument-lights + + + + + select + KI206.navflag + + + + instrumentation/nav[0]/data-is-valid + + + systems/electrical/outputs/nav[0] + 0.1 + + + instrumentation/nav[0]/in-range + + + + + + + select + KI206.gsflag + + + + instrumentation/nav[0]/has-gs + + + systems/electrical/outputs/nav[0] + 0.1 + + + instrumentation/nav[0]/in-range + 30000 + + + + + + + select + KI206.toflag + + instrumentation/nav[0]/to-flag + + + + + select + KI206.fromflag + + instrumentation/nav[0]/from-flag + + + + + rotate + KI206card + instrumentation/nav[0]/radials/selected-deg + + 1 + 0 + 0 + + + + + translate + KI206.locneedle + instrumentation/nav[0]/heading-needle-deflection + + -10.0-0.0113 + 0.00.0 + 10.00.0113 + + + 0.0 + 1.0 + 0.0 + + + + + translate + KI206.gsneedle + instrumentation/nav[0]/gs-needle-deflection + + -9999.0-0.0113 + -10.0-0.0113 + 0.00.0 + 10.00.0113 + 9999.00.0113 + + + 0.0 + 0.0 + 1.0 + + + + + pick + KI206.knob + true + + click + + true + 0.1 + + nasal + + + + + click + + true + 0.1 + + nasal + + + + + click + + false + 0.1 + + nasal + + + + + click + + false + 0.1 + + nasal + + + + + + diff --git a/Aircraft/Generic/DualControl/Instruments/KI-206/ki206-2.xml b/Aircraft/Generic/DualControl/Instruments/KI-206/ki206-2.xml new file mode 100644 index 000000000..3262cf49a --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KI-206/ki206-2.xml @@ -0,0 +1,176 @@ + + + + + Aircraft/Instruments-3d/ki206/ki206.ac + Aircraft/Instruments-3d/ki206/ + + material + KI206.gsflag + KI206.toflag + KI206.fromflag + KI206.navflag + KI206.face + KI206card + KI206.locneedle + KI206.gsneedle + KI206.knob + + 0.8 + 0.4 + 0.2 + /systems/electrical/outputs/instrument-lights + + + + + select + KI206.navflag + + + + instrumentation/nav[1]/data-is-valid + + + systems/electrical/outputs/nav[1] + 0.1 + + + instrumentation/nav[1]/in-range + + + + + + + select + KI206.gsflag + + + + instrumentation/nav[1]/has-gs + + + systems/electrical/outputs/nav[1] + 0.1 + + + instrumentation/nav[1]/in-range + 30000 + + + + + + + select + KI206.toflag + + instrumentation/nav[1]/to-flag + + + + + select + KI206.fromflag + + instrumentation/nav[1]/from-flag + + + + + rotate + KI206card + instrumentation/nav[1]/radials/selected-deg + + 1 + 0 + 0 + + + + + translate + KI206.locneedle + instrumentation/nav[1]/heading-needle-deflection + + -10.0-0.0113 + 0.00.0 + 10.00.0113 + + + 0.0 + 1.0 + 0.0 + + + + + translate + KI206.gsneedle + instrumentation/nav[1]/gs-needle-deflection + + -9999.0-0.0113 + -10.0-0.0113 + 0.00.0 + 10.00.0113 + 9999.00.0113 + + + 0.0 + 0.0 + 1.0 + + + + + pick + KI206.knob + true + + click + + true + 0.1 + + nasal + + + + + click + + true + 0.1 + + nasal + + + + + click + + false + 0.1 + + nasal + + + + + click + + false + 0.1 + + nasal + + + + + + diff --git a/Aircraft/Generic/DualControl/Instruments/KI-206/ki206.nas b/Aircraft/Generic/DualControl/Instruments/KI-206/ki206.nas new file mode 100644 index 000000000..5ab194397 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KI-206/ki206.nas @@ -0,0 +1,166 @@ +############################################################################### +## +## Nasal for dual control of a KI-206 VOR indicator over the multiplayer +## network. +## +## Copyright (C) 2007 - 2010 Anders Gidenstam (anders(at)gidenstam.org) +## This file is licensed under the GPL license version 2 or later. +## +############################################################################### + +# Note: +# This module MUST be loaded as KI206. + +# Slave button presses. +var radial_decS = "radial-decS-clicked"; +var radial_incS = "radial-incS-clicked"; +# Only one step size implemented. + +var selected_radial = "radials/selected-deg"; +var base = ["instrumentation/nav[0]", + "instrumentation/nav[1]"]; + +########################################################################### +var master_ki206 = { + new : func(n) { + var obj = {}; + obj.parents = [master_ki206]; + obj.base = props.globals.getNode(base[n]); + return obj; + }, + adjust_radial : func(d) { + p = me.base.getNode(selected_radial); + var v = p.getValue() + d; + if (v < 0) { v += 360; }; + if (v > 360) { v -= 360; }; + p.setValue(v); + } +}; + +########################################################################### +var slave_ki206 = { + new : func(n, airoot) { + var obj = {}; + obj.parents = [slave_ki206]; + obj.root = airoot; + obj.base = props.globals.getNode(base[n]); + return obj; + }, + adjust_radial : func(d) { + var p = 0; + if (abs(d) < 0.99) { + p = (d < 0) ? me.base.getNode(radial_decS) + : me.base.getNode(radial_incS); + } else { + p = (d < 0) ? me.base.getNode(radial_decS) + : me.base.getNode(radial_incS); + } + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + } +}; + +########################################################################### +# The KI-206 pick animations default to master. +# NOTE: Use make_master() and make_slave_to(). Do NOT change ki206 directly. +var ki206 = [master_ki206.new(0), master_ki206.new(1)]; + +########################################################################### +# API for pick animations and dual control setup. +########################################################################### + +########################################################################### +# n - Nav# +var make_master = func(n) { + ki206[n] = master_ki206.new(n); +} + +########################################################################### +# n - Nav# +var make_slave_to = func(n, airoot) { + ki206[n] = KI206.slave_ki206.new(n, airoot); +} + +########################################################################### +# n - Nav# +# d - adjustment delta +var adjust_radial = func(n, d) { + ki206[n].adjust_radial(d); +} + +########################################################################### +# Create aliases to drive the KI 206 3d model in an AI/MP model. +# n - Nav# +var animate_aimodel = func(n, airoot) { + var p = base[n] ~ "/data-is-valid"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/in-range"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/has-gs"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/to-flag"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/from-flag"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/" ~ selected_radial; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/heading-needle-deflection"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/gs-needle-deflection"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); +} + +########################################################################### +# Create a TDMEncoder node array for sending the current radio state to +# slaves. +# n - Nav# +var master_send_state = func(n) { + return + [ + props.globals.getNode(base[n] ~ "/" ~ selected_radial) + ]; +} + +########################################################################### +# Create a SwitchDecoder action array for processing button presses +# from a slave. +# n - Nav# +var master_receive_slave_buttons = func(n) { + return + [ + func (b) { + if (b) { KI206.adjust_radial(n, -1.0); } + }, + func (b) { + if (b) { KI206.adjust_radial(n, 1.0); } + } + ]; +} + +########################################################################### +# Create a TDMDecoder action array for processing the radio state +# from the master. +# n - Nav# +var slave_receive_master_state = func(n) { + return + [ + func (v) { + props.globals.getNode(base[n] ~ "/" ~ selected_radial).setValue(v); + } + ]; +} + +########################################################################### +# Create a SwitchEncoder node array for sending button presses +# to the master +# n - Nav# +var slave_send_buttons = func(n) { + return + [ + props.globals.getNode(base[n] ~ "/" ~ radial_decS, 1), + props.globals.getNode(base[n] ~ "/" ~ radial_incS, 1), + ]; +} diff --git a/Aircraft/Generic/DualControl/Instruments/KR87/kr87-1.xml b/Aircraft/Generic/DualControl/Instruments/KR87/kr87-1.xml new file mode 100644 index 000000000..6e6cfdbd9 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KR87/kr87-1.xml @@ -0,0 +1,362 @@ + + + + + kr87.ac + Aircraft/Generic/DualControl/Instruments/KX165/ + + + select + kr87.indicators + + instrumentation/adf[0]/serviceable + instrumentation/adf[0]/power-btn + + systems/electrical/outputs/adf[0] + 1 + + + + + + material + kr87.knobs.ADF + kr87.knobs.BFO + kr87.knobs.FRQ + kr87.knobs.FLT + kr87.knobs.SET + + sim/model/instrument-lighting/emission/red + sim/model/instrument-lighting/emission/green + sim/model/instrument-lighting/emission/blue + controls/lighting/instruments-norm + + + + + select + kr87.indicators.ANT + + + instrumentation/adf[0]/adf-btn + + + + + + select + kr87.indicators.ADF + + instrumentation/adf[0]/adf-btn + + + + + select + kr87.indicators.BFO + + instrumentation/adf[0]/bfo-btn + + + + + select + kr87.indicators.FRQ + + + instrumentation/adf[0]/display-mode + 0 + + + + + + select + kr87.indicators.FLT + + + instrumentation/adf[0]/display-mode + 1 + + + + + + select + kr87.indicators.ET + + + instrumentation/adf[0]/display-mode + 2 + + + + + + + select + kr87.indicators.Use.1000 + + + instrumentation/adf[0]/frequencies/selected-khz + 1000 + + + + + + textranslate + kr87.indicators.Use.1000 + instrumentation/adf[0]/frequencies/selected-khz + 1000 + 0.0001 + + 1 + 0 + 0 + + + + + textranslate + kr87.indicators.Use.100 + instrumentation/adf[0]/frequencies/selected-khz + 100 + 0.001 + + 1 + 0 + 0 + + + + + textranslate + kr87.indicators.Use.10 + instrumentation/adf[0]/frequencies/selected-khz + 10 + 0.01 + + 1 + 0 + 0 + + + + + textranslate + kr87.indicators.Use.1 + instrumentation/adf[0]/frequencies/selected-khz + 1 + 0.1 + + 1 + 0 + 0 + + + + + + + + instrumentation/adf[0]/display-mode + 0 + + + select + kr87.indicators.dots + + + + select + kr87.indicators.Stby.1000 + + + instrumentation/adf[0]/right-display + 1000 + + + + + + select + kr87.indicators.Stby.100 + + + instrumentation/adf[0]/right-display + 100 + + + + + + textranslate + kr87.indicators.Stby.1000 + instrumentation/adf[0]/right-display + 1000 + 0.0001 + + 1 + 0 + 0 + + + + + textranslate + kr87.indicators.Stby.100 + instrumentation/adf[0]/right-display + 100 + 0.001 + + 1 + 0 + 0 + + + + + textranslate + kr87.indicators.Stby.10 + instrumentation/adf[0]/right-display + 10 + 0.01 + + 1 + 0 + 0 + + + + + textranslate + kr87.indicators.Stby.1 + instrumentation/adf[0]/right-display + 1 + 0.1 + + 1 + 0 + 0 + + + + + noshadow + + + + + + pick + kr87.knobs.FRQ + + + false + + nasal + + + + + + + pick + kr87.knobs.FRQOuter + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + pick + kr87.knobs.FRQInner + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + pick + kr87.knobs.BFO + + + false + + nasal + + + + + + diff --git a/Aircraft/Generic/DualControl/Instruments/KR87/kr87.ac b/Aircraft/Generic/DualControl/Instruments/KR87/kr87.ac new file mode 100644 index 000000000..d2d0400e8 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KR87/kr87.ac @@ -0,0 +1,1040 @@ +AC3Db +MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0 0 0 shi 10 trans 0 +MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 1 1 1 spec 0 0 0 shi 10 trans 0 +OBJECT world +kids 1 +OBJECT group +name "kr87" +loc -0.00753947 0.00469298 -0.00584703 +kids 3 +OBJECT group +name "kr87.indicators" +loc 0.0215961 0.00799046 0.0304622 +kids 9 +OBJECT group +name "kr87.indicators.Use" +loc -7.82311e-08 0.00610247 0.0236769 +kids 4 +OBJECT poly +name "kr87.indicators.Use.1" +loc 0 0 -0.0105809 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.00698765 -0.000379302 +0 -0.00698765 -0.00743322 +0 -0.0172322 -0.00743322 +0 -0.0172322 -0.000379302 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +3 0.00304302 0.417856 +2 0.0923989 0.417857 +1 0.0923615 0.527152 +0 0.00300572 0.527152 +kids 0 +OBJECT poly +name "kr87.indicators.Use.10" +loc 0 0 -0.00352695 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.0172322 -0.000379305 +0 -0.0172322 -0.00743322 +0 -0.00698765 -0.00743322 +0 -0.00698765 -0.000379305 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +0 0.00304302 0.417856 +1 0.0923989 0.417857 +2 0.0923615 0.527152 +3 0.00300572 0.527152 +kids 0 +OBJECT poly +name "kr87.indicators.Use.100" +loc 0 0 0.00352694 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.00698765 -0.000379309 +0 -0.00698765 -0.00743323 +0 -0.0172322 -0.00743323 +0 -0.0172322 -0.000379309 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +3 0.00304302 0.417856 +2 0.0923989 0.417857 +1 0.0923615 0.527152 +0 0.00300572 0.527152 +kids 0 +OBJECT poly +name "kr87.indicators.Use.1000" +loc 0 0 0.0105809 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.0172322 -0.000379309 +0 -0.0172322 -0.00743323 +0 -0.00698765 -0.00743323 +0 -0.00698765 -0.000379309 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +0 0.00304302 0.417856 +1 0.0923989 0.417857 +2 0.0923615 0.527152 +3 0.00300572 0.527152 +kids 0 +OBJECT poly +name "kr87.indicators.ANT" +loc 2.14204e-08 0.00134546 0.0475124 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0 -0.00791238 -0.000420451 +0 -0.00791238 -0.00823952 +0 -0.00320847 -0.00823952 +0 -0.00320847 -0.000420451 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +0 0.0030285 0.942086 +1 0.0885825 0.942086 +2 0.0885466 0.991477 +3 0.00299279 0.991477 +kids 0 +OBJECT poly +name "kr87.indicators.ADF" +loc 2.14204e-08 -0.00383404 0.0475124 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0 -0.00320847 -0.000420451 +0 -0.00320847 -0.00823952 +0 -0.00791238 -0.00823952 +0 -0.00791238 -0.000420451 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +3 0.102918 0.944029 +2 0.192274 0.94403 +1 0.192237 0.989141 +0 0.102881 0.989141 +kids 0 +OBJECT poly +name "kr87.indicators.FRQ" +loc 2.14204e-08 -0.00383404 0.0020287 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0 -0.00791238 -0.000420451 +0 -0.00791238 -0.00823952 +0 -0.00320847 -0.00823952 +0 -0.00320847 -0.000420451 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +0 0.310562 0.940691 +1 0.399918 0.940692 +2 0.399881 0.990558 +3 0.310525 0.990558 +kids 0 +OBJECT poly +name "kr87.indicators.BFO" +loc 2.14204e-08 0.00134546 0.0058652 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0 -0.00320847 -0.000420451 +0 -0.00320847 -0.00823952 +0 -0.00791238 -0.00823952 +0 -0.00791238 -0.000420451 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +3 0.206942 0.943559 +2 0.296297 0.943559 +1 0.29626 0.989146 +0 0.206904 0.989146 +kids 0 +OBJECT poly +name "kr87.indicators.ET" +loc 2.14204e-08 -0.00344675 -0.042369 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0 -0.00732147 -0.000316557 +0 -0.00732147 -0.0062035 +0 -0.00296885 -0.0062035 +0 -0.00296885 -0.000316557 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +0 0.51624 0.942628 +1 0.57423 0.942629 +2 0.574206 0.991068 +3 0.516216 0.991068 +kids 0 +OBJECT poly +name "kr87.indicators.FLT" +loc 2.14204e-08 0.00134546 -0.040333 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0 -0.00320847 -0.000420451 +0 -0.00320847 -0.00823952 +0 -0.00791238 -0.00823952 +0 -0.00791238 -0.000420451 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +3 0.417492 0.942615 +2 0.494492 0.942615 +1 0.494459 0.99153 +0 0.41746 0.99153 +kids 0 +OBJECT group +name "kr87.indicators.dots" +loc 2.14204e-08 -0.00512649 -0.0235679 +kids 2 +OBJECT poly +name "kr87.indicators.dot1" +loc 0 -0.00188601 0.000275044 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0 -0.000682086 -5.37726e-05 +0 -0.000682086 -0.00105377 +0 -0.00168209 -0.00105377 +0 -0.00168209 -5.37726e-05 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +3 0.170907 0.532511 +2 0.18244 0.532511 +1 0.182435 0.543691 +0 0.170903 0.543691 +kids 0 +OBJECT poly +name "kr87.indicators.dot0" +loc 0 0.00188601 -0.000275044 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0 -0.00168209 -5.37726e-05 +0 -0.00168209 -0.00105377 +0 -0.000682086 -0.00105377 +0 -0.000682086 -5.37726e-05 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +0 0.170907 0.532511 +1 0.18244 0.532511 +2 0.182435 0.543691 +3 0.170903 0.543691 +kids 0 +OBJECT group +name "kr87.indicators.Stby" +loc -7.82311e-08 0.00610246 -0.0203257 +kids 4 +OBJECT poly +name "kr87.indicators.Stby.1" +loc 0 5.58794e-09 -0.0117381 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.0172322 -0.000379302 +0 -0.0172322 -0.00743322 +0 -0.00698765 -0.00743322 +0 -0.00698765 -0.000379302 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +0 0.00304302 0.417856 +1 0.0923989 0.417857 +2 0.0923615 0.527152 +3 0.00300572 0.527152 +kids 0 +OBJECT poly +name "kr87.indicators.Stby.10" +loc 0 5.58794e-09 -0.0046842 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.00698765 -0.000379302 +0 -0.00698765 -0.00743323 +0 -0.0172322 -0.00743323 +0 -0.0172322 -0.000379302 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +3 0.00304302 0.417856 +2 0.0923989 0.417857 +1 0.0923615 0.527152 +0 0.00300572 0.527152 +kids 0 +OBJECT poly +name "kr87.indicators.Stby.100" +loc 0 -5.58794e-09 0.00468419 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.00698765 -0.000379302 +0 -0.00698765 -0.00743322 +0 -0.0172322 -0.00743322 +0 -0.0172322 -0.000379302 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +3 0.00304302 0.417856 +2 0.0923989 0.417857 +1 0.0923615 0.527152 +0 0.00300572 0.527152 +kids 0 +OBJECT poly +name "kr87.indicators.Stby.1000" +loc 0 -5.58794e-09 0.0117381 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.0172322 -0.000379302 +0 -0.0172322 -0.00743323 +0 -0.00698765 -0.00743323 +0 -0.00698765 -0.000379302 +numsurf 1 +SURF 0x0 +mat 1 +refs 4 +0 0.00304302 0.417856 +1 0.0923989 0.417857 +2 0.0923615 0.527152 +3 0.00300572 0.527152 +kids 0 +OBJECT poly +name "kr87.Chassis" +loc -0.0110046 -0.00469298 0.00584703 +texture "kx165tso.png" +crease 45.000000 +numvert 8 +0.0325441 -0.015 0.079 +0.0325441 -0.015 -0.079 +0.0325441 0.015 -0.079 +0.0325441 0.015 0.079 +0.0185441 -0.015 0.079 +0.0185441 -0.015 -0.079 +0.0185441 0.015 -0.079 +0.0185441 0.015 0.079 +numsurf 5 +SURF 0x10 +mat 0 +refs 4 +0 0.00030909 0.666277 +1 0.890554 0.666277 +2 0.890554 0.862647 +3 0.00030909 0.862647 +SURF 0x10 +mat 0 +refs 4 +0 0.335097 0.0290299 +3 0.335097 0.0757159 +7 0.335097 0.0757159 +4 0.335097 0.0290299 +SURF 0x10 +mat 0 +refs 4 +1 0.444789 0.0290299 +0 0.335097 0.0290299 +4 0.335097 0.0290299 +5 0.444789 0.0290299 +SURF 0x10 +mat 0 +refs 4 +2 0.444789 0.0757159 +1 0.444789 0.0290299 +5 0.444789 0.0290299 +6 0.444789 0.0757159 +SURF 0x10 +mat 0 +refs 4 +3 0.463307 0.0484428 +2 0.463307 0.0740378 +6 0.283371 0.0740378 +7 0.283371 0.0484428 +kids 0 +OBJECT group +name "kr87.Knobs" +loc -0.0105914 -0.00329748 -0.0363093 +kids 8 +OBJECT poly +name "kr87.knobs.SET" +loc -0.000413191 -0.0094949 -0.0212616 +texture "kx165tso.png" +crease 45.000000 +numvert 8 +0.0321433 1.21146e-05 0.0557888 +0.0321433 1.21146e-05 0.0467888 +0.0371433 1.21146e-05 0.0467888 +0.0371433 1.21146e-05 0.0557888 +0.0371433 -0.00498789 0.0557888 +0.0371433 -0.00498789 0.0467888 +0.0321433 -0.00498789 0.0467888 +0.0321433 -0.00498789 0.0557888 +numsurf 5 +SURF 0x10 +mat 0 +refs 4 +7 0.582319 0.323544 +6 0.595037 0.323544 +5 0.595037 0.338763 +4 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +0 0.582319 0.323544 +3 0.595037 0.323544 +2 0.595037 0.338763 +1 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +3 0.402077 0.933765 +4 0.402077 0.877259 +5 0.513648 0.877259 +2 0.513648 0.933765 +SURF 0x10 +mat 0 +refs 4 +0 0.582319 0.323544 +7 0.595037 0.323544 +4 0.595037 0.338763 +3 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +2 0.582319 0.323544 +5 0.595037 0.323544 +6 0.595037 0.338763 +1 0.582319 0.338763 +kids 0 +OBJECT poly +name "kr87.knobs.FLT" +loc -0.000413191 -0.0094949 -0.00605227 +texture "kx165tso.png" +crease 45.000000 +numvert 8 +0.0321433 -0.00498789 0.0557888 +0.0321433 -0.00498789 0.0467888 +0.0371433 -0.00498789 0.0467888 +0.0371433 -0.00498789 0.0557888 +0.0371433 1.21146e-05 0.0557888 +0.0371433 1.21146e-05 0.0467888 +0.0321433 1.21146e-05 0.0467888 +0.0321433 1.21146e-05 0.0557888 +numsurf 5 +SURF 0x10 +mat 0 +refs 4 +5 0.582319 0.323544 +2 0.595037 0.323544 +1 0.595037 0.338763 +6 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +7 0.582319 0.323544 +0 0.595037 0.323544 +3 0.595037 0.338763 +4 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +4 0.294354 0.93467 +3 0.294354 0.875186 +2 0.405925 0.875186 +5 0.405925 0.93467 +SURF 0x10 +mat 0 +refs 4 +7 0.582319 0.323544 +4 0.595037 0.323544 +5 0.595037 0.338763 +6 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +0 0.582319 0.323544 +1 0.595037 0.323544 +2 0.595037 0.338763 +3 0.582319 0.338763 +kids 0 +OBJECT poly +name "kr87.knobs.FRQ" +loc -0.000413191 -0.0094949 0.00865008 +texture "kx165tso.png" +crease 45.000000 +numvert 8 +0.0321433 1.21146e-05 0.0557888 +0.0321433 1.21146e-05 0.0467888 +0.0371433 1.21146e-05 0.0467888 +0.0371433 1.21146e-05 0.0557888 +0.0371433 -0.00498789 0.0557888 +0.0371433 -0.00498789 0.0467888 +0.0321433 -0.00498789 0.0467888 +0.0321433 -0.00498789 0.0557888 +numsurf 5 +SURF 0x10 +mat 0 +refs 4 +7 0.582319 0.323544 +6 0.595037 0.323544 +5 0.595037 0.338763 +4 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +0 0.582319 0.323544 +3 0.595037 0.323544 +2 0.595037 0.338763 +1 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +3 0.195742 0.93467 +4 0.195742 0.878164 +5 0.307313 0.878164 +2 0.307313 0.93467 +SURF 0x10 +mat 0 +refs 4 +0 0.582319 0.323544 +7 0.595037 0.323544 +4 0.595037 0.338763 +3 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +2 0.582319 0.323544 +5 0.595037 0.323544 +6 0.595037 0.338763 +1 0.582319 0.338763 +kids 0 +OBJECT poly +name "kr87.knobs.BFO" +loc -0.000413191 -0.0094949 0.0236904 +texture "kx165tso.png" +crease 45.000000 +numvert 8 +0.0321433 -0.00498789 0.0557888 +0.0321433 -0.00498789 0.0467888 +0.0371433 -0.00498789 0.0467888 +0.0371433 -0.00498789 0.0557888 +0.0371433 1.21146e-05 0.0557888 +0.0371433 1.21146e-05 0.0467888 +0.0321433 1.21146e-05 0.0467888 +0.0321433 1.21146e-05 0.0557888 +numsurf 5 +SURF 0x10 +mat 0 +refs 4 +5 0.582319 0.323544 +2 0.595037 0.323544 +1 0.595037 0.338763 +6 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +7 0.582319 0.323544 +0 0.595037 0.323544 +3 0.595037 0.338763 +4 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +4 0.0906125 0.937302 +3 0.0906125 0.874222 +2 0.190678 0.874222 +5 0.190678 0.937302 +SURF 0x10 +mat 0 +refs 4 +7 0.582319 0.323544 +4 0.595037 0.323544 +5 0.595037 0.338763 +6 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +0 0.582319 0.323544 +1 0.595037 0.323544 +2 0.595037 0.338763 +3 0.582319 0.338763 +kids 0 +OBJECT poly +name "kr87.knobs.ADF" +loc -0.000413191 -0.0094949 0.0394067 +texture "kx165tso.png" +crease 45.000000 +numvert 8 +0.0321433 1.21146e-05 0.0557888 +0.0321433 1.21146e-05 0.0467888 +0.0371433 1.21146e-05 0.0467888 +0.0371433 1.21146e-05 0.0557888 +0.0371433 -0.00498789 0.0557888 +0.0371433 -0.00498789 0.0467888 +0.0321433 -0.00498789 0.0467888 +0.0321433 -0.00498789 0.0557888 +numsurf 5 +SURF 0x10 +mat 0 +refs 4 +7 0.582319 0.323544 +6 0.595037 0.323544 +5 0.595037 0.338763 +4 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +0 0.582319 0.323544 +3 0.595037 0.323544 +2 0.595037 0.338763 +1 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +3 1.99996e-05 0.936424 +4 1.99996e-05 0.876486 +5 0.0927135 0.876486 +2 0.0927135 0.936424 +SURF 0x10 +mat 0 +refs 4 +0 0.582319 0.323544 +7 0.595037 0.323544 +4 0.595037 0.338763 +3 0.582319 0.338763 +SURF 0x10 +mat 0 +refs 4 +2 0.582319 0.323544 +5 0.595037 0.323544 +6 0.595037 0.338763 +1 0.582319 0.338763 +kids 0 +OBJECT poly +name "kr87.knobs.Volume" +loc -0.000332693 0.0310954 0.0645507 +texture "kx165tso.png" +crease 45.000000 +numvert 24 +0.0323582 -0.036308 -0.0526431 +0.0323582 -0.0381198 -0.0526431 +0.0323582 -0.0396888 -0.0535489 +0.0323582 -0.0405946 -0.0551179 +0.0323582 -0.0405946 -0.0569297 +0.0323582 -0.0396888 -0.0584987 +0.0323582 -0.0381198 -0.0594046 +0.0323582 -0.036308 -0.0594045 +0.0323582 -0.034739 -0.0584987 +0.0323582 -0.0338331 -0.0569297 +0.0323582 -0.0338331 -0.0551179 +0.0323582 -0.034739 -0.0535489 +0.0423582 -0.036308 -0.0526431 +0.0423582 -0.0381198 -0.0526431 +0.0423582 -0.0396888 -0.0535489 +0.0423582 -0.0405946 -0.0551179 +0.0423582 -0.0405946 -0.0569297 +0.0423582 -0.0396888 -0.0584987 +0.0423582 -0.0381198 -0.0594046 +0.0423582 -0.036308 -0.0594045 +0.0423582 -0.034739 -0.0584987 +0.0423582 -0.0338331 -0.0569297 +0.0423582 -0.0338331 -0.0551179 +0.0423582 -0.034739 -0.0535489 +numsurf 13 +SURF 0x10 +mat 0 +refs 12 +12 0.516431 0.379081 +13 0.493081 0.401879 +14 0.461184 0.410224 +15 0.429286 0.401879 +16 0.405936 0.379081 +17 0.397389 0.347938 +18 0.405936 0.316796 +19 0.429286 0.293998 +20 0.461184 0.285653 +21 0.493081 0.293998 +22 0.516431 0.316796 +23 0.524978 0.347938 +SURF 0x10 +mat 0 +refs 4 +1 0.0850871 0.380065 +13 0.0850871 0.316931 +12 0.0903819 0.316931 +0 0.0903819 0.380065 +SURF 0x10 +mat 0 +refs 4 +2 0.0797923 0.380065 +14 0.0797923 0.316931 +13 0.0850871 0.316931 +1 0.0850871 0.380065 +SURF 0x10 +mat 0 +refs 4 +3 0.0744975 0.380065 +15 0.0744975 0.316931 +14 0.0797923 0.316931 +2 0.0797923 0.380065 +SURF 0x10 +mat 0 +refs 4 +4 0.0692027 0.380065 +16 0.0692027 0.316931 +15 0.0744975 0.316931 +3 0.0744975 0.380065 +SURF 0x10 +mat 0 +refs 4 +5 0.0639079 0.380065 +17 0.0639079 0.316931 +16 0.0692027 0.316931 +4 0.0692027 0.380065 +SURF 0x10 +mat 0 +refs 4 +6 0.0586131 0.380065 +18 0.0586131 0.316931 +17 0.0639079 0.316931 +5 0.0639079 0.380065 +SURF 0x10 +mat 0 +refs 4 +7 0.0533183 0.380065 +19 0.0533183 0.316931 +18 0.0586131 0.316931 +6 0.0586131 0.380065 +SURF 0x10 +mat 0 +refs 4 +8 0.0480235 0.380065 +20 0.0480235 0.316931 +19 0.0533183 0.316931 +7 0.0533183 0.380065 +SURF 0x10 +mat 0 +refs 4 +9 0.0427287 0.380065 +21 0.0427287 0.316931 +20 0.0480235 0.316931 +8 0.0480235 0.380065 +SURF 0x10 +mat 0 +refs 4 +10 0.0374339 0.380065 +22 0.0374339 0.316931 +21 0.0427287 0.316931 +9 0.0427287 0.380065 +SURF 0x10 +mat 0 +refs 4 +11 0.0321392 0.380065 +23 0.0321392 0.316931 +22 0.0374339 0.316931 +10 0.0374339 0.380065 +SURF 0x10 +mat 0 +refs 4 +0 0.0268444 0.380065 +12 0.0268444 0.316931 +23 0.0321392 0.316931 +11 0.0321392 0.380065 +kids 0 +OBJECT poly +name "kr87.knobs.FRQInner" +loc 0.00119933 0.00927919 -0.0499293 +texture "kx165tso.png" +crease 45.000000 +numvert 24 +0.0440198 -0.0100351 0.0248547 +0.0440198 -0.008205 0.0266848 +0.0440198 -0.00753513 0.0291848 +0.0440198 -0.008205 0.0316848 +0.0440198 -0.0100351 0.033515 +0.0440198 -0.0125351 0.0341848 +0.0440198 -0.0150351 0.033515 +0.0440198 -0.0168653 0.0316848 +0.0440198 -0.0175351 0.0291848 +0.0440198 -0.0168653 0.0266848 +0.0440198 -0.0150351 0.0248547 +0.0440198 -0.0125351 0.0241848 +0.0540198 -0.0100351 0.0248547 +0.0540198 -0.008205 0.0266848 +0.0540198 -0.00753513 0.0291848 +0.0540198 -0.008205 0.0316848 +0.0540198 -0.0100351 0.033515 +0.0540198 -0.0125351 0.0341848 +0.0540198 -0.0150351 0.033515 +0.0540198 -0.0168653 0.0316848 +0.0540198 -0.0175351 0.0291848 +0.0540198 -0.0168653 0.0266848 +0.0540198 -0.0150351 0.0248547 +0.0540198 -0.0125351 0.0241848 +numsurf 13 +SURF 0x10 +mat 0 +refs 12 +12 0.115082 0.380737 +13 0.0923042 0.403588 +14 0.0611892 0.411951 +15 0.0300742 0.403588 +16 0.0072962 0.380737 +17 -0.00104079 0.349522 +18 0.0072962 0.318307 +19 0.0300742 0.295456 +20 0.0611892 0.287093 +21 0.0923042 0.295456 +22 0.115082 0.318307 +23 0.12342 0.349522 +SURF 0x10 +mat 0 +refs 4 +1 0.0886471 0.378893 +13 0.0886471 0.320799 +12 0.0941827 0.320799 +0 0.0941827 0.378893 +SURF 0x10 +mat 0 +refs 4 +2 0.0831115 0.378893 +14 0.0831115 0.320799 +13 0.0886471 0.320799 +1 0.0886471 0.378893 +SURF 0x10 +mat 0 +refs 4 +3 0.077576 0.378893 +15 0.077576 0.320799 +14 0.0831115 0.320799 +2 0.0831115 0.378893 +SURF 0x10 +mat 0 +refs 4 +4 0.0720404 0.378893 +16 0.0720404 0.320799 +15 0.077576 0.320799 +3 0.077576 0.378893 +SURF 0x10 +mat 0 +refs 4 +5 0.0665049 0.378893 +17 0.0665049 0.320799 +16 0.0720404 0.320799 +4 0.0720404 0.378893 +SURF 0x10 +mat 0 +refs 4 +6 0.0609693 0.378893 +18 0.0609693 0.320799 +17 0.0665049 0.320799 +5 0.0665049 0.378893 +SURF 0x10 +mat 0 +refs 4 +7 0.0554338 0.378893 +19 0.0554338 0.320799 +18 0.0609693 0.320799 +6 0.0609693 0.378893 +SURF 0x10 +mat 0 +refs 4 +8 0.0498982 0.378893 +20 0.0498982 0.320799 +19 0.0554338 0.320799 +7 0.0554338 0.378893 +SURF 0x10 +mat 0 +refs 4 +9 0.0443626 0.378893 +21 0.0443626 0.320799 +20 0.0498982 0.320799 +8 0.0498982 0.378893 +SURF 0x10 +mat 0 +refs 4 +10 0.0388271 0.378893 +22 0.0388271 0.320799 +21 0.0443626 0.320799 +9 0.0443626 0.378893 +SURF 0x10 +mat 0 +refs 4 +11 0.0332915 0.378893 +23 0.0332915 0.320799 +22 0.0388271 0.320799 +10 0.0388271 0.378893 +SURF 0x10 +mat 0 +refs 4 +0 0.027756 0.378893 +12 0.027756 0.320799 +23 0.0332915 0.320799 +11 0.0332915 0.378893 +kids 0 +OBJECT poly +name "kr87.knobs.FRQOuter" +loc 0.00119932 0.00927919 -0.0499293 +texture "kx165tso.png" +crease 45.000000 +numvert 24 +0.0438582 -0.0125351 0.0216848 +0.0438582 -0.0162851 0.0226896 +0.0438582 -0.0190303 0.0254348 +0.0438582 -0.0200351 0.0291848 +0.0438582 -0.0190303 0.0329348 +0.0438582 -0.0162851 0.03568 +0.0438582 -0.0125351 0.0366848 +0.0438582 -0.00878513 0.03568 +0.0438582 -0.00603994 0.0329348 +0.0438582 -0.00503513 0.0291848 +0.0438582 -0.00603994 0.0254348 +0.0438582 -0.00878513 0.0226896 +0.0308582 -0.0125351 0.0216848 +0.0308582 -0.0162851 0.0226896 +0.0308582 -0.0190303 0.0254348 +0.0308582 -0.0200351 0.0291848 +0.0308582 -0.0190303 0.0329348 +0.0308582 -0.0162851 0.03568 +0.0308582 -0.0125351 0.0366848 +0.0308582 -0.00878513 0.03568 +0.0308582 -0.00603994 0.0329348 +0.0308582 -0.00503513 0.0291848 +0.0308582 -0.00603994 0.0254348 +0.0308582 -0.00878513 0.0226896 +numsurf 13 +SURF 0x10 +mat 0 +refs 12 +10 0.0924867 0.40276 +9 0.0613282 0.411146 +8 0.0301697 0.40276 +7 0.00736005 0.379848 +6 -0.000988867 0.34855 +5 0.00736005 0.317252 +4 0.0301697 0.29434 +3 0.0613282 0.285954 +2 0.0924867 0.29434 +1 0.115296 0.317252 +0 0.123645 0.34855 +11 0.115296 0.379848 +SURF 0x10 +mat 0 +refs 4 +23 0.0294325 0.37989 +11 0.0294325 0.317513 +0 0.0345921 0.317513 +12 0.0345921 0.37989 +SURF 0x10 +mat 0 +refs 4 +12 0.0345921 0.37989 +0 0.0345921 0.317513 +1 0.0397517 0.317513 +13 0.0397517 0.37989 +SURF 0x10 +mat 0 +refs 4 +13 0.0397517 0.37989 +1 0.0397517 0.317513 +2 0.0449114 0.317513 +14 0.0449114 0.37989 +SURF 0x10 +mat 0 +refs 4 +14 0.0449114 0.37989 +2 0.0449114 0.317513 +3 0.050071 0.317513 +15 0.050071 0.37989 +SURF 0x10 +mat 0 +refs 4 +15 0.050071 0.37989 +3 0.050071 0.317513 +4 0.0552306 0.317513 +16 0.0552306 0.37989 +SURF 0x10 +mat 0 +refs 4 +16 0.0552306 0.37989 +4 0.0552306 0.317513 +5 0.0603903 0.317513 +17 0.0603903 0.37989 +SURF 0x10 +mat 0 +refs 4 +17 0.0603903 0.37989 +5 0.0603903 0.317513 +6 0.0655499 0.317513 +18 0.0655499 0.37989 +SURF 0x10 +mat 0 +refs 4 +18 0.0655499 0.37989 +6 0.0655499 0.317513 +7 0.0707095 0.317513 +19 0.0707095 0.37989 +SURF 0x10 +mat 0 +refs 4 +19 0.0707095 0.37989 +7 0.0707095 0.317513 +8 0.0758692 0.317513 +20 0.0758692 0.37989 +SURF 0x10 +mat 0 +refs 4 +20 0.0758692 0.37989 +8 0.0758692 0.317513 +9 0.0810288 0.317513 +21 0.0810288 0.37989 +SURF 0x10 +mat 0 +refs 4 +21 0.0810288 0.37989 +9 0.0810288 0.317513 +10 0.0861884 0.317513 +22 0.0861884 0.37989 +SURF 0x10 +mat 0 +refs 4 +22 0.0861884 0.37989 +10 0.0861884 0.317513 +11 0.0913481 0.317513 +23 0.0913481 0.37989 +kids 0 diff --git a/Aircraft/Generic/DualControl/Instruments/KR87/kr87.nas b/Aircraft/Generic/DualControl/Instruments/KR87/kr87.nas new file mode 100644 index 000000000..5ff2f485b --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KR87/kr87.nas @@ -0,0 +1,266 @@ +############################################################################### +## +## Nasal for dual control of a KR-87 ADF radio over the multiplayer +## network. +## +## Copyright (C) 2007 - 2010 Anders Gidenstam (anders(at)gidenstam.org) +## This file is licensed under the GPL license version 2 or later. +## +############################################################################### + +# Note: +# This module MUST be loaded as KR87. +# + +# Slave button presses. +var swap_btn = "frq-btn"; +var freq_decS = "freq-decS-clicked"; +var freq_incS = "freq-incS-clicked"; +var freq_decL = "freq-decL-clicked"; +var freq_incL = "freq-incL-clicked"; + +var bfo_btn = "bfo-btn"; + +# Settings +var freq_selected = "frequencies/selected-khz"; +var freq_standby = "frequencies/standby-khz"; + +var base = ["instrumentation/adf[0]", + "instrumentation/adf[1]"]; + +########################################################################### +var master_kr87 = { + new : func(n) { + var obj = {}; + obj.parents = [master_kr87]; + obj.base = props.globals.getNode(base[n]); + if (obj.base == nil) return; + obj.base.getNode("right-display", 1). + setValue(obj.base.getNode(freq_standby).getValue()); + # Always show the standby frequency. + obj.base.getNode("display-mode", 1).setValue(0); + return obj; + }, + swap : func() { + var tmp = me.base.getNode(freq_selected).getValue(); + me.base.getNode(freq_selected).setValue + (me.base.getNode(freq_standby).getValue()); + me.base.getNode(freq_standby).setValue(tmp); + me.base.getNode("right-display").setValue(tmp); + }, + adjust_frequency : func(d) { + adjust_radio_frequency( + me.base.getNode(freq_standby), + d, + 200, + 1800); + me.base.getNode("right-display"). + setValue(me.base.getNode(freq_standby).getValue()); + }, + toggle_BFO : func { + var p = me.base.getNode(bfo_btn).getValue() ? 0 : 1; + me.base.getNode(bfo_btn).setValue(p); + me.base.getNode("ident-audible").setValue(p); + } +}; + +########################################################################### +var slave_kr87 = { + new : func(n, airoot) { + var obj = {}; + obj.parents = [slave_kr87]; + obj.airoot = airoot; + obj.base = props.globals.getNode(base[n]); + if (obj.base == nil) return; + obj.base.getNode("right-display", 1). + setValue(obj.base.getNode(freq_standby).getValue()); + # Always show the standby frequency. + obj.base.getNode(base[n] ~ "/display-mode", 1).setValue(0); + return obj; + }, + swap : func() { + var p = me.base.getNode(swap_btn); +# print("KR87[?].SWAP"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + adjust_frequency : func(d) { + var p = 0; + if (abs(d) < 50) { + p = (d < 0) ? me.base.getNode(freq_decS) + : me.base.getNode(freq_incS); + } else { + p = (d < 0) ? me.base.getNode(freq_decL) + : me.base.getNode(freq_incL); + } + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, +}; + +########################################################################### +# The KR-87 pick animations default to master. +# NOTE: Use make_master() and make_slave_to(). +# Do NOT change kr87 directly. +var kr87 = [master_kr87.new(0), master_kr87.new(1)]; + +########################################################################### +# API for pick animations. +########################################################################### + +########################################################################### +# n - ADF# +swap = func(n) { + kr87[n].swap(); +} + +########################################################################### +# n - ADF# +# d - adjustment +adjust_frequency = func(n, d) { + kr87[n].adjust_frequency(d); +} + +########################################################################### +# n - ADF# +# p - pressed +toggle_BFO = func(n) { + kr87[n].toggle_BFO(); +} + +########################################################################### +# API for dual control setup. +########################################################################### + +########################################################################### +# n - ADF# +var make_master = func(n) { + kr87[n] = master_kr87.new(n); +} + +########################################################################### +# n - ADF# +var make_slave_to = func(n, airoot) { + kr87[n] = slave_kr87.new(n, airoot); +} + +########################################################################### +# Create aliases to drive a KR-87 3d model in an AI/MP model. +# n - ADF# +var animate_aimodel = func(n, airoot) { + var p = "systems/electrical/outputs/adf["~ n ~"]"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = "instrumentation/adf["~ n ~"]/serviceable"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/" ~ freq_selected; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/" ~ freq_standby; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/display-mode"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/right-display"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base[n] ~ "/power-btn"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); +} + +########################################################################### +# Create a TDMEncoder node array for sending the current radio state to +# slaves. +# n - Adf# +var master_send_state = func(n) { + var b = props.globals.getNode(base[n]); + return + [ + b.getNode(freq_selected), + b.getNode(freq_standby) + ]; +} + +########################################################################### +# Create a SwitchDecoder action array for processing button presses +# from a slave. +# n - Adf# +var master_receive_slave_buttons = func(n) { + return + [ + func (b) { + if (b) { swap(n); } + }, + func (b) { + if (b) { adjust_frequency(n, -1.0); } + }, + func (b) { + if (b) { adjust_frequency(n, 1.0); } + }, + func (b) { + if (b) { adjust_frequency(n, -100.0); } + }, + func (b) { + if (b) { adjust_frequency(n, 100.0); } + } + ]; +} + +########################################################################### +# Create a TDMDecoder action array for processing the radio state +# from the master. +# n - Adf# +var slave_receive_master_state = func(n) { + var b = props.globals.getNode(base[n]); + return + [ + func (v) { + b.getNode(freq_selected).setValue(v); + }, + func (v) { + b.getNode(freq_standby).setValue(v); + b.getNode("right-display").setValue(v); + } + ]; +} + +########################################################################### +# Create a SwitchEncoder node array for sending button presses +# to the master +# n - Adf# +var slave_send_buttons = func(n) { + var b = props.globals.getNode(base[n]); + return + [ + b.getNode(swap_btn, 1), + b.getNode(freq_decS, 1), + b.getNode(freq_incS, 1), + b.getNode(freq_decL, 1), + b.getNode(freq_incL, 1), +# b.getNode(bfo_btn, 1) + ]; +} + +########################################################################### +# (Not so) Generic frequency stepper. +# f - frequency property +# d - change +# min - min frequency +# max - max frequency +var adjust_radio_frequency = func(f, d, min, max) { + var old = f.getValue(); + var new = old + d; + if (new < min - 0.05) { + new = max + (new - min); + if ((max - new) >= -d) new += -d; + } + if (new > max + 0.05) { + new = min + (new - max); + if ((new - min) >= d) new -= d; + } +# print("Old: " ~ old ~ " Intermediate: " ~ (old + d) ~ " New: " ~ new); + f.setValue(new); +} + diff --git a/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso.ac b/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso.ac new file mode 100644 index 000000000..3f0e68659 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso.ac @@ -0,0 +1,1961 @@ +AC3Db +MATERIAL "ac3dmat11" rgb 0.933333 0.501961 0.933333 amb 0.933333 0.501961 0.933333 emis 0 0 0 spec 0.2 0.2 0.2 shi 128 trans 1 +MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0 0 0 shi 10 trans 0 +MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 1 1 1 spec 0 0 0 shi 10 trans 0 +OBJECT world +kids 15 +OBJECT poly +name "Chassis" +loc -0.0185441 0 0 +texture "kx165tso.png" +crease 45.000000 +numvert 8 +0.0325441 -0.0255 0.079 +0.0325441 -0.0255 -0.079 +0.0325441 0.0255 -0.079 +0.0325441 0.0255 0.079 +0.0185441 -0.0255 0.079 +0.0185441 -0.0255 -0.079 +0.0185441 0.0255 -0.079 +0.0185441 0.0255 0.079 +numsurf 5 +SURF 0x10 +mat 1 +refs 4 +0 0.00195482 0.00231326 +1 0.877724 0.00231326 +2 0.877724 0.280521 +3 0.00195482 0.280521 +SURF 0x10 +mat 1 +refs 4 +0 0.918047 0.1704 +3 0.912783 0.1704 +7 0.912783 0.0114898 +4 0.918047 0.0114898 +SURF 0x10 +mat 1 +refs 4 +1 0.912783 0.1704 +0 0.918047 0.1704 +4 0.918047 0.0114898 +5 0.912783 0.0114898 +SURF 0x10 +mat 1 +refs 4 +2 0.912783 0.1704 +1 0.918047 0.1704 +5 0.918047 0.0114898 +6 0.912783 0.0114898 +SURF 0x10 +mat 1 +refs 4 +3 0.918047 0.1704 +2 0.912783 0.1704 +6 0.912783 0.0114898 +7 0.918047 0.0114898 +kids 0 +OBJECT group +name "CommUse" +loc 0.0117138 0.0026539 0.0457795 +kids 6 +OBJECT poly +name "CommUse100M" +loc 0.00234275 0.00053078 0.0232637 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 0.0172322 0.000379309 +0 0.0172322 0.00743323 +0 0.00698765 0.00743323 +0 0.00698765 0.000379309 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.0923401 0.527157 +1 0.00296877 0.527144 +2 0.00300568 0.419133 +3 0.0923396 0.419138 +kids 0 +OBJECT poly +name "CommUse10M" +loc 0.00234275 0.00053078 0.0162098 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 0.00698765 0.000379302 +0 0.00698765 0.00743322 +0 0.0172322 0.00743322 +0 0.0172322 0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.0923401 0.527157 +2 0.00304349 0.527158 +1 0.0030804 0.419133 +0 0.0923396 0.419138 +kids 0 +OBJECT poly +name "CommUse1M" +loc 0.00234275 0.00053078 0.0091559 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 0.0172322 0.000379302 +0 0.0172322 0.00743322 +0 0.00698765 0.00743322 +0 0.00698765 0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.0923401 0.527157 +1 0.00304349 0.527158 +2 0.0030804 0.419133 +3 0.0923396 0.419138 +kids 0 +OBJECT poly +name "CommUse100K" +loc 0.00234275 0.00053078 0.00210197 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 0.00698765 0.000379302 +0 0.00698765 0.00743323 +0 0.0172322 0.00743323 +0 0.0172322 0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.0923401 0.527157 +2 0.00304349 0.527158 +1 0.0030804 0.419133 +0 0.0923396 0.419138 +kids 0 +OBJECT poly +name "CommUse10K" +loc 0.00234275 0.00053078 -0.00495195 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 0.0172322 0.000379302 +0 0.0172322 0.00743322 +0 0.00698765 0.00743322 +0 0.00698765 0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.0923401 0.527157 +1 0.00304349 0.527158 +2 0.0030804 0.419133 +3 0.0923396 0.419138 +kids 0 +OBJECT poly +name "CommUseDot" +loc -0.0117138 -0.0026539 -0.0451466 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0.0141379 0.0113861 0.0553319 +0.0141379 0.0113861 0.0564392 +0.0141379 0.0102382 0.0564392 +0.0141379 0.0102382 0.0553319 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.18258 0.543597 +1 0.170966 0.543597 +2 0.170966 0.532376 +3 0.18258 0.532376 +kids 0 +OBJECT group +name "CommStby" +loc 0.0119151 0.0026539 0.00880883 +kids 6 +OBJECT poly +name "CommStby100M" +loc 0.00214136 0.00053078 0.0232527 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 0.00698765 0.000379309 +0 0.00698765 0.00743323 +0 0.0172322 0.00743323 +0 0.0172322 0.000379309 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.0923023 0.527151 +2 0.00300565 0.527151 +1 0.00304288 0.419142 +0 0.0923396 0.419138 +kids 0 +OBJECT poly +name "CommStby10M" +loc 0.00214136 0.00053078 0.0161988 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 0.0172322 0.000379302 +0 0.0172322 0.00743323 +0 0.00698765 0.00743323 +0 0.00698765 0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.0923023 0.527151 +1 0.00300565 0.527151 +2 0.00304288 0.419142 +3 0.0923396 0.419138 +kids 0 +OBJECT poly +name "CommStby1M" +loc 0.00214136 0.00053078 0.00914484 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 0.00698765 0.000379302 +0 0.00698765 0.00743322 +0 0.0172322 0.00743322 +0 0.0172322 0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.0923023 0.527151 +2 0.00300565 0.527151 +1 0.00304288 0.419142 +0 0.0923396 0.419138 +kids 0 +OBJECT poly +name "CommStby100K" +loc 0.00214136 0.00053078 0.00209092 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 0.0172322 0.000379302 +0 0.0172322 0.00743323 +0 0.00698765 0.00743323 +0 0.00698765 0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.0923023 0.527151 +1 0.00300565 0.527151 +2 0.00304288 0.419142 +3 0.0923396 0.419138 +kids 0 +OBJECT poly +name "CommStby10K" +loc 0.00214136 0.00053078 -0.004963 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 0.00698765 0.000379302 +0 0.00698765 0.00743322 +0 0.0172322 0.00743322 +0 0.0172322 0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.0923023 0.527151 +2 0.00300565 0.527151 +1 0.00304288 0.419142 +0 0.0923396 0.419138 +kids 0 +OBJECT poly +name "CommStbyDot" +loc -0.0119151 -0.00265385 -0.0450913 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0.0141379 0.0102382 0.0553319 +0.0141379 0.0102382 0.0564392 +0.0141379 0.0113861 0.0564392 +0.0141379 0.0113861 0.0553319 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.18258 0.543597 +2 0.170966 0.543597 +1 0.170966 0.532376 +0 0.18258 0.532376 +kids 0 +OBJECT group +name "NavUse" +loc 0.0121165 0.00265391 -0.0349148 +kids 6 +OBJECT poly +name "NavUse100M" +loc 0.00193996 0.0247506 0.031069 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.00698765 -0.00037931 +0 -0.00698765 -0.00743323 +0 -0.0172322 -0.00743323 +0 -0.0172322 -0.00037931 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.00304292 0.419137 +2 0.0923396 0.419138 +1 0.0923023 0.527151 +0 0.00300564 0.527151 +kids 0 +OBJECT poly +name "NavUse10M" +loc 0.00193996 0.0247506 0.0240151 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.0172322 -0.000379303 +0 -0.0172322 -0.00743322 +0 -0.00698765 -0.00743322 +0 -0.00698765 -0.000379303 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.00304292 0.419137 +1 0.0923396 0.419138 +2 0.0923023 0.527151 +3 0.00300564 0.527151 +kids 0 +OBJECT poly +name "NavUse1M" +loc 0.00193996 0.0247506 0.0169612 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.00698765 -0.000379302 +0 -0.00698765 -0.00743322 +0 -0.0172322 -0.00743322 +0 -0.0172322 -0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.00304292 0.419137 +2 0.0923396 0.419138 +1 0.0923023 0.527151 +0 0.00300564 0.527151 +kids 0 +OBJECT poly +name "NavUse100K" +loc 0.00193996 0.0247506 0.00990724 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.0172322 -0.000379302 +0 -0.0172322 -0.00743323 +0 -0.00698765 -0.00743323 +0 -0.00698765 -0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.00304292 0.419137 +1 0.0923396 0.419138 +2 0.0923023 0.527151 +3 0.00300564 0.527151 +kids 0 +OBJECT poly +name "NavUse10K" +loc 0.00193996 0.0247506 0.00285331 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.00698765 -0.000379302 +0 -0.00698765 -0.00743322 +0 -0.0172322 -0.00743322 +0 -0.0172322 -0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.00304292 0.419137 +2 0.0923396 0.419138 +1 0.0923023 0.527151 +0 0.00300564 0.527151 +kids 0 +OBJECT poly +name "NavUseDot" +loc -0.0121165 -0.00265386 -0.0451102 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0.0141379 0.0113861 0.0553319 +0.0141379 0.0113861 0.0564392 +0.0141379 0.0102382 0.0564392 +0.0141379 0.0102382 0.0553319 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.18258 0.543597 +1 0.170966 0.543597 +2 0.170966 0.532376 +3 0.18258 0.532376 +kids 0 +OBJECT group +name "NavStby" +loc 0.0123179 0.00265391 -0.0718956 +kids 6 +OBJECT poly +name "NavStby100M" +loc 0.00173857 0.0247506 0.031068 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.0172322 -0.000379309 +0 -0.0172322 -0.00743323 +0 -0.00698765 -0.00743323 +0 -0.00698765 -0.000379309 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.00304292 0.419137 +1 0.0923396 0.419138 +2 0.0923023 0.527151 +3 0.00300564 0.527151 +kids 0 +OBJECT poly +name "NavStby10M" +loc 0.00173857 0.0247506 0.0240141 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.00698765 -0.000379302 +0 -0.00698765 -0.00743323 +0 -0.0172322 -0.00743323 +0 -0.0172322 -0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.00304292 0.419137 +2 0.0923396 0.419138 +1 0.0923023 0.527151 +0 0.00300564 0.527151 +kids 0 +OBJECT poly +name "NavStby1M" +loc 0.00173857 0.0247506 0.0169602 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.0172322 -0.000379302 +0 -0.0172322 -0.00743322 +0 -0.00698765 -0.00743322 +0 -0.00698765 -0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.00304292 0.419137 +1 0.0923396 0.419138 +2 0.0923023 0.527151 +3 0.00300564 0.527151 +kids 0 +OBJECT poly +name "NavStby100K" +loc 0.00173857 0.0247506 0.00990625 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.00698765 -0.000379302 +0 -0.00698765 -0.00743323 +0 -0.0172322 -0.00743323 +0 -0.0172322 -0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.00304292 0.419137 +2 0.0923396 0.419138 +1 0.0923023 0.527151 +0 0.00300564 0.527151 +kids 0 +OBJECT poly +name "NavStby10K" +loc 0.00173857 0.0247506 0.00285233 +texture "kx165tso.png" +texrep 1 1 +crease 45.000000 +numvert 4 +0 -0.0172322 -0.000379302 +0 -0.0172322 -0.00743322 +0 -0.00698765 -0.00743322 +0 -0.00698765 -0.000379302 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +0 0.00304292 0.419137 +1 0.0923396 0.419138 +2 0.0923023 0.527151 +3 0.00300564 0.527151 +kids 0 +OBJECT poly +name "NavStbyDot" +loc -0.0123179 -0.00265386 -0.0451054 +texture "kx165tso.png" +crease 45.000000 +numvert 4 +0.0141379 0.0102382 0.0553319 +0.0141379 0.0102382 0.0564392 +0.0141379 0.0113861 0.0564392 +0.0141379 0.0113861 0.0553319 +numsurf 1 +SURF 0x0 +mat 2 +refs 4 +3 0.18258 0.543597 +2 0.170966 0.543597 +1 0.170966 0.532376 +0 0.18258 0.532376 +kids 0 +OBJECT group +name "CommKnobs" +loc -0.0176169 0.00594301 0.0243414 +kids 4 +OBJECT poly +name "CommToggle" +loc -0.00052402 -0.00645512 -0.0306302 +texture "kx165tso.png" +crease 45.000000 +numvert 8 +0.0321433 -0.00498789 0.0557888 +0.0321433 -0.00498789 0.0467888 +0.0371433 -0.00498789 0.0467888 +0.0371433 -0.00498789 0.0557888 +0.0371433 1.21146e-05 0.0557888 +0.0371433 1.21146e-05 0.0467888 +0.0321433 1.21146e-05 0.0467888 +0.0321433 1.21146e-05 0.0557888 +numsurf 5 +SURF 0x10 +mat 1 +refs 4 +5 0.582319 0.323544 +2 0.595037 0.323544 +1 0.595037 0.338763 +6 0.582319 0.338763 +SURF 0x10 +mat 1 +refs 4 +7 0.582319 0.323544 +0 0.595037 0.323544 +3 0.595037 0.338763 +4 0.582319 0.338763 +SURF 0x10 +mat 1 +refs 4 +4 0.533687 0.343785 +3 0.533687 0.287279 +2 0.645258 0.287279 +5 0.645258 0.343785 +SURF 0x10 +mat 1 +refs 4 +7 0.582319 0.323544 +4 0.595037 0.323544 +5 0.595037 0.338763 +6 0.582319 0.338763 +SURF 0x10 +mat 1 +refs 4 +0 0.582319 0.323544 +1 0.595037 0.323544 +2 0.595037 0.338763 +3 0.582319 0.338763 +kids 0 +OBJECT poly +name "CommMHz" +loc 0.000685325 -0.00540788 -0.0315262 +texture "kx165tso.png" +crease 45.000000 +numvert 24 +0.0308582 -0.00878513 0.0226896 +0.0308582 -0.00603994 0.0254348 +0.0308582 -0.00503513 0.0291848 +0.0308582 -0.00603994 0.0329348 +0.0308582 -0.00878513 0.03568 +0.0308582 -0.0125351 0.0366848 +0.0308582 -0.0162851 0.03568 +0.0308582 -0.0190303 0.0329348 +0.0308582 -0.0200351 0.0291848 +0.0308582 -0.0190303 0.0254348 +0.0308582 -0.0162851 0.0226896 +0.0308582 -0.0125351 0.0216848 +0.0438582 -0.00878513 0.0226896 +0.0438582 -0.00603994 0.0254348 +0.0438582 -0.00503513 0.0291848 +0.0438582 -0.00603994 0.0329348 +0.0438582 -0.00878513 0.03568 +0.0438582 -0.0125351 0.0366848 +0.0438582 -0.0162851 0.03568 +0.0438582 -0.0190303 0.0329348 +0.0438582 -0.0200351 0.0291848 +0.0438582 -0.0190303 0.0254348 +0.0438582 -0.0162851 0.0226896 +0.0438582 -0.0125351 0.0216848 +numsurf 13 +SURF 0x10 +mat 1 +refs 4 +1 0.954002 0.128238 +13 0.954002 0.0156906 +12 0.989995 0.0156906 +0 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +2 0.954002 0.128238 +14 0.954002 0.0156906 +13 0.989995 0.0156906 +1 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +3 0.954002 0.128238 +15 0.954002 0.0156906 +14 0.989995 0.0156906 +2 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +4 0.954002 0.128238 +16 0.954002 0.0156906 +15 0.989995 0.0156906 +3 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +5 0.954002 0.128238 +17 0.954002 0.0156906 +16 0.989995 0.0156906 +4 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +6 0.954002 0.128238 +18 0.954002 0.0156906 +17 0.989995 0.0156906 +5 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +7 0.954002 0.128238 +19 0.954002 0.0156906 +18 0.989995 0.0156906 +6 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +8 0.954002 0.128238 +20 0.954002 0.0156906 +19 0.989995 0.0156906 +7 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +9 0.954002 0.128238 +21 0.954002 0.0156906 +20 0.989995 0.0156906 +8 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +10 0.954002 0.128238 +22 0.954002 0.0156906 +21 0.989995 0.0156906 +9 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +11 0.954002 0.128238 +23 0.954002 0.0156906 +22 0.989995 0.0156906 +10 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +0 0.954002 0.128238 +12 0.954002 0.0156906 +23 0.989995 0.0156906 +11 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 12 +13 0.077879 0.409873 +14 0.0454072 0.409909 +15 0.0173038 0.393864 +16 0.00109929 0.366036 +17 0.00113561 0.333883 +18 0.017403 0.30602 +19 0.0455428 0.289913 +20 0.0780147 0.289877 +21 0.106118 0.305922 +22 0.122322 0.33375 +23 0.122286 0.365902 +12 0.106018 0.393765 +kids 0 +OBJECT poly +name "CommKHz" +loc 0.000685325 -0.00540788 -0.0315262 +texture "kx165tso.png" +crease 45.000000 +numvert 24 +0.0540198 -0.0125351 0.0241848 +0.0540198 -0.0150351 0.0248547 +0.0540198 -0.0168653 0.0266848 +0.0540198 -0.0175351 0.0291848 +0.0540198 -0.0168653 0.0316848 +0.0540198 -0.0150351 0.033515 +0.0540198 -0.0125351 0.0341848 +0.0540198 -0.0100351 0.033515 +0.0540198 -0.008205 0.0316848 +0.0540198 -0.00753513 0.0291848 +0.0540198 -0.008205 0.0266848 +0.0540198 -0.0100351 0.0248547 +0.0440198 -0.0125351 0.0241848 +0.0440198 -0.0150351 0.0248547 +0.0440198 -0.0168653 0.0266848 +0.0440198 -0.0175351 0.0291848 +0.0440198 -0.0168653 0.0316848 +0.0440198 -0.0150351 0.033515 +0.0440198 -0.0125351 0.0341848 +0.0440198 -0.0100351 0.033515 +0.0440198 -0.008205 0.0316848 +0.0440198 -0.00753513 0.0291848 +0.0440198 -0.008205 0.0266848 +0.0440198 -0.0100351 0.0248547 +numsurf 13 +SURF 0x0 +mat 1 +refs 4 +23 0.954002 0.128238 +11 0.954002 0.0156906 +0 0.989995 0.0156906 +12 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +12 0.954002 0.128238 +0 0.954002 0.0156906 +1 0.989995 0.0156906 +13 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +13 0.954002 0.128238 +1 0.954002 0.0156906 +2 0.989995 0.0156906 +14 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +14 0.954002 0.128238 +2 0.954002 0.0156906 +3 0.989995 0.0156906 +15 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +15 0.954002 0.128238 +3 0.954002 0.0156906 +4 0.989995 0.0156906 +16 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +16 0.954002 0.128238 +4 0.954002 0.0156906 +5 0.989995 0.0156906 +17 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +17 0.954002 0.128238 +5 0.954002 0.0156906 +6 0.989995 0.0156906 +18 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +18 0.954002 0.128238 +6 0.954002 0.0156906 +7 0.989995 0.0156906 +19 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +19 0.954002 0.128238 +7 0.954002 0.0156906 +8 0.989995 0.0156906 +20 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +20 0.954002 0.128238 +8 0.954002 0.0156906 +9 0.989995 0.0156906 +21 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +21 0.954002 0.128238 +9 0.954002 0.0156906 +10 0.989995 0.0156906 +22 0.989995 0.128238 +SURF 0x0 +mat 1 +refs 4 +22 0.954002 0.128238 +10 0.954002 0.0156906 +11 0.989995 0.0156906 +23 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 12 +11 0.238004 0.393253 +10 0.210088 0.40943 +9 0.177868 0.409456 +8 0.149977 0.393323 +7 0.133889 0.365356 +6 0.133916 0.333047 +5 0.150047 0.305054 +4 0.177963 0.288877 +3 0.210184 0.288851 +2 0.238074 0.304983 +1 0.254162 0.332951 +0 0.254136 0.365259 +kids 0 +OBJECT poly +name "CommVolume" +loc -0.000846632 0.0172709 0.0936826 +texture "kx165tso.png" +crease 45.000000 +numvert 24 +0.0423582 -0.034739 -0.053549 +0.0423582 -0.0338331 -0.055118 +0.0423582 -0.0338331 -0.0569297 +0.0423582 -0.034739 -0.0584987 +0.0423582 -0.036308 -0.0594046 +0.0423582 -0.0381198 -0.0594046 +0.0423582 -0.0396888 -0.0584987 +0.0423582 -0.0405946 -0.0569297 +0.0423582 -0.0405946 -0.055118 +0.0423582 -0.0396888 -0.053549 +0.0423582 -0.0381198 -0.0526431 +0.0423582 -0.036308 -0.0526431 +0.0323582 -0.034739 -0.053549 +0.0323582 -0.0338331 -0.055118 +0.0323582 -0.0338331 -0.0569297 +0.0323582 -0.034739 -0.0584987 +0.0323582 -0.036308 -0.0594046 +0.0323582 -0.0381198 -0.0594046 +0.0323582 -0.0396888 -0.0584987 +0.0323582 -0.0405946 -0.0569297 +0.0323582 -0.0405946 -0.055118 +0.0323582 -0.0396888 -0.053549 +0.0323582 -0.0381198 -0.0526431 +0.0323582 -0.036308 -0.0526431 +numsurf 13 +SURF 0x10 +mat 1 +refs 4 +23 0.954002 0.128238 +11 0.954002 0.0156906 +0 0.989995 0.0156906 +12 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +12 0.954002 0.128238 +0 0.954002 0.0156906 +1 0.989995 0.0156906 +13 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +13 0.954002 0.128238 +1 0.954002 0.0156906 +2 0.989995 0.0156906 +14 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +14 0.954002 0.128238 +2 0.954002 0.0156906 +3 0.989995 0.0156906 +15 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +15 0.954002 0.128238 +3 0.954002 0.0156906 +4 0.989995 0.0156906 +16 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +16 0.954002 0.128238 +4 0.954002 0.0156906 +5 0.989995 0.0156906 +17 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +17 0.954002 0.128238 +5 0.954002 0.0156906 +6 0.989995 0.0156906 +18 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +18 0.954002 0.128238 +6 0.954002 0.0156906 +7 0.989995 0.0156906 +19 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +19 0.954002 0.128238 +7 0.954002 0.0156906 +8 0.989995 0.0156906 +20 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +20 0.954002 0.128238 +8 0.954002 0.0156906 +9 0.989995 0.0156906 +21 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +21 0.954002 0.128238 +9 0.954002 0.0156906 +10 0.989995 0.0156906 +22 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +22 0.954002 0.128238 +10 0.954002 0.0156906 +11 0.989995 0.0156906 +23 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 12 +11 0.505318 0.394852 +10 0.477464 0.410748 +9 0.445189 0.410554 +8 0.417142 0.394321 +7 0.400839 0.3664 +6 0.400648 0.334272 +5 0.41662 0.306546 +4 0.444475 0.29065 +3 0.47675 0.290844 +2 0.504796 0.307077 +1 0.521099 0.334997 +0 0.521291 0.367125 +kids 0 +OBJECT group +name "NavKnobs" +loc -0.0177177 0.00594301 -0.0556586 +kids 4 +OBJECT poly +name "NavToggle" +loc -0.000826385 -0.00645512 -0.0306302 +texture "kx165tso.png" +crease 45.000000 +numvert 8 +0.0321433 1.21146e-05 0.0557888 +0.0321433 1.21146e-05 0.0467888 +0.0371433 1.21146e-05 0.0467888 +0.0371433 1.21146e-05 0.0557888 +0.0371433 -0.00498789 0.0557888 +0.0371433 -0.00498789 0.0467888 +0.0321433 -0.00498789 0.0467888 +0.0321433 -0.00498789 0.0557888 +numsurf 5 +SURF 0x10 +mat 1 +refs 4 +7 0.582319 0.323544 +6 0.595037 0.323544 +5 0.595037 0.338763 +4 0.582319 0.338763 +SURF 0x10 +mat 1 +refs 4 +0 0.582319 0.323544 +3 0.595037 0.323544 +2 0.595037 0.338763 +1 0.582319 0.338763 +SURF 0x10 +mat 1 +refs 4 +3 0.533687 0.343785 +4 0.533687 0.287279 +5 0.645258 0.287279 +2 0.645258 0.343785 +SURF 0x10 +mat 1 +refs 4 +0 0.582319 0.323544 +7 0.595037 0.323544 +4 0.595037 0.338763 +3 0.582319 0.338763 +SURF 0x10 +mat 1 +refs 4 +2 0.582319 0.323544 +5 0.595037 0.323544 +6 0.595037 0.338763 +1 0.582319 0.338763 +kids 0 +OBJECT poly +name "NavMHz" +loc 0.000786129 -0.00540788 -0.0315262 +texture "kx165tso.png" +crease 45.000000 +numvert 24 +0.0438582 -0.0125351 0.0216848 +0.0438582 -0.0162851 0.0226896 +0.0438582 -0.0190303 0.0254348 +0.0438582 -0.0200351 0.0291848 +0.0438582 -0.0190303 0.0329348 +0.0438582 -0.0162851 0.03568 +0.0438582 -0.0125351 0.0366848 +0.0438582 -0.00878513 0.03568 +0.0438582 -0.00603994 0.0329348 +0.0438582 -0.00503513 0.0291848 +0.0438582 -0.00603994 0.0254348 +0.0438582 -0.00878513 0.0226896 +0.0308582 -0.0125351 0.0216848 +0.0308582 -0.0162851 0.0226896 +0.0308582 -0.0190303 0.0254348 +0.0308582 -0.0200351 0.0291848 +0.0308582 -0.0190303 0.0329348 +0.0308582 -0.0162851 0.03568 +0.0308582 -0.0125351 0.0366848 +0.0308582 -0.00878513 0.03568 +0.0308582 -0.00603994 0.0329348 +0.0308582 -0.00503513 0.0291848 +0.0308582 -0.00603994 0.0254348 +0.0308582 -0.00878513 0.0226896 +numsurf 13 +SURF 0x10 +mat 1 +refs 12 +10 0.0780978 0.409973 +9 0.0457745 0.409929 +8 0.0177597 0.393805 +7 0.00156012 0.365922 +6 0.00151628 0.33375 +5 0.01764 0.305911 +4 0.045611 0.289863 +3 0.0779343 0.289907 +2 0.105949 0.30603 +1 0.122148 0.333914 +0 0.122192 0.366085 +11 0.106068 0.393925 +SURF 0x10 +mat 1 +refs 4 +23 0.954002 0.128238 +11 0.954002 0.0156906 +0 0.989995 0.0156906 +12 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +12 0.954002 0.128238 +0 0.954002 0.0156906 +1 0.989995 0.0156906 +13 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +13 0.954002 0.128238 +1 0.954002 0.0156906 +2 0.989995 0.0156906 +14 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +14 0.954002 0.128238 +2 0.954002 0.0156906 +3 0.989995 0.0156906 +15 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +15 0.954002 0.128238 +3 0.954002 0.0156906 +4 0.989995 0.0156906 +16 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +16 0.954002 0.128238 +4 0.954002 0.0156906 +5 0.989995 0.0156906 +17 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +17 0.954002 0.128238 +5 0.954002 0.0156906 +6 0.989995 0.0156906 +18 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +18 0.954002 0.128238 +6 0.954002 0.0156906 +7 0.989995 0.0156906 +19 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +19 0.954002 0.128238 +7 0.954002 0.0156906 +8 0.989995 0.0156906 +20 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +20 0.954002 0.128238 +8 0.954002 0.0156906 +9 0.989995 0.0156906 +21 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +21 0.954002 0.128238 +9 0.954002 0.0156906 +10 0.989995 0.0156906 +22 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +22 0.954002 0.128238 +10 0.954002 0.0156906 +11 0.989995 0.0156906 +23 0.989995 0.128238 +kids 0 +OBJECT poly +name "NavKHz" +loc 0.0007861 -0.0054079 -0.0315262 +texture "kx165tso.png" +crease 45.000000 +numvert 24 +0.0440198 -0.0100351 0.0248547 +0.0440198 -0.008205 0.0266848 +0.0440198 -0.00753513 0.0291848 +0.0440198 -0.008205 0.0316848 +0.0440198 -0.0100351 0.033515 +0.0440198 -0.0125351 0.0341848 +0.0440198 -0.0150351 0.033515 +0.0440198 -0.0168653 0.0316848 +0.0440198 -0.0175351 0.0291848 +0.0440198 -0.0168653 0.0266848 +0.0440198 -0.0150351 0.0248547 +0.0440198 -0.0125351 0.0241848 +0.0540198 -0.0100351 0.0248547 +0.0540198 -0.008205 0.0266848 +0.0540198 -0.00753513 0.0291848 +0.0540198 -0.008205 0.0316848 +0.0540198 -0.0100351 0.033515 +0.0540198 -0.0125351 0.0341848 +0.0540198 -0.0150351 0.033515 +0.0540198 -0.0168653 0.0316848 +0.0540198 -0.0175351 0.0291848 +0.0540198 -0.0168653 0.0266848 +0.0540198 -0.0150351 0.0248547 +0.0540198 -0.0125351 0.0241848 +numsurf 13 +SURF 0x10 +mat 1 +refs 12 +12 0.371826 0.392792 +13 0.34391 0.408969 +14 0.31169 0.408994 +15 0.2838 0.392862 +16 0.267712 0.364895 +17 0.267738 0.332586 +18 0.28387 0.304592 +19 0.311787 0.288415 +20 0.344006 0.28839 +21 0.371896 0.304521 +22 0.387984 0.332489 +23 0.387959 0.364798 +SURF 0x10 +mat 1 +refs 4 +1 0.954002 0.128238 +13 0.954002 0.0156906 +12 0.989995 0.0156906 +0 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +2 0.954002 0.128238 +14 0.954002 0.0156906 +13 0.989995 0.0156906 +1 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +3 0.954002 0.128238 +15 0.954002 0.0156906 +14 0.989995 0.0156906 +2 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +4 0.954002 0.128238 +16 0.954002 0.0156906 +15 0.989995 0.0156906 +3 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +5 0.954002 0.128238 +17 0.954002 0.0156906 +16 0.989995 0.0156906 +4 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +6 0.954002 0.128238 +18 0.954002 0.0156906 +17 0.989995 0.0156906 +5 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +7 0.954002 0.128238 +19 0.954002 0.0156906 +18 0.989995 0.0156906 +6 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +8 0.954002 0.128238 +20 0.954002 0.0156906 +19 0.989995 0.0156906 +7 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +9 0.954002 0.128238 +21 0.954002 0.0156906 +20 0.989995 0.0156906 +8 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +10 0.954002 0.128238 +22 0.954002 0.0156906 +21 0.989995 0.0156906 +9 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +11 0.954002 0.128238 +23 0.954002 0.0156906 +22 0.989995 0.0156906 +10 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +0 0.954002 0.128238 +12 0.954002 0.0156906 +23 0.989995 0.0156906 +11 0.989995 0.128238 +kids 0 +OBJECT poly +name "NavVolume" +loc -0.000745887 0.0172709 0.0936824 +texture "kx165tso.png" +crease 45.000000 +numvert 24 +0.0323582 -0.036308 -0.0526431 +0.0323582 -0.0381198 -0.0526431 +0.0323582 -0.0396888 -0.0535489 +0.0323582 -0.0405946 -0.0551179 +0.0323582 -0.0405946 -0.0569297 +0.0323582 -0.0396888 -0.0584987 +0.0323582 -0.0381198 -0.0594046 +0.0323582 -0.036308 -0.0594045 +0.0323582 -0.034739 -0.0584987 +0.0323582 -0.0338331 -0.0569297 +0.0323582 -0.0338331 -0.0551179 +0.0323582 -0.034739 -0.0535489 +0.0423582 -0.036308 -0.0526431 +0.0423582 -0.0381198 -0.0526431 +0.0423582 -0.0396888 -0.0535489 +0.0423582 -0.0405946 -0.0551179 +0.0423582 -0.0405946 -0.0569297 +0.0423582 -0.0396888 -0.0584987 +0.0423582 -0.0381198 -0.0594046 +0.0423582 -0.036308 -0.0594045 +0.0423582 -0.034739 -0.0584987 +0.0423582 -0.0338331 -0.0569297 +0.0423582 -0.0338331 -0.0551179 +0.0423582 -0.034739 -0.0535489 +numsurf 13 +SURF 0x10 +mat 1 +refs 12 +12 0.505318 0.394852 +13 0.477464 0.410748 +14 0.445189 0.410554 +15 0.417142 0.394321 +16 0.400839 0.3664 +17 0.400648 0.334272 +18 0.41662 0.306546 +19 0.444475 0.29065 +20 0.47675 0.290844 +21 0.504796 0.307077 +22 0.521099 0.334997 +23 0.521291 0.367125 +SURF 0x10 +mat 1 +refs 4 +1 0.954002 0.128238 +13 0.954002 0.0156906 +12 0.989995 0.0156906 +0 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +2 0.954002 0.128238 +14 0.954002 0.0156906 +13 0.989995 0.0156906 +1 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +3 0.954002 0.128238 +15 0.954002 0.0156906 +14 0.989995 0.0156906 +2 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +4 0.954002 0.128238 +16 0.954002 0.0156906 +15 0.989995 0.0156906 +3 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +5 0.954002 0.128238 +17 0.954002 0.0156906 +16 0.989995 0.0156906 +4 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +6 0.954002 0.128238 +18 0.954002 0.0156906 +17 0.989995 0.0156906 +5 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +7 0.954002 0.128238 +19 0.954002 0.0156906 +18 0.989995 0.0156906 +6 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +8 0.954002 0.128238 +20 0.954002 0.0156906 +19 0.989995 0.0156906 +7 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +9 0.954002 0.128238 +21 0.954002 0.0156906 +20 0.989995 0.0156906 +8 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +10 0.954002 0.128238 +22 0.954002 0.0156906 +21 0.989995 0.0156906 +9 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +11 0.954002 0.128238 +23 0.954002 0.0156906 +22 0.989995 0.0156906 +10 0.989995 0.128238 +SURF 0x10 +mat 1 +refs 4 +0 0.954002 0.128238 +12 0.954002 0.0156906 +23 0.989995 0.0156906 +11 0.989995 0.128238 +kids 0 +OBJECT poly +name "NavVolumePickRight" +loc 0.0047947 0.0138945 -0.0325927 +crease 45.000000 +numvert 4 +0.0093053 -0.0188944 0.00559257 +0.0093053 -0.0188944 0.0145926 +0.0093053 -0.0368944 0.0145926 +0.0093053 -0.0368944 0.00559257 +numsurf 1 +SURF 0x10 +mat 0 +refs 4 +0 1 1 +1 0 1 +2 0 0 +3 1 0 +kids 0 +OBJECT poly +name "NavVolumePickLeft" +loc 0.0047947 0.0138945 -0.0325927 +crease 45.000000 +numvert 4 +0.0093053 -0.0368944 0.0145926 +0.0093053 -0.0368944 0.0235926 +0.0093053 -0.0188944 0.0235926 +0.0093053 -0.0188944 0.0145926 +numsurf 1 +SURF 0x10 +mat 0 +refs 4 +3 1 1 +2 0 1 +1 0 0 +0 1 0 +kids 0 +OBJECT poly +name "CommVolumePickLeft" +loc 0.0047947 0.0138945 0.0474076 +crease 45.000000 +numvert 4 +0.0093053 -0.0188944 0.0145926 +0.0093053 -0.0188944 0.0235926 +0.0093053 -0.0368944 0.0235926 +0.0093053 -0.0368944 0.0145926 +numsurf 1 +SURF 0x10 +mat 0 +refs 4 +0 1 1 +1 0 1 +2 0 0 +3 1 0 +kids 0 +OBJECT poly +name "CommVolumePickRight" +loc 0.0047947 0.0138945 0.0474076 +crease 45.000000 +numvert 4 +0.0093053 -0.0368944 0.00559257 +0.0093053 -0.0368944 0.0145926 +0.0093053 -0.0188944 0.0145926 +0.0093053 -0.0188944 0.00559257 +numsurf 1 +SURF 0x10 +mat 0 +refs 4 +3 1 1 +2 0 1 +1 0 0 +0 1 0 +kids 0 +OBJECT poly +name "CommFreqPickLeft" +loc 0.0254203 -0.012 0.0265 +crease 45.000000 +numvert 19 +0.0114937 0 -0.0045 +-0.0114937 -3.72529e-09 0.003 +-0.0114937 -0.00375 0.00199519 +-0.0114937 -0.00649519 -0.00075 +-0.0114937 -0.0075 -0.0045 +-0.0114937 0.0075 -0.0045 +-0.0114937 0.00649519 -0.00075 +-0.0114937 0.00375 0.00199519 +0.0114937 -3.72529e-09 0.003 +0.0114937 -0.00375 0.00199519 +0.0114937 -0.00649519 -0.00075 +0.0114937 -0.0075 -0.0045 +0.0114937 0.0075 -0.0045 +0.0114937 0.00649519 -0.00075 +0.0114937 0.00375 0.00199519 +-0.0113203 0.009 -0.0045 +-0.0113203 0.009 0.0045 +-0.0113203 -0.009 0.0045 +-0.0113203 -0.009 -0.0045 +numsurf 13 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +14 0 0 +8 0 0 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +8 0 0 +9 0 0 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +9 0 0 +10 0 0 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +10 0 0 +11 0 0 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +12 0 0 +13 0 0 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +13 0 0 +14 0 0 +SURF 0x10 +mat 0 +refs 4 +14 -2.98023e-08 1 +7 -2.98023e-08 0 +1 0.0833333 0 +8 0.0833333 1 +SURF 0x10 +mat 0 +refs 4 +8 0.0833333 1 +1 0.0833333 0 +2 0.166667 0 +9 0.166667 1 +SURF 0x10 +mat 0 +refs 4 +9 0.166667 1 +2 0.166667 0 +3 0.25 0 +10 0.25 1 +SURF 0x10 +mat 0 +refs 4 +10 0.25 1 +3 0.25 0 +4 0.333333 0 +11 0.333333 1 +SURF 0x10 +mat 0 +refs 4 +12 0.833333 1 +5 0.833333 0 +6 0.916667 0 +13 0.916667 1 +SURF 0x10 +mat 0 +refs 4 +13 0.916667 1 +6 0.916667 0 +7 1 0 +14 1 1 +SURF 0x10 +mat 0 +refs 4 +15 1 1 +16 0 1 +17 0 0 +18 1 0 +kids 0 +OBJECT poly +name "CommFreqPickRight" +loc 0.0254203 -0.012 0.0175 +crease 45.000000 +numvert 19 +0.0114937 0.0075 0.0045 +0.0114937 0.00649519 0.000750002 +0.0114937 0.00375 -0.00199519 +0.0114937 9.31323e-10 -0.003 +0.0114937 -0.00375 -0.00199519 +0.0114937 -0.00649519 0.000750002 +0.0114937 -0.0075 0.0045 +-0.0114937 0.0075 0.0045 +-0.0114937 0.00649519 0.000750002 +-0.0114937 0.00375 -0.00199519 +-0.0114937 9.31323e-10 -0.003 +-0.0114937 -0.00375 -0.00199519 +-0.0114937 -0.00649519 0.000750002 +-0.0114937 -0.0075 0.0045 +0.0114937 0 0.0045 +-0.0113203 -0.009 -0.0045 +-0.0113203 -0.009 0.0045 +-0.0113203 0.009 0.0045 +-0.0113203 0.009 -0.0045 +numsurf 13 +SURF 0x10 +mat 0 +refs 4 +1 0.75 1 +8 0.75 0 +7 0.833333 0 +0 0.833333 1 +SURF 0x10 +mat 0 +refs 4 +2 0.666667 1 +9 0.666667 0 +8 0.75 0 +1 0.75 1 +SURF 0x10 +mat 0 +refs 4 +3 0.583333 1 +10 0.583333 0 +9 0.666667 0 +2 0.666667 1 +SURF 0x10 +mat 0 +refs 4 +4 0.5 1 +11 0.5 0 +10 0.583333 0 +3 0.583333 1 +SURF 0x10 +mat 0 +refs 4 +5 0.416667 1 +12 0.416667 0 +11 0.5 0 +4 0.5 1 +SURF 0x10 +mat 0 +refs 4 +6 0.333333 1 +13 0.333333 0 +12 0.416667 0 +5 0.416667 1 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +1 0 0 +0 0 0 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +2 0 0 +1 0 0 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +3 0 0 +2 0 0 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +4 0 0 +3 0 0 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +5 0 0 +4 0 0 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +6 0 0 +5 0 0 +SURF 0x10 +mat 0 +refs 4 +18 1 1 +17 0 1 +16 0 0 +15 1 0 +kids 0 +OBJECT poly +name "NavFreqPickLeft" +loc 0.0254203 -0.012 -0.0535 +crease 45.000000 +numvert 19 +0.0114937 0.00375 0.00199519 +0.0114937 0.00649519 -0.000750002 +0.0114937 0.0075 -0.0045 +0.0114937 -0.0075 -0.0045 +0.0114937 -0.00649519 -0.000750002 +0.0114937 -0.00375 0.00199519 +0.0114937 -4.65661e-09 0.003 +-0.0114937 0.00375 0.00199519 +-0.0114937 0.00649519 -0.000750002 +-0.0114937 0.0075 -0.0045 +-0.0114937 -0.0075 -0.0045 +-0.0114937 -0.00649519 -0.000750002 +-0.0114937 -0.00375 0.00199519 +-0.0114937 -4.65661e-09 0.003 +0.0114937 -9.31323e-10 -0.0045 +-0.0113203 0.009 -0.00450001 +-0.0113203 0.009 0.0045 +-0.0113203 -0.009 0.0045 +-0.0113203 -0.009 -0.00450001 +numsurf 13 +SURF 0x10 +mat 0 +refs 4 +1 0.916667 1 +8 0.916667 0 +7 1 0 +0 1 1 +SURF 0x10 +mat 0 +refs 4 +2 0.833333 1 +9 0.833333 0 +8 0.916667 0 +1 0.916667 1 +SURF 0x10 +mat 0 +refs 4 +4 0.25 1 +11 0.25 0 +10 0.333333 0 +3 0.333333 1 +SURF 0x10 +mat 0 +refs 4 +5 0.166667 1 +12 0.166667 0 +11 0.25 0 +4 0.25 1 +SURF 0x10 +mat 0 +refs 4 +6 0.0833333 1 +13 0.0833333 0 +12 0.166667 0 +5 0.166667 1 +SURF 0x10 +mat 0 +refs 4 +0 -2.98023e-08 1 +7 -2.98023e-08 0 +13 0.0833333 0 +6 0.0833333 1 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +1 0 0 +0 0 0 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +2 0 0 +1 0 0 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +4 0 0 +3 0 0 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +5 0 0 +4 0 0 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +6 0 0 +5 0 0 +SURF 0x10 +mat 0 +refs 3 +14 0 0 +0 0 0 +6 0 0 +SURF 0x10 +mat 0 +refs 4 +15 1 1 +16 0 1 +17 0 0 +18 1 0 +kids 0 +OBJECT poly +name "NavFreqPickRight" +loc 0.0254203 -0.012 -0.0625 +crease 45.000000 +numvert 19 +0.0114937 -9.31323e-10 0.0045 +-0.0114937 -0.0075 0.0045 +-0.0114937 -0.00649519 0.000750002 +-0.0114937 -0.00375 -0.00199519 +-0.0114937 0 -0.003 +-0.0114937 0.00375 -0.00199519 +-0.0114937 0.00649519 0.000750002 +-0.0114937 0.0075 0.0045 +0.0114937 -0.0075 0.0045 +0.0114937 -0.00649519 0.000750002 +0.0114937 -0.00375 -0.00199519 +0.0114937 0 -0.003 +0.0114937 0.00375 -0.00199519 +0.0114937 0.00649519 0.000750002 +0.0114937 0.0075 0.0045 +-0.0113203 -0.009 -0.0045 +-0.0113203 -0.009 0.0045 +-0.0113203 0.009 0.0045 +-0.0113203 0.009 -0.0045 +numsurf 13 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +8 0 0 +9 0 0 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +9 0 0 +10 0 0 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +10 0 0 +11 0 0 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +11 0 0 +12 0 0 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +12 0 0 +13 0 0 +SURF 0x10 +mat 0 +refs 3 +0 0 0 +13 0 0 +14 0 0 +SURF 0x10 +mat 0 +refs 4 +8 0.333333 1 +1 0.333333 0 +2 0.416667 0 +9 0.416667 1 +SURF 0x10 +mat 0 +refs 4 +9 0.416667 1 +2 0.416667 0 +3 0.5 0 +10 0.5 1 +SURF 0x10 +mat 0 +refs 4 +10 0.5 1 +3 0.5 0 +4 0.583333 0 +11 0.583333 1 +SURF 0x10 +mat 0 +refs 4 +11 0.583333 1 +4 0.583333 0 +5 0.666667 0 +12 0.666667 1 +SURF 0x10 +mat 0 +refs 4 +12 0.666667 1 +5 0.666667 0 +6 0.75 0 +13 0.75 1 +SURF 0x10 +mat 0 +refs 4 +13 0.75 1 +6 0.75 0 +7 0.833333 0 +14 0.833333 1 +SURF 0x10 +mat 0 +refs 4 +18 1 1 +17 0 1 +16 0 0 +15 1 0 +kids 0 diff --git a/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso.nas b/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso.nas new file mode 100644 index 000000000..82fa04478 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso.nas @@ -0,0 +1,335 @@ +############################################################################### +## +## Nasal for dual control of a KX165 NavComm radio over the multiplayer +## network. +## +## Copyright (C) 2007 - 2010 Anders Gidenstam (anders(at)gidenstam.org) +## This file is licensed under the GPL license version 2 or later. +## +############################################################################### + +# Note: +# This module MUST be loaded as KX165. +# + +# Slave button presses. +var swap_btn = "frq-swap-btn"; +var freq_decS = "freq-decS-clicked"; +var freq_incS = "freq-incS-clicked"; +var freq_decL = "freq-decL-clicked"; +var freq_incL = "freq-incL-clicked"; + +# Settings +var freq_selected = "frequencies/selected-mhz"; +var freq_standby = "frequencies/standby-mhz"; + +var comm_base = ["instrumentation/comm[0]", + "instrumentation/comm[1]"]; +var nav_base = ["instrumentation/nav[0]", + "instrumentation/nav[1]"]; + +########################################################################### +var master_kx165tso = { + new : func(n) { + var obj = {}; + obj.parents = [master_kx165tso]; + obj.nav_base = props.globals.getNode("instrumentation/nav[" ~ n ~ "]"); + obj.comm_base = props.globals.getNode("instrumentation/comm[" ~ n ~ "]"); + return obj; + }, + swap_nav : func() { + var tmp = me.nav_base.getNode(freq_selected).getValue(); + me.nav_base.getNode(freq_selected).setValue + (me.nav_base.getNode(freq_standby).getValue()); + me.nav_base.getNode(freq_standby).setValue(tmp); + }, + swap_comm : func() { + var tmp = me.comm_base.getNode(freq_selected).getValue(); + me.comm_base.getNode(freq_selected).setValue + (me.comm_base.getNode(freq_standby).getValue()); + me.comm_base.getNode(freq_standby).setValue(tmp); + }, + adjust_nav_frequency : func(d) { + adjust_radio_frequency( + me.nav_base.getNode(freq_standby), + d, + 108, + 117.95); + }, + adjust_comm_frequency : func(d) { + adjust_radio_frequency( + me.comm_base.getNode(freq_standby), + d, + 118, + 135.975); + } +}; + +########################################################################### +var slave_kx165tso = { + new : func(n, airoot) { + var obj = {}; + obj.parents = [slave_kx165tso]; + obj.root = airoot; + obj.nav_base = props.globals.getNode("instrumentation/nav[" ~ n ~ "]"); + obj.comm_base = props.globals.getNode("instrumentation/comm[" ~ n ~ "]"); + return obj; + }, + swap_nav : func() { + var p = me.nav_base.getNode(swap_btn); +# print("KX165tso[?].NAVSWAP"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + swap_comm : func() { + var p = me.comm_base.getNode(swap_btn); +# print("KX165tso[?].COMMSWAP"); + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + adjust_nav_frequency : func(d) { + var p = 0; + if (abs(d) < 0.99) { + p = (d < 0) ? me.nav_base.getNode(freq_decS) + : me.nav_base.getNode(freq_incS); + } else { + p = (d < 0) ? me.nav_base.getNode(freq_decL) + : me.nav_base.getNode(freq_incL); + } + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + }, + adjust_comm_frequency : func(d) { + var p = 0; + if (abs(d) < 0.99) { + p = (d < 0) ? me.comm_base.getNode(freq_decS) + : me.comm_base.getNode(freq_incS); + } else { + p = (d < 0) ? me.comm_base.getNode(freq_decL) + : me.comm_base.getNode(freq_incL); + } + if (!p.getValue()) { + p.setValue(1); + settimer(func { p.setValue(0); }, + 1.0); + } + } +}; + +########################################################################### +# The KX-165 pick animations default to master. +# NOTE: Use make_master() and make_slave_to(). +# Do NOT change kx165tso directly. +var kx165tso = [master_kx165tso.new(0), master_kx165tso.new(1)]; + + +########################################################################### +# API for pick animations and dual control setup. +########################################################################### + +########################################################################### +# n - NavComm# +var make_master = func(n) { + kx165tso[n] = master_kx165tso.new(n); +} + +########################################################################### +# n - NavComm# +var make_slave_to = func(n, airoot) { + kx165tso[n] = slave_kx165tso.new(n, airoot); +} + +########################################################################### +# n - NavComm# +swap_nav = func(n) { + kx165tso[n].swap_nav(); +} + +########################################################################### +# n - NavComm# +swap_comm = func(n, b) { + kx165tso[n].comm_base.getNode(swap_btn, 1).setValue(b); + if (b) kx165tso[n].swap_comm(); +} + +########################################################################### +# n - NavComm# +# d - adjustment +adjust_nav_frequency = func(n, d) { + kx165tso[n].adjust_nav_frequency(d); +} + +########################################################################### +# n - NavComm# +# d - adjustment +adjust_comm_frequency = func(n, d) { + kx165tso[n].adjust_comm_frequency(d); +} + +########################################################################### +# Create aliases to drive a radio 3d model in an AI/MP model. +# n - NavComm# +var animate_aimodel = func(n, airoot) { + # Comm + var base = comm_base[n]; + var p = "systems/electrical/outputs/comm["~ n ~"]"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = "instrumentation/comm["~ n ~"]/serviceable"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base ~ "/" ~ freq_selected; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base ~ "/" ~ freq_standby; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base ~ "/" ~ swap_btn; + props.globals.getNode(p, 1).alias(airoot.getNode(p)); + # Nav + base = nav_base[n]; + p = "systems/electrical/outputs/nav["~ n ~"]"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = "instrumentation/nav["~ n ~"]/serviceable"; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base ~ "/" ~ freq_selected; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base ~ "/" ~ freq_standby; + airoot.getNode(p, 1).alias(props.globals.getNode(p)); + p = base ~ "/" ~ swap_btn; + props.globals.getNode(p, 1).alias(airoot.getNode(p)); +} + +########################################################################### +# Create a TDMEncoder node array for sending the current radio state to +# slaves. +# n - NavComm# +var master_send_state = func(n) { + var cb = props.globals.getNode(comm_base[n]); + var nb = props.globals.getNode(nav_base[n]); + return + [ + cb.getNode(freq_selected), + cb.getNode(freq_standby), + nb.getNode(freq_selected), + nb.getNode(freq_standby) + ]; +} + +########################################################################### +# Create a SwitchDecoder action array for processing button presses +# from a slave. +# n - Comm# +var master_receive_slave_buttons = func(n) { + return + [ + # Comm + func (b) { + if (b) { + swap_comm(n, 1); + settimer(func { swap_comm(n, 0); }, 1.0) + } + }, + func (b) { + if (b) { adjust_comm_frequency(n, -0.025); } + }, + func (b) { + if (b) { adjust_comm_frequency(n, 0.025); } + }, + func (b) { + if (b) { adjust_comm_frequency(n, -1.0); } + }, + func (b) { + if (b) { adjust_comm_frequency(n, 1.0); } + }, + # Nav + func (b) { + if (b) { swap_nav(n); } + }, + func (b) { + if (b) { adjust_nav_frequency(n, -0.05); } + }, + func (b) { + if (b) { adjust_nav_frequency(n, 0.05); } + }, + func (b) { + if (b) { adjust_nav_frequency(n, -1.0); } + }, + func (b) { + if (b) { adjust_nav_frequency(n, 1.0); } + } + ]; +} + +########################################################################### +# Create a TDMDecoder action array for processing the radio state +# from the master. +# n - NavComm# +var slave_receive_master_state = func(n) { + var cb = props.globals.getNode(comm_base[n]); + var nb = props.globals.getNode(nav_base[n]); + return + [ + func (v) { + cb.getNode(freq_selected).setValue(v); + }, + func (v) { + cb.getNode(freq_standby).setValue(v); + }, + func (v) { + nb.getNode(freq_selected).setValue(v); + }, + func (v) { + nb.getNode(freq_standby).setValue(v); + } + ]; +} + +########################################################################### +# Create a SwitchEncoder node array for sending button presses +# to the master +# n - NavComm# +var slave_send_buttons = func(n) { + var cb = props.globals.getNode(comm_base[n]); + var nb = props.globals.getNode(nav_base[n]); + return + [ + # Comm + cb.getNode(swap_btn, 1), + cb.getNode(freq_decS, 1), + cb.getNode(freq_incS, 1), + cb.getNode(freq_decL, 1), + cb.getNode(freq_incL, 1), + # Nav + nb.getNode(swap_btn, 1), + nb.getNode(freq_decS, 1), + nb.getNode(freq_incS, 1), + nb.getNode(freq_decL, 1), + nb.getNode(freq_incL, 1) + ]; +} + + + +########################################################################### +# Generic frequency stepper. +# f - frequency property +# d - change +# min - min frequency +# max - max frequency +var adjust_radio_frequency = func(f, d, min, max) { + var old = f.getValue(); + var new = old + d; + if (new < min - 0.005) { new = int(max) + (new - int(new)); } + if (new > max + 0.005) { + new = int(min) + (new - int(new)); + if (int(new + 0.005) > min) new -= 1; + } +# print("Old: " ~ old ~ " Intermediate: " ~ (old + d) ~ " New: " ~ new); + f.setValue(new); +} diff --git a/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso.png b/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso.png new file mode 100644 index 000000000..9fe67f49b Binary files /dev/null and b/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso.png differ diff --git a/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso1.xml b/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso1.xml new file mode 100644 index 000000000..724df7a99 --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso1.xml @@ -0,0 +1,599 @@ + + + + + kx165tso.ac + + + select + CommUse + CommStby + NavUse + NavStby + + instrumentation/comm[0]/serviceable + instrumentation/nav[0]/serviceable + + + + + + + + material + CommToggle + NavToggle + + sim/model/instrument-lighting/emission/red + sim/model/instrument-lighting/emission/green + sim/model/instrument-lighting/emission/blue + controls/lighting/instruments-norm + + + + + translate + CommToggle + instrumentation/comm[0]/frq-swap-btn + -0.004 + + 1 + 0 + 0 + + + + + textranslate + CommUse100M + instrumentation/comm[0]/frequencies/selected-mhz + 100 + 0.001 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommUse10M + instrumentation/comm[0]/frequencies/selected-mhz + 10 + 0.01 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommUse1M + instrumentation/comm[0]/frequencies/selected-mhz + 1 + 0.1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommUse100K + instrumentation/comm[0]/frequencies/selected-mhz + 0.1 + 1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommUse10K + instrumentation/comm[0]/frequencies/selected-mhz + 0.01 + 10 + 0.0005 + + 1 + 0 + 0 + + + + + textranslate + CommStby100M + instrumentation/comm[0]/frequencies/standby-mhz + 100 + 0.001 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommStby10M + instrumentation/comm[0]/frequencies/standby-mhz + 10 + 0.01 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommStby1M + instrumentation/comm[0]/frequencies/standby-mhz + 1 + 0.1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommStby100K + instrumentation/comm[0]/frequencies/standby-mhz + 0.1 + 1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommStby10K + instrumentation/comm[0]/frequencies/standby-mhz + 0.01 + 10 + 0.0005 + + 1 + 0 + 0 + + + + + + + translate + NavToggle + instrumentation/nav[0]/frq-swap-btn + -0.004 + + 1 + 0 + 0 + + + + + textranslate + NavUse100M + instrumentation/nav[0]/frequencies/selected-mhz + 100 + 0.001 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavUse10M + instrumentation/nav[0]/frequencies/selected-mhz + 10 + 0.01 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavUse1M + instrumentation/nav[0]/frequencies/selected-mhz + 1 + 0.1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavUse100K + instrumentation/nav[0]/frequencies/selected-mhz + 0.1 + 1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavUse10K + instrumentation/nav[0]/frequencies/selected-mhz + 0.01 + 10 + 0.0005 + + 1 + 0 + 0 + + + + + textranslate + NavStby100M + instrumentation/nav[0]/frequencies/standby-mhz + 100 + 0.001 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavStby10M + instrumentation/nav[0]/frequencies/standby-mhz + 10 + 0.01 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavStby1M + instrumentation/nav[0]/frequencies/standby-mhz + 1 + 0.1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavStby100K + instrumentation/nav[0]/frequencies/standby-mhz + 0.1 + 1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavStby10K + instrumentation/nav[0]/frequencies/standby-mhz + 0.01 + 10 + 0.0005 + + 1 + 0 + 0 + + + + + + + rotate + CommVolume + instrumentation/comm[0]/volume + -270 + + 1 + 0 + 0 + +
+ 0.0188947 + -0.0620002 + -0.0139999 +
+
+ + + translate + CommVolume + instrumentation/comm[0]/volume + 0.002 + + 1 + 0 + 0 + + + + + rotate + CommKHz + instrumentation/comm[0]/frequencies/standby-mhz + -1200 + + 1 + 0 + 0 + +
+ 0.0320882 + -0.022 + -0.012 +
+
+ + rotate + NavVolume + instrumentation/nav[0]/volume + -270 + + 1 + 0 + 0 + +
+ 0.0188946 + 0.0180001 + -0.0139999 +
+
+ + + translate + NavVolume + instrumentation/nav[0]/volume + 0.002 + + 1 + 0 + 0 + + + + + + + pick + CommToggle + + + false + + nasal + + + + + nasal + + + + + + + + pick + CommKHz + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + pick + CommMHz + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + pick + NavToggle + + + false + + nasal + + + + + + + pick + NavKHz + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + pick + NavMHz + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + noshadow + + + range + 0 + 10 + + +
diff --git a/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso2.xml b/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso2.xml new file mode 100644 index 000000000..6bf3ae07d --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/KX165/kx165tso2.xml @@ -0,0 +1,599 @@ + + + + + kx165tso.ac + + + select + CommUse + CommStby + NavUse + NavStby + + instrumentation/comm[1]/serviceable + instrumentation/nav[1]/serviceable + + + + + + + + material + CommToggle + NavToggle + + sim/model/instrument-lighting/emission/red + sim/model/instrument-lighting/emission/green + sim/model/instrument-lighting/emission/blue + controls/lighting/instruments-norm + + + + + translate + CommToggle + instrumentation/comm[1]/frq-swap-btn + -0.004 + + 1 + 0 + 0 + + + + + textranslate + CommUse100M + instrumentation/comm[1]/frequencies/selected-mhz + 100 + 0.001 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommUse10M + instrumentation/comm[1]/frequencies/selected-mhz + 10 + 0.01 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommUse1M + instrumentation/comm[1]/frequencies/selected-mhz + 1 + 0.1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommUse100K + instrumentation/comm[1]/frequencies/selected-mhz + 0.1 + 1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommUse10K + instrumentation/comm[1]/frequencies/selected-mhz + 0.01 + 10 + 0.0005 + + 1 + 0 + 0 + + + + + textranslate + CommStby100M + instrumentation/comm[1]/frequencies/standby-mhz + 100 + 0.001 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommStby10M + instrumentation/comm[1]/frequencies/standby-mhz + 10 + 0.01 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommStby1M + instrumentation/comm[1]/frequencies/standby-mhz + 1 + 0.1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommStby100K + instrumentation/comm[1]/frequencies/standby-mhz + 0.1 + 1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + CommStby10K + instrumentation/comm[1]/frequencies/standby-mhz + 0.01 + 10 + 0.0005 + + 1 + 0 + 0 + + + + + + + translate + NavToggle + instrumentation/nav[1]/frq-swap-btn + -0.004 + + 1 + 0 + 0 + + + + + textranslate + NavUse100M + instrumentation/nav[1]/frequencies/selected-mhz + 100 + 0.001 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavUse10M + instrumentation/nav[1]/frequencies/selected-mhz + 10 + 0.01 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavUse1M + instrumentation/nav[1]/frequencies/selected-mhz + 1 + 0.1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavUse100K + instrumentation/nav[1]/frequencies/selected-mhz + 0.1 + 1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavUse10K + instrumentation/nav[1]/frequencies/selected-mhz + 0.01 + 10 + 0.0005 + + 1 + 0 + 0 + + + + + textranslate + NavStby100M + instrumentation/nav[1]/frequencies/standby-mhz + 100 + 0.001 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavStby10M + instrumentation/nav[1]/frequencies/standby-mhz + 10 + 0.01 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavStby1M + instrumentation/nav[1]/frequencies/standby-mhz + 1 + 0.1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavStby100K + instrumentation/nav[1]/frequencies/standby-mhz + 0.1 + 1 + 0.0005 + + 1 + 0 + 0 + + + + textranslate + NavStby10K + instrumentation/nav[1]/frequencies/standby-mhz + 0.01 + 10 + 0.0005 + + 1 + 0 + 0 + + + + + + + rotate + CommVolume + instrumentation/comm[1]/volume + -270 + + 1 + 0 + 0 + +
+ 0.0188947 + -0.0620002 + -0.0139999 +
+
+ + + translate + CommVolume + instrumentation/comm[1]/volume + 0.002 + + 1 + 0 + 0 + + + + + rotate + CommKHz + instrumentation/comm[1]/frequencies/standby-mhz + -1200 + + 1 + 0 + 0 + +
+ 0.0320882 + -0.022 + -0.012 +
+
+ + rotate + NavVolume + instrumentation/nav[1]/volume + -270 + + 1 + 0 + 0 + +
+ 0.0188946 + 0.0180001 + -0.0139999 +
+
+ + + translate + NavVolume + instrumentation/nav[1]/volume + 0.002 + + 1 + 0 + 0 + + + + + + + pick + CommToggle + + + false + + nasal + + + + + nasal + + + + + + + + pick + CommKHz + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + pick + CommMHz + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + pick + NavToggle + + + false + + nasal + + + + + + + pick + NavKHz + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + pick + NavMHz + + + true + 0.2 + + nasal + + + + + + true + 0.2 + + nasal + + + + + + false + + nasal + + + + + + false + + nasal + + + + + + + noshadow + + + range + 0 + 10 + + +
diff --git a/Aircraft/Generic/DualControl/Instruments/VHF-22/ctl-22.png b/Aircraft/Generic/DualControl/Instruments/VHF-22/ctl-22.png new file mode 100644 index 000000000..45ec78084 Binary files /dev/null and b/Aircraft/Generic/DualControl/Instruments/VHF-22/ctl-22.png differ diff --git a/Aircraft/Generic/DualControl/Instruments/VHF-22/ctl22-com.xml b/Aircraft/Generic/DualControl/Instruments/VHF-22/ctl22-com.xml new file mode 100644 index 000000000..56824b1df --- /dev/null +++ b/Aircraft/Generic/DualControl/Instruments/VHF-22/ctl22-com.xml @@ -0,0 +1,387 @@ + + + + + + + + instrumentation/comm[0]/serviceable + systems/electrical/outputs/comm[0] + instrumentation/comm[0]/frequencies/selected-mhz + instrumentation/comm[0]/frequencies/standby-mhz + VHF22.swap(0); + VHF22.adjust_frequency(0, 0.025); + VHF22.adjust_frequency(0, -0.025); + VHF22.adjust_frequency(0, 1.0); + VHF22.adjust_frequency(0, -1.0); + + + ctl22.ac + + + select + freq.001 + freq.002 + freq.003 + freq.dec + freq.004 + freq.005 + freq.006 + + + + 1 + + + + + + select + stby.001 + stby.002 + stby.003 + stby.dec + stby.004 + stby.005 + stby.006 + + + + 1 + + + + + + select + mem.annun + + + + 1 + + + + + + rotate + CTL-22.pwr + + + 00 + 1.030 + +
+ 0.0 + -0.014 + -0.018 +
+ + -1 + 0 + 0 + +
+ + + + + textranslate + freq.001 + + 0.001 + 100 + 0.0005 + + 0 + 1 + 0 + + + + + textranslate + freq.002 + + 0.01 + 10 + 0.0005 + + 0 + 1 + 0 + + + + + textranslate + freq.003 + + 0.1 + 1 + 0.0005 + + 0 + 1 + 0 + + + + + textranslate + freq.004 + + 1.0 + 0.1 + 0.0005 + + 0 + 1 + 0 + + + + + textranslate + freq.005 + + 10.0 + 0.01 + 0.0005 + + 0 + 1 + 0 + + + + + textranslate + freq.006 + + 100.0 + 0.001 + 0.0005 + + 0 + 1 + 0 + + + + + + + textranslate + stby.001 + + 0.001 + 100 + 0.0005 + + 0 + 1 + 0 + + + + + textranslate + stby.002 + + 0.01 + 10 + 0.0005 + + 0 + 1 + 0 + + + + + textranslate + stby.003 + + 0.1 + 1 + 0.0005 + + 0 + 1 + 0 + + + + + textranslate + stby.004 + + 1.0 + 0.1 + 0.0005 + + 0 + 1 + 0 + + + + + textranslate + stby.005 + + 10.0 + 0.01 + 0.0005 + + 0 + 1 + 0 + + + + + textranslate + stby.006 + + 100 + 0.001 + 0.0005 + + 0 + 1 + 0 + + + + + pick + CTL-22.xfr + + + false + + nasal + + + + + + View Direction + + 4 + 6 + + + View left + true + + + nasal + + + + + View right + true + + + nasal + + + + + + + View Elevation + + 5 + 7 + + + View down + true + + property-adjust + /sim/current-view/goal-pitch-offset-deg + 3.0 + + + + View up + true + + property-adjust + /sim/current-view/goal-pitch-offset-deg + -3.0 + + + + + + + + + + + + + + + + + + + + + + + + + +