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,53 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SkyEyeClientFactory = void 0;
13
+ const SkyEyeClient_1 = require("./SkyEyeClient");
14
+ class SkyEyeClientFactory {
15
+ constructor() { }
16
+ static get instance() {
17
+ if (!this._instance) {
18
+ this._instance = new SkyEyeClientFactory();
19
+ }
20
+ return this._instance;
21
+ }
22
+ createClient(ip, port) {
23
+ return new SkyEyeClient_1.SkyEyeClient(ip, port);
24
+ }
25
+ createConnectedClient(ip, port) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ return this.createConnectedClientTime(ip, port, 5);
28
+ });
29
+ }
30
+ createConnectedClientTime(ip, port, time) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ const client = this.createClient(ip, port);
33
+ const startTime = Date.now();
34
+ while (Date.now() - startTime < time * 1000) {
35
+ try {
36
+ const response = client.getCurrentRunningState();
37
+ console.log("response:", response);
38
+ break;
39
+ }
40
+ catch (error) {
41
+ try {
42
+ yield new Promise(resolve => setTimeout(resolve, 100));
43
+ }
44
+ catch (ex) {
45
+ throw new Error(ex);
46
+ }
47
+ }
48
+ }
49
+ return client;
50
+ });
51
+ }
52
+ }
53
+ exports.SkyEyeClientFactory = SkyEyeClientFactory;
@@ -0,0 +1,46 @@
1
+ import { SkyEyeClient } from "./SkyEyeClient";
2
+ import { RequestFactory } from "./RequestFactory";
3
+ import { JSONResponse } from "./proto/skyeye_rpc_pb";
4
+ import { time } from "console";
5
+
6
+ class SkyEyeClientFactory {
7
+ private static _instance: SkyEyeClientFactory;
8
+
9
+ private constructor() { }
10
+
11
+ public static get instance(): SkyEyeClientFactory {
12
+ if (!this._instance) {
13
+ this._instance = new SkyEyeClientFactory();
14
+ }
15
+ return this._instance;
16
+ }
17
+
18
+ public createClient(ip: string, port: string): SkyEyeClient {
19
+ return new SkyEyeClient(ip, port);
20
+ }
21
+
22
+ public async createConnectedClient(ip: string, port: string): Promise<SkyEyeClient> {
23
+ return this.createConnectedClientTime(ip,port,5);
24
+ }
25
+
26
+ public async createConnectedClientTime(ip: string, port: string,time:number): Promise<SkyEyeClient> {
27
+ const client = this.createClient(ip, port);
28
+ const startTime: number = Date.now();
29
+ while (Date.now() - startTime < time * 1000) {
30
+ try {
31
+ const response = client.getCurrentRunningState();
32
+ console.log("response:",response);
33
+ break;
34
+ } catch (error) {
35
+ try {
36
+ await new Promise(resolve => setTimeout(resolve, 100));
37
+ } catch (ex) {
38
+ throw new Error(ex);
39
+ }
40
+ }
41
+ }
42
+ return client;
43
+ }
44
+ }
45
+
46
+ export { SkyEyeClientFactory };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SkyEyeSDKException = void 0;
4
+ // 定义 SkyEyeSDKException 类
5
+ class SkyEyeSDKException extends Error {
6
+ constructor(message) {
7
+ // 调用父类的构造函数
8
+ super(message);
9
+ // 设置类名
10
+ this.name = 'SkyEyeSDKException';
11
+ }
12
+ }
13
+ exports.SkyEyeSDKException = SkyEyeSDKException;
@@ -0,0 +1,10 @@
1
+ // 定义 SkyEyeSDKException 类
2
+ export class SkyEyeSDKException extends Error {
3
+ constructor(message?: string) {
4
+ // 调用父类的构造函数
5
+ super(message);
6
+
7
+ // 设置类名
8
+ this.name = 'SkyEyeSDKException';
9
+ }
10
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Board = void 0;
4
+ class Board {
5
+ getName() {
6
+ return this.name;
7
+ }
8
+ getParent() {
9
+ return null;
10
+ }
11
+ toString() {
12
+ return `Board{name='${this.name}', deviceMap=${this.deviceMap}}`;
13
+ }
14
+ }
15
+ exports.Board = Board;
@@ -0,0 +1,18 @@
1
+ import { Node } from "./Node";
2
+ import { Device } from "./Device";
3
+
4
+ export class Board implements Node {
5
+ getName(): string {
6
+ return this.name;
7
+ }
8
+ name: string;
9
+ deviceMap: Map<string, Device>;
10
+
11
+ getParent(): Node | null {
12
+ return null;
13
+ }
14
+
15
+ toString(): string {
16
+ return `Board{name='${this.name}', deviceMap=${this.deviceMap}}`;
17
+ }
18
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Cpu = void 0;
4
+ const Device_1 = require("./Device");
5
+ class Cpu extends Device_1.Device {
6
+ /**
7
+ * CPU类型
8
+ */
9
+ // private className: string;
10
+ getClassName() {
11
+ return this.className;
12
+ }
13
+ setClassName(className) {
14
+ this.className = className;
15
+ }
16
+ setName(name) {
17
+ this.name = name;
18
+ }
19
+ setParent(parent) {
20
+ this.parent = parent;
21
+ }
22
+ constructor(info) {
23
+ if (info) {
24
+ super(info);
25
+ this.className = info.className;
26
+ }
27
+ else {
28
+ super(null);
29
+ }
30
+ }
31
+ // constructor(
32
+ // className: string,
33
+ // name: string,
34
+ // parent: Node | null,
35
+ // registerMap: Map<string, Register>,
36
+ // baseAddr: number | null,
37
+ // length: number | null,
38
+ // state: DeviceState
39
+ // ) {
40
+ // super(name, parent, registerMap, baseAddr, length, 'Cpu', state);
41
+ // this.className = className;
42
+ // }
43
+ toString() {
44
+ return `Cpu{className='${this.className}', name='${this.name}', parent=${this.parent != null ? this.parent.getName() : null}, registerMap=${this.registerMap}, state=${this.state}}`;
45
+ }
46
+ }
47
+ exports.Cpu = Cpu;
@@ -0,0 +1,56 @@
1
+ import { Device } from './Device';
2
+ import { Node } from './Node';
3
+ import { Register } from './Register';
4
+ import { DeviceState } from './DeviceState';
5
+ import { CpuInterface } from './CpuInterface';
6
+
7
+ export class Cpu extends Device implements Node {
8
+ /**
9
+ * CPU类型
10
+ */
11
+ // private className: string;
12
+
13
+ public getClassName(): string {
14
+ return this.className;
15
+ }
16
+ public setClassName(className: string) {
17
+ this.className = className;
18
+ }
19
+
20
+
21
+ public setName(name: string) {
22
+ this.name = name;
23
+ }
24
+
25
+ public setParent(parent: Node) {
26
+ this.parent = parent;
27
+ }
28
+
29
+
30
+ constructor(info: CpuInterface | null
31
+ ) {
32
+ if (info) {
33
+ super(info);
34
+ this.className = info.className;
35
+ } else {
36
+ super(null);
37
+ }
38
+ }
39
+
40
+ // constructor(
41
+ // className: string,
42
+ // name: string,
43
+ // parent: Node | null,
44
+ // registerMap: Map<string, Register>,
45
+ // baseAddr: number | null,
46
+ // length: number | null,
47
+ // state: DeviceState
48
+ // ) {
49
+ // super(name, parent, registerMap, baseAddr, length, 'Cpu', state);
50
+ // this.className = className;
51
+ // }
52
+
53
+ public toString(): string {
54
+ return `Cpu{className='${this.className}', name='${this.name}', parent=${this.parent != null ? this.parent.getName() : null}, registerMap=${this.registerMap}, state=${this.state}}`;
55
+ }
56
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+
2
+ import { Register } from './Register';
3
+ import { DeviceState } from './DeviceState';
4
+ import { Node } from './Node';
5
+ import { DeviceInterface } from './DeviceInterface';
6
+
7
+ export interface CpuInterface extends DeviceInterface{
8
+ className: string,
9
+ name: string,
10
+ parent: Node | null,
11
+ registerMap: Map<string, Register>,
12
+ baseAddr: number | null,
13
+ length: number | null,
14
+ state: DeviceState
15
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Device = void 0;
4
+ class Device {
5
+ getName() {
6
+ return this.name;
7
+ }
8
+ getParent() {
9
+ return this.parent;
10
+ }
11
+ constructor(info) {
12
+ if (info) {
13
+ this.name = info.name;
14
+ this.parent = info.parent;
15
+ this.registerMap = info.registerMap;
16
+ this.baseAddr = info.baseAddr;
17
+ this.length = info.length;
18
+ this.className = info.className;
19
+ this.state = info.state;
20
+ }
21
+ }
22
+ toString() {
23
+ return `Device{name='${this.name}', parent=${this.parent != null ? this.parent.getName() : null}, registerMap=${this.registerMap}, baseAddr=${this.baseAddr}, length=${this.length}, className='${this.className}', state=${this.state}}`;
24
+ }
25
+ }
26
+ exports.Device = Device;
@@ -0,0 +1,70 @@
1
+ import { Node } from './Node';
2
+ import { Register } from './Register';
3
+ import { DeviceState } from './DeviceState';
4
+ import { DeviceInterface } from './DeviceInterface';
5
+
6
+ export class Device implements Node {
7
+ /**
8
+ * 设备名称
9
+ */
10
+ public name: string;
11
+
12
+ /**
13
+ * 设备所在单板
14
+ */
15
+ public parent: Node | null;
16
+
17
+ /**
18
+ * 设备上的寄存器列表
19
+ */
20
+ public registerMap: Map<string, Register>;
21
+
22
+ /**
23
+ * 设备的基地址
24
+ */
25
+ public baseAddr: number | null;
26
+
27
+ /**
28
+ * 设备的地址长度
29
+ */
30
+ public length: number | null;
31
+
32
+ /**
33
+ * 设备类型
34
+ */
35
+ public className: string;
36
+
37
+ /**
38
+ * 设备状态
39
+ */
40
+ public state: DeviceState;
41
+
42
+ public getName(): string {
43
+ return this.name;
44
+ }
45
+
46
+
47
+
48
+
49
+ public getParent(): Node | null {
50
+ return this.parent;
51
+ }
52
+
53
+ constructor(
54
+ info: DeviceInterface | null
55
+ ) {
56
+ if (info) {
57
+ this.name = info.name;
58
+ this.parent = info.parent;
59
+ this.registerMap = info.registerMap;
60
+ this.baseAddr = info.baseAddr;
61
+ this.length = info.length;
62
+ this.className = info.className;
63
+ this.state = info.state;
64
+ }
65
+ }
66
+
67
+ public toString(): string {
68
+ return `Device{name='${this.name}', parent=${this.parent != null ? this.parent.getName() : null}, registerMap=${this.registerMap}, baseAddr=${this.baseAddr}, length=${this.length}, className='${this.className}', state=${this.state}}`;
69
+ }
70
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+
2
+ import { Register } from './Register';
3
+ import { DeviceState } from './DeviceState';
4
+ import { Node } from './Node';
5
+
6
+ export interface DeviceInterface{
7
+ name: string,
8
+ parent: Node | null,
9
+ registerMap: Map<string, Register>,
10
+ baseAddr: number | null,
11
+ length: number | null,
12
+ className: string,
13
+ state: DeviceState
14
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceState = void 0;
4
+ var DeviceState;
5
+ (function (DeviceState) {
6
+ DeviceState[DeviceState["ENABLE"] = 1] = "ENABLE";
7
+ DeviceState[DeviceState["DISABLE"] = 0] = "DISABLE";
8
+ })(DeviceState || (exports.DeviceState = DeviceState = {}));
@@ -0,0 +1,4 @@
1
+ export enum DeviceState {
2
+ ENABLE = 1,
3
+ DISABLE = 0
4
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FaultInjectItem = void 0;
4
+ class FaultInjectItem {
5
+ constructor(info) {
6
+ if (info) {
7
+ this.boardName = info.boardName;
8
+ this.deviceName = info.deviceName;
9
+ this.registerName = info.registerName;
10
+ this.addr = info.addr;
11
+ this.bit = info.bit;
12
+ this.type = info.type;
13
+ }
14
+ }
15
+ }
16
+ exports.FaultInjectItem = FaultInjectItem;
@@ -0,0 +1,33 @@
1
+ import { FaultInjectItemInterface } from "./FaultInjectItemInterface";
2
+ import { FaultInjectType } from "./FaultInjectType";
3
+
4
+ export class FaultInjectItem {
5
+ // 故障注入的板子名
6
+ boardName: string;
7
+ // 故障注入的设备名
8
+ deviceName: string;
9
+ // 故障注入的寄存器名
10
+ registerName: string;
11
+ // 故障注入的地址
12
+ addr: number;
13
+ // 故障注入的位
14
+ bit: number;
15
+ // 故障注入的类型
16
+ type: FaultInjectType;
17
+
18
+ constructor(
19
+ info: FaultInjectItemInterface | null
20
+ ) {
21
+ if(info){
22
+ this.boardName = info.boardName;
23
+ this.deviceName = info.deviceName;
24
+ this.registerName = info.registerName;
25
+ this.addr = info.addr;
26
+ this.bit = info.bit;
27
+ this.type = info.type;
28
+ }
29
+ }
30
+
31
+
32
+
33
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import { FaultInjectType } from "./FaultInjectType";
2
+
3
+ export interface FaultInjectItemInterface{
4
+ boardName: string,
5
+ deviceName: string,
6
+ registerName: string,
7
+ addr: number,
8
+ bit: number,
9
+ type: FaultInjectType
10
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFaultInjectTypeByValue = exports.FaultInjectTypeDescription = exports.FaultInjectType = void 0;
4
+ var FaultInjectType;
5
+ (function (FaultInjectType) {
6
+ FaultInjectType["SET_ZERO"] = "0";
7
+ FaultInjectType["SET_ONE"] = "1";
8
+ FaultInjectType["SET_REVE"] = "2";
9
+ })(FaultInjectType || (exports.FaultInjectType = FaultInjectType = {}));
10
+ // 可选的描述信息
11
+ exports.FaultInjectTypeDescription = {
12
+ "0": "置零",
13
+ "1": "置一",
14
+ "2": "取反"
15
+ };
16
+ // 通过值获取故障注入类型
17
+ function getFaultInjectTypeByValue(value) {
18
+ for (const key in FaultInjectType) {
19
+ if (FaultInjectType[key] === value) {
20
+ return key;
21
+ }
22
+ }
23
+ return null;
24
+ }
25
+ exports.getFaultInjectTypeByValue = getFaultInjectTypeByValue;
@@ -0,0 +1,22 @@
1
+ export enum FaultInjectType {
2
+ SET_ZERO = "0",
3
+ SET_ONE = "1",
4
+ SET_REVE = "2"
5
+ }
6
+
7
+ // 可选的描述信息
8
+ export const FaultInjectTypeDescription = {
9
+ "0": "置零",
10
+ "1": "置一",
11
+ "2": "取反"
12
+ };
13
+
14
+ // 通过值获取故障注入类型
15
+ export function getFaultInjectTypeByValue(value: string): FaultInjectType | null {
16
+ for (const key in FaultInjectType) {
17
+ if (FaultInjectType[key] === value) {
18
+ return key as FaultInjectType;
19
+ }
20
+ }
21
+ return null;
22
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GlobalVarType = void 0;
4
+ var GlobalVarType;
5
+ (function (GlobalVarType) {
6
+ GlobalVarType["INT"] = "int";
7
+ GlobalVarType["DOUBLE"] = "double";
8
+ GlobalVarType["FLOAT"] = "float";
9
+ })(GlobalVarType || (exports.GlobalVarType = GlobalVarType = {}));
@@ -0,0 +1,5 @@
1
+ export enum GlobalVarType{
2
+ INT = "int",
3
+ DOUBLE = "double",
4
+ FLOAT = "float"
5
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InstructionItem = void 0;
4
+ class InstructionItem {
5
+ }
6
+ exports.InstructionItem = InstructionItem;
@@ -0,0 +1,6 @@
1
+
2
+ export class InstructionItem {
3
+ public addr: number | undefined
4
+ public func: string | undefined
5
+ public content: string | undefined
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export interface Node {
2
+ getName(): string;
3
+ getParent(): Node | null;
4
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Register = void 0;
4
+ class Register {
5
+ getName() {
6
+ return this.name;
7
+ }
8
+ setName(name) {
9
+ this.name = name;
10
+ }
11
+ getParent() {
12
+ return this.parent;
13
+ }
14
+ setParent(node) {
15
+ this.parent = node;
16
+ }
17
+ constructor(info) {
18
+ if (info) {
19
+ this.name = info.name;
20
+ this.parent = info.parent;
21
+ this.baseAddr = info.baseAddr;
22
+ this.bits = info.bits;
23
+ this.value = info.value;
24
+ this.offset = info.offset;
25
+ this.description = info.description;
26
+ }
27
+ }
28
+ toString() {
29
+ return `Register{name='${this.name}', parent=${this.parent != null ? this.parent.getName() : null}, baseAddr=${this.baseAddr}, offset=${this.offset}, bits=${this.bits}, value=${this.value}, description='${this.description}'}`;
30
+ }
31
+ }
32
+ exports.Register = Register;