motion-master-client 0.0.236 → 0.0.238

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/src/lib/units.js CHANGED
@@ -1,7 +1,101 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getParameterFormattedUnitDisplay = exports.feedConstantUnaffectedParameters = exports.getFormattedUnitDisplay = exports.getUnitConverterForParameter = exports.unitConverterParameters = exports.unitConverters = exports.convertVelocityAffectedValue = exports.convertFeedConstantAffectedVelocityValue = exports.convertFeedConstantAffectedPositionValue = exports.convertSiUnitVelocityAffectedValue = exports.parseSiUnitVelocityValue = exports.symbolToSiUnitVelocityValue = exports.siUnitVelocityValueToSymbol = void 0;
3
+ exports.getParameterFormattedUnitDisplay = exports.getFormattedUnitDisplay = exports.getUnitConverterForParameter = exports.unitConverterParameters = exports.unitConverters = exports.convertParameterVelocityAffectedValue = exports.convertParameterFeedConstantAffectedVelocityValue = exports.convertFeedConstantAffectedVelocityValue = exports.convertParameterFeedConstantAffectedPositionValue = exports.convertFeedConstantAffectedPositionValue = exports.convertParameterSiUnitVelocityAffectedValue = exports.convertSiUnitVelocityAffectedValue = exports.parseSiUnitVelocityValue = exports.symbolToSiUnitVelocityValue = exports.siUnitVelocityValueToSymbol = exports.unitConverterAccelerationParameters = exports.unitConverterVelocityParameters = exports.unitConverterPositionParameters = exports.siUnitVelocityAffectedParameters = exports.feedConstantPositionAffectedParameters = exports.feedConstantAndSiUnitVelocityAffectedParameters = void 0;
4
4
  const util_1 = require("./util");
5
+ /**
6
+ * List of parameters affected by Feed constant and SI unit velocity.
7
+ *
8
+ * This is derived from the Google Sheet document titled "Objects scaled with Feed and SI unit velocity".
9
+ */
10
+ exports.feedConstantAndSiUnitVelocityAffectedParameters = [
11
+ // Position
12
+ [0x2004, 0x08, 0x00b50000, false, false],
13
+ [0x2005, 0x01, 0x00b50000, true, false],
14
+ [0x2005, 0x04, 0x00b50000, true, false],
15
+ [0x2040, 0x00, 0x00b50000, false, false],
16
+ [0x2110, 0x06, 0x00b50000, false, false],
17
+ [0x2110, 0x19, 0x00b50000, false, false],
18
+ [0x2111, 0x01, 0x00b50000, false, false],
19
+ [0x2111, 0x02, 0x00b50000, false, false],
20
+ [0x2112, 0x06, 0x00b50000, false, false],
21
+ [0x2112, 0x19, 0x00b50000, false, false],
22
+ [0x2113, 0x01, 0x00b50000, false, false],
23
+ [0x2113, 0x02, 0x00b50000, false, false],
24
+ [0x2213, 0x01, 0x00b50000, false, false],
25
+ [0x2625, 0x02, 0x00b50000, false, false],
26
+ [0x2625, 0x04, 0x00b50000, false, false],
27
+ [0x2630, 0x02, 0x00b50000, false, false],
28
+ [0x2631, 0x02, 0x00b50000, false, false],
29
+ [0x6062, 0x00, 0x00b50000, true, false],
30
+ [0x6064, 0x00, 0x00b50000, true, false],
31
+ [0x6065, 0x00, 0x00b50000, true, false],
32
+ [0x6067, 0x00, 0x00b50000, true, false],
33
+ [0x607a, 0x00, 0x00b50000, true, false],
34
+ [0x607b, 0x01, 0x00b50000, true, false],
35
+ [0x607b, 0x02, 0x00b50000, true, false],
36
+ [0x607c, 0x00, 0x00b50000, true, false],
37
+ [0x607d, 0x01, 0x00b50000, true, false],
38
+ [0x607d, 0x02, 0x00b50000, true, false],
39
+ [0x60f4, 0x00, 0x00b50000, true, false],
40
+ [0x60fc, 0x00, 0x00b50000, true, false],
41
+ // Velocity
42
+ [0x2010, 0x06, 0x00b44700, false, false],
43
+ [0x2010, 0x07, 0x00b44700, false, false],
44
+ [0x2012, 0x04, 0x00b44700, true, true],
45
+ [0x2013, 0x02, 0x00b44700, true, true],
46
+ [0x2013, 0x06, 0x00b44700, true, true],
47
+ [0x2013, 0x11, 0x00b44700, true, true],
48
+ [0x2013, 0x15, 0x00b44700, true, true],
49
+ [0x2018, 0x01, 0x00b44700, true, true],
50
+ [0x2018, 0x03, 0x00b44700, true, true],
51
+ [0x2111, 0x03, 0x00b44700, false, true],
52
+ [0x2113, 0x03, 0x00b44700, false, true],
53
+ [0x606b, 0x00, 0x00b44700, true, true],
54
+ [0x606c, 0x00, 0x00b44700, true, true],
55
+ [0x606d, 0x00, 0x00b44700, true, true],
56
+ [0x606f, 0x00, 0x00b44700, true, true],
57
+ [0x6080, 0x00, 0x00b44700, false, true],
58
+ [0x6081, 0x00, 0x00b44700, true, true],
59
+ [0x6099, 0x01, 0x00b44700, true, true],
60
+ [0x6099, 0x02, 0x00b44700, true, true],
61
+ [0x60b1, 0x00, 0x00b44700, true, true],
62
+ [0x60ff, 0x00, 0x00b44700, true, true],
63
+ // Acceleration
64
+ [0x6083, 0x00, 0x00b60300, true, true],
65
+ [0x6084, 0x00, 0x00b60300, true, true],
66
+ [0x6085, 0x00, 0x00b60300, true, true],
67
+ [0x609a, 0x00, 0x00b60300, true, true], // Homing acceleration
68
+ ];
69
+ /**
70
+ * Filters parameters affected by Feed constant, including only position parameters.
71
+ */
72
+ exports.feedConstantPositionAffectedParameters = exports.feedConstantAndSiUnitVelocityAffectedParameters
73
+ .filter(([, , unit, affectedByFeedConstant]) => unit === 0x00b50000 && affectedByFeedConstant === true)
74
+ .map(([index, subindex]) => [index, subindex]);
75
+ /**
76
+ * Filters parameters affected by SI unit velocity, including both velocity and acceleration parameters excluding position parameters.
77
+ */
78
+ exports.siUnitVelocityAffectedParameters = exports.feedConstantAndSiUnitVelocityAffectedParameters
79
+ .filter(([, , unit, , affectedBySiUnitVelocity]) => (unit === 0x00b44700 || unit === 0x00b60300) && affectedBySiUnitVelocity === true)
80
+ .map(([index, subindex]) => [index, subindex]);
81
+ /**
82
+ * Filters position parameters affected by the Feed constant, specifically those relevant to interface unit conversion in the UI.
83
+ */
84
+ exports.unitConverterPositionParameters = exports.feedConstantAndSiUnitVelocityAffectedParameters
85
+ .filter(([, , unit, affectedByFeedConstant]) => unit === 0x00b50000 && affectedByFeedConstant === true)
86
+ .map(([index, subindex]) => [index, subindex]);
87
+ /**
88
+ * Filters velocity parameters affected by the Feed constant, specifically those relevant to interface unit conversion in the UI.
89
+ */
90
+ exports.unitConverterVelocityParameters = exports.feedConstantAndSiUnitVelocityAffectedParameters
91
+ .filter(([, , unit, affectedByFeedConstant]) => unit === 0x00b44700 && affectedByFeedConstant === true)
92
+ .map(([index, subindex]) => [index, subindex]);
93
+ /**
94
+ * Filters acceleration parameters affected by the Feed constant, specifically those relevant to interface unit conversion in the UI.
95
+ */
96
+ exports.unitConverterAccelerationParameters = exports.feedConstantAndSiUnitVelocityAffectedParameters
97
+ .filter(([, , unit, affectedByFeedConstant]) => unit === 0x00b60300 && affectedByFeedConstant === true)
98
+ .map(([index, subindex]) => [index, subindex]);
5
99
  /**
6
100
  * Maps the SI unit velocity value to the corresponding unit symbol.
7
101
  */
@@ -89,6 +183,21 @@ function convertSiUnitVelocityAffectedValue(value, oldSiUnitVelocityValue, newSi
89
183
  return round ? Math.round(value) : value;
90
184
  }
91
185
  exports.convertSiUnitVelocityAffectedValue = convertSiUnitVelocityAffectedValue;
186
+ function convertParameterSiUnitVelocityAffectedValue(index, subindex, value, oldSiUnitVelocityValue, newSiUnitVelocityValue, round = true) {
187
+ var _a;
188
+ const [idx, , , , affectedBySiUnitVelocity] = (_a = exports.feedConstantAndSiUnitVelocityAffectedParameters.find(([i, s]) => i === index && s === subindex)) !== null && _a !== void 0 ? _a : [
189
+ 0,
190
+ 0,
191
+ 0,
192
+ false,
193
+ false,
194
+ ];
195
+ if (!affectedBySiUnitVelocity && idx !== 0) {
196
+ return value;
197
+ }
198
+ return convertSiUnitVelocityAffectedValue(value, oldSiUnitVelocityValue, newSiUnitVelocityValue, round);
199
+ }
200
+ exports.convertParameterSiUnitVelocityAffectedValue = convertParameterSiUnitVelocityAffectedValue;
92
201
  /**
93
202
  * Use this function when the Feed constant changes to update the position affected parameters.
94
203
  * Depending on whether the Feed constant gets disabled, enabled, or its value changes, the function will perform conversion, inversion, or scaling.
@@ -110,6 +219,21 @@ function convertFeedConstantAffectedPositionValue(value, oldFeedConstant, newFee
110
219
  return out;
111
220
  }
112
221
  exports.convertFeedConstantAffectedPositionValue = convertFeedConstantAffectedPositionValue;
222
+ function convertParameterFeedConstantAffectedPositionValue(index, subindex, value, oldFeedConstant, newFeedConstant, resolution) {
223
+ var _a;
224
+ const [idx, , , affectedByFeedConstant] = (_a = exports.feedConstantAndSiUnitVelocityAffectedParameters.find(([i, s]) => i === index && s === subindex)) !== null && _a !== void 0 ? _a : [
225
+ 0,
226
+ 0,
227
+ 0,
228
+ false,
229
+ false,
230
+ ];
231
+ if (!affectedByFeedConstant && idx !== 0) {
232
+ return value;
233
+ }
234
+ return convertFeedConstantAffectedPositionValue(value, oldFeedConstant, newFeedConstant, resolution);
235
+ }
236
+ exports.convertParameterFeedConstantAffectedPositionValue = convertParameterFeedConstantAffectedPositionValue;
113
237
  /**
114
238
  * Use this function when the Feed constant changes to update the velocity affected parameters.
115
239
  * Depending on whether the Feed constant gets disabled, enabled, or its value changes, the function will perform conversion, inversion, or scaling.
@@ -131,15 +255,41 @@ function convertFeedConstantAffectedVelocityValue(value, oldFeedConstant, newFee
131
255
  return out;
132
256
  }
133
257
  exports.convertFeedConstantAffectedVelocityValue = convertFeedConstantAffectedVelocityValue;
258
+ function convertParameterFeedConstantAffectedVelocityValue(index, subindex, value, oldFeedConstant, newFeedConstant) {
259
+ var _a;
260
+ const [idx, , , affectedByFeedConstant] = (_a = exports.feedConstantAndSiUnitVelocityAffectedParameters.find(([i, s]) => i === index && s === subindex)) !== null && _a !== void 0 ? _a : [
261
+ 0,
262
+ 0,
263
+ 0,
264
+ false,
265
+ false,
266
+ ];
267
+ if (!affectedByFeedConstant && idx !== 0) {
268
+ return value;
269
+ }
270
+ return convertFeedConstantAffectedVelocityValue(value, oldFeedConstant, newFeedConstant);
271
+ }
272
+ exports.convertParameterFeedConstantAffectedVelocityValue = convertParameterFeedConstantAffectedVelocityValue;
134
273
  /**
135
- * Use this function when the velocity and/or feed constant changes to update the affected parameters.
274
+ * Adjusts the given value based on the SI unit velocity and Feed constant.
275
+ * It checks if the parameters are influenced by either of these two factors and applies the appropriate conversions.
276
+ *
277
+ * @param {number} index - The index identifying the affected parameter.
278
+ * @param {number} subindex - The subindex identifying the affected parameter.
279
+ * @param {number} value - The value to be adjusted based on the SI unit velocity or Feed constant.
280
+ * @param {number} oldSiUnitVelocity - The original SI unit velocity value.
281
+ * @param {number} newSiUnitVelocity - The new SI unit velocity value to convert to.
282
+ * @param {number} oldFeedConstant - The original Feed constant value.
283
+ * @param {number} newFeedConstant - The new Feed constant value to convert to.
284
+ *
285
+ * @returns {number} The adjusted value after applying the necessary conversions.
136
286
  */
137
- function convertVelocityAffectedValue(value, oldSiUnitVelocity, newSiUnitVelocity, oldFeedConstant, newFeedConstant) {
138
- value = convertSiUnitVelocityAffectedValue(value, oldSiUnitVelocity, newSiUnitVelocity);
139
- value = convertFeedConstantAffectedVelocityValue(value, oldFeedConstant, newFeedConstant);
287
+ function convertParameterVelocityAffectedValue(index, subindex, value, oldSiUnitVelocity, newSiUnitVelocity, oldFeedConstant, newFeedConstant) {
288
+ value = convertParameterSiUnitVelocityAffectedValue(index, subindex, value, oldSiUnitVelocity, newSiUnitVelocity);
289
+ value = convertParameterFeedConstantAffectedVelocityValue(index, subindex, value, oldFeedConstant, newFeedConstant);
140
290
  return value;
141
291
  }
142
- exports.convertVelocityAffectedValue = convertVelocityAffectedValue;
292
+ exports.convertParameterVelocityAffectedValue = convertParameterVelocityAffectedValue;
143
293
  /**
144
294
  * Represents an instance of a unit converters.
145
295
  * Each unit type has dedicated formatter and parser functions:
@@ -401,37 +551,11 @@ exports.unitConverters = {
401
551
  },
402
552
  };
403
553
  exports.unitConverterParameters = {
404
- acceleration: [
405
- [0x6083, 0],
406
- [0x6084, 0],
407
- [0x6085, 0],
408
- [0x609a, 0],
409
- ],
554
+ acceleration: exports.unitConverterAccelerationParameters,
410
555
  current: [[0x6073, 0]],
411
556
  friction: [],
412
557
  inertia: [],
413
- position: [
414
- [0x2004, 8],
415
- [0x2005, 1],
416
- [0x2005, 4],
417
- [0x2111, 1],
418
- [0x2111, 2],
419
- [0x2113, 1],
420
- [0x2113, 2],
421
- [0x2213, 1],
422
- [0x6062, 0],
423
- [0x6064, 0],
424
- [0x6065, 0],
425
- [0x6067, 0],
426
- [0x607a, 0],
427
- [0x607b, 1],
428
- [0x607b, 2],
429
- [0x607c, 0],
430
- [0x607d, 1],
431
- [0x607d, 2],
432
- [0x60f4, 0],
433
- [0x60fc, 0],
434
- ],
558
+ position: exports.unitConverterPositionParameters,
435
559
  torque: [
436
560
  [0x6071, 0],
437
561
  [0x6072, 0],
@@ -439,28 +563,7 @@ exports.unitConverterParameters = {
439
563
  [0x6077, 0],
440
564
  [0x60b2, 0],
441
565
  ],
442
- velocity: [
443
- [0x2010, 6],
444
- [0x2010, 7],
445
- [0x2012, 4],
446
- [0x2013, 2],
447
- [0x2013, 11],
448
- [0x2013, 15],
449
- [0x2013, 15],
450
- [0x2018, 1],
451
- [0x2018, 3],
452
- [0x2111, 3],
453
- [0x2113, 3],
454
- [0x606b, 0],
455
- [0x606c, 0],
456
- [0x606d, 0],
457
- [0x606f, 2],
458
- [0x6081, 0],
459
- [0x6099, 1],
460
- [0x6099, 2],
461
- [0x60b1, 0],
462
- [0x60ff, 0],
463
- ],
566
+ velocity: exports.unitConverterVelocityParameters,
464
567
  };
465
568
  /**
466
569
  * Get the unit converter for a given parameter index and subindex.
@@ -486,7 +589,7 @@ exports.getUnitConverterForParameter = getUnitConverterForParameter;
486
589
  *
487
590
  * @returns {string} The formatted unit display.
488
591
  */
489
- function getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled, feedConstantUnit, unaffectedByFeedConstant = false) {
592
+ function getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled, feedConstantUnit, affectedByFeedConstant = false, affectedBySiUnitVelocity = false) {
490
593
  if (!unit) {
491
594
  return '';
492
595
  }
@@ -495,7 +598,7 @@ function getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled,
495
598
  const siUnitVelocity = parseSiUnitVelocityValue(siUnitVelocityValue);
496
599
  const isRPM = siUnitVelocity.type === 'minute';
497
600
  const isRPS = siUnitVelocity.type === 'second';
498
- if (feedConstantEnabled && !unaffectedByFeedConstant) {
601
+ if (feedConstantEnabled && affectedByFeedConstant) {
499
602
  if (lcunit === 'inc') {
500
603
  return feedConstantUnit || 'feed';
501
604
  }
@@ -529,7 +632,7 @@ function getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled,
529
632
  }
530
633
  }
531
634
  }
532
- else {
635
+ else if (affectedBySiUnitVelocity) {
533
636
  if (lcunit === 'rpm' && siUnitVelocity.unit) {
534
637
  out = siUnitVelocity.unit.toLowerCase(); // 1e-3 rpm
535
638
  }
@@ -545,28 +648,6 @@ function getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled,
545
648
  return out;
546
649
  }
547
650
  exports.getFormattedUnitDisplay = getFormattedUnitDisplay;
548
- /**
549
- * List of position and velocity parameters that are unaffected by the feed constant.
550
- *
551
- * These parameters are not affected by unit transformations when the feed constant is enabled.
552
- *
553
- * For position parameters: When the feed constant is enabled,
554
- * these parameters always return "Inc" instead of "mm" for example.
555
- *
556
- * For velocity parameters: When the feed constant is enabled, and SI unit velocity scaling is used,
557
- * these parameters return "1e-1 rpm" instead of "1e-1 mm/min" for example.
558
- */
559
- exports.feedConstantUnaffectedParameters = [
560
- // Position parameters
561
- [0x2111, 1],
562
- [0x2111, 2],
563
- [0x2113, 1],
564
- [0x2113, 2],
565
- // Velocity parameters
566
- [0x6080, 0],
567
- [0x2111, 3],
568
- [0x2113, 3], // Encoder 2 feedback - Velocity
569
- ];
570
651
  /**
571
652
  * Determines the formatted unit display for a parameter, considering feed constant settings.
572
653
  *
@@ -585,8 +666,9 @@ exports.feedConstantUnaffectedParameters = [
585
666
  * @returns {string} The formatted unit display if the feed constant applies, otherwise the original unit.
586
667
  */
587
668
  function getParameterFormattedUnitDisplay(index, subindex, unit, siUnitVelocityValue, feedConstantEnabled, feedConstantUnit) {
588
- const unaffectedByFeedConstant = exports.feedConstantUnaffectedParameters.some(([i, s]) => i === index && s === subindex);
589
- return getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled, feedConstantUnit, unaffectedByFeedConstant);
669
+ var _a;
670
+ let [, , , affectedByFeedConstant, affectedBySiUnitVelocity] = (_a = exports.feedConstantAndSiUnitVelocityAffectedParameters.find(([i, s]) => i === index && s === subindex)) !== null && _a !== void 0 ? _a : [0, 0, 0, true, true];
671
+ return getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled, feedConstantUnit, affectedByFeedConstant, affectedBySiUnitVelocity);
590
672
  }
591
673
  exports.getParameterFormattedUnitDisplay = getParameterFormattedUnitDisplay;
592
674
  //# sourceMappingURL=units.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"units.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/units.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"units.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/units.ts"],"names":[],"mappings":"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"}