motion-master-client 0.0.197 → 0.0.198

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.197",
3
+ "version": "0.0.198",
4
4
  "type": "commonjs",
5
5
  "description": "A library and CLI program used for communicating with Motion Master.",
6
6
  "dependencies": {
@@ -45,11 +45,11 @@ export declare function convertFeedConstantAffectedVelocityValue(value: number,
45
45
  */
46
46
  export declare function convertVelocityAffectedValue(value: number, oldSiUnitVelocity: number, newSiUnitVelocity: number, oldFeedConstant: number, newFeedConstant: number): number;
47
47
  /**
48
- * A unit converter type that includes formatter and parser functions,
49
- * along with options for selecting the desired unit.
48
+ * Represents a unit conversion object with formatting, parsing, and unit options.
50
49
  */
51
- export interface UnitConverterType<T> {
52
- formatter: (unit: string, value: number, data: T) => number | string;
50
+ export interface UnitConverter<T> {
51
+ id: keyof UnitConverters;
52
+ formatter: (unit: string, value: number, data: T) => string;
53
53
  options: {
54
54
  value: string;
55
55
  text: string;
@@ -57,31 +57,33 @@ export interface UnitConverterType<T> {
57
57
  parser: (unit: string, value: number | string, data: T) => number;
58
58
  }
59
59
  /**
60
- * Interface for a unit converter supporting various unit types.
61
- * Each unit type has its own dedicated converter functions for formatting and parsing.
60
+ * A collection of unit converters for different unit types.
62
61
  */
63
- export interface UnitConverter {
64
- current: UnitConverterType<{
62
+ export interface UnitConverters {
63
+ current: UnitConverter<{
65
64
  motorRatedCurrent: number;
66
65
  }>;
67
- friction: UnitConverterType<unknown>;
68
- inertia: UnitConverterType<unknown>;
69
- position: UnitConverterType<{
66
+ friction: UnitConverter<unknown>;
67
+ inertia: UnitConverter<unknown>;
68
+ position: UnitConverter<{
70
69
  resolution: number;
70
+ feed?: number;
71
71
  }>;
72
- torque: UnitConverterType<{
72
+ torque: UnitConverter<{
73
73
  motorRatedTorque: number;
74
74
  }>;
75
- velocity: UnitConverterType<{
75
+ velocity: UnitConverter<{
76
76
  siUnitVelocity: number;
77
+ feed?: number;
77
78
  }>;
78
79
  }
79
80
  /**
80
- * Represents the unit types supported by the unit converter.
81
+ * A type representing the keys of the UnitConverters interface.
82
+ * This allows referencing specific unit converter types (e.g., 'current', 'friction').
81
83
  */
82
- export type UnitType = keyof UnitConverter;
84
+ export type UnitConverterId = keyof UnitConverters;
83
85
  /**
84
- * Represents an instance of a unit converter.
86
+ * Represents an instance of a unit converters.
85
87
  * Each unit type has dedicated formatter and parser functions:
86
88
  * - Formatter: Converts the original value to the desired unit, used for display purposes.
87
89
  * - Parser: Converts the value back to the original unit, used for transmitting values to devices in their original unit (e.g., position increments).
@@ -89,11 +91,11 @@ export type UnitType = keyof UnitConverter;
89
91
  * Options allow selection of the desired unit.
90
92
  * Some formatter functions may require additional data, such as motor rated current, for accurate conversion.
91
93
  */
92
- export declare const unitConverter: UnitConverter;
93
- export declare const unitConversionParameters: {
94
- [key: string]: [number, number][];
94
+ export declare const unitConverters: UnitConverters;
95
+ export declare const unitConverterParameters: {
96
+ [key in keyof UnitConverters]: [number, number][];
95
97
  };
96
98
  /**
97
99
  * Get the unit type for a given parameter index and subindex.
98
100
  */
99
- export declare function getUnitTypeForParameter(index: number, subindex: number): UnitType | undefined;
101
+ export declare function getUnitConverterForParameter(index: number, subindex: number): UnitConverter<any> | undefined;
package/src/lib/units.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUnitTypeForParameter = exports.unitConversionParameters = exports.unitConverter = exports.convertVelocityAffectedValue = exports.convertFeedConstantAffectedVelocityValue = exports.convertFeedConstantAffectedPositionValue = exports.convertSiUnitVelocityAffectedValue = exports.siUnitVelocityScales = exports.siUnitVelocityValue = void 0;
3
+ exports.getUnitConverterForParameter = exports.unitConverterParameters = exports.unitConverters = exports.convertVelocityAffectedValue = exports.convertFeedConstantAffectedVelocityValue = exports.convertFeedConstantAffectedPositionValue = exports.convertSiUnitVelocityAffectedValue = exports.siUnitVelocityScales = exports.siUnitVelocityValue = void 0;
4
4
  const util_1 = require("./util");
5
5
  /**
6
6
  * These are the SI unit velocity values as defined in the 0x60A9:00 SI unit velocity object.
@@ -127,7 +127,7 @@ function convertVelocityAffectedValue(value, oldSiUnitVelocity, newSiUnitVelocit
127
127
  }
128
128
  exports.convertVelocityAffectedValue = convertVelocityAffectedValue;
129
129
  /**
130
- * Represents an instance of a unit converter.
130
+ * Represents an instance of a unit converters.
131
131
  * Each unit type has dedicated formatter and parser functions:
132
132
  * - Formatter: Converts the original value to the desired unit, used for display purposes.
133
133
  * - Parser: Converts the value back to the original unit, used for transmitting values to devices in their original unit (e.g., position increments).
@@ -135,14 +135,15 @@ exports.convertVelocityAffectedValue = convertVelocityAffectedValue;
135
135
  * Options allow selection of the desired unit.
136
136
  * Some formatter functions may require additional data, such as motor rated current, for accurate conversion.
137
137
  */
138
- exports.unitConverter = {
138
+ exports.unitConverters = {
139
139
  current: {
140
+ id: 'current',
140
141
  formatter: (unit, value, data) => {
141
142
  if (unit === 'mA') {
142
- return Math.round((value / 1000) * data.motorRatedCurrent);
143
+ return (0, util_1.toFixedFormat)(Math.round((value / 1000) * data.motorRatedCurrent));
143
144
  }
144
145
  else {
145
- return value;
146
+ return (0, util_1.toFixedFormat)(value);
146
147
  }
147
148
  },
148
149
  options: [
@@ -160,12 +161,13 @@ exports.unitConverter = {
160
161
  },
161
162
  },
162
163
  friction: {
164
+ id: 'friction',
163
165
  formatter: (unit, value) => {
164
166
  if (unit === 'Nm/kRPM') {
165
- return value * 104.71975511965977; // (2 * Math.PI * 1000 / 60)
167
+ return (0, util_1.toFixedFormat)(value * 104.71975511965977); // (2 * Math.PI * 1000 / 60)
166
168
  }
167
169
  else {
168
- return value;
170
+ return (0, util_1.toFixedFormat)(value);
169
171
  }
170
172
  },
171
173
  options: [
@@ -183,15 +185,16 @@ exports.unitConverter = {
183
185
  },
184
186
  },
185
187
  inertia: {
188
+ id: 'inertia',
186
189
  formatter: (unit, value) => {
187
190
  if (unit === 'g cm²') {
188
- return value * 1e7;
191
+ return (0, util_1.toFixedFormat)(value * 1e7);
189
192
  }
190
193
  else if (unit === 'kg cm²') {
191
- return value * 1e4;
194
+ return (0, util_1.toFixedFormat)(value * 1e4);
192
195
  }
193
196
  else {
194
- return value;
197
+ return (0, util_1.toFixedFormat)(value);
195
198
  }
196
199
  },
197
200
  options: [
@@ -213,35 +216,52 @@ exports.unitConverter = {
213
216
  },
214
217
  },
215
218
  position: {
219
+ id: 'position',
216
220
  formatter: (unit, value, data) => {
217
- if (unit === 'deg') {
218
- return (0, util_1.toFixedFormat)((value / data.resolution) * 360);
221
+ let feed = data.feed;
222
+ if (!feed) {
223
+ if (unit === 'deg') {
224
+ feed = 360;
225
+ }
226
+ else if (unit === 'rev') {
227
+ feed = 1;
228
+ }
219
229
  }
220
- else {
221
- return value;
230
+ if (!feed) {
231
+ return (0, util_1.toFixedFormat)(value);
222
232
  }
233
+ return (0, util_1.toFixedFormat)((value / data.resolution) * feed);
223
234
  },
224
235
  options: [
225
236
  { value: 'inc', text: 'Increments (native)' },
226
237
  { value: 'deg', text: 'Degrees' },
238
+ { value: 'rev', text: 'Revolutions' },
227
239
  ],
228
240
  parser: (unit, value, data) => {
229
241
  value = typeof value === 'string' ? parseFloat(value) : value;
230
- if (unit === 'deg') {
231
- return Math.round((value / 360) * data.resolution);
242
+ let feed = data.feed;
243
+ if (!feed) {
244
+ if (unit === 'deg') {
245
+ feed = 360;
246
+ }
247
+ else if (unit === 'rev') {
248
+ feed = 1;
249
+ }
232
250
  }
233
- else {
251
+ if (!feed) {
234
252
  return value;
235
253
  }
254
+ return Math.round((value / feed) * data.resolution);
236
255
  },
237
256
  },
238
257
  torque: {
258
+ id: 'torque',
239
259
  formatter: (unit, value, data) => {
240
260
  if (unit === 'mNm') {
241
- return Math.round((value / 1000) * data.motorRatedTorque);
261
+ return (0, util_1.toFixedFormat)(Math.round((value / 1000) * data.motorRatedTorque));
242
262
  }
243
263
  else {
244
- return value;
264
+ return (0, util_1.toFixedFormat)(value);
245
265
  }
246
266
  },
247
267
  options: [
@@ -259,40 +279,64 @@ exports.unitConverter = {
259
279
  },
260
280
  },
261
281
  velocity: {
282
+ id: 'velocity',
262
283
  formatter: (unit, value, data) => {
263
- if (unit === 'deg/s') {
264
- if ([exports.siUnitVelocityValue.RPM, exports.siUnitVelocityValue.dRPM, exports.siUnitVelocityValue.cRPM, exports.siUnitVelocityValue.mRPM].includes(data.siUnitVelocity)) {
265
- return (0, util_1.toFixedFormat)(value * 6 * exports.siUnitVelocityScales[data.siUnitVelocity].scale);
284
+ let feed = data.feed;
285
+ if (!feed) {
286
+ if (unit === 'deg/s') {
287
+ feed = 360;
266
288
  }
267
- else if ([exports.siUnitVelocityValue.RPS, exports.siUnitVelocityValue.dRPS, exports.siUnitVelocityValue.cRPS, exports.siUnitVelocityValue.mRPS].includes(data.siUnitVelocity)) {
268
- return (0, util_1.toFixedFormat)(value * 360 * exports.siUnitVelocityScales[data.siUnitVelocity].scale);
289
+ else if (unit === 'rev/s') {
290
+ feed = 1;
269
291
  }
270
292
  }
271
- return value;
293
+ if (!feed) {
294
+ return (0, util_1.toFixedFormat)(value);
295
+ }
296
+ if ([exports.siUnitVelocityValue.RPM, exports.siUnitVelocityValue.dRPM, exports.siUnitVelocityValue.cRPM, exports.siUnitVelocityValue.mRPM].includes(data.siUnitVelocity)) {
297
+ return (0, util_1.toFixedFormat)(value * (feed / 60) * exports.siUnitVelocityScales[data.siUnitVelocity].scale);
298
+ }
299
+ else if ([exports.siUnitVelocityValue.RPS, exports.siUnitVelocityValue.dRPS, exports.siUnitVelocityValue.cRPS, exports.siUnitVelocityValue.mRPS].includes(data.siUnitVelocity)) {
300
+ return (0, util_1.toFixedFormat)(value * feed * exports.siUnitVelocityScales[data.siUnitVelocity].scale);
301
+ }
302
+ return (0, util_1.toFixedFormat)(value);
272
303
  },
273
304
  options: [
274
305
  // The 'RPM' unit should be updated in the UI to reflect the appropriate SI unit for velocity.
275
306
  { value: 'RPM', text: 'Rounds per minute (native)' },
276
307
  { value: 'deg/s', text: 'Degrees per second' },
308
+ { value: 'rev/s', text: 'Revolutions per second' },
277
309
  ],
278
310
  parser: (unit, value, data) => {
279
311
  value = typeof value === 'string' ? parseFloat(value) : value;
280
- if (unit === 'deg/s') {
281
- if ([exports.siUnitVelocityValue.RPM, exports.siUnitVelocityValue.dRPM, exports.siUnitVelocityValue.cRPM, exports.siUnitVelocityValue.mRPM].includes(data.siUnitVelocity)) {
282
- return Math.round(value / 6 * (1 / exports.siUnitVelocityScales[data.siUnitVelocity].scale));
312
+ let feed = data.feed;
313
+ if (!feed) {
314
+ if (unit === 'deg/s') {
315
+ feed = 360;
283
316
  }
284
- else if ([exports.siUnitVelocityValue.RPS, exports.siUnitVelocityValue.dRPS, exports.siUnitVelocityValue.cRPS, exports.siUnitVelocityValue.mRPS].includes(data.siUnitVelocity)) {
285
- return Math.round(value / 360 * (1 / exports.siUnitVelocityScales[data.siUnitVelocity].scale));
317
+ else if (unit === 'rev/s') {
318
+ feed = 1;
286
319
  }
287
320
  }
321
+ if (!feed) {
322
+ return value;
323
+ }
324
+ if ([exports.siUnitVelocityValue.RPM, exports.siUnitVelocityValue.dRPM, exports.siUnitVelocityValue.cRPM, exports.siUnitVelocityValue.mRPM].includes(data.siUnitVelocity)) {
325
+ return Math.round(value / (feed / 60) * (1 / exports.siUnitVelocityScales[data.siUnitVelocity].scale));
326
+ }
327
+ else if ([exports.siUnitVelocityValue.RPS, exports.siUnitVelocityValue.dRPS, exports.siUnitVelocityValue.cRPS, exports.siUnitVelocityValue.mRPS].includes(data.siUnitVelocity)) {
328
+ return Math.round(value / feed * (1 / exports.siUnitVelocityScales[data.siUnitVelocity].scale));
329
+ }
288
330
  return Math.round(value);
289
331
  },
290
- }
332
+ },
291
333
  };
292
- exports.unitConversionParameters = {
334
+ exports.unitConverterParameters = {
293
335
  current: [
294
336
  [0x6073, 0],
295
337
  ],
338
+ friction: [],
339
+ inertia: [],
296
340
  position: [
297
341
  [0x2004, 8],
298
342
  [0x2005, 1],
@@ -348,15 +392,15 @@ exports.unitConversionParameters = {
348
392
  /**
349
393
  * Get the unit type for a given parameter index and subindex.
350
394
  */
351
- function getUnitTypeForParameter(index, subindex) {
352
- for (const [key, values] of Object.entries(exports.unitConversionParameters)) {
395
+ function getUnitConverterForParameter(index, subindex) {
396
+ for (const [key, values] of Object.entries(exports.unitConverterParameters)) {
353
397
  for (const [i, s] of values) {
354
398
  if (i === index && s === subindex) {
355
- return key;
399
+ return exports.unitConverters[key];
356
400
  }
357
401
  }
358
402
  }
359
403
  return;
360
404
  }
361
- exports.getUnitTypeForParameter = getUnitTypeForParameter;
405
+ exports.getUnitConverterForParameter = getUnitConverterForParameter;
362
406
  //# 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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"}