... | ... |
@@ -66,12 +66,12 @@ var setListeners = func { |
66 | 66 |
device[1].display.updateHDG(val); |
67 | 67 |
} |
68 | 68 |
}, 0, 2); |
69 |
- setlistener('/instrumentation/zkv1000/cdi/course', |
|
69 |
+ setlistener('/instrumentation/zkv1000/device[0]/knobs/CRS', |
|
70 | 70 |
func (n) { |
71 | 71 |
var val = n.getValue(); |
72 | 72 |
if (val != nil) { |
73 |
- device[0].display.updateCRS(val); |
|
74 |
- device[1].display.updateCRS(val); |
|
73 |
+ device[0].display.updateCRS(); |
|
74 |
+ device[1].display.updateCRS(); |
|
75 | 75 |
} |
76 | 76 |
}, 0, 2); |
77 | 77 |
setlistener('/instrumentation/zkv1000/afcs/selected-alt-ft', |
... | ... |
@@ -105,9 +105,9 @@ var displayClass = { |
105 | 105 |
append(groups.hide, |
106 | 106 |
'EIS', |
107 | 107 |
'CDI', |
108 |
- 'NAV1-pointer', |
|
109 |
- 'NAV2-pointer', |
|
110 |
- 'GPS-pointer', |
|
108 |
+ 'NAV1-pointer', 'NAV1-CDI', 'NAV1-FROM', 'NAV1-TO', |
|
109 |
+ 'NAV2-pointer', 'NAV2-CDI', 'NAV2-FROM', 'NAV2-TO', |
|
110 |
+ 'GPS-pointer', 'GPS-CDI', 'GPS-CTI', 'GPS-CTI-diamond', 'GPS-FROM', 'GPS-TO', |
|
111 | 111 |
'BRG1-pointer', |
112 | 112 |
'BRG2-pointer', |
113 | 113 |
'SelectedHDG-bg', |
... | ... |
@@ -147,6 +147,7 @@ var displayClass = { |
147 | 147 |
'Speed110', |
148 | 148 |
'Alt11100', |
149 | 149 |
'HDG-text', |
150 |
+ 'CDI-SRC-text', 'CDI-GPS-ANN-text', 'CDI-GPS-XTK-text', |
|
150 | 151 |
'BRG1-pointer', 'BRG1-SRC-text', 'BRG1-DST-text', 'BRG1-WPID-text', |
151 | 152 |
'BRG2-pointer', 'BRG2-SRC-text', 'BRG2-DST-text', 'BRG2-WPID-text', |
152 | 153 |
'WindData-OPTN1-HDG-text', 'WindData-OPTN1-SPD-text', |
... | ... |
@@ -227,6 +228,7 @@ var displayClass = { |
227 | 228 |
lightblue : [0, 1, 1], |
228 | 229 |
darkblue : [0, 0, 1], |
229 | 230 |
red : [1, 0, 0], |
231 |
+ magenta : [1, 0, 1], |
|
230 | 232 |
}, |
231 | 233 |
#}}} |
232 | 234 |
|
... | ... |
@@ -262,6 +264,8 @@ var displayClass = { |
262 | 264 |
me.screenElements[e].setText(me.texts[e].default); |
263 | 265 |
if (contains(me.texts[e], 'color')) |
264 | 266 |
me.screenElements[e].setColor(me.texts[e].color); |
267 |
+ if (contains(me.texts[e], 'visible')) |
|
268 |
+ me.screenElements[e].setVisible(me.texts[e].visible); |
|
265 | 269 |
} |
266 | 270 |
# else |
267 | 271 |
# print('no text format for ' ~ e); |
... | ... |
@@ -319,6 +323,15 @@ var displayClass = { |
319 | 323 |
'nav2-id' : { |
320 | 324 |
default: '' |
321 | 325 |
}, |
326 |
+ 'CDI-GPS-ANN-text' : { |
|
327 |
+ visible : 0 |
|
328 |
+ }, |
|
329 |
+ 'CDI-GPS-XTK-text' : { |
|
330 |
+ visible : 0 |
|
331 |
+ }, |
|
332 |
+ 'CDI-SRC-text' : { |
|
333 |
+ visible : 0 |
|
334 |
+ }, |
|
322 | 335 |
# 'TAS-text' : { |
323 | 336 |
# alignment : 'right-bottom', |
324 | 337 |
# }, |
... | ... |
@@ -660,16 +673,23 @@ var displayClass = { |
660 | 673 |
}, |
661 | 674 |
#}}} |
662 | 675 |
|
663 |
- updateCRS : func (crs) { |
|
676 |
+ updateCRS : func () { |
|
664 | 677 |
# TODO: update display for NAV/GPS/BRG courses {{{ |
665 | 678 |
if (me.role == 'MFD') |
666 | 679 |
return; |
680 |
+ var source = getprop('/instrumentation/zkv1000/cdi/source'); |
|
681 |
+ if (source == 'OFF') |
|
682 |
+ return; |
|
683 |
+ var crs = getprop('/instrumentation/zkv1000/cdi/course'); |
|
684 |
+ if (crs == nil) |
|
685 |
+ return; |
|
667 | 686 |
me.screenElements['SelectedCRS-bg'] |
668 | 687 |
.show(); |
669 | 688 |
me.screenElements['SelectedCRS-bgtext'] |
670 | 689 |
.show(); |
671 | 690 |
me.screenElements['SelectedCRS-text'] |
672 | 691 |
.setText(sprintf('%03d°%s', crs, '')) |
692 |
+ .setColor(source == 'GPS' ? me.colors.magenta : me.colors.green) |
|
673 | 693 |
.show(); |
674 | 694 |
me.addTimer(3, ['SelectedCRS-text', 'SelectedCRS-bgtext', 'SelectedCRS-bg']); |
675 | 695 |
}, |
... | ... |
@@ -695,6 +715,58 @@ var displayClass = { |
695 | 715 |
}, |
696 | 716 |
#}}} |
697 | 717 |
|
718 |
+ updateCDI : func { |
|
719 |
+# animation for CDI {{{ |
|
720 |
+ var source = getprop('/instrumentation/zkv1000/cdi/source'); |
|
721 |
+ if (source == 'OFF') { |
|
722 |
+ foreach (var s; ['GPS', 'NAV1', 'NAV2']) |
|
723 |
+ foreach (var t; ['pointer', 'CDI']) |
|
724 |
+ me.screenElements[s ~ '-' ~ t].hide(); |
|
725 |
+ me.screenElements['CDI-GPS-ANN-text'].hide(); |
|
726 |
+ me.screenElements['CDI-GPS-XTK-text'].hide(); |
|
727 |
+ me.screenElements['CDI-SRC-text'].hide(); |
|
728 |
+ me.screenElements['CDI'].hide(); |
|
729 |
+ } |
|
730 |
+ else { |
|
731 |
+ var course = getprop('/instrumentation/zkv1000/cdi/course'); |
|
732 |
+ me.screenElements['CDI'] |
|
733 |
+ .show(); |
|
734 |
+ me.screenElements['GPS-CTI'] |
|
735 |
+ .setVisible(source == 'GPS'); |
|
736 |
+ me.screenElements['GPS-CTI-diamond'] |
|
737 |
+ .setVisible(source == 'GPS'); |
|
738 |
+ foreach (var s; ['GPS', 'NAV1', 'NAV2']) { |
|
739 |
+ var rot = (course - me._updated_hdg) * D2R; |
|
740 |
+ me.screenElements[s ~ '-pointer'] |
|
741 |
+ .setRotation(rot) |
|
742 |
+ .setVisible(source == s); |
|
743 |
+ me.screenElements[s ~ '-CDI'] |
|
744 |
+ .setVisible(source == s); |
|
745 |
+ foreach (var f; ['FROM', 'TO']) |
|
746 |
+ me.screenElements[s ~ '-' ~ f] |
|
747 |
+ .setVisible(s == source and getprop('/instrumentation/zkv1000/cdi/', f, '-flag')); |
|
748 |
+ me.screenElements['CDI-SRC-text'] |
|
749 |
+ .setText(source) |
|
750 |
+ .setColor(source == 'GPS' ? me.colors.magenta : me.colors.green) |
|
751 |
+ .show(); |
|
752 |
+ var deflection = getprop('/instrumentation/zkv1000/cdi/course-deflection'); |
|
753 |
+ if (left(source, 3) == 'NAV') { |
|
754 |
+ var scale = deflection / 4; |
|
755 |
+ scale = (abs(scale) > 1.2) ? 1.2 : scale; |
|
756 |
+ } |
|
757 |
+ else { |
|
758 |
+ me.screenElements['CDI-SRC-text'] |
|
759 |
+ .setText('GPS') |
|
760 |
+ .setColor(1,0,1); |
|
761 |
+ } |
|
762 |
+ me.screenElements[source ~ '-CDI'] |
|
763 |
+ .setTranslation(65 * scale, 0); |
|
764 |
+ } |
|
765 |
+ settimer(func me.updateCDI(), 0.5); |
|
766 |
+ } |
|
767 |
+ }, |
|
768 |
+#}}} |
|
769 |
+ |
|
698 | 770 |
_updateRadio: func { |
699 | 771 |
# common parts for NAV/LOC/COMM radios{{{ |
700 | 772 |
# arg[0]._r = <comm|nav> |
... | ... |
@@ -753,8 +825,8 @@ var displayClass = { |
753 | 825 |
# update NAV/LOC rodios display upper left (PFD/MFD){{{ |
754 | 826 |
# made active via menu |
755 | 827 |
if (contains(arg[0], "active")) { |
828 |
+ arg[0]._r = 'nav'; |
|
756 | 829 |
if (arg[0]['active'] == 'none') { |
757 |
- arg[0]._r = 'nav'; |
|
758 | 830 |
me._updateRadio(arg[0]); |
759 | 831 |
me.screenElements['nav1-id'] |
760 | 832 |
.setColor(1,1,1); |
... | ... |
@@ -766,7 +838,6 @@ var displayClass = { |
766 | 838 |
.hide(); |
767 | 839 |
} |
768 | 840 |
else { |
769 |
- arg[0]._r = 'nav'; |
|
770 | 841 |
arg[0].inactive = (arg[0]['active'] == 1) + 1; |
771 | 842 |
me._updateRadio(arg[0]); |
772 | 843 |
me.screenElements['nav' ~ arg[0]['active'] ~ '-id'] |
... | ... |
@@ -25,15 +25,36 @@ var setCommTune = func { |
25 | 25 |
freq.alias(radios_list[getprop('/instrumentation/zkv1000/radios/comm-tune') + 4]); |
26 | 26 |
} |
27 | 27 |
|
28 |
-var CDIfromNAV = func (n) { |
|
29 |
- nav = '/instrumentation/nav[' ~ n ~ ']/'; |
|
30 |
- cdi.getNode('visible').setBoolValue(1); |
|
31 |
- cdi.getNode('in-range').alias(nav ~ 'in-range'); |
|
32 |
- cdi.getNode('course').alias(nav ~ 'radials/selected-deg'); |
|
33 |
- cdi.getNode('course-deflection').alias(nav ~ 'heading-needle-deflection'); |
|
34 |
- cdi.getNode('pointer-type').setIntValue(n * 2); |
|
35 |
- cdi.getNode('from-flag').alias(nav ~ 'from-flag'); |
|
36 |
- cdi.getNode('radial').alias(nav ~ 'radials/reciprocal-radial-deg'); |
|
28 |
+var aliases = { |
|
29 |
+ NAV : { |
|
30 |
+ 'in-range' : 'in-range', |
|
31 |
+ 'course' : 'radials/selected-deg', |
|
32 |
+ 'course-deflection' : 'heading-needle-deflection', |
|
33 |
+ 'FROM-flag' : 'from-flag', |
|
34 |
+ 'TO-flag' : 'to-flag', |
|
35 |
+ 'radial' : 'radials/reciprocal-radial-deg', |
|
36 |
+ }, |
|
37 |
+ GPS : { |
|
38 |
+ 'course' : 'desired-course-deg', |
|
39 |
+ 'course-deflection' : 'wp/wp[1]/course-error-nm', |
|
40 |
+ 'FROM-flag': 'wp/wp[1]/from-flag', |
|
41 |
+ 'TO-flag': 'wp/wp[1]/to-flag', |
|
42 |
+ } |
|
43 |
+}; |
|
44 |
+ |
|
45 |
+var CDIfromSOURCE = func (source) { |
|
46 |
+ if (source == 'OFF') { |
|
47 |
+# all the aliases of GPS are included in NAV too |
|
48 |
+ foreach (var a; keys(aliases['NAV'])) |
|
49 |
+ cdi.getNode(a).unalias(); |
|
50 |
+ } |
|
51 |
+ else { |
|
52 |
+ var s = (source == 'GPS') ? 'gps' : 'nav[' ~ (right(source, 1) - 1) ~ ']'; |
|
53 |
+ foreach (var a; keys(aliases[left(source, 3)])) { |
|
54 |
+ cdi.getNode(a).unalias(); |
|
55 |
+ cdi.getNode(a).alias('/instrumentation/' ~ s ~ '/' ~ aliases[left(source, 3)][a]); |
|
56 |
+ } |
|
57 |
+ } |
|
37 | 58 |
} |
38 | 59 |
|
39 | 60 |
var XPDR_change_cursor_position = func (dir) { |
... | ... |
@@ -232,6 +232,22 @@ var softkeysClass = { |
232 | 232 |
me.bindings.PFD.XPDR.ident.start(); |
233 | 233 |
call(me.bindings.PFD.XPDR.CODE.exit, [[]], me); |
234 | 234 |
}, |
235 |
+ CDI : func { |
|
236 |
+ var list = ['OFF']; |
|
237 |
+ if (getprop('/instrumentation/gps/route-distance-nm') != nil) |
|
238 |
+ append(list, 'GPS'); |
|
239 |
+ if (getprop('/instrumentation/nav/in-range') != nil) |
|
240 |
+ append(list, 'NAV1'); |
|
241 |
+ if (getprop('/instrumentation/nav[1]/in-range') != nil) |
|
242 |
+ append(list, 'NAV2'); |
|
243 |
+ var index = std.Vector |
|
244 |
+ .new(list) |
|
245 |
+ .index(cdi.getNode('source').getValue()); |
|
246 |
+ var next = (index == size(list) -1) ? 0 : index + 1; |
|
247 |
+ cdi.getNode('source').setValue(list[next]); |
|
248 |
+ CDIfromSOURCE(list[next]); |
|
249 |
+ me.device.display.updateCDI(); |
|
250 |
+ }, |
|
235 | 251 |
}, |
236 | 252 |
MFD : { |
237 | 253 |
ENGINE: { |
... | ... |
@@ -5109,7 +5109,7 @@ |
5109 | 5109 |
style="display:none;fill:none;stroke:none;stroke-width:1.00699997;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
5110 | 5110 |
</g> |
5111 | 5111 |
<g |
5112 |
- id="layer19" |
|
5112 |
+ id="Compass" |
|
5113 | 5113 |
inkscape:label="Compass" |
5114 | 5114 |
style="display:inline"> |
5115 | 5115 |
<g |
... | ... |
@@ -5953,37 +5953,33 @@ |
5953 | 5953 |
</g> |
5954 | 5954 |
<g |
5955 | 5955 |
id="CDI" |
5956 |
- inkscape:label="HDI" |
|
5956 |
+ inkscape:label="CDI" |
|
5957 | 5957 |
style="display:inline"> |
5958 |
- <circle |
|
5959 |
- r="5.0375657" |
|
5960 |
- cy="586.5" |
|
5961 |
- cx="394.5" |
|
5958 |
+ <path |
|
5959 |
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.92486846;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" |
|
5960 |
+ d="m 394.5,581 c -3.03209,0 -5.5,2.46791 -5.5,5.5 0,3.03209 2.46791,5.5 5.5,5.5 3.03209,0 5.5,-2.46791 5.5,-5.5 0,-3.03209 -2.46791,-5.5 -5.5,-5.5 z m 0,0.92578 c 2.53226,0 4.57422,2.04196 4.57422,4.57422 0,2.53226 -2.04196,4.57422 -4.57422,4.57422 -2.53226,0 -4.57422,-2.04196 -4.57422,-4.57422 0,-2.53226 2.04196,-4.57422 4.57422,-4.57422 z" |
|
5962 | 5961 |
id="path4535" |
5963 |
- style="fill:#3e3e3e;fill-opacity:0.56226412;stroke:#ffffff;stroke-width:0.92486846;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
|
5964 |
- <circle |
|
5965 |
- r="5.0375657" |
|
5966 |
- cy="586.5" |
|
5967 |
- cx="427" |
|
5962 |
+ inkscape:connector-curvature="0" /> |
|
5963 |
+ <path |
|
5964 |
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.92486846;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" |
|
5965 |
+ d="m 427,581 c -3.03209,0 -5.5,2.46791 -5.5,5.5 0,3.03209 2.46791,5.5 5.5,5.5 3.03209,0 5.5,-2.46791 5.5,-5.5 0,-3.03209 -2.46791,-5.5 -5.5,-5.5 z m 0,0.92578 c 2.53225,0 4.57422,2.04197 4.57422,4.57422 0,2.53225 -2.04197,4.57422 -4.57422,4.57422 -2.53225,0 -4.57422,-2.04197 -4.57422,-4.57422 0,-2.53225 2.04197,-4.57422 4.57422,-4.57422 z" |
|
5968 | 5966 |
id="path4535-5" |
5969 |
- style="display:inline;fill:#3e3e3e;fill-opacity:0.56226412;stroke:#ffffff;stroke-width:0.92486846;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
|
5967 |
+ inkscape:connector-curvature="0" /> |
|
5970 | 5968 |
<path |
5971 | 5969 |
inkscape:connector-curvature="0" |
5972 | 5970 |
id="path5729" |
5973 | 5971 |
d="m 459.5,503 c -46.10392,0 -83.5,37.39608 -83.5,83.5 0,46.10392 37.39608,83.5 83.5,83.5 46.10392,0 83.5,-37.39608 83.5,-83.5 0,-46.10392 -37.39608,-83.5 -83.5,-83.5 z m 0,2.00195 c 45.02197,0 81.49805,36.47608 81.49805,81.49805 0,45.02197 -36.47608,81.49805 -81.49805,81.49805 -45.02197,0 -81.49805,-36.47608 -81.49805,-81.49805 0,-45.02197 36.47608,-81.49805 81.49805,-81.49805 z" |
5974 | 5972 |
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;enable-background:accumulate" /> |
5975 |
- <circle |
|
5976 |
- r="5.0375657" |
|
5977 |
- cy="586.5" |
|
5978 |
- cx="492" |
|
5973 |
+ <path |
|
5974 |
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.92486846;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" |
|
5975 |
+ d="m 492,581 c -3.03209,0 -5.5,2.46791 -5.5,5.5 0,3.03209 2.46791,5.5 5.5,5.5 3.03209,0 5.5,-2.46791 5.5,-5.5 0,-3.03209 -2.46791,-5.5 -5.5,-5.5 z m 0,0.92578 c 2.53225,0 4.57422,2.04197 4.57422,4.57422 0,2.53225 -2.04197,4.57422 -4.57422,4.57422 -2.53225,0 -4.57422,-2.04197 -4.57422,-4.57422 0,-2.53225 2.04197,-4.57422 4.57422,-4.57422 z" |
|
5979 | 5976 |
id="path4535-2" |
5980 |
- style="display:inline;fill:#3e3e3e;fill-opacity:0.56226412;stroke:#ffffff;stroke-width:0.92486846;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
|
5981 |
- <circle |
|
5982 |
- r="5.0375657" |
|
5983 |
- cy="586.5" |
|
5984 |
- cx="524.5" |
|
5977 |
+ inkscape:connector-curvature="0" /> |
|
5978 |
+ <path |
|
5979 |
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.92486846;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" |
|
5980 |
+ d="m 524.5,581 c -3.03209,0 -5.5,2.46791 -5.5,5.5 0,3.03209 2.46791,5.5 5.5,5.5 3.03209,0 5.5,-2.46791 5.5,-5.5 0,-3.03209 -2.46791,-5.5 -5.5,-5.5 z m 0,0.92578 c 2.53225,0 4.57422,2.04197 4.57422,4.57422 0,2.53225 -2.04197,4.57422 -4.57422,4.57422 -2.53225,0 -4.57422,-2.04197 -4.57422,-4.57422 0,-2.53225 2.04197,-4.57422 4.57422,-4.57422 z" |
|
5985 | 5981 |
id="path4535-5-5" |
5986 |
- style="display:inline;fill:#3e3e3e;fill-opacity:0.56226412;stroke:#ffffff;stroke-width:0.92486846;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
|
5982 |
+ inkscape:connector-curvature="0" /> |
|
5987 | 5983 |
</g> |
5988 | 5984 |
<g |
5989 | 5985 |
id="BRG1-pointer" |
... | ... |
@@ -6268,6 +6264,61 @@ |
6268 | 6264 |
sodipodi:role="line">000°</tspan></text> |
6269 | 6265 |
</g> |
6270 | 6266 |
</g> |
6267 |
+ <rect |
|
6268 |
+ style="display:inline;opacity:1;fill:#ff35ff;fill-opacity:1;stroke:none;stroke-width:1.22684693;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
|
6269 |
+ id="GPS-CTI-diamond" |
|
6270 |
+ width="11.030201" |
|
6271 |
+ height="11.030201" |
|
6272 |
+ x="658.15662" |
|
6273 |
+ y="-122.52554" |
|
6274 |
+ transform="matrix(0.58861055,0.80841673,-0.58861055,0.80841673,0,0)" |
|
6275 |
+ inkscape:label="GPS-CTI-diamond" |
|
6276 |
+ inkscape:transform-center-x="0.19014603" |
|
6277 |
+ inkscape:transform-center-y="-143.37035" /> |
|
6278 |
+ <path |
|
6279 |
+ style="fill:none;fill-rule:evenodd;stroke:#c9c9c9;stroke-width:0.88917625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.55670503, 3.55670503;stroke-dashoffset:0;stroke-opacity:1" |
|
6280 |
+ d="M 459.29409,559.07115 459.5,455.375" |
|
6281 |
+ id="GPS-CTI" |
|
6282 |
+ inkscape:connector-curvature="0" |
|
6283 |
+ inkscape:label="GPS-CTI" |
|
6284 |
+ inkscape:transform-center-x="0.19014635" |
|
6285 |
+ inkscape:transform-center-y="-77.960004" /> |
|
6286 |
+ <text |
|
6287 |
+ xml:space="preserve" |
|
6288 |
+ style="font-style:normal;font-weight:normal;font-size:21.33333397px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" |
|
6289 |
+ x="459.19482" |
|
6290 |
+ y="634.20343" |
|
6291 |
+ id="CDI-GPS-XTK-text" |
|
6292 |
+ inkscape:label="CDI-GPS-XTK-text"><tspan |
|
6293 |
+ sodipodi:role="line" |
|
6294 |
+ id="tspan5945" |
|
6295 |
+ x="459.19482" |
|
6296 |
+ y="634.20343" |
|
6297 |
+ style="text-align:center;text-anchor:middle;fill:#ff00ff">XTK 99NM</tspan></text> |
|
6298 |
+ <text |
|
6299 |
+ xml:space="preserve" |
|
6300 |
+ style="font-style:normal;font-weight:normal;font-size:21.33333397px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" |
|
6301 |
+ x="473.81512" |
|
6302 |
+ y="561.22241" |
|
6303 |
+ id="CDI-GPS-ANN-text" |
|
6304 |
+ inkscape:label="CDI-GPS-ANN-text"><tspan |
|
6305 |
+ sodipodi:role="line" |
|
6306 |
+ id="tspan5941" |
|
6307 |
+ x="473.81512" |
|
6308 |
+ y="561.22241" |
|
6309 |
+ style="fill:#ff00ff">ANN.</tspan></text> |
|
6310 |
+ <text |
|
6311 |
+ xml:space="preserve" |
|
6312 |
+ style="font-style:normal;font-weight:normal;font-size:21.33333397px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" |
|
6313 |
+ x="393.14282" |
|
6314 |
+ y="561.22241" |
|
6315 |
+ id="CDI-SRC-text" |
|
6316 |
+ inkscape:label="CDI-SRC-text"><tspan |
|
6317 |
+ sodipodi:role="line" |
|
6318 |
+ id="tspan5937" |
|
6319 |
+ x="393.14282" |
|
6320 |
+ y="561.22241" |
|
6321 |
+ style="fill:#ffffff">SRC</tspan></text> |
|
6271 | 6322 |
</g> |
6272 | 6323 |
<g |
6273 | 6324 |
id="OMI" |
... | ... |
@@ -42,6 +42,16 @@ var init_props = func { |
42 | 42 |
radios.getNode('brg1-source',1).setValue('OFF'); |
43 | 43 |
radios.getNode('brg2-source',1).setValue('OFF'); |
44 | 44 |
|
45 |
+ cdi = zkv.getNode('cdi', 1); |
|
46 |
+ cdi.getNode('source', 1).setValue('OFF'); |
|
47 |
+ cdi.getNode('no-flag', 1).setBoolValue(0); |
|
48 |
+ cdi.getNode('FROM-flag', 1).alias('no-flag'); |
|
49 |
+ cdi.getNode('TO-flag', 1).alias('no-flag'); |
|
50 |
+ cdi.getNode('course', 1); |
|
51 |
+ cdi.getNode('course-deflection', 1); |
|
52 |
+ cdi.getNode('radial', 1); |
|
53 |
+ cdi.getNode('in-range', 1); |
|
54 |
+ |
|
45 | 55 |
alerts = zkv.getNode('alerts',1); |
46 | 56 |
alerts.getNode('traffic-proximity',1).setIntValue(0); |
47 | 57 |
alerts.getNode('marker-beacon', 1).setIntValue(0); |