skyeye-sdk-js 1.3.7 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/test.ts CHANGED
@@ -8,387 +8,11 @@ const { SkyEyeClient } = require('./src/SkyEyeClient')
8
8
 
9
9
  const { Cpu } = require('./src/models/Cpu')
10
10
 
11
- const json = {
12
- "id": "4a162d75-3a84-5264-992f-287624830ead",
13
- "name": "鍙戦€佸唴瀛樻秷鎭祴璇?",
14
- "overview": "",
15
- "parentId": "8a6d70cd-bd7a-4871-d2f3-2f4fdf7b5a46",
16
- "projectId": "15ffe24f-8ca6-4fcf-afe5-fe01027e2ffb",
17
- "steps": [
18
- {
19
- "id": "35846013-6510-fd0a-a046-a98c2f24157b",
20
- "sendConditions": {
21
- "id": "b3c97e92-7367-63ba-6a6b-5f7ca590164c",
22
- "name": "杩愯0.5s",
23
- "projectId": "15ffe24f-8ca6-4fcf-afe5-fe01027e2ffb",
24
- "overview": "",
25
- "relationship": "A",
26
- "child": [
27
- {
28
- "id": "5ba88de6-a224-0e80-6585-d5e417b424ce",
29
- "tag": "A",
30
- "condition": {
31
- "type": 1,
32
- "time": 0.5
33
- }
34
- }
35
- ]
36
- },
37
- "expectConditions": {
38
- "id": "6e265328-255e-d7e3-11fd-0a4211d0d0d6",
39
- "name": "杩愯0.8s",
40
- "projectId": "15ffe24f-8ca6-4fcf-afe5-fe01027e2ffb",
41
- "overview": "",
42
- "relationship": "A",
43
- "child": [
44
- {
45
- "id": "d9e08452-f88b-8de9-bd20-5d5288987fde",
46
- "tag": "A",
47
- "condition": {
48
- "type": 1,
49
- "time": 0.8
50
- }
51
- }
52
- ]
53
- },
54
- "sends": {
55
- "templateId": "",
56
- "name": "鍐呭瓨0x4鍙戦€?",
57
- "child": [
58
- {
59
- "id": "0cd71a92-4e7a-dcb8-d74b-dc6ea8103d02",
60
- "templdateId": "",
61
- "name": "鏂扮殑鍙戦€?",
62
- "target": {
63
- "type": 3,
64
- "globalName": "",
65
- "varType": "",
66
- "addr": "0x4",
67
- "length": 4,
68
- "name": "",
69
- "deviceName": "",
70
- "busType": 0,
71
- "directions": 1,
72
- "nodes": [
73
- {
74
- "name": "鑺傜偣1",
75
- "rtAddr": "",
76
- "subAddr": "",
77
- "id": "row_253"
78
- },
79
- {
80
- "name": "鑺傜偣2",
81
- "rtAddr": "",
82
- "subAddr": "",
83
- "id": "row_254"
84
- }
85
- ],
86
- "fields": [
87
- {
88
- "name": "field1",
89
- "dataType": 0,
90
- "defaultValue": 4,
91
- "dataRange": [],
92
- "desc": "this is field1",
93
- "id": "a89ee30f-ea3d-411e-9bf1-543935a003fc"
94
- }
95
- ]
96
- },
97
- "dataFormat": 0,
98
- "value": "4",
99
- "fields": [
100
- {
101
- "name": "field1",
102
- "dataType": 0,
103
- "defaultValue": 4,
104
- "dataRange": [],
105
- "desc": "this is field1",
106
- "id": "d4c808d1-47ba-a30e-cfbe-68c0d2772b3d"
107
- }
108
- ],
109
- "_X_ROW_KEY": "row_251"
110
- }
111
- ]
112
- },
113
- "expects": {
114
- "templateId": "",
115
- "name": "鍐呭瓨0x14鍙戦€?",
116
- "child": [
117
- {
118
- "id": "85276ca0-0a09-aa87-ebff-1e6dfc4e5f4f",
119
- "name": "鏂扮殑棰勬湡",
120
- "templateId": "",
121
- "target": {
122
- "type": 3,
123
- "globalName": "",
124
- "varType": "",
125
- "addr": "0x44",
126
- "length": 4,
127
- "name": "",
128
- "deviceName": "",
129
- "busType": 0,
130
- "directions": 1,
131
- "nodes": [
132
- {
133
- "name": "鑺傜偣1",
134
- "rtAddr": "",
135
- "subAddr": "",
136
- "id": "row_299"
137
- },
138
- {
139
- "name": "鑺傜偣2",
140
- "rtAddr": "",
141
- "subAddr": "",
142
- "id": "row_300"
143
- }
144
- ],
145
- "fields": [
146
- {
147
- "name": "field1",
148
- "dataType": 0,
149
- "defaultValue": 4,
150
- "dataRange": [],
151
- "desc": "this is field1",
152
- "id": "ef2b8873-516c-a338-a8d0-5e8eda5fa08b"
153
- }
154
- ]
155
- },
156
- "dataFormat": 0,
157
- "value": "8",
158
- "fields": [
159
- {
160
- "name": "field1",
161
- "dataType": 0,
162
- "defaultValue": 4,
163
- "dataRange": [],
164
- "desc": "this is field1",
165
- "id": "379506c9-33d2-167d-6c22-8e0ca8559c0a"
166
- }
167
- ],
168
- "_X_ROW_KEY": "row_297"
169
- }
170
- ]
171
- },
172
- "select": true
173
- }
174
- ],
175
- "settings": {
176
- "timeout": ""
177
- },
178
- "createdAt": "2024-06-05T02:18:27.630Z",
179
- "updatedAt": "2024-06-11T06:37:05.487Z",
180
- "results": []
181
- }
182
-
183
-
184
- class RegisterItem {
185
- name: string;
186
- type: RegisterType; //0 cpu寄存器 1 设备寄存器
187
- deviceName: string; //设备名称
188
- boardName: string;
189
- }
190
-
191
11
  enum RegisterType {
192
12
  CPU,
193
13
  Device
194
14
  }
195
15
 
196
-
197
-
198
- async function getAllRegisterList() {
199
- const allRegister: RegisterItem[] = [];
200
- const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', '50051');
201
-
202
- //通过 getDeviceTree 获取板卡、设备、寄存器层级, 列出所有寄存器列表选择
203
-
204
- const resultTree = await client.getDeviceTree()
205
- console.log("结果 resultTree:", JSON.stringify(resultTree))
206
- console.log("结果 keys:", resultTree.boardMap.keys())
207
-
208
- for (const key of resultTree.boardMap.keys()) {
209
- const device = resultTree.boardMap.get(key);
210
- // 在这里对获取到的键值对进行处理
211
- console.log(`板卡: ${key},设备: ${device.deviceMap}`);
212
-
213
- if (!device.deviceMap || device.deviceMap.keys().length == 0) {
214
- continue
215
- }
216
-
217
- for (const k of device.deviceMap.keys()) {
218
- const register = device.deviceMap.get(k);
219
- console.log(`设备: ${k}, 寄存器: ${register}`);
220
- console.log("寄存器下的寄存器: ", register.registerMap)
221
- if (!register.registerMap || register.registerMap.keys().length == 0) {
222
- continue
223
- }
224
- getRegisterMap(register, allRegister)
225
-
226
- }
227
- }
228
- console.log("allRegister2:", allRegister.length)
229
- return allRegister;
230
- }
231
-
232
-
233
-
234
- function getRegisterMap(bean: any, allRegister: RegisterItem[]) {
235
- if (!bean.registerMap || bean.registerMap.keys().length == 0) {
236
- return
237
- }
238
-
239
- for (const r of bean.registerMap.keys()) {
240
- const result = bean.registerMap.get(r);
241
- console.log(`设备: ${r}, 寄存器: ${result}`);
242
-
243
- const item = new RegisterItem()
244
- item.name = r.name
245
-
246
- if (bean instanceof Cpu) {
247
- console.log(`寄存器类型: ${bean.className}`);
248
- item.type = RegisterType.CPU
249
- } else {
250
- item.type = RegisterType.Device
251
- }
252
- allRegister.push(item)
253
- getRegisterMap(result, allRegister)
254
- }
255
- }
256
-
257
-
258
-
259
-
260
- async function setRegister() {
261
- const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', '50051');
262
- const r2 = await client.setDeviceRegisterValue('c6713_0', 'c67x_core_0', 'A7', '34')
263
- console.log("setRegister:", r2)
264
- }
265
-
266
- async function getRegister() {
267
- const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', '50051');
268
- const result = await client.getCpuRegisters("")
269
- console.log("setRegister:", result)
270
- }
271
-
272
- async function getState() {
273
- const client = SkyEyeClientFactory.instance.createClient('127.0.0.2', '50051');
274
- const result = await client.getCurrentRunningState()
275
- console.log("getState:", result)
276
- }
277
- // getState()
278
-
279
-
280
- async function setMemoryValue() {
281
- const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', '50051');
282
- const result = await client.setMemoryValue('c67x_core_0', '10000', '15', 2)
283
- console.log("setMemoryValue:", result)
284
- }
285
- // setMemoryValue()
286
-
287
-
288
-
289
- async function getMemoryValue() {
290
- const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', '50051');
291
- const result = await client.getMemoryValue('c67x_core_0', "10000", 2)
292
- console.log("setMemoryValue:", result)
293
- }
294
- // getMemoryValue()
295
-
296
-
297
-
298
- async function testSocket() {
299
- const json = {
300
- "msgId": "0",
301
- "msgTime": "2023-12-5 12:00:00",
302
- "msgType": "2",
303
- "msgData": {
304
- "version": "10001",
305
- "protocol": "0",
306
- "direction": "0",
307
- "bigEndian": "0",
308
- "length": "0",
309
- "data": "0"
310
- }
311
- }
312
- const net = require('net');
313
- const client = new net.Socket();
314
- const host = '127.0.0.1';
315
- const port = 8099;
316
- client.connect(port, host, () => {
317
- console.log('Connected');
318
-
319
- // const str = JSON.stringify(json)
320
- // // const str = "hhh"
321
-
322
- // const strBuffer = Buffer.from(str, 'utf8'); // 将字符串转换为 Buffer
323
- // const strLength = strBuffer.length; // 获取 JSON 数据的长度
324
-
325
- // // 创建一个新的 Buffer 用于存储长度信息和数据
326
- // const totalLength = 4 + strLength; // 4 字节长度 + 数据长度
327
- // const buffer = Buffer.alloc(totalLength);
328
-
329
- // // 写入前 4 个字节的长度信息
330
- // buffer.writeUInt32LE(strLength, 0); // 以小端序方式写入 JSON 数据的长度
331
-
332
- // // 将 JSON 数据复制到 Buffer 中
333
- // strBuffer.copy(buffer, 4); // 从第 5 个字节开始复制 JSON 数据
334
-
335
- // console.log("Buffer sent:", buffer);
336
-
337
- // console.log("String Length:", strLength); // 打印实际的字符串长度
338
- // console.log("Hex Length:", strLength.toString(16)); // 打印十六进制表示
339
-
340
-
341
- // client.write(buffer); // 发送拼接后的 Buffer
342
-
343
- // 发送数据
344
-
345
- //第一阶段0827测试
346
- // const hexString = "B90000007B0A09226D73674964223A2230222C0A09226D736754696D65223A22323032332D31322D352031323A30303A3030222C0A09226D736754797065223A2232222C0A09226D736744617461223A7B0A09092276657273696F6E223A2231222C0A09092270726F746F636F6C223A2230222C0A090922646972656374696F6E223A2230222C0A090922626967456E6469616E223A2230222C0A0909226C656E677468223A2230222C0A09092264617461223A2230220A097D0A7D0A";
347
-
348
-
349
-
350
- const s1 = "12 01 AA 11 BB 22 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 33 33 00 00 00 00 00 00 00 00 44 44 00 00 00 00 00 00 88 88 66 44 00 00 00 00 00 00 00 00 00 00 65 76"
351
- const s1_1 = s1.replace(/\s+/g, '');
352
- const hexString = "B90000007B0D0A09226D73674964223A2230222C0D0A09226D736754797065223A2232222C0D0A09226D736754696D65223A22323032332D31322D352031323A30303A3030222C0D0A09226D736744617461223A207B0D0A09092276657273696F6E223A223130303031222C0D0A09092270726F746F636F6C223A2230222C0D0A090922646972656374696F6E223A2230222C0D0A090922626967456E6469616E223A2230222C0D0A0909226C656E677468223A36340D0A097D0D0A7D" + s1_1
353
-
354
-
355
-
356
-
357
- //74
358
- // const hexString = "B90000007B0D0A09226D73674964223A2230222C0D0A09226D736754797065223A2232222C0D0A09226D736754696D65223A22323032332D31322D352031323A30303A3030222C0D0A09226D736744617461223A207B0D0A09092276657273696F6E223A223130303031222C0D0A09092270726F746F636F6C223A2230222C0D0A090922646972656374696F6E223A2230222C0D0A090922626967456E6469616E223A2230222C0D0A0909226C656E677468223A37340D0A097D0D0A7D1201AA11BB220000000000000000000000000000FFFF000000003333000000000000000044440000000000008888664400000000000000000000006576";
359
-
360
-
361
-
362
- console.log("hexString:", hexString)
363
- console.log("hexString:", hexString.length)
364
- const buffer2 = Buffer.from(hexString, 'hex');
365
- console.log("buffer2:", buffer2.length)
366
- client.write(buffer2);
367
-
368
-
369
- });
370
- client.on('data', (data) => {
371
- console.log('Received: ' + data);
372
- client.destroy();
373
- });
374
- client.on('close', () => {
375
- console.log('Connection closed');
376
- });
377
- }
378
- testSocket()
379
-
380
-
381
-
382
-
383
- async function testgetGlobalVarValue() {
384
- const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', '50052');
385
- const response = await client.getGlobalVarValue("cx53123", "a", 16, "double");
386
- console.log("testgetGlobalVarValue response:", response)
387
- }
388
- // testgetGlobalVarValue()
389
-
390
-
391
-
392
16
  async function test() {
393
17
  // console.log("Connected to SkyEye server");
394
18
  // await client.getDeviceList();
@@ -407,92 +31,50 @@ async function test() {
407
31
  // const response = await client.getMemoryValue("c7s",0,16);
408
32
  // console.log("结果response:", response)
409
33
 
410
-
411
- // await client.initSkyEyeAndRun(pathSkyEye,fileName,port,skyeyeDir);
412
- // const pathSkyEye = "D:/data/case/c6713_demo";
413
- // const fileName = "c6713_demo.skyeye";
414
- // const skyeyeDir = "D:/install/skyeye/opt/skyeye/bin/skyeye.exe"
415
-
416
-
417
- // const port = "50051"
418
- // const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', '50051');
419
- // await client.initSkyEyeAndRun2(pathSkyEye, fileName, port, skyeyeDir)
420
-
421
- // const pathSkyEye = "D:/data/case/workspace_c6713/targets/c6713_fc_1553b";
34
+ // const pathSkyEye = "D:/data/case/workspace_c6713/targets/c6713_fc_1553b";
422
35
  // const fileName = "c6713_fc_1553b.skyeye";
423
36
  // const skyeyeDir = "D:/install/skyeye/opt/skyeye/bin/skyeye.exe"
424
37
 
425
38
 
426
- // const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', '50051');
427
-
39
+ // const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', 50061);
428
40
  // const response =await client.getCurrentRunningState()
41
+ // console.log("response:", response)
429
42
  // const response = await client.getMemoryValueDefault("128","4")
430
43
  // const response = await client.getGlobalVarValueDefault("number_a","int")
431
44
  // const response = await client.setGlobalVarValueDefault("number_a", "int", "12")
432
45
 
433
46
  // const response = await client.getDeviceTree()
434
47
 
435
-
436
48
  // const response = await client.getMemoryValueDefault("10001", "1")
437
49
  // console.log("response:", response)
438
50
  // console.log("response:", response.boardMap)
439
51
  // console.log("response:", response.boardMap.keys[0])
440
- }
441
-
442
-
443
-
444
-
445
-
446
-
447
-
448
-
449
-
450
- async function testMutil() {
451
-
452
- const pathSkyEye = "D:/data/case/workspace_c6713/targets/c6713_fc_1553b";
453
- const fileName = "c6713_fc_1553b.skyeye";
454
- const skyeyeDir = "D:/install/skyeye/opt/skyeye/bin/skyeye.exe"
455
- const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', '50051');
456
-
457
-
458
- //启动多个skyeye
459
- const count = 5;
460
- const map = new Map<number, any>;
461
- for (let i = 1; i < count; i++) {
462
- const port = 50050 + i
463
- const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', port.toString());
464
- await client.initSkyEyeAndRun2(pathSkyEye, fileName, port.toString(), skyeyeDir)
465
- await client.RunTestcase(json)
466
- await client.runCommand()
467
- const res = await client.getCurrentRunningState()
468
- console.log("state3:", res.state)
469
- map.set(port, client);
470
- }
471
- for (let i = 1; i < count; i++) {
472
- setTimeout(async () => {
473
- const port = 50050 + i
474
- const client = map.get(port)
475
- await client.quitCommand()
476
- }, i * 5000)
477
- }
478
-
479
- setTimeout(async () => {
480
- // await map.get(50051).stopGrpcService("")
481
- await map.get(50051).quitCommand()
482
- }, 2000)
483
-
484
- setTimeout(async () => {
485
- // await map.get(50052).stopGrpcService("")
486
- await map.get(50052).quitCommand()
487
- }, 5000)
488
-
489
- setTimeout(async () => {
490
- // await map.get(50053).stopGrpcService("")
491
- await map.get(50053).quitCommand()
492
- }, 8000)
52
+
53
+ // await client.initSkyEyeAndRun(pathSkyEye,fileName,port,skyeyeDir);
493
54
 
494
- setTimeout(async () => {
495
- // await map.get(50054).stopGrpcService("")
496
- await map.get(50054).quitCommand()
497
- }, 11000)
55
+ // const pathSkyEye = "D:/data/case/FMQL45T900_SylixOS";
56
+ // const fileName = "FMQL45T900_SylixOS.skyeye";
57
+ // const skyeyeDir = "D:/install/SkyEye/opt/skyeye/bin/skyeye.exe"
58
+ // const port = "50066"
59
+
60
+ const pathSkyEye = "D:/data/case/c6713_timer_test";
61
+ const fileName = "c6k.skyeye";
62
+ const skyeyeDir = "D:/install/SkyEye/opt/skyeye/bin/skyeye.exe"
63
+ const port = "50053"
64
+ const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', port);
65
+ const t = await client.initSkyEyeAndRun2(pathSkyEye, fileName, port, skyeyeDir)
66
+ client.runCommand();
67
+ const response = await client.runToTime("c67x_core_0","1");
68
+ console.log("response:", response)
69
+
70
+ // const responseCpuList = await client.getCpuList()
71
+ // console.log("responseCpuList:", responseCpuList)
72
+
73
+ // const client = SkyEyeClientFactory.instance.createClient('127.0.0.1', 50056);
74
+ // const cpuname = "fmql45t900_0_fmql45t900_core_0";
75
+ // const response = await client.getCpuFreq(cpuname)
76
+
77
+ // { name: 'SE_get_cpu_freq_hz', result: 200000000, error: null }
78
+
498
79
  }
80
+ test()