OSDN Git Service

境界チェック不具合修正,UBX特化の座標コンストラクタ廃止,パケット実装の拡充と修正
[yubeshi/yubeshi.git] / Yubeshi / Ubx / NavSbas.cs
index 3049f7e..7e65446 100755 (executable)
@@ -14,6 +14,23 @@ namespace Yubeshi.Ubx
     public class NavSbas : Packet\r
     {\r
         #region type definitions\r
+\r
+        public enum SbasMode : byte\r
+        {\r
+            Disabled = 0,\r
+            IntegrityEnabled = 1,\r
+            TestModeEnabled = 3,\r
+        }\r
+\r
+        public enum SbasSystem : sbyte\r
+        {\r
+            Unknown = -1,\r
+            Waas = 0,\r
+            Egnos = 1,\r
+            Msas = 2,\r
+            Gps = 16,\r
+        }\r
+\r
         public struct SbasStatus\r
         { \r
             private byte[] Raw;\r
@@ -39,6 +56,43 @@ namespace Yubeshi.Ubx
             }\r
         }\r
 \r
+        public int SbasID\r
+        {\r
+            get\r
+            {\r
+                return Raw[6 + 4];\r
+            }\r
+        }\r
+\r
+        public SbasMode Mode\r
+        {\r
+            get\r
+            {\r
+                return (SbasMode)Raw[6 + 5];\r
+            }\r
+        }\r
+\r
+        public SbasSystem System\r
+        {\r
+            get\r
+            {\r
+                return (SbasSystem)Raw[6 + 6];\r
+            }\r
+        }\r
+\r
+        public int NumberOfSvData\r
+        {\r
+            get\r
+            {\r
+                return Raw[6 + 8];\r
+            }\r
+        }\r
+\r
+        public SbasStatus[] Status\r
+        {\r
+            get;\r
+            private set;\r
+        }\r
         #endregion\r
 \r
         #region public methods\r
@@ -46,7 +100,7 @@ namespace Yubeshi.Ubx
         public static bool TryParse(byte[] sentence, out UnknownPacket packet)\r
         {\r
             packet = null;\r
-            if (sentence.Length < 12)\r
+            if (sentence.Length < 20)\r
             {\r
                 return false;\r
             }\r