Showing 6 changed files with 211 additions and 69 deletions
+2
Nasal/buttons.nas
... ...
@@ -13,6 +13,8 @@ var buttonsClass = {
13 13
         var tmp = getprop('/instrumentation/nav[' ~ n ~ ']/frequencies/selected-mhz');
14 14
         setprop('/instrumentation/nav[' ~ n ~ ']/frequencies/selected-mhz', getprop('/instrumentation/nav[' ~ n ~ ']/frequencies/standby-mhz'));
15 15
         setprop('/instrumentation/nav[' ~ n ~ ']/frequencies/standby-mhz', tmp);
16
+        device[0].display.updateNAV({refresh: n+1});
17
+        device[1].display.updateNAV({refresh: n+1});
16 18
     },
17 19
 
18 20
     AsSwitchCOM : func (x) {
+14
Nasal/core.nas
... ...
@@ -30,6 +30,20 @@ var main_loop = func () {
30 30
     settimer(main_loop, 0);
31 31
 }
32 32
 
33
+# les listeners triggent en permanence sur les fréquences...
34
+var setListeners = func {
35
+    setlistener('/instrumentation/nav/nav-id',
36
+            func {
37
+                device[0].display.updateNAV({'nav-id': 1});
38
+                device[0].display.updateNAV({'nav-id': 1});
39
+            }, 1, 2);
40
+    setlistener('/instrumentation/nav[1]/nav-id',
41
+            func {
42
+                device[0].display.updateNAV({'nav-id': 2});
43
+                device[1].display.updateNAV({'nav-id': 2});
44
+            }, 1, 2);
45
+}
46
+
33 47
 var deviceClass = {
34 48
     new: func (d) {
35 49
         var m = { parents: [ deviceClass ] };
+89 -3
Nasal/display.nas
... ...
@@ -47,7 +47,7 @@ var displayClass = {
47 47
                     'Rose',
48 48
                 ],
49 49
                 hide : [
50
-                    'HDI',
50
+                    'CDI',
51 51
                     'NAV1-pointer',
52 52
                     'NAV2-pointer',
53 53
                     'GPS-pointer',
... ...
@@ -59,6 +59,9 @@ var displayClass = {
59 59
                     'Speed110',
60 60
                     'Alt11100',
61 61
                     'HDG-text',
62
+                    'nav1-standby-freq', 'nav1-selected-freq', 'nav1-id',
63
+                    'nav2-standby-freq', 'nav2-selected-freq', 'nav2-id',
64
+                    'nav-freq-switch',
62 65
                 ],
63 66
                 clip: [
64 67
                     'SpeedLint1',
... ...
@@ -84,6 +87,7 @@ var displayClass = {
84 87
             me.updateIAS(getprop('/velocities/airspeed-kt'));
85 88
             me.updateALT(getprop('instrumentation/altimeter/indicated-altitude-ft'));
86 89
             me.updateHSI(getprop('orientation/heading-deg'));
90
+            me.updateNAV({refresh:1, auto:1});
87 91
             me.progress.removeAllChildren();
88 92
             me.progress = nil;
89 93
             me.showInitProgress = nil;
... ...
@@ -142,6 +146,8 @@ var displayClass = {
142 146
                         me.screenElements[e].setAlignment(me.texts[e].alignment);
143 147
                     if (contains(me.texts[e], 'default'))
144 148
                         me.screenElements[e].setText(me.texts[e].default);
149
+                    if (contains(me.texts[e], 'color'))
150
+                        me.screenElements[e].setColor(me.texts[e].color);
145 151
                 }
146 152
 #                else
147 153
 #                    print('no text format for ' ~ e);
... ...
@@ -178,14 +184,23 @@ var displayClass = {
178 184
             alignment: "right-bottom", default : num('0'),
179 185
         },
180 186
         Speed110 : {
181
-            default: '', alignment : 'left-bottom'
187
+            alignment : 'left-bottom'
182 188
         },
183 189
         Alt11100 : {
184
-            default:'', alignment:'left-bottom'
190
+            alignment:'left-bottom'
185 191
         },
186 192
         "HDG-text" : {
187 193
             default: '---°'
188 194
         },
195
+        'nav1-standby-freq' : {
196
+            color: [0, 1, 1],
197
+        },
198
+        'nav1-id' : {
199
+            default: ''
200
+        },
201
+        'nav2-id' : {
202
+            default: ''
203
+        },
189 204
     },
190 205
 
191 206
     updateAI: func(roll,pitch){
... ...
@@ -374,4 +389,75 @@ var displayClass = {
374 389
             .setText(sprintf("%03u°", hdg));
375 390
         settimer(func me.updateHSI(getprop('orientation/heading-deg')), 0.1);
376 391
     },
392
+
393
+    updateNAV : func {
394
+        # made active via menu
395
+        if (contains(arg[0], "active")) {
396
+            if (arg[0]['active'] == 'none') {
397
+                me.screenElements['nav1-id']
398
+                    .setColor(1,1,1);
399
+                me.screenElements['nav1-selected-freq']
400
+                    .setColor(1,1,1);
401
+                me.screenElements['nav2-id']
402
+                    .setColor(1,1,1);
403
+                me.screenElements['nav2-selected-freq']
404
+                    .setColor(1,1,1);
405
+                me.screenElements['NAV1-pointer']
406
+                    .hide();
407
+                me.screenElements['NAV2-pointer']
408
+                    .hide();
409
+            }
410
+            else {
411
+                var inactive = (arg[0]['active'] == 1) + 1;
412
+                me.screenElements['nav' ~ arg[0]['active'] ~ '-id']
413
+                    .setColor(0,1,0);
414
+                me.screenElements['nav' ~ arg[0]['active'] ~ '-selected-freq']
415
+                    .setColor(0,1,0);
416
+                me.screenElements['NAV' ~ arg[0]['active'] ~ '-pointer']
417
+                    .show();
418
+#                me.screenElements['HDI']
419
+#                    .setRotation();
420
+                me.screenElements['nav' ~ inactive ~ '-id']
421
+                    .setColor(1,1,1);
422
+                me.screenElements['nav' ~ inactive ~ '-selected-freq']
423
+                    .setColor(1,1,1);
424
+#                me.screenElements['NAV' ~ inactive ~ '-pointer']
425
+#                    .hide();
426
+#                foreach (var e; [ 'FROM', 'TO', 'CDI' ])
427
+#                    me.screenElements['NAV' ~ inactive ~ '-' ~ e]
428
+#                        .hide();
429
+            }
430
+        }
431
+        if (contains(arg[0], 'tune')) {
432
+            me.screenElements['nav-freq-switch']
433
+                .setTranslation(0, (arg[0]['tune'] - 1) * 25);
434
+            me.screenElements['nav' ~ arg[0]['tune'] ~ '-standby-freq']
435
+                .setColor(0,1,1);
436
+            me.screenElements['nav' ~ ((arg[0]['tune'] == 1) + 1) ~ '-standby-freq']
437
+                .setColor(1,1,1);
438
+        }
439
+        if (contains(arg[0], 'nav-id')) {
440
+            var navid = getprop('/instrumentation/nav[' ~ (arg[0]['nav-id'] - 1) ~ ']/nav-id');
441
+            if (navid == nil)
442
+                navid = '';
443
+            me.screenElements["nav" ~ arg[0]['nav-id'] ~ "-id"]
444
+                    .setText(navid); # veut pas exister au début...
445
+        }
446
+        if (contains(arg[0], 'refresh')) {
447
+            me.screenElements['nav' ~ arg[0].refresh ~ '-selected-freq']
448
+                .setText(getprop('/instrumentation/nav[' ~ (arg[0].refresh - 1) ~ ']/frequencies/selected-mhz-fmt'));
449
+            me.screenElements['nav' ~ arg[0].refresh ~ '-standby-freq']
450
+                .setText(getprop('/instrumentation/nav[' ~ (arg[0].refresh - 1) ~ ']/frequencies/standby-mhz-fmt'));
451
+        }
452
+        if (contains(arg[0], 'set')) {
453
+            var n = getprop('/instrumentation/zkv1000/radios/nav-tune');
454
+            me.screenElements['nav' ~ (n + 1) ~ '-standby-freq']
455
+                .setText(getprop('/instrumentation/nav[' ~ n ~ ']/frequencies/standby-mhz-fmt'));
456
+        }
457
+        if (contains(arg[0], 'auto')) {
458
+            me.updateNAV({refresh: 1});
459
+            settimer(func me.updateNAV({refresh: 2}), 1);
460
+            settimer(func me.updateNAV({auto:1}),     2);
461
+        }
462
+    },
377 463
 };
+62 -44
Systems/screen.svg
... ...
@@ -6044,7 +6044,7 @@
6044 6044
         </g>
6045 6045
       </g>
6046 6046
       <g
6047
-         id="HDI"
6047
+         id="CDI"
6048 6048
          inkscape:label="HDI"
6049 6049
          style="display:inline">
6050 6050
         <circle
... ...
@@ -6536,13 +6536,29 @@
6536 6536
      id="NAV"
6537 6537
      inkscape:label="NAV"
6538 6538
      style="display:inline">
6539
+    <rect
6540
+       y="28.10227"
6541
+       x="80.601486"
6542
+       height="22.993343"
6543
+       width="72.99334"
6544
+       id="nav2-standby-tuning"
6545
+       style="display:none;fill:none;fill-opacity:0;stroke:#9bd8d9;stroke-width:1.00665724;stroke-opacity:1"
6546
+       inkscape:label="nav2-standby-tuning" />
6547
+    <rect
6548
+       y="28.10227"
6549
+       x="181.57742"
6550
+       height="22.993343"
6551
+       width="72.99334"
6552
+       id="nav2-selected-tuning"
6553
+       style="display:none;fill:none;fill-opacity:0;stroke:#9bd8d9;stroke-width:1.00665724;stroke-opacity:1"
6554
+       inkscape:label="nav2-selected-tuning" />
6539 6555
     <rect
6540 6556
        y="4.1022692"
6541 6557
        x="80.577423"
6542 6558
        height="22.993343"
6543 6559
        width="72.99334"
6544 6560
        id="nav1-standby-tuning"
6545
-       style="fill:none;fill-opacity:0;stroke:#9bd8d9;stroke-width:1.00665724;stroke-opacity:1"
6561
+       style="display:none;fill:none;fill-opacity:0;stroke:#9bd8d9;stroke-width:1.00665724;stroke-opacity:1"
6546 6562
        inkscape:label="nav1-standby-tuning" />
6547 6563
     <rect
6548 6564
        y="4.1022692"
... ...
@@ -6550,88 +6566,90 @@
6550 6566
        height="22.993343"
6551 6567
        width="72.99334"
6552 6568
        id="nav1-selected-tuning"
6553
-       style="display:inline;fill:none;fill-opacity:0;stroke:#9bd8d9;stroke-width:1.00665724;stroke-opacity:1"
6569
+       style="display:none;fill:none;fill-opacity:0;stroke:#9bd8d9;stroke-width:1.00665724;stroke-opacity:1"
6554 6570
        inkscape:label="nav1-selected-tuning" />
6555
-    <path
6556
-       inkscape:connector-curvature="0"
6557
-       id="nav1-switch"
6558
-       d="m 161.57604,12.096987 -3.99804,3.998045 -6.2e-4,1.008425 3.99805,3.998055 -0.004,-2 -0.99547,-0.995475 v -1.00391 l 12.00453,-6.2e-4 -0.0202,2.015015 -0.97708,-0.01901 -0.005,2.00143 3.99938,-3.99938 -10e-4,-0.998665 -4.0025,-4.001955 0.004,1.999995 0.99805,0.99805 -0.004,1 h -11.99609 l 0.006,-0.99743 0.99608,-0.99609 z"
6559
-       style="fill:#9bd8d9;fill-opacity:1;stroke:#9bd8d9;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
6560
-       inkscape:label="nav1-switch" />
6561 6571
     <text
6562 6572
        transform="scale(0.85708105,1.1667508)"
6563 6573
        id="nav1-selected-freq"
6564
-       y="21.086628"
6565
-       x="254.4381"
6574
+       y="20.658087"
6575
+       x="214.1853"
6566 6576
        style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'Sans Bold';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none"
6567 6577
        xml:space="preserve"
6568 6578
        inkscape:label="nav1-selected-freq"><tspan
6569 6579
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20.95271873px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold'"
6570
-         y="21.086628"
6571
-         x="254.4381"
6580
+         y="20.658087"
6581
+         x="214.1853"
6572 6582
          id="tspan4111"
6573 6583
          sodipodi:role="line">123.45</tspan></text>
6574 6584
     <text
6575 6585
        transform="scale(0.85708105,1.1667508)"
6576 6586
        id="nav1-standby-freq"
6577
-       y="21.086628"
6578
-       x="136.5963"
6587
+       y="20.658087"
6588
+       x="112.3863"
6579 6589
        style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'Sans Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ffffff;fill-opacity:1;stroke:none"
6580 6590
        xml:space="preserve"
6581 6591
        inkscape:label="nav1-standby-freq"><tspan
6582 6592
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20.95271873px;line-height:125%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1"
6583
-         y="21.086628"
6584
-         x="136.5963"
6593
+         y="20.658087"
6594
+         x="112.3863"
6585 6595
          id="tspan4111-8"
6586 6596
          sodipodi:role="line">123.45</tspan></text>
6587
-    <rect
6588
-       y="28.10227"
6589
-       x="80.601486"
6590
-       height="22.993343"
6591
-       width="72.99334"
6592
-       id="nav2-standby-tuning"
6593
-       style="display:inline;fill:none;fill-opacity:0;stroke:#9bd8d9;stroke-width:1.00665724;stroke-opacity:1"
6594
-       inkscape:label="nav2-standby-tuning" />
6595
-    <rect
6596
-       y="28.10227"
6597
-       x="181.57742"
6598
-       height="22.993343"
6599
-       width="72.99334"
6600
-       id="nav2-selected-tuning"
6601
-       style="display:inline;fill:none;fill-opacity:0;stroke:#9bd8d9;stroke-width:1.00665724;stroke-opacity:1"
6602
-       inkscape:label="nav2-selected-tuning" />
6603
-    <path
6604
-       inkscape:connector-curvature="0"
6605
-       id="nav2-switch"
6606
-       d="m 161.57275,35.094417 -3.99804,3.998045 -6.2e-4,1.008425 3.99805,3.998055 -0.004,-2 -0.99547,-0.995475 v -1.00391 l 12.00453,-6.2e-4 -0.0202,2.015015 -0.97708,-0.01901 -0.005,2.00143 3.99938,-3.99938 -0.001,-0.998665 -4.0025,-4.001955 0.004,1.999995 0.99805,0.99805 -0.004,1 h -11.99609 l 0.006,-0.99743 0.99608,-0.99609 z"
6607
-       style="display:inline;fill:#9bd8d9;fill-opacity:1;stroke:#9bd8d9;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
6608
-       inkscape:label="nav2-switch" />
6609 6597
     <text
6610 6598
        transform="scale(0.85708105,1.1667508)"
6611 6599
        id="nav2-selected-freq"
6612 6600
        y="41.656574"
6613
-       x="254.4381"
6601
+       x="214.76868"
6614 6602
        style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'Sans Bold';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#ffffff;fill-opacity:1;stroke:none"
6615 6603
        xml:space="preserve"
6616 6604
        inkscape:label="nav2-selected-freq"><tspan
6617 6605
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20.95271873px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold'"
6618 6606
          y="41.656574"
6619
-         x="254.4381"
6607
+         x="214.76868"
6620 6608
          id="tspan4111-9"
6621 6609
          sodipodi:role="line">123.45</tspan></text>
6622 6610
     <text
6623 6611
        transform="scale(0.85708105,1.1667508)"
6624 6612
        id="nav2-standby-freq"
6625 6613
        y="41.656574"
6626
-       x="136.5963"
6614
+       x="112.3863"
6627 6615
        style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'Sans Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ffffff;fill-opacity:1;stroke:none"
6628 6616
        xml:space="preserve"
6629 6617
        inkscape:label="nav2-standby-freq"><tspan
6630 6618
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20.95271873px;line-height:125%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1"
6631 6619
          y="41.656574"
6632
-         x="136.5963"
6620
+         x="112.3863"
6633 6621
          id="tspan4111-9-4"
6634 6622
          sodipodi:role="line">123.45</tspan></text>
6623
+    <text
6624
+       xml:space="preserve"
6625
+       style="font-style:normal;font-weight:normal;font-size:18.66666603px;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"
6626
+       x="219.32292"
6627
+       y="21.999998"
6628
+       id="nav1-id"
6629
+       inkscape:label="nav1-id"><tspan
6630
+         sodipodi:role="line"
6631
+         id="tspan4989"
6632
+         x="219.32292"
6633
+         y="21.999998"
6634
+         style="fill:#ffffff">XXX</tspan></text>
6635
+    <text
6636
+       xml:space="preserve"
6637
+       style="font-style:normal;font-weight:normal;font-size:18.66666603px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
6638
+       x="219.32292"
6639
+       y="47.054035"
6640
+       id="nav2-id"
6641
+       inkscape:label="nav2-id"><tspan
6642
+         sodipodi:role="line"
6643
+         id="tspan4989-6"
6644
+         x="219.32292"
6645
+         y="47.054035"
6646
+         style="fill:#ffffff">XXX</tspan></text>
6647
+    <path
6648
+       inkscape:connector-curvature="0"
6649
+       id="nav-freq-switch"
6650
+       d="m 134.82604,11.203026 -3.99804,3.998045 -6.2e-4,1.008425 3.99805,3.998055 -0.004,-2 -0.99547,-0.995475 v -1.00391 l 12.00453,-6.2e-4 -0.0202,2.015015 -0.97708,-0.01901 -0.005,2.00143 3.99938,-3.99938 -10e-4,-0.998665 -4.0025,-4.001955 0.004,1.999995 0.99805,0.99805 -0.004,1 h -11.99609 l 0.006,-0.99743 0.99608,-0.99609 z"
6651
+       style="fill:#9bd8d9;fill-opacity:1;stroke:#9bd8d9;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
6652
+       inkscape:label="nav-freq-switch" />
6635 6653
   </g>
6636 6654
   <g
6637 6655
      transform="translate(-1.0643769e-6)"
... ...
@@ -7487,7 +7505,7 @@
7487 7505
   <g
7488 7506
      id="Failures"
7489 7507
      inkscape:label="Failures"
7490
-     style="display:none">
7508
+     style="display:inline">
7491 7509
     <g
7492 7510
        id="NoAttitude"
7493 7511
        transform="translate(0.00225444,0.25658069)"
+22 -11
mfd.xml
... ...
@@ -193,17 +193,8 @@
193 193
           <property>/instrumentation/zkv1000/device[1]/status</property>
194 194
         </condition>
195 195
        <command>nasal</command>
196
-       <script>zkv1000.device[1].buttons.AsSwitchNav(1);</script>
196
+       <script>zkv1000.device[1].buttons.AsSwitchNAV();</script>
197 197
       </binding>
198
-      <mod-up>
199
-        <binding>
200
-          <condition>
201
-            <property>/instrumentation/zkv1000/device[1]/status</property>
202
-          </condition>
203
-          <command>nasal</command>
204
-          <script>zkv1000.device[1].buttons.AsSwitchNav(0);</script>
205
-        </binding>
206
-      </mod-up>
207 198
     </action>
208 199
   </animation>
209 200
 
... ...
@@ -217,7 +208,7 @@
217 208
           <property>/instrumentation/zkv1000/device[1]/status</property>
218 209
         </condition>
219 210
         <command>property-toggle</command>
220
-        <property>/instrumentation/zkv1000/radios/nav-selected</property>
211
+        <property>/instrumentation/zkv1000/radios/nav-tune</property>
221 212
       </binding>
222 213
     </action>
223 214
   </animation>
... ...
@@ -236,6 +227,16 @@
236 227
         <max>118.000</max>
237 228
         <wrap>true></wrap>
238 229
       </binding>
230
+      <binding>
231
+        <condition>
232
+          <property>/instrumentation/zkv1000/device[0]/status</property>
233
+        </condition>
234
+        <command>nasal</command>
235
+        <script>
236
+          zkv1000.device[0].display.updateNAV({set:1});
237
+          zkv1000.device[1].display.updateNAV({set:1});
238
+        </script>
239
+      </binding>
239 240
     </action>
240 241
     <shift-action>
241 242
       <binding>
... ...
@@ -246,6 +247,16 @@
246 247
         <property>/instrumentation/zkv1000/radios/nav-freq-mhz</property>
247 248
         <factor>0.50</factor>
248 249
       </binding>
250
+      <binding>
251
+        <condition>
252
+          <property>/instrumentation/zkv1000/device[0]/status</property>
253
+        </condition>
254
+        <command>nasal</command>
255
+        <script>
256
+          zkv1000.device[0].display.updateNAV({set:1});
257
+          zkv1000.device[1].display.updateNAV({set:1});
258
+        </script>
259
+      </binding>
249 260
     </shift-action>
250 261
   </animation>
251 262
 
+22 -11
pfd.xml
... ...
@@ -204,17 +204,8 @@
204 204
           <property>/instrumentation/zkv1000/device[0]/status</property>
205 205
         </condition>
206 206
        <command>nasal</command>
207
-       <script>zkv1000.device[0].buttons.AsSwitchNav(1);</script>
207
+       <script>zkv1000.device[0].buttons.AsSwitchNAV();</script>
208 208
       </binding>
209
-      <mod-up>
210
-        <binding>
211
-          <condition>
212
-            <property>/instrumentation/zkv1000/device[0]/status</property>
213
-          </condition>
214
-          <command>nasal</command>
215
-          <script>zkv1000.device[0].buttons.AsSwitchNav(0);</script>
216
-        </binding>
217
-      </mod-up>
218 209
     </action>
219 210
   </animation>
220 211
 
... ...
@@ -228,7 +219,7 @@
228 219
           <property>/instrumentation/zkv1000/device[0]/status</property>
229 220
         </condition>
230 221
         <command>property-toggle</command>
231
-        <property>/instrumentation/zkv1000/radios/nav-selected</property>
222
+        <property>/instrumentation/zkv1000/radios/nav-tune</property>
232 223
       </binding>
233 224
     </action>
234 225
   </animation>
... ...
@@ -247,6 +238,16 @@
247 238
         <max>118.000</max>
248 239
         <wrap>true></wrap>
249 240
       </binding>
241
+      <binding>
242
+        <condition>
243
+          <property>/instrumentation/zkv1000/device[0]/status</property>
244
+        </condition>
245
+        <command>nasal</command>
246
+        <script>
247
+          zkv1000.device[0].display.updateNAV({set:1});
248
+          zkv1000.device[1].display.updateNAV({set:1});
249
+        </script>
250
+      </binding>
250 251
     </action>
251 252
     <shift-action>
252 253
       <binding>
... ...
@@ -257,6 +258,16 @@
257 258
         <property>/instrumentation/zkv1000/radios/nav-freq-mhz</property>
258 259
         <factor>0.50</factor>
259 260
       </binding>
261
+      <binding>
262
+        <condition>
263
+          <property>/instrumentation/zkv1000/device[0]/status</property>
264
+        </condition>
265
+        <command>nasal</command>
266
+        <script>
267
+          zkv1000.device[0].display.updateNAV({set:1});
268
+          zkv1000.device[1].display.updateNAV({set:1});
269
+        </script>
270
+      </binding>
260 271
     </shift-action>
261 272
   </animation>
262 273