OSDN Git Service

NavSvInfo,RxmSfrB実装
[yubeshi/yubeshi.git] / Yubeshi / Ubx / RxmSfrB.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 RxmSfrB : Packet\r
15     {\r
16         #region constructors\r
17 \r
18         public RxmSfrB(byte[] sentence, int length)\r
19             : base(sentence, length)\r
20         {\r
21             Subframe = new uint[10];\r
22             for(int i = 0; i < Subframe.Length; ++i)\r
23             {\r
24                 Subframe[i] = BitConverter.ToUInt32(Raw, 8 + 4 * i);\r
25             }\r
26         }\r
27 \r
28         #endregion\r
29 \r
30         #region properties\r
31 \r
32         public int Channel\r
33         {\r
34             get\r
35             {\r
36                 return Raw[6 + 0];\r
37             }\r
38         }\r
39 \r
40         public int SatelliteId\r
41         {\r
42             get\r
43             {\r
44                 return Raw[6 + 1];\r
45             }\r
46         }\r
47 \r
48         public uint[] Subframe\r
49         {\r
50             get;\r
51             private set;\r
52         }\r
53 \r
54         #endregion\r
55 \r
56         #region public methods\r
57 \r
58         public static bool TryParse(byte[] sentence, out UnknownPacket packet)\r
59         {\r
60             return TryParse(sentence, out packet, \r
61                                                 MessageID.RxmSfrB, 42, Build);\r
62         }\r
63 \r
64         #endregion\r
65 \r
66         #region private methods\r
67 \r
68         private static Packet Build(byte[] sentence, int length)\r
69         {\r
70             return new RxmSfrB(sentence, length);\r
71         }\r
72 \r
73         #endregion\r
74     }\r
75 }\r