motion-master-client 0.0.57 → 0.0.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -1
- package/package.json +21 -6
- package/src/index.js +30 -0
- package/src/index.js.map +1 -0
- package/src/lib/cia402.d.ts +182 -0
- package/src/lib/cia402.js +392 -0
- package/src/lib/cia402.js.map +1 -0
- package/src/lib/config-file.d.ts +13 -0
- package/src/lib/config-file.js +50 -0
- package/src/lib/config-file.js.map +1 -0
- package/src/lib/device-log-line.d.ts +5 -0
- package/src/lib/device-log-line.js +3 -0
- package/src/lib/device-log-line.js.map +1 -0
- package/src/lib/device-parameter.d.ts +56 -0
- package/src/lib/device-parameter.js +39 -0
- package/src/lib/device-parameter.js.map +1 -0
- package/src/lib/device.d.ts +9 -0
- package/src/lib/device.js +3 -0
- package/src/lib/device.js.map +1 -0
- package/src/lib/hardware-description.d.ts +41 -0
- package/src/lib/hardware-description.js +94 -0
- package/src/lib/hardware-description.js.map +1 -0
- package/src/lib/logger.d.ts +1 -0
- package/src/lib/logger.js +8 -0
- package/src/lib/logger.js.map +1 -0
- package/src/lib/monitoring-config.d.ts +6 -0
- package/src/lib/monitoring-config.js +3 -0
- package/src/lib/monitoring-config.js.map +1 -0
- package/src/lib/monitoring-entry.d.ts +9 -0
- package/src/lib/monitoring-entry.js +3 -0
- package/src/lib/monitoring-entry.js.map +1 -0
- package/src/lib/motion-master-client.d.ts +58 -0
- package/src/lib/motion-master-client.js +180 -0
- package/src/lib/motion-master-client.js.map +1 -0
- package/src/lib/motion-master-pub-sub-client.d.ts +17 -0
- package/src/lib/motion-master-pub-sub-client.js +73 -0
- package/src/lib/motion-master-pub-sub-client.js.map +1 -0
- package/src/lib/motion-master-pub-sub-socket.d.ts +42 -0
- package/src/lib/motion-master-pub-sub-socket.js +3 -0
- package/src/lib/motion-master-pub-sub-socket.js.map +1 -0
- package/src/lib/motion-master-pub-sub-web-socket.d.ts +18 -0
- package/src/lib/motion-master-pub-sub-web-socket.js +66 -0
- package/src/lib/motion-master-pub-sub-web-socket.js.map +1 -0
- package/src/lib/motion-master-pub-sub-worker-socket.d.ts +18 -0
- package/src/lib/motion-master-pub-sub-worker-socket.js +48 -0
- package/src/lib/motion-master-pub-sub-worker-socket.js.map +1 -0
- package/src/lib/motion-master-req-res-client.d.ts +965 -0
- package/src/lib/motion-master-req-res-client.js +1755 -0
- package/src/lib/motion-master-req-res-client.js.map +1 -0
- package/src/lib/motion-master-req-res-socket.d.ts +60 -0
- package/src/lib/motion-master-req-res-socket.js +3 -0
- package/src/lib/motion-master-req-res-socket.js.map +1 -0
- package/src/lib/motion-master-req-res-web-socket.d.ts +28 -0
- package/src/lib/motion-master-req-res-web-socket.js +98 -0
- package/src/lib/motion-master-req-res-web-socket.js.map +1 -0
- package/src/lib/motion-master-req-res-worker-socket.d.ts +24 -0
- package/src/lib/motion-master-req-res-worker-socket.js +72 -0
- package/src/lib/motion-master-req-res-worker-socket.js.map +1 -0
- package/src/lib/operators.d.ts +20 -0
- package/src/lib/operators.js +84 -0
- package/src/lib/operators.js.map +1 -0
- package/src/lib/options.d.ts +10 -0
- package/src/lib/options.js +14 -0
- package/src/lib/options.js.map +1 -0
- package/src/lib/parameter.d.ts +112 -0
- package/src/lib/parameter.js +150 -0
- package/src/lib/parameter.js.map +1 -0
- package/src/lib/product-id-range.d.ts +7 -0
- package/src/lib/product-id-range.js +12 -0
- package/src/lib/product-id-range.js.map +1 -0
- package/src/lib/request-status-resolver.d.ts +4 -0
- package/src/lib/request-status-resolver.js +345 -0
- package/src/lib/request-status-resolver.js.map +1 -0
- package/src/lib/system-log-line.d.ts +9 -0
- package/src/lib/system-log-line.js +3 -0
- package/src/lib/system-log-line.js.map +1 -0
- package/src/lib/{types.ts → types.d.ts} +150 -82
- package/src/lib/types.js +29 -0
- package/src/lib/types.js.map +1 -0
- package/src/lib/urls.d.ts +3 -0
- package/src/lib/urls.js +10 -0
- package/src/lib/urls.js.map +1 -0
- package/src/lib/util.d.ts +43 -0
- package/src/lib/util.js +341 -0
- package/src/lib/util.js.map +1 -0
- package/src/lib/web-socket-connection-close-codes.d.ts +8 -0
- package/src/lib/web-socket-connection-close-codes.js +89 -0
- package/src/lib/web-socket-connection-close-codes.js.map +1 -0
- package/.babelrc +0 -3
- package/.eslintrc.json +0 -18
- package/jest.config.ts +0 -16
- package/motion-master.proto +0 -1861
- package/project.json +0 -45
- package/src/lib/cia402.spec.ts +0 -77
- package/src/lib/cia402.ts +0 -414
- package/src/lib/config-file.spec.ts +0 -114
- package/src/lib/config-file.ts +0 -63
- package/src/lib/device-log-line.ts +0 -5
- package/src/lib/device-parameter.spec.ts +0 -85
- package/src/lib/device-parameter.ts +0 -79
- package/src/lib/device.ts +0 -10
- package/src/lib/hardware-description.spec.ts +0 -253
- package/src/lib/hardware-description.ts +0 -129
- package/src/lib/logger.ts +0 -5
- package/src/lib/monitoring-config.ts +0 -6
- package/src/lib/monitoring-entry.ts +0 -10
- package/src/lib/motion-master-client.ts +0 -266
- package/src/lib/motion-master-pub-sub-client.ts +0 -100
- package/src/lib/motion-master-pub-sub-socket.ts +0 -46
- package/src/lib/motion-master-pub-sub-web-socket.ts +0 -77
- package/src/lib/motion-master-pub-sub-worker-socket.ts +0 -57
- package/src/lib/motion-master-req-res-client.spec.ts +0 -740
- package/src/lib/motion-master-req-res-client.ts +0 -2211
- package/src/lib/motion-master-req-res-socket.ts +0 -68
- package/src/lib/motion-master-req-res-web-socket.ts +0 -123
- package/src/lib/motion-master-req-res-worker-socket.ts +0 -89
- package/src/lib/operators.ts +0 -108
- package/src/lib/options.ts +0 -12
- package/src/lib/parameter.spec.ts +0 -160
- package/src/lib/parameter.ts +0 -188
- package/src/lib/product-id-range.ts +0 -8
- package/src/lib/request-status-resolver.ts +0 -403
- package/src/lib/system-log-line.ts +0 -9
- package/src/lib/urls.ts +0 -6
- package/src/lib/util.ts +0 -332
- package/src/lib/web-socket-connection-close-codes.ts +0 -85
- package/tsconfig.json +0 -23
- package/tsconfig.lib.json +0 -10
- package/tsconfig.spec.json +0 -20
- package/typedoc.json +0 -10
- /package/src/{index.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { MotionMasterMessage, ParameterTypeValueKey, ParameterValueType } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Represents a generic parameter with required properties: index, subindex, name, value, typeValueKey.
|
|
4
|
+
*/
|
|
5
|
+
export interface Parameter extends MotionMasterMessage.Status.DeviceParameterInfo.IParameter, MotionMasterMessage.Status.DeviceParameterValues.IParameterValue {
|
|
6
|
+
index: number;
|
|
7
|
+
subindex: number;
|
|
8
|
+
name: string;
|
|
9
|
+
value: ParameterValueType;
|
|
10
|
+
typeValueKey: ParameterTypeValueKey;
|
|
11
|
+
options?: {
|
|
12
|
+
[key: string]: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export type ParameterIndexSubindex = Pick<Parameter, 'index' | 'subindex'>;
|
|
16
|
+
/**
|
|
17
|
+
* Make parameter id by providing a tuple of index and subindex.
|
|
18
|
+
*
|
|
19
|
+
* @param tuple - an array of index and subindex
|
|
20
|
+
* @throws {Error} if index or subindex are less than 0
|
|
21
|
+
* @returns combined index and subindex in uppercase hexadecimal format, e.g. "0x60FE:02"
|
|
22
|
+
*/
|
|
23
|
+
export declare function makeParameterId(tuple: [(number | null | undefined), (number | null | undefined)]): string;
|
|
24
|
+
/**
|
|
25
|
+
* Make parameter id by providing an object which has index and subindex properties.
|
|
26
|
+
*
|
|
27
|
+
* @param parameter - an object with optional index and subindex properties
|
|
28
|
+
* @throws {Error} if index or subindex are less than 0
|
|
29
|
+
* @returns combined index and subindex in uppercase hexadecimal format, e.g. "0x60FE:02"
|
|
30
|
+
*/
|
|
31
|
+
export declare function makeParameterId(parameter: {
|
|
32
|
+
index?: (number | null);
|
|
33
|
+
subindex?: (number | null);
|
|
34
|
+
}): string;
|
|
35
|
+
/**
|
|
36
|
+
* Make parameter id by providing index and subindex.
|
|
37
|
+
*
|
|
38
|
+
* @param index - from 0x0000 to 0xFFFF for objects defined in ESI and >0xFFFF for custom object
|
|
39
|
+
* @param subindex - defaults to 0 if not provided
|
|
40
|
+
* @throws {Error} if index or subindex are less than 0
|
|
41
|
+
* @returns combined index and subindex in uppercase hexadecimal format, e.g. "0x60FE:02"
|
|
42
|
+
*/
|
|
43
|
+
export declare function makeParameterId(index?: (number | null), subindex?: (number | null)): string;
|
|
44
|
+
/**
|
|
45
|
+
* Make parameter id by providing different arguments.
|
|
46
|
+
*
|
|
47
|
+
* The purpose of this declaration is to expose the signature of the implementation for {@link makeDeviceParameterId} function.
|
|
48
|
+
*
|
|
49
|
+
* @param a - number or an object with index and subindex or tuple of index and subindex
|
|
50
|
+
* @param b - optional subindex, defaults to 0 if not provided
|
|
51
|
+
* @throws {Error} if index or subindex are less than 0
|
|
52
|
+
* @returns combined index and subindex in uppercase hexadecimal format, e.g. "0x60FE:02"
|
|
53
|
+
*/
|
|
54
|
+
export declare function makeParameterId(a?: (number | null) | {
|
|
55
|
+
index?: (number | null);
|
|
56
|
+
subindex?: (number | null);
|
|
57
|
+
} | [(number | null | undefined), (number | null | undefined)], b?: (number | null)): string;
|
|
58
|
+
/**
|
|
59
|
+
* Example of parameter id is "0x2110:1A" where:
|
|
60
|
+
* - 0x2110 is object index in hexadecimal format
|
|
61
|
+
* - 1A is subindex in hexadecimal format
|
|
62
|
+
*/
|
|
63
|
+
export declare const parameterIdRegExp: RegExp;
|
|
64
|
+
/**
|
|
65
|
+
* Split device parameter id into parts.
|
|
66
|
+
*
|
|
67
|
+
* @param id - parameter id like "0x2110:1A"
|
|
68
|
+
* @returns tuple of index and subindex
|
|
69
|
+
*/
|
|
70
|
+
export declare function splitParameterId(id: string): [number, number];
|
|
71
|
+
/**
|
|
72
|
+
* Check if the provided string matches the parameter ID.
|
|
73
|
+
*/
|
|
74
|
+
export declare function isParameterId(id: string): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Parameter comparison function.
|
|
77
|
+
*
|
|
78
|
+
* Typically provided to sorting functions. Compares parameters by index and subindex.
|
|
79
|
+
*/
|
|
80
|
+
export declare function parametersCompareFn(a: Pick<Parameter, 'index' | 'subindex'>, b: Pick<Parameter, 'index' | 'subindex'>): number;
|
|
81
|
+
/**
|
|
82
|
+
* Creates an array of parameters not included in the other given array. Compares by index and subindex.
|
|
83
|
+
*/
|
|
84
|
+
export declare function differenceParameters<T extends Pick<Parameter, 'index' | 'subindex'>>(p1: T[], p2: T[]): T[];
|
|
85
|
+
/**
|
|
86
|
+
* Creates an array of unique parameters that are included in both given arrays. Compares by index and subindex.
|
|
87
|
+
*/
|
|
88
|
+
export declare function intersectionParameters<T extends Pick<Parameter, 'index' | 'subindex'>>(p1: T[], p2: T[]): T[];
|
|
89
|
+
/**
|
|
90
|
+
* Creates an array of unique parameters that are included in both given arrays, but only if the values of parameters differ.
|
|
91
|
+
*/
|
|
92
|
+
export declare function intersectionParametersWithDifferentValues<T extends Pick<Parameter, 'index' | 'subindex' | 'value'>>(p1: T[], p2: T[], roundFloats?: boolean): T[];
|
|
93
|
+
/**
|
|
94
|
+
* Represents the result of comparing parameter sets.
|
|
95
|
+
*
|
|
96
|
+
* The Differences tuple contains an array of parameters that exist in one array but not in the other array.
|
|
97
|
+
* The Intersections tuple contains an array of parameters that exist in both sets.
|
|
98
|
+
* The Comparisons array contains parameters from the first set that also exist in the other set, with the additional valueOther from the other set of the matching parameter.
|
|
99
|
+
*/
|
|
100
|
+
export interface ParametersComparison<T extends Pick<Parameter, 'index' | 'subindex' | 'value'>, V = T & {
|
|
101
|
+
valueOther: ParameterValueType;
|
|
102
|
+
}> {
|
|
103
|
+
differences: [T[], T[]];
|
|
104
|
+
intersections: [T[], T[]];
|
|
105
|
+
comparisons: V[];
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Compare parameters.
|
|
109
|
+
*
|
|
110
|
+
* Compare parameters by creating the parameters comparison result, which includes the differences, intersections, and comparisons {@link ParametersComparison}.
|
|
111
|
+
*/
|
|
112
|
+
export declare function compareParameters<T extends Pick<Parameter, 'index' | 'subindex' | 'value'>>(p1: T[], p2: T[], roundFloats?: boolean): ParametersComparison<T>;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareParameters = exports.intersectionParametersWithDifferentValues = exports.intersectionParameters = exports.differenceParameters = exports.parametersCompareFn = exports.isParameterId = exports.splitParameterId = exports.parameterIdRegExp = exports.makeParameterId = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
function makeParameterId(a, b) {
|
|
6
|
+
let index = 0;
|
|
7
|
+
let subindex = 0;
|
|
8
|
+
if (Array.isArray(a)) {
|
|
9
|
+
if (a[0]) {
|
|
10
|
+
index = a[0];
|
|
11
|
+
}
|
|
12
|
+
if (a[1]) {
|
|
13
|
+
subindex = a[1];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
else if (typeof a === 'object') {
|
|
17
|
+
if (a === null || a === void 0 ? void 0 : a.index) {
|
|
18
|
+
index = a.index;
|
|
19
|
+
}
|
|
20
|
+
if (a === null || a === void 0 ? void 0 : a.subindex) {
|
|
21
|
+
subindex = a.subindex;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
if (typeof a === 'number') {
|
|
26
|
+
index = a;
|
|
27
|
+
}
|
|
28
|
+
if (typeof b === 'number') {
|
|
29
|
+
subindex = b;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (index < 0) {
|
|
33
|
+
throw new Error(`The provided index to makeParameterId must be greater than 0: ${index}`);
|
|
34
|
+
}
|
|
35
|
+
if (subindex < 0) {
|
|
36
|
+
throw new Error(`The provided subindex to makeParameterId must be greater than 0: ${subindex}`);
|
|
37
|
+
}
|
|
38
|
+
const indexMaxLength = index > 0xFFFF ? 8 : 4;
|
|
39
|
+
const x = index.toString(16).toUpperCase().padStart(indexMaxLength, '0');
|
|
40
|
+
const y = subindex.toString(16).toUpperCase().padStart(2, '0');
|
|
41
|
+
return `0x${x}:${y}`;
|
|
42
|
+
}
|
|
43
|
+
exports.makeParameterId = makeParameterId;
|
|
44
|
+
/**
|
|
45
|
+
* Example of parameter id is "0x2110:1A" where:
|
|
46
|
+
* - 0x2110 is object index in hexadecimal format
|
|
47
|
+
* - 1A is subindex in hexadecimal format
|
|
48
|
+
*/
|
|
49
|
+
exports.parameterIdRegExp = /^0x([0-9a-fA-F]{4,}):([0-9a-fA-F]{2})$/;
|
|
50
|
+
/**
|
|
51
|
+
* Split device parameter id into parts.
|
|
52
|
+
*
|
|
53
|
+
* @param id - parameter id like "0x2110:1A"
|
|
54
|
+
* @returns tuple of index and subindex
|
|
55
|
+
*/
|
|
56
|
+
function splitParameterId(id) {
|
|
57
|
+
const match = id.match(exports.parameterIdRegExp);
|
|
58
|
+
if (!match) {
|
|
59
|
+
throw new Error(`Parameter id "${id}" doesn't match the regular expression: ${exports.parameterIdRegExp}`);
|
|
60
|
+
}
|
|
61
|
+
return [
|
|
62
|
+
parseInt(match[1], 16),
|
|
63
|
+
parseInt(match[2], 16), // subindex
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
exports.splitParameterId = splitParameterId;
|
|
67
|
+
/**
|
|
68
|
+
* Check if the provided string matches the parameter ID.
|
|
69
|
+
*/
|
|
70
|
+
function isParameterId(id) {
|
|
71
|
+
return exports.parameterIdRegExp.test(id);
|
|
72
|
+
}
|
|
73
|
+
exports.isParameterId = isParameterId;
|
|
74
|
+
/**
|
|
75
|
+
* Parameter comparison function.
|
|
76
|
+
*
|
|
77
|
+
* Typically provided to sorting functions. Compares parameters by index and subindex.
|
|
78
|
+
*/
|
|
79
|
+
function parametersCompareFn(a, b) {
|
|
80
|
+
if (a.index > b.index) {
|
|
81
|
+
return 1;
|
|
82
|
+
}
|
|
83
|
+
else if (a.index < b.index) {
|
|
84
|
+
return -1;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
if (a.subindex > b.subindex) {
|
|
88
|
+
return 1;
|
|
89
|
+
}
|
|
90
|
+
else if (a.subindex < b.subindex) {
|
|
91
|
+
return -1;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return 0;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.parametersCompareFn = parametersCompareFn;
|
|
99
|
+
/**
|
|
100
|
+
* Creates an array of parameters not included in the other given array. Compares by index and subindex.
|
|
101
|
+
*/
|
|
102
|
+
function differenceParameters(p1, p2) {
|
|
103
|
+
return (0, lodash_1.differenceWith)(p1, p2, (a, b) => a.index === b.index && a.subindex === b.subindex);
|
|
104
|
+
}
|
|
105
|
+
exports.differenceParameters = differenceParameters;
|
|
106
|
+
/**
|
|
107
|
+
* Creates an array of unique parameters that are included in both given arrays. Compares by index and subindex.
|
|
108
|
+
*/
|
|
109
|
+
function intersectionParameters(p1, p2) {
|
|
110
|
+
return (0, lodash_1.intersectionWith)(p1, p2, (a, b) => a.index === b.index && a.subindex === b.subindex);
|
|
111
|
+
}
|
|
112
|
+
exports.intersectionParameters = intersectionParameters;
|
|
113
|
+
/**
|
|
114
|
+
* Creates an array of unique parameters that are included in both given arrays, but only if the values of parameters differ.
|
|
115
|
+
*/
|
|
116
|
+
function intersectionParametersWithDifferentValues(p1, p2, roundFloats = false) {
|
|
117
|
+
return (0, lodash_1.intersectionWith)(p1, p2, (a, b) => {
|
|
118
|
+
if (a.index === b.index && a.subindex === b.subindex) {
|
|
119
|
+
// values that are very close but have a different number of decimal places are treated as not equal
|
|
120
|
+
if (roundFloats && typeof a.value === 'number' && typeof b.value === 'number') {
|
|
121
|
+
const v1 = (0, lodash_1.round)(a.value, 7);
|
|
122
|
+
const v2 = (0, lodash_1.round)(b.value, 7);
|
|
123
|
+
return v1 !== v2;
|
|
124
|
+
}
|
|
125
|
+
else if (Array.isArray(a.value) && Array.isArray(b.value)) {
|
|
126
|
+
return JSON.stringify(a.value) !== JSON.stringify(b.value);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
return a.value !== b.value;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return false;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
exports.intersectionParametersWithDifferentValues = intersectionParametersWithDifferentValues;
|
|
136
|
+
/**
|
|
137
|
+
* Compare parameters.
|
|
138
|
+
*
|
|
139
|
+
* Compare parameters by creating the parameters comparison result, which includes the differences, intersections, and comparisons {@link ParametersComparison}.
|
|
140
|
+
*/
|
|
141
|
+
function compareParameters(p1, p2, roundFloats = false) {
|
|
142
|
+
const d1 = differenceParameters(p1, p2);
|
|
143
|
+
const d2 = differenceParameters(p2, p1);
|
|
144
|
+
const i1 = intersectionParametersWithDifferentValues(p1, p2, roundFloats);
|
|
145
|
+
const i2 = intersectionParametersWithDifferentValues(p2, p1, roundFloats);
|
|
146
|
+
const comparisons = i1.map((p, index) => (Object.assign(Object.assign({}, p), { valueOther: i2[index].value })));
|
|
147
|
+
return { differences: [d1, d2], intersections: [i1, i2], comparisons };
|
|
148
|
+
}
|
|
149
|
+
exports.compareParameters = compareParameters;
|
|
150
|
+
//# sourceMappingURL=parameter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/parameter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.productIdRange = void 0;
|
|
4
|
+
// https://docs.google.com/spreadsheets/d/1XJX1eqGau1X3sse10fuF-tVVgosbxCo-3ioUUG2CDYQ
|
|
5
|
+
exports.productIdRange = {
|
|
6
|
+
'CIRCULO_SAFE_MOTION': [8600, 8699],
|
|
7
|
+
'INTEGRO': [9000, 9499],
|
|
8
|
+
'NODE': [9500, 9599],
|
|
9
|
+
'NODE_SAFETY': [9600, 9998],
|
|
10
|
+
'INTERNAL': [9999, 9999],
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=product-id-range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-id-range.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/product-id-range.ts"],"names":[],"mappings":";;;AAAA,sFAAsF;AACzE,QAAA,cAAc,GAAG;IAC5B,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACnC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACvB,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAC3B,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;CACzB,CAAC"}
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
|
+
// @ts-nocheck
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.requestStatusResolver = void 0;
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
exports.requestStatusResolver = {
|
|
8
|
+
systemPong: () => 'succeeded',
|
|
9
|
+
systemVersion: (status) => {
|
|
10
|
+
return status.version ? 'succeeded' : 'failed';
|
|
11
|
+
},
|
|
12
|
+
systemEvent: (status) => {
|
|
13
|
+
if (status.error) {
|
|
14
|
+
return 'failed';
|
|
15
|
+
}
|
|
16
|
+
return 'succeeded';
|
|
17
|
+
},
|
|
18
|
+
deviceInfo: (status) => {
|
|
19
|
+
return status.devices ? 'succeeded' : 'failed';
|
|
20
|
+
},
|
|
21
|
+
deviceParameterInfo: (status) => {
|
|
22
|
+
return status.parameters ? 'succeeded' : 'failed';
|
|
23
|
+
},
|
|
24
|
+
deviceParameterValues: (status) => {
|
|
25
|
+
if (status.progress) {
|
|
26
|
+
if (status.progress.percentage === 100) {
|
|
27
|
+
return 'succeeded';
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return 'running';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (status.parameterValues) {
|
|
34
|
+
const allSucceeded = status.parameterValues.every((value) => value.success);
|
|
35
|
+
if (allSucceeded) {
|
|
36
|
+
return 'succeeded';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return 'failed';
|
|
40
|
+
},
|
|
41
|
+
multiDeviceParameterValues: (status) => {
|
|
42
|
+
if (status.collection) {
|
|
43
|
+
const items = status.collection.flat();
|
|
44
|
+
const allSucceeded = items.every((item) => { var _a; return (_a = item.parameterValues) === null || _a === void 0 ? void 0 : _a.every(value => value.success); });
|
|
45
|
+
if (allSucceeded) {
|
|
46
|
+
return 'succeeded';
|
|
47
|
+
}
|
|
48
|
+
if (items.every(item => item.progress === 100)) {
|
|
49
|
+
return 'succeeded';
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return 'running';
|
|
53
|
+
}
|
|
54
|
+
;
|
|
55
|
+
}
|
|
56
|
+
return 'failed';
|
|
57
|
+
},
|
|
58
|
+
deviceFileList: (status) => {
|
|
59
|
+
if (status.error) {
|
|
60
|
+
return 'failed';
|
|
61
|
+
}
|
|
62
|
+
return 'succeeded';
|
|
63
|
+
},
|
|
64
|
+
deviceFile: (status) => {
|
|
65
|
+
if (status.error) {
|
|
66
|
+
return 'failed';
|
|
67
|
+
}
|
|
68
|
+
return 'succeeded';
|
|
69
|
+
},
|
|
70
|
+
deviceEvent: (status) => {
|
|
71
|
+
if (status.error) {
|
|
72
|
+
return 'failed';
|
|
73
|
+
}
|
|
74
|
+
return 'succeeded';
|
|
75
|
+
},
|
|
76
|
+
deviceFirmwareInstallation: (status) => {
|
|
77
|
+
if (status.error) {
|
|
78
|
+
return 'failed';
|
|
79
|
+
}
|
|
80
|
+
if (status.success) {
|
|
81
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.DeviceFirmwareInstallation.Success.Code.DONE) {
|
|
82
|
+
return 'succeeded';
|
|
83
|
+
}
|
|
84
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.DeviceFirmwareInstallation.Success.Code.UNSPECIFIED) {
|
|
85
|
+
return 'succeeded';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return 'running';
|
|
89
|
+
},
|
|
90
|
+
deviceLog: (status) => {
|
|
91
|
+
if (status.error) {
|
|
92
|
+
return 'failed';
|
|
93
|
+
}
|
|
94
|
+
return 'succeeded';
|
|
95
|
+
},
|
|
96
|
+
deviceFaultReset: (status) => {
|
|
97
|
+
if (status.error) {
|
|
98
|
+
return 'failed';
|
|
99
|
+
}
|
|
100
|
+
return 'succeeded';
|
|
101
|
+
},
|
|
102
|
+
coggingTorqueRecording: (status) => {
|
|
103
|
+
if (status.error) {
|
|
104
|
+
return 'failed';
|
|
105
|
+
}
|
|
106
|
+
if (status.success) {
|
|
107
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.CoggingTorqueRecording.Success.Code.DONE) {
|
|
108
|
+
return 'succeeded';
|
|
109
|
+
}
|
|
110
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.CoggingTorqueRecording.Success.Code.UNSPECIFIED) {
|
|
111
|
+
return 'succeeded';
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return 'running';
|
|
115
|
+
},
|
|
116
|
+
coggingTorqueData: (status) => {
|
|
117
|
+
if (status.error) {
|
|
118
|
+
return 'failed';
|
|
119
|
+
}
|
|
120
|
+
return 'succeeded';
|
|
121
|
+
},
|
|
122
|
+
offsetDetection: (status) => {
|
|
123
|
+
if (status.error) {
|
|
124
|
+
return 'failed';
|
|
125
|
+
}
|
|
126
|
+
if (status.success) {
|
|
127
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.OffsetDetection.Success.Code.DONE) {
|
|
128
|
+
return 'succeeded';
|
|
129
|
+
}
|
|
130
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.OffsetDetection.Success.Code.UNSPECIFIED) {
|
|
131
|
+
return 'succeeded';
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return 'running';
|
|
135
|
+
},
|
|
136
|
+
plantIdentification: (status) => {
|
|
137
|
+
if (status.error) {
|
|
138
|
+
return 'failed';
|
|
139
|
+
}
|
|
140
|
+
if (status.success) {
|
|
141
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.PlantIdentification.Success.Code.DONE) {
|
|
142
|
+
return 'succeeded';
|
|
143
|
+
}
|
|
144
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.PlantIdentification.Success.Code.UNSPECIFIED) {
|
|
145
|
+
return 'succeeded';
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return 'running';
|
|
149
|
+
},
|
|
150
|
+
autoTuning: (status) => {
|
|
151
|
+
if (status.error) {
|
|
152
|
+
return 'failed';
|
|
153
|
+
}
|
|
154
|
+
if (status.success) {
|
|
155
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.AutoTuning.Success.Code.POSITION_DONE ||
|
|
156
|
+
status.success.code === types_1.MotionMasterMessage.Status.AutoTuning.Success.Code.VELOCITY_DONE) {
|
|
157
|
+
return 'succeeded';
|
|
158
|
+
}
|
|
159
|
+
if (status.success === types_1.MotionMasterMessage.Status.AutoTuning.Success.Code.UNSPECIFIED) {
|
|
160
|
+
return 'succeeded';
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return 'running';
|
|
164
|
+
},
|
|
165
|
+
motionController: (status) => {
|
|
166
|
+
if (status.error) {
|
|
167
|
+
return 'failed';
|
|
168
|
+
}
|
|
169
|
+
return 'succeeded';
|
|
170
|
+
},
|
|
171
|
+
signalGenerator: (status) => {
|
|
172
|
+
if (status.error) {
|
|
173
|
+
return 'failed';
|
|
174
|
+
}
|
|
175
|
+
if (status.success) {
|
|
176
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.SignalGenerator.Success.Code.DONE) {
|
|
177
|
+
return 'succeeded';
|
|
178
|
+
}
|
|
179
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.SignalGenerator.Success.Code.PARAMETERS_SET) {
|
|
180
|
+
return 'succeeded';
|
|
181
|
+
}
|
|
182
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.SignalGenerator.Success.Code.UNSPECIFIED) {
|
|
183
|
+
return 'succeeded';
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return 'running';
|
|
187
|
+
},
|
|
188
|
+
monitoringParameterValues: (status) => {
|
|
189
|
+
if (status.error) {
|
|
190
|
+
return 'failed';
|
|
191
|
+
}
|
|
192
|
+
return 'succeeded';
|
|
193
|
+
},
|
|
194
|
+
deviceStop: (status) => {
|
|
195
|
+
if (status.error) {
|
|
196
|
+
return 'failed';
|
|
197
|
+
}
|
|
198
|
+
return 'succeeded';
|
|
199
|
+
},
|
|
200
|
+
ethercatNetworkState: (status) => {
|
|
201
|
+
if (status.error) {
|
|
202
|
+
return 'failed';
|
|
203
|
+
}
|
|
204
|
+
return 'succeeded';
|
|
205
|
+
},
|
|
206
|
+
narrowAngleCalibration: (status) => {
|
|
207
|
+
if (status.error) {
|
|
208
|
+
return 'failed';
|
|
209
|
+
}
|
|
210
|
+
if (status.success) {
|
|
211
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.NarrowAngleCalibration.Success.Code.DONE) {
|
|
212
|
+
return 'succeeded';
|
|
213
|
+
}
|
|
214
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.NarrowAngleCalibration.Success.Code.UNSPECIFIED) {
|
|
215
|
+
return 'succeeded';
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return 'running';
|
|
219
|
+
},
|
|
220
|
+
systemIdentification: (status) => {
|
|
221
|
+
if (status.error) {
|
|
222
|
+
return 'failed';
|
|
223
|
+
}
|
|
224
|
+
if (status.success) {
|
|
225
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.SystemIdentification.Success.Code.DONE) {
|
|
226
|
+
return 'succeeded';
|
|
227
|
+
}
|
|
228
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.SystemIdentification.Success.Code.UNSPECIFIED) {
|
|
229
|
+
return 'succeeded';
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
return 'running';
|
|
233
|
+
},
|
|
234
|
+
circuloEncoderMagnetDistance: (status) => {
|
|
235
|
+
if (typeof status.distance === 'number' || typeof status.position === 'number') {
|
|
236
|
+
return 'succeeded';
|
|
237
|
+
}
|
|
238
|
+
return 'failed';
|
|
239
|
+
},
|
|
240
|
+
circuloEncoderNarrowAngleCalibrationProcedure: (status) => {
|
|
241
|
+
if (status.error) {
|
|
242
|
+
return 'failed';
|
|
243
|
+
}
|
|
244
|
+
if (status.success) {
|
|
245
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.CirculoEncoderNarrowAngleCalibrationProcedure.Success.Code.STOPPED) {
|
|
246
|
+
return 'failed';
|
|
247
|
+
}
|
|
248
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.CirculoEncoderNarrowAngleCalibrationProcedure.Success.Code.DONE) {
|
|
249
|
+
return 'succeeded';
|
|
250
|
+
}
|
|
251
|
+
if (status.success === types_1.MotionMasterMessage.Status.CirculoEncoderNarrowAngleCalibrationProcedure.Success.Code.UNSPECIFIED) {
|
|
252
|
+
return 'succeeded';
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return 'running';
|
|
256
|
+
},
|
|
257
|
+
deviceCia402State: (status) => {
|
|
258
|
+
if (status.error) {
|
|
259
|
+
return 'failed';
|
|
260
|
+
}
|
|
261
|
+
return 'succeeded';
|
|
262
|
+
},
|
|
263
|
+
systemLog: (status) => {
|
|
264
|
+
if (status.content) {
|
|
265
|
+
return 'succeeded';
|
|
266
|
+
}
|
|
267
|
+
return 'failed';
|
|
268
|
+
},
|
|
269
|
+
deviceSiiRestore: (status) => {
|
|
270
|
+
if (status.error) {
|
|
271
|
+
return 'failed';
|
|
272
|
+
}
|
|
273
|
+
if (status.success) {
|
|
274
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.DeviceSiiRestore.Success.Code.DONE) {
|
|
275
|
+
return 'succeeded';
|
|
276
|
+
}
|
|
277
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.DeviceSiiRestore.Success.Code.UNSPECIFIED) {
|
|
278
|
+
return 'succeeded';
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return 'running';
|
|
282
|
+
},
|
|
283
|
+
openLoopFieldControl: (status) => {
|
|
284
|
+
if (status.error) {
|
|
285
|
+
return 'failed';
|
|
286
|
+
}
|
|
287
|
+
if (status.success) {
|
|
288
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.OpenLoopFieldControl.Success.Code.DONE) {
|
|
289
|
+
return 'succeeded';
|
|
290
|
+
}
|
|
291
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.OpenLoopFieldControl.Success.Code.UNSPECIFIED) {
|
|
292
|
+
return 'succeeded';
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return 'running';
|
|
296
|
+
},
|
|
297
|
+
fullAutoTuning: (status) => {
|
|
298
|
+
if (status.error) {
|
|
299
|
+
return 'failed';
|
|
300
|
+
}
|
|
301
|
+
if (status.success) {
|
|
302
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.FullAutoTuning.Success.Code.POSITION_STOPPED ||
|
|
303
|
+
status.success.code === types_1.MotionMasterMessage.Status.FullAutoTuning.Success.Code.VELOCITY_STOPPED) {
|
|
304
|
+
return 'failed';
|
|
305
|
+
}
|
|
306
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.FullAutoTuning.Success.Code.POSITION_DONE ||
|
|
307
|
+
status.success.code === types_1.MotionMasterMessage.Status.FullAutoTuning.Success.Code.VELOCITY_DONE) {
|
|
308
|
+
return 'succeeded';
|
|
309
|
+
}
|
|
310
|
+
if (status.success === types_1.MotionMasterMessage.Status.FullAutoTuning.Success.Code.UNSPECIFIED) {
|
|
311
|
+
return 'succeeded';
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
return 'running';
|
|
315
|
+
},
|
|
316
|
+
circuloEncoderConfiguration: (status) => {
|
|
317
|
+
if (status.error) {
|
|
318
|
+
return 'failed';
|
|
319
|
+
}
|
|
320
|
+
if (status.success) {
|
|
321
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.CirculoEncoderConfiguration.Success.Code.DONE) {
|
|
322
|
+
return 'succeeded';
|
|
323
|
+
}
|
|
324
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.CirculoEncoderConfiguration.Success.Code.UNSPECIFIED) {
|
|
325
|
+
return 'succeeded';
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
return 'running';
|
|
329
|
+
},
|
|
330
|
+
osCommand: (status) => {
|
|
331
|
+
if (status.error) {
|
|
332
|
+
return 'failed';
|
|
333
|
+
}
|
|
334
|
+
if (status.success) {
|
|
335
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.OsCommand.Success.Code.DONE) {
|
|
336
|
+
return 'succeeded';
|
|
337
|
+
}
|
|
338
|
+
if (status.success.code === types_1.MotionMasterMessage.Status.OsCommand.Success.Code.UNSPECIFIED) {
|
|
339
|
+
return 'succeeded';
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return 'running';
|
|
343
|
+
},
|
|
344
|
+
};
|
|
345
|
+
//# sourceMappingURL=request-status-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-status-resolver.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/request-status-resolver.ts"],"names":[],"mappings":"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"}
|