OSDN Git Service

NAVパケットの整理・スタブ作成
[yubeshi/yubeshi.git] / Yubeshi / Ubx / NavSvInfo.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 NavSvInfo : Packet\r
15     {\r
16         #region type definitions\r
17         public struct SvInfo\r
18         { \r
19             private byte[] Raw;\r
20         }\r
21         #endregion\r
22 \r
23         #region constructors\r
24 \r
25         public NavSvInfo(byte[] sentence, int length)\r
26             : base(sentence, length)\r
27         {\r
28             ID = MessageID.NavSvInfo;\r
29         }\r
30 \r
31         #endregion\r
32 \r
33         #region properties\r
34 \r
35         public decimal TimeOfWeek\r
36         {\r
37             get\r
38             {\r
39                 return BitConverter.ToUInt32(Raw, 6 + 0) * 1e-3m;\r
40             }\r
41         }\r
42 \r
43         #endregion\r
44 \r
45         #region public methods\r
46 \r
47         public static bool TryParse(byte[] sentence, out UnknownPacket packet)\r
48         {\r
49             packet = null;\r
50             if (sentence.Length < 8)\r
51             {\r
52                 return false;\r
53             }\r
54             int length = 8 + 12 * sentence[6 + 4];\r
55             return TryParse(sentence, out packet, \r
56                                         MessageID.NavSvInfo, length, Build);\r
57         }\r
58 \r
59         #endregion\r
60 \r
61         #region private methods\r
62 \r
63         private static Packet Build(byte[] sentence, int length)\r
64         {\r
65             return new NavSvInfo(sentence, length);\r
66         }\r
67 \r
68         #endregion\r
69     }\r
70 }\r