motion-master-client 0.0.413 → 0.0.415

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "motion-master-client",
3
- "version": "0.0.413",
3
+ "version": "0.0.415",
4
4
  "type": "commonjs",
5
5
  "description": "A library and CLI program used for communicating with Motion Master.",
6
6
  "dependencies": {
@@ -2,6 +2,25 @@ import { ParseResult } from 'papaparse';
2
2
  import { Parameter } from './parameter';
3
3
  import { Optional } from './types';
4
4
  export type ConfigParameter = Optional<Parameter, 'name' | 'typeValueKey' | 'id'>;
5
+ /**
6
+ * Whether a configuration file has to be loaded through the SMM Setup Wizard rather than through the
7
+ * ordinary drive parameter path.
8
+ *
9
+ * Two things decide it. A configuration only needs the wizard if it carries safety parameters at all,
10
+ * and the wizard only applies to a device that keeps its safety configuration on a detachable module —
11
+ * where those parameters live in a separate parameter space, which is what the wizard and its
12
+ * verification and validation steps exist for.
13
+ *
14
+ * A device with no such module keeps its safety parameters in its own object dictionary and writes them
15
+ * into the same config.csv as everything else, so for it they are drive parameters. That is a Circulo NG:
16
+ * sending the operator to the wizard would send that configuration somewhere it does not belong, and
17
+ * leave the drive with no way to be configured from a file at all.
18
+ *
19
+ * `deviceSupportsSafetyModule` comes from {@link supportsSafetyModule}, which reads the device's own
20
+ * dictionary. Pass `true` when it is not known: refusing a load that would have been allowed is
21
+ * recoverable, and loading safety parameters down a path that cannot verify them is not.
22
+ */
23
+ export declare function requiresSmmSetupWizard(parameterIndexes: readonly number[], deviceSupportsSafetyModule: boolean): boolean;
5
24
  /**
6
25
  * Parses the contents of configuration files such as config.csv, .factory_config, and .assembly_config.
7
26
  */
@@ -15,7 +34,16 @@ export declare class ConfigFile {
15
34
  parameters: ConfigParameter[];
16
35
  constructor(content: string, file?: Pick<File, "name" | "type" | "size" | "lastModified"> | undefined);
17
36
  get firmwareId(): string | undefined;
18
- get isSmmConfigFile(): boolean;
37
+ /**
38
+ * Whether the file carries any safety parameter. Says nothing about how it has to be loaded —
39
+ * see {@link requiresSmmSetupWizard} for that.
40
+ */
41
+ get containsSmmParameters(): boolean;
42
+ /**
43
+ * Whether this file has to be loaded through the SMM Setup Wizard on a device that keeps its safety
44
+ * configuration on a detachable module. See {@link requiresSmmSetupWizard}.
45
+ */
46
+ requiresSmmSetupWizard(deviceSupportsSafetyModule: boolean): boolean;
19
47
  get hasParseErrors(): boolean;
20
48
  get numberOfParameters(): number;
21
49
  toString(): string;
@@ -1,8 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConfigFile = void 0;
3
+ exports.ConfigFile = exports.requiresSmmSetupWizard = void 0;
4
4
  const papaparse_1 = require("papaparse");
5
5
  const parameter_1 = require("./parameter");
6
+ /**
7
+ * Whether a configuration file has to be loaded through the SMM Setup Wizard rather than through the
8
+ * ordinary drive parameter path.
9
+ *
10
+ * Two things decide it. A configuration only needs the wizard if it carries safety parameters at all,
11
+ * and the wizard only applies to a device that keeps its safety configuration on a detachable module —
12
+ * where those parameters live in a separate parameter space, which is what the wizard and its
13
+ * verification and validation steps exist for.
14
+ *
15
+ * A device with no such module keeps its safety parameters in its own object dictionary and writes them
16
+ * into the same config.csv as everything else, so for it they are drive parameters. That is a Circulo NG:
17
+ * sending the operator to the wizard would send that configuration somewhere it does not belong, and
18
+ * leave the drive with no way to be configured from a file at all.
19
+ *
20
+ * `deviceSupportsSafetyModule` comes from {@link supportsSafetyModule}, which reads the device's own
21
+ * dictionary. Pass `true` when it is not known: refusing a load that would have been allowed is
22
+ * recoverable, and loading safety parameters down a path that cannot verify them is not.
23
+ */
24
+ function requiresSmmSetupWizard(parameterIndexes, deviceSupportsSafetyModule) {
25
+ if (!parameterIndexes.some(parameter_1.isSmmParameterIndex)) {
26
+ return false;
27
+ }
28
+ return deviceSupportsSafetyModule;
29
+ }
30
+ exports.requiresSmmSetupWizard = requiresSmmSetupWizard;
6
31
  /**
7
32
  * Parses the contents of configuration files such as config.csv, .factory_config, and .assembly_config.
8
33
  */
@@ -45,13 +70,19 @@ class ConfigFile {
45
70
  get firmwareId() {
46
71
  return this.apiId;
47
72
  }
48
- get isSmmConfigFile() {
49
- for (const parameter of this.parameters) {
50
- if ((0, parameter_1.isSmmParameterIndex)(parameter.index)) {
51
- return true;
52
- }
53
- }
54
- return false;
73
+ /**
74
+ * Whether the file carries any safety parameter. Says nothing about how it has to be loaded —
75
+ * see {@link requiresSmmSetupWizard} for that.
76
+ */
77
+ get containsSmmParameters() {
78
+ return this.parameters.some((parameter) => (0, parameter_1.isSmmParameterIndex)(parameter.index));
79
+ }
80
+ /**
81
+ * Whether this file has to be loaded through the SMM Setup Wizard on a device that keeps its safety
82
+ * configuration on a detachable module. See {@link requiresSmmSetupWizard}.
83
+ */
84
+ requiresSmmSetupWizard(deviceSupportsSafetyModule) {
85
+ return requiresSmmSetupWizard(this.parameters.map((parameter) => parameter.index), deviceSupportsSafetyModule);
55
86
  }
56
87
  get hasParseErrors() {
57
88
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/config-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/config-file.ts"],"names":[],"mappings":"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"}
@@ -82,7 +82,7 @@ export interface CirculoEncoderBatteryMode {
82
82
  * Battery modes specify constraints such as maximum acceleration and current,
83
83
  * along with a raw encoded `value` representing the mode setting.
84
84
  */
85
- export declare const circuloEncoderBatteryModeMap: Map<"Node 400" | "Node 1000" | "Node 2000" | "Circulo 7" | "Circulo 9" | "Integro 60" | "Integro 80" | "ACTILINK-S Integro 60" | "ACTILINK-S Integro 80" | "ACTILINK-JD 8" | "ACTILINK-JD 9" | "ACTILINK-JD 10" | "ACTILINK-JD 12" | "ACTILINK-JD Duo 10" | "ACTILINK-JD Duo 12", CirculoEncoderBatteryMode[]>;
85
+ export declare const circuloEncoderBatteryModeMap: Map<"Node 400" | "Node 1000" | "Node 2000" | "Circulo 7" | "Circulo 9" | "Circulo NG 60" | "Circulo NG 70" | "Circulo NG 80" | "Circulo NG 85" | "Circulo NG 100" | "Integro 60" | "Integro 80" | "ACTILINK-S Integro 60" | "ACTILINK-S Integro 80" | "ACTILINK-JD 8" | "ACTILINK-JD 9" | "ACTILINK-JD 10" | "ACTILINK-JD 12" | "ACTILINK-JD Duo 10" | "ACTILINK-JD Duo 12", CirculoEncoderBatteryMode[]>;
86
86
  /**
87
87
  * Represents the possible types of encoder shafts.
88
88
  */
@@ -173,7 +173,7 @@ export interface EncoderConfigurationUsage {
173
173
  * @returns The selected exception case or undefined if no case matches.
174
174
  * @link https://docs.google.com/spreadsheets/d/1E0HTiZQtGmby2BJ9kOGV0UwD3HT6xQ7QRLjNbXpx5V0/edit?usp=sharing
175
175
  */
176
- export declare function getEncoderConfigurationExceptionCase(productId: number, encoderPort: number, encoderType: number, firmwareMajorMinorVersion: string): EncoderConfigurationExceptionCase | undefined;
176
+ export declare function getEncoderConfigurationExceptionCase(productId: number | string | HardwareDescription | null, encoderPort: number, encoderType: number, firmwareMajorMinorVersion: string): EncoderConfigurationExceptionCase | undefined;
177
177
  /**
178
178
  * Computes the encoder resolution in bits from the total number of increments per revolution.
179
179
  *
@@ -274,7 +274,7 @@ exports.getCirculoEncoderBatteryModeDefaultValue = getCirculoEncoderBatteryModeD
274
274
  * Returns an empty array if the product is not part of the Circulo family or no modes are found.
275
275
  */
276
276
  function getCirculoEncoderBatteryModeOptions(productId, shaft) {
277
- const product = (0, product_1.findSomanetProductById)(productId);
277
+ const product = (0, product_1.findSomanetProductById)((0, product_1.resolveEncoderProductId)(productId));
278
278
  if ((product === null || product === void 0 ? void 0 : product.family) === 'Circulo') {
279
279
  const arr = exports.circuloEncoderBatteryModeMap.get(product.group);
280
280
  if (arr) {
@@ -302,29 +302,30 @@ exports.getCirculoEncoderBatteryModeOptions = getCirculoEncoderBatteryModeOption
302
302
  * @link https://docs.google.com/spreadsheets/d/1E0HTiZQtGmby2BJ9kOGV0UwD3HT6xQ7QRLjNbXpx5V0/edit?usp=sharing
303
303
  */
304
304
  function getEncoderConfigurationExceptionCase(productId, encoderPort, encoderType, firmwareMajorMinorVersion) {
305
+ const id = (0, product_1.resolveEncoderProductId)(productId);
305
306
  const firmwareVersion = `${firmwareMajorMinorVersion}.0`;
306
307
  // Case 1
307
308
  const case1EncoderTypes = (0, semver_1.satisfies)(firmwareVersion, '>=5.0 <5.1') ? [4] : [4, 5];
308
309
  if ((0, semver_1.satisfies)(firmwareVersion, '>=5.0') &&
309
- (0, product_1.isSomanetProductIdInRange)(productId, 'Circulo All') &&
310
- (0, product_1.isEncoderPortUsable)(encoderPort, productId) &&
311
- (0, product_1.isEncoderPortInternal)(encoderPort, productId) &&
310
+ (0, product_1.isSomanetProductIdInRange)(id, 'Circulo All') &&
311
+ (0, product_1.isEncoderPortUsable)(encoderPort, id) &&
312
+ (0, product_1.isEncoderPortInternal)(encoderPort, id) &&
312
313
  case1EncoderTypes.includes(encoderType)) {
313
314
  return 'case1';
314
315
  }
315
316
  // Case 2
316
317
  if ((0, semver_1.satisfies)(firmwareVersion, '>=5.1') &&
317
- (0, product_1.isSomanetProductIdInRange)(productId, 'Circulo Safe Motion') &&
318
- (0, product_1.isEncoderPortUsable)(encoderPort, productId) &&
319
- !(0, product_1.isEncoderPortInternal)(encoderPort, productId) &&
318
+ (0, product_1.isSomanetProductIdInRange)(id, 'Circulo Safe Motion') &&
319
+ (0, product_1.isEncoderPortUsable)(encoderPort, id) &&
320
+ !(0, product_1.isEncoderPortInternal)(encoderPort, id) &&
320
321
  encoderType === 4) {
321
322
  return 'case2';
322
323
  }
323
324
  // Case 3
324
325
  if ((0, semver_1.satisfies)(firmwareVersion, '>=5.2') &&
325
- (0, product_1.isSomanetProductIdInRange)(productId, 'Integro') &&
326
- (0, product_1.isEncoderPortUsable)(encoderPort, productId) &&
327
- (0, product_1.isEncoderPortInternal)(encoderPort, productId) &&
326
+ (0, product_1.isSomanetProductIdInRange)(id, 'Integro') &&
327
+ (0, product_1.isEncoderPortUsable)(encoderPort, id) &&
328
+ (0, product_1.isEncoderPortInternal)(encoderPort, id) &&
328
329
  encoderType === 5) {
329
330
  return 'case3';
330
331
  }
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/encoder.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAGnC,uCAOmB;AAgCnB;;;;;GAKG;AACH,IAAY,6BAIX;AAJD,WAAY,6BAA6B;IACvC,yFAAc,CAAA;IACd,yFAAc,CAAA;IACd,0GAAuB,CAAA;AACzB,CAAC,EAJW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAIxC;AAED;;;;;;;;;;;;GAYG;AACU,QAAA,4BAA4B,GAA8C;IACrF;QACE,CAAC,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,yCAAyC;YAChD,WAAW,EAAE,2DAA2D;YACxE,MAAM,EAAE,wCAAwC;YAChD,eAAe,EACb,uSAAuS;SAC1S;QACD,CAAC,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,uCAAuC;YAC9C,WAAW,EAAE,sCAAsC;YACnD,MAAM,EAAE,gDAAgD;YACxD,eAAe,EACb,uSAAuS;SAC1S;QACD,CAAC,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,yCAAyC;YAChD,WAAW,EAAE,2DAA2D;YACxE,MAAM,EAAE,wCAAwC;YAChD,eAAe,EACb,sNAAsN;SACzN;QACD,CAAC,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,uCAAuC;YAC9C,WAAW,EAAE,sCAAsC;YACnD,MAAM,EAAE,gDAAgD;YACxD,eAAe,EACb,sNAAsN;SACzN;QACD,EAAE,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,mEAAmE;YAChF,MAAM,EAAE,wBAAwB;YAChC,eAAe,EACb,gUAAgU;SACnU;KACF;IACD;QACE,CAAC,EAAE;YACD,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,0DAA0D;YACjE,WAAW,EAAE,qCAAqC;YAClD,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,mFAAmF;SACrG;QACD,CAAC,EAAE;YACD,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,8CAA8C;YACrD,WAAW,EAAE,qCAAqC;YAClD,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,mFAAmF;SACrG;QACD,CAAC,EAAE;YACD,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,iFAAiF;YACxF,WAAW,EAAE,yEAAyE;YACtF,MAAM,EAAE,0CAA0C;YAClD,eAAe,EACb,kWAAkW;SACrW;QACD,EAAE,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,0EAA0E;YACjF,WAAW,EAAE,0CAA0C;YACvD,MAAM,EAAE,mEAAmE;YAC3E,eAAe,EACb,gRAAgR;SACnR;QACD,EAAE,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,KAAK,EACH,wKAAwK;YAC1K,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,mEAAmE;YAC3E,eAAe,EACb,+QAA+Q;SAClR;QACD,EAAE,EAAE;YACF,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,+DAA+D;YACtE,WAAW,EAAE,4CAA4C;YACzD,MAAM,EAAE,wBAAwB;YAChC,eAAe,EACb,oKAAoK;SACvK;QACD,GAAG,EAAE;YACH,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,gCAAgC;YACvC,WAAW,EAAE,gCAAgC;YAC7C,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,EAAE;SACpB;KACF;IACD;QACE,CAAC,EAAE;YACD,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,eAAe;YACtB,WAAW,EACT,kHAAkH;YACpH,MAAM,EAAE,gBAAgB;YACxB,eAAe,EACb,4PAA4P;SAC/P;QACD,CAAC,EAAE;YACD,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,8BAA8B;YACrC,WAAW,EACT,wGAAwG;YAC1G,MAAM,EAAE,gBAAgB;YACxB,eAAe,EACb,ibAAib;SACpb;QACD,CAAC,EAAE;YACD,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EAAE,oFAAoF;YACjG,MAAM,EAAE,gBAAgB;YACxB,eAAe,EACb,8ZAA8Z;SACja;QACD,CAAC,EAAE;YACD,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,oJAAoJ;YACtJ,MAAM,EAAE,gBAAgB;YACxB,eAAe,EACb,qWAAqW;SACxW;QACD,EAAE,EAAE;YACF,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,wDAAwD;YACrE,MAAM,EAAE,gBAAgB;YACxB,eAAe,EACb,4JAA4J;SAC/J;QACD,EAAE,EAAE;YACF,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,iEAAiE;YAC9E,MAAM,EAAE,gDAAgD;YACxD,eAAe,EACb,wVAAwV;SAC3V;QACD,EAAE,EAAE;YACF,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,2BAA2B;YAClC,WAAW,EACT,+GAA+G;YACjH,MAAM,EAAE,EAAE;YACV,eAAe,EACb,ujBAAujB;SAC1jB;QACD,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EACT,4GAA4G;YAC9G,MAAM,EAAE,EAAE;YACV,eAAe,EACb,ykBAAykB;SAC5kB;KACF;CACF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,SAAgB,sCAAsC,CAAC,KAAa,EAAE,WAAkB;;IACtF,IAAI,KAAK,KAAK,CAAC,EAAE;QACf,OAAO,EAAE,CAAC;KACX;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE;QACxC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,KAAK,GAAG,MAAA,oCAA4B,CAAC,WAAW,CAAC,0CAAG,GAAG,CAAC,CAAC;YAC/D,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,wFAiBC;AAWD;;;;;;;;GAQG;AACU,QAAA,4BAA4B,GAAG,IAAI,GAAG,CAA4C;IAC7F;QACE,WAAW;QACX;YACE,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACrD,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACtD;KACF;IACD;QACE,WAAW;QACX;YACE,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,eAAe,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACnD,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACrD,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACtD;KACF;CACF,CAAC,CAAC;AAOH;;;;;;;;;GASG;AACH,SAAgB,wCAAwC,CAAC,KAA2B;IAClF,IAAI,KAAK,KAAK,OAAO,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,KAAK,KAAK,SAAS,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AARD,4FAQC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,mCAAmC,CACjD,SAAgD,EAChD,KAAoB;IAEpB,MAAM,OAAO,GAAG,IAAA,gCAAsB,EAAC,IAAA,iCAAuB,EAAC,SAAS,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,SAAS,EAAE;QACjC,MAAM,GAAG,GAAG,oCAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,GAAG,EAAE;YACP,MAAM,YAAY,GAAG,wCAAwC,CAAC,KAAK,CAAC,CAAC;YACrE,OAAO;gBACL,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE;gBACvC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBACtD,GAAG,EAAE,GAAG,eAAe,aAAa,UAAU,KAAK;oBACnD,KAAK;iBACN,CAAC,CAAC;aACJ,CAAC;SACH;KACF;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAnBD,kFAmBC;AA0DD;;;;;;;;;GASG;AACH,SAAgB,oCAAoC,CAClD,SAAuD,EACvD,WAAmB,EACnB,WAAmB,EACnB,yBAAiC;IAEjC,MAAM,EAAE,GAAG,IAAA,iCAAuB,EAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,GAAG,yBAAyB,IAAI,CAAC;IACzD,SAAS;IACT,MAAM,iBAAiB,GAAG,IAAA,kBAAS,EAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,IACE,IAAA,kBAAS,EAAC,eAAe,EAAE,OAAO,CAAC;QACnC,IAAA,mCAAyB,EAAC,EAAE,EAAE,aAAa,CAAC;QAC5C,IAAA,6BAAmB,EAAC,WAAW,EAAE,EAAE,CAAC;QACpC,IAAA,+BAAqB,EAAC,WAAW,EAAE,EAAE,CAAC;QACtC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,EACvC;QACA,OAAO,OAAO,CAAC;KAChB;IAED,SAAS;IACT,IACE,IAAA,kBAAS,EAAC,eAAe,EAAE,OAAO,CAAC;QACnC,IAAA,mCAAyB,EAAC,EAAE,EAAE,qBAAqB,CAAC;QACpD,IAAA,6BAAmB,EAAC,WAAW,EAAE,EAAE,CAAC;QACpC,CAAC,IAAA,+BAAqB,EAAC,WAAW,EAAE,EAAE,CAAC;QACvC,WAAW,KAAK,CAAC,EACjB;QACA,OAAO,OAAO,CAAC;KAChB;IAED,SAAS;IACT,IACE,IAAA,kBAAS,EAAC,eAAe,EAAE,OAAO,CAAC;QACnC,IAAA,mCAAyB,EAAC,EAAE,EAAE,SAAS,CAAC;QACxC,IAAA,6BAAmB,EAAC,WAAW,EAAE,EAAE,CAAC;QACpC,IAAA,+BAAqB,EAAC,WAAW,EAAE,EAAE,CAAC;QACtC,WAAW,KAAK,CAAC,EACjB;QACA,OAAO,OAAO,CAAC;KAChB;IAED,OAAO;AACT,CAAC;AA3CD,oFA2CC;AAED;;;;;;;;;GASG;AACH,SAAgB,wBAAwB,CAAC,UAAkB;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC1C,CAAC;AAFD,4DAEC"}
@@ -198,6 +198,18 @@ export declare function firmwareVersionSatisfies(version: string, range: string,
198
198
  * @param calibration If a string, it will be treated as a range. Otherwise, the function returns the boolean value of `calibration`.
199
199
  */
200
200
  export declare function isFirmwareVersionInRange(version: string, range?: string | null, calibration?: boolean | string): boolean;
201
+ /**
202
+ * Checks whether a firmware version is Jasper, the firmware the Circulo NG boards run.
203
+ *
204
+ * Jasper versions start at v10.0.0, chosen so that they never collide with SOMANET Software v5.6.x and so
205
+ * that the version alone says which firmware a drive is running without having to name it. That makes the
206
+ * version the right thing to key firmware differences off: it covers every product that runs Jasper,
207
+ * including the Custom Projects boards, where a product ID range would only cover the ones it lists.
208
+ *
209
+ * The lower bound is a prerelease so that a v10.0.0 release candidate is recognised too — `>=v10.0.0`
210
+ * alone excludes `v10.0.0-rc.1`, because a prerelease sorts below the release it leads to.
211
+ */
212
+ export declare function isJasperFirmware(version?: string): boolean;
201
213
  /**
202
214
  * Checks if the provided firmware version includes the new encoder configuration objects (0x2110 and 0x2112).
203
215
  * Firmware versions starting from v5.0.0-rc.5 and v0.4.0-calibration include these objects.
@@ -218,6 +230,17 @@ export declare function isEncoderConfigurationFirmware(version?: string): boolea
218
230
  * @returns A list of compatible firmware packages, each with its filename and version.
219
231
  */
220
232
  export declare function resolveInstallableFirmwares(filenames: string[], firmwareIdOrDevice: string | Pick<Device, 'hardwareDescription' | 'stackInfo' | 'integroVariant'>, sortByVersion?: boolean): Firmware[];
233
+ /**
234
+ * Compares two firmware versions so that the newest sorts first, for use as an `Array#sort` comparator.
235
+ *
236
+ * Firmware versions have to be compared per numeric component rather than as text: a major version of 10
237
+ * or above precedes every 5.x.x version alphabetically, so comparing the strings ranks it as the oldest.
238
+ *
239
+ * Older firmware versions sometimes included invalid build metadata, which is removed before comparing,
240
+ * the same way {@link firmwareVersionSatisfies} does. A version that is still not valid SemVer afterwards
241
+ * sorts last, so one unparseable package filename cannot throw and take the ordering of the rest with it.
242
+ */
243
+ export declare function compareFirmwareVersionsDesc(a: string, b: string): number;
221
244
  /**
222
245
  * Parses the Integro firmware version and returns an object with the date, day, month, year, version.
223
246
  *
@@ -233,7 +256,12 @@ export declare function parseIntegroFirmwareVersion(value: number): {
233
256
  year: string;
234
257
  };
235
258
  /**
236
- * Compares two firmware versions in descending order.
259
+ * Compares two firmware package filenames by the firmware version they carry so that the newest sorts first,
260
+ * for use as an `Array#sort` comparator.
261
+ *
262
+ * The version is read with {@link extractFirmwareVersionFromFirmwarePackageFilename}, which knows both the new
263
+ * and the old filename format and normalises the version, and compared with {@link compareFirmwareVersionsDesc}.
264
+ * A filename carrying no readable version sorts last.
237
265
  */
238
266
  export declare function compareFirmwarePackagesByVersionDesc(a: string, b: string): number;
239
267
  /**
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapPackagesToFilenameAndBuffer = exports.compareFirmwarePackagesByVersionDesc = exports.parseIntegroFirmwareVersion = exports.resolveInstallableFirmwares = exports.isEncoderConfigurationFirmware = exports.isFirmwareVersionInRange = exports.firmwareVersionSatisfies = exports.removeInvalidBuildMetadataFromFirmwareVersion = exports.isCalibrationFirmware = exports.extractFirmwareVersionFromFirmwarePackageFilename = exports.extractFirmwareId = exports.isFirmwarePackageFilenameCompatibleWithDevice = exports.parseOldFirmwarePackageFilename = exports.extractDeviceComponentsFromOldFirmwarePackageFilename = exports.parseNewFirmwarePackageFilename = exports.isOldFirmwarePackageFilename = exports.isNewFirmwarePackageFilename = exports.parseFirmwareId = exports.oldFirmwarePackageFilenameRegExp = exports.newFirmwarePackageFilenameRegExp = exports.firmwareIdRegExp = void 0;
3
+ exports.mapPackagesToFilenameAndBuffer = exports.compareFirmwarePackagesByVersionDesc = exports.parseIntegroFirmwareVersion = exports.compareFirmwareVersionsDesc = exports.resolveInstallableFirmwares = exports.isEncoderConfigurationFirmware = exports.isJasperFirmware = exports.isFirmwareVersionInRange = exports.firmwareVersionSatisfies = exports.removeInvalidBuildMetadataFromFirmwareVersion = exports.isCalibrationFirmware = exports.extractFirmwareVersionFromFirmwarePackageFilename = exports.extractFirmwareId = exports.isFirmwarePackageFilenameCompatibleWithDevice = exports.parseOldFirmwarePackageFilename = exports.extractDeviceComponentsFromOldFirmwarePackageFilename = exports.parseNewFirmwarePackageFilename = exports.isOldFirmwarePackageFilename = exports.isNewFirmwarePackageFilename = exports.parseFirmwareId = exports.oldFirmwarePackageFilenameRegExp = exports.newFirmwarePackageFilenameRegExp = exports.firmwareIdRegExp = void 0;
4
4
  const hardware_description_1 = require("./hardware-description");
5
5
  const semver_1 = require("semver");
6
6
  exports.firmwareIdRegExp = /\d{4}-\d{2}(-\d{4})?(-\d+)*/;
@@ -293,6 +293,24 @@ function isFirmwareVersionInRange(version, range, calibration) {
293
293
  return result;
294
294
  }
295
295
  exports.isFirmwareVersionInRange = isFirmwareVersionInRange;
296
+ /**
297
+ * Checks whether a firmware version is Jasper, the firmware the Circulo NG boards run.
298
+ *
299
+ * Jasper versions start at v10.0.0, chosen so that they never collide with SOMANET Software v5.6.x and so
300
+ * that the version alone says which firmware a drive is running without having to name it. That makes the
301
+ * version the right thing to key firmware differences off: it covers every product that runs Jasper,
302
+ * including the Custom Projects boards, where a product ID range would only cover the ones it lists.
303
+ *
304
+ * The lower bound is a prerelease so that a v10.0.0 release candidate is recognised too — `>=v10.0.0`
305
+ * alone excludes `v10.0.0-rc.1`, because a prerelease sorts below the release it leads to.
306
+ */
307
+ function isJasperFirmware(version) {
308
+ if (!version) {
309
+ return false;
310
+ }
311
+ return firmwareVersionSatisfies(version, '>=v10.0.0-0');
312
+ }
313
+ exports.isJasperFirmware = isJasperFirmware;
296
314
  /**
297
315
  * Checks if the provided firmware version includes the new encoder configuration objects (0x2110 and 0x2112).
298
316
  * Firmware versions starting from v5.0.0-rc.5 and v0.4.0-calibration include these objects.
@@ -324,7 +342,7 @@ exports.isEncoderConfigurationFirmware = isEncoderConfigurationFirmware;
324
342
  * @returns A list of compatible firmware packages, each with its filename and version.
325
343
  */
326
344
  function resolveInstallableFirmwares(filenames, firmwareIdOrDevice, sortByVersion = false) {
327
- return filenames.reduce((firmwares, packageFilename) => {
345
+ const firmwares = filenames.reduce((firmwares, packageFilename) => {
328
346
  try {
329
347
  if (isFirmwarePackageFilenameCompatibleWithDevice(packageFilename, firmwareIdOrDevice)) {
330
348
  const version = extractFirmwareVersionFromFirmwarePackageFilename(packageFilename);
@@ -332,10 +350,36 @@ function resolveInstallableFirmwares(filenames, firmwareIdOrDevice, sortByVersio
332
350
  }
333
351
  }
334
352
  catch (err) { }
335
- return sortByVersion ? firmwares.sort((a, b) => a.version.localeCompare(b.version)).reverse() : firmwares;
353
+ return firmwares;
336
354
  }, []);
355
+ return sortByVersion ? firmwares.sort((a, b) => compareFirmwareVersionsDesc(a.version, b.version)) : firmwares;
337
356
  }
338
357
  exports.resolveInstallableFirmwares = resolveInstallableFirmwares;
358
+ /**
359
+ * Compares two firmware versions so that the newest sorts first, for use as an `Array#sort` comparator.
360
+ *
361
+ * Firmware versions have to be compared per numeric component rather than as text: a major version of 10
362
+ * or above precedes every 5.x.x version alphabetically, so comparing the strings ranks it as the oldest.
363
+ *
364
+ * Older firmware versions sometimes included invalid build metadata, which is removed before comparing,
365
+ * the same way {@link firmwareVersionSatisfies} does. A version that is still not valid SemVer afterwards
366
+ * sorts last, so one unparseable package filename cannot throw and take the ordering of the rest with it.
367
+ */
368
+ function compareFirmwareVersionsDesc(a, b) {
369
+ const versionA = (0, semver_1.valid)(removeInvalidBuildMetadataFromFirmwareVersion(a), { loose: true });
370
+ const versionB = (0, semver_1.valid)(removeInvalidBuildMetadataFromFirmwareVersion(b), { loose: true });
371
+ if (versionA === null && versionB === null) {
372
+ return 0;
373
+ }
374
+ if (versionA === null) {
375
+ return 1;
376
+ }
377
+ if (versionB === null) {
378
+ return -1;
379
+ }
380
+ return (0, semver_1.rcompare)(versionA, versionB, { loose: true });
381
+ }
382
+ exports.compareFirmwareVersionsDesc = compareFirmwareVersionsDesc;
339
383
  /**
340
384
  * Parses the Integro firmware version and returns an object with the date, day, month, year, version.
341
385
  *
@@ -353,16 +397,27 @@ function parseIntegroFirmwareVersion(value) {
353
397
  }
354
398
  exports.parseIntegroFirmwareVersion = parseIntegroFirmwareVersion;
355
399
  /**
356
- * Compares two firmware versions in descending order.
400
+ * Reads the firmware version out of a package filename, or returns an empty string if the filename does not
401
+ * carry one. An empty string is not a valid version, so it sorts last in {@link compareFirmwareVersionsDesc}.
357
402
  */
358
- function compareFirmwarePackagesByVersionDesc(a, b) {
359
- const re = /_v(.*).zip$/;
360
- const m1 = a.match(re);
361
- const m2 = b.match(re);
362
- if (m1 && m2) {
363
- return (0, semver_1.rcompare)(m1[1], m2[1]);
403
+ function extractFirmwareVersionOrEmpty(filename) {
404
+ try {
405
+ return extractFirmwareVersionFromFirmwarePackageFilename(filename);
406
+ }
407
+ catch (err) {
408
+ return '';
364
409
  }
365
- return 0;
410
+ }
411
+ /**
412
+ * Compares two firmware package filenames by the firmware version they carry so that the newest sorts first,
413
+ * for use as an `Array#sort` comparator.
414
+ *
415
+ * The version is read with {@link extractFirmwareVersionFromFirmwarePackageFilename}, which knows both the new
416
+ * and the old filename format and normalises the version, and compared with {@link compareFirmwareVersionsDesc}.
417
+ * A filename carrying no readable version sorts last.
418
+ */
419
+ function compareFirmwarePackagesByVersionDesc(a, b) {
420
+ return compareFirmwareVersionsDesc(extractFirmwareVersionOrEmpty(a), extractFirmwareVersionOrEmpty(b));
366
421
  }
367
422
  exports.compareFirmwarePackagesByVersionDesc = compareFirmwarePackagesByVersionDesc;
368
423
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"firmware.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/firmware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firmware.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/firmware.ts"],"names":[],"mappings":"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"}
package/src/lib/gpio.d.ts CHANGED
@@ -1,5 +1,19 @@
1
1
  import { ProductFamily } from "./product";
2
- export type GpioVoltageLevelOptions = Record<ProductFamily, {
2
+ /**
3
+ * Device-specific GPIO voltage level labels, by product family.
4
+ *
5
+ * These take precedence over the options the ESI declares for 0x2214:01, and
6
+ * are the only source of them for a family whose ESI declares none.
7
+ *
8
+ * A family is left out when its levels are unknown, or when the parameter should
9
+ * stay a plain numeric input -- Circulo NG is left out for that reason, and its
10
+ * ESI declares no options either, so nothing offers a selection for it.
11
+ *
12
+ * Leave such a family out rather than giving it an empty entry: an absent family
13
+ * falls through to whatever the ESI declares, whereas an empty object is not
14
+ * nullish and would blank the option list.
15
+ */
16
+ export type GpioVoltageLevelOptions = Partial<Record<ProductFamily, {
3
17
  [key: string]: number;
4
- }>;
18
+ }>>;
5
19
  export declare const gpioVoltageLevelOptions: GpioVoltageLevelOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"gpio.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/gpio.ts"],"names":[],"mappings":";;;AAIa,QAAA,uBAAuB,GAA4B;IAC9D,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE,yBAAyB,EAAE,CAAC,EAAE;IACtC,OAAO,EAAE,EAAE,yBAAyB,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAC,EAAE;IACzE,OAAO,EAAE,EAAE,wBAAwB,EAAE,CAAC,EAAE;IACxC,iBAAiB,EAAG,EAAE,yBAAyB,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAC,EAAE;IACpF,aAAa,EAAG,EAAE,yBAAyB,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAC,EAAE;IAChF,oBAAoB,EAAE,EAAE,wBAAwB,EAAE,CAAC,EAAE;CACtD,CAAC"}
1
+ {"version":3,"file":"gpio.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/gpio.ts"],"names":[],"mappings":";;;AAkBa,QAAA,uBAAuB,GAA4B;IAC9D,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE,yBAAyB,EAAE,CAAC,EAAE;IACtC,OAAO,EAAE,EAAE,yBAAyB,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAC,EAAE;IACzE,OAAO,EAAE,EAAE,wBAAwB,EAAE,CAAC,EAAE;IACxC,iBAAiB,EAAG,EAAE,yBAAyB,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAC,EAAE;IACpF,aAAa,EAAG,EAAE,yBAAyB,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAC,EAAE;IAChF,oBAAoB,EAAE,EAAE,wBAAwB,EAAE,CAAC,EAAE;CACtD,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export declare const productIdRange: {
2
2
  CIRCULO_SAFE_MOTION: number[];
3
+ CIRCULO_NG: number[];
4
+ CUSTOM_PROJECTS: number[];
3
5
  INTEGRO: number[];
4
6
  NODE: number[];
5
7
  NODE_SAFETY: number[];
@@ -4,6 +4,8 @@ exports.productIdRange = void 0;
4
4
  // https://docs.google.com/spreadsheets/d/1XJX1eqGau1X3sse10fuF-tVVgosbxCo-3ioUUG2CDYQ
5
5
  exports.productIdRange = {
6
6
  CIRCULO_SAFE_MOTION: [8600, 8699],
7
+ CIRCULO_NG: [4100, 5899],
8
+ CUSTOM_PROJECTS: [4000, 4099],
7
9
  INTEGRO: [9000, 9499],
8
10
  NODE: [9500, 9599],
9
11
  NODE_SAFETY: [9600, 9998],
@@ -1 +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,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACrB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;CACvB,CAAC"}
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,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACjC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACxB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACrB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;CACvB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { HardwareDescription } from './hardware-description';
2
2
  export declare const productCategories: readonly ["SOMANET", "ACTILINK", "OBLAC", "MOTORCORTEX"];
3
3
  export type ProductCategory = (typeof productCategories)[number];
4
- export declare const productFamilies: readonly ["Node", "Circulo", "Integro", "Core", "ACTILINK-S Integro", "ACTILINK-JD", "ACTILINK-JD Duo"];
4
+ export declare const productFamilies: readonly ["Node", "Circulo", "Circulo NG", "Integro", "Core", "ACTILINK-S Integro", "ACTILINK-JD", "ACTILINK-JD Duo"];
5
5
  export type ProductFamily = (typeof productFamilies)[number];
6
- export declare const productGroups: readonly ["Node 400", "Node 1000", "Node 2000", "Circulo 7", "Circulo 9", "Integro 60", "Integro 80", "ACTILINK-S Integro 60", "ACTILINK-S Integro 80", "ACTILINK-JD 8", "ACTILINK-JD 9", "ACTILINK-JD 10", "ACTILINK-JD 12", "ACTILINK-JD Duo 10", "ACTILINK-JD Duo 12"];
6
+ export declare const productGroups: readonly ["Node 400", "Node 1000", "Node 2000", "Circulo 7", "Circulo 9", "Circulo NG 60", "Circulo NG 70", "Circulo NG 80", "Circulo NG 85", "Circulo NG 100", "Integro 60", "Integro 80", "ACTILINK-S Integro 60", "ACTILINK-S Integro 80", "ACTILINK-JD 8", "ACTILINK-JD 9", "ACTILINK-JD 10", "ACTILINK-JD 12", "ACTILINK-JD Duo 10", "ACTILINK-JD Duo 12"];
7
7
  export type ProductGroup = (typeof productGroups)[number];
8
- export declare const somanetProductRangeNames: readonly ["Circulo", "Circulo Safe Motion", "Integro", "Node", "Node Safety", "ACTILINK-S", "ACTILINK-JD", "ACTILINK-JD Duo"];
8
+ export declare const somanetProductRangeNames: readonly ["Circulo", "Circulo Safe Motion", "Circulo NG", "Custom Projects", "Integro", "Node", "Node Safety", "ACTILINK-S", "ACTILINK-JD", "ACTILINK-JD Duo"];
9
9
  export type SomanetProductRangeName = (typeof somanetProductRangeNames)[number];
10
10
  export type SomanetProductRangeNameAll = SomanetProductRangeName | 'Circulo All' | 'Node All';
11
11
  export interface SomanetProduct {
@@ -186,6 +186,23 @@ export declare function getEncoderPortName(port: number, productId?: number | st
186
186
  * @returns The numeric product ID, or `undefined` if it cannot be resolved.
187
187
  */
188
188
  export declare function resolveProductId(value?: number | string | HardwareDescription | null): number | undefined;
189
+ /**
190
+ * Resolves the product id to use for encoder-recognition helpers
191
+ * (`isEncoderPortInternal`, `isEncoderPortUsable`, `getEncoderPortName`,
192
+ * `getCirculoEncoderBatteryModeOptions`, `getEncoderConfigurationExceptionCase`, ...).
193
+ *
194
+ * ACTILINK-JD / ACTILINK-JD Duo are Circulo drives wrapped in an assembly, so their assembly id
195
+ * (6400–6599) is not recognized by the encoder helpers; the underlying Circulo `device.id`
196
+ * (e.g. `8604`) is. For those, resolve to the device id so all the Circulo encoder logic applies.
197
+ *
198
+ * Every other product uses the normal (assembly-preferring) resolution. In particular ACTILINK-S
199
+ * keeps its assembly id (`6000`) — remapping it to its underlying Integro device would mis-detect
200
+ * it as an Integro (see `getEncoderConfigurationExceptionCase` case3).
201
+ *
202
+ * The remap only happens for a `HardwareDescription`, because only it carries the underlying
203
+ * `device.id`; a bare assembly id/number cannot be remapped and is returned unchanged.
204
+ */
205
+ export declare function resolveEncoderProductId(value?: number | string | HardwareDescription | null): number | undefined;
189
206
  /**
190
207
  * Returns the number of encoder ports available for a given product.
191
208
  *
@@ -211,6 +228,7 @@ export declare function getNumberOfEncoderPortsByProductId(productId?: number |
211
228
  * The identification logic follows these hardware rules:
212
229
  * - **Circulo 7 / Circulo 9:** IDs in the range [8600, 8699] are always SMM.
213
230
  * - **ACTILINK-JD:** IDs in the range [6400, 6599] are SMM only if the ID is odd.
231
+ * - **Circulo NG:** every ID in the range [4100, 5899] is SMM.
214
232
  * - All other IDs (or unresolved values) are considered non-SMM.
215
233
  */
216
234
  export declare function isProductOfTypeSmm(value?: number | string | HardwareDescription | null): boolean;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isProductOfTypeSmm = exports.getNumberOfEncoderPortsByProductId = exports.resolveProductId = exports.getEncoderPortName = exports.isInternalEncoderPortUsable = exports.isEncoderPortUsable = exports.isEncoderPortInternal = exports.somanetCirculoVariants = exports.usableCirculoEncoderPortProductIds = exports.ECDB_E1_IDS = exports.ECDL_IDS = exports.ECNN_IDS = exports.ECBN_IDS = exports.ECAN_IDS = exports.ECDN_E1_IDS = exports.isSomanetProductIdInRange = exports.isProductIdOfType = exports.findSomanetProductById = exports.findSomanetProductRangeByProductId = exports.somanetProductRanges = exports.somanetProducts = exports.somanetProductRangeNames = exports.productGroups = exports.productFamilies = exports.productCategories = void 0;
3
+ exports.isProductOfTypeSmm = exports.getNumberOfEncoderPortsByProductId = exports.resolveEncoderProductId = exports.resolveProductId = exports.getEncoderPortName = exports.isInternalEncoderPortUsable = exports.isEncoderPortUsable = exports.isEncoderPortInternal = exports.somanetCirculoVariants = exports.usableCirculoEncoderPortProductIds = exports.ECDB_E1_IDS = exports.ECDL_IDS = exports.ECNN_IDS = exports.ECBN_IDS = exports.ECAN_IDS = exports.ECDN_E1_IDS = exports.isSomanetProductIdInRange = exports.isProductIdOfType = exports.findSomanetProductById = exports.findSomanetProductRangeByProductId = exports.somanetProductRanges = exports.somanetProducts = exports.somanetProductRangeNames = exports.productGroups = exports.productFamilies = exports.productCategories = void 0;
4
4
  const hardware_description_1 = require("./hardware-description");
5
5
  exports.productCategories = ['SOMANET', 'ACTILINK', 'OBLAC', 'MOTORCORTEX'];
6
6
  exports.productFamilies = [
7
7
  'Node',
8
8
  'Circulo',
9
+ 'Circulo NG',
9
10
  'Integro',
10
11
  'Core',
11
12
  'ACTILINK-S Integro',
@@ -18,6 +19,11 @@ exports.productGroups = [
18
19
  'Node 2000',
19
20
  'Circulo 7',
20
21
  'Circulo 9',
22
+ 'Circulo NG 60',
23
+ 'Circulo NG 70',
24
+ 'Circulo NG 80',
25
+ 'Circulo NG 85',
26
+ 'Circulo NG 100',
21
27
  'Integro 60',
22
28
  'Integro 80',
23
29
  'ACTILINK-S Integro 60',
@@ -32,6 +38,8 @@ exports.productGroups = [
32
38
  exports.somanetProductRangeNames = [
33
39
  'Circulo',
34
40
  'Circulo Safe Motion',
41
+ 'Circulo NG',
42
+ 'Custom Projects',
35
43
  'Integro',
36
44
  'Node',
37
45
  'Node Safety',
@@ -550,6 +558,11 @@ exports.somanetProducts = [
550
558
  id: 6507,
551
559
  name: 'ACTILINK-JD Duo 12, SMM',
552
560
  },
561
+ { category: 'SOMANET', family: 'Circulo NG', group: 'Circulo NG 60', id: 4101, name: 'C021-60' },
562
+ { category: 'SOMANET', family: 'Circulo NG', group: 'Circulo NG 70', id: 4102, name: 'C021-70' },
563
+ { category: 'SOMANET', family: 'Circulo NG', group: 'Circulo NG 80', id: 4103, name: 'C021-80' },
564
+ { category: 'SOMANET', family: 'Circulo NG', group: 'Circulo NG 85', id: 4104, name: 'C021-85' },
565
+ { category: 'SOMANET', family: 'Circulo NG', group: 'Circulo NG 100', id: 4105, name: 'C021-100' },
553
566
  ];
554
567
  /**
555
568
  * List of all defined SOMANET product ranges with their corresponding firmware ID bounds.
@@ -567,6 +580,11 @@ exports.somanetProductRanges = [
567
580
  { name: 'Node Safety', bounds: [9600, 9998] },
568
581
  { name: 'Circulo', bounds: [8500, 8599] },
569
582
  { name: 'Circulo Safe Motion', bounds: [8600, 8699] },
583
+ // Circulo NG is not part of the 'Circulo All' aggregate. It is a CiA 402
584
+ // drive over EtherCAT, so the Circulo size classes and the encoder geometry
585
+ // they select do not apply to it.
586
+ { name: 'Circulo NG', bounds: [4100, 5899] },
587
+ { name: 'Custom Projects', bounds: [4000, 4099] },
570
588
  { name: 'Integro', bounds: [9000, 9099] },
571
589
  { name: 'ACTILINK-S', bounds: [6000, 6099] },
572
590
  { name: 'ACTILINK-JD', bounds: [6400, 6499] },
@@ -698,7 +716,7 @@ exports.somanetCirculoVariants = [
698
716
  * @returns `true` if the specified port is considered internal for the given product, otherwise `false`.
699
717
  */
700
718
  function isEncoderPortInternal(port, productId) {
701
- const id = resolveProductId(productId);
719
+ const id = resolveEncoderProductId(productId);
702
720
  if (isSomanetProductIdInRange(id, 'Integro') && port === 1) {
703
721
  return true;
704
722
  }
@@ -735,7 +753,7 @@ exports.isEncoderPortInternal = isEncoderPortInternal;
735
753
  * @returns `true` if the port is usable for the specified product, otherwise `false`.
736
754
  */
737
755
  function isEncoderPortUsable(port, productId) {
738
- const id = resolveProductId(productId);
756
+ const id = resolveEncoderProductId(productId);
739
757
  if (!id) {
740
758
  return true;
741
759
  }
@@ -768,10 +786,11 @@ exports.isEncoderPortUsable = isEncoderPortUsable;
768
786
  * @returns `true` if the port is an internal port and usable, otherwise `false`.
769
787
  */
770
788
  function isInternalEncoderPortUsable(port, productId) {
771
- if (isSomanetProductIdInRange(productId, 'Circulo All') && (port === 1 || port === 2)) {
772
- return isEncoderPortUsable(port, productId);
789
+ const id = resolveEncoderProductId(productId);
790
+ if (isSomanetProductIdInRange(id, 'Circulo All') && (port === 1 || port === 2)) {
791
+ return isEncoderPortUsable(port, id);
773
792
  }
774
- else if (isSomanetProductIdInRange(productId, 'Integro') && port === 1) {
793
+ else if (isSomanetProductIdInRange(id, 'Integro') && port === 1) {
775
794
  return true;
776
795
  }
777
796
  return false;
@@ -792,7 +811,8 @@ exports.isInternalEncoderPortUsable = isInternalEncoderPortUsable;
792
811
  * @returns The display name for the encoder port.
793
812
  */
794
813
  function getEncoderPortName(port, productId) {
795
- if (isSomanetProductIdInRange(productId, 'Circulo All')) {
814
+ const id = resolveEncoderProductId(productId);
815
+ if (isSomanetProductIdInRange(id, 'Circulo All')) {
796
816
  if (port === 1 || port === 2) {
797
817
  return `Integrated encoder ${port}`;
798
818
  }
@@ -833,6 +853,34 @@ function resolveProductId(value) {
833
853
  return;
834
854
  }
835
855
  exports.resolveProductId = resolveProductId;
856
+ /**
857
+ * Resolves the product id to use for encoder-recognition helpers
858
+ * (`isEncoderPortInternal`, `isEncoderPortUsable`, `getEncoderPortName`,
859
+ * `getCirculoEncoderBatteryModeOptions`, `getEncoderConfigurationExceptionCase`, ...).
860
+ *
861
+ * ACTILINK-JD / ACTILINK-JD Duo are Circulo drives wrapped in an assembly, so their assembly id
862
+ * (6400–6599) is not recognized by the encoder helpers; the underlying Circulo `device.id`
863
+ * (e.g. `8604`) is. For those, resolve to the device id so all the Circulo encoder logic applies.
864
+ *
865
+ * Every other product uses the normal (assembly-preferring) resolution. In particular ACTILINK-S
866
+ * keeps its assembly id (`6000`) — remapping it to its underlying Integro device would mis-detect
867
+ * it as an Integro (see `getEncoderConfigurationExceptionCase` case3).
868
+ *
869
+ * The remap only happens for a `HardwareDescription`, because only it carries the underlying
870
+ * `device.id`; a bare assembly id/number cannot be remapped and is returned unchanged.
871
+ */
872
+ function resolveEncoderProductId(value) {
873
+ var _a;
874
+ if ((0, hardware_description_1.isHardwareDescription)(value)) {
875
+ const assemblyId = (_a = value.assembly) === null || _a === void 0 ? void 0 : _a.id;
876
+ if (isSomanetProductIdInRange(assemblyId, 'ACTILINK-JD') ||
877
+ isSomanetProductIdInRange(assemblyId, 'ACTILINK-JD Duo')) {
878
+ return resolveProductId(value.device.id);
879
+ }
880
+ }
881
+ return resolveProductId(value);
882
+ }
883
+ exports.resolveEncoderProductId = resolveEncoderProductId;
836
884
  /**
837
885
  * Returns the number of encoder ports available for a given product.
838
886
  *
@@ -875,6 +923,7 @@ exports.getNumberOfEncoderPortsByProductId = getNumberOfEncoderPortsByProductId;
875
923
  * The identification logic follows these hardware rules:
876
924
  * - **Circulo 7 / Circulo 9:** IDs in the range [8600, 8699] are always SMM.
877
925
  * - **ACTILINK-JD:** IDs in the range [6400, 6599] are SMM only if the ID is odd.
926
+ * - **Circulo NG:** every ID in the range [4100, 5899] is SMM.
878
927
  * - All other IDs (or unresolved values) are considered non-SMM.
879
928
  */
880
929
  function isProductOfTypeSmm(value) {
@@ -890,6 +939,10 @@ function isProductOfTypeSmm(value) {
890
939
  if (id >= 6400 && id <= 6599) {
891
940
  return id % 2 !== 0; // Odd IDs are SMM products
892
941
  }
942
+ // Circulo NG has no non-safety variant, so the whole range is SMM
943
+ if (id >= 4100 && id <= 5899) {
944
+ return true;
945
+ }
893
946
  return false;
894
947
  }
895
948
  exports.isProductOfTypeSmm = isProductOfTypeSmm;
@@ -1 +1 @@
1
- {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/product.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/product.ts"],"names":[],"mappings":"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"}
package/src/lib/smm.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  import { Buffer } from 'buffer';
3
3
  import PythonStruct, { DataType } from 'python-struct';
4
4
  import { Parameter } from './parameter';
5
+ import { HardwareDescription } from './hardware-description';
5
6
  import { SmmOd } from './smm-od';
6
7
  import { SmmBinaryHeader } from './types';
7
8
  /**
@@ -12,6 +13,39 @@ import { SmmBinaryHeader } from './types';
12
13
  export interface SmmParameter extends Parameter {
13
14
  deviceSerialNumber: string;
14
15
  }
16
+ /**
17
+ * Object index of the Detected Module Ident List, `0xF050`, from the Modular Device Profile (ETG.5001).
18
+ * A device declares it when it can carry a detachable module and report which one is attached.
19
+ */
20
+ export declare const OD_INDEX_DETECTED_MODULE_IDENT_LIST = 61520;
21
+ /**
22
+ * Whether a device's object dictionary declares the Modular Device Profile.
23
+ *
24
+ * Only a product that can carry a detachable module implements it. Among the SOMANET devices, that is
25
+ * Circulo Safe Motion and ACTILINK-JD, which declare `0xF000`, `0xF030` and `0xF050`; a Node, a Circulo
26
+ * and an Integro declare none of them. A Circulo NG declares none either — integrated FSoE safety is a
27
+ * different thing from a module discovered over the profile, and its only F-range object is `0xF980`,
28
+ * the FSoE slave address.
29
+ *
30
+ * This says the device *can* carry a module, not that one is attached: a Circulo Safe Motion with no
31
+ * module fitted still declares `0xF050`, and reads 0 from `0xF050:02`. Presence is the right test for
32
+ * whether the SMM path applies at all, which is what the Setup Wizard and the SMM parameter space are.
33
+ */
34
+ export declare function declaresModularDeviceProfile(parameterIndexes: readonly number[]): boolean;
35
+ /**
36
+ * Whether a device keeps its safety configuration on a detachable safety module, which is what decides
37
+ * whether the SMM parameter space and the SMM Setup Wizard apply to it at all.
38
+ *
39
+ * Answered from the device's own object dictionary where possible. The dictionary is the standard
40
+ * interface — CoE objects defined by ETG, readable from any compliant device — and it states this
41
+ * outright, where a product ID only lets us infer it from a table we maintain by hand. It also needs no
42
+ * client release to classify a product that does not exist yet.
43
+ *
44
+ * `productId` is the fallback for a dictionary that has not been read. An empty or absent index list
45
+ * means "not read", never "declares nothing": on a device whose dictionary could not be read, answering
46
+ * `false` would silently take the safety configuration path away from a product that has one.
47
+ */
48
+ export declare function supportsSafetyModule(deviceParameterIndexes?: readonly number[] | null, productId?: number | string | HardwareDescription | null): boolean;
15
49
  /**
16
50
  * Resolves the appropriate SMM OD (Object Dictionary) version based on the provided parameter structure version.
17
51
  *
package/src/lib/smm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInformationFromSmmFirmwareVersion = exports.smmFirmwareUnencryptedVersions = exports.smmFirmwareSpecialVersions = exports.checkSmmFirmwareInstallationAllowed = exports.bitwiseDecodeNumberVersion = exports.bitwiseEncodeSemverString = exports.parseSmmBinaryHeaders = exports.convertGroupedSmmParametersToTransmitData = exports.getSafetyStatuswordBitNames = exports.getSafetyStatuswordBits = exports.safetyStatuswordBits = exports.safetyStatuswordBitsV2 = exports.safetyStatuswordBitsV1 = exports.smmOdV1DefaultValues = exports.getSmmParametersGroupNames = exports.packSmmSoftwareUpdateCrc = exports.packSmmValidationReport = exports.packSmmDate = exports.packSmmParameterValuesForVerification = exports.unpackSmmParameterValues = exports.packSmmParameterValues = exports.packSmmChangePassword = exports.packSmmCredentials = exports.calcSmmCRC32 = exports.buildSmmParametersPackFormat = exports.buildSmmParametersGroupPackFormats = exports.buildSmmParametersGroupBitmask = exports.resolveSmmOd = void 0;
3
+ exports.getInformationFromSmmFirmwareVersion = exports.smmFirmwareUnencryptedVersions = exports.smmFirmwareSpecialVersions = exports.checkSmmFirmwareInstallationAllowed = exports.bitwiseDecodeNumberVersion = exports.bitwiseEncodeSemverString = exports.parseSmmBinaryHeaders = exports.convertGroupedSmmParametersToTransmitData = exports.getSafetyStatuswordBitNames = exports.getSafetyStatuswordBits = exports.safetyStatuswordBits = exports.safetyStatuswordBitsV2 = exports.safetyStatuswordBitsV1 = exports.smmOdV1DefaultValues = exports.getSmmParametersGroupNames = exports.packSmmSoftwareUpdateCrc = exports.packSmmValidationReport = exports.packSmmDate = exports.packSmmParameterValuesForVerification = exports.unpackSmmParameterValues = exports.packSmmParameterValues = exports.packSmmChangePassword = exports.packSmmCredentials = exports.calcSmmCRC32 = exports.buildSmmParametersPackFormat = exports.buildSmmParametersGroupPackFormats = exports.buildSmmParametersGroupBitmask = exports.resolveSmmOd = exports.supportsSafetyModule = exports.declaresModularDeviceProfile = exports.OD_INDEX_DETECTED_MODULE_IDENT_LIST = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const buffer_1 = require("buffer");
6
6
  const python_struct_1 = tslib_1.__importDefault(require("python-struct"));
@@ -10,6 +10,48 @@ const util_1 = require("./util");
10
10
  const smm_od_v1_json_1 = tslib_1.__importDefault(require("./smm-od-v1.json"));
11
11
  const product_1 = require("./product");
12
12
  const smm_od_v2_json_1 = tslib_1.__importDefault(require("./smm-od-v2.json"));
13
+ /**
14
+ * Object index of the Detected Module Ident List, `0xF050`, from the Modular Device Profile (ETG.5001).
15
+ * A device declares it when it can carry a detachable module and report which one is attached.
16
+ */
17
+ exports.OD_INDEX_DETECTED_MODULE_IDENT_LIST = 0xf050;
18
+ /**
19
+ * Whether a device's object dictionary declares the Modular Device Profile.
20
+ *
21
+ * Only a product that can carry a detachable module implements it. Among the SOMANET devices, that is
22
+ * Circulo Safe Motion and ACTILINK-JD, which declare `0xF000`, `0xF030` and `0xF050`; a Node, a Circulo
23
+ * and an Integro declare none of them. A Circulo NG declares none either — integrated FSoE safety is a
24
+ * different thing from a module discovered over the profile, and its only F-range object is `0xF980`,
25
+ * the FSoE slave address.
26
+ *
27
+ * This says the device *can* carry a module, not that one is attached: a Circulo Safe Motion with no
28
+ * module fitted still declares `0xF050`, and reads 0 from `0xF050:02`. Presence is the right test for
29
+ * whether the SMM path applies at all, which is what the Setup Wizard and the SMM parameter space are.
30
+ */
31
+ function declaresModularDeviceProfile(parameterIndexes) {
32
+ return parameterIndexes.includes(exports.OD_INDEX_DETECTED_MODULE_IDENT_LIST);
33
+ }
34
+ exports.declaresModularDeviceProfile = declaresModularDeviceProfile;
35
+ /**
36
+ * Whether a device keeps its safety configuration on a detachable safety module, which is what decides
37
+ * whether the SMM parameter space and the SMM Setup Wizard apply to it at all.
38
+ *
39
+ * Answered from the device's own object dictionary where possible. The dictionary is the standard
40
+ * interface — CoE objects defined by ETG, readable from any compliant device — and it states this
41
+ * outright, where a product ID only lets us infer it from a table we maintain by hand. It also needs no
42
+ * client release to classify a product that does not exist yet.
43
+ *
44
+ * `productId` is the fallback for a dictionary that has not been read. An empty or absent index list
45
+ * means "not read", never "declares nothing": on a device whose dictionary could not be read, answering
46
+ * `false` would silently take the safety configuration path away from a product that has one.
47
+ */
48
+ function supportsSafetyModule(deviceParameterIndexes, productId) {
49
+ if (deviceParameterIndexes === null || deviceParameterIndexes === void 0 ? void 0 : deviceParameterIndexes.length) {
50
+ return declaresModularDeviceProfile(deviceParameterIndexes);
51
+ }
52
+ return (0, product_1.isProductOfTypeSmm)(productId);
53
+ }
54
+ exports.supportsSafetyModule = supportsSafetyModule;
13
55
  /**
14
56
  * Resolves the appropriate SMM OD (Object Dictionary) version based on the provided parameter structure version.
15
57
  *
@@ -1 +1 @@
1
- {"version":3,"file":"smm.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/smm.ts"],"names":[],"mappings":"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,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,E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"}
1
+ {"version":3,"file":"smm.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/smm.ts"],"names":[],"mappings":"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AU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE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"}