motion-master-client 0.0.340 → 0.0.342

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.
@@ -5,18 +5,21 @@ import { UIFeaturesConfig } from './parameter';
5
5
  import { DeviceRef, DeviceRefObj } from './types';
6
6
  export declare const filenamePartRegExp: RegExp;
7
7
  /**
8
- * Represents a single device with extended properties beyond those provided by the Motion Master API.
9
- * Certain properties, such as the ID (serial number), hardware description, and integro variant, require additional file requests from Motion Master.
8
+ * Represents a single device with extended metadata beyond what the Motion Master API provides.
9
+ *
10
+ * Some properties—such as the serial number, hardware description, and variant—must be retrieved
11
+ * through additional file requests from Motion Master.
10
12
  */
11
13
  export interface Device {
12
14
  /**
13
- * The EtherCAT alias number of the device.
15
+ * The EtherCAT alias of the device, if configured.
14
16
  */
15
17
  alias?: number;
16
18
  /**
17
- * The unique address assigned to the device in the network.
18
- * This number is included in messages to Motion Master to reference the device.
19
- * Since the device address changes with each power cycle, the client library uses {@link DeviceRef} for consistent device referencing.
19
+ * The device address assigned by the EtherCAT master.
20
+ *
21
+ * Used when sending commands to Motion Master. Since the address changes after each
22
+ * power cycle, the client library uses {@link DeviceRef} as a stable reference.
20
23
  */
21
24
  deviceAddress: number;
22
25
  /**
@@ -25,7 +28,7 @@ export interface Device {
25
28
  */
26
29
  deviceProductId?: string;
27
30
  /**
28
- * The firmware ID for the device, used to identify and resolve the corresponding firmware package.
31
+ * Firmware ID used to identify and resolve the firmware package for the device.
29
32
  */
30
33
  fwid?: string;
31
34
  /**
@@ -33,75 +36,148 @@ export interface Device {
33
36
  */
34
37
  hardwareDescription?: HardwareDescription;
35
38
  /**
36
- * A unique identifier for the device.
37
- * The device serial number is a strong candidate for this identifier.
39
+ * Unique identifier of the device, typically its serial number.
38
40
  */
39
41
  id: string;
40
42
  /**
41
- * Identifier for the image file associated with the device.
42
- * Retrieved from the assembly or device entries in the hardware description file.
43
+ * Identifier of the image associated with this device.
44
+ * Retrieved from the assembly or device entries of the hardware description file.
43
45
  */
44
46
  imageId?: string;
45
47
  /**
46
- * Parsed `.variant` file containing variant-specific information.
48
+ * Parsed `.variant` file describing variant-specific information.
47
49
  */
48
50
  integroVariant?: IntegroVariant;
49
51
  /**
50
- * Device position in the network stack.
51
- * Note: In SOEM, the position starts at 1, as 0 is reserved for broadcasting.
52
- * In the IgH EtherCAT Master, the position starts at 0.
52
+ * Device position in the EtherCAT topology.
53
+ *
54
+ * - SOEM: positions start at 1 (0 is broadcast)
55
+ * - IgH EtherCAT Master: positions start at 0
53
56
  */
54
57
  position?: number;
55
58
  /**
56
- * The product ID of the device or assembly.
59
+ * Product ID of the device or its assembly.
57
60
  * Example: `6000`
58
61
  */
59
62
  productId?: string;
60
63
  /**
61
- * The serial number of the device as read from the hardware description file.
64
+ * Serial number read from the hardware description file.
62
65
  */
63
66
  serialNumber?: string;
64
67
  /**
65
- * Parsed `.stack_info.json` file containing stack-related metadata.
68
+ * Parsed `.stack_info.json` file with stack-related metadata.
66
69
  */
67
70
  stackInfo?: StackInfo;
68
71
  /**
69
- * The type of the device, which can be one of the following:
72
+ * Device type:
70
73
  * - `0`: UNSPECIFIED
71
74
  * - `1`: SOMANET_CIA401_ETHERCAT
72
75
  * - `2`: SOMANET_CIA402_ETHERCAT
73
76
  */
74
77
  type?: number;
75
78
  /**
76
- * User interface configuration for device-specific features.
79
+ * UI configuration for device-specific features.
77
80
  */
78
81
  uiFeaturesConfig?: UIFeaturesConfig;
79
82
  /**
80
- * This is a combination of the product ID and revision for a device.
83
+ * Product ID and revision combined.
81
84
  * Example: `8506-01`
82
85
  */
83
86
  versionedDeviceProductId?: string;
84
87
  /**
85
- * This is a combination of the product ID and revision for a device or assembly.
88
+ * Product or assembly ID and revision combined.
86
89
  * Example: `6000-01`
87
90
  */
88
91
  versionedProductId?: string;
89
92
  }
93
+ /**
94
+ * Returns the first defined value from a {@link DeviceRefObj}.
95
+ */
90
96
  export declare function getDeviceRefFromDeviceRefObj(deviceRefObj: DeviceRefObj): string | number | null;
97
+ /**
98
+ * Ensures that a {@link DeviceRef} is numeric if possible.
99
+ *
100
+ * If the value is numeric-like, it is converted to a number; otherwise the original string is returned.
101
+ */
91
102
  export declare function ensureDeviceRef(deviceRef: DeviceRef): DeviceRef;
103
+ /**
104
+ * Converts a {@link DeviceRef} into a structured {@link DeviceRefObj}.
105
+ *
106
+ * - Numbers ≤ `0xffff` are treated as device positions.
107
+ * - Larger numbers are treated as device addresses.
108
+ * - Strings are treated as serial numbers.
109
+ */
92
110
  export declare function makeDeviceRefObj(deviceRef: DeviceRef): DeviceRefObj;
111
+ /**
112
+ * Type guard verifying that a value is a valid {@link DeviceRef}.
113
+ */
93
114
  export declare function isDeviceRef(deviceRef: any): deviceRef is DeviceRef;
115
+ /**
116
+ * Validates the structure of a {@link DeviceRefObj}.
117
+ */
94
118
  export declare function isValidDeviceRefObj(obj: DeviceRefObj): boolean;
119
+ /**
120
+ * Parses a single device log line.
121
+ *
122
+ * Expected format:
123
+ * `HH:MM:SS.mmm LEVEL|MESSAGE`
124
+ */
95
125
  export declare function parseDeviceLog(line: string): DeviceLogLine | undefined;
126
+ /**
127
+ * Parses multi-line log content into an array of {@link DeviceLogLine}.
128
+ */
96
129
  export declare function parseDeviceLogContent(content: string): DeviceLogLine[];
130
+ /**
131
+ * Computes the "zero home offset" given a home offset and the current device position.
132
+ */
97
133
  export declare function computeZeroHomeOffsetFromPosition(homeOffset: number, position: number): number;
98
134
  /**
99
- * The FoE read command with the filename "fs-stackunlock=DD1317" enables writing or deleting protected files (i.e., files that begin with a dot ".").
135
+ * Name of the FoE file used to unlock protected filesystem operations.
136
+ *
137
+ * Sending a FoE read command with this filename allows writing or deleting
138
+ * protected files (i.e., files whose names start with a dot).
100
139
  */
101
140
  export declare const stackUnlockFilename = "fs-stackunlock=DD1317";
102
141
  /**
103
- * Base64-encoded empty firmware binary used during a Factory Reset to remove the currently installed firmware.
142
+ * Base64-encoded empty firmware image used during Factory Reset
143
+ * to remove the currently installed firmware.
104
144
  */
105
145
  export declare const emptyAppBase64 = "UEsDBBQACAAIABBye08AAAAAAAAAAAAAAAANACAAYXBwX2VtcHR5LmJpblVUDQAHMHfeXTB33l0wd95ddXgLAAEE6AMAAAToAwAAAwBQSwcIAAAAAAIAAAAAAAAAUEsBAhQDFAAIAAgAEHJ7TwAAAAACAAAAAAAAAA0AIAAAAAAAAAAAAKSBAAAAAGFwcF9lbXB0eS5iaW5VVA0ABzB33l0wd95dMHfeXXV4CwABBOgDAAAE6AMAAFBLBQYAAAAAAQABAFsAAABdAAAAAAA=";
146
+ /**
147
+ * Returns `true` if the filename represents a multi-part ZIP file.
148
+ */
106
149
  export declare function isFilenamePart(filename: string): boolean;
150
+ /**
151
+ * Default set of files preserved during Factory Reset.
152
+ */
107
153
  export declare const factoryResetDefaultFilesToKeep: string[];
154
+ /**
155
+ * Computes the effective mechanical gear ratio between motor revolutions and
156
+ * shaft revolutions. The returned value represents:
157
+ *
158
+ * gearRatio = motorRevolutions / shaftRevolutions
159
+ *
160
+ * Special handling is applied when both the torque controller and the position
161
+ * controller use the same encoder source. In that case, there is no physical
162
+ * external gearing, meaning both controllers observe identical positions, so
163
+ * the gear ratio is considered to be 1.
164
+ *
165
+ * If shaft revolutions equals 0 (invalid or unavailable data), a default gear
166
+ * ratio of 1 is returned as a safe fallback.
167
+ *
168
+ * @param props Object containing:
169
+ * - `motorRevolutions` Number of motor-side revolutions defined in device parameters.
170
+ * - `shaftRevolutions` Number of shaft-side revolutions defined in device parameters.
171
+ * - `torqueControllerEncoderSource` Encoder source used by the torque controller. A value of 0 means no assigned encoder.
172
+ * - `positionControllerEncoderSource` Encoder source used by the position controller. A value of 0 means no assigned encoder.
173
+ *
174
+ * @returns The computed gear ratio. Produces:
175
+ * - `1` if both controllers use the same encoder source, or if shaftRevolutions is `0`.
176
+ * - `(motorRevolutions / shaftRevolutions)` otherwise.
177
+ */
178
+ export declare function computeGearRatio(props: {
179
+ motorRevolutions: number;
180
+ shaftRevolutions: number;
181
+ torqueControllerEncoderSource: number;
182
+ positionControllerEncoderSource: number;
183
+ }): number;
package/src/lib/device.js CHANGED
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.factoryResetDefaultFilesToKeep = exports.isFilenamePart = exports.emptyAppBase64 = exports.stackUnlockFilename = exports.computeZeroHomeOffsetFromPosition = exports.parseDeviceLogContent = exports.parseDeviceLog = exports.isValidDeviceRefObj = exports.isDeviceRef = exports.makeDeviceRefObj = exports.ensureDeviceRef = exports.getDeviceRefFromDeviceRefObj = exports.filenamePartRegExp = void 0;
3
+ exports.computeGearRatio = exports.factoryResetDefaultFilesToKeep = exports.isFilenamePart = exports.emptyAppBase64 = exports.stackUnlockFilename = exports.computeZeroHomeOffsetFromPosition = exports.parseDeviceLogContent = exports.parseDeviceLog = exports.isValidDeviceRefObj = exports.isDeviceRef = exports.makeDeviceRefObj = exports.ensureDeviceRef = exports.getDeviceRefFromDeviceRefObj = exports.filenamePartRegExp = void 0;
4
4
  exports.filenamePartRegExp = /^(.*?)(?:\.zip(?:\.part\d+)?)$/;
5
+ /**
6
+ * Returns the first defined value from a {@link DeviceRefObj}.
7
+ */
5
8
  function getDeviceRefFromDeviceRefObj(deviceRefObj) {
6
9
  for (const [_, value] of Object.entries(deviceRefObj)) {
7
10
  if (value !== undefined) {
@@ -11,11 +14,23 @@ function getDeviceRefFromDeviceRefObj(deviceRefObj) {
11
14
  return null;
12
15
  }
13
16
  exports.getDeviceRefFromDeviceRefObj = getDeviceRefFromDeviceRefObj;
17
+ /**
18
+ * Ensures that a {@link DeviceRef} is numeric if possible.
19
+ *
20
+ * If the value is numeric-like, it is converted to a number; otherwise the original string is returned.
21
+ */
14
22
  function ensureDeviceRef(deviceRef) {
15
23
  const n = Number(deviceRef);
16
24
  return isNaN(n) ? deviceRef : n;
17
25
  }
18
26
  exports.ensureDeviceRef = ensureDeviceRef;
27
+ /**
28
+ * Converts a {@link DeviceRef} into a structured {@link DeviceRefObj}.
29
+ *
30
+ * - Numbers ≤ `0xffff` are treated as device positions.
31
+ * - Larger numbers are treated as device addresses.
32
+ * - Strings are treated as serial numbers.
33
+ */
19
34
  function makeDeviceRefObj(deviceRef) {
20
35
  deviceRef = ensureDeviceRef(deviceRef);
21
36
  if (typeof deviceRef === 'number') {
@@ -31,18 +46,30 @@ function makeDeviceRefObj(deviceRef) {
31
46
  }
32
47
  }
33
48
  exports.makeDeviceRefObj = makeDeviceRefObj;
49
+ /**
50
+ * Type guard verifying that a value is a valid {@link DeviceRef}.
51
+ */
34
52
  function isDeviceRef(deviceRef) {
35
53
  return (deviceRef !== undefined &&
36
54
  deviceRef !== null &&
37
55
  (typeof deviceRef === 'string' || (typeof deviceRef === 'number' && deviceRef >= 0)));
38
56
  }
39
57
  exports.isDeviceRef = isDeviceRef;
58
+ /**
59
+ * Validates the structure of a {@link DeviceRefObj}.
60
+ */
40
61
  function isValidDeviceRefObj(obj) {
41
62
  return (Number.isFinite(Number(obj.deviceAddress)) ||
42
63
  (typeof obj.devicePosition === 'number' && obj.devicePosition >= 0) ||
43
64
  typeof obj.deviceSerialNumber === 'string');
44
65
  }
45
66
  exports.isValidDeviceRefObj = isValidDeviceRefObj;
67
+ /**
68
+ * Parses a single device log line.
69
+ *
70
+ * Expected format:
71
+ * `HH:MM:SS.mmm LEVEL|MESSAGE`
72
+ */
46
73
  function parseDeviceLog(line) {
47
74
  const re = /^(\d{2}:\d{2}:\d{2}\.\d+)\s(.*)\|(.*)$/gm;
48
75
  const result = re.exec(line);
@@ -56,6 +83,9 @@ function parseDeviceLog(line) {
56
83
  return;
57
84
  }
58
85
  exports.parseDeviceLog = parseDeviceLog;
86
+ /**
87
+ * Parses multi-line log content into an array of {@link DeviceLogLine}.
88
+ */
59
89
  function parseDeviceLogContent(content) {
60
90
  return content
61
91
  .split('\n')
@@ -63,22 +93,35 @@ function parseDeviceLogContent(content) {
63
93
  .filter((l) => l !== undefined);
64
94
  }
65
95
  exports.parseDeviceLogContent = parseDeviceLogContent;
96
+ /**
97
+ * Computes the "zero home offset" given a home offset and the current device position.
98
+ */
66
99
  function computeZeroHomeOffsetFromPosition(homeOffset, position) {
67
100
  return homeOffset - position;
68
101
  }
69
102
  exports.computeZeroHomeOffsetFromPosition = computeZeroHomeOffsetFromPosition;
70
103
  /**
71
- * The FoE read command with the filename "fs-stackunlock=DD1317" enables writing or deleting protected files (i.e., files that begin with a dot ".").
104
+ * Name of the FoE file used to unlock protected filesystem operations.
105
+ *
106
+ * Sending a FoE read command with this filename allows writing or deleting
107
+ * protected files (i.e., files whose names start with a dot).
72
108
  */
73
109
  exports.stackUnlockFilename = 'fs-stackunlock=DD1317';
74
110
  /**
75
- * Base64-encoded empty firmware binary used during a Factory Reset to remove the currently installed firmware.
111
+ * Base64-encoded empty firmware image used during Factory Reset
112
+ * to remove the currently installed firmware.
76
113
  */
77
114
  exports.emptyAppBase64 = 'UEsDBBQACAAIABBye08AAAAAAAAAAAAAAAANACAAYXBwX2VtcHR5LmJpblVUDQAHMHfeXTB33l0wd95ddXgLAAEE6AMAAAToAwAAAwBQSwcIAAAAAAIAAAAAAAAAUEsBAhQDFAAIAAgAEHJ7TwAAAAACAAAAAAAAAA0AIAAAAAAAAAAAAKSBAAAAAGFwcF9lbXB0eS5iaW5VVA0ABzB33l0wd95dMHfeXXV4CwABBOgDAAAE6AMAAFBLBQYAAAAAAQABAFsAAABdAAAAAAA=';
115
+ /**
116
+ * Returns `true` if the filename represents a multi-part ZIP file.
117
+ */
78
118
  function isFilenamePart(filename) {
79
119
  return exports.filenamePartRegExp.test(filename);
80
120
  }
81
121
  exports.isFilenamePart = isFilenamePart;
122
+ /**
123
+ * Default set of files preserved during Factory Reset.
124
+ */
82
125
  exports.factoryResetDefaultFilesToKeep = [
83
126
  '.assembly_config',
84
127
  '.factory_config',
@@ -86,4 +129,47 @@ exports.factoryResetDefaultFilesToKeep = [
86
129
  '.variant',
87
130
  'stack_info.json',
88
131
  ];
132
+ /**
133
+ * Computes the effective mechanical gear ratio between motor revolutions and
134
+ * shaft revolutions. The returned value represents:
135
+ *
136
+ * gearRatio = motorRevolutions / shaftRevolutions
137
+ *
138
+ * Special handling is applied when both the torque controller and the position
139
+ * controller use the same encoder source. In that case, there is no physical
140
+ * external gearing, meaning both controllers observe identical positions, so
141
+ * the gear ratio is considered to be 1.
142
+ *
143
+ * If shaft revolutions equals 0 (invalid or unavailable data), a default gear
144
+ * ratio of 1 is returned as a safe fallback.
145
+ *
146
+ * @param props Object containing:
147
+ * - `motorRevolutions` Number of motor-side revolutions defined in device parameters.
148
+ * - `shaftRevolutions` Number of shaft-side revolutions defined in device parameters.
149
+ * - `torqueControllerEncoderSource` Encoder source used by the torque controller. A value of 0 means no assigned encoder.
150
+ * - `positionControllerEncoderSource` Encoder source used by the position controller. A value of 0 means no assigned encoder.
151
+ *
152
+ * @returns The computed gear ratio. Produces:
153
+ * - `1` if both controllers use the same encoder source, or if shaftRevolutions is `0`.
154
+ * - `(motorRevolutions / shaftRevolutions)` otherwise.
155
+ */
156
+ function computeGearRatio(props) {
157
+ const { motorRevolutions, shaftRevolutions, torqueControllerEncoderSource, positionControllerEncoderSource } = props;
158
+ // Encoder source is considered assigned when value is non-zero.
159
+ // If both controllers reference the same encoder configuration,
160
+ // there is effectively no external gearing observed.
161
+ const bothControllersUseSameEncoderConfiguration = torqueControllerEncoderSource !== 0 && torqueControllerEncoderSource === positionControllerEncoderSource;
162
+ if (bothControllersUseSameEncoderConfiguration) {
163
+ // Both controllers read the same encoder signals, therefore no mechanical ratio exists.
164
+ return 1;
165
+ }
166
+ // If shaftRevolutions is valid, compute actual ratio.
167
+ if (shaftRevolutions !== 0) {
168
+ return motorRevolutions / shaftRevolutions;
169
+ }
170
+ // Fallback: Cannot compute ratio due to invalid denominator.
171
+ // Safe assumption is to return unity.
172
+ return 1;
173
+ }
174
+ exports.computeGearRatio = computeGearRatio;
89
175
  //# sourceMappingURL=device.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/device.ts"],"names":[],"mappings":";;;AAMa,QAAA,kBAAkB,GAAG,gCAAgC,CAAC;AAqGnE,SAAgB,4BAA4B,CAAC,YAA0B;IACrE,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QACrD,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAPD,oEAOC;AAED,SAAgB,eAAe,CAAC,SAAoB;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAHD,0CAGC;AAED,SAAgB,gBAAgB,CAAC,SAAoB;IACnD,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,IAAI,SAAS,IAAI,MAAM,EAAE;YACvB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;SACtC;aAAM;YACL,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;SACrC;KACF;SAAM;QACL,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;KAC1C;AACH,CAAC;AAXD,4CAWC;AAED,SAAgB,WAAW,CAAC,SAAc;IACxC,OAAO,CACL,SAAS,KAAK,SAAS;QACvB,SAAS,KAAK,IAAI;QAClB,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,CACrF,CAAC;AACJ,CAAC;AAND,kCAMC;AAED,SAAgB,mBAAmB,CAAC,GAAiB;IACnD,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC,kBAAkB,KAAK,QAAQ,CAC3C,CAAC;AACJ,CAAC;AAND,kDAMC;AAED,SAAgB,cAAc,CAAC,IAAY;IACzC,MAAM,EAAE,GAAG,0CAA0C,CAAC;IACtD,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,MAAM,EAAE;QACV,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACvB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;SAC1B,CAAC;KACH;IACD,OAAO;AACT,CAAC;AAXD,wCAWC;AAED,SAAgB,qBAAqB,CAAC,OAAe;IACnD,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AACxD,CAAC;AALD,sDAKC;AAED,SAAgB,iCAAiC,CAAC,UAAkB,EAAE,QAAgB;IACpF,OAAO,UAAU,GAAG,QAAQ,CAAC;AAC/B,CAAC;AAFD,8EAEC;AAED;;GAEG;AACU,QAAA,mBAAmB,GAAG,uBAAuB,CAAC;AAE3D;;GAEG;AACU,QAAA,cAAc,GACzB,sRAAsR,CAAC;AAEzR,SAAgB,cAAc,CAAC,QAAgB;IAC7C,OAAO,0BAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAFD,wCAEC;AAEY,QAAA,8BAA8B,GAAG;IAC5C,kBAAkB;IAClB,iBAAiB;IACjB,uBAAuB;IACvB,UAAU;IACV,iBAAiB;CAClB,CAAC"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/device.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,7 @@ class LimitedRangeSystemIdentification {
99
99
  this.notifications$.next(`Warning: startProcedure is currently ${this.options.startProcedure}, but WAIT_FOR_HRD_STREAMING_TO_START (2) is required. Setting the correct start procedure automatically.`);
100
100
  this.options.startProcedure = os_command_1.SystemIdentificationOsCommandStartProcedure.WAIT_FOR_HRD_STREAMING_TO_START;
101
101
  }
102
- const gearRatio = yield this.client.request.getGearRatio(this.deviceRef);
102
+ const gearRatio = yield (0, rxjs_1.lastValueFrom)(this.client.request.computeGearRatio(this.deviceRef, true));
103
103
  const rangeLimitEff = this.options.rangeLimit * gearRatio;
104
104
  this.notifications$.next(`Effective range limit (considering gear ratio ${gearRatio}): ${rangeLimitEff}`);
105
105
  // Variables to hold original configurations for restoration later
@@ -1 +1 @@
1
- {"version":3,"file":"limited-range-system-identification.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/limited-range-system-identification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limited-range-system-identification.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/limited-range-system-identification.ts"],"names":[],"mappings":"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"}
@@ -1270,17 +1270,31 @@ export declare class MotionMasterReqResClient {
1270
1270
  */
1271
1271
  computeFeedConstant(deviceRef: DeviceRef, requestTimeout?: number): Observable<number>;
1272
1272
  /**
1273
- * Computes the Gear Ratio for a given device.
1273
+ * Computes the mechanical Gear Ratio for the specified device.
1274
1274
  *
1275
- * The Gear Ratio is calculated as the quotient of:
1276
- * - Gear Ratio Numerator (`0x6091:01` – Motor Revolutions)
1277
- * - Gear Ratio Denominator (`0x6091:02` – Shaft Revolutions)
1275
+ * The Gear Ratio is derived from device parameters representing:
1276
+ * - Motor-side revolutions (`0x6091:01`)
1277
+ * - Shaft-side revolutions (`0x6091:02`)
1278
1278
  *
1279
- * @param deviceRef - Reference to the device for which the Gear Ratio is computed.
1280
- * @param requestTimeout - Optional timeout in milliseconds for the parameter request (default: 5000).
1281
- * @returns An Observable that emits the computed Gear Ratio as a number.
1279
+ * Additionally, encoder assignments for the torque and position control loops
1280
+ * are retrieved to determine whether an external mechanical ratio is present.
1281
+ *
1282
+ * If both control loops use the same encoder source (non-zero and equal),
1283
+ * the returned ratio is `1`, indicating no external mechanical reduction.
1284
+ *
1285
+ * Otherwise, the ratio is computed as:
1286
+ *
1287
+ * motorRevolutions / shaftRevolutions
1288
+ *
1289
+ * If shaftRevolutions is `0` or unavailable, a fallback value of `1` is returned.
1290
+ *
1291
+ * @param deviceRef Reference to the device whose Gear Ratio is computed.
1292
+ * @param loadFromCache If true, previously cached parameter values will be used instead of initiating device requests.
1293
+ * @param requestTimeout Timeout (in milliseconds) applied when reading parameter values from the device. Defaults to `5000`.
1294
+ *
1295
+ * @returns An Observable emitting a numeric Gear Ratio.
1282
1296
  */
1283
- computeGearRatio(deviceRef: DeviceRef, requestTimeout?: number): Observable<number>;
1297
+ computeGearRatio(deviceRef: DeviceRef, loadFromCache?: boolean, requestTimeout?: number): Observable<number>;
1284
1298
  /**
1285
1299
  * Save the modified parameter values to the config.csv file so that they are used the next time the device is power cycled.
1286
1300
  * The configuration is saved using the 0x1010: Store parameters object.
@@ -1938,8 +1952,6 @@ export declare class MotionMasterReqResClient {
1938
1952
  * and lists the supported pin modes. If all pin modes for a pin are disabled, the array defaults to `[0]`.
1939
1953
  */
1940
1954
  getSupportedDios(deviceRef: DeviceRef): Observable<number[][]>;
1941
- getMaxValuePercentageColor(percentage: number): "" | "#6ba853" | "#aeb303" | "#e69138" | "#fb262e";
1942
- getMaxValuePercentageLabel(percentage: number): "" | "Calibration was successful. Encoder system is robust to mechanical displacements and temperature expansions." | "Calibration was successful. Encoder system is robust to small mechanical displacements and temperature expansions." | "Calibration was successful. Mechanical displacement and temperature expansions should be avoided." | "Phase error is too high. The absolute position can't be computed reliably. Adjust mechanical position and repeat calibration.";
1943
1955
  /**
1944
1956
  * Checks the Circulo encoder error status registers for a specified encoder ordinal.
1945
1957
  *
@@ -2119,24 +2131,6 @@ export declare class MotionMasterReqResClient {
2119
2131
  * will also be executed.
2120
2132
  */
2121
2133
  runChirpSignal(deviceRef: DeviceRef, options: ChirpSignalOptions): Observable<number[][]>;
2122
- /**
2123
- * Reads the motor and shaft revolutions from a device and calculates the gear ratio.
2124
- *
2125
- * The gear ratio is defined as the number of motor revolutions per one shaft revolution:
2126
- *
2127
- * gearRatio = motorRev / shaftRev
2128
- *
2129
- * If either motorRev or shaftRev is zero or negative, the function returns a default value of 1.
2130
- *
2131
- * @param deviceRef - Reference to the device from which to read the values.
2132
- * @returns A Promise that resolves to the gear ratio (positive number). Returns 1 if the readings are invalid.
2133
- *
2134
- * @remarks
2135
- * - Both motorRev and shaftRev are read via `upload()` from the device object dictionary at index 0x6091.
2136
- * - Ensure that `upload()` returns numeric values and not raw buffers.
2137
- * - This function assumes positive values; a negative value may indicate an error or reversed rotation.
2138
- */
2139
- getGearRatio(deviceRef: DeviceRef): Promise<number>;
2140
2134
  /**
2141
2135
  * Retrieves the PDO mapping for the given device.
2142
2136
  *