Showing 3 changed files with 49 additions and 40 deletions
+20 -1
Nasal/display.nas
... ...
@@ -44,11 +44,21 @@ var displayClass = {
44 44
                     'Horizon',
45 45
                     'bankPointer',
46 46
                     'VSI',
47
+                    'Rose',
48
+                ],
49
+                hide : [
50
+                    'HDI',
51
+                    'NAV1-pointer',
52
+                    'NAV2-pointer',
53
+                    'GPS-pointer',
54
+                    'Bearing1',
55
+                    'Bearing2',
47 56
                 ],
48 57
                 text: [
49 58
                     'VSIText',
50 59
                     'Speed110',
51
-                    'Alt11100'
60
+                    'Alt11100',
61
+                    'HDG-text',
52 62
                 ],
53 63
                 clip: [
54 64
                     'SpeedLint1',
... ...
@@ -73,6 +83,7 @@ var displayClass = {
73 83
             me.updateVSI(getprop('/instrumentation/vertical-speed-indicator/indicated-speed-fpm'));
74 84
             me.updateIAS(getprop('/velocities/airspeed-kt'));
75 85
             me.updateALT(getprop('instrumentation/altimeter/indicated-altitude-ft'));
86
+            me.updateHSI(getprop('orientation/heading-deg'));
76 87
             me.progress.removeAllChildren();
77 88
             me.progress = nil;
78 89
             me.showInitProgress = nil;
... ...
@@ -352,4 +363,12 @@ var displayClass = {
352 363
         }
353 364
         settimer(func me.updateALT(getprop('instrumentation/altimeter/indicated-altitude-ft')), 0.2);
354 365
     },
366
+
367
+    updateHSI : func (hdg) {
368
+        me.screenElements.Rose
369
+            .setRotation(-hdg * D2R);
370
+        me.screenElements['HDG-text']
371
+            .setText(sprintf("%03u°", hdg));
372
+        settimer(func me.updateHSI(getprop('orientation/heading-deg')), 0.1);
373
+    },
355 374
 };
+7 -7
README.md
... ...
@@ -56,22 +56,22 @@ Dans ce projet je privilégie particulièrement
56 56
 J'ai récupéré l'implémentation du [projet "Farmin/G1000"](http://wiki.flightgear.org/Project_Farmin/FG1000). Le GDU-104X reprend l'implémentation du Garmin Primus 1000, et notamment les objets 3D, et les SVG. Les objets 3D sont bien plus jolis que ceux du premier zkv1000 (le .ac de l'ancien était tout cassé, pas réussi à réparer), et le SVG comportait déjà beaucoup d'éléments.
57 57
 
58 58
 ## général
59
-![][40%]  
60
-**de plus en plus UTILISABLE**  
59
+![][50%]  
60
+Instruments de base disponibles
61 61
 
62 62
 * double-écran ![][30%]: pas d'écran de MFD, uniquement PFD 
63
-* ![][ongoing]animations écrans ![][50%]: wrapper pour l'affichage des objets (et plus), Compas à suivre, 
63
+* ![][ongoing]animations écrans ![][60%]: wrapper pour l'affichage des objets (et plus)
64 64
     * AI: ![][90%] reste l'échelle du pitch dont je ne sais pas si il faut la centrer sur le symbole de l'avion
65
-    * VSI, IAS, IA: ![][100%]
65
+    * VSI, IAS, IA, Compas: ![][100%]
66 66
 * animation modèle 3D ![][90%]: les boutons et molettes fonctionnent (radio, comm, softkey, etc.), il manque les textures pour les botons du MFD
67 67
 
68 68
 ## dans le détail
69 69
 * apprentissage:
70 70
   * Canvas ![][50%]
71 71
   * SVG
72
-    * InkScape ![][60%] (enfin pour les besoins du zkv1000)
73
-    * format ![][50%]
74
-  * archi de l'image importée ![][70%] (avec modification directe dans Vim)
72
+    * InkScape ![][80%] (enfin pour les besoins du zkv1000)
73
+    * format ![][60%]
74
+  * archi de l'image importée ![][90%] (avec modification directe dans Vim)
75 75
 * XML ![][80%]
76 76
 * ![][ongoing]structure Nasal ![][60%]:
77 77
   * en apprendre plus sur les classes (les parents multiples)
+22 -32
Systems/screen.svg
... ...
@@ -5207,8 +5207,7 @@
5207 5207
       <g
5208 5208
          id="Rose"
5209 5209
          inkscape:label="Rose"
5210
-         style="display:inline"
5211
-         sodipodi:insensitive="true">
5210
+         style="display:inline">
5212 5211
         <path
5213 5212
            style="display:inline;fill:#3e3e3e;fill-opacity:0.64942525;stroke:none"
5214 5213
            d="m 604.5,586.49987 c 0,80.08128 -64.91871,145.00013 -145,145.00013 -80.08128,0 -145,-64.91885 -145,-145.00013 0,-80.08128 64.91872,-144.99999 145,-144.99999 80.08129,0 145,64.91871 145,144.99999 0,0 0,0 0,0"
... ...
@@ -6034,29 +6033,19 @@
6034 6033
                x="104.68873"
6035 6034
                y="632.60052"
6036 6035
                style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none">33</tspan></text>
6036
+          <path
6037
+             style="display:inline;fill:#00ffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
6038
+             d="m 448,443.03709 h 6.5 l 5,7.83791 5,-7.83791 H 471 V 455.375 h -23 v -12.33791"
6039
+             id="HSI-bug"
6040
+             inkscape:connector-curvature="0"
6041
+             inkscape:transform-center-x="-0.00099545376"
6042
+             inkscape:transform-center-y="-137.29256"
6043
+             inkscape:label="HSI-bug" />
6037 6044
         </g>
6038 6045
       </g>
6039 6046
       <g
6040
-         style="display:inline"
6041
-         inkscape:label="compass"
6042
-         id="layer5">
6043
-        <path
6044
-           style="display:inline;fill:#00ffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
6045
-           d="m 448,443.03709 h 6.5 l 5,7.83791 5,-7.83791 H 471 V 455.375 h -23 v -12.33791"
6046
-           id="HSI-bug"
6047
-           inkscape:connector-curvature="0"
6048
-           inkscape:transform-center-x="-0.00099545376"
6049
-           inkscape:transform-center-y="-137.29256"
6050
-           inkscape:label="HSI-bug" />
6051
-        <path
6052
-           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"
6053
-           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"
6054
-           id="path5729"
6055
-           inkscape:connector-curvature="0" />
6056
-      </g>
6057
-      <g
6058
-         id="layer20"
6059
-         inkscape:label="compass dots"
6047
+         id="HDI"
6048
+         inkscape:label="HDI"
6060 6049
          style="display:inline">
6061 6050
         <circle
6062 6051
            r="5.0375657"
... ...
@@ -6070,6 +6059,11 @@
6070 6059
            cx="427"
6071 6060
            id="path4535-5"
6072 6061
            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" />
6062
+        <path
6063
+           inkscape:connector-curvature="0"
6064
+           id="path5729"
6065
+           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"
6066
+           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" />
6073 6067
         <circle
6074 6068
            r="5.0375657"
6075 6069
            cy="586.5"
... ...
@@ -6084,10 +6078,9 @@
6084 6078
            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" />
6085 6079
       </g>
6086 6080
       <g
6087
-         id="layer21"
6081
+         id="Bearing1"
6088 6082
          inkscape:label="Bearing1"
6089
-         style="display:inline"
6090
-         sodipodi:insensitive="true">
6083
+         style="display:inline">
6091 6084
         <path
6092 6085
            style="display:inline;fill:none;stroke:#00ffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
6093 6086
            d="m 459.5,458 v 45"
... ...
@@ -6110,8 +6103,7 @@
6110 6103
       <g
6111 6104
          style="display:inline"
6112 6105
          inkscape:label="Bearing2"
6113
-         id="g5375"
6114
-         sodipodi:insensitive="true">
6106
+         id="Bearing2">
6115 6107
         <path
6116 6108
            sodipodi:nodetypes="cc"
6117 6109
            inkscape:connector-curvature="0"
... ...
@@ -6149,8 +6141,7 @@
6149 6141
       <g
6150 6142
          id="GPS-pointer"
6151 6143
          inkscape:label="GPS-pointer"
6152
-         style="display:inline"
6153
-         sodipodi:insensitive="true">
6144
+         style="display:inline">
6154 6145
         <path
6155 6146
            style="fill:none;stroke:#ff00ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
6156 6147
            d="m 459.5,644 v 71"
... ...
@@ -6246,8 +6237,7 @@
6246 6237
       <g
6247 6238
          id="NAV2-pointer"
6248 6239
          inkscape:label="NAV2-pointer"
6249
-         style="display:inline"
6250
-         sodipodi:insensitive="true">
6240
+         style="display:inline">
6251 6241
         <path
6252 6242
            style="fill:#00ff00;fill-opacity:1;fill-rule:evenodd;stroke:none"
6253 6243
            d="M 443.95583,528.9361 474.99877,529 459.5,513.00193 Z"
... ...
@@ -7497,7 +7487,7 @@
7497 7487
   <g
7498 7488
      id="Failures"
7499 7489
      inkscape:label="Failures"
7500
-     style="display:inline">
7490
+     style="display:none">
7501 7491
     <g
7502 7492
        id="NoAttitude"
7503 7493
        transform="translate(0.00225444,0.25658069)"