-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwfm4.ksy
More file actions
357 lines (355 loc) · 7.98 KB
/
wfm4.ksy
File metadata and controls
357 lines (355 loc) · 7.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
meta:
id: wfm4
file-extension: wfm
endian: le
instances:
header:
type: header
pos: 0
data:
pos: 20972
type: channel_data
types:
header:
seq:
- id: magic
contents: [ 165, 165, 56, 0 ]
- id: scope_info
type: scope_info
- id: unk1
type: u4
repeat: expr
repeat-expr: 6
- id: channel_mask
type: channel_mask
- id: unk2
size: 3
- id: unk3
type: u4
repeat: expr
repeat-expr: 6
- id: unk2_p7_exp
size: 4
contents: [ 0, 0, 0, 0 ]
- id: mem_depth
type: u4
- id: samp_rate
type: f4
- id: unk8_exp
size: 4
contents: [0,0,0,0]
- id: time_per_div_ps
type: u4
- id: unk9
type: u4
repeat: expr
repeat-expr: 5
- id: unk11
type: f4
- id: unk12
type: u4
repeat: expr
repeat-expr: 2
- id: unk13_exp
contents: [0xc0, 0xe1, 0xe4,0]
- id: unk14_exp
contents: [0, 0x2d, 0x31,1]
- id: unk15
type: u4
repeat: expr
repeat-expr: 2
- id: unk17
type: f4
- id: unk18
type: u4
repeat: expr
repeat-expr: 2
- id: unk19_exp
contents: [0xc0, 0xe1, 0xe4, 0] # u4: 15M
- id: unk20_exp
contents: [0, 0x2d, 0x31, 1] # u4: 20M
- id: unk21_exp
type: u4
repeat: expr
repeat-expr: 2
- id: unk22
type: f4
- id: unk23
type: u4
repeat: expr
repeat-expr: 2
- id: unk24_exp
contents: [0xc0, 0xe1, 0xe4, 0] # u4: 15M
- id: unk25_exp
contents: [0, 0x2d, 0x31, 1] # u4: 20M
- id: unk26
type: u4
repeat: expr
repeat-expr: 2
- id: unk27
type: f4
- id: unk28
type: f4
- id: unk29_exp
type: u4
- id: unk30_exp
contents: [0xc0, 0xe1, 0xe4, 0] # u4: 15M
- id: unk31_exp
contents: [0, 0x2d, 0x31, 1] # u4: 20M
- id: unk32_exp
size: 4
contents: [0,0,0,0]
- id: unk33_exp
contents: [0x78, 5, 0, 0]
- id: unk34_exp
contents: [0x78, 5, 0, 0]
- id: unk35_exp
contents: [0, 80, 0, 0, 0xe4, 1, 0, 0]
- id: unk36_exp
contents: [0xec, 0x51, 0, 0]
- id: mem_depth_2 # Seems to always be a copy of mem_depth
type: u4
- id: unk37_exp
size: 4
contents: [0,0,0,0]
- id: mem_depth_3 # Seems to always be a copy of mem_depth
type: u4
- id: unk38
type: u4
repeat: expr
repeat-expr: 7
- id: unk40_data_len_p # Seems to be related to the memory depth
type: u4
- id: unk41_data_len_p # Seems to be related to the memory depth
type: u4
- id: bytes_per_channel_1
type: u4
- id: bytes_per_channel_2 # Copy of the first one?
type: u4
- id: unk42
type: u4
repeat: expr
repeat-expr: 21
- id: unk49_exp
size: 4
contents: [0,0,0,0]
- id: unk50
type: u4
- id: unk51_exp
contents: [0,0,0,6,0,0,0,0]
- id: unk52
type: u4
repeat: expr
repeat-expr: 4
- id: unk53_exp
contents: [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
- id: unk54_exp
contents: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
- id: unk55
type: u4
repeat: expr
repeat-expr: 4
- id: total_samples
type: u4
- id: unk56_exp
contents: [0,80,0,0]
- id: unk57
type: u4
repeat: expr
repeat-expr: 2
- id: unk59_exp
size: 4
contents: [0,0,0,0]
- id: mem_depth_enum
type: u1
enum: mem_depth
- id: unk60_exp
contents: [0,0,0,0,32,0,0,4,0,0,0]
- id: unk61_exp
contents: [0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0]
- id: time_header
type: time_header
- id: channel_header
type: channel_header
repeat: expr
repeat-expr: 4
time_header:
seq:
- id: unk1
type: u1
- id: unk2_exp
contents: [0,0,0,6,0,0,0,26,0,0,0]
- id: index
type: u4
- id: time_per_div_ps
type: u4
- id: pad1
size: 4
- id: unk3
type: u4
- id: unk4
type: u4
repeat: expr
repeat-expr: 3
- id: delay_ps
type: u8
- id: unk5
type: u4
- id: unk6_exp
size: 14
contents: [0,0,0,0,0,0,0,0,0,0,0,0,1,0]
- id: unk7_exp
type: u2
channel_header:
seq:
- id: unk12_exp
contents: [0]
- id: coupling
type: u1
enum: channel_coupling
- id: bandwidth_limit
type: u1
enum: bandwidth_limit
- id: unk13_exp
size: 2
contents: [0]
- id: probe_scale
type: u1
enum: probe_scale
- id: unk1_exp
size: 2
contents: [1, 0]
- id: probe_impedance
type: u1
enum: probe_impedance
- id: scale_index
type: u1
enum: channel_scale
- id: unk2_exp
size: 1
contents: [2]
- id: label
type: str
encoding: ascii
size: 10
- id: unk3_exp
contents: [0,0,0,0,0,0,0,0,0,0,0,0]
- id: unk6_exp
#type: u4
contents: [0xc0, 0xe1, 0xe4, 0x00] # u4: 15M
- id: unk7_exp
#type: u4
contents: [0x00, 0x2d, 0x31, 0x01] # u4: 20M
- id: unk8_exp
#type: u4
contents: [0,0,0,0]
- id: scale_microvolt
type: u4
- id: offset_uv
type: s4
- id: unk11
type: s2
- id: unk12
size: 2
channel_mask:
seq:
- id: unused
type: b4
- id: channel_4
type: b1
- id: channel_3
type: b1
- id: channel_2
type: b1
- id: channel_1
type: b1
scope_info:
seq:
- id: serial
type: str
encoding: ascii
size: 16
- id: unk1
size: 4
- id: firmware_version
type: str
encoding: ascii
size: 16
channel_data:
seq:
- id: channel_1
type: u1
repeat: expr
repeat-expr: '_root.header.mem_depth * (_root.header.channel_mask.channel_1 ? 1 : 0)'
- id: padding_1
size: '(_root.header.bytes_per_channel_1 - _root.header.mem_depth) * (_root.header.channel_mask.channel_1 ? 1 : 0)'
- id: channel_2
type: u1
repeat: expr
repeat-expr: '_root.header.mem_depth * (_root.header.channel_mask.channel_2 ? 1 : 0)'
- id: padding_2
size: '(_root.header.bytes_per_channel_1 - _root.header.mem_depth) * (_root.header.channel_mask.channel_2 ? 1 : 0)'
- id: channel_3
type: u1
repeat: expr
repeat-expr: '_root.header.mem_depth * (_root.header.channel_mask.channel_3 ? 1 : 0)'
- id: padding_3
size: '(_root.header.bytes_per_channel_1 - _root.header.mem_depth) * (_root.header.channel_mask.channel_3 ? 1 : 0)'
- id: channel_4
type: u1
repeat: expr
repeat-expr: '_root.header.mem_depth * (_root.header.channel_mask.channel_4 ? 1 : 0)'
- id: padding_4
size: '(_root.header.bytes_per_channel_1 - _root.header.mem_depth) * (_root.header.channel_mask.channel_4 ? 1 : 0)'
enums:
channel_scale:
0: mv_1
1: mv_2
2: mv_5
3: mv_10
4: mv_20
5: mv_50
6: mv_100
7: mv_200
8: mv_500
9: mv_1000
10: mv_2000
11: mv_5000
channel_coupling:
0: dc
1: ac
2: gnd
probe_scale:
0: xp01
1: xp02
2: xp05
3: xp1
4: xp2
5: xp5
6: x1
7: x2
8: x5
9: x10
10: x20
11: x50
12: x100
probe_impedance:
1: ohm_1meg
0: ohm_50
bandwidth_limit:
0: none
1: mhz_50
2: mhz_100
3: mhz_200
mem_depth:
0: auto
1: p_7k
2: p_70k
3: p_700k
4: p_7m
5: p_70m
6: p_14k
7: p_140k
8: p_1m4
9: p_14m
10: p_140m