OSDN Git Service

Monパケット対応準備,Infパケット対応
[yubeshi/yubeshi.git] / Yubeshi / Ubx / MonHw2.cs
diff --git a/Yubeshi/Ubx/MonHw2.cs b/Yubeshi/Ubx/MonHw2.cs
new file mode 100755 (executable)
index 0000000..732563b
--- /dev/null
@@ -0,0 +1,98 @@
+/*\r
+ *     Yubeshi GPS Parser\r
+ *\r
+ *     This software is distributed under a zlib-style license.\r
+ *     See license.txt for more information.\r
+ */\r
+\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Text;\r
+\r
+namespace Yubeshi.Ubx\r
+{\r
+    public class MonHw2 : Packet\r
+    {\r
+        #region type definitions\r
+        public enum ConfigSource : byte\r
+        {\r
+            FlashImage = 102,\r
+            Otp = 111,\r
+            ConfigPins = 112,\r
+            Rom = 114,\r
+        }\r
+        #endregion\r
+\r
+        #region constructors\r
+\r
+        public MonHw2(byte[] sentence, int length)\r
+            : base(sentence, length)\r
+        {\r
+        }\r
+\r
+        #endregion\r
+\r
+        #region properties\r
+\r
+        public double ImbalanceI\r
+        {\r
+            get\r
+            {\r
+                return (((int)Raw[6 + 0] << 24) >> 24) / 128.0;\r
+            }\r
+        }\r
+\r
+        public double MagnitudeI\r
+        {\r
+            get\r
+            {\r
+                return Raw[6 + 1] / 255.0;\r
+            }\r
+        }\r
+\r
+        public double ImbalanceQ\r
+        {\r
+            get\r
+            {\r
+                return (((int)Raw[6 + 2] << 24) >> 24) / 128.0;\r
+            }\r
+        }\r
+\r
+\r
+        public double MagnitudeQ\r
+        {\r
+            get\r
+            {\r
+                return Raw[6 + 3] / 255.0;\r
+            }\r
+        }\r
+\r
+        public ConfigSource ConfigurationSource\r
+        {\r
+            get\r
+            {\r
+                return (ConfigSource)Raw[6 + 4];\r
+            }\r
+        }\r
+\r
+        #endregion\r
+\r
+        #region public methods\r
+\r
+        public static bool TryParse(byte[] sentence, out UnknownPacket packet)\r
+        {\r
+            return TryParse(sentence, out packet, MessageID.MonHw2, 28, Build);\r
+        }\r
+\r
+        #endregion\r
+\r
+        #region private methods\r
+\r
+        private static Packet Build(byte[] sentence, int length)\r
+        {\r
+            return new MonHw2(sentence, length);\r
+        }\r
+\r
+        #endregion\r
+    }\r
+}\r