motion-master-client 0.0.108 → 0.0.109

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.108",
3
+ "version": "0.0.109",
4
4
  "type": "commonjs",
5
5
  "description": "A library and CLI program used for communicating with Motion Master.",
6
6
  "dependencies": {
@@ -30,31 +30,44 @@ class IntegroEncoderCalibration {
30
30
  };
31
31
  }
32
32
  start(debug = false) {
33
- var _a, _b;
33
+ var _a, _b, _c;
34
34
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
35
- const deviceRef = this.deviceRef;
36
35
  // The calibration procedure should be performed after the drive is fully commissioned, and thus, the drive should be fully operational in Velocity mode.
37
36
  // Tuning of the control loop should be done by the user.
38
- this.notifications$.next(`Validating the device (${deviceRef}) before starting the Integro encoder calibration.`);
37
+ this.notifications$.next(`Validating the device (${this.deviceRef}) before starting the Integro encoder calibration.`);
39
38
  yield this.validateDevice();
40
- this.notifications$.next(`Setting the integrated encoder sampling frequency to 16 kHz (0x2110:28 = 1).`);
41
- yield this.client.request.download(this.deviceRef, 0x2110, 28, 1);
39
+ // Retrieve the encoder configuration index assigned to Port 1.
40
+ const encoder1ConfigurationSensorPort = yield this.client.request.upload(this.deviceRef, 0x2110, 1);
41
+ const encoderConfigurationIndex = encoder1ConfigurationSensorPort === 1 ? 0x2110 : 0x2112;
42
+ this.notifications$.next(`Setting the integrated encoder sampling frequency to 16 kHz (0x${encoderConfigurationIndex.toString(16)}:28 = 1).`);
43
+ yield this.client.request.download(this.deviceRef, encoderConfigurationIndex, 28, 1);
42
44
  this.notifications$.next('Switching the source of the velocity to the value provided by the encoder.');
43
- yield (0, rxjs_1.lastValueFrom)(this.client.request.runUseInternalEncoderVelocityOsCommand(deviceRef, 1, 10000, 1000, false));
45
+ yield (0, rxjs_1.lastValueFrom)(this.client.request.runUseInternalEncoderVelocityOsCommand(this.deviceRef, 1, 10000, 1000, false));
44
46
  // Trigger the POA automatic calibration with an OS command.
45
47
  this.notifications$.next('Triggering automatic calibration of the POA by setting register 0x25 to 0x09.');
46
48
  yield this.writeEncoderRegisterValueAndValidateResponse(0x25, 0x09);
47
49
  // Convert the POE calibration velocity profile values and update the device.
48
50
  yield this.setVelocityProfile(this.poeCalibrationVelocityProfile, 4);
49
51
  this.notifications$.next('Setting modes of operation to Profile velocity mode and transitioning to Operation enabled CiA402 state.');
50
- yield (0, rxjs_1.lastValueFrom)(this.client.request.setModesOfOperation(deviceRef, cia402_1.ModesOfOperation.PROFILE_VELOCITY_MODE));
51
- yield this.client.request.transitionToCia402State(deviceRef, cia402_1.Cia402State.OPERATION_ENABLED);
52
+ yield (0, rxjs_1.lastValueFrom)(this.client.request.setModesOfOperation(this.deviceRef, cia402_1.ModesOfOperation.PROFILE_VELOCITY_MODE));
53
+ yield this.client.request.transitionToCia402State(this.deviceRef, cia402_1.Cia402State.OPERATION_ENABLED);
52
54
  this.notifications$.next('Polling the encoder register 0x24 until its value equals 0x11 or until 5 seconds have passed.');
53
55
  // Read the value of the encoder register 0x24 until its value equals 0x11 or until 5 seconds have passed.
54
- let osCommandResponse = yield (0, rxjs_1.lastValueFrom)((0, rxjs_1.defer)(() => this.client.request.runKublerEncoderRegisterCommunicationOsCommand(deviceRef, 0, 0x24, 1, 0, 10000, 1000, false).pipe((0, rxjs_1.repeat)({ count: 10, delay: 500 }), (0, rxjs_1.takeWhile)(osCommandResponse => (osCommandResponse === null || osCommandResponse === void 0 ? void 0 : osCommandResponse.kublerRegisterValue) !== 0x11, true))));
56
+ let osCommandResponse = yield (0, rxjs_1.lastValueFrom)((0, rxjs_1.defer)(() => this.client.request.runKublerEncoderRegisterCommunicationOsCommand(this.deviceRef, 0, 0x24, 1, 0, 10000, 1000, false).pipe((0, rxjs_1.repeat)({ count: 14, delay: 500 }), (0, rxjs_1.takeWhile)(osCommandResponse => {
57
+ var _a;
58
+ if (debug) {
59
+ this.notifications$.next(`Value read from the encoder register 0x24 is: 0x${(_a = osCommandResponse.kublerRegisterValue) === null || _a === void 0 ? void 0 : _a.toString(16).toUpperCase()}`);
60
+ }
61
+ return (osCommandResponse === null || osCommandResponse === void 0 ? void 0 : osCommandResponse.kublerRegisterValue) !== 0x11;
62
+ }, true))));
63
+ if (osCommandResponse.request === 'failed') {
64
+ this.notifications$.next(`Reading the value of register 0x24 failed. ${osCommandResponse.errorName} (${osCommandResponse.errorCode}): ${osCommandResponse.errorDescription}`);
65
+ }
66
+ else if (osCommandResponse.request === 'succeeded') {
67
+ this.notifications$.next(`The last value retrieved from register 0x24 is 0x${(_a = osCommandResponse.kublerRegisterValue) === null || _a === void 0 ? void 0 : _a.toString(16).toUpperCase()}: ${os_command_1.kublerEncoderRegisterValueMeaning[0x24][osCommandResponse.kublerRegisterValue]}`);
68
+ }
55
69
  yield this.client.request.download(this.deviceRef, 0x60FF, 0, 0);
56
70
  yield (0, util_1.resolveAfter)(500);
57
- this.notifications$.next(os_command_1.kublerEncoderRegisterValueMeaning[0x24][osCommandResponse.kublerRegisterValue]);
58
71
  if (osCommandResponse.kublerRegisterValue === 0x09) {
59
72
  this.notifications$.next('The calibration of the integrated encoder analogue gains cannot converge. Writing 0x05 to the encoder register 0x25.');
60
73
  yield this.writeEncoderRegisterValueAndValidateResponse(0x25, 0x05);
@@ -69,7 +82,7 @@ class IntegroEncoderCalibration {
69
82
  this.notifications$.next('Writing 0x00C2 to the encoder register 0x50.');
70
83
  yield this.writeEncoderRegisterValueAndValidateResponse(0x50, 0x00C2, 2);
71
84
  // Read the value of the encoder register 0x52 until its value satisfies the following condition (bit 6 = 1) & (bit 8 = 0) or until 8 seconds have passed.
72
- osCommandResponse = yield (0, rxjs_1.lastValueFrom)((0, rxjs_1.defer)(() => this.client.request.runKublerEncoderRegisterCommunicationOsCommand(deviceRef, 0, 0x52, 2, 0, 10000, 1000, false).pipe((0, rxjs_1.repeat)({ count: 16, delay: 500 }), (0, rxjs_1.takeWhile)(osCommandResponse => {
85
+ osCommandResponse = yield (0, rxjs_1.lastValueFrom)((0, rxjs_1.defer)(() => this.client.request.runKublerEncoderRegisterCommunicationOsCommand(this.deviceRef, 0, 0x52, 2, 0, 10000, 1000, false).pipe((0, rxjs_1.repeat)({ count: 16, delay: 500 }), (0, rxjs_1.takeWhile)(osCommandResponse => {
73
86
  var _a;
74
87
  if (debug) {
75
88
  this.notifications$.next(`Value read from the encoder register 0x52 is: 0x${(_a = osCommandResponse.kublerRegisterValue) === null || _a === void 0 ? void 0 : _a.toString(16).toUpperCase()}`);
@@ -80,7 +93,7 @@ class IntegroEncoderCalibration {
80
93
  this.notifications$.next(`Reading the value of register 0x52 failed. ${osCommandResponse.errorName} (${osCommandResponse.errorCode}): ${osCommandResponse.errorDescription}`);
81
94
  }
82
95
  else if (osCommandResponse.request === 'succeeded') {
83
- this.notifications$.next(`The last value retrieved from register 0x52 is 0x${(_a = osCommandResponse.kublerRegisterValue) === null || _a === void 0 ? void 0 : _a.toString(16).toUpperCase()}`);
96
+ this.notifications$.next(`The last value retrieved from register 0x52 is 0x${(_b = osCommandResponse.kublerRegisterValue) === null || _b === void 0 ? void 0 : _b.toString(16).toUpperCase()}`);
84
97
  }
85
98
  yield this.client.request.download(this.deviceRef, 0x60FF, 0, 0);
86
99
  yield (0, util_1.resolveAfter)(500);
@@ -91,7 +104,7 @@ class IntegroEncoderCalibration {
91
104
  this.notifications$.next('Writing 0x00C2 to the encoder register 0x50.');
92
105
  yield this.writeEncoderRegisterValueAndValidateResponse(0x50, 0x00C2, 2);
93
106
  // Read the value of the encoder register 0x52 until its value satisfies the following condition (bit 6 = 1) & (bit 8 = 0) or until 8 seconds have passed.
94
- osCommandResponse = yield (0, rxjs_1.lastValueFrom)((0, rxjs_1.defer)(() => this.client.request.runKublerEncoderRegisterCommunicationOsCommand(deviceRef, 0, 0x52, 2, 0, 10000, 1000, false).pipe((0, rxjs_1.repeat)({ count: 16, delay: 500 }), (0, rxjs_1.takeWhile)(osCommandResponse => {
107
+ osCommandResponse = yield (0, rxjs_1.lastValueFrom)((0, rxjs_1.defer)(() => this.client.request.runKublerEncoderRegisterCommunicationOsCommand(this.deviceRef, 0, 0x52, 2, 0, 10000, 1000, false).pipe((0, rxjs_1.repeat)({ count: 16, delay: 500 }), (0, rxjs_1.takeWhile)(osCommandResponse => {
95
108
  var _a;
96
109
  if (debug) {
97
110
  this.notifications$.next(`Value read from the encoder register 0x52 is: 0x${(_a = osCommandResponse.kublerRegisterValue) === null || _a === void 0 ? void 0 : _a.toString(16).toUpperCase()}`);
@@ -102,7 +115,7 @@ class IntegroEncoderCalibration {
102
115
  this.notifications$.next(`Reading the value of register 0x52 failed. ${osCommandResponse.errorName} (${osCommandResponse.errorCode}): ${osCommandResponse.errorDescription}`);
103
116
  }
104
117
  else if (osCommandResponse.request === 'succeeded') {
105
- this.notifications$.next(`The last value retrieved from register 0x52 is 0x${(_b = osCommandResponse.kublerRegisterValue) === null || _b === void 0 ? void 0 : _b.toString(16).toUpperCase()}`);
118
+ this.notifications$.next(`The last value retrieved from register 0x52 is 0x${(_c = osCommandResponse.kublerRegisterValue) === null || _c === void 0 ? void 0 : _c.toString(16).toUpperCase()}`);
106
119
  }
107
120
  yield this.client.request.download(this.deviceRef, 0x60FF, 0, 0);
108
121
  yield (0, util_1.resolveAfter)(500);
@@ -110,10 +123,10 @@ class IntegroEncoderCalibration {
110
123
  yield this.writeEncoderRegisterValueAndValidateResponse(0x25, 0x01);
111
124
  this.notifications$.next('Saving the correction table by writing 0x00D0 to the encoder register 0x50.');
112
125
  yield this.writeEncoderRegisterValueAndValidateResponse(0x50, 0x00D0, 2);
113
- this.notifications$.next(`Setting the integrated encoder sampling frequency back to 32 kHz (0x2110:28 = 2).`);
114
- yield this.client.request.download(this.deviceRef, 0x2110, 28, 2);
126
+ this.notifications$.next(`Setting the integrated encoder sampling frequency back to 32 kHz (0x${encoderConfigurationIndex.toString(16)}:28 = 2).`);
127
+ yield this.client.request.download(this.deviceRef, encoderConfigurationIndex, 28, 2);
115
128
  this.notifications$.next('Requesting Quick stop from device.');
116
- yield this.client.request.quickStop(deviceRef);
129
+ yield this.client.request.quickStop(this.deviceRef);
117
130
  });
118
131
  }
119
132
  /**
@@ -132,47 +145,48 @@ class IntegroEncoderCalibration {
132
145
  if (((_c = (0, product_1.findSomanetProductById)(productId)) === null || _c === void 0 ? void 0 : _c.family) !== 'Integro') {
133
146
  throw new Error('The device must be an Integro for the encoder calibration.');
134
147
  }
135
- const deviceRef = this.deviceRef;
136
- if (!deviceRef) {
148
+ if (!this.deviceRef) {
137
149
  throw new Error('No device reference could be determined from the device reference object.');
138
150
  }
139
151
  // The encoder configuration, which is assigned to port 1, must be of type Internal encoder (5).
140
- const encoder1ConfigurationSensorPort = yield this.client.request.upload(deviceRef, 0x2110, 1);
152
+ const encoder1ConfigurationSensorPort = yield this.client.request.upload(this.deviceRef, 0x2110, 1);
153
+ let encoderSource = 1;
141
154
  if (encoder1ConfigurationSensorPort === 1) {
142
- const encoder1ConfigurationType = yield this.client.request.upload(deviceRef, 0x2110, 2);
155
+ const encoder1ConfigurationType = yield this.client.request.upload(this.deviceRef, 0x2110, 2);
143
156
  if (encoder1ConfigurationType !== 5) {
144
157
  throw new Error('Encoder configuration 1, which is assigned to port 1, must be of type Internal encoder (5).');
145
158
  }
146
159
  }
147
160
  else {
148
- const encoder2ConfigurationSensorPort = yield this.client.request.upload(deviceRef, 0x2112, 1);
161
+ const encoder2ConfigurationSensorPort = yield this.client.request.upload(this.deviceRef, 0x2112, 1);
149
162
  if (encoder2ConfigurationSensorPort === 1) {
150
- const encoder2ConfigurationType = yield this.client.request.upload(deviceRef, 0x2112, 2);
163
+ const encoder2ConfigurationType = yield this.client.request.upload(this.deviceRef, 0x2112, 2);
151
164
  if (encoder2ConfigurationType !== 5) {
152
165
  throw new Error('Encoder configuration 2, which is assigned to port 1, must be of type Internal encoder (5).');
153
166
  }
167
+ encoderSource = 2;
154
168
  }
155
169
  else {
156
170
  throw new Error('No encoder configuration is assigned to port 1.');
157
171
  }
158
172
  }
159
173
  // The internal encoder must have a commutation function.
160
- const torqueControllerEncoderSource = yield this.client.request.upload(deviceRef, 0x2010, 12);
161
- if (torqueControllerEncoderSource !== 1) {
174
+ const torqueControllerEncoderSource = yield this.client.request.upload(this.deviceRef, 0x2010, 12);
175
+ if (torqueControllerEncoderSource !== encoderSource) {
162
176
  throw new Error('The internal encoder configuration must have a commutation function.');
163
177
  }
164
178
  // The internal encoder must have a velocity function.
165
- const velocityControllerEncoderSource = yield this.client.request.upload(deviceRef, 0x2011, 5);
166
- if (velocityControllerEncoderSource !== 1) {
179
+ const velocityControllerEncoderSource = yield this.client.request.upload(this.deviceRef, 0x2011, 5);
180
+ if (velocityControllerEncoderSource !== encoderSource) {
167
181
  throw new Error('The internal encoder configuration must have a velocity function.');
168
182
  }
169
183
  // The commutation offset must be set.
170
- const commutationOffsetState = yield this.client.request.upload(deviceRef, 0x2009, 1);
184
+ const commutationOffsetState = yield this.client.request.upload(this.deviceRef, 0x2009, 1);
171
185
  if (commutationOffsetState !== 2) {
172
186
  throw new Error('The commutation offset state must be valid before starting the Integro encoder calibration.');
173
187
  }
174
188
  // The velocity controller must be tuned.
175
- const velocityControllerKp = yield this.client.request.upload(deviceRef, 0x2011, 1);
189
+ const velocityControllerKp = yield this.client.request.upload(this.deviceRef, 0x2011, 1);
176
190
  if (velocityControllerKp <= 0) {
177
191
  throw new Error('Velocity controller must be tuned before starting the Integro encoder calibration.');
178
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"integro-encoder-calibration.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/integro-encoder-calibration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integro-encoder-calibration.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/integro-encoder-calibration.ts"],"names":[],"mappings":"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"}