motion-master-client 0.0.376 → 0.0.378

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.
Files changed (3) hide show
  1. package/package.json +1 -1
  2. package/src/api.js +221 -188
  3. package/src/api.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "motion-master-client",
3
- "version": "0.0.376",
3
+ "version": "0.0.378",
4
4
  "type": "commonjs",
5
5
  "description": "A library and CLI program used for communicating with Motion Master.",
6
6
  "dependencies": {
package/src/api.js CHANGED
@@ -114,8 +114,8 @@ const asyncHandler = (fn) => (req, res, next) => tslib_1.__awaiter(void 0, void
114
114
  app.get('/api/version', (_req, res) => {
115
115
  res.send({ version: package_json_1.default.version });
116
116
  });
117
- app.get('/api/connect/:hostname?', (req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
118
- var _b, _c;
117
+ app.get('/api/connect/config', (req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
118
+ var _b, _c, _d, _e, _f, _g;
119
119
  const requestTimeout = parseInt(((_b = req.query['request-timeout']) !== null && _b !== void 0 ? _b : '10000'));
120
120
  if (client) {
121
121
  res.status(409).send({
@@ -123,7 +123,40 @@ app.get('/api/connect/:hostname?', (req, res) => tslib_1.__awaiter(void 0, void
123
123
  });
124
124
  return;
125
125
  }
126
- const hostname = (_c = req.params['hostname']) !== null && _c !== void 0 ? _c : '127.0.0.1';
126
+ const hostname = ((_c = req.query['hostname']) !== null && _c !== void 0 ? _c : '127.0.0.1');
127
+ const reqResPort = parseInt(((_d = req.query['req-res-port']) !== null && _d !== void 0 ? _d : '63524'));
128
+ const pubSubPort = parseInt(((_e = req.query['pub-sub-port']) !== null && _e !== void 0 ? _e : '63525'));
129
+ const pingSystemInterval = parseInt(((_f = req.query['ping-system-interval']) !== null && _f !== void 0 ? _f : '250'));
130
+ const systemAliveTimeout = parseInt(((_g = req.query['system-alive-timeout']) !== null && _g !== void 0 ? _g : '1000'));
131
+ const clientAliveTimeoutStr = req.query['client-alive-timeout'];
132
+ const clientAliveTimeout = clientAliveTimeoutStr ? parseInt(clientAliveTimeoutStr) : undefined;
133
+ const secure = asBoolean(req.query['secure']);
134
+ const config = Object.assign(Object.assign({ hostname,
135
+ reqResPort,
136
+ pubSubPort,
137
+ pingSystemInterval,
138
+ systemAliveTimeout }, (clientAliveTimeout !== undefined && { clientAliveTimeout })), { secure });
139
+ log(`Creating an instance of Motion Master client with config: ${JSON.stringify(config)}`);
140
+ client = (0, motion_master_client_1.createMotionMasterClient)(config);
141
+ try {
142
+ yield client.whenReady(requestTimeout);
143
+ res.send({ reqResUrl: client.reqResSocket.url, pubSubUrl: client.pubSubSocket.url });
144
+ }
145
+ catch (err) {
146
+ client = undefined;
147
+ res.status(500).send({ message: errmsg(err) });
148
+ }
149
+ }));
150
+ app.get('/api/connect/:hostname?', (req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
151
+ var _h, _j;
152
+ const requestTimeout = parseInt(((_h = req.query['request-timeout']) !== null && _h !== void 0 ? _h : '10000'));
153
+ if (client) {
154
+ res.status(409).send({
155
+ message: 'Client has already been created. Please disconnect (GET /api/disconnect) before creating a new client.',
156
+ });
157
+ return;
158
+ }
159
+ const hostname = (_j = req.params['hostname']) !== null && _j !== void 0 ? _j : '127.0.0.1';
127
160
  log(`Creating an instance of Motion Master client and connecting to ${hostname}.`);
128
161
  client = (0, motion_master_client_1.createMotionMasterClient)(hostname);
129
162
  try {
@@ -144,53 +177,53 @@ app.get('/api/disconnect', (_req, res) => {
144
177
  res.send();
145
178
  });
146
179
  app.get('/api/system-version', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
147
- var _d;
148
- const requestTimeout = parseInt(((_d = req.query['request-timeout']) !== null && _d !== void 0 ? _d : '5000'));
180
+ var _k;
181
+ const requestTimeout = parseInt(((_k = req.query['request-timeout']) !== null && _k !== void 0 ? _k : '5000'));
149
182
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.getSystemVersion(requestTimeout));
150
183
  res.send({ version: status.version });
151
184
  })));
152
185
  app.get('/api/system-log', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
153
- var _e;
154
- const requestTimeout = parseInt(((_e = req.query['request-timeout']) !== null && _e !== void 0 ? _e : '5000'));
186
+ var _l;
187
+ const requestTimeout = parseInt(((_l = req.query['request-timeout']) !== null && _l !== void 0 ? _l : '5000'));
155
188
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.getSystemLog(requestTimeout));
156
189
  res.send({ content: status.content, runEnv: status.runEnv });
157
190
  })));
158
191
  app.get('/api/set-system-client-timeout/:timeout', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
159
- var _f;
160
- const timeoutMs = parseInt(((_f = req.params['timeout']) !== null && _f !== void 0 ? _f : '1000'));
192
+ var _m;
193
+ const timeoutMs = parseInt(((_m = req.params['timeout']) !== null && _m !== void 0 ? _m : '1000'));
161
194
  yield (0, rxjs_1.lastValueFrom)(client.request.setSystemClientTimeout({ timeoutMs }));
162
195
  res.send();
163
196
  })));
164
197
  app.get('/api/devices', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
165
- var _g;
166
- const requestTimeout = parseInt(((_g = req.query['request-timeout']) !== null && _g !== void 0 ? _g : '10000'));
198
+ var _o;
199
+ const requestTimeout = parseInt(((_o = req.query['request-timeout']) !== null && _o !== void 0 ? _o : '10000'));
167
200
  const devices = yield (0, rxjs_1.lastValueFrom)(client.request.getDevices(requestTimeout));
168
201
  res.send(devices);
169
202
  })));
170
203
  app.get('/api/devices/:deviceRef/parameter-info', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
171
- var _h;
204
+ var _p;
172
205
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
173
206
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
174
- const requestTimeout = parseInt(((_h = req.query['request-timeout']) !== null && _h !== void 0 ? _h : '5000'));
207
+ const requestTimeout = parseInt(((_p = req.query['request-timeout']) !== null && _p !== void 0 ? _p : '5000'));
175
208
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.getDeviceParameterInfo(deviceRefObj, requestTimeout));
176
209
  res.send(status === null || status === void 0 ? void 0 : status.parameters);
177
210
  })));
178
211
  app.get('/api/devices/:deviceRef/upload/:index/:subindex', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
179
- var _j;
212
+ var _q;
180
213
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
181
214
  const index = parseInt(req.params['index'], 16);
182
215
  const subindex = parseInt(req.params['subindex'], 16);
183
216
  const loadFromCache = asBoolean(req.query['load-from-cache']);
184
- const requestTimeout = parseInt(((_j = req.query['request-timeout']) !== null && _j !== void 0 ? _j : '1000'));
217
+ const requestTimeout = parseInt(((_q = req.query['request-timeout']) !== null && _q !== void 0 ? _q : '1000'));
185
218
  const value = yield client.request.upload(deviceRef, index, subindex, loadFromCache, requestTimeout);
186
219
  res.send({ value });
187
220
  })));
188
221
  app.post('/api/devices/:deviceRef/get-parameter-values', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
189
- var _k;
222
+ var _r;
190
223
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
191
224
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
192
225
  let parameters = req.body;
193
- const requestTimeout = parseInt(((_k = req.query['request-timeout']) !== null && _k !== void 0 ? _k : '9000'));
226
+ const requestTimeout = parseInt(((_r = req.query['request-timeout']) !== null && _r !== void 0 ? _r : '9000'));
194
227
  parameters = parameters.map((parameter) => {
195
228
  var _a, _b, _c;
196
229
  return {
@@ -203,10 +236,10 @@ app.post('/api/devices/:deviceRef/get-parameter-values', asyncHandler((req, res)
203
236
  res.send({ parameterValues: status.parameterValues });
204
237
  })));
205
238
  app.post('/api/devices/get-multi-device-parameter-values', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
206
- var _l;
239
+ var _s;
207
240
  let collection = req.body;
208
241
  const loadFromCache = asBoolean(req.query['load-from-cache']);
209
- const requestTimeout = parseInt(((_l = req.query['request-timeout']) !== null && _l !== void 0 ? _l : '9000'));
242
+ const requestTimeout = parseInt(((_s = req.query['request-timeout']) !== null && _s !== void 0 ? _s : '9000'));
210
243
  collection.map((c) => {
211
244
  var _a;
212
245
  (_a = c.parameters) === null || _a === void 0 ? void 0 : _a.map((parameter) => {
@@ -219,62 +252,62 @@ app.post('/api/devices/get-multi-device-parameter-values', asyncHandler((req, re
219
252
  res.send({ collection: status.collection });
220
253
  })));
221
254
  app.get('/api/devices/:deviceRef/parameters', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
222
- var _m;
255
+ var _t;
223
256
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
224
257
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
225
258
  const loadFromCache = asBoolean(req.query['load-from-cache']);
226
- const requestTimeout = parseInt(((_m = req.query['request-timeout']) !== null && _m !== void 0 ? _m : '10000'));
259
+ const requestTimeout = parseInt(((_t = req.query['request-timeout']) !== null && _t !== void 0 ? _t : '10000'));
227
260
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.getDeviceParameters(Object.assign({ loadFromCache }, deviceRefObj), requestTimeout));
228
261
  res.send({ parameters: status.parameters });
229
262
  })));
230
263
  app.get('/api/devices/:deviceRef/download/:index/:subindex/:value', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
231
- var _o;
264
+ var _u;
232
265
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
233
266
  const index = parseInt(req.params['index'], 16);
234
267
  const subindex = parseInt(req.params['subindex'], 16);
235
268
  const value = req.params['value'];
236
- const requestTimeout = parseInt(((_o = req.query['request-timeout']) !== null && _o !== void 0 ? _o : '1000'));
269
+ const requestTimeout = parseInt(((_u = req.query['request-timeout']) !== null && _u !== void 0 ? _u : '1000'));
237
270
  yield client.request.download(deviceRef, index, subindex, value, undefined, requestTimeout);
238
271
  res.send();
239
272
  })));
240
273
  app.put('/api/devices/:deviceRef/download/:index/:subindex', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
241
- var _p;
274
+ var _v;
242
275
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
243
276
  const index = parseInt(req.params['index'], 16);
244
277
  const subindex = parseInt(req.params['subindex'], 16);
245
278
  const buffer = req.body;
246
279
  const value = new Uint8Array(buffer);
247
- const requestTimeout = parseInt(((_p = req.query['request-timeout']) !== null && _p !== void 0 ? _p : '5000'));
280
+ const requestTimeout = parseInt(((_v = req.query['request-timeout']) !== null && _v !== void 0 ? _v : '5000'));
248
281
  yield client.request.download(deviceRef, index, subindex, value, undefined, requestTimeout);
249
282
  res.send();
250
283
  })));
251
284
  app.post('/api/devices/:deviceRef/set-parameter-values', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
252
- var _q;
285
+ var _w;
253
286
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
254
287
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
255
288
  let parameterValues = req.body;
256
- const requestTimeout = parseInt(((_q = req.query['request-timeout']) !== null && _q !== void 0 ? _q : '3000'));
289
+ const requestTimeout = parseInt(((_w = req.query['request-timeout']) !== null && _w !== void 0 ? _w : '3000'));
257
290
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.setDeviceParameterValues(Object.assign(Object.assign({}, deviceRefObj), { parameterValues }), requestTimeout));
258
291
  res.send({ parameterValues: status.parameterValues });
259
292
  })));
260
293
  app.post('/api/devices/set-multi-device-parameter-values', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
261
- var _r;
294
+ var _x;
262
295
  let collection = req.body;
263
- const requestTimeout = parseInt(((_r = req.query['request-timeout']) !== null && _r !== void 0 ? _r : '3000'));
296
+ const requestTimeout = parseInt(((_x = req.query['request-timeout']) !== null && _x !== void 0 ? _x : '3000'));
264
297
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.setMultiDeviceParameterValues({ collection }, requestTimeout));
265
298
  res.send({ collection: status.collection });
266
299
  })));
267
300
  app.get('/api/devices/:deviceRef/files', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
268
- var _s;
301
+ var _y;
269
302
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
270
- const requestTimeout = parseInt(((_s = req.query['request-timeout']) !== null && _s !== void 0 ? _s : '30000'));
303
+ const requestTimeout = parseInt(((_y = req.query['request-timeout']) !== null && _y !== void 0 ? _y : '30000'));
271
304
  const value = yield (0, rxjs_1.lastValueFrom)(client.request.getFiles(deviceRef, requestTimeout));
272
305
  res.send(value);
273
306
  })));
274
307
  app.get('/api/devices/:deviceRef/files/unlock', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
275
- var _t;
308
+ var _z;
276
309
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
277
- const requestTimeout = parseInt(((_t = req.query['request-timeout']) !== null && _t !== void 0 ? _t : '5000'));
310
+ const requestTimeout = parseInt(((_z = req.query['request-timeout']) !== null && _z !== void 0 ? _z : '5000'));
278
311
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.unlockProtectedFiles(deviceRef, requestTimeout));
279
312
  if (status.request === 'succeeded') {
280
313
  res.send();
@@ -284,10 +317,10 @@ app.get('/api/devices/:deviceRef/files/unlock', asyncHandler((req, res) => tslib
284
317
  }
285
318
  })));
286
319
  app.get('/api/devices/:deviceRef/files/:filename', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
287
- var _u;
320
+ var _0;
288
321
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
289
322
  const filename = req.params['filename'];
290
- const requestTimeout = parseInt(((_u = req.query['request-timeout']) !== null && _u !== void 0 ? _u : '30000'));
323
+ const requestTimeout = parseInt(((_0 = req.query['request-timeout']) !== null && _0 !== void 0 ? _0 : '30000'));
291
324
  try {
292
325
  // Try to get the file as decoded text
293
326
  const value = yield (0, rxjs_1.lastValueFrom)(client.request.getDecodedFile(deviceRef, filename, requestTimeout));
@@ -311,12 +344,12 @@ app.get('/api/devices/:deviceRef/files/:filename', asyncHandler((req, res) => ts
311
344
  }
312
345
  })));
313
346
  app.put('/api/devices/:deviceRef/files/:filename', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
314
- var _v;
347
+ var _1;
315
348
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
316
349
  const filename = req.params['filename'];
317
350
  const buffer = req.body;
318
351
  const content = new Uint8Array(buffer);
319
- const requestTimeout = parseInt(((_v = req.query['request-timeout']) !== null && _v !== void 0 ? _v : '30000'));
352
+ const requestTimeout = parseInt(((_1 = req.query['request-timeout']) !== null && _1 !== void 0 ? _1 : '30000'));
320
353
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.setFile(deviceRef, filename, content, true, requestTimeout));
321
354
  if (status.request === 'succeeded') {
322
355
  res.send();
@@ -326,10 +359,10 @@ app.put('/api/devices/:deviceRef/files/:filename', asyncHandler((req, res) => ts
326
359
  }
327
360
  })));
328
361
  app.delete('/api/devices/:deviceRef/files/:filename', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
329
- var _w;
362
+ var _2;
330
363
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
331
364
  const filename = req.params['filename'];
332
- const requestTimeout = parseInt(((_w = req.query['request-timeout']) !== null && _w !== void 0 ? _w : '3000'));
365
+ const requestTimeout = parseInt(((_2 = req.query['request-timeout']) !== null && _2 !== void 0 ? _2 : '3000'));
333
366
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.deleteFile(deviceRef, filename, requestTimeout));
334
367
  if (status.request === 'succeeded') {
335
368
  res.send();
@@ -350,13 +383,13 @@ app.get('/api/devices/:deviceRef/reset-fault', asyncHandler((req, res) => tslib_
350
383
  res.send();
351
384
  })));
352
385
  app.post('/api/devices/:deviceRef/start-firmware-installation', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
353
- var _x;
386
+ var _3;
354
387
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
355
388
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
356
389
  const buffer = req.body;
357
390
  const firmwarePackageContent = new Uint8Array(buffer);
358
391
  const skipSiiInstallation = asBoolean(req.query['skip-sii-installation']);
359
- const requestTimeout = parseInt(((_x = req.query['request-timeout']) !== null && _x !== void 0 ? _x : '180000'));
392
+ const requestTimeout = parseInt(((_3 = req.query['request-timeout']) !== null && _3 !== void 0 ? _3 : '180000'));
360
393
  const skipFilesParam = req.query['skip-files'];
361
394
  let skipFiles = null;
362
395
  if (Array.isArray(skipFilesParam)) {
@@ -374,41 +407,41 @@ app.post('/api/devices/:deviceRef/start-firmware-installation', asyncHandler((re
374
407
  }
375
408
  })));
376
409
  app.get('/api/devices/:deviceRef/log', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
377
- var _y;
410
+ var _4;
378
411
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
379
412
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
380
- const requestTimeout = parseInt(((_y = req.query['request-timeout']) !== null && _y !== void 0 ? _y : '10000'));
413
+ const requestTimeout = parseInt(((_4 = req.query['request-timeout']) !== null && _4 !== void 0 ? _4 : '10000'));
381
414
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.getDeviceLog(deviceRefObj, requestTimeout));
382
415
  res.send(status.content);
383
416
  })));
384
417
  app.get('/api/devices/:deviceRef/start-cogging-torque-recording', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
385
- var _z, _0, _1;
418
+ var _5, _6, _7;
386
419
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
387
420
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
388
421
  const skipAutoTuning = asBoolean(req.query['skip-auto-tuning']);
389
- const requestTimeout = parseInt(((_z = req.query['request-timeout']) !== null && _z !== void 0 ? _z : '180000'));
422
+ const requestTimeout = parseInt(((_5 = req.query['request-timeout']) !== null && _5 !== void 0 ? _5 : '180000'));
390
423
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.startCoggingTorqueRecording(Object.assign(Object.assign({}, deviceRefObj), { skipAutoTuning }), requestTimeout));
391
424
  if (status.request === 'succeeded') {
392
425
  const value = yield (0, rxjs_1.lastValueFrom)(client.request.getCoggingTorqueData(deviceRefObj, 10000));
393
- res.send((_1 = (_0 = value.table) === null || _0 === void 0 ? void 0 : _0.data) !== null && _1 !== void 0 ? _1 : []);
426
+ res.send((_7 = (_6 = value.table) === null || _6 === void 0 ? void 0 : _6.data) !== null && _7 !== void 0 ? _7 : []);
394
427
  }
395
428
  else {
396
429
  res.status(500).send(status.error);
397
430
  }
398
431
  })));
399
432
  app.get('/api/devices/:deviceRef/cogging-torque-data', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
400
- var _2, _3, _4;
433
+ var _8, _9, _10;
401
434
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
402
435
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
403
- const requestTimeout = parseInt(((_2 = req.query['request-timeout']) !== null && _2 !== void 0 ? _2 : '10000'));
436
+ const requestTimeout = parseInt(((_8 = req.query['request-timeout']) !== null && _8 !== void 0 ? _8 : '10000'));
404
437
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.getCoggingTorqueData(deviceRefObj, requestTimeout));
405
- res.send((_4 = (_3 = status.table) === null || _3 === void 0 ? void 0 : _3.data) !== null && _4 !== void 0 ? _4 : []);
438
+ res.send((_10 = (_9 = status.table) === null || _9 === void 0 ? void 0 : _9.data) !== null && _10 !== void 0 ? _10 : []);
406
439
  })));
407
440
  app.get('/api/devices/:deviceRef/start-offset-detection', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
408
- var _5;
441
+ var _11;
409
442
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
410
443
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
411
- const requestTimeout = parseInt(((_5 = req.query['request-timeout']) !== null && _5 !== void 0 ? _5 : '120000'));
444
+ const requestTimeout = parseInt(((_11 = req.query['request-timeout']) !== null && _11 !== void 0 ? _11 : '120000'));
412
445
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.startOffsetDetection(deviceRefObj, requestTimeout));
413
446
  if (status.request === 'succeeded') {
414
447
  const commutationAngleOffset = yield client.request.upload(deviceRef, 0x2001, 0);
@@ -426,12 +459,12 @@ app.get('/api/devices/:deviceRef/set-motion-controller-parameters', asyncHandler
426
459
  res.send();
427
460
  })));
428
461
  app.get('/api/devices/:deviceRef/enable-motion-controller/:controllerType', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
429
- var _6, _7;
462
+ var _12, _13;
430
463
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
431
464
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
432
- const controllerType = (_6 = types_1.MotionMasterMessage.Request.EnableMotionController.ControllerType[req.params['controllerType'].toUpperCase()]) !== null && _6 !== void 0 ? _6 : types_1.MotionMasterMessage.Request.EnableMotionController.ControllerType.UNSPECIFIED;
465
+ const controllerType = (_12 = types_1.MotionMasterMessage.Request.EnableMotionController.ControllerType[req.params['controllerType'].toUpperCase()]) !== null && _12 !== void 0 ? _12 : types_1.MotionMasterMessage.Request.EnableMotionController.ControllerType.UNSPECIFIED;
433
466
  const filter = asBoolean(req.query['filter']);
434
- const requestTimeout = parseInt(((_7 = req.query['request-timeout']) !== null && _7 !== void 0 ? _7 : '3000'));
467
+ const requestTimeout = parseInt(((_13 = req.query['request-timeout']) !== null && _13 !== void 0 ? _13 : '3000'));
435
468
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.enableMotionController(Object.assign(Object.assign({}, deviceRefObj), { controllerType, filter }), requestTimeout));
436
469
  if (status.request === 'succeeded') {
437
470
  res.send();
@@ -441,10 +474,10 @@ app.get('/api/devices/:deviceRef/enable-motion-controller/:controllerType', asyn
441
474
  }
442
475
  })));
443
476
  app.get('/api/devices/:deviceRef/disable-motion-controller', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
444
- var _8;
477
+ var _14;
445
478
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
446
479
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
447
- const requestTimeout = parseInt(((_8 = req.query['request-timeout']) !== null && _8 !== void 0 ? _8 : '3000'));
480
+ const requestTimeout = parseInt(((_14 = req.query['request-timeout']) !== null && _14 !== void 0 ? _14 : '3000'));
448
481
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.disableMotionController(Object.assign({}, deviceRefObj), requestTimeout));
449
482
  if (status.request === 'succeeded') {
450
483
  res.send();
@@ -454,10 +487,10 @@ app.get('/api/devices/:deviceRef/disable-motion-controller', asyncHandler((req,
454
487
  }
455
488
  })));
456
489
  app.get('/api/devices/:deviceRef/get-ethercat-network-state', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
457
- var _9;
490
+ var _15;
458
491
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
459
492
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
460
- const requestTimeout = parseInt(((_9 = req.query['request-timeout']) !== null && _9 !== void 0 ? _9 : '3000'));
493
+ const requestTimeout = parseInt(((_15 = req.query['request-timeout']) !== null && _15 !== void 0 ? _15 : '3000'));
461
494
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.getEthercatNetworkState(Object.assign({}, deviceRefObj), requestTimeout));
462
495
  if (status.request === 'succeeded') {
463
496
  res.send({ state: status.state });
@@ -467,11 +500,11 @@ app.get('/api/devices/:deviceRef/get-ethercat-network-state', asyncHandler((req,
467
500
  }
468
501
  })));
469
502
  app.get('/api/devices/:deviceRef/set-ethercat-network-state/:state', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
470
- var _10, _11;
503
+ var _16, _17;
471
504
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
472
505
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
473
- const state = (_10 = types_1.MotionMasterMessage.Request.SetEthercatNetworkState.State[req.params['state'].toUpperCase()]) !== null && _10 !== void 0 ? _10 : types_1.MotionMasterMessage.Request.SetEthercatNetworkState.State.UNSPECIFIED;
474
- const requestTimeout = parseInt(((_11 = req.query['request-timeout']) !== null && _11 !== void 0 ? _11 : '3000'));
506
+ const state = (_16 = types_1.MotionMasterMessage.Request.SetEthercatNetworkState.State[req.params['state'].toUpperCase()]) !== null && _16 !== void 0 ? _16 : types_1.MotionMasterMessage.Request.SetEthercatNetworkState.State.UNSPECIFIED;
507
+ const requestTimeout = parseInt(((_17 = req.query['request-timeout']) !== null && _17 !== void 0 ? _17 : '3000'));
475
508
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.setEthercatNetworkState(Object.assign(Object.assign({}, deviceRefObj), { state }), requestTimeout));
476
509
  if (status.request === 'succeeded') {
477
510
  res.send();
@@ -481,15 +514,15 @@ app.get('/api/devices/:deviceRef/set-ethercat-network-state/:state', asyncHandle
481
514
  }
482
515
  })));
483
516
  app.get('/api/devices/:deviceRef/start-system-identification', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
484
- var _12, _13, _14, _15, _16;
517
+ var _18, _19, _20, _21, _22;
485
518
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
486
519
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
487
- const durationSeconds = parseFloat(((_12 = req.query['duration-seconds']) !== null && _12 !== void 0 ? _12 : '3.0'));
488
- const torqueAmplitude = parseInt(((_13 = req.query['torque-amplitude']) !== null && _13 !== void 0 ? _13 : '300'));
489
- const startFrequency = parseInt(((_14 = req.query['start-frequency']) !== null && _14 !== void 0 ? _14 : '2'));
490
- const endFrequency = parseInt(((_15 = req.query['end-frequency']) !== null && _15 !== void 0 ? _15 : '60'));
520
+ const durationSeconds = parseFloat(((_18 = req.query['duration-seconds']) !== null && _18 !== void 0 ? _18 : '3.0'));
521
+ const torqueAmplitude = parseInt(((_19 = req.query['torque-amplitude']) !== null && _19 !== void 0 ? _19 : '300'));
522
+ const startFrequency = parseInt(((_20 = req.query['start-frequency']) !== null && _20 !== void 0 ? _20 : '2'));
523
+ const endFrequency = parseInt(((_21 = req.query['end-frequency']) !== null && _21 !== void 0 ? _21 : '60'));
491
524
  const nextGenSysId = asBoolean(req.query['next-gen-sys-id']);
492
- const requestTimeout = parseInt(((_16 = req.query['request-timeout']) !== null && _16 !== void 0 ? _16 : '30000'));
525
+ const requestTimeout = parseInt(((_22 = req.query['request-timeout']) !== null && _22 !== void 0 ? _22 : '30000'));
493
526
  const props = Object.assign(Object.assign({}, deviceRefObj), { durationSeconds,
494
527
  torqueAmplitude,
495
528
  startFrequency,
@@ -505,9 +538,9 @@ app.get('/api/devices/:deviceRef/start-system-identification', asyncHandler((req
505
538
  }
506
539
  })));
507
540
  app.get('/api/devices/:deviceRef/set-modes-of-operation/:modesOfOperation', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
508
- var _17;
541
+ var _23;
509
542
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
510
- const modesOfOperation = parseInt((_17 = req.params['modesOfOperation']) !== null && _17 !== void 0 ? _17 : '0');
543
+ const modesOfOperation = parseInt((_23 = req.params['modesOfOperation']) !== null && _23 !== void 0 ? _23 : '0');
511
544
  yield (0, rxjs_1.lastValueFrom)(client.request.setModesOfOperation(deviceRef, modesOfOperation));
512
545
  res.send();
513
546
  })));
@@ -518,9 +551,9 @@ app.get('/api/devices/:deviceRef/transition-to-cia402-state/:state', asyncHandle
518
551
  res.send();
519
552
  })));
520
553
  app.get('/api/devices/:deviceRef/cia402-state', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
521
- var _18;
554
+ var _24;
522
555
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
523
- const requestTimeout = parseInt(((_18 = req.query['request-timeout']) !== null && _18 !== void 0 ? _18 : '5000'));
556
+ const requestTimeout = parseInt(((_24 = req.query['request-timeout']) !== null && _24 !== void 0 ? _24 : '5000'));
524
557
  const state = yield (0, rxjs_1.lastValueFrom)(client.request.getCia402State(deviceRef, requestTimeout));
525
558
  res.send({ state });
526
559
  })));
@@ -530,22 +563,22 @@ app.get('/api/devices/:deviceRef/save-config', asyncHandler((req, res) => tslib_
530
563
  res.send();
531
564
  })));
532
565
  app.put('/api/devices/:deviceRef/load-config', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
533
- var _19;
566
+ var _25;
534
567
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
535
568
  const buffer = req.body;
536
569
  const content = new Uint8Array(buffer);
537
570
  const refresh = asBoolean(req.query['refresh']);
538
- const strategy = (_19 = req.query['strategy']) !== null && _19 !== void 0 ? _19 : 'replace';
571
+ const strategy = (_25 = req.query['strategy']) !== null && _25 !== void 0 ? _25 : 'replace';
539
572
  yield (0, rxjs_1.lastValueFrom)(client.request.loadConfig(deviceRef, content, strategy, { count: 20, delay: 500 }, refresh));
540
573
  res.send();
541
574
  })));
542
575
  app.get('/api/devices/:deviceRef/compute-auto-tuning-gains/velocity', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
543
- var _20, _21, _22;
576
+ var _26, _27, _28;
544
577
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
545
578
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
546
- const velocityLoopBandwidth = parseFloat(((_20 = req.query['velocity-loop-bandwidth']) !== null && _20 !== void 0 ? _20 : '5'));
547
- const velocityDamping = parseFloat(((_21 = req.query['velocity-damping']) !== null && _21 !== void 0 ? _21 : '0.7'));
548
- const requestTimeout = parseInt(((_22 = req.query['request-timeout']) !== null && _22 !== void 0 ? _22 : '120000'));
579
+ const velocityLoopBandwidth = parseFloat(((_26 = req.query['velocity-loop-bandwidth']) !== null && _26 !== void 0 ? _26 : '5'));
580
+ const velocityDamping = parseFloat(((_27 = req.query['velocity-damping']) !== null && _27 !== void 0 ? _27 : '0.7'));
581
+ const requestTimeout = parseInt(((_28 = req.query['request-timeout']) !== null && _28 !== void 0 ? _28 : '120000'));
549
582
  const velocityParameters = { velocityLoopBandwidth, velocityDamping };
550
583
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.computeAutoTuningGains(Object.assign(Object.assign({}, deviceRefObj), { velocityParameters }), requestTimeout));
551
584
  if (status.request === 'succeeded') {
@@ -556,17 +589,17 @@ app.get('/api/devices/:deviceRef/compute-auto-tuning-gains/velocity', asyncHandl
556
589
  }
557
590
  })));
558
591
  app.get('/api/devices/:deviceRef/compute-auto-tuning-gains/position', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
559
- var _23, _24, _25, _26, _27, _28, _29, _30, _31;
592
+ var _29, _30, _31, _32, _33, _34, _35, _36, _37;
560
593
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
561
594
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
562
- const controllerType = (_24 = types_1.MotionMasterMessage.Request.ComputeAutoTuningGains.PositionParameters.ControllerType[((_23 = req.query['controller-type']) !== null && _23 !== void 0 ? _23 : 'UNSPECIFIED')]) !== null && _24 !== void 0 ? _24 : types_1.MotionMasterMessage.Request.ComputeAutoTuningGains.PositionParameters.ControllerType.UNSPECIFIED;
563
- const settlingTime = parseFloat(((_25 = req.query['settling-time']) !== null && _25 !== void 0 ? _25 : '0.2'));
564
- const positionDamping = parseFloat(((_26 = req.query['position-damping']) !== null && _26 !== void 0 ? _26 : '1'));
565
- const alphaMult = parseInt(((_27 = req.query['alpha-mult']) !== null && _27 !== void 0 ? _27 : '1'));
566
- const order = parseInt(((_28 = req.query['order']) !== null && _28 !== void 0 ? _28 : '0'));
567
- const lb = parseInt(((_29 = req.query['lb']) !== null && _29 !== void 0 ? _29 : '1'));
568
- const ub = parseInt(((_30 = req.query['ub']) !== null && _30 !== void 0 ? _30 : '1001'));
569
- const requestTimeout = parseInt(((_31 = req.query['request-timeout']) !== null && _31 !== void 0 ? _31 : '120000'));
595
+ const controllerType = (_30 = types_1.MotionMasterMessage.Request.ComputeAutoTuningGains.PositionParameters.ControllerType[((_29 = req.query['controller-type']) !== null && _29 !== void 0 ? _29 : 'UNSPECIFIED')]) !== null && _30 !== void 0 ? _30 : types_1.MotionMasterMessage.Request.ComputeAutoTuningGains.PositionParameters.ControllerType.UNSPECIFIED;
596
+ const settlingTime = parseFloat(((_31 = req.query['settling-time']) !== null && _31 !== void 0 ? _31 : '0.2'));
597
+ const positionDamping = parseFloat(((_32 = req.query['position-damping']) !== null && _32 !== void 0 ? _32 : '1'));
598
+ const alphaMult = parseInt(((_33 = req.query['alpha-mult']) !== null && _33 !== void 0 ? _33 : '1'));
599
+ const order = parseInt(((_34 = req.query['order']) !== null && _34 !== void 0 ? _34 : '0'));
600
+ const lb = parseInt(((_35 = req.query['lb']) !== null && _35 !== void 0 ? _35 : '1'));
601
+ const ub = parseInt(((_36 = req.query['ub']) !== null && _36 !== void 0 ? _36 : '1001'));
602
+ const requestTimeout = parseInt(((_37 = req.query['request-timeout']) !== null && _37 !== void 0 ? _37 : '120000'));
570
603
  const positionParameters = { controllerType, settlingTime, positionDamping, alphaMult, order, lb, ub };
571
604
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.computeAutoTuningGains(Object.assign(Object.assign({}, deviceRefObj), { positionParameters }), requestTimeout));
572
605
  if (status.request === 'succeeded') {
@@ -577,15 +610,15 @@ app.get('/api/devices/:deviceRef/compute-auto-tuning-gains/position', asyncHandl
577
610
  }
578
611
  })));
579
612
  app.get('/api/devices/:deviceRef/start-open-loop-field-control', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
580
- var _32, _33, _34, _35, _36, _37;
613
+ var _38, _39, _40, _41, _42, _43;
581
614
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
582
615
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
583
- const angle = parseInt(((_32 = req.query['angle']) !== null && _32 !== void 0 ? _32 : '360'));
584
- const velocity = parseInt(((_33 = req.query['velocity']) !== null && _33 !== void 0 ? _33 : '5'));
585
- const acceleration = parseInt(((_34 = req.query['acceleration']) !== null && _34 !== void 0 ? _34 : '1000'));
586
- const torque = parseInt(((_35 = req.query['torque']) !== null && _35 !== void 0 ? _35 : '1000'));
587
- const torqueSpeed = parseInt(((_36 = req.query['torqueSpeed']) !== null && _36 !== void 0 ? _36 : '10000'));
588
- const requestTimeout = parseInt(((_37 = req.query['request-timeout']) !== null && _37 !== void 0 ? _37 : '120000'));
616
+ const angle = parseInt(((_38 = req.query['angle']) !== null && _38 !== void 0 ? _38 : '360'));
617
+ const velocity = parseInt(((_39 = req.query['velocity']) !== null && _39 !== void 0 ? _39 : '5'));
618
+ const acceleration = parseInt(((_40 = req.query['acceleration']) !== null && _40 !== void 0 ? _40 : '1000'));
619
+ const torque = parseInt(((_41 = req.query['torque']) !== null && _41 !== void 0 ? _41 : '1000'));
620
+ const torqueSpeed = parseInt(((_42 = req.query['torqueSpeed']) !== null && _42 !== void 0 ? _42 : '10000'));
621
+ const requestTimeout = parseInt(((_43 = req.query['request-timeout']) !== null && _43 !== void 0 ? _43 : '120000'));
589
622
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.startOpenLoopFieldControl(Object.assign(Object.assign({}, deviceRefObj), { angle, velocity, acceleration, torque, torqueSpeed }), requestTimeout));
590
623
  if (status.request === 'succeeded') {
591
624
  res.send();
@@ -595,17 +628,17 @@ app.get('/api/devices/:deviceRef/start-open-loop-field-control', asyncHandler((r
595
628
  }
596
629
  })));
597
630
  app.get('/api/devices/:deviceRef/start-full-auto-tuning/velocity', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
598
- var _38, _39, _40, _41;
631
+ var _44, _45, _46, _47;
599
632
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
600
633
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
601
634
  const type = types_1.MotionMasterMessage.Request.StartFullAutoTuning.Type.VELOCITY;
602
- const requestTimeout = parseInt(((_38 = req.query['request-timeout']) !== null && _38 !== void 0 ? _38 : '60000'));
635
+ const requestTimeout = parseInt(((_44 = req.query['request-timeout']) !== null && _44 !== void 0 ? _44 : '60000'));
603
636
  const props = Object.assign(Object.assign({}, deviceRefObj), { type });
604
637
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.startFullAutoTuning(props, requestTimeout));
605
638
  if (status.request === 'succeeded') {
606
- const dampingRatio = (_39 = status.dampingRatio) !== null && _39 !== void 0 ? _39 : 0;
607
- const settlingTime = (_40 = status.settlingTime) !== null && _40 !== void 0 ? _40 : 0;
608
- const bandwidth = (_41 = status.bandwidth) !== null && _41 !== void 0 ? _41 : 0;
639
+ const dampingRatio = (_45 = status.dampingRatio) !== null && _45 !== void 0 ? _45 : 0;
640
+ const settlingTime = (_46 = status.settlingTime) !== null && _46 !== void 0 ? _46 : 0;
641
+ const bandwidth = (_47 = status.bandwidth) !== null && _47 !== void 0 ? _47 : 0;
609
642
  const pidObj = {};
610
643
  for (let subidx = 1; subidx < 5; subidx++) {
611
644
  pidObj[(0, parameter_1.makeParameterId)(0x2011, subidx)] = yield client.request.upload(deviceRef, 0x2011, subidx);
@@ -620,17 +653,17 @@ app.get('/api/devices/:deviceRef/start-full-auto-tuning/velocity', asyncHandler(
620
653
  }
621
654
  })));
622
655
  app.get('/api/devices/:deviceRef/start-full-auto-tuning/position/:controllerType', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
623
- var _42, _43, _44, _45;
656
+ var _48, _49, _50, _51;
624
657
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
625
658
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
626
659
  const type = types_1.MotionMasterMessage.Request.StartFullAutoTuning.Type.POSITION;
627
660
  let controllerType = types_1.MotionMasterMessage.Request.StartFullAutoTuning.ControllerType[req.params['controllerType'].toUpperCase()] || types_1.MotionMasterMessage.Request.StartFullAutoTuning.ControllerType.UNSPECIFIED;
628
- const requestTimeout = parseInt(((_42 = req.query['request-timeout']) !== null && _42 !== void 0 ? _42 : '60000'));
661
+ const requestTimeout = parseInt(((_48 = req.query['request-timeout']) !== null && _48 !== void 0 ? _48 : '60000'));
629
662
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.startFullAutoTuning(Object.assign(Object.assign({}, deviceRefObj), { type, controllerType }), requestTimeout));
630
663
  if (status.request === 'succeeded') {
631
- const dampingRatio = (_43 = status.dampingRatio) !== null && _43 !== void 0 ? _43 : 0;
632
- const settlingTime = (_44 = status.settlingTime) !== null && _44 !== void 0 ? _44 : 0;
633
- const bandwidth = (_45 = status.bandwidth) !== null && _45 !== void 0 ? _45 : 0;
664
+ const dampingRatio = (_49 = status.dampingRatio) !== null && _49 !== void 0 ? _49 : 0;
665
+ const settlingTime = (_50 = status.settlingTime) !== null && _50 !== void 0 ? _50 : 0;
666
+ const bandwidth = (_51 = status.bandwidth) !== null && _51 !== void 0 ? _51 : 0;
634
667
  const pidObj = {};
635
668
  for (let subidx = 1; subidx < 9; subidx++) {
636
669
  pidObj[(0, parameter_1.makeParameterId)(0x2012, subidx)] = yield client.request.upload(deviceRef, 0x2012, subidx);
@@ -645,10 +678,10 @@ app.get('/api/devices/:deviceRef/start-full-auto-tuning/position/:controllerType
645
678
  }
646
679
  })));
647
680
  app.get('/api/devices/:deviceRef/stop-full-auto-tuning', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
648
- var _46;
681
+ var _52;
649
682
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
650
683
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
651
- const requestTimeout = parseInt(((_46 = req.query['request-timeout']) !== null && _46 !== void 0 ? _46 : '10000'));
684
+ const requestTimeout = parseInt(((_52 = req.query['request-timeout']) !== null && _52 !== void 0 ? _52 : '10000'));
652
685
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.stopFullAutoTuning(deviceRefObj, requestTimeout));
653
686
  if (status.request == 'succeeded') {
654
687
  res.send();
@@ -667,13 +700,13 @@ app.get('/api/devices/:deviceRef/set-halt-bit/:value', asyncHandler((req, res) =
667
700
  * @example curl "http://localhost:63500/api/devices/0/run-torque-profile?target=100&holding-duration=3000&skip-quick-stop=false&target-reach-timeout=5000&slope=50&window=30&window-time=1"
668
701
  */
669
702
  app.get('/api/devices/:deviceRef/run-torque-profile', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
670
- var _47, _48;
703
+ var _53, _54;
671
704
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
672
- const target = parseInt(((_47 = req.query['target']) !== null && _47 !== void 0 ? _47 : '100'));
705
+ const target = parseInt(((_53 = req.query['target']) !== null && _53 !== void 0 ? _53 : '100'));
673
706
  const holdingDuration = parseInt(req.query['holding-duration']) || undefined;
674
707
  const skipQuickStop = asBoolean(req.query['skip-quick-stop']);
675
708
  const targetReachTimeout = parseInt(req.query['target-reach-timeout']) || undefined;
676
- const slope = parseInt(((_48 = req.query['slope']) !== null && _48 !== void 0 ? _48 : '50'));
709
+ const slope = parseInt(((_54 = req.query['slope']) !== null && _54 !== void 0 ? _54 : '50'));
677
710
  const window = parseInt(req.query['window']) || undefined;
678
711
  const windowTime = parseInt(req.query['window-time']) || undefined;
679
712
  const monitoringParameterIds = yield createDefaultDataMonitoringParameterIds(deviceRef);
@@ -701,11 +734,11 @@ app.get('/api/devices/:deviceRef/run-torque-profile', asyncHandler((req, res) =>
701
734
  * @example curl "http://localhost:63500/api/devices/0/run-velocity-profile?acceleration=5000&target=1000&deceleration=5000&holding-duration=2000&skip-quick-stop=false&target-reach-timeout=5000&window=10&window-time=1"
702
735
  */
703
736
  app.get('/api/devices/:deviceRef/run-velocity-profile', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
704
- var _49, _50, _51;
737
+ var _55, _56, _57;
705
738
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
706
- const acceleration = parseInt(((_49 = req.query['acceleration']) !== null && _49 !== void 0 ? _49 : '1000'));
707
- const target = parseInt(((_50 = req.query['target']) !== null && _50 !== void 0 ? _50 : '1000'));
708
- const deceleration = parseInt(((_51 = req.query['deceleration']) !== null && _51 !== void 0 ? _51 : '1000'));
739
+ const acceleration = parseInt(((_55 = req.query['acceleration']) !== null && _55 !== void 0 ? _55 : '1000'));
740
+ const target = parseInt(((_56 = req.query['target']) !== null && _56 !== void 0 ? _56 : '1000'));
741
+ const deceleration = parseInt(((_57 = req.query['deceleration']) !== null && _57 !== void 0 ? _57 : '1000'));
709
742
  const holdingDuration = parseInt(req.query['holding-duration']) || undefined;
710
743
  const skipQuickStop = asBoolean(req.query['skip-quick-stop']);
711
744
  const targetReachTimeout = parseInt(req.query['target-reach-timeout']) || undefined;
@@ -737,16 +770,16 @@ app.get('/api/devices/:deviceRef/run-velocity-profile', asyncHandler((req, res)
737
770
  * @example curl "http://localhost:63500/api/devices/0/run-position-profile?acceleration=5000&target=10000&deceleration=5000&holding-duration=2000&relative=true&skip-quick-stop=false&target-reach-timeout=5000&velocity=2000&window=10&window-time=1"
738
771
  */
739
772
  app.get('/api/devices/:deviceRef/run-position-profile', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
740
- var _52, _53, _54, _55;
773
+ var _58, _59, _60, _61;
741
774
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
742
- const acceleration = parseInt(((_52 = req.query['acceleration']) !== null && _52 !== void 0 ? _52 : '1000'));
743
- const target = parseInt(((_53 = req.query['target']) !== null && _53 !== void 0 ? _53 : '1000'));
744
- const deceleration = parseInt(((_54 = req.query['deceleration']) !== null && _54 !== void 0 ? _54 : '1000'));
775
+ const acceleration = parseInt(((_58 = req.query['acceleration']) !== null && _58 !== void 0 ? _58 : '1000'));
776
+ const target = parseInt(((_59 = req.query['target']) !== null && _59 !== void 0 ? _59 : '1000'));
777
+ const deceleration = parseInt(((_60 = req.query['deceleration']) !== null && _60 !== void 0 ? _60 : '1000'));
745
778
  const holdingDuration = parseInt(req.query['holding-duration']) || undefined;
746
779
  const relative = asBoolean(req.query['relative']);
747
780
  const skipQuickStop = asBoolean(req.query['skip-quick-stop']);
748
781
  const targetReachTimeout = parseInt(req.query['target-reach-timeout']) || undefined;
749
- const velocity = parseInt(((_55 = req.query['velocity']) !== null && _55 !== void 0 ? _55 : '100'));
782
+ const velocity = parseInt(((_61 = req.query['velocity']) !== null && _61 !== void 0 ? _61 : '100'));
750
783
  const window = parseInt(req.query['window']) || undefined;
751
784
  const windowTime = parseInt(req.query['window-time']) || undefined;
752
785
  const monitoringParameterIds = yield createDefaultDataMonitoringParameterIds(deviceRef);
@@ -784,14 +817,14 @@ app.get('/api/devices/:deviceRef/force-on-demand-parameters-update', asyncHandle
784
817
  res.send();
785
818
  })));
786
819
  app.get('/api/devices/:deviceRef/start-circulo-encoder-narrow-angle-calibration', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
787
- var _56, _57, _58;
820
+ var _62, _63, _64;
788
821
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
789
822
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
790
- const encoderOrdinal = parseInt(((_56 = req.query['encoder-ordinal']) !== null && _56 !== void 0 ? _56 : '1'));
823
+ const encoderOrdinal = parseInt(((_62 = req.query['encoder-ordinal']) !== null && _62 !== void 0 ? _62 : '1'));
791
824
  const activateHealthMonitoring = asBoolean(req.query['activate-health-monitoring']);
792
825
  const measurementOnly = asBoolean(req.query['measurement-only']);
793
- const externalEncoderType = parseInt(((_57 = req.query['external-encoder-type']) !== null && _57 !== void 0 ? _57 : '0'));
794
- const requestTimeout = parseInt(((_58 = req.query['request-timeout']) !== null && _58 !== void 0 ? _58 : '120000'));
826
+ const externalEncoderType = parseInt(((_63 = req.query['external-encoder-type']) !== null && _63 !== void 0 ? _63 : '0'));
827
+ const requestTimeout = parseInt(((_64 = req.query['request-timeout']) !== null && _64 !== void 0 ? _64 : '120000'));
795
828
  const statuses = yield (0, rxjs_1.lastValueFrom)(client.request
796
829
  .startCirculoEncoderNarrowAngleCalibrationProcedure(Object.assign(Object.assign({}, deviceRefObj), { encoderOrdinal, activateHealthMonitoring, measurementOnly, externalEncoderType }), requestTimeout)
797
830
  .pipe((0, rxjs_1.toArray)()));
@@ -841,13 +874,13 @@ app.get('/api/devices/:deviceRef/start-circulo-encoder-narrow-angle-calibration'
841
874
  }
842
875
  })));
843
876
  app.get('/api/devices/:deviceRef/start-circulo-encoder-configuration', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
844
- var _59, _60, _61, _62;
877
+ var _65, _66, _67, _68;
845
878
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
846
879
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
847
- const encoderOrdinal = parseInt(((_59 = req.query['encoder-ordinal']) !== null && _59 !== void 0 ? _59 : '1'));
848
- const batteryModeMaxAcceleration = parseInt(((_60 = req.query['battery-mode-max-acceleration']) !== null && _60 !== void 0 ? _60 : '0'));
849
- const externalCirculoType = parseInt(((_61 = req.query['external-circulo-type']) !== null && _61 !== void 0 ? _61 : '0'));
850
- const requestTimeout = parseInt(((_62 = req.query['request-timeout']) !== null && _62 !== void 0 ? _62 : '30000'));
880
+ const encoderOrdinal = parseInt(((_65 = req.query['encoder-ordinal']) !== null && _65 !== void 0 ? _65 : '1'));
881
+ const batteryModeMaxAcceleration = parseInt(((_66 = req.query['battery-mode-max-acceleration']) !== null && _66 !== void 0 ? _66 : '0'));
882
+ const externalCirculoType = parseInt(((_67 = req.query['external-circulo-type']) !== null && _67 !== void 0 ? _67 : '0'));
883
+ const requestTimeout = parseInt(((_68 = req.query['request-timeout']) !== null && _68 !== void 0 ? _68 : '30000'));
851
884
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.startCirculoEncoderConfiguration(Object.assign(Object.assign({}, deviceRefObj), { encoderOrdinal, batteryModeMaxAcceleration, externalCirculoType }), requestTimeout));
852
885
  if (status.request === 'succeeded') {
853
886
  res.send();
@@ -857,9 +890,9 @@ app.get('/api/devices/:deviceRef/start-circulo-encoder-configuration', asyncHand
857
890
  }
858
891
  })));
859
892
  app.get('/api/devices/:deviceRef/check-circulo-encoder-errors', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
860
- var _63;
893
+ var _69;
861
894
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
862
- const encoderOrdinal = parseInt(((_63 = req.query['encoder-ordinal']) !== null && _63 !== void 0 ? _63 : '1'));
895
+ const encoderOrdinal = parseInt(((_69 = req.query['encoder-ordinal']) !== null && _69 !== void 0 ? _69 : '1'));
863
896
  const result = yield (0, rxjs_1.lastValueFrom)(client.request.checkCirculoEncoderErrors(deviceRef, encoderOrdinal));
864
897
  res.send(result);
865
898
  })));
@@ -869,12 +902,12 @@ app.get('/api/devices/:deviceRef/start-integro-encoder-calibration', asyncHandle
869
902
  res.send();
870
903
  })));
871
904
  app.get('/api/devices/:deviceRef/circulo-encoder-magnet-distance', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
872
- var _64, _65, _66;
905
+ var _70, _71, _72;
873
906
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
874
907
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
875
- const encoderOrdinal = parseInt(((_64 = req.query['encoder-ordinal']) !== null && _64 !== void 0 ? _64 : '1'));
876
- const ringRevision = parseInt(((_65 = req.query['ring-revision']) !== null && _65 !== void 0 ? _65 : '0'));
877
- const requestTimeout = parseInt(((_66 = req.query['request-timeout']) !== null && _66 !== void 0 ? _66 : '5000'));
908
+ const encoderOrdinal = parseInt(((_70 = req.query['encoder-ordinal']) !== null && _70 !== void 0 ? _70 : '1'));
909
+ const ringRevision = parseInt(((_71 = req.query['ring-revision']) !== null && _71 !== void 0 ? _71 : '0'));
910
+ const requestTimeout = parseInt(((_72 = req.query['request-timeout']) !== null && _72 !== void 0 ? _72 : '5000'));
878
911
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.getCirculoEncoderMagnetDistance(Object.assign(Object.assign({}, deviceRefObj), { encoderOrdinal, ringRevision }), requestTimeout));
879
912
  if (status.request === 'succeeded') {
880
913
  res.send({ distance: status.distance, position: status.position });
@@ -884,7 +917,7 @@ app.get('/api/devices/:deviceRef/circulo-encoder-magnet-distance', asyncHandler(
884
917
  }
885
918
  })));
886
919
  app.post('/api/devices/:deviceRef/run-os-command', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
887
- var _67, _68, _69, _70;
920
+ var _73, _74, _75, _76;
888
921
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
889
922
  const commandQuery = req.query['command'];
890
923
  if (!commandQuery) {
@@ -899,12 +932,12 @@ app.post('/api/devices/:deviceRef/run-os-command', asyncHandler((req, res) => ts
899
932
  return;
900
933
  }
901
934
  const commandArray = new Uint8Array(command);
902
- const commandTimeout = parseInt(((_67 = req.query['command-timeout']) !== null && _67 !== void 0 ? _67 : '10000'));
903
- const responsePollingInterval = parseInt(((_68 = req.query['response-polling-interval']) !== null && _68 !== void 0 ? _68 : '1000'));
935
+ const commandTimeout = parseInt(((_73 = req.query['command-timeout']) !== null && _73 !== void 0 ? _73 : '10000'));
936
+ const responsePollingInterval = parseInt(((_74 = req.query['response-polling-interval']) !== null && _74 !== void 0 ? _74 : '1000'));
904
937
  const osCommandModeQuery = req.query['os-command-mode'];
905
938
  const osCommandMode = osCommandModeQuery !== undefined && asBoolean(osCommandModeQuery)
906
939
  ? true
907
- : (_69 = os_command_1.OsCommandMode[osCommandModeQuery === null || osCommandModeQuery === void 0 ? void 0 : osCommandModeQuery.toUpperCase()]) !== null && _69 !== void 0 ? _69 : false;
940
+ : (_75 = os_command_1.OsCommandMode[osCommandModeQuery === null || osCommandModeQuery === void 0 ? void 0 : osCommandModeQuery.toUpperCase()]) !== null && _75 !== void 0 ? _75 : false;
908
941
  const readFsBuffer = asBoolean(req.query['read-fs-buffer']);
909
942
  const fsBufferContent = req.body;
910
943
  let fsBufferContentArray = undefined;
@@ -912,7 +945,7 @@ app.post('/api/devices/:deviceRef/run-os-command', asyncHandler((req, res) => ts
912
945
  fsBufferContentArray = new Uint8Array(fsBufferContent);
913
946
  }
914
947
  const fsBuffer = fsBufferContentArray !== null && fsBufferContentArray !== void 0 ? fsBufferContentArray : readFsBuffer;
915
- const fsBufferReadWriteTimeout = parseInt(((_70 = req.query['fs-buffer-read-write-timeout']) !== null && _70 !== void 0 ? _70 : '30000'));
948
+ const fsBufferReadWriteTimeout = parseInt(((_76 = req.query['fs-buffer-read-write-timeout']) !== null && _76 !== void 0 ? _76 : '30000'));
916
949
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.runOsCommand(deviceRef, commandArray, commandTimeout, responsePollingInterval, osCommandMode, fsBuffer, fsBufferReadWriteTimeout));
917
950
  if (status.request === 'succeeded') {
918
951
  res.send(status);
@@ -922,10 +955,10 @@ app.post('/api/devices/:deviceRef/run-os-command', asyncHandler((req, res) => ts
922
955
  }
923
956
  })));
924
957
  app.post('/api/devices/:deviceRef/configure-smm', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
925
- var _71, _72, _73;
958
+ var _77, _78, _79;
926
959
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
927
- const username = (_71 = req.query['username']) !== null && _71 !== void 0 ? _71 : 'Test';
928
- const password = (_72 = req.query['password']) !== null && _72 !== void 0 ? _72 : 'SomanetSMM';
960
+ const username = (_77 = req.query['username']) !== null && _77 !== void 0 ? _77 : 'Test';
961
+ const password = (_78 = req.query['password']) !== null && _78 !== void 0 ? _78 : 'SomanetSMM';
929
962
  let configString;
930
963
  if (Buffer.isBuffer(req.body)) {
931
964
  // application/octet-stream (or express.raw)
@@ -936,49 +969,49 @@ app.post('/api/devices/:deviceRef/configure-smm', asyncHandler((req, res) => tsl
936
969
  configString = req.body;
937
970
  }
938
971
  else {
939
- const contentType = (_73 = req.headers['content-type']) !== null && _73 !== void 0 ? _73 : '';
972
+ const contentType = (_79 = req.headers['content-type']) !== null && _79 !== void 0 ? _79 : '';
940
973
  throw new Error(`Unsupported body type for configure-smm: ${typeof req.body} (Content-Type: ${contentType})`);
941
974
  }
942
975
  const safetyParametersReport = yield (0, rxjs_1.lastValueFrom)(client.request.configureSmmFromFile(deviceRef, username, password, configString));
943
976
  res.send(safetyParametersReport);
944
977
  })));
945
978
  app.post('/api/devices/:deviceRef/update-smm-software', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
946
- var _74, _75, _76, _77, _78, _79, _80;
979
+ var _80, _81, _82, _83, _84, _85, _86;
947
980
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
948
- const username = (_74 = req.query['username']) !== null && _74 !== void 0 ? _74 : 'Test';
949
- const password = (_75 = req.query['password']) !== null && _75 !== void 0 ? _75 : 'SomanetSMM';
950
- const crc = parseInt(((_76 = req.query['crc']) !== null && _76 !== void 0 ? _76 : ''), 16);
981
+ const username = (_80 = req.query['username']) !== null && _80 !== void 0 ? _80 : 'Test';
982
+ const password = (_81 = req.query['password']) !== null && _81 !== void 0 ? _81 : 'SomanetSMM';
983
+ const crc = parseInt(((_82 = req.query['crc']) !== null && _82 !== void 0 ? _82 : ''), 16);
951
984
  // Validate CRC
952
985
  if (Number.isNaN(crc)) {
953
986
  res.status(400).send('Invalid CRC format. Expected hexadecimal string.');
954
987
  return;
955
988
  }
956
989
  // Get optional parameters from query string
957
- const chunkSize = parseInt(((_77 = req.query['chunkSize']) !== null && _77 !== void 0 ? _77 : '1000'));
958
- const commandTimeout = parseInt(((_78 = req.query['commandTimeout']) !== null && _78 !== void 0 ? _78 : '30000'));
959
- const responsePollingInterval = parseInt(((_79 = req.query['responsePollingInterval']) !== null && _79 !== void 0 ? _79 : '1000'));
960
- const fsBufferReadWriteTimeout = parseInt(((_80 = req.query['fsBufferReadWriteTimeout']) !== null && _80 !== void 0 ? _80 : '120000'));
990
+ const chunkSize = parseInt(((_83 = req.query['chunkSize']) !== null && _83 !== void 0 ? _83 : '1000'));
991
+ const commandTimeout = parseInt(((_84 = req.query['commandTimeout']) !== null && _84 !== void 0 ? _84 : '30000'));
992
+ const responsePollingInterval = parseInt(((_85 = req.query['responsePollingInterval']) !== null && _85 !== void 0 ? _85 : '1000'));
993
+ const fsBufferReadWriteTimeout = parseInt(((_86 = req.query['fsBufferReadWriteTimeout']) !== null && _86 !== void 0 ? _86 : '120000'));
961
994
  // Create buffer from request body
962
995
  const buffer = new Uint8Array(req.body);
963
996
  yield (0, rxjs_1.lastValueFrom)(client.request.updateSmmSoftware(deviceRef, username, password, buffer, crc, chunkSize, commandTimeout, responsePollingInterval, fsBufferReadWriteTimeout));
964
997
  res.send();
965
998
  })));
966
999
  app.post('/api/devices/:deviceRef/update-smm-software-to-encrypted', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
967
- var _81, _82, _83, _84, _85, _86, _87;
1000
+ var _87, _88, _89, _90, _91, _92, _93;
968
1001
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
969
- const username = (_81 = req.query['username']) !== null && _81 !== void 0 ? _81 : 'Test';
970
- const password = (_82 = req.query['password']) !== null && _82 !== void 0 ? _82 : 'SomanetSMM';
971
- const crc = parseInt(((_83 = req.query['crc']) !== null && _83 !== void 0 ? _83 : ''), 16);
1002
+ const username = (_87 = req.query['username']) !== null && _87 !== void 0 ? _87 : 'Test';
1003
+ const password = (_88 = req.query['password']) !== null && _88 !== void 0 ? _88 : 'SomanetSMM';
1004
+ const crc = parseInt(((_89 = req.query['crc']) !== null && _89 !== void 0 ? _89 : ''), 16);
972
1005
  // Validate CRC
973
1006
  if (Number.isNaN(crc)) {
974
1007
  res.status(400).send('Invalid CRC format. Expected hexadecimal string.');
975
1008
  return;
976
1009
  }
977
1010
  // Get optional parameters from query string
978
- const chunkSize = parseInt(((_84 = req.query['chunkSize']) !== null && _84 !== void 0 ? _84 : '1000'));
979
- const commandTimeout = parseInt(((_85 = req.query['commandTimeout']) !== null && _85 !== void 0 ? _85 : '30000'));
980
- const responsePollingInterval = parseInt(((_86 = req.query['responsePollingInterval']) !== null && _86 !== void 0 ? _86 : '1000'));
981
- const fsBufferReadWriteTimeout = parseInt(((_87 = req.query['fsBufferReadWriteTimeout']) !== null && _87 !== void 0 ? _87 : '120000'));
1011
+ const chunkSize = parseInt(((_90 = req.query['chunkSize']) !== null && _90 !== void 0 ? _90 : '1000'));
1012
+ const commandTimeout = parseInt(((_91 = req.query['commandTimeout']) !== null && _91 !== void 0 ? _91 : '30000'));
1013
+ const responsePollingInterval = parseInt(((_92 = req.query['responsePollingInterval']) !== null && _92 !== void 0 ? _92 : '1000'));
1014
+ const fsBufferReadWriteTimeout = parseInt(((_93 = req.query['fsBufferReadWriteTimeout']) !== null && _93 !== void 0 ? _93 : '120000'));
982
1015
  // Create buffer from request body
983
1016
  const buffer = new Uint8Array(req.body);
984
1017
  yield (0, rxjs_1.lastValueFrom)(client.request.updateSmmSoftwareToEncrypted(deviceRef, username, password, buffer, crc, chunkSize, commandTimeout, responsePollingInterval, fsBufferReadWriteTimeout));
@@ -991,16 +1024,16 @@ app.get('/api/devices/:deviceRef/write-circulo-integrated-encoder-config-bin-fil
991
1024
  res.send(status);
992
1025
  })));
993
1026
  app.get('/api/devices/:deviceRef/run-chirp-signal', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
994
- var _88, _89, _90, _91, _92, _93, _94, _95;
1027
+ var _94, _95, _96, _97, _98, _99, _100, _101;
995
1028
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
996
- const hrdStreamingDuration = parseInt(((_88 = req.query['hrd-streaming-duration']) !== null && _88 !== void 0 ? _88 : '4000'));
997
- const modesOfOperation = parseInt(((_89 = req.query['modes-of-operation']) !== null && _89 !== void 0 ? _89 : '10'));
998
- const signalType = parseInt(((_90 = req.query['signal-type']) !== null && _90 !== void 0 ? _90 : '0'));
999
- const startFrequency = parseInt(((_91 = req.query['start-frequency']) !== null && _91 !== void 0 ? _91 : '2000'));
1000
- const startProcedure = parseInt(((_92 = req.query['start-procedure']) !== null && _92 !== void 0 ? _92 : '2'));
1001
- const targetAmplitude = parseInt(((_93 = req.query['target-amplitude']) !== null && _93 !== void 0 ? _93 : '300'));
1002
- const targetFrequency = parseInt(((_94 = req.query['target-frequency']) !== null && _94 !== void 0 ? _94 : '100000'));
1003
- const transitionTime = parseInt(((_95 = req.query['transition-time']) !== null && _95 !== void 0 ? _95 : '3000'));
1029
+ const hrdStreamingDuration = parseInt(((_94 = req.query['hrd-streaming-duration']) !== null && _94 !== void 0 ? _94 : '4000'));
1030
+ const modesOfOperation = parseInt(((_95 = req.query['modes-of-operation']) !== null && _95 !== void 0 ? _95 : '10'));
1031
+ const signalType = parseInt(((_96 = req.query['signal-type']) !== null && _96 !== void 0 ? _96 : '0'));
1032
+ const startFrequency = parseInt(((_97 = req.query['start-frequency']) !== null && _97 !== void 0 ? _97 : '2000'));
1033
+ const startProcedure = parseInt(((_98 = req.query['start-procedure']) !== null && _98 !== void 0 ? _98 : '2'));
1034
+ const targetAmplitude = parseInt(((_99 = req.query['target-amplitude']) !== null && _99 !== void 0 ? _99 : '300'));
1035
+ const targetFrequency = parseInt(((_100 = req.query['target-frequency']) !== null && _100 !== void 0 ? _100 : '100000'));
1036
+ const transitionTime = parseInt(((_101 = req.query['transition-time']) !== null && _101 !== void 0 ? _101 : '3000'));
1004
1037
  const options = {
1005
1038
  hrdStreamingDuration,
1006
1039
  modesOfOperation,
@@ -1021,18 +1054,18 @@ app.get('/api/devices/:deviceRef/run-chirp-signal', asyncHandler((req, res) => t
1021
1054
  }
1022
1055
  })));
1023
1056
  app.get('/api/devices/:deviceRef/start-limited-range-system-identification', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1024
- var _96, _97, _98, _99, _100, _101, _102;
1057
+ var _102, _103, _104, _105, _106, _107, _108;
1025
1058
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
1026
- const hrdStreamingDuration = parseInt(((_96 = req.query['hrd-streaming-duration']) !== null && _96 !== void 0 ? _96 : '3200'));
1059
+ const hrdStreamingDuration = parseInt(((_102 = req.query['hrd-streaming-duration']) !== null && _102 !== void 0 ? _102 : '3200'));
1027
1060
  const modesOfOperation = cia402_1.ModesOfOperation.CYCLIC_SYNC_POSITION_MODE;
1028
- const rangeLimit = parseInt(((_97 = req.query['range-limit']) !== null && _97 !== void 0 ? _97 : '10000'));
1029
- const rangeLimitMin = parseInt(((_98 = req.query['range-limit-min']) !== null && _98 !== void 0 ? _98 : '1000'));
1061
+ const rangeLimit = parseInt(((_103 = req.query['range-limit']) !== null && _103 !== void 0 ? _103 : '10000'));
1062
+ const rangeLimitMin = parseInt(((_104 = req.query['range-limit-min']) !== null && _104 !== void 0 ? _104 : '1000'));
1030
1063
  const signalType = os_command_1.SystemIdentificationOsCommandSignalType.LINEAR_WITH_CONSTANT_AMPLITUDE;
1031
- const startFrequency = parseInt(((_99 = req.query['start-frequency']) !== null && _99 !== void 0 ? _99 : '1000'));
1064
+ const startFrequency = parseInt(((_105 = req.query['start-frequency']) !== null && _105 !== void 0 ? _105 : '1000'));
1032
1065
  const startProcedure = os_command_1.SystemIdentificationOsCommandStartProcedure.WAIT_FOR_HRD_STREAMING_TO_START;
1033
- const targetAmplitude = parseInt(((_100 = req.query['target-amplitude']) !== null && _100 !== void 0 ? _100 : '300'));
1034
- const targetFrequency = parseInt(((_101 = req.query['target-frequency']) !== null && _101 !== void 0 ? _101 : '10000'));
1035
- const transitionTime = parseInt(((_102 = req.query['transition-time']) !== null && _102 !== void 0 ? _102 : '3000'));
1066
+ const targetAmplitude = parseInt(((_106 = req.query['target-amplitude']) !== null && _106 !== void 0 ? _106 : '300'));
1067
+ const targetFrequency = parseInt(((_107 = req.query['target-frequency']) !== null && _107 !== void 0 ? _107 : '10000'));
1068
+ const transitionTime = parseInt(((_108 = req.query['transition-time']) !== null && _108 !== void 0 ? _108 : '3000'));
1036
1069
  const options = {
1037
1070
  hrdStreamingDuration,
1038
1071
  modesOfOperation,
@@ -1070,15 +1103,15 @@ app.get('/api/motion-composer/stop', asyncHandler((_req, res) => tslib_1.__await
1070
1103
  res.send();
1071
1104
  })));
1072
1105
  app.get('/api/devices/:deviceRef/run-kubler-encoder-register-communication-os-command', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1073
- var _103, _104, _105, _106, _107, _108, _109;
1106
+ var _109, _110, _111, _112, _113, _114, _115;
1074
1107
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
1075
- const rw = parseInt(((_103 = req.query['rw']) !== null && _103 !== void 0 ? _103 : '0'));
1076
- const registerAddress = parseInt(((_104 = req.query['register-address']) !== null && _104 !== void 0 ? _104 : '0'));
1077
- const registerLength = parseInt(((_105 = req.query['register-length']) !== null && _105 !== void 0 ? _105 : '0'));
1078
- const registerWriteValue = parseInt(((_106 = req.query['register-write-value']) !== null && _106 !== void 0 ? _106 : '0'));
1079
- const commandTimeout = parseInt(((_107 = req.query['command-timeout']) !== null && _107 !== void 0 ? _107 : '10000'));
1080
- const responsePollingInterval = parseInt(((_108 = req.query['response-polling-interval']) !== null && _108 !== void 0 ? _108 : '1000'));
1081
- const osCommandMode = asBoolean(((_109 = req.query['os-command-mode']) !== null && _109 !== void 0 ? _109 : 'false'));
1108
+ const rw = parseInt(((_109 = req.query['rw']) !== null && _109 !== void 0 ? _109 : '0'));
1109
+ const registerAddress = parseInt(((_110 = req.query['register-address']) !== null && _110 !== void 0 ? _110 : '0'));
1110
+ const registerLength = parseInt(((_111 = req.query['register-length']) !== null && _111 !== void 0 ? _111 : '0'));
1111
+ const registerWriteValue = parseInt(((_112 = req.query['register-write-value']) !== null && _112 !== void 0 ? _112 : '0'));
1112
+ const commandTimeout = parseInt(((_113 = req.query['command-timeout']) !== null && _113 !== void 0 ? _113 : '10000'));
1113
+ const responsePollingInterval = parseInt(((_114 = req.query['response-polling-interval']) !== null && _114 !== void 0 ? _114 : '1000'));
1114
+ const osCommandMode = asBoolean(((_115 = req.query['os-command-mode']) !== null && _115 !== void 0 ? _115 : 'false'));
1082
1115
  const status = yield (0, rxjs_1.lastValueFrom)(client.request.runKublerEncoderRegisterCommunicationOsCommand(deviceRef, rw, registerAddress, registerLength, registerWriteValue, commandTimeout, responsePollingInterval, osCommandMode));
1083
1116
  if (status.request === 'succeeded') {
1084
1117
  res.send(status);
@@ -1127,28 +1160,28 @@ app.get('/api/devices/:deviceRef/factory-reset', asyncHandler((req, res) => tsli
1127
1160
  }
1128
1161
  })));
1129
1162
  app.get('/api/devices/:deviceRef/monitoring/start', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1130
- var _110;
1163
+ var _116;
1131
1164
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
1132
1165
  const device = yield (0, rxjs_1.lastValueFrom)(client.request.resolveDevice(deviceRef));
1133
1166
  const monitoringParameterIds = yield createDefaultDataMonitoringParameterIds(deviceRef);
1134
- (_110 = dataMonitoringMap.get(device.id)) === null || _110 === void 0 ? void 0 : _110.stop();
1167
+ (_116 = dataMonitoringMap.get(device.id)) === null || _116 === void 0 ? void 0 : _116.stop();
1135
1168
  const dataMonitoring = client.createDataMonitoring(monitoringParameterIds, 1000);
1136
1169
  dataMonitoring.start();
1137
1170
  dataMonitoringMap.set(device.id, dataMonitoring);
1138
1171
  res.send();
1139
1172
  })));
1140
1173
  app.get('/api/devices/:deviceRef/monitoring/data', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1141
- var _111;
1174
+ var _117;
1142
1175
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
1143
1176
  const device = yield (0, rxjs_1.lastValueFrom)(client.request.resolveDevice(deviceRef));
1144
1177
  const dataMonitoring = dataMonitoringMap.get(device.id);
1145
- res.type('text/csv').send((_111 = dataMonitoring === null || dataMonitoring === void 0 ? void 0 : dataMonitoring.csv) !== null && _111 !== void 0 ? _111 : '');
1178
+ res.type('text/csv').send((_117 = dataMonitoring === null || dataMonitoring === void 0 ? void 0 : dataMonitoring.csv) !== null && _117 !== void 0 ? _117 : '');
1146
1179
  })));
1147
1180
  app.get('/api/devices/:deviceRef/monitoring/stop', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1148
- var _112;
1181
+ var _118;
1149
1182
  const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
1150
1183
  const device = yield (0, rxjs_1.lastValueFrom)(client.request.resolveDevice(deviceRef));
1151
- (_112 = dataMonitoringMap.get(device.id)) === null || _112 === void 0 ? void 0 : _112.stop();
1184
+ (_118 = dataMonitoringMap.get(device.id)) === null || _118 === void 0 ? void 0 : _118.stop();
1152
1185
  res.send();
1153
1186
  })));
1154
1187
  app.listen(port, () => {
package/src/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../libs/motion-master-client/src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../libs/motion-master-client/src/api.ts"],"names":[],"mappings":"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"}