motion-master-client 0.0.298 → 0.0.300-hanging-load-tuner.0

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.
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEncoderConfigurationExceptionCase = exports.EncoderConfigurationException = void 0;
4
+ const semver_1 = require("semver");
5
+ const product_1 = require("./product");
6
+ /** Encoder type: 1 */
7
+ class Hall {
8
+ /** Subindex: 3 */
9
+ static getResolution(polePairs) {
10
+ return 4096 * polePairs;
11
+ }
12
+ }
13
+ /** Encoder type: 2 */
14
+ class Incremental {
15
+ /** Subindex: 4 */
16
+ static getZeroVelocityThreshold(inputValue) {
17
+ return Math.floor((inputValue * 100) / 6250) * 62.5;
18
+ }
19
+ /** Subindex: 23 */
20
+ static hasSameHallSensorPort(sensorPort, HALLSensorPort) {
21
+ // 'HALL sensor port cannot be the same as the device sensor port.'
22
+ return sensorPort === HALLSensorPort;
23
+ }
24
+ /** Subindex: 23 */
25
+ static supportsHallSensor(supportedEncoderTypes) {
26
+ // HALL Sensor port cannot be set on encoder type which does not support it.
27
+ return supportedEncoderTypes.includes(1);
28
+ }
29
+ }
30
+ /** Encoder type: 3 */
31
+ class NikonA {
32
+ /** Subindex: 3 */
33
+ static getResolution(singleTurnBits) {
34
+ return 1 << singleTurnBits;
35
+ }
36
+ /** Subindex: 8 */
37
+ static getClockFrequency(inputValue) {
38
+ const clockFrequencies = [2500, 4000, 6670, 8000, 16000];
39
+ return clockFrequencies.reduce((prev, curr) => Math.abs(curr - inputValue) < Math.abs(prev - inputValue) ? curr : prev);
40
+ }
41
+ /** Subindex: 10 */
42
+ static getMultiturnBits(inputValue) {
43
+ return inputValue > 0 ? 16 : 0;
44
+ }
45
+ /** Subindex: 12 */
46
+ static getSingleturnBits(inputValue) {
47
+ const bits = [17, 20, 22, 24];
48
+ return bits.reduce((prev, curr) => (Math.abs(curr - inputValue) < Math.abs(prev - inputValue) ? curr : prev));
49
+ }
50
+ /** Subindex: 28 */
51
+ static getSamplingFrequency() {
52
+ return 1;
53
+ }
54
+ }
55
+ /** Encoder type: 4 */
56
+ class Biss {
57
+ /** Subindex: 8 */
58
+ static getClockFrequency(inputValue) {
59
+ return Math.round(25000 / Math.max(Math.round(25000 / inputValue), 5));
60
+ }
61
+ }
62
+ /** Encoder type: 6 */
63
+ class Rem16Mt {
64
+ /** Subindex: 3 */
65
+ static getResolution(inputValue, firmwareVersion) {
66
+ return (0, semver_1.satisfies)(`${firmwareVersion}.0`, '>=5.0 <5.2') ? 65536 : inputValue;
67
+ }
68
+ /** Subindex: 28 */
69
+ static getSamplingFrequency(inputValue, firmwareVersion) {
70
+ return (0, semver_1.satisfies)(`${firmwareVersion}.0`, '>=5.0 <5.2') ? 1 : inputValue;
71
+ }
72
+ }
73
+ /** Encoder type: 7 */
74
+ class Ssi {
75
+ /** Subindex: 8 */
76
+ static getClockFrequency(inputValue) {
77
+ return Math.round(25000 / Math.max(Math.round(25000 / inputValue), 5));
78
+ }
79
+ }
80
+ /** Encoder type: 9 */
81
+ class SinCos {
82
+ /** Subindex: 3 */
83
+ static getResolution(sinewaveResolution, sinewaveCyclesPerRevolution) {
84
+ return sinewaveResolution * sinewaveCyclesPerRevolution;
85
+ }
86
+ }
87
+ class Case1 {
88
+ /* Subindex: 3 */
89
+ static getResolution(resolution, productGroup) {
90
+ if (productGroup === 'Circulo 7') {
91
+ return 524288;
92
+ }
93
+ if (productGroup === 'Circulo 9') {
94
+ return 1048576;
95
+ }
96
+ return resolution;
97
+ }
98
+ /* Subindex: 8 (takes precedence over Case 2) */
99
+ static getClockFrequency() {
100
+ return 4167;
101
+ }
102
+ /* Subindex: 9 */
103
+ static getFrameSize(singleturnBits, multiturnBits) {
104
+ return singleturnBits + multiturnBits;
105
+ }
106
+ /* Subindex: 10 */
107
+ static getMultiturnBits(multiturnBits, sensorPort) {
108
+ if (sensorPort === 1 && multiturnBits !== 0) {
109
+ return 18;
110
+ }
111
+ return multiturnBits;
112
+ }
113
+ /* Subindex: 11 */
114
+ static getMultiturnFirstBitPosition() {
115
+ return 0;
116
+ }
117
+ /* Subindex: 12 */
118
+ static getSingleturnBits(singleturnBits, productGroup) {
119
+ if (productGroup === 'Circulo 7') {
120
+ return 19;
121
+ }
122
+ if (productGroup === 'Circulo 9') {
123
+ return 20;
124
+ }
125
+ return singleturnBits;
126
+ }
127
+ /* Subindex: 13 */
128
+ static getSingleturnFirstBitPosition(multiturnBits) {
129
+ return multiturnBits;
130
+ }
131
+ /* Subindex: 14 */
132
+ static getTimeout() {
133
+ return 2;
134
+ }
135
+ /* Subindex: 15 */
136
+ static getCrcPolynomial() {
137
+ return 67;
138
+ }
139
+ /* Subindex: 16 */
140
+ static getMaximumTBusy() {
141
+ return 20;
142
+ }
143
+ /* Subindex: 28 */
144
+ static getSamplingFrequency(multiturnBits) {
145
+ return multiturnBits !== 0 ? 1 : 2;
146
+ }
147
+ }
148
+ class Case2 {
149
+ /* Subindex: 8 */
150
+ static getClockFrequency(clockFrequency) {
151
+ return Math.round(25000 / Math.max(Math.round(25000 / clockFrequency), 5));
152
+ }
153
+ /* Subindex: 28 (takes precedence over Case 1) */
154
+ static getSamplingFrequency() {
155
+ return 1;
156
+ }
157
+ }
158
+ class Case3 {
159
+ /* Subindex: 3 */
160
+ static getResolution(integratedEncoderStBitsUsed) {
161
+ return 1 << integratedEncoderStBitsUsed;
162
+ }
163
+ }
164
+ /**
165
+ * Modify the encoder configuration types subitem values based on the encoder type and firmware version.
166
+ *
167
+ * @example
168
+ * * `When encoder type is SinCos (9), apply function 'getResolution' to its subindex 3 value.`
169
+ * @link https://docs.google.com/spreadsheets/d/1tTGNMyg-40l4YxmDnXHrvVyIIyTcFc2ZauoABtgxPMA/edit?usp=sharing
170
+ * @link https://docs.google.com/spreadsheets/d/1E0HTiZQtGmby2BJ9kOGV0UwD3HT6xQ7QRLjNbXpx5V0/edit?usp=sharing
171
+ */
172
+ class EncoderConfigurationException {
173
+ }
174
+ exports.EncoderConfigurationException = EncoderConfigurationException;
175
+ EncoderConfigurationException.Hall = Hall;
176
+ EncoderConfigurationException.Incremental = Incremental;
177
+ EncoderConfigurationException.NikonA = NikonA;
178
+ EncoderConfigurationException.BiSS = Biss;
179
+ EncoderConfigurationException.Rem16MT = Rem16Mt;
180
+ EncoderConfigurationException.Ssi = Ssi;
181
+ EncoderConfigurationException.SinCos = SinCos;
182
+ EncoderConfigurationException.Case1 = Case1;
183
+ EncoderConfigurationException.Case2 = Case2;
184
+ EncoderConfigurationException.Case3 = Case3;
185
+ /**
186
+ * Selects the encoder configuration exception case based on the encoder ordinal, type, and product ID
187
+ *
188
+ * @param productId - The product ID to check against.
189
+ * @param encoderOrdinal - The encoder ordinal to check.
190
+ * @param encoderType - The encoder type to check.
191
+ * @returns The selected exception case or undefined if no case matches.
192
+ * @link https://docs.google.com/spreadsheets/d/1E0HTiZQtGmby2BJ9kOGV0UwD3HT6xQ7QRLjNbXpx5V0/edit?usp=sharing
193
+ */
194
+ function getEncoderConfigurationExceptionCase(productId, encoderOrdinal, encoderType, firwareVersion) {
195
+ const firmwareVersionFull = `${firwareVersion}.0`;
196
+ // Case 1
197
+ const case1EncoderTypes = (0, semver_1.satisfies)(firmwareVersionFull, '>=5.0 <5.1') ? [4] : [4, 5];
198
+ if ((0, semver_1.satisfies)(firmwareVersionFull, '>=5.0') &&
199
+ (0, product_1.isSomanetProductIdInRange)(productId, 'Circulo') &&
200
+ (0, product_1.isEncoderPortUsable)(encoderOrdinal, productId) &&
201
+ (0, product_1.isEncoderPortInternal)(encoderOrdinal, productId) &&
202
+ case1EncoderTypes.includes(encoderType)) {
203
+ return 'case1';
204
+ }
205
+ // Case 2
206
+ if ((0, semver_1.satisfies)(firmwareVersionFull, '>=5.1') &&
207
+ (0, product_1.isSomanetProductIdInRange)(productId, 'Circulo Safe Motion') &&
208
+ (0, product_1.isEncoderPortUsable)(encoderOrdinal, productId) &&
209
+ !(0, product_1.isEncoderPortInternal)(encoderOrdinal, productId) &&
210
+ encoderType === 4) {
211
+ return 'case2';
212
+ }
213
+ // Case 3
214
+ if ((0, semver_1.satisfies)(firmwareVersionFull, '>=5.2') &&
215
+ (0, product_1.isSomanetProductIdInRange)(productId, 'Integro') &&
216
+ (0, product_1.isEncoderPortUsable)(encoderOrdinal, productId) &&
217
+ (0, product_1.isEncoderPortInternal)(encoderOrdinal, productId) &&
218
+ encoderType === 5) {
219
+ return 'case3';
220
+ }
221
+ return;
222
+ }
223
+ exports.getEncoderConfigurationExceptionCase = getEncoderConfigurationExceptionCase;
224
+ //# sourceMappingURL=encoder-configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoder-configuration.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/encoder-configuration.ts"],"names":[],"mappings":"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"}
@@ -116,3 +116,50 @@ export declare function getCirculoEncoderBatteryModeOptions(productId: number |
116
116
  key: string;
117
117
  value: number;
118
118
  }[];
119
+ export type EncoderConfigurationSubitemSetBy = 'none' | 'user' | 'firmware' | 'both';
120
+ export type EncoderConfigurationExceptionCase = 'case1' | 'case2' | 'case3';
121
+ /**
122
+ * Represents the usage of encoder configurations across different firmware versions and products.
123
+ *
124
+ * This interface defines which subitems are available for each supported encoder type,
125
+ * and specifies whether each subitem is set by the user, the firmware, or both.
126
+ * It also maps these configurations to the relevant products and ports.
127
+ *
128
+ * The structure originates from the following documents:
129
+ * - Encoder Configuration Types Supported
130
+ * - Encoder configuration 0x2110/0x2112 subindex usage (default)
131
+ * - Encoder configuration 0x2110/0x2112 subindex usage (exceptions)
132
+ */
133
+ export interface EncoderConfigurationUsage {
134
+ [key: string]: {
135
+ encoderConfiguration: {
136
+ encoderType: {
137
+ [key: number]: {
138
+ subitem: {
139
+ [key: number]: {
140
+ setBy: EncoderConfigurationSubitemSetBy;
141
+ };
142
+ };
143
+ };
144
+ };
145
+ exceptions: {
146
+ [key in EncoderConfigurationExceptionCase]: {
147
+ subitem: {
148
+ [key: number]: {
149
+ setBy: EncoderConfigurationSubitemSetBy;
150
+ };
151
+ };
152
+ };
153
+ };
154
+ };
155
+ product: {
156
+ [key: string]: {
157
+ port: {
158
+ [key: number]: {
159
+ allowedEncoderTypes: number[];
160
+ };
161
+ };
162
+ };
163
+ };
164
+ };
165
+ }
@@ -1,5 +1,6 @@
1
+ import { EncoderConfigurationUsage } from './encoder';
1
2
  import { OblacDrivesRelease } from './oblac-drives-release';
2
- import { PartConfigurationTable, FirmwareProductSupportedOptions } from './types';
3
+ import { FirmwareProductSupportedOptions, PartConfigurationTable } from './types';
3
4
  /**
4
5
  * The brand ID for OBLAC Drives.
5
6
  */
@@ -170,10 +171,18 @@ export declare function listOblacDrivesUpdateServiceVersions(): Promise<string[]
170
171
  /**
171
172
  * Retrieves the list of supported encoder configuration types from a JSON resource hosted on AWS S3.
172
173
  *
174
+ * @deprecated Use new structure with `fetchEncoderConfigurationUsage` instead
173
175
  * @returns A promise that resolves to a `FirmwareProductSupportedOptions` object
174
176
  * containing the supported encoder configuration types.
175
177
  */
176
178
  export declare function fetchSupportedEncoderConfigurationTypes(): Promise<FirmwareProductSupportedOptions>;
179
+ /**
180
+ * Retrieves the list of encoder configuration usage information from a JSON resource hosted on AWS S3.
181
+ *
182
+ * @returns A promise that resolves to a `EncoderConfigurationUsage` object
183
+ * containing the encoder configuration supported types and subindexes usage .
184
+ */
185
+ export declare function fetchEncoderConfigurationUsage(): Promise<EncoderConfigurationUsage>;
177
186
  /**
178
187
  * Retrieves the list of supported analog inputs from a JSON resource hosted on AWS S3.
179
188
  *
package/src/lib/fetch.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchEncoderConfigurations = exports.fetchMotorConfigurations = exports.fetchSupportedDios = exports.fetchSupportedAis = exports.fetchSupportedEncoderConfigurationTypes = exports.listOblacDrivesUpdateServiceVersions = exports.listFirmwarePackages = exports.fetchOblacDrivesReleases = exports.fetchFirmwareChangelog = exports.fetchProductImage = exports.fetchFirmwarePackage = exports.fetchEsi = exports.fetchBrandData = exports.fetchAndResolve = exports.fetchFromBox = exports.makeCdnUrl = exports.compareBundlesByVersionDesc = exports.cacheOnBox = exports.cacheApiBasePath = exports.cacheS3BasePath = exports.cacheOrigin = exports.cacheHostname = exports.cdnBasePath = exports.oblacDrivesApiGatewayOrigin = exports.hostname = exports.oblacDrivesBrandId = void 0;
3
+ exports.fetchEncoderConfigurations = exports.fetchMotorConfigurations = exports.fetchSupportedDios = exports.fetchSupportedAis = exports.fetchEncoderConfigurationUsage = exports.fetchSupportedEncoderConfigurationTypes = exports.listOblacDrivesUpdateServiceVersions = exports.listFirmwarePackages = exports.fetchOblacDrivesReleases = exports.fetchFirmwareChangelog = exports.fetchProductImage = exports.fetchFirmwarePackage = exports.fetchEsi = exports.fetchBrandData = exports.fetchAndResolve = exports.fetchFromBox = exports.makeCdnUrl = exports.compareBundlesByVersionDesc = exports.cacheOnBox = exports.cacheApiBasePath = exports.cacheS3BasePath = exports.cacheOrigin = exports.cacheHostname = exports.cdnBasePath = exports.oblacDrivesApiGatewayOrigin = exports.hostname = exports.oblacDrivesBrandId = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const rxjs_1 = require("rxjs");
6
+ const semver_1 = require("semver");
6
7
  const online_1 = require("./online");
7
8
  const util_1 = require("./util");
8
- const semver_1 = require("semver");
9
9
  /* eslint-disable max-len */
10
10
  /**
11
11
  * The brand ID for OBLAC Drives.
@@ -335,6 +335,7 @@ exports.listOblacDrivesUpdateServiceVersions = listOblacDrivesUpdateServiceVersi
335
335
  /**
336
336
  * Retrieves the list of supported encoder configuration types from a JSON resource hosted on AWS S3.
337
337
  *
338
+ * @deprecated Use new structure with `fetchEncoderConfigurationUsage` instead
338
339
  * @returns A promise that resolves to a `FirmwareProductSupportedOptions` object
339
340
  * containing the supported encoder configuration types.
340
341
  */
@@ -345,6 +346,19 @@ function fetchSupportedEncoderConfigurationTypes() {
345
346
  });
346
347
  }
347
348
  exports.fetchSupportedEncoderConfigurationTypes = fetchSupportedEncoderConfigurationTypes;
349
+ /**
350
+ * Retrieves the list of encoder configuration usage information from a JSON resource hosted on AWS S3.
351
+ *
352
+ * @returns A promise that resolves to a `EncoderConfigurationUsage` object
353
+ * containing the encoder configuration supported types and subindexes usage .
354
+ */
355
+ function fetchEncoderConfigurationUsage() {
356
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
357
+ const path = `/encoder-configuration-usage.json`;
358
+ return yield fetchAndResolve(path, 'json', true);
359
+ });
360
+ }
361
+ exports.fetchEncoderConfigurationUsage = fetchEncoderConfigurationUsage;
348
362
  /**
349
363
  * Retrieves the list of supported analog inputs from a JSON resource hosted on AWS S3.
350
364
  *
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { BehaviorSubject, Subject } from 'rxjs';
2
+ import { MotionMasterClient } from './motion-master-client';
3
+ import { DeviceRef } from './types';
4
+ export declare class HangingLoadTuner {
5
+ readonly client: MotionMasterClient;
6
+ readonly notifications$: Subject<string>;
7
+ readonly isRunning$: BehaviorSubject<boolean>;
8
+ monitoringCsvData: string | null;
9
+ timePrePostTrigger: number;
10
+ controlGainUpdateTime: number;
11
+ constructor(client: MotionMasterClient);
12
+ /**
13
+ * Performs a hanging load tuning procedure on the specified device.
14
+ *
15
+ * The procedure:
16
+ * 1. Forces on-demand parameter update and disables the position feedback filter.
17
+ * 2. Checks and adjusts position encoder to match commutation encoder.
18
+ * 3. Reads commutation encoder resolution and feed constants to compute effective lambda.
19
+ * 4. Reads and stores initial controller parameters for restoration after the tuner is finished.
20
+ * 5. Calculates initial proportional gain (kpInit) based on torque limits, lambda, and encoder configuration.
21
+ * 6. Sets initial P-controller parameters on the device.
22
+ * 7. Starts monitoring the actual position during chirp signal injection.
23
+ * 8. Dynamically updates P-gain during execution based on actual error.
24
+ * 9. Executes a chirp signal.
25
+ * 10. Transitions device state back to SWITCH_ON_DISABLED.
26
+ * 11. Restores original encoder configuration, feedback filter, and controller parameters.
27
+ * 12. Returns the monitored data as a CSV string.
28
+ *
29
+ * @param deviceRef Target device reference (string | number).
30
+ * @param startFrequency Chirp signal start frequency (Hz).
31
+ * @param targetFrequency Chirp signal target frequency (Hz).
32
+ * @param targetAmplitude Chirp signal target amplitude.
33
+ * @param transitionTime Chirp signal transition time (ms).
34
+ * @param motionRangeLimit Chirp signal motion range limit (Inc or Feed).
35
+ * @returns Promise<boolean> indicating success or failure of the tuning procedure.
36
+ */
37
+ runHangingLoadTuner(deviceRef: DeviceRef, startFrequency: number, targetFrequency: number, targetAmplitude: number, transitionTime: number, motionRangeLimit: number): Promise<boolean>;
38
+ private handleAbortAndCleanup;
39
+ updateControlGain(calculateControlGain: () => void, stopFlag: () => any): void;
40
+ }