motion-master-client 0.0.232 → 0.0.234

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.232",
3
+ "version": "0.0.234",
4
4
  "type": "commonjs",
5
5
  "description": "A library and CLI program used for communicating with Motion Master.",
6
6
  "dependencies": {
@@ -125,14 +125,37 @@ export declare const unitConverterParameters: {
125
125
  */
126
126
  export declare function getUnitConverterForParameter(index: number, subindex: number): UnitConverter<any> | undefined;
127
127
  /**
128
- * Determines and formats the unit display for a given device parameter.
128
+ * Formats the unit display based on feed constant settings and SI unit velocity scaling.
129
129
  *
130
- * @param {string} unit - The unit to be formatted (e.g., "rpm").
131
- * @param {number} siUnitVelocityValue - The SI unit velocity value used to determine velocity or acceleration scaling.
132
- * @param {boolean} feedConstantEnabled - A flag indicating if the feed constant is enabled.
133
- * @param {string} feedConstantUnit - The unit of the feed constant (e.g., "millimeters").
134
- * @param {UnitConverterId} [unitConverterId] - The type of the unit, which could be "position", "velocity", or "acceleration".
130
+ * @param {string} unit - The unit to be formatted (e.g., "RPM").
131
+ * @param {number} siUnitVelocityValue - The SI unit velocity value used for velocity or acceleration scaling.
132
+ * @param {boolean} [feedConstantEnabled] - A flag indicating whether the feed constant is enabled.
133
+ * @param {string} [feedConstantUnit] - The unit of the feed constant (e.g., "mm", "inches").
135
134
  *
136
135
  * @returns {string} The formatted unit display.
137
136
  */
138
- export declare function getFormattedUnitDisplay(unit: string, siUnitVelocityValue: number, feedConstantEnabled?: boolean, feedConstantUnit?: string, unitConverterId?: UnitConverterId): string;
137
+ export declare function getFormattedUnitDisplay(unit: string, siUnitVelocityValue: number, feedConstantEnabled?: boolean, feedConstantUnit?: string): string;
138
+ /**
139
+ * List of device parameters that are unaffected by the feed constant.
140
+ *
141
+ * These parameters are excluded from unit transformations when the feed constant is enabled.
142
+ */
143
+ export declare const feedConstantUnaffectedDeviceParameters: number[][];
144
+ /**
145
+ * Determines the formatted unit display for a device parameter, considering feed constant settings.
146
+ *
147
+ * This function checks whether a device parameter (identified by `index` and `subindex`)
148
+ * should have its unit transformed based on feed constant settings. If the feed constant
149
+ * is enabled and the parameter is not in the list of unaffected parameters, it applies
150
+ * formatting using `getFormattedUnitDisplay`. Otherwise, it returns the original unit.
151
+ *
152
+ * @param {number} index - The device parameter index.
153
+ * @param {number} subindex - The device parameter subindex.
154
+ * @param {string} unit - The base unit of the parameter (e.g., "Inc").
155
+ * @param {number} siUnitVelocityValue - The SI unit velocity value used for velocity or acceleration scaling.
156
+ * @param {boolean} [feedConstantEnabled] - A flag indicating whether the feed constant is enabled.
157
+ * @param {string} [feedConstantUnit] - The unit of the feed constant (e.g., "mm", "inches").
158
+ *
159
+ * @returns {string} The formatted unit display if the feed constant applies, otherwise the original unit.
160
+ */
161
+ export declare function getDeviceParameterFormattedUnitDisplay(index: number, subindex: number, unit: string, siUnitVelocityValue: number, feedConstantEnabled?: boolean, feedConstantUnit?: string): string;
package/src/lib/units.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.getDeviceParameterFormattedUnitDisplay = exports.feedConstantUnaffectedDeviceParameters = exports.getFormattedUnitDisplay = exports.getUnitConverterForParameter = exports.unitConverterParameters = exports.unitConverters = exports.convertVelocityAffectedValue = exports.convertFeedConstantAffectedVelocityValue = exports.convertFeedConstantAffectedPositionValue = exports.convertSiUnitVelocityAffectedValue = exports.parseSiUnitVelocityValue = exports.symbolToSiUnitVelocityValue = exports.siUnitVelocityValueToSymbol = void 0;
4
4
  const util_1 = require("./util");
5
5
  /**
6
6
  * Maps the SI unit velocity value to the corresponding unit symbol.
@@ -477,33 +477,29 @@ function getUnitConverterForParameter(index, subindex) {
477
477
  }
478
478
  exports.getUnitConverterForParameter = getUnitConverterForParameter;
479
479
  /**
480
- * Determines and formats the unit display for a given device parameter.
480
+ * Formats the unit display based on feed constant settings and SI unit velocity scaling.
481
481
  *
482
- * @param {string} unit - The unit to be formatted (e.g., "rpm").
483
- * @param {number} siUnitVelocityValue - The SI unit velocity value used to determine velocity or acceleration scaling.
484
- * @param {boolean} feedConstantEnabled - A flag indicating if the feed constant is enabled.
485
- * @param {string} feedConstantUnit - The unit of the feed constant (e.g., "millimeters").
486
- * @param {UnitConverterId} [unitConverterId] - The type of the unit, which could be "position", "velocity", or "acceleration".
482
+ * @param {string} unit - The unit to be formatted (e.g., "RPM").
483
+ * @param {number} siUnitVelocityValue - The SI unit velocity value used for velocity or acceleration scaling.
484
+ * @param {boolean} [feedConstantEnabled] - A flag indicating whether the feed constant is enabled.
485
+ * @param {string} [feedConstantUnit] - The unit of the feed constant (e.g., "mm", "inches").
487
486
  *
488
487
  * @returns {string} The formatted unit display.
489
488
  */
490
- function getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled, feedConstantUnit, unitConverterId) {
489
+ function getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled, feedConstantUnit) {
491
490
  if (!unit) {
492
491
  return '';
493
492
  }
494
493
  let out = unit;
495
494
  const lcunit = unit.toLowerCase();
496
- const isPositionUnit = unitConverterId === 'position' || lcunit === 'inc';
497
- const isVelocityUnit = unitConverterId === 'velocity' || lcunit === 'rpm';
498
- const isAccelerationUnit = unitConverterId === 'acceleration' || lcunit === 'rpm/s';
499
- const isRPM = (siUnitVelocityValue & 0x00ffff00) === 0x00b44700;
500
- const isRPS = (siUnitVelocityValue & 0x00ffff00) === 0x00b40300;
501
495
  const siUnitVelocity = parseSiUnitVelocityValue(siUnitVelocityValue);
496
+ const isRPM = siUnitVelocity.type === 'minute';
497
+ const isRPS = siUnitVelocity.type === 'second';
502
498
  if (feedConstantEnabled) {
503
- if (isPositionUnit) {
499
+ if (lcunit === 'inc') {
504
500
  return feedConstantUnit || 'feed';
505
501
  }
506
- else if (isVelocityUnit) {
502
+ else if (lcunit === 'rpm') {
507
503
  out = '';
508
504
  const { scale } = siUnitVelocity;
509
505
  if (scale && scale !== 1) {
@@ -511,14 +507,14 @@ function getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled,
511
507
  }
512
508
  out += (feedConstantUnit || 'feed') + '/'; // 1e-3 feed/
513
509
  if (isRPM) {
514
- out += 'min'; // 1e3 feed/min
510
+ out += 'min'; // 1e-3 feed/min
515
511
  }
516
512
  else if (isRPS) {
517
- out += 's'; // 1e3 feed/s
513
+ out += 's'; // 1e-3 feed/s
518
514
  }
519
515
  return out;
520
516
  }
521
- else if (isAccelerationUnit) {
517
+ else if (lcunit === 'rpm/s') {
522
518
  out = '';
523
519
  const { scale } = siUnitVelocity;
524
520
  if (scale && scale !== 1) {
@@ -535,24 +531,55 @@ function getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled,
535
531
  }
536
532
  else {
537
533
  if (lcunit === 'rpm' && siUnitVelocity.unit) {
538
- out = siUnitVelocity.unit.toLowerCase();
534
+ out = siUnitVelocity.unit.toLowerCase(); // 1e-3 rpm
539
535
  }
540
536
  else if (lcunit === 'rpm/s' && siUnitVelocity.unit) {
541
537
  if (siUnitVelocity.type === 'minute') {
542
- out = siUnitVelocity.unit.toLowerCase() + '/s';
538
+ out = siUnitVelocity.unit.toLowerCase() + '/s'; // 1e-3 rpm/s
543
539
  }
544
540
  else if (siUnitVelocity.type === 'second') {
545
- out = siUnitVelocity.unit.toLowerCase().replace('rps', 'rps²');
541
+ out = siUnitVelocity.unit.toLowerCase().replace('rps', 'rps²'); // 1e-3 rps²
546
542
  }
547
543
  }
548
- else if (unitConverterId === 'velocity') {
549
- out = lcunit + '/s';
550
- }
551
- else if (unitConverterId === 'acceleration') {
552
- out = lcunit + '/s²';
553
- }
554
544
  }
555
545
  return out;
556
546
  }
557
547
  exports.getFormattedUnitDisplay = getFormattedUnitDisplay;
548
+ /**
549
+ * List of device parameters that are unaffected by the feed constant.
550
+ *
551
+ * These parameters are excluded from unit transformations when the feed constant is enabled.
552
+ */
553
+ exports.feedConstantUnaffectedDeviceParameters = [
554
+ [0x2111, 1],
555
+ [0x2111, 2],
556
+ [0x2113, 1],
557
+ [0x2113, 2], // Encoder 2 feedback - Adjusted position
558
+ ];
559
+ /**
560
+ * Determines the formatted unit display for a device parameter, considering feed constant settings.
561
+ *
562
+ * This function checks whether a device parameter (identified by `index` and `subindex`)
563
+ * should have its unit transformed based on feed constant settings. If the feed constant
564
+ * is enabled and the parameter is not in the list of unaffected parameters, it applies
565
+ * formatting using `getFormattedUnitDisplay`. Otherwise, it returns the original unit.
566
+ *
567
+ * @param {number} index - The device parameter index.
568
+ * @param {number} subindex - The device parameter subindex.
569
+ * @param {string} unit - The base unit of the parameter (e.g., "Inc").
570
+ * @param {number} siUnitVelocityValue - The SI unit velocity value used for velocity or acceleration scaling.
571
+ * @param {boolean} [feedConstantEnabled] - A flag indicating whether the feed constant is enabled.
572
+ * @param {string} [feedConstantUnit] - The unit of the feed constant (e.g., "mm", "inches").
573
+ *
574
+ * @returns {string} The formatted unit display if the feed constant applies, otherwise the original unit.
575
+ */
576
+ function getDeviceParameterFormattedUnitDisplay(index, subindex, unit, siUnitVelocityValue, feedConstantEnabled, feedConstantUnit) {
577
+ if (feedConstantEnabled === true && !exports.feedConstantUnaffectedDeviceParameters.some(([i, s]) => i === index && s === subindex)) {
578
+ return getFormattedUnitDisplay(unit, siUnitVelocityValue, feedConstantEnabled, feedConstantUnit);
579
+ }
580
+ else {
581
+ return unit;
582
+ }
583
+ }
584
+ exports.getDeviceParameterFormattedUnitDisplay = getDeviceParameterFormattedUnitDisplay;
558
585
  //# 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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"}