ecall GOST 33464 MSD数据结构分析 —— 根据ASN.1语法
GOST 33464中对MSD数据(minimum set of data)的结构规定是用ASN.1语法描述的。下面以version2版本为例分析MSD数据结构,并给出一种可能的实际数据结构示例。
首先是GOST 33464: 2015附录C.3, C.5中的描述:
序号 | 域 | 参数名 | 参数类型及范围 |
1 | ID |
INTEGER (1...255) |
|
2 | Message Identifier |
INTEGER (1...255) |
|
3 | Control | Automatic Activation | BOOLEAN |
4 | Test Call | BOOLEAN | |
5 | Position Can Be Trusted | BOOLEAN | |
6 | Vehicle Type | ENUM | |
7 | VIN | STRING(17) | |
8 | Vehicle Propulsion Storage Type | Gasoline Tank Present | BOOLEAN |
9 | Diesel Tank Present | BOOLEAN | |
10 | Compressed Natural Gas | BOOLEAN | |
11 | Liquid Propane Gas | BOOLEAN | |
12 | Electric Energy Storage | BOOLEAN | |
13 | Hydrogen Storage | BOOLEAN | |
14 | Time Stamp |
INTEGER (0..2^32-1) |
|
15 | Vehicle Location | Position Latitude |
INTEGER (-2^31...2^31-1) |
16 | Position Longitude |
INTEGER (-2^31...2^31-1) |
|
17 | Vehicle Direction |
INTEGER (0...255) |
|
18 | Recent Vehicle Location N1 | Latitude Delta |
INTEGER (-512...511) |
19 | Longitude Delta |
INTEGER (-512...511) |
|
20 | Recent Vehicle Location N2 | Latitude Delta |
INTEGER (-512...511) |
21 | Longitude Delta |
INTEGER (-512...511) |
|
22 | Number Of Passengers |
INTEGER (0...255) |
|
23 | Optional Additional Data | oid |
RELATIVE OID |
24 | data |
OCTET STRING |
MSDASN1Module_V2
DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
-- MSD specification version
CurrentId::= INTEGER (2)
-- ECallMessage is an upper level data element
-- It supports one message type only (msd)
-- Elements:
-- id: MSD data format, set to 1
-- msd: minimum set of data transmitted from IVDS side, except for ID
ECallMessage ::= SEQUENCE {
msdVersion INTEGER(0…255),
msd OCTET STRING (CONTAINING MSDMessage)
}
-- Message sent from IVDS side (ID is excluded)
-- Elements:
-- msdStructure: main MSD structure
-- optionalAdditionalData: additional data
-- May be extended at this level in future versions
MSDMessage ::= SEQUENCE {
msdStructure MSDStructure,
optionalAdditionalData AdditionalData OPTIONAL,
...
}
-- Main MSD structure without any additional data
-- Elements:
-- messageldentifier: message identifier
-- control: see ControlType
-- vehicleldentificationNumber: see VIN
-- vehiclePropulsionStorageType: see VehiclePropulsionStorageType
-- timestamp: time stamp
-- vehicleLocation: see VehicleLocation
-- vehicleDirection: vehicle direction-- recentVehicleLocationNl: displacement from current vehicle location
-- see VehicleLocationDelta
-- recentVehicleLocationN2: displacement from
-- recentVehicleLocationN1 see VehicleLocationDelta
-- numberOfPassengers: minimum known number
-- of fastened safety belts
MSDStructure ::= SEQUENCE {
messageIdentifier INTEGER(0 ... 255),
control ControlType,
vehicleIdentificationNumber VIN,
vehiclePropulsionStorageType VehiclePropulsionStorageType,
timestamp INTEGER(0 ... 4294967295),
vehicleLocation VehicleLocation,
vehicleDirection INTEGER(0 ... 255),
recentVehicleLocationN1 VehicleLocationDelta OPTIONAL,
recentVehicleLocationN2 VehicleLocationDelta OPTIONAL,
numberOfPassengers INTEGER(0 ... 255) OPTIONAL,
...
}
-- ControlType includes the following elements:
-- automaticActivation: true, false
-- testCall: true, false
-- positionCanBeTrusted: true, false
-- vehicleType: see VehicleType
ControlType ::= SEQUENCE {
automaticActivation BOOLEAN,
testCall BOOLEAN,
positionCanBeTrusted BOOLEAN,
vehicleType VehicleType
}
-- Vehicle type definition
VehicleType ::= ENUMERATED{
passengerVehicleClassM1 (1),
busesAndCoachesClassM2 (2),
busesAndCoachesClassM3 (3),
lightCommercialVehiclesClassN1 (4),
heavyDutyVehiclesClassN2 (5),
heavyDutyVehiclesClassN3 (6),
motorcyclesClassL1e (7),
motorcyclesClassL2e (8),
motorcyclesClassL3e (9),
motorcyclesClassL4e (10),
motorcyclesClassL5e (11),
motorcyclesClassL6e (12),
motorcyclesClassL7e (13),
...
}
-- Vehicle Identification Number (VIN)
VIN::= SEQUENCE{
isowmi PrintableString (SIZE(3))
(FROM("A".."H"|"J".."N"|"P"|"R".."Z"|"0".."9")),
isovds PrintableString (SIZE(6))
(FROM("A".."H"|"J".."N"|"P"|"R".."Z"|"0".."9")),
isovisModelyear PrintableString (SIZE(l))
(FROM("A".."H"|"J".."N"|"P"|"R".."Z"|"0".."9")),
isovisSeqPlant PrintableString (SIZE(7))
(FROM("A".."H"|"J".."N"|"P"|"R".."Z"|"0".."9")),
}
-- VehiclePropulsionStorageType:
-- Fuel (energy source) type used for vehicle
VehiclePropulsionStorageType ::= SEQUENCE {
gasolineTankPresent BOOLEAN DEFAULT FALSE,
dieselTankPresent BOOLEAN DEFAULT FALSE,
compressedNaturalGas BOOLEAN DEFAULT FALSE,
liquidPropaneGas BOOLEAN DEFAULT FALSE,
electricEnergyStorage BOOLEAN DEFAULT FALSE,
hydrogenStorage BOOLEAN DEFAULT FALSE,
otherStorage BOOLEAN DEFAULT FALSE,
...
}
-- VehicleLocation:
-- Current vehicle location
-- Elements:
-- Latitude – 32 bits (4 octets) allocated
-- Longitude – 32 bits (4 octets) allocated
VehicleLocation ::= SEQUENCE {
positionLatitude INTEGER (-2147483648..2147483647),
positionLongitude INTEGER (-2147483648..2147483647)
}
-- VehicleLocationDelta:
-- Vehicle location before an RTA event was detected
VehicleLocationDelta ::= SEQUENCE {
latitudeDelta INTEGER (-512..511),
longitudeDelta INTEGER (-512..511)
}
-- AdditionalData:
-- Any additional data encoded as a separate definition
-- Elements:
-- oid: object identifier defining data format and purpose
-- data: additional data in the format
-- defined by oid
AdditionalData ::= SEQUENCE {
oid RELATIVE-OID,
data OCTET STRING
}
END
在分析MSD数据结构之前,首先需要了解一些基本的ASN.1语法规则,可参考文档《ASN.1编码规则详解(最全最经典)》中2.2节,2.3节,2.4节,2.6节,2.8节,2.9节,2.10节中的2.10.2(重要!),以及其他读者认为有必要提前阅读的章节。
其次,还需要了解编码规则。GOST 33464中规定的MSD数据是按UPER编码的,可参考文档《ASN.1编码规则详解(最全最经典)》中的3.3节。特别需要阅读的是,涉及到MSD的相关数据类型的编码说明(在3.3.6节中),如BOOLEAN型、INTEGER型、ENUMERATED型、RELATIVE-OID型、字符串与日期型、SEQUENCE型等。
举例:
SEQUENCE类型:
首先,如果有 COMPONENTS OF 语句,则由相应的类型进行替换。
如果 SEQUENCE 类型是可扩展的,则在编码的头部加上一个比特的 bit-field,如果SEQUENCE 的取值中有属于扩展附加部分的成员,则该比特等于 1,否则等于 0。如果 SEQUENCE 的定义中在扩展根部( extension root)有"n"个成员被置为OPTIONAL 或 DEFAULT,则在编码头部再添加"n"个比特的 bit-field,该 bit-field从第一个 bit 开始,依次指示被标记为 OPTIONAL 或 DEFAULT 的成员是否出现。如果为 1,则该成员出现,否则没有出现。如果“ n”小于 64K,则这个 bit-field 应该直接添到码流中。如果"n"大于等于 64K, 按照前面提到的处理方法把“ n”个bit 的 bit-field 分段并添加到域序列中,前面的长度字段 L 就作为一个有约束的整数编码,而约束的上限和下限都等于 n。
接下来就可以具体分析GOST 33465 附录C.5中对MSD数据的具体规定了。
注意:关于OID的分析需要参考文档ISO/IEC 8825-2的第33章节。(这块还没仔细看,待补充...)
分析完后,一种可能的MSD数据结构为(不说是一定,是因为按照ASN.1描述,部分指示位、数据位有可能不存在。此处只列举一种可能性供读者参考):
序号 | Byte | Bit | 所属域 | 含义 | 备注 | |
1 | 0 | 7 | 协议版本 | 如为GOST 33464协议,则必须设置为:0x02 | ||
2 | 6 | |||||
3 | 5 | |||||
4 | 4 | |||||
5 | 3 | |||||
6 | 2 | |||||
7 | 1 | |||||
8 | 0 | |||||
9 | 1 | 7 | MSD数据内容长度 | 表示从第2个字节之后(即从该字节之后)的数据长度 | ||
10 | 6 | |||||
11 | 5 | |||||
12 | 4 | |||||
13 | 3 | |||||
14 | 2 | |||||
15 | 1 | |||||
16 | 0 | |||||
17 | 2 | 7 | Extension of MSDMessage | 0:Absent 1:Present | ||
18 | 6 | optionalAdditionalData | 0:Absent 1:Present | |||
19 | 5 | Extension of MSDStructure Present? | 0:Absent 1:Present | |||
20 | 4 | recentVehicleLocationN1 | 0:Absent 1:Present | |||
21 | 3 | recentVehicleLocationN2 | 0:Absent 1:Present | |||
22 | 2 | numberOfPassengers | 0:Absent 1:Present | |||
23 | 1 | Message Identifier | Message Identifier bit7 | Msg ID是否仅包含8 bits,待确认 | ||
24 | 0 | Message Identifier bit6 | ||||
25 | 3 | 7 | Message Identifier bit5 | |||
26 | 6 | Message Identifier bit4 | ||||
27 | 5 | Message Identifier bit3 | ||||
28 | 4 | Message Identifier bit2 | ||||
29 | 3 | Message Identifier bit1 | ||||
30 | 2 | Message Identifier bit0 | ||||
31 | 1 | Control | Automatic Activation | |||
32 | 0 | Test Call | ||||
33 | 4 | 7 | Position Can Be Trusted | |||
34 | 6 | Vehicle Type | VehicleType Enum value from | 前导(Preamble)bit,当值在根部分时,该bit为0,否则为1. | ||
35 | 5 | Vehicle Type |
- passenger vehicle (Category M1) - buses (Category M2) - buses (Category M3) - light trucks (Category N1) - cargo vehicles (Category N2) - cargo vehicles (Category N3) - motor cycles (Category L1e) - motor cycles (Category L2e) - motor cycles (Category L3e) - motor cycles (Category L4e) - motor cycles (Category L5e) - motor cycles (Category L6e) - motor cycles (Category L7e) - …… |
枚举类型值(可扩展类型) | ||
36 | 4 | |||||
37 | 3 | |||||
38 | 2 | |||||
39 | 1 | VIN | VIN[0] |
1)每6 bits表示1位VIN码。 2)VIN码的编码不是ASIC II码。编码值对应关系见“VIN码编码值对照表”。 |
||
40 | 0 | |||||
41 | 5 | 7 | ||||
42 | 6 | |||||
43 | 5 | |||||
44 | 4 | |||||
45 | 3 | VIN[1] | ||||
46 | 2 | |||||
47 | 1 | |||||
48 | 0 | |||||
49 | 6 | 7 | ||||
50 | 6 | |||||
51 | 5 | VIN[2] | ||||
52 | 4 | |||||
53 | 3 | |||||
54 | 2 | |||||
55 | 1 | |||||
56 | 0 | |||||
57 | 7 | 7 | VIN[3] | |||
58 | 6 | |||||
59 | 5 | |||||
60 | 4 | |||||
61 | 3 | |||||
62 | 2 | |||||
63 | 1 | VIN[4] | ||||
64 | 0 | |||||
65 | 8 | 7 | ||||
66 | 6 | |||||
67 | 5 | |||||
68 | 4 | |||||
69 | 3 | VIN[5] | ||||
70 | 2 | |||||
71 | 1 | |||||
72 | 0 | |||||
73 | 9 | 7 | ||||
74 | 6 | |||||
75 | 5 | VIN[6] | ||||
76 | 4 | |||||
77 | 3 | |||||
78 | 2 | |||||
79 | 1 | |||||
80 | 0 | |||||
81 | 10 | 7 | VIN[7] | |||
82 | 6 | |||||
83 | 5 | |||||
84 | 4 | |||||
85 | 3 | |||||
86 | 2 | |||||
87 | 1 | VIN[8] | ||||
88 | 0 | |||||
89 | 11 | 7 | ||||
90 | 6 | |||||
91 | 5 | |||||
92 | 4 | |||||
93 | 3 | VIN[9] | ||||
94 | 2 | |||||
95 | 1 | |||||
96 | 0 | |||||
97 | 12 | 7 | ||||
98 | 6 | |||||
99 | 5 | VIN[10] | ||||
100 | 4 | |||||
101 | 3 | |||||
102 | 2 | |||||
103 | 1 | |||||
104 | 0 | |||||
105 | 13 | 7 | VIN[11] | |||
106 | 6 | |||||
107 | 5 | |||||
108 | 4 | |||||
109 | 3 | |||||
110 | 2 | |||||
111 | 1 | VIN[12] | ||||
112 | 0 | |||||
113 | 14 | 7 | ||||
114 | 6 | |||||
115 | 5 | |||||
116 | 4 | |||||
117 | 3 | VIN[13] | ||||
118 | 2 | |||||
119 | 1 | |||||
120 | 0 | |||||
121 | 15 | 7 | ||||
122 | 6 | |||||
123 | 5 | VIN[14] | ||||
124 | 4 | |||||
125 | 3 | |||||
126 | 2 | |||||
127 | 1 | |||||
128 | 0 | |||||
129 | 16 | 7 | VIN[15] | |||
130 | 6 | |||||
131 | 5 | |||||
132 | 4 | |||||
133 | 3 | |||||
134 | 2 | |||||
135 | 1 | VIN[16] | ||||
136 | 0 | |||||
137 | 17 | 7 | ||||
138 | 6 | |||||
139 | 5 | |||||
140 | 4 | |||||
141 | 3 | Vehicle Propulsion Storage Type | Extension of Vehicle Propulsion Storage Type Present? | 0:Absent 1:Present | ||
142 | 2 | Gasoline Tank Present? | 0:Absent 1:Present |
1)每个bit表示后面对应的指示位是否存在
2)设置为(二进制): |
||
143 | 1 | Diesel Tank Present? | 0:Absent 1:Present | |||
144 | 0 | Compressed Natural Gas Present? | 0:Absent 1:Present | |||
145 | 18 | 7 | Liquid Propane Gas Present? | 0:Absent 1:Present | ||
146 | 6 | Electric Energy Storage Present? | 0:Absent 1:Present | |||
147 | 5 | Hydrogen Storage Present? | 0:Absent 1:Present | |||
148 | 4 | Other Storage Present? | 0:Absent 1:Present | |||
149 | 3 | Gasoline Tank | 0:Absent 1:Present | |||
150 | 2 | Diesel Tank | 0:Absent 1:Present | |||
151 | 1 | Compressed Natural Gas | 0:Absent 1:Present | |||
152 | 0 | Liquid Propane Gas | 0:Absent 1:Present | |||
153 | 19 | 7 | Electric Energy Storage | 0:Absent 1:Present | ||
154 | 6 | Hydrogen Storage | 0:Absent 1:Present | |||
155 | 5 | Other Storage | 0:Absent 1:Present | |||
156 | 4 | time Stamp | time Stamp bit31 |
1)time stamp值为从1970年1月1日开始,到RTA发生是的秒数。
2)如果时间超出合理范围,测试仪器会将time stamp清零显示。 |
||
157 | 3 | time Stamp bit30 | ||||
158 | 2 | time Stamp bit29 | ||||
159 | 1 | time Stamp bit28 | ||||
160 | 0 | time Stamp bit27 | ||||
161 | 20 | 7 | time Stamp bit26 | |||
162 | 6 | time Stamp bit25 | ||||
163 | 5 | time Stamp bit24 | ||||
164 | 4 | time Stamp bit23 | ||||
165 | 3 | time Stamp bit22 | ||||
166 | 2 | time Stamp bit21 | ||||
167 | 1 | time Stamp bit20 | ||||
168 | 0 | time Stamp bit19 | ||||
169 | 21 | 7 | time Stamp bit18 | |||
170 | 6 | time Stamp bit17 | ||||
171 | 5 | time Stamp bit16 | ||||
172 | 4 | time Stamp bit15 | ||||
173 | 3 | time Stamp bit14 | ||||
174 | 2 | time Stamp bit13 | ||||
175 | 1 | time Stamp bit12 | ||||
176 | 0 | time Stamp bit11 | ||||
177 | 22 | 7 | time Stamp bit10 | |||
178 | 6 | time Stamp bit9 | ||||
179 | 5 | time Stamp bit8 | ||||
180 | 4 | time Stamp bit7 | ||||
181 | 3 | time Stamp bit6 | ||||
182 | 2 | time Stamp bit5 | ||||
183 | 1 | time Stamp bit4 | ||||
184 | 0 | time Stamp bit3 | ||||
185 | 23 | 7 | time Stamp bit2 | |||
186 | 6 | time Stamp bit1 | ||||
187 | 5 | time Stamp bit0 | ||||
188 | 4 | Vehicle Location | Position Latitude | Position Latitude bit31 |
1)Position计算时有偏移量,偏移量为:-2147483648
2)注意前面有Position Can be Trusted位 3)计算算法参考GOST 33464协议 |
|
189 | 3 | Position Latitude bit30 | ||||
190 | 2 | Position Latitude bit29 | ||||
191 | 1 | Position Latitude bit28 | ||||
192 | 0 | Position Latitude bit27 | ||||
193 | 24 | 7 | Position Latitude bit26 | |||
194 | 6 | Position Latitude bit25 | ||||
195 | 5 | Position Latitude bit24 | ||||
196 | 4 | Position Latitude bit23 | ||||
197 | 3 | Position Latitude bit22 | ||||
198 | 2 | Position Latitude bit21 | ||||
199 | 1 | Position Latitude bit20 | ||||
200 | 0 | Position Latitude bit19 | ||||
201 | 25 | 7 | Position Latitude bit18 | |||
202 | 6 | Position Latitude bit17 | ||||
203 | 5 | Position Latitude bit16 | ||||
204 | 4 | Position Latitude bit15 | ||||
205 | 3 | Position Latitude bit14 | ||||
206 | 2 | Position Latitude bit13 | ||||
207 | 1 | Position Latitude bit12 | ||||
208 | 0 | Position Latitude bit11 | ||||
209 | 26 | 7 | Position Latitude bit10 | |||
210 | 6 | Position Latitude bit9 | ||||
211 | 5 | Position Latitude bit8 | ||||
212 | 4 | Position Latitude bit7 | ||||
213 | 3 | Position Latitude bit6 | ||||
214 | 2 | Position Latitude bit5 | ||||
215 | 1 | Position Latitude bit4 | ||||
216 | 0 | Position Latitude bit3 | ||||
217 | 27 | 7 | Position Latitude bit2 | |||
218 | 6 | Position Latitude bit1 | ||||
219 | 5 | Position Latitude bit0 | ||||
220 | 4 | Position Longitude | Position Longitude bit 31 |
1)Position计算时有偏移量,偏移量为:-2147483648
2)注意前面有Position Can be Trusted位 3)计算算法参考GOST 33464协议 |
||
221 | 3 | Position Longitude bit 30 | ||||
222 | 2 | Position Longitude bit 29 | ||||
223 | 1 | Position Longitude bit 28 | ||||
224 | 0 | Position Longitude bit 27 | ||||
225 | 28 | 7 | Position Longitude bit 26 | |||
226 | 6 | Position Longitude bit 25 | ||||
227 | 5 | Position Longitude bit 24 | ||||
228 | 4 | Position Longitude bit 23 | ||||
229 | 3 | Position Longitude bit 22 | ||||
230 | 2 | Position Longitude bit 21 | ||||
231 | 1 | Position Longitude bit 20 | ||||
232 | 0 | Position Longitude bit 19 | ||||
233 | 29 | 7 | Position Longitude bit 18 | |||
234 | 6 | Position Longitude bit 17 | ||||
235 | 5 | Position Longitude bit 16 | ||||
236 | 4 | Position Longitude bit 15 | ||||
237 | 3 | Position Longitude bit 14 | ||||
238 | 2 | Position Longitude bit 13 | ||||
239 | 1 | Position Longitude bit 12 | ||||
240 | 0 | Position Longitude bit 11 | ||||
241 | 30 | 7 | Position Longitude bit 10 | |||
242 | 6 | Position Longitude bit 9 | ||||
243 | 5 | Position Longitude bit 8 | ||||
244 | 4 | Position Longitude bit 7 | ||||
245 | 3 | Position Longitude bit 6 | ||||
246 | 2 | Position Longitude bit 5 | ||||
247 | 1 | Position Longitude bit 4 | ||||
248 | 0 | Position Longitude bit 3 | ||||
249 | 31 | 7 | Position Longitude bit 2 | |||
250 | 6 | Position Longitude bit 1 | ||||
251 | 5 | Position Longitude bit 0 | ||||
252 | 4 | Vehicle Direction | Vehicle Direction bit7 | 1)GOST 33464中规定分辨率为2°,但测试仪器没有进行分辨率的处理。 | ||
253 | 3 | Vehicle Direction bit6 | ||||
254 | 2 | Vehicle Direction bit5 | ||||
255 | 1 | Vehicle Direction bit4 | ||||
256 | 0 | Vehicle Direction bit3 | ||||
257 | 32 | 7 | Vehicle Direction bit2 | |||
258 | 6 | Vehicle Direction bit1 | ||||
259 | 5 | Vehicle Direction bit0 | ||||
260 | 4 | recentVehicleLocationN1 | Latitude | Recent Vehicle Location N1 Lat bit9 |
1)偏移量:-512 2)注意前面有recentVehicleLocationN1标志位 |
|
261 | 3 | Recent Vehicle Location N1 Lat bit8 | ||||
262 | 2 | Recent Vehicle Location N1 Lat bit7 | ||||
263 | 1 | Recent Vehicle Location N1 Lat bit6 | ||||
264 | 0 | Recent Vehicle Location N1 Lat bit5 | ||||
265 | 33 | 7 | Recent Vehicle Location N1 Lat bit4 | |||
266 | 6 | Recent Vehicle Location N1 Lat bit3 | ||||
267 | 5 | Recent Vehicle Location N1 Lat bit2 | ||||
268 | 4 | Recent Vehicle Location N1 Lat bit1 | ||||
269 | 3 | Recent Vehicle Location N1 Lat bit0 | ||||
270 | 2 | Longitude | Recent Vehicle Location N1 Long bit9 | |||
271 | 1 | Recent Vehicle Location N1 Long bit8 | ||||
272 | 0 | Recent Vehicle Location N1 Long bit7 | ||||
273 | 34 | 7 | Recent Vehicle Location N1 Long bit6 | |||
274 | 6 | Recent Vehicle Location N1 Long bit5 | ||||
275 | 5 | Recent Vehicle Location N1 Long bit4 | ||||
276 | 4 | Recent Vehicle Location N1 Long bit3 | ||||
277 | 3 | Recent Vehicle Location N1 Long bit2 | ||||
278 | 2 | Recent Vehicle Location N1 Long bit1 | ||||
279 | 1 | Recent Vehicle Location N1 Long bit0 | ||||
280 | 0 | recentVehicleLocationN2 | Latitude | Recent Vehicle Location N2 Lat bit9 |
1)偏移量:-512 2)注意前面有recentVehicleLocationN2标志位 |
|
281 | 35 | 7 | Recent Vehicle Location N2 Lat bit8 | |||
282 | 6 | Recent Vehicle Location N2 Lat bit7 | ||||
283 | 5 | Recent Vehicle Location N2 Lat bit6 | ||||
284 | 4 | Recent Vehicle Location N2 Lat bit5 | ||||
285 | 3 | Recent Vehicle Location N2 Lat bit4 | ||||
286 | 2 | Recent Vehicle Location N2 Lat bit3 | ||||
287 | 1 | Recent Vehicle Location N2 Lat bit2 | ||||
288 | 0 | Recent Vehicle Location N2 Lat bit1 | ||||
289 | 36 | 7 | Recent Vehicle Location N2 Lat bit0 | |||
290 | 6 | Longitude | Recent Vehicle Location N2 Long bit9 | |||
291 | 5 | Recent Vehicle Location N2 Long bit8 | ||||
292 | 4 | Recent Vehicle Location N2 Long bit7 | ||||
293 | 3 | Recent Vehicle Location N2 Long bit6 | ||||
294 | 2 | Recent Vehicle Location N2 Long bit5 | ||||
295 | 1 | Recent Vehicle Location N2 Long bit4 | ||||
296 | 0 | Recent Vehicle Location N2 Long bit3 | ||||
297 | 37 | 7 | Recent Vehicle Location N2 Long bit2 | |||
298 | 6 | Recent Vehicle Location N2 Long bit1 | ||||
299 | 5 | Recent Vehicle Location N2 Long bit0 | ||||
300 | 4 | Number of passengers | Number of passeners bit7 | 1)注意前面有numberOfPassengers标志位 | ||
301 | 3 | Number of passengers bit6 | ||||
302 | 2 | Number of passeners bit5 | ||||
303 | 1 | Number of passeners bit4 | ||||
304 | 0 | Number of passengers bit3 | ||||
305 | 38 | 7 | Number of passeners bit2 | |||
306 | 6 | Number of passeners bit1 | ||||
307 | 5 | Number of passengers bit0 | ||||
308 | 4 | |||||
309 | 3 | |||||
310 | 2 | |||||
311 | 1 | |||||
312 | 0 |
更详细的分析过程待有时间补充。
文中列举的参考文档下载链接为:
链接:https://pan.baidu.com/s/1ETGxVC0G3LTF9YS9Ub6uLA
提取码:0q5i
ecall GOST 33464 MSD数据结构分析 —— 根据ASN.1语法相关推荐
- 【Android 逆向】函数拦截 ( GOT 表数据结构分析 | 函数根据 GOT 表进行跳转的流程 )
文章目录 一.GOT 表数据结构分析 二.函数根据 GOT 表进行跳转的流程 一.GOT 表数据结构分析 GOT 表分为 222 部分 , 一部分在 调用者部分 ( 可执行文件 ) 中 , 一部分在 ...
- ffplay的数据结构分析
<ffplay分析(从启动到读取线程的操作)> <ffplay分析(视频解码线程的操作)> <ffplay分析(音频解码线程的操作)> <ffplay 分析( ...
- 硬盘扇区数据结构分析
来自 http://hi.baidu.com/qtycr/blog/item/f6cc9b2b74e2d7fee7cd40da.html 硬盘扇区数据结构分析 初买来一块硬盘,我们是没有办法使用的,你 ...
- 音视频从入门到精通——FFmpeg数据结构分析
FFmpeg数据结构分析 FFmpeg解码流程 重要结构体之间的关系 AVFormatContext iformat:输入媒体的AVInputFormat,比如指向AVInputFormat ff_f ...
- 数据结构分析:红黑树、B+树
数据结构分析:红黑树.B+树 前言 常见的数据结构大概分为以下8种,作为一个开发人员,数据结构是内功之一. 本文参考了网络上相关知识,加之自己的理解.简单说明红黑树.B+树的特性. 1. 二叉搜索树( ...
- MYSEE:Sp数据结构分析初稿
以前写了MYSEE 服务器端源码分析文档,主要是对其中的消息机制(sp,cp,ts,之间的交互)的分析.因为CU抽风,发表的文章无故给我删除了 ,所以这个不是完整的 Sp 数据结构分析(初稿) 一:准 ...
- 商品分类目录数据结构分析
商品分类目录数据结构分析 说明:一般电商网站的商品分类信息,都是3级标题. 划分: 1级标题-2级标题-3级标题 标题是有所属关系的 /1.查询一级商品分类信息/ SELECT * FROM tb_i ...
- SICK LMS511开发及数据结构分析、坐标转换
SICK LMS511开发及数据结构分析.坐标转换 最近公司有新上的项目,开始接触激光扫描仪,型号SICK LMS511. 获取数据 在网上看了一些资料,有通过SICK自带的软件看了一下激光扫描仪的配 ...
- 【JAVA进阶】java中的集合(番外篇3)- HashMap源码底层数据结构分析
写在前面的话 脑子是个好东西,可惜的是一直没有搞懂脑子的内存删除机制是什么,所以啊,入行多年,零零散散的文章看了无数,却总是学习了很多也忘了很多. 痛定思痛的我决定从今天开始系统的梳理下知识架构,记录 ...
最新文章
- m_Orchestrate learning system---九、在无法保证是否有图片的情况下,如何保证页面格式...
- 关于串口接收数据不全的问题
- 【Shell脚本】颜色显示
- linux 解决依赖性错误,linux – 由于单模块依赖性,XSP配置失败
- python 播放声音_如何用Python播放声音?
- Codeforces 527C Glass Carving
- 近期将要学习的内容(flag)
- linux下如何添加定时备份任务,Linux下Oracle设置定时任务备份数据库的教程
- 1. C++dump编程
- 华悦网游器软件介绍及功能介绍
- 粒子滤波随机采样算法
- 安装了360安全卫士和瑞星杀毒,看迅雷电影很卡,谁有知道的
- CSS3(新增样式)
- 2007年五一通过了驾驶证考试(5/7,5/8)
- 新型搜索引擎Blekko欲赶超谷歌 再获3000万美元投资
- 最简单理解高内聚低耦合
- 互联网、因特网及万维网之间的区别与联系
- 软键盘弹起后顶起EditText的完美解决方案
- 《蹭课神器》项目总结
- SCA(Service Component Architecture)编程模型入门