motion-master-client 0.0.413 → 0.0.414

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.414",
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":";;;AAAA,yCAA+C;AAC/C,2CAAkF;AAKlF;;GAEG;AACH,MAAa,UAAU;IAQrB,YACkB,OAAe,EACf,IAA4D;;QAD5D,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAAwD;QAE5E,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE5D,IAAI,CAAC,WAAW,GAAG,IAAA,iBAAK,EAAW,iBAAiB,EAAE;YACpD,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;SAC3C,CAAC,CAAC;QAEH,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,0CAAE,MAAM,IAAG,CAAC,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;SAChF;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAClF,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SAC5B;QAED,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACrE,IAAI,oBAAoB,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;SAChD;QAED,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,KAAK,EAAE;YACjC,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SAC5E;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC,CAAC;aACD,IAAI,CAAC,+BAAmB,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,eAAe;QACjB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,IAAI,IAAA,+BAAmB,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACxC,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,cAAc;;QAChB,OAAO,CAAC,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,kBAAkB;;QACpB,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,mCAAI,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU;aACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,KAAK,MAAA,CAAC,CAAC,KAAK,0CAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,MAAA,CAAC,CAAC,QAAQ,0CAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA,EAAA,CAAC;aACjF,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC;SAChC;QACD,OAAO,GAAG,GAAG,IAAI,CAAC;IACpB,CAAC;CACF;AAhFD,gCAgFC"}
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
  */
@@ -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 {
@@ -211,6 +211,7 @@ export declare function getNumberOfEncoderPortsByProductId(productId?: number |
211
211
  * The identification logic follows these hardware rules:
212
212
  * - **Circulo 7 / Circulo 9:** IDs in the range [8600, 8699] are always SMM.
213
213
  * - **ACTILINK-JD:** IDs in the range [6400, 6599] are SMM only if the ID is odd.
214
+ * - **Circulo NG:** every ID in the range [4100, 5899] is SMM.
214
215
  * - All other IDs (or unresolved values) are considered non-SMM.
215
216
  */
216
217
  export declare function isProductOfTypeSmm(value?: number | string | HardwareDescription | null): boolean;
@@ -6,6 +6,7 @@ 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] },
@@ -875,6 +893,7 @@ exports.getNumberOfEncoderPortsByProductId = getNumberOfEncoderPortsByProductId;
875
893
  * The identification logic follows these hardware rules:
876
894
  * - **Circulo 7 / Circulo 9:** IDs in the range [8600, 8699] are always SMM.
877
895
  * - **ACTILINK-JD:** IDs in the range [6400, 6599] are SMM only if the ID is odd.
896
+ * - **Circulo NG:** every ID in the range [4100, 5899] is SMM.
878
897
  * - All other IDs (or unresolved values) are considered non-SMM.
879
898
  */
880
899
  function isProductOfTypeSmm(value) {
@@ -890,6 +909,10 @@ function isProductOfTypeSmm(value) {
890
909
  if (id >= 6400 && id <= 6599) {
891
910
  return id % 2 !== 0; // Odd IDs are SMM products
892
911
  }
912
+ // Circulo NG has no non-safety variant, so the whole range is SMM
913
+ if (id >= 4100 && id <= 5899) {
914
+ return true;
915
+ }
893
916
  return false;
894
917
  }
895
918
  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":";;;;AAAA,mCAAgC;AAChC,0EAAuD;AACvD,mCAA+B;AAC/B,iCAA8F;AAC9F,0IAA0I;AAC1I,8EAAuC;AAIvC,uCAAuE;AAEvE,8EAAuC;AAYvC;;;GAGG;AACU,QAAA,mCAAmC,GAAG,MAAM,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,SAAgB,4BAA4B,CAAC,gBAAmC;IAC9E,OAAO,gBAAgB,CAAC,QAAQ,CAAC,2CAAmC,CAAC,CAAC;AACxE,CAAC;AAFD,oEAEC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,oBAAoB,CAClC,sBAAiD,EACjD,SAAwD;IAExD,IAAI,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,MAAM,EAAE;QAClC,OAAO,4BAA4B,CAAC,sBAAsB,CAAC,CAAC;KAC7D;IACD,OAAO,IAAA,4BAAkB,EAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AARD,oDAQC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,4BAAoC,MAAM;IACrE,OAAO,CAAC,yBAAyB,GAAG,MAAM,CAAC,CAAC,CAAC,wBAAO,CAAC,CAAC,CAAC,wBAAO,CAAU,CAAC;AAC3E,CAAC;AAFD,oCAEC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,8BAA8B,CAC5C,UAAkB,EAClB,4BAAoC,MAAM;IAE1C,MAAM,KAAK,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,IAAA,oBAAa,EAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAc,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SACzC;QACD,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;KAC1B;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAzBD,wEAyBC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,kCAAkC,CAAC,4BAAoC,MAAM;IAC3F,MAAM,KAAK,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,IAAA,oBAAa,EAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,sDAAsD;IACxH,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7C,IAAI,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAC1C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE;YACjD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE;gBAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAChD,UAAU,IAAI,IAAA,0CAAmC,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAClE;iBAAM;gBACL,UAAU,IAAI,IAAA,0CAAmC,EAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACnE;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC;AAnBD,gFAmBC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,4BAA4B,CAAC,4BAAoC,MAAM;IACrF,MAAM,KAAK,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;IAE3C,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE;QAC7D,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE;YAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChD,UAAU,IAAI,IAAA,0CAAmC,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAClE;aAAM;YACL,UAAU,IAAI,IAAA,0CAAmC,EAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACnE;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,OAAO,UAAU,CAAC;AACpB,CAAC;AAhBD,oEAgBC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,YAAY,CAAC,MAAkB,EAAE,OAAe;IAC9D,MAAM,QAAQ,GAAG;QACf,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,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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"}