motion-master-client 0.0.13 → 0.0.15

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 (121) hide show
  1. package/package.json +17 -2
  2. package/src/index.js +27 -0
  3. package/src/index.js.map +1 -0
  4. package/src/lib/cia402.d.ts +30 -0
  5. package/src/lib/cia402.js +112 -0
  6. package/src/lib/cia402.js.map +1 -0
  7. package/src/lib/device-log-line.d.ts +5 -0
  8. package/src/lib/device-log-line.js +3 -0
  9. package/src/lib/device-log-line.js.map +1 -0
  10. package/src/lib/device-parameter.d.ts +56 -0
  11. package/src/lib/device-parameter.js +39 -0
  12. package/src/lib/device-parameter.js.map +1 -0
  13. package/src/lib/device.d.ts +9 -0
  14. package/src/lib/device.js +3 -0
  15. package/src/lib/device.js.map +1 -0
  16. package/src/lib/hardware-description.d.ts +41 -0
  17. package/src/lib/hardware-description.js +94 -0
  18. package/src/lib/hardware-description.js.map +1 -0
  19. package/src/lib/logger.d.ts +1 -0
  20. package/src/lib/logger.js +8 -0
  21. package/src/lib/logger.js.map +1 -0
  22. package/src/lib/monitoring-config.d.ts +6 -0
  23. package/src/lib/monitoring-config.js +3 -0
  24. package/src/lib/monitoring-config.js.map +1 -0
  25. package/src/lib/{monitoring-entry.ts → monitoring-entry.d.ts} +4 -5
  26. package/src/lib/monitoring-entry.js +3 -0
  27. package/src/lib/monitoring-entry.js.map +1 -0
  28. package/src/lib/motion-master-client.d.ts +30 -0
  29. package/src/lib/motion-master-client.js +90 -0
  30. package/src/lib/motion-master-client.js.map +1 -0
  31. package/src/lib/motion-master-pub-sub-client.d.ts +16 -0
  32. package/src/lib/motion-master-pub-sub-client.js +68 -0
  33. package/src/lib/motion-master-pub-sub-client.js.map +1 -0
  34. package/src/lib/motion-master-pub-sub-socket.d.ts +28 -0
  35. package/src/lib/motion-master-pub-sub-socket.js +3 -0
  36. package/src/lib/motion-master-pub-sub-socket.js.map +1 -0
  37. package/src/lib/motion-master-pub-sub-web-socket.d.ts +13 -0
  38. package/src/lib/motion-master-pub-sub-web-socket.js +61 -0
  39. package/src/lib/motion-master-pub-sub-web-socket.js.map +1 -0
  40. package/src/lib/motion-master-pub-sub-worker-socket.d.ts +13 -0
  41. package/src/lib/motion-master-pub-sub-worker-socket.js +37 -0
  42. package/src/lib/motion-master-pub-sub-worker-socket.js.map +1 -0
  43. package/src/lib/motion-master-req-res-client.d.ts +836 -0
  44. package/src/lib/motion-master-req-res-client.js +1557 -0
  45. package/src/lib/motion-master-req-res-client.js.map +1 -0
  46. package/src/lib/motion-master-req-res-socket.d.ts +46 -0
  47. package/src/lib/motion-master-req-res-socket.js +3 -0
  48. package/src/lib/motion-master-req-res-socket.js.map +1 -0
  49. package/src/lib/motion-master-req-res-web-socket.d.ts +24 -0
  50. package/src/lib/motion-master-req-res-web-socket.js +108 -0
  51. package/src/lib/motion-master-req-res-web-socket.js.map +1 -0
  52. package/src/lib/motion-master-req-res-worker-socket.d.ts +19 -0
  53. package/src/lib/motion-master-req-res-worker-socket.js +61 -0
  54. package/src/lib/motion-master-req-res-worker-socket.js.map +1 -0
  55. package/src/lib/operators.d.ts +21 -0
  56. package/src/lib/operators.js +71 -0
  57. package/src/lib/operators.js.map +1 -0
  58. package/src/lib/options.d.ts +34 -0
  59. package/src/lib/options.js +38 -0
  60. package/src/lib/options.js.map +1 -0
  61. package/src/lib/parameter.d.ts +65 -0
  62. package/src/lib/parameter.js +70 -0
  63. package/src/lib/parameter.js.map +1 -0
  64. package/src/lib/product-id-range.d.ts +7 -0
  65. package/src/lib/product-id-range.js +12 -0
  66. package/src/lib/product-id-range.js.map +1 -0
  67. package/src/lib/request-status-resolver.d.ts +4 -0
  68. package/src/lib/request-status-resolver.js +345 -0
  69. package/src/lib/request-status-resolver.js.map +1 -0
  70. package/src/lib/system-log-line.d.ts +8 -0
  71. package/src/lib/system-log-line.js +3 -0
  72. package/src/lib/system-log-line.js.map +1 -0
  73. package/src/lib/types.d.ts +195 -0
  74. package/src/lib/types.js +23 -0
  75. package/src/lib/types.js.map +1 -0
  76. package/src/lib/urls.d.ts +3 -0
  77. package/src/lib/urls.js +10 -0
  78. package/src/lib/urls.js.map +1 -0
  79. package/src/lib/util.d.ts +30 -0
  80. package/src/lib/util.js +279 -0
  81. package/src/lib/util.js.map +1 -0
  82. package/.babelrc +0 -3
  83. package/.eslintrc.json +0 -18
  84. package/jest.config.ts +0 -15
  85. package/motion-master.proto +0 -1822
  86. package/project.json +0 -41
  87. package/src/lib/cia402.ts +0 -112
  88. package/src/lib/device-log-line.ts +0 -5
  89. package/src/lib/device-parameter.spec.ts +0 -85
  90. package/src/lib/device-parameter.ts +0 -79
  91. package/src/lib/device.ts +0 -10
  92. package/src/lib/examples/get-firmware-version-for-all-devices.ts +0 -18
  93. package/src/lib/hardware-description.spec.ts +0 -253
  94. package/src/lib/hardware-description.ts +0 -84
  95. package/src/lib/logger.ts +0 -5
  96. package/src/lib/monitoring-config.ts +0 -6
  97. package/src/lib/motion-master-client.ts +0 -126
  98. package/src/lib/motion-master-pub-sub-client.ts +0 -94
  99. package/src/lib/motion-master-pub-sub-socket.ts +0 -33
  100. package/src/lib/motion-master-pub-sub-web-socket.ts +0 -71
  101. package/src/lib/motion-master-pub-sub-worker-socket.ts +0 -46
  102. package/src/lib/motion-master-req-res-client.spec.ts +0 -740
  103. package/src/lib/motion-master-req-res-client.ts +0 -1974
  104. package/src/lib/motion-master-req-res-socket.ts +0 -55
  105. package/src/lib/motion-master-req-res-web-socket.ts +0 -131
  106. package/src/lib/motion-master-req-res-worker-socket.ts +0 -75
  107. package/src/lib/operators.ts +0 -93
  108. package/src/lib/options.ts +0 -38
  109. package/src/lib/parameter.spec.ts +0 -81
  110. package/src/lib/parameter.ts +0 -123
  111. package/src/lib/product-id-range.ts +0 -8
  112. package/src/lib/request-status-resolver.ts +0 -403
  113. package/src/lib/system-log-line.ts +0 -8
  114. package/src/lib/types.ts +0 -123
  115. package/src/lib/urls.ts +0 -6
  116. package/src/lib/util.ts +0 -267
  117. package/tsconfig.json +0 -23
  118. package/tsconfig.lib.json +0 -10
  119. package/tsconfig.spec.json +0 -20
  120. package/typedoc.json +0 -10
  121. /package/src/{index.ts → index.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,21 @@
1
1
  {
2
2
  "name": "motion-master-client",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "type": "commonjs",
5
- "description": "A library and CLI program used for communicating with Motion Master."
5
+ "description": "A library and CLI program used for communicating with Motion Master.",
6
+ "dependencies": {
7
+ "fast-deep-equal": "^3.1.3",
8
+ "lodash": "^4.17.21",
9
+ "long": "5.2.1",
10
+ "protobufjs": "^7.2.3",
11
+ "roarr": "^7.14.1",
12
+ "rxjs": "~7.5.0",
13
+ "semver": "7.3.8",
14
+ "uuid": "^9.0.0"
15
+ },
16
+ "peerDependencies": {
17
+ "tslib": "^2.4.0"
18
+ },
19
+ "main": "./src/index.js",
20
+ "types": "./src/index.d.ts"
6
21
  }
package/src/index.js ADDED
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/cia402"), exports);
5
+ tslib_1.__exportStar(require("./lib/device-log-line"), exports);
6
+ tslib_1.__exportStar(require("./lib/device-parameter"), exports);
7
+ tslib_1.__exportStar(require("./lib/hardware-description"), exports);
8
+ tslib_1.__exportStar(require("./lib/monitoring-config"), exports);
9
+ tslib_1.__exportStar(require("./lib/monitoring-entry"), exports);
10
+ tslib_1.__exportStar(require("./lib/motion-master-client"), exports);
11
+ tslib_1.__exportStar(require("./lib/motion-master-pub-sub-client"), exports);
12
+ tslib_1.__exportStar(require("./lib/motion-master-pub-sub-socket"), exports);
13
+ tslib_1.__exportStar(require("./lib/motion-master-pub-sub-web-socket"), exports);
14
+ tslib_1.__exportStar(require("./lib/motion-master-pub-sub-worker-socket"), exports);
15
+ tslib_1.__exportStar(require("./lib/motion-master-req-res-client"), exports);
16
+ tslib_1.__exportStar(require("./lib/motion-master-req-res-socket"), exports);
17
+ tslib_1.__exportStar(require("./lib/motion-master-req-res-web-socket"), exports);
18
+ tslib_1.__exportStar(require("./lib/motion-master-req-res-worker-socket"), exports);
19
+ tslib_1.__exportStar(require("./lib/operators"), exports);
20
+ tslib_1.__exportStar(require("./lib/options"), exports);
21
+ tslib_1.__exportStar(require("./lib/parameter"), exports);
22
+ tslib_1.__exportStar(require("./lib/request-status-resolver"), exports);
23
+ tslib_1.__exportStar(require("./lib/system-log-line"), exports);
24
+ tslib_1.__exportStar(require("./lib/types"), exports);
25
+ tslib_1.__exportStar(require("./lib/urls"), exports);
26
+ tslib_1.__exportStar(require("./lib/util"), exports);
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/motion-master-client/src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,gEAAsC;AACtC,iEAAuC;AACvC,qEAA2C;AAC3C,kEAAwC;AACxC,iEAAuC;AACvC,qEAA2C;AAC3C,6EAAmD;AACnD,6EAAmD;AACnD,iFAAuD;AACvD,oFAA0D;AAC1D,6EAAmD;AACnD,6EAAmD;AACnD,iFAAuD;AACvD,oFAA0D;AAC1D,0DAAgC;AAChC,wDAA8B;AAC9B,0DAAgC;AAChC,wEAA8C;AAC9C,gEAAsC;AACtC,sDAA4B;AAC5B,qDAA2B;AAC3B,qDAA2B"}
@@ -0,0 +1,30 @@
1
+ export declare enum CiA402State {
2
+ NOT_READY_TO_SWITCH_ON = 0,
3
+ SWITCH_ON_DISABLED = 1,
4
+ READY_TO_SWITCH_ON = 2,
5
+ SWITCHED_ON = 3,
6
+ OPERATION_ENABLED = 4,
7
+ QUICK_STOP_ACTIVE = 5,
8
+ FAULT_REACTION_ACTIVE = 6,
9
+ FAULT = 7
10
+ }
11
+ export declare const cia402StateLabels: string[];
12
+ export declare const statuswordToCia402StateMap: Map<number, CiA402State>;
13
+ export declare function getCia402StateFromStatusword(statusword: number): CiA402State | undefined;
14
+ export declare function isInternalLimitActive(statusword: number): boolean;
15
+ export declare enum ModesOfOperation {
16
+ OPEN_LOOP_FIELD_MODE = -3,
17
+ DIAGNOSTICS_MODE = -2,
18
+ COGGING_COMPENSATION_RECORDING_MODE = -1,
19
+ NO_MODE_ASSIGNED = 0,
20
+ PROFILE_POSITION_MODE = 1,
21
+ PROFILE_VELOCITY_MODE = 3,
22
+ TORQUE_PROFILE_MODE = 4,
23
+ HOMING_MODE = 6,
24
+ CYCLIC_SYNC_POSITION_MODE = 8,
25
+ CYCLIC_SYNC_VELOCITY_MODE = 9,
26
+ CYCLIC_SYNC_TORQUE_MODE = 10
27
+ }
28
+ export declare const controlwordBits: string[];
29
+ export declare const statuswordBits: string[];
30
+ export declare const supportedDriveModesBits: string[];
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.supportedDriveModesBits = exports.statuswordBits = exports.controlwordBits = exports.ModesOfOperation = exports.isInternalLimitActive = exports.getCia402StateFromStatusword = exports.statuswordToCia402StateMap = exports.cia402StateLabels = exports.CiA402State = void 0;
4
+ var CiA402State;
5
+ (function (CiA402State) {
6
+ CiA402State[CiA402State["NOT_READY_TO_SWITCH_ON"] = 0] = "NOT_READY_TO_SWITCH_ON";
7
+ CiA402State[CiA402State["SWITCH_ON_DISABLED"] = 1] = "SWITCH_ON_DISABLED";
8
+ CiA402State[CiA402State["READY_TO_SWITCH_ON"] = 2] = "READY_TO_SWITCH_ON";
9
+ CiA402State[CiA402State["SWITCHED_ON"] = 3] = "SWITCHED_ON";
10
+ CiA402State[CiA402State["OPERATION_ENABLED"] = 4] = "OPERATION_ENABLED";
11
+ CiA402State[CiA402State["QUICK_STOP_ACTIVE"] = 5] = "QUICK_STOP_ACTIVE";
12
+ CiA402State[CiA402State["FAULT_REACTION_ACTIVE"] = 6] = "FAULT_REACTION_ACTIVE";
13
+ CiA402State[CiA402State["FAULT"] = 7] = "FAULT";
14
+ })(CiA402State = exports.CiA402State || (exports.CiA402State = {}));
15
+ exports.cia402StateLabels = [
16
+ 'NOT READY TO SWITCH ON',
17
+ 'SWITCH ON DISABLED',
18
+ 'READY TO SWITCH ON',
19
+ 'SWITCHED ON',
20
+ 'OPERATION ENABLED',
21
+ 'QUICK STOP ACTIVE',
22
+ 'FAULT REACTION ACTIVE',
23
+ 'FAULT',
24
+ ];
25
+ exports.statuswordToCia402StateMap = new Map([
26
+ [0b00000000, CiA402State.NOT_READY_TO_SWITCH_ON],
27
+ [0b01000000, CiA402State.SWITCH_ON_DISABLED],
28
+ [0b00100001, CiA402State.READY_TO_SWITCH_ON],
29
+ [0b00100011, CiA402State.SWITCHED_ON],
30
+ [0b00100111, CiA402State.OPERATION_ENABLED],
31
+ [0b00000111, CiA402State.QUICK_STOP_ACTIVE],
32
+ [0b00001111, CiA402State.FAULT_REACTION_ACTIVE],
33
+ [0b00001000, CiA402State.FAULT],
34
+ ]);
35
+ function getCia402StateFromStatusword(statusword) {
36
+ return exports.statuswordToCia402StateMap.get(statusword & 0b01101111)
37
+ || exports.statuswordToCia402StateMap.get(statusword & 0b01001111);
38
+ }
39
+ exports.getCia402StateFromStatusword = getCia402StateFromStatusword;
40
+ function isInternalLimitActive(statusword) {
41
+ return (0x800 & statusword) === 0x800;
42
+ }
43
+ exports.isInternalLimitActive = isInternalLimitActive;
44
+ var ModesOfOperation;
45
+ (function (ModesOfOperation) {
46
+ ModesOfOperation[ModesOfOperation["OPEN_LOOP_FIELD_MODE"] = -3] = "OPEN_LOOP_FIELD_MODE";
47
+ ModesOfOperation[ModesOfOperation["DIAGNOSTICS_MODE"] = -2] = "DIAGNOSTICS_MODE";
48
+ ModesOfOperation[ModesOfOperation["COGGING_COMPENSATION_RECORDING_MODE"] = -1] = "COGGING_COMPENSATION_RECORDING_MODE";
49
+ ModesOfOperation[ModesOfOperation["NO_MODE_ASSIGNED"] = 0] = "NO_MODE_ASSIGNED";
50
+ ModesOfOperation[ModesOfOperation["PROFILE_POSITION_MODE"] = 1] = "PROFILE_POSITION_MODE";
51
+ ModesOfOperation[ModesOfOperation["PROFILE_VELOCITY_MODE"] = 3] = "PROFILE_VELOCITY_MODE";
52
+ ModesOfOperation[ModesOfOperation["TORQUE_PROFILE_MODE"] = 4] = "TORQUE_PROFILE_MODE";
53
+ ModesOfOperation[ModesOfOperation["HOMING_MODE"] = 6] = "HOMING_MODE";
54
+ ModesOfOperation[ModesOfOperation["CYCLIC_SYNC_POSITION_MODE"] = 8] = "CYCLIC_SYNC_POSITION_MODE";
55
+ ModesOfOperation[ModesOfOperation["CYCLIC_SYNC_VELOCITY_MODE"] = 9] = "CYCLIC_SYNC_VELOCITY_MODE";
56
+ ModesOfOperation[ModesOfOperation["CYCLIC_SYNC_TORQUE_MODE"] = 10] = "CYCLIC_SYNC_TORQUE_MODE";
57
+ })(ModesOfOperation = exports.ModesOfOperation || (exports.ModesOfOperation = {}));
58
+ exports.controlwordBits = [
59
+ 'so = switch on',
60
+ 'ev = enable voltage',
61
+ 'qs = quick stop',
62
+ 'eo = enable operation',
63
+ 'oms = operation mode specific',
64
+ 'oms = operation mode specific',
65
+ 'oms = operation mode specific',
66
+ 'fr = fault reset',
67
+ 'h = halt',
68
+ 'oms = operation mode specific',
69
+ 'r = reserved',
70
+ 'ms = manufacturer-specific',
71
+ 'ms = manufacturer-specific',
72
+ 'ms = manufacturer-specific',
73
+ 'ms = manufacturer-specific',
74
+ 'ms = manufacturer-specific',
75
+ ];
76
+ exports.statuswordBits = [
77
+ 'rtso = ready to switch on',
78
+ 'so = switched on',
79
+ 'oe = operation enabled',
80
+ 'f = fault',
81
+ 've = voltage enabled',
82
+ 'qs = quick stop',
83
+ 'sod = switch on disabled',
84
+ 'w = warning',
85
+ 'ms = manufacturer-specific',
86
+ 'rm = remote',
87
+ 'tr = target reached',
88
+ 'ila = internal limit active',
89
+ 'oms = operation-mode-specific',
90
+ 'oms = operation-mode-specific',
91
+ 'ms = manufacturer-specific',
92
+ 'ms = manufacturer-specific',
93
+ ];
94
+ exports.supportedDriveModesBits = [
95
+ 'pp = profile position mode',
96
+ 'vl = velocity mode',
97
+ 'pv = profile velocity mode',
98
+ 'tq = torque mode',
99
+ 'r = reserved',
100
+ 'hm = homing mode',
101
+ 'ip = interpolated position mode',
102
+ 'csp = cyclic synchronous position mode',
103
+ 'csv = cyclic synchronous velocity mode',
104
+ 'cst = cyclic synchronous torque mode',
105
+ 'r = reserved',
106
+ 'r = reserved',
107
+ 'r = reserved',
108
+ 'r = reserved',
109
+ 'r = reserved',
110
+ 'r = reserved',
111
+ ];
112
+ //# sourceMappingURL=cia402.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cia402.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/cia402.ts"],"names":[],"mappings":";;;AAAA,IAAY,WASX;AATD,WAAY,WAAW;IACrB,iFAAsB,CAAA;IACtB,yEAAkB,CAAA;IAClB,yEAAkB,CAAA;IAClB,2DAAW,CAAA;IACX,uEAAiB,CAAA;IACjB,uEAAiB,CAAA;IACjB,+EAAqB,CAAA;IACrB,+CAAK,CAAA;AACP,CAAC,EATW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAStB;AAEY,QAAA,iBAAiB,GAAG;IAC/B,wBAAwB;IACxB,oBAAoB;IACpB,oBAAoB;IACpB,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,uBAAuB;IACvB,OAAO;CACR,CAAC;AAEW,QAAA,0BAA0B,GAAG,IAAI,GAAG,CAAC;IAChD,CAAC,UAAU,EAAE,WAAW,CAAC,sBAAsB,CAAC;IAChD,CAAC,UAAU,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAC5C,CAAC,UAAU,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAC5C,CAAC,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC;IACrC,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC;IAC3C,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC;IAC3C,CAAC,UAAU,EAAE,WAAW,CAAC,qBAAqB,CAAC;IAC/C,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC;CAChC,CAAC,CAAC;AAEH,SAAgB,4BAA4B,CAAC,UAAkB;IAC7D,OAAO,kCAA0B,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;WACzD,kCAA0B,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;AAC/D,CAAC;AAHD,oEAGC;AAED,SAAgB,qBAAqB,CAAC,UAAkB;IACtD,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,KAAK,CAAC;AACxC,CAAC;AAFD,sDAEC;AAED,IAAY,gBAYX;AAZD,WAAY,gBAAgB;IAC1B,wFAAyB,CAAA;IACzB,gFAAqB,CAAA;IACrB,sHAAwC,CAAA;IACxC,+EAAoB,CAAA;IACpB,yFAAyB,CAAA;IACzB,yFAAyB,CAAA;IACzB,qFAAuB,CAAA;IACvB,qEAAe,CAAA;IACf,iGAA6B,CAAA;IAC7B,iGAA6B,CAAA;IAC7B,8FAA4B,CAAA;AAC9B,CAAC,EAZW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAY3B;AAEY,QAAA,eAAe,GAAG;IAC7B,gBAAgB;IAChB,qBAAqB;IACrB,iBAAiB;IACjB,uBAAuB;IACvB,+BAA+B;IAC/B,+BAA+B;IAC/B,+BAA+B;IAC/B,kBAAkB;IAClB,UAAU;IACV,+BAA+B;IAC/B,cAAc;IACd,4BAA4B;IAC5B,4BAA4B;IAC5B,4BAA4B;IAC5B,4BAA4B;IAC5B,4BAA4B;CAC7B,CAAC;AAEW,QAAA,cAAc,GAAG;IAC5B,2BAA2B;IAC3B,kBAAkB;IAClB,wBAAwB;IACxB,WAAW;IACX,sBAAsB;IACtB,iBAAiB;IACjB,0BAA0B;IAC1B,aAAa;IACb,4BAA4B;IAC5B,aAAa;IACb,qBAAqB;IACrB,6BAA6B;IAC7B,+BAA+B;IAC/B,+BAA+B;IAC/B,4BAA4B;IAC5B,4BAA4B;CAC7B,CAAC;AAEW,QAAA,uBAAuB,GAAG;IACrC,4BAA4B;IAC5B,oBAAoB;IACpB,4BAA4B;IAC5B,kBAAkB;IAClB,cAAc;IACd,kBAAkB;IAClB,iCAAiC;IACjC,wCAAwC;IACxC,wCAAwC;IACxC,sCAAsC;IACtC,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;CACf,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface DeviceLogLine {
2
+ time: string;
3
+ level: string;
4
+ message: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=device-log-line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-log-line.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/device-log-line.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { Parameter } from "./parameter";
2
+ export interface DeviceParameter extends Parameter {
3
+ id: string;
4
+ flags?: {
5
+ access?: 'ro' | 'rw' | 'wo';
6
+ category?: 'm' | 'o' | 'c';
7
+ pdoMapping?: 't' | 'r' | 'tr';
8
+ safetyMapping?: 'si' | 'so' | 'sio' | 'sp';
9
+ };
10
+ }
11
+ /**
12
+ * Make device parameter id by providing a device serial number and tuple of index and subindex.
13
+ *
14
+ * @param serialNumber - device serial number from the hardware description file
15
+ * @param tuple - an array of index and subindex
16
+ * @throws {Error} if index or subindex are less than 0
17
+ * @returns combined index and subindex in uppercase hexadecimal format, e.g. "0x60FE:02"
18
+ */
19
+ export declare function makeDeviceParameterId(serialNumber: string, tuple: [(number | null | undefined), (number | null | undefined)]): string;
20
+ /**
21
+ * Make device parameter id by providing a device serial number and object which has index and subindex properties.
22
+ *
23
+ * @param serialNumber - device serial number from the hardware description file
24
+ * @param parameter - an object with optional index and subindex properties
25
+ * @throws {Error} if index or subindex are less than 0
26
+ * @returns combined index and subindex in uppercase hexadecimal format, e.g. "0x60FE:02"
27
+ */
28
+ export declare function makeDeviceParameterId(serialNumber: string, parameter: {
29
+ index?: (number | null);
30
+ subindex?: (number | null);
31
+ }): string;
32
+ /**
33
+ * Make parameter id by providing a device serial number and index and subindex.
34
+ *
35
+ * @param serialNumber - device serial number from the hardware description file
36
+ * @param index - from 0x0000 to 0xFFFF for objects defined in ESI and >0xFFFF for custom object
37
+ * @param subindex - defaults to 0 if not provided
38
+ * @throws {Error} if index or subindex are less than 0
39
+ * @returns combined index and subindex in uppercase hexadecimal format, e.g. "0x60FE:02"
40
+ */
41
+ export declare function makeDeviceParameterId(serialNumber: string, index?: (number | null), subindex?: (number | null)): string;
42
+ /**
43
+ * Example of device parameter id is "0x2110:1A.8502-03-0001353-2115" where:
44
+ * - 0x2110 is object index in hexadecimal format
45
+ * - 1A is subindex in hexadecimal format
46
+ * - 8502-03-0001353-2115 is device serial number from hardware description file
47
+ */
48
+ export declare const deviceParameterIdRegExp: RegExp;
49
+ /**
50
+ * Split device parameter id into parts.
51
+ *
52
+ * @param id - device parameter id like "0x2110:1A.8502-03-0001353-2115"
53
+ * @returns tuple of device serial number, index, and subindex
54
+ */
55
+ export declare function splitDeviceParameterId(id: string): [string, number, number];
56
+ export declare function isDeviceParameterId(id: string): boolean;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDeviceParameterId = exports.splitDeviceParameterId = exports.deviceParameterIdRegExp = exports.makeDeviceParameterId = void 0;
4
+ const parameter_1 = require("./parameter");
5
+ function makeDeviceParameterId(serialNumber, a, b) {
6
+ const parameterId = (0, parameter_1.makeParameterId)(a, b);
7
+ return `${parameterId}.${serialNumber}`;
8
+ }
9
+ exports.makeDeviceParameterId = makeDeviceParameterId;
10
+ /**
11
+ * Example of device parameter id is "0x2110:1A.8502-03-0001353-2115" where:
12
+ * - 0x2110 is object index in hexadecimal format
13
+ * - 1A is subindex in hexadecimal format
14
+ * - 8502-03-0001353-2115 is device serial number from hardware description file
15
+ */
16
+ exports.deviceParameterIdRegExp = /^0x([0-9a-fA-F]{4,}):([0-9a-fA-F]{2})\.([\d-]+)$/;
17
+ /**
18
+ * Split device parameter id into parts.
19
+ *
20
+ * @param id - device parameter id like "0x2110:1A.8502-03-0001353-2115"
21
+ * @returns tuple of device serial number, index, and subindex
22
+ */
23
+ function splitDeviceParameterId(id) {
24
+ const match = id.match(exports.deviceParameterIdRegExp);
25
+ if (!match) {
26
+ throw new Error(`Device parameter id "${id}" doesn't match the regular expression: ${exports.deviceParameterIdRegExp}`);
27
+ }
28
+ return [
29
+ match[3],
30
+ parseInt(match[1], 16),
31
+ parseInt(match[2], 16), // subindex
32
+ ];
33
+ }
34
+ exports.splitDeviceParameterId = splitDeviceParameterId;
35
+ function isDeviceParameterId(id) {
36
+ return exports.deviceParameterIdRegExp.test(id);
37
+ }
38
+ exports.isDeviceParameterId = isDeviceParameterId;
39
+ //# sourceMappingURL=device-parameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-parameter.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/device-parameter.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AA2CzD,SAAgB,qBAAqB,CAAC,YAAoB,EAAE,CAA0I,EAAE,CAAmB;IACzN,MAAM,WAAW,GAAG,IAAA,2BAAe,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,OAAO,GAAG,WAAW,IAAI,YAAY,EAAE,CAAC;AAC1C,CAAC;AAHD,sDAGC;AAED;;;;;GAKG;AACU,QAAA,uBAAuB,GAAG,kDAAkD,CAAC;AAE1F;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,EAAU;IAC/C,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,+BAAuB,CAAC,CAAC;IAEhD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,2CAA2C,+BAAuB,EAAE,CAAC,CAAC;KACjH;IAED,OAAO;QACL,KAAK,CAAC,CAAC,CAAC;QACR,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW;KACpC,CAAC;AACJ,CAAC;AAZD,wDAYC;AAED,SAAgB,mBAAmB,CAAC,EAAU;IAC5C,OAAO,+BAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1C,CAAC;AAFD,kDAEC"}
@@ -0,0 +1,9 @@
1
+ import { HardwareDescription } from "./hardware-description";
2
+ export interface Device {
3
+ id: string;
4
+ deviceAddress: number;
5
+ type?: number;
6
+ position?: number;
7
+ alias?: number;
8
+ hardwareDescription?: HardwareDescription;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/device.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ export interface HardwareComponent {
2
+ name: string;
3
+ version: string;
4
+ serialNumber: string;
5
+ }
6
+ export declare type AssemblyComponent = HardwareComponent;
7
+ export declare type DeviceComponent = HardwareComponent;
8
+ export interface Assembly {
9
+ name: string;
10
+ id: string;
11
+ version: string;
12
+ serialNumber: string;
13
+ components: AssemblyComponent[];
14
+ }
15
+ export interface HardwareDevice {
16
+ name: string;
17
+ id: string;
18
+ version: string;
19
+ keyId: string;
20
+ serialNumber: string;
21
+ macAddress: string;
22
+ components: DeviceComponent[];
23
+ }
24
+ /**
25
+ * @link https://docs.google.com/document/d/1N00-ZjxHkjoWNIsnoTtza9CUHrxm8-e54298DXLuD94
26
+ */
27
+ export interface HardwareDescription {
28
+ fileVersion: string;
29
+ assembly?: Assembly;
30
+ device: HardwareDevice;
31
+ }
32
+ export declare function getIdFromHardwareDescription(hd: HardwareDescription): string;
33
+ export declare function getApiIdentifierFromHardwareDescription(hd: HardwareDescription, skipKeyId?: boolean): string;
34
+ export declare function getNameFromHardwareDescription(hd: HardwareDescription): string;
35
+ export declare function getSerialNumberFromHardwareDescription(hd: HardwareDescription): string;
36
+ export declare function getAllComponentsFromHardwareDescription(hd: HardwareDescription): HardwareComponent[];
37
+ export declare function hardwareComponentsMatch(a: HardwareComponent[], b: HardwareComponent[]): boolean;
38
+ export declare function isHardwareDescriptionCompatibleWithPackageFilename(hardwareDescription: HardwareDescription, packageFilename: string): boolean;
39
+ export declare function getHardwareComponentsFromPackageFilename(packageFilename: string): HardwareComponent[];
40
+ export declare function getVersionFromPackageFilename(packageFilename: string): string | undefined;
41
+ export declare function getApiIdentifierFromPackageFilename(packageFilename: string): string | undefined;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getApiIdentifierFromPackageFilename = exports.getVersionFromPackageFilename = exports.getHardwareComponentsFromPackageFilename = exports.isHardwareDescriptionCompatibleWithPackageFilename = exports.hardwareComponentsMatch = exports.getAllComponentsFromHardwareDescription = exports.getSerialNumberFromHardwareDescription = exports.getNameFromHardwareDescription = exports.getApiIdentifierFromHardwareDescription = exports.getIdFromHardwareDescription = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const semver_1 = require("semver");
6
+ function getIdFromHardwareDescription(hd) {
7
+ return hd.assembly
8
+ ? hd.assembly.id
9
+ : hd.device.id;
10
+ }
11
+ exports.getIdFromHardwareDescription = getIdFromHardwareDescription;
12
+ function getApiIdentifierFromHardwareDescription(hd, skipKeyId = false) {
13
+ let apiId = hd.assembly
14
+ ? `${hd.assembly.id}-${hd.assembly.version}`
15
+ : `${hd.device.id}-${hd.device.version}`;
16
+ if (!skipKeyId && hd.device.keyId) {
17
+ apiId += `-${hd.device.keyId}`;
18
+ }
19
+ return apiId;
20
+ }
21
+ exports.getApiIdentifierFromHardwareDescription = getApiIdentifierFromHardwareDescription;
22
+ function getNameFromHardwareDescription(hd) {
23
+ return hd.assembly
24
+ ? hd.assembly.name
25
+ : hd.device.name;
26
+ }
27
+ exports.getNameFromHardwareDescription = getNameFromHardwareDescription;
28
+ function getSerialNumberFromHardwareDescription(hd) {
29
+ return hd.assembly
30
+ ? hd.assembly.serialNumber
31
+ : hd.device.serialNumber;
32
+ }
33
+ exports.getSerialNumberFromHardwareDescription = getSerialNumberFromHardwareDescription;
34
+ function getAllComponentsFromHardwareDescription(hd) {
35
+ return hd.assembly
36
+ ? [...hd.assembly.components, ...hd.device.components]
37
+ : hd.device.components;
38
+ }
39
+ exports.getAllComponentsFromHardwareDescription = getAllComponentsFromHardwareDescription;
40
+ function hardwareComponentsMatch(a, b) {
41
+ if (a.length === 0 && b.length === 0) {
42
+ return false; // edge case: when both components are empty they don't match since there are no components to compare
43
+ }
44
+ const ac = a.map((c) => `${c.name}-${c.version[0]}`.replace(/\s/g, '').toLocaleLowerCase()).sort();
45
+ const bc = b.map((c) => `${c.name}-${c.version[0]}`.replace(/\s/g, '').toLocaleLowerCase()).sort();
46
+ return (0, lodash_1.isEqual)(ac, bc);
47
+ }
48
+ exports.hardwareComponentsMatch = hardwareComponentsMatch;
49
+ function isHardwareDescriptionCompatibleWithPackageFilename(hardwareDescription, packageFilename) {
50
+ const hdApiId = getApiIdentifierFromHardwareDescription(hardwareDescription);
51
+ const pfApiId = getApiIdentifierFromPackageFilename(packageFilename);
52
+ if (hdApiId && pfApiId) {
53
+ return hdApiId === pfApiId;
54
+ }
55
+ else {
56
+ const pfComponents = getHardwareComponentsFromPackageFilename(packageFilename);
57
+ const hdComponents = getAllComponentsFromHardwareDescription(hardwareDescription);
58
+ return hardwareComponentsMatch(pfComponents, hdComponents);
59
+ }
60
+ }
61
+ exports.isHardwareDescriptionCompatibleWithPackageFilename = isHardwareDescriptionCompatibleWithPackageFilename;
62
+ function getHardwareComponentsFromPackageFilename(packageFilename) {
63
+ if (packageFilename.match(/_Com[^_]+_Core[^_]+_Drive/g)) {
64
+ return packageFilename.split('_').slice(1, 4).map((b) => {
65
+ const p = b.split('-'); // ['ComEtherCAT', 'b']
66
+ return {
67
+ name: p[0],
68
+ serialNumber: '',
69
+ version: p[1],
70
+ };
71
+ });
72
+ }
73
+ else {
74
+ // not all package filenames have components,
75
+ // e.g. 'package_SOMANET-Servo-Node-Circulo-1800_circulo1800_motion-drive_v4.2.0-beta.5.zip'
76
+ return [];
77
+ }
78
+ }
79
+ exports.getHardwareComponentsFromPackageFilename = getHardwareComponentsFromPackageFilename;
80
+ function getVersionFromPackageFilename(packageFilename) {
81
+ const parts = packageFilename.split('_');
82
+ const version = parts[parts.length - 1].replace(/\.zip$/, '').split(/\s+/)[0];
83
+ return semver_1.default.valid(version) ? version : undefined;
84
+ }
85
+ exports.getVersionFromPackageFilename = getVersionFromPackageFilename;
86
+ function getApiIdentifierFromPackageFilename(packageFilename) {
87
+ if (packageFilename.match(/_Com[^_]+_Core[^_]+_Drive/g)) {
88
+ return undefined;
89
+ }
90
+ const [, , apiIdentifier] = packageFilename.split('_');
91
+ return apiIdentifier;
92
+ }
93
+ exports.getApiIdentifierFromPackageFilename = getApiIdentifierFromPackageFilename;
94
+ //# sourceMappingURL=hardware-description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hardware-description.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/hardware-description.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AACjC,mCAA4B;AAsC5B,SAAgB,4BAA4B,CAAC,EAAuB;IAClE,OAAO,EAAE,CAAC,QAAQ;QAChB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;QAChB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AACnB,CAAC;AAJD,oEAIC;AAED,SAAgB,uCAAuC,CAAC,EAAuB,EAAE,SAAS,GAAG,KAAK;IAChG,IAAI,KAAK,GAAG,EAAE,CAAC,QAAQ;QACrB,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC5C,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAE3C,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;QACjC,KAAK,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;KAChC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAVD,0FAUC;AAED,SAAgB,8BAA8B,CAAC,EAAuB;IACpE,OAAO,EAAE,CAAC,QAAQ;QAChB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI;QAClB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAJD,wEAIC;AAED,SAAgB,sCAAsC,CAAC,EAAuB;IAC5E,OAAO,EAAE,CAAC,QAAQ;QAChB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY;QAC1B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;AAC7B,CAAC;AAJD,wFAIC;AAED,SAAgB,uCAAuC,CAAC,EAAuB;IAC7E,OAAO,EAAE,CAAC,QAAQ;QAChB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;QACtD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAJD,0FAIC;AAED,SAAgB,uBAAuB,CAAC,CAAsB,EAAE,CAAsB;IACpF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,OAAO,KAAK,CAAC,CAAC,sGAAsG;KACrH;IAED,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnG,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnG,OAAO,IAAA,gBAAO,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC;AATD,0DASC;AAED,SAAgB,kDAAkD,CAAC,mBAAwC,EAAE,eAAuB;IAClI,MAAM,OAAO,GAAG,uCAAuC,CAAC,mBAAmB,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,mCAAmC,CAAC,eAAe,CAAC,CAAC;IAErE,IAAI,OAAO,IAAI,OAAO,EAAE;QACtB,OAAO,OAAO,KAAK,OAAO,CAAC;KAC5B;SAAM;QACL,MAAM,YAAY,GAAG,wCAAwC,CAAC,eAAe,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,uCAAuC,CAAC,mBAAmB,CAAC,CAAC;QAClF,OAAO,uBAAuB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;KAC5D;AACH,CAAC;AAXD,gHAWC;AAED,SAAgB,wCAAwC,CAAC,eAAuB;IAC9E,IAAI,eAAe,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE;QACvD,OAAO,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB;YAC/C,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACV,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;aACO,CAAC;QACzB,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,6CAA6C;QAC7C,4FAA4F;QAC5F,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAfD,4FAeC;AAED,SAAgB,6BAA6B,CAAC,eAAuB;IACnE,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAJD,sEAIC;AAED,SAAgB,mCAAmC,CAAC,eAAuB;IACzE,IAAI,eAAe,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE;QACvD,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,CAAC,EAAE,AAAD,EAAG,aAAa,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,OAAO,aAAa,CAAC;AACvB,CAAC;AAND,kFAMC"}
@@ -0,0 +1 @@
1
+ export declare const logger: import("roarr").Logger<import("roarr/dist/src/types").JsonObject>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = void 0;
4
+ const roarr_1 = require("roarr");
5
+ exports.logger = roarr_1.Roarr.child({
6
+ package: '@synapticon/motion-master-client'
7
+ });
8
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/logger.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAEjB,QAAA,MAAM,GAAG,aAAK,CAAC,KAAK,CAAC;IAChC,OAAO,EAAE,kCAAkC;CAC5C,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface MonitoringConfig {
2
+ readonly bufferSize?: number;
3
+ readonly distinct?: boolean;
4
+ readonly messageId: string;
5
+ readonly topic: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=monitoring-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitoring-config.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/monitoring-config.ts"],"names":[],"mappings":""}
@@ -1,10 +1,9 @@
1
1
  import { Observable } from "rxjs";
2
2
  import { MonitoringConfig } from "./monitoring-config";
3
3
  import { MotionMasterMessage, ParameterValueType } from "./types";
4
-
5
4
  export interface MonitoringEntry {
6
- config: MonitoringConfig;
7
- interval: number;
8
- values$: Observable<ParameterValueType[]>;
9
- parameters: MotionMasterMessage.Request.GetDeviceParameterValues.IParameter[];
5
+ config: MonitoringConfig;
6
+ interval: number;
7
+ values$: Observable<ParameterValueType[]>;
8
+ parameters: MotionMasterMessage.Request.GetDeviceParameterValues.IParameter[];
10
9
  }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=monitoring-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitoring-entry.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/monitoring-entry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import { Observable } from "rxjs";
2
+ import { MonitoringConfig } from "./monitoring-config";
3
+ import { MotionMasterPubSubClient } from "./motion-master-pub-sub-client";
4
+ import { MotionMasterPubSubSocket } from "./motion-master-pub-sub-socket";
5
+ import { MotionMasterReqResClient } from "./motion-master-req-res-client";
6
+ import { MotionMasterReqResSocket } from "./motion-master-req-res-socket";
7
+ import { DeviceRef, ParameterValueType } from "./types";
8
+ export declare function createMotionMasterClient(hostname: string): MotionMasterClient;
9
+ export declare class MotionMasterClient {
10
+ readonly reqResSocket: MotionMasterReqResSocket;
11
+ readonly pubSubSocket: MotionMasterPubSubSocket;
12
+ readonly request: MotionMasterReqResClient;
13
+ readonly monitor: MotionMasterPubSubClient;
14
+ constructor(reqResSocket: MotionMasterReqResSocket, pubSubSocket: MotionMasterPubSubSocket);
15
+ /**
16
+ * This observable will emit true when both req/res and pub/sub sockets are opened.
17
+ * If any socket gets closed, this observable will emit false.
18
+ * This is a hot observable that will on subscription emit the last value of sockets opened.
19
+ */
20
+ socketsOpened$: Observable<boolean>;
21
+ /**
22
+ * Client is ready when both req/res and pub/sub sockets are opened.
23
+ * If both sockets are already opened, this function will immediately resolve to true.
24
+ * Otherwise, it will wait up to requestTimeout for both sockets to open, or throw an error.
25
+ */
26
+ whenReady(requestTimeout?: number): Promise<true>;
27
+ startMonitoring(ids: string[] | [DeviceRef, number, number][], interval: number, config?: MonitoringConfig, requestTimeout?: number): Observable<ParameterValueType[]>;
28
+ stopMonitoring(messageId: string): void;
29
+ closeSockets(): void;
30
+ }