skyeye-sdk-js 1.0.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.
Files changed (147) hide show
  1. package/.npmjgnore +2 -0
  2. package/dist/GrpcUtil.d.ts +9 -0
  3. package/dist/GrpcUtil.js +55 -0
  4. package/dist/JsonRequest.d.ts +10 -0
  5. package/dist/JsonRequest.js +29 -0
  6. package/dist/JsonResponse.d.ts +12 -0
  7. package/dist/JsonResponse.js +36 -0
  8. package/dist/RequestFactory.d.ts +35 -0
  9. package/dist/RequestFactory.js +257 -0
  10. package/dist/SkyEyeClient.d.ts +70 -0
  11. package/dist/SkyEyeClient.js +831 -0
  12. package/dist/SkyEyeClientFactory.d.ts +10 -0
  13. package/dist/SkyEyeClientFactory.js +53 -0
  14. package/dist/exception/SkyEyeSDKException.d.ts +3 -0
  15. package/dist/exception/SkyEyeSDKException.js +13 -0
  16. package/dist/models/Board.d.ts +9 -0
  17. package/dist/models/Board.js +15 -0
  18. package/dist/models/Cpu.d.ts +14 -0
  19. package/dist/models/Cpu.js +47 -0
  20. package/dist/models/CpuInterface.d.ts +13 -0
  21. package/dist/models/CpuInterface.js +2 -0
  22. package/dist/models/Device.d.ts +38 -0
  23. package/dist/models/Device.js +26 -0
  24. package/dist/models/DeviceInterface.d.ts +12 -0
  25. package/dist/models/DeviceInterface.js +2 -0
  26. package/dist/models/DeviceState.d.ts +4 -0
  27. package/dist/models/DeviceState.js +8 -0
  28. package/dist/models/FaultInjectItem.d.ts +11 -0
  29. package/dist/models/FaultInjectItem.js +16 -0
  30. package/dist/models/FaultInjectItemInterface.d.ts +9 -0
  31. package/dist/models/FaultInjectItemInterface.js +2 -0
  32. package/dist/models/FaultInjectType.d.ts +11 -0
  33. package/dist/models/FaultInjectType.js +25 -0
  34. package/dist/models/GlobalVarType.d.ts +5 -0
  35. package/dist/models/GlobalVarType.js +9 -0
  36. package/dist/models/InstructionItem.d.ts +5 -0
  37. package/dist/models/InstructionItem.js +6 -0
  38. package/dist/models/Node.d.ts +4 -0
  39. package/dist/models/Node.js +2 -0
  40. package/dist/models/Register.d.ts +38 -0
  41. package/dist/models/Register.js +32 -0
  42. package/dist/models/RegisterInterface.d.ts +10 -0
  43. package/dist/models/RegisterInterface.js +2 -0
  44. package/dist/requests/BaseRequest.d.ts +13 -0
  45. package/dist/requests/BaseRequest.js +18 -0
  46. package/dist/response/BaseResponse.d.ts +5 -0
  47. package/dist/response/BaseResponse.js +7 -0
  48. package/dist/response/GetAllDeviceInfoResponse.d.ts +5 -0
  49. package/dist/response/GetAllDeviceInfoResponse.js +11 -0
  50. package/dist/response/GetCpuListResponse.d.ts +8 -0
  51. package/dist/response/GetCpuListResponse.js +18 -0
  52. package/dist/response/GetCpuRegisterInfoResponse.d.ts +6 -0
  53. package/dist/response/GetCpuRegisterInfoResponse.js +11 -0
  54. package/dist/response/GetCurrentPCResponse.d.ts +4 -0
  55. package/dist/response/GetCurrentPCResponse.js +7 -0
  56. package/dist/response/GetDeviceListResponse.d.ts +6 -0
  57. package/dist/response/GetDeviceListResponse.js +11 -0
  58. package/dist/response/GetDeviceTreeResponse.d.ts +5 -0
  59. package/dist/response/GetDeviceTreeResponse.js +11 -0
  60. package/dist/response/GetDisassembleInfoResponse.d.ts +5 -0
  61. package/dist/response/GetDisassembleInfoResponse.js +7 -0
  62. package/dist/response/GetFaultInjectListResponse.d.ts +8 -0
  63. package/dist/response/GetFaultInjectListResponse.js +18 -0
  64. package/dist/response/GetRamAddrInfoResponse.d.ts +5 -0
  65. package/dist/response/GetRamAddrInfoResponse.js +7 -0
  66. package/dist/response/GetRunningStateResponse.d.ts +14 -0
  67. package/dist/response/GetRunningStateResponse.js +25 -0
  68. package/dist/utils/ParseBoardUtils.d.ts +6 -0
  69. package/dist/utils/ParseBoardUtils.js +108 -0
  70. package/index.js +9 -0
  71. package/package.json +35 -0
  72. package/src/GrpcUtil.js +55 -0
  73. package/src/GrpcUtil.ts +76 -0
  74. package/src/JsonRequest.js +29 -0
  75. package/src/JsonRequest.ts +36 -0
  76. package/src/JsonResponse.js +36 -0
  77. package/src/JsonResponse.ts +46 -0
  78. package/src/RequestFactory.js +257 -0
  79. package/src/RequestFactory.ts +324 -0
  80. package/src/SkyEyeClient.js +831 -0
  81. package/src/SkyEyeClient.ts +772 -0
  82. package/src/SkyEyeClientFactory.js +53 -0
  83. package/src/SkyEyeClientFactory.ts +46 -0
  84. package/src/exception/SkyEyeSDKException.js +13 -0
  85. package/src/exception/SkyEyeSDKException.ts +10 -0
  86. package/src/models/Board.js +15 -0
  87. package/src/models/Board.ts +18 -0
  88. package/src/models/Cpu.js +47 -0
  89. package/src/models/Cpu.ts +56 -0
  90. package/src/models/CpuInterface.js +2 -0
  91. package/src/models/CpuInterface.ts +15 -0
  92. package/src/models/Device.js +26 -0
  93. package/src/models/Device.ts +70 -0
  94. package/src/models/DeviceInterface.js +2 -0
  95. package/src/models/DeviceInterface.ts +14 -0
  96. package/src/models/DeviceState.js +8 -0
  97. package/src/models/DeviceState.ts +4 -0
  98. package/src/models/FaultInjectItem.js +16 -0
  99. package/src/models/FaultInjectItem.ts +33 -0
  100. package/src/models/FaultInjectItemInterface.js +2 -0
  101. package/src/models/FaultInjectItemInterface.ts +10 -0
  102. package/src/models/FaultInjectType.js +25 -0
  103. package/src/models/FaultInjectType.ts +22 -0
  104. package/src/models/GlobalVarType.js +9 -0
  105. package/src/models/GlobalVarType.ts +5 -0
  106. package/src/models/InstructionItem.js +6 -0
  107. package/src/models/InstructionItem.ts +6 -0
  108. package/src/models/Node.js +2 -0
  109. package/src/models/Node.ts +4 -0
  110. package/src/models/Register.js +32 -0
  111. package/src/models/Register.ts +73 -0
  112. package/src/models/RegisterInterface.js +2 -0
  113. package/src/models/RegisterInterface.ts +14 -0
  114. package/src/proto/skyeye_rpc.proto +11 -0
  115. package/src/proto/skyeye_rpc_grpc_pb.d.ts +40 -0
  116. package/src/proto/skyeye_rpc_grpc_pb.js +44 -0
  117. package/src/proto/skyeye_rpc_pb.d.ts +47 -0
  118. package/src/proto/skyeye_rpc_pb.js +322 -0
  119. package/src/requests/BaseRequest.js +18 -0
  120. package/src/requests/BaseRequest.ts +24 -0
  121. package/src/requests/GetRunningStatusRequest.js +10 -0
  122. package/src/response/BaseResponse.js +7 -0
  123. package/src/response/BaseResponse.ts +8 -0
  124. package/src/response/GetAllDeviceInfoResponse.js +11 -0
  125. package/src/response/GetAllDeviceInfoResponse.ts +6 -0
  126. package/src/response/GetCpuListResponse.js +18 -0
  127. package/src/response/GetCpuListResponse.ts +20 -0
  128. package/src/response/GetCpuRegisterInfoResponse.js +11 -0
  129. package/src/response/GetCpuRegisterInfoResponse.ts +10 -0
  130. package/src/response/GetCurrentPCResponse.js +7 -0
  131. package/src/response/GetCurrentPCResponse.ts +6 -0
  132. package/src/response/GetDeviceListResponse.js +11 -0
  133. package/src/response/GetDeviceListResponse.ts +11 -0
  134. package/src/response/GetDeviceTreeResponse.js +11 -0
  135. package/src/response/GetDeviceTreeResponse.ts +6 -0
  136. package/src/response/GetDisassembleInfoResponse.js +7 -0
  137. package/src/response/GetDisassembleInfoResponse.ts +6 -0
  138. package/src/response/GetFaultInjectListResponse.js +18 -0
  139. package/src/response/GetFaultInjectListResponse.ts +20 -0
  140. package/src/response/GetRamAddrInfoResponse.js +7 -0
  141. package/src/response/GetRamAddrInfoResponse.ts +6 -0
  142. package/src/response/GetRunningStateResponse.js +25 -0
  143. package/src/response/GetRunningStateResponse.ts +25 -0
  144. package/src/test.js +43 -0
  145. package/src/utils/ParseBoardUtils.js +108 -0
  146. package/src/utils/ParseBoardUtils.ts +107 -0
  147. package/tsconfig.json +17 -0
@@ -0,0 +1,831 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.SkyEyeClient = void 0;
36
+ const grpc = __importStar(require("@grpc/grpc-js"));
37
+ const skyeye_rpc_grpc_pb_1 = require("./proto/skyeye_rpc_grpc_pb");
38
+ const RequestFactory_1 = require("./RequestFactory");
39
+ const GetCpuListResponse_1 = require("./response/GetCpuListResponse");
40
+ const Cpu_1 = require("./models/Cpu");
41
+ const GetDeviceListResponse_1 = require("./response/GetDeviceListResponse");
42
+ const GetRunningStateResponse_1 = require("./response/GetRunningStateResponse");
43
+ const Register_1 = require("./models/Register");
44
+ const GetDeviceTreeResponse_1 = require("./response/GetDeviceTreeResponse");
45
+ const ParseBoardUtils_1 = require("./utils/ParseBoardUtils");
46
+ const GetAllDeviceInfoResponse_1 = require("./response/GetAllDeviceInfoResponse");
47
+ const GetRamAddrInfoResponse_1 = require("./response/GetRamAddrInfoResponse");
48
+ const Device_1 = require("./models/Device");
49
+ const FaultInjectType_1 = require("./models/FaultInjectType");
50
+ const FaultInjectItem_1 = require("./models/FaultInjectItem");
51
+ const GetFaultInjectListResponse_1 = require("./response/GetFaultInjectListResponse");
52
+ const GetDisassembleInfoResponse_1 = require("./response/GetDisassembleInfoResponse");
53
+ const InstructionItem_1 = require("./models/InstructionItem");
54
+ const GetCpuRegisterInfoResponse_1 = require("./response/GetCpuRegisterInfoResponse");
55
+ const SkyEyeSDKException_1 = require("./exception/SkyEyeSDKException");
56
+ let client = null;
57
+ // ----------------------------当前运行程序的设备树----------------------------------------//
58
+ const boardMap = new Map();
59
+ class SkyEyeClient extends skyeye_rpc_grpc_pb_1.JSONTransmissionClient {
60
+ constructor(host, port) {
61
+ super(host + ":" + port, grpc.credentials.createInsecure());
62
+ this.host = host;
63
+ this.port = port;
64
+ }
65
+ printRequestLog(request) {
66
+ if (request.getRequest() != null) {
67
+ const base = JSON.parse(request.getRequest());
68
+ if (base.request.name === "SE_get_running_status" || base.request.name === "SE_get_all_class_info") {
69
+ return;
70
+ }
71
+ console.log("客户端请求-- ", JSON.stringify(base));
72
+ }
73
+ }
74
+ printResponseLog(ackObj) {
75
+ if (ackObj != null) {
76
+ const name = ackObj.name;
77
+ if (name === "SE_get_running_status" || name === "SE_get_all_class_info") {
78
+ return;
79
+ }
80
+ console.log(`客户端响应-- `, ackObj);
81
+ }
82
+ }
83
+ call(request) {
84
+ const _super = Object.create(null, {
85
+ callSkyEye: { get: () => super.callSkyEye }
86
+ });
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ try {
89
+ this.printRequestLog(request);
90
+ const response = yield new Promise((resolve, reject) => {
91
+ _super.callSkyEye.call(this, request, (error, response) => {
92
+ if (error) {
93
+ reject(error);
94
+ }
95
+ else {
96
+ resolve(response);
97
+ }
98
+ });
99
+ });
100
+ // const res = JSON.parse(response.toString());
101
+ // console.log("res:",res)
102
+ const ackObj = JSON.parse(response.toString()).ack;
103
+ this.printResponseLog(ackObj);
104
+ return ackObj;
105
+ }
106
+ catch (error) {
107
+ console.error("Error during gRPC call:", error);
108
+ throw error;
109
+ }
110
+ });
111
+ }
112
+ runScriptRequest(filename) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ try {
115
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().runScriptRequest(filename));
116
+ }
117
+ catch (error) {
118
+ console.error("Error during runScriptRequest:", error);
119
+ throw error;
120
+ }
121
+ });
122
+ }
123
+ runCommand() {
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ try {
126
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().runCommand());
127
+ }
128
+ catch (error) {
129
+ console.error("Error during runCommand:", error);
130
+ throw error;
131
+ }
132
+ });
133
+ }
134
+ stopCommand() {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ try {
137
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().stopCommand());
138
+ }
139
+ catch (error) {
140
+ console.error("Error during stopCommand:", error);
141
+ throw error;
142
+ }
143
+ });
144
+ }
145
+ quitCommand() {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ try {
148
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().quitCommand());
149
+ }
150
+ catch (error) {
151
+ console.error("Error during quitCommand:", error);
152
+ throw error;
153
+ }
154
+ });
155
+ }
156
+ getCpuList() {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ const response = new GetCpuListResponse_1.GetCpuListResponse();
159
+ try {
160
+ const call = yield this.call(RequestFactory_1.RequestFactory.getInstance().getCpuList());
161
+ if (call != null) {
162
+ response.isSuccess = true;
163
+ if (call.result != null) {
164
+ const cpuItems = new Array();
165
+ call.result.forEach(element => {
166
+ const item = new Cpu_1.Cpu(null);
167
+ if (element.classname) {
168
+ item.setClassName(element.classname);
169
+ }
170
+ if (element.objname) {
171
+ item.setName(element.objname);
172
+ }
173
+ if (element.mach) {
174
+ if (boardMap.has(String(element.mach))) {
175
+ item.setParent(boardMap.get(String(element.mach)));
176
+ }
177
+ }
178
+ cpuItems.push(item);
179
+ });
180
+ response.setCpuList(cpuItems);
181
+ }
182
+ }
183
+ else {
184
+ throw new SkyEyeSDKException_1.SkyEyeSDKException(String(call.error));
185
+ }
186
+ return response;
187
+ }
188
+ catch (error) {
189
+ console.error("Error during getCpuList:", error);
190
+ throw error;
191
+ }
192
+ });
193
+ }
194
+ enableDeviceWork(deviceName) {
195
+ return __awaiter(this, void 0, void 0, function* () {
196
+ try {
197
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().enableDeviceWork(deviceName));
198
+ }
199
+ catch (error) {
200
+ console.error("Error during enableDeviceWork:", error);
201
+ throw error;
202
+ }
203
+ });
204
+ }
205
+ disableDeviceWork(deviceName) {
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ try {
208
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().disableDeviceWork(deviceName));
209
+ }
210
+ catch (error) {
211
+ console.error("Error during disableDeviceWork:", error);
212
+ throw error;
213
+ }
214
+ });
215
+ }
216
+ changeDir(skyeyeProjectRootDir) {
217
+ return __awaiter(this, void 0, void 0, function* () {
218
+ try {
219
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().changeDir(skyeyeProjectRootDir));
220
+ }
221
+ catch (error) {
222
+ console.error("Error during changeDir:", error);
223
+ throw error;
224
+ }
225
+ });
226
+ }
227
+ getRunningDeviceInfo() {
228
+ return __awaiter(this, void 0, void 0, function* () {
229
+ try {
230
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().getRunningDeviceInfo());
231
+ }
232
+ catch (error) {
233
+ console.error("Error during getRunningDeviceInfo:", error);
234
+ throw error;
235
+ }
236
+ });
237
+ }
238
+ getSimulationTime(cpuName) {
239
+ return __awaiter(this, void 0, void 0, function* () {
240
+ try {
241
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().getSimulationTime(cpuName));
242
+ }
243
+ catch (error) {
244
+ console.error("Error during getCurrentSimulationTime:", error);
245
+ throw error;
246
+ }
247
+ });
248
+ }
249
+ getCurrentSimulationTime() {
250
+ return __awaiter(this, void 0, void 0, function* () {
251
+ const cpuList = (yield this.getCpuList()).getCpuList();
252
+ if (cpuList.length > 0) {
253
+ return this.getSimulationTime(cpuList[0].getName());
254
+ }
255
+ else {
256
+ console.error("无法获取cpu,请确认cpu是否存在:");
257
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("无法获取cpu,请确认cpu是否存在:");
258
+ }
259
+ });
260
+ }
261
+ getDeviceList() {
262
+ return __awaiter(this, void 0, void 0, function* () {
263
+ const response = new GetDeviceListResponse_1.GetDeviceListResponse();
264
+ try {
265
+ const call = yield this.call(RequestFactory_1.RequestFactory.getInstance().getDeviceList());
266
+ console.log("getDeviceList:", call);
267
+ if (call != null) {
268
+ response.isSuccess = true;
269
+ const result = call.result;
270
+ if (typeof result === 'object' && result !== null) {
271
+ const objectNode = result;
272
+ const it = Object.entries(objectNode);
273
+ for (const machine of it) {
274
+ const machName = machine[0];
275
+ const devices = machine[1];
276
+ if (typeof devices === 'object' && devices !== null) {
277
+ const deviceNames = Object.keys(devices);
278
+ for (const deviceName of deviceNames) {
279
+ const device = new Device_1.Device(null);
280
+ const items = devices[deviceName];
281
+ device.name = deviceName;
282
+ if (boardMap.has(machName)) {
283
+ device.parent = boardMap.get(machName);
284
+ }
285
+ if (items && items.hasOwnProperty("classname")) {
286
+ device.className = items["classname"];
287
+ }
288
+ response.deviceList.push(device);
289
+ }
290
+ }
291
+ }
292
+ }
293
+ }
294
+ }
295
+ catch (error) {
296
+ console.error("Error during getPC:", error);
297
+ throw error;
298
+ }
299
+ return response;
300
+ });
301
+ }
302
+ getPC(cpuName) {
303
+ return __awaiter(this, void 0, void 0, function* () {
304
+ try {
305
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().getCurrentPC(cpuName));
306
+ }
307
+ catch (error) {
308
+ console.error("Error during getPC:", error);
309
+ throw error;
310
+ }
311
+ });
312
+ }
313
+ getCurrentPC() {
314
+ return __awaiter(this, void 0, void 0, function* () {
315
+ const cpuList = (yield this.getCpuList()).getCpuList();
316
+ if (cpuList != null && cpuList.length > 0) {
317
+ try {
318
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().getCurrentPC(cpuList[0].getName()));
319
+ }
320
+ catch (error) {
321
+ console.error("Error during getCurrentPC:", error);
322
+ throw error;
323
+ }
324
+ }
325
+ else {
326
+ console.error("无法获取cpu,请确认cpu是否存在:");
327
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("无法获取cpu,请确认cpu是否存在:");
328
+ }
329
+ });
330
+ }
331
+ getCpuMips(cpuName) {
332
+ return __awaiter(this, void 0, void 0, function* () {
333
+ try {
334
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().getCpuMips(cpuName));
335
+ }
336
+ catch (error) {
337
+ console.error("Error during getCurrentRunningState:", error);
338
+ throw error;
339
+ }
340
+ });
341
+ }
342
+ getCurrentCpuMips() {
343
+ return __awaiter(this, void 0, void 0, function* () {
344
+ const cpuList = (yield this.getCpuList()).getCpuList();
345
+ console.log("测试", cpuList[0].getName());
346
+ if (cpuList != null && cpuList.length > 0) {
347
+ try {
348
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().getCpuMips(cpuList[0].getName()));
349
+ }
350
+ catch (error) {
351
+ console.error("Error during getCurrentRunningState:", error);
352
+ throw error;
353
+ }
354
+ }
355
+ else {
356
+ console.error("无法获取cpu,请确认cpu是否存在:");
357
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("无法获取cpu,请确认cpu是否存在:");
358
+ }
359
+ });
360
+ }
361
+ getGlobalVarValue(cpuName, varName, bytesNum, valueType) {
362
+ return __awaiter(this, void 0, void 0, function* () {
363
+ try {
364
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().getGlobalVarValue(cpuName, varName, bytesNum, valueType));
365
+ }
366
+ catch (error) {
367
+ console.error("Error during getCurrentRunningState:", error);
368
+ throw error;
369
+ }
370
+ });
371
+ }
372
+ getGlobalVarValueDefault(varName, valueType) {
373
+ return __awaiter(this, void 0, void 0, function* () {
374
+ const cpuList = (yield this.getCpuList()).getCpuList();
375
+ if (cpuList != null && cpuList.length > 0) {
376
+ try {
377
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().getGlobalVarValue(cpuList[0].getName(), varName, 4, valueType));
378
+ }
379
+ catch (error) {
380
+ console.error("Error during getCurrentRunningState:", error);
381
+ throw error;
382
+ }
383
+ }
384
+ else {
385
+ console.error("无法获取cpu,请确认cpu是否存在:");
386
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("无法获取cpu,请确认cpu是否存在:");
387
+ }
388
+ });
389
+ }
390
+ setGlobalVarValue(cpuName, varName, bytesNum, valueType, value) {
391
+ return __awaiter(this, void 0, void 0, function* () {
392
+ try {
393
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().setGlobalVarValue(cpuName, varName, bytesNum, valueType, value));
394
+ }
395
+ catch (error) {
396
+ console.error("Error during getCurrentRunningState:", error);
397
+ throw error;
398
+ }
399
+ });
400
+ }
401
+ setGlobalVarValueDefault(varName, valueType, value) {
402
+ return __awaiter(this, void 0, void 0, function* () {
403
+ const cpuList = (yield this.getCpuList()).getCpuList();
404
+ if (cpuList != null && cpuList.length > 0) {
405
+ try {
406
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().setGlobalVarValue(cpuList[0].getName(), varName, 4, valueType, value));
407
+ }
408
+ catch (error) {
409
+ console.error("Error during getCurrentRunningState:", error);
410
+ throw error;
411
+ }
412
+ }
413
+ else {
414
+ console.error("无法获取cpu,请确认cpu是否存在:");
415
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("无法获取cpu,请确认cpu是否存在:");
416
+ }
417
+ });
418
+ }
419
+ getMemoryValue(cpuName, baseAddr, length) {
420
+ return __awaiter(this, void 0, void 0, function* () {
421
+ try {
422
+ return this.getAddressingSpace(cpuName, baseAddr, length);
423
+ }
424
+ catch (error) {
425
+ console.error("Error during getMemoryValue:", error);
426
+ throw error;
427
+ }
428
+ });
429
+ }
430
+ getAddressingSpace(cpuName, baseAddr, length) {
431
+ return __awaiter(this, void 0, void 0, function* () {
432
+ try {
433
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().getMemoryValue(cpuName, baseAddr, length));
434
+ }
435
+ catch (error) {
436
+ console.error("Error during getAddressingSpace:", error);
437
+ throw error;
438
+ }
439
+ });
440
+ }
441
+ getMemoryValueDefault(baseAddr, length) {
442
+ return __awaiter(this, void 0, void 0, function* () {
443
+ try {
444
+ return this.getAddressingSpaceDefault(baseAddr, length);
445
+ }
446
+ catch (error) {
447
+ console.error("Error during getMemoryValue:", error);
448
+ throw error;
449
+ }
450
+ });
451
+ }
452
+ getAddressingSpaceDefault(baseAddr, length) {
453
+ return __awaiter(this, void 0, void 0, function* () {
454
+ const cpuList = (yield this.getCpuList()).getCpuList();
455
+ if (cpuList != null && cpuList.length > 0) {
456
+ try {
457
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().getMemoryValue(cpuList[0].getName(), baseAddr, length));
458
+ }
459
+ catch (error) {
460
+ console.error("Error during getAddressingSpaceDefault:", error);
461
+ throw error;
462
+ }
463
+ }
464
+ else {
465
+ console.error("无法获取cpu,请确认cpu是否存在:");
466
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("无法获取cpu,请确认cpu是否存在:");
467
+ }
468
+ });
469
+ }
470
+ getCpuRegisters(cpuName) {
471
+ return __awaiter(this, void 0, void 0, function* () {
472
+ const response = new GetCpuRegisterInfoResponse_1.GetCpuRegisterInfoResponse();
473
+ try {
474
+ const call = yield this.call(RequestFactory_1.RequestFactory.getInstance().getcpuRegisterInfo(cpuName));
475
+ if (call != null) {
476
+ response.isSuccess = true;
477
+ const it = call.result;
478
+ it.forEach(item => {
479
+ const register = new Register_1.Register(null);
480
+ register.name = item.name;
481
+ register.bits = item.size;
482
+ register.description = item.desc;
483
+ register.value = item.value;
484
+ register.offset = item.offset;
485
+ response.registers.push(register);
486
+ response.registers.sort((r1, r2) => {
487
+ if (r1.offset == null) {
488
+ return 1;
489
+ }
490
+ if (r2.offset == null) {
491
+ return -1;
492
+ }
493
+ if (r1.offset === r2.offset) {
494
+ return 0;
495
+ }
496
+ return r1.offset - r2.offset > 0 ? 1 : -1;
497
+ });
498
+ });
499
+ }
500
+ else {
501
+ throw new SkyEyeSDKException_1.SkyEyeSDKException(String(call.error));
502
+ }
503
+ }
504
+ catch (error) {
505
+ console.error("Error during getCpuRegistersDefault:", error);
506
+ throw error;
507
+ }
508
+ return response;
509
+ });
510
+ }
511
+ getCpuRegistersDefault() {
512
+ return __awaiter(this, void 0, void 0, function* () {
513
+ const cpuList = (yield this.getCpuList()).getCpuList();
514
+ if (cpuList != null && cpuList.length > 0) {
515
+ try {
516
+ return yield this.getCpuRegisters(cpuList[0].getName());
517
+ }
518
+ catch (error) {
519
+ console.error("Error during getCpuRegistersDefault:", error);
520
+ throw error;
521
+ }
522
+ }
523
+ else {
524
+ console.error("无法获取cpu,请确认cpu是否存在:");
525
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("无法获取cpu,请确认cpu是否存在:");
526
+ }
527
+ });
528
+ }
529
+ setCpuRegisterValueDefault(register, value) {
530
+ return __awaiter(this, void 0, void 0, function* () {
531
+ try {
532
+ return yield this.setCpuRegisterValue(register.getParent().getParent().getName(), register.getParent().getName(), register.getName(), value);
533
+ }
534
+ catch (error) {
535
+ console.error("Error during getCpuRegistersDefault:", error);
536
+ throw error;
537
+ }
538
+ });
539
+ }
540
+ setCpuRegisterValue(boardName, cpuName, registerName, value) {
541
+ return __awaiter(this, void 0, void 0, function* () {
542
+ const deviceTree = yield this.getDeviceTree();
543
+ if (!deviceTree.boardMap.has(boardName)) {
544
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("未能找到该板卡");
545
+ }
546
+ const board = boardMap.get(boardName);
547
+ const deviceMap = board.getDeveceMap();
548
+ if (!deviceMap.has(cpuName) || !(deviceMap.get(cpuName) instanceof Cpu_1.Cpu)) {
549
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("未能找到该设备");
550
+ }
551
+ const cpu = deviceMap.get(cpuName);
552
+ try {
553
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().setRegisterValue(cpu.getParent().getName(), cpuName, registerName, value));
554
+ }
555
+ catch (error) {
556
+ console.error("Error during getAddressingSpace:", error);
557
+ throw error;
558
+ }
559
+ });
560
+ }
561
+ getDeviceTree() {
562
+ return __awaiter(this, void 0, void 0, function* () {
563
+ const state = (yield this.getCurrentRunningState()).getState();
564
+ if (GetRunningStateResponse_1.StateState.UNLOADED === state || GetRunningStateResponse_1.StateState.QUITED === state) {
565
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("当前SkyEye未加载配置,需要加载配置可以获取设备树信息,请检查当前配置");
566
+ }
567
+ const response = new GetDeviceTreeResponse_1.GetDeviceTreeResponse();
568
+ try {
569
+ const call = yield this.call(RequestFactory_1.RequestFactory.getInstance().getDeviceTree());
570
+ console.log("call:", call);
571
+ if (call.result != null) {
572
+ const boardMap = ParseBoardUtils_1.ParseBoardUtils.parseBoard(call.result);
573
+ response.boardMap = boardMap;
574
+ response.isSuccess = true;
575
+ }
576
+ else {
577
+ throw new SkyEyeSDKException_1.SkyEyeSDKException(String(call.error));
578
+ }
579
+ }
580
+ catch (error) {
581
+ console.error("Error during getAddressingSpace:", error);
582
+ throw error;
583
+ }
584
+ return response;
585
+ });
586
+ }
587
+ getCurrentRunningState() {
588
+ return __awaiter(this, void 0, void 0, function* () {
589
+ const response = new GetRunningStateResponse_1.GetRunningStateResponse();
590
+ try {
591
+ const call = yield this.call(RequestFactory_1.RequestFactory.getInstance().getRunningStatus());
592
+ // { result: 2, error: null, name: 'SE_get_running_status' }
593
+ if (call != null) {
594
+ response.isSuccess = true;
595
+ switch (call.result) {
596
+ case 1:
597
+ response.setState(GetRunningStateResponse_1.StateState.UNLOADED);
598
+ break;
599
+ case 2:
600
+ response.setState(GetRunningStateResponse_1.StateState.RUNNING);
601
+ break;
602
+ case 3:
603
+ response.setState(GetRunningStateResponse_1.StateState.STOPPED);
604
+ break;
605
+ }
606
+ }
607
+ else {
608
+ throw new SkyEyeSDKException_1.SkyEyeSDKException(String(call.error));
609
+ }
610
+ }
611
+ catch (error) {
612
+ console.error("Error during getCurrentRunningState:", error);
613
+ throw error;
614
+ }
615
+ return response;
616
+ });
617
+ }
618
+ getAllDeviceInfo() {
619
+ return __awaiter(this, void 0, void 0, function* () {
620
+ const response = new GetAllDeviceInfoResponse_1.GetAllDeviceInfoResponse();
621
+ try {
622
+ const call = yield this.call(RequestFactory_1.RequestFactory.getInstance().getAllDeviceInfo());
623
+ if (call != null) {
624
+ response.isSuccess = true;
625
+ const boardMap = ParseBoardUtils_1.ParseBoardUtils.parseBoard(call.result);
626
+ response.boardMap = boardMap;
627
+ }
628
+ else {
629
+ throw new SkyEyeSDKException_1.SkyEyeSDKException(String(call.error));
630
+ }
631
+ }
632
+ catch (error) {
633
+ console.error("Error during getCurrentRunningState:", error);
634
+ throw error;
635
+ }
636
+ return response;
637
+ });
638
+ }
639
+ getRamAddrInfo(machName, addr) {
640
+ return __awaiter(this, void 0, void 0, function* () {
641
+ const response = new GetRamAddrInfoResponse_1.GetRamAddrInfoResponse();
642
+ try {
643
+ const call = yield this.call(RequestFactory_1.RequestFactory.getInstance().getRamAddrInfo(machName, addr));
644
+ if (call.result != null) {
645
+ response.isSuccess = true;
646
+ response.bits = call.result.bits;
647
+ response.value = call.result.value;
648
+ }
649
+ else {
650
+ throw new SkyEyeSDKException_1.SkyEyeSDKException(String(call.error));
651
+ }
652
+ }
653
+ catch (error) {
654
+ console.error("Error during getCurrentRunningState:", error);
655
+ throw error;
656
+ }
657
+ return response;
658
+ });
659
+ }
660
+ setRamFaultInjectDefault(device, addr, bit, mode) {
661
+ return __awaiter(this, void 0, void 0, function* () {
662
+ try {
663
+ return yield this.setRamFaultInject(device.getParent().getName(), device.getName(), addr, bit, mode);
664
+ }
665
+ catch (error) {
666
+ throw error;
667
+ }
668
+ });
669
+ }
670
+ setRamFaultInject(boardName, deviceName, addr, bit, mode) {
671
+ return __awaiter(this, void 0, void 0, function* () {
672
+ try {
673
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().setFaultInject(boardName, deviceName, String(addr), String(bit), mode));
674
+ }
675
+ catch (error) {
676
+ throw error;
677
+ }
678
+ });
679
+ }
680
+ setRegisterFaultInjectDefault(register, bit, mode) {
681
+ return __awaiter(this, void 0, void 0, function* () {
682
+ try {
683
+ return yield this.setRegisterFaultInject(register.getParent().getParent().getName(), register.getParent().getName(), register.baseAddr, bit, mode);
684
+ }
685
+ catch (error) {
686
+ throw error;
687
+ }
688
+ });
689
+ }
690
+ setRegisterFaultInject(boardName, deviceName, addr, bit, mode) {
691
+ return __awaiter(this, void 0, void 0, function* () {
692
+ try {
693
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().setFaultInject(boardName, deviceName, "0x" + String(addr), String(bit), mode));
694
+ }
695
+ catch (error) {
696
+ throw error;
697
+ }
698
+ });
699
+ }
700
+ deleteFaultInjectDefault(faultInjectItem) {
701
+ return __awaiter(this, void 0, void 0, function* () {
702
+ try {
703
+ return yield this.deleteFaultInject(faultInjectItem.boardName, faultInjectItem.deviceName, faultInjectItem.addr, String(faultInjectItem.bit), faultInjectItem.type);
704
+ }
705
+ catch (error) {
706
+ throw error;
707
+ }
708
+ });
709
+ }
710
+ deleteFaultInject(boardName, deviceName, addr, bit, mode) {
711
+ return __awaiter(this, void 0, void 0, function* () {
712
+ try {
713
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().deleteFaultInject(boardName, deviceName, "0x" + String(addr), String(bit), mode));
714
+ }
715
+ catch (error) {
716
+ throw error;
717
+ }
718
+ });
719
+ }
720
+ getFaultInjectList() {
721
+ return __awaiter(this, void 0, void 0, function* () {
722
+ const response = new GetFaultInjectListResponse_1.GetFaultInjectListResponse();
723
+ try {
724
+ const call = yield this.call(RequestFactory_1.RequestFactory.getInstance().getFaultInjectList());
725
+ if (call.result != null) {
726
+ response.isSuccess = true;
727
+ const items = new Array();
728
+ call.result.forEach(item => {
729
+ const faultInjectItem = new FaultInjectItem_1.FaultInjectItem(null);
730
+ if (item != null) {
731
+ faultInjectItem.deviceName = item.get(1);
732
+ faultInjectItem.registerName = item.get(2);
733
+ faultInjectItem.addr = item.get(3);
734
+ faultInjectItem.bit = item.get(4);
735
+ switch (String(item.get(5))) {
736
+ case "0":
737
+ faultInjectItem.type = FaultInjectType_1.FaultInjectType.SET_ZERO;
738
+ break;
739
+ case "1":
740
+ faultInjectItem.type = FaultInjectType_1.FaultInjectType.SET_ONE;
741
+ break;
742
+ case "2":
743
+ faultInjectItem.type = FaultInjectType_1.FaultInjectType.SET_REVE;
744
+ break;
745
+ }
746
+ }
747
+ items.push(faultInjectItem);
748
+ });
749
+ response.faultInjectItems = items;
750
+ }
751
+ }
752
+ catch (error) {
753
+ throw error;
754
+ }
755
+ return response;
756
+ });
757
+ }
758
+ getDisassembleInfo(cpuName, startAddr, nums) {
759
+ return __awaiter(this, void 0, void 0, function* () {
760
+ const response = new GetDisassembleInfoResponse_1.GetDisassembleInfoResponse();
761
+ try {
762
+ const call = yield this.call(RequestFactory_1.RequestFactory.getInstance().getDisassembleInfo(cpuName, startAddr, nums));
763
+ if (call.result != null) {
764
+ response.isSuccess = true;
765
+ const instructionItems = new Array();
766
+ call.result.forEach(item => {
767
+ const instructionItem = new InstructionItem_1.InstructionItem();
768
+ instructionItem.addr = item.get(0);
769
+ instructionItem.func = item.get(1);
770
+ instructionItem.content = item.get(2);
771
+ instructionItems.push(instructionItem);
772
+ });
773
+ response.instructions = instructionItems;
774
+ }
775
+ else {
776
+ throw new SkyEyeSDKException_1.SkyEyeSDKException(String(call.error));
777
+ }
778
+ }
779
+ catch (error) {
780
+ throw error;
781
+ }
782
+ return response;
783
+ });
784
+ }
785
+ getDisassembleInfoDefault(startAddr, nums) {
786
+ return __awaiter(this, void 0, void 0, function* () {
787
+ const cpuList = (yield this.getCpuList()).getCpuList;
788
+ if (cpuList != null && cpuList.length > 0) {
789
+ return this.getDisassembleInfo(cpuList[0].name, startAddr, nums);
790
+ }
791
+ else {
792
+ console.error("无法获取cpu,请确认cpu是否存在:");
793
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("无法获取cpu,请确认cpu是否存在:");
794
+ }
795
+ });
796
+ }
797
+ SingleStep(cpuName) {
798
+ return __awaiter(this, void 0, void 0, function* () {
799
+ try {
800
+ return yield this.call(RequestFactory_1.RequestFactory.getInstance().singleStep(cpuName));
801
+ }
802
+ catch (error) {
803
+ throw error;
804
+ }
805
+ });
806
+ }
807
+ SingleStepDefault() {
808
+ return __awaiter(this, void 0, void 0, function* () {
809
+ const cpuList = (yield this.getCpuList()).getCpuList;
810
+ if (cpuList != null && cpuList.length > 0) {
811
+ return this.SingleStep(cpuList[0].name);
812
+ }
813
+ else {
814
+ console.error("无法获取cpu,请确认cpu是否存在:");
815
+ throw new SkyEyeSDKException_1.SkyEyeSDKException("无法获取cpu,请确认cpu是否存在:");
816
+ }
817
+ });
818
+ }
819
+ close() {
820
+ super.close();
821
+ console.log('gRPC客户端已断开');
822
+ return true;
823
+ }
824
+ getHost() {
825
+ return this.host;
826
+ }
827
+ getPort() {
828
+ return this.port;
829
+ }
830
+ }
831
+ exports.SkyEyeClient = SkyEyeClient;