There's a bug in atlas.cxx, which is the code that implements the
Atlas communications protocol.  The protocol broadcasts information
about various bits of the aircraft's state, including position, speed,
heading, etc.  Part of the information is navigation information,
specifically, the frequency and selected radial for the 2 VOR
receivers, and the frequency for the ADF.

The problem is that, instead of sending the information for VOR1 and
VOR2, it sends the information for VOR1 twice.  The following patch
fixes the problem:

--- atlas.cxx.old       2007-11-28 18:20:40.000000000 +0800
+++ atlas.cxx   2007-11-28 18:21:17.000000000 +0800
@@ -70,10 +70,14 @@
 
     static SGPropertyNode *adf_freq
         = fgGetNode("/instrumentation/kr-87/outputs/selected-khz", true);
-    static SGPropertyNode *nav_freq
+    static SGPropertyNode *nav1_freq
         = fgGetNode("/instrumentation/nav/frequencies/selected-mhz", true);
-    static SGPropertyNode *nav_sel_radial
+    static SGPropertyNode *nav1_sel_radial
         = fgGetNode("/instrumentation/nav/radials/selected-deg", true);
+    static SGPropertyNode *nav2_freq
+        = fgGetNode("/instrumentation/nav[1]/frequencies/selected-mhz", true);
+    static SGPropertyNode *nav2_sel_radial
+        = fgGetNode("/instrumentation/nav[1]/radials/selected-deg", true);
 
     char rmc[256], gga[256], patla[256];
     char rmc_sum[10], gga_sum[10], patla_sum[10];
@@ -138,10 +142,10 @@
     sprintf( gga_sum, "%02X", calc_atlas_cksum(gga) );
 
     sprintf( patla, "PATLA,%.2f,%.1f,%.2f,%.1f,%.0f",
-            nav_freq->getDoubleValue(),
-            nav_sel_radial->getDoubleValue(),
-            nav_freq->getDoubleValue(),
-            nav_sel_radial->getDoubleValue(),
+            nav1_freq->getDoubleValue(),
+            nav1_sel_radial->getDoubleValue(),
+            nav2_freq->getDoubleValue(),
+            nav2_sel_radial->getDoubleValue(),
             adf_freq->getDoubleValue() );
     sprintf( patla_sum, "%02X", calc_atlas_cksum(patla) );

-- 
Brian Schack
19 Xǔchāng Street 2F    phone:  2381 4727
Taipei 100              fax:    2381 2145
TAIWAN                  


-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to