Showing 2 changed files with 6 additions and 3 deletions
+1 -1
Nasal/afcs.nas
... ...
@@ -157,7 +157,7 @@ var APClass = {
157 157
             L: [
158 158
                func { me.sendModeChange('AP');  },
159 159
                func { me.sendModeChange('FD');  },
160
-               func { me.sendModeChange('NAV'); },
160
+               func { me.sendModeChange('NAV'); if (data.fpSize > 0) setprop('/autopilot/settings/nav-mode-source', cdi.getValue('source')); },
161 161
                func { me.sendModeChange('ALT'); },
162 162
                func { me.sendModeChange('VS');  },
163 163
                func { me.sendModeChange('FLC'); },
+5 -2
Nasal/display.nas
... ...
@@ -1031,10 +1031,13 @@ var displayClass = {
1031 1031
             else { # GPS
1032 1032
                 # TODO: deviation depending of the flight phase
1033 1033
                 # for now fixed 1 dot = 1 nm course error
1034
+                var abs_deflection_max = 2.4;
1035
+                if (me.screenElements['LATMOD-Armed-text'].getText() == 'GPS')
1036
+                    abs_deflection_max = 0.5;
1034 1037
                 var abs_deflection = abs(deflection);
1035 1038
                 me.screenElements['CDI-GPS-XTK-text']
1036
-                    .setText(sprintf('XTK %iNM', abs_deflection))
1037
-                    .setVisible(abs_deflection > 2.4);
1039
+                    .setText(sprintf(abs_deflection < 1 ? 'XTK %.1NM' : 'XTK %iNM', abs_deflection))
1040
+                    .setVisible(abs_deflection > abs_deflection_max);
1038 1041
                 var scale = deflection / 2;
1039 1042
             }
1040 1043
             scale = (abs(scale) > 1.2) ? 1.2 : scale;