OSDN Git Service

Ubxパケットの部分的実装
[yubeshi/yubeshi.git] / Yubeshi / Ubx / NavPosEcef.cs
1 /*\r
2  *      Yubeshi GPS Parser\r
3  *\r
4  *      This software is distributed under a zlib-style license.\r
5  *      See license.txt for more information.\r
6  */\r
7 \r
8 using System;\r
9 using System.Collections.Generic;\r
10 using System.Text;\r
11 \r
12 namespace Yubeshi.Ubx\r
13 {\r
14     public class NavPosEcef : Packet\r
15     {\r
16         #region constructors\r
17 \r
18         public NavPosEcef(byte[] sentence, int length)\r
19         { \r
20             Raw = new byte[length + 8];\r
21             Array.Copy(sentence, Raw, Raw.Length);\r
22             \r
23             uint tow = BitConverter.ToUInt32(sentence, 6 + 0);\r
24             X = 0.01m * BitConverter.ToInt32(sentence, 6 + 4);\r
25             Y = 0.01m * BitConverter.ToInt32(sentence, 6 + 8);\r
26             Z = 0.01m * BitConverter.ToInt32(sentence, 6 + 12);\r
27         }\r
28 \r
29         #endregion\r
30 \r
31         #region properties\r
32 \r
33         public TimeSpan TimeOfWeek\r
34         {\r
35             get;\r
36             private set;\r
37         }\r
38 \r
39         public decimal X\r
40         {\r
41             get;\r
42             private set;\r
43         }\r
44 \r
45         public decimal Y\r
46         {\r
47             get;\r
48             private set;\r
49         }\r
50 \r
51         public decimal Z\r
52         {\r
53             get;\r
54             private set;\r
55         }\r
56         #endregion\r
57 \r
58         #region public methods\r
59 \r
60         public static bool TryParse(byte[] sentence, out Packet packet)\r
61         {\r
62             return TryParse(sentence, out packet, \r
63                                             MessageID.NavPosEcef, 20, Build);\r
64         }\r
65 \r
66         #endregion\r
67 \r
68         #region private methods\r
69 \r
70         private static Packet Build(byte[] sentence, int length)\r
71         {\r
72             return new NavPosEcef(sentence, length);\r
73         }\r
74 \r
75         #endregion\r
76     }\r
77 }\r