motion-master-client 0.0.388 → 0.0.390
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 +1 -1
- package/src/api.js +193 -161
- package/src/api.js.map +1 -1
package/package.json
CHANGED
package/src/api.js
CHANGED
|
@@ -36,6 +36,31 @@ process.on('unhandledRejection', (reason) => {
|
|
|
36
36
|
const app = (0, express_1.default)();
|
|
37
37
|
const port = (_a = process.env['PORT']) !== null && _a !== void 0 ? _a : 63526;
|
|
38
38
|
let client;
|
|
39
|
+
// Drop the active client and any monitoring it owns. Called by /api/disconnect
|
|
40
|
+
// and automatically when either WebSocket to motion-master closes — without this,
|
|
41
|
+
// a dead client stays referenced and every subsequent request blocks until its
|
|
42
|
+
// internal request-timeout, flooding the log with "Timeout has occurred".
|
|
43
|
+
function clearClient(reason) {
|
|
44
|
+
if (!client) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
log(`Clearing client (${reason}).`);
|
|
48
|
+
dataMonitoringMap.forEach((monitoring) => monitoring.stop());
|
|
49
|
+
dataMonitoringMap.clear();
|
|
50
|
+
client.closeSockets();
|
|
51
|
+
client = undefined;
|
|
52
|
+
}
|
|
53
|
+
// Subscribe once per client to the underlying WebSocket close events. Each socket's
|
|
54
|
+
// close$ fires when motion-master goes away (process exit, container restart, network
|
|
55
|
+
// drop) — code 1006 is the typical "abnormal closure". Either close is sufficient
|
|
56
|
+
// to invalidate the client; clearClient is idempotent so a second close on the
|
|
57
|
+
// other socket is a no-op. Subscriptions aren't unsubscribed explicitly: once
|
|
58
|
+
// clearClient runs, the sockets are closed and dropped, so the underlying Subjects
|
|
59
|
+
// complete and the subscriptions become eligible for GC along with the old client.
|
|
60
|
+
function watchForSocketClose(c) {
|
|
61
|
+
c.reqResSocket.close$.subscribe(({ code }) => clearClient(`REQ/RES socket closed, code ${code}`));
|
|
62
|
+
c.pubSubSocket.close$.subscribe(({ code }) => clearClient(`PUB/SUB socket closed, code ${code}`));
|
|
63
|
+
}
|
|
39
64
|
function errmsg(err) {
|
|
40
65
|
return err instanceof Error ? err.message : 'Unknown error';
|
|
41
66
|
}
|
|
@@ -153,6 +178,7 @@ app.get('/api/connect/config', (req, res) => tslib_1.__awaiter(void 0, void 0, v
|
|
|
153
178
|
client = (0, motion_master_client_1.createMotionMasterClient)(config);
|
|
154
179
|
try {
|
|
155
180
|
yield client.whenReady(requestTimeout);
|
|
181
|
+
watchForSocketClose(client);
|
|
156
182
|
res.send({ reqResUrl: client.reqResSocket.url, pubSubUrl: client.pubSubSocket.url });
|
|
157
183
|
}
|
|
158
184
|
catch (err) {
|
|
@@ -174,6 +200,7 @@ app.get('/api/connect/:hostname?', (req, res) => tslib_1.__awaiter(void 0, void
|
|
|
174
200
|
client = (0, motion_master_client_1.createMotionMasterClient)(hostname);
|
|
175
201
|
try {
|
|
176
202
|
yield client.whenReady(requestTimeout);
|
|
203
|
+
watchForSocketClose(client);
|
|
177
204
|
res.send({ reqResUrl: client.reqResSocket.url, pubSubUrl: client.pubSubSocket.url });
|
|
178
205
|
}
|
|
179
206
|
catch (err) {
|
|
@@ -182,11 +209,7 @@ app.get('/api/connect/:hostname?', (req, res) => tslib_1.__awaiter(void 0, void
|
|
|
182
209
|
}
|
|
183
210
|
}));
|
|
184
211
|
app.get('/api/disconnect', (_req, res) => {
|
|
185
|
-
|
|
186
|
-
dataMonitoringMap.forEach((monitoring) => monitoring.stop());
|
|
187
|
-
dataMonitoringMap.clear();
|
|
188
|
-
client === null || client === void 0 ? void 0 : client.closeSockets();
|
|
189
|
-
client = undefined;
|
|
212
|
+
clearClient('disconnect requested');
|
|
190
213
|
res.send();
|
|
191
214
|
});
|
|
192
215
|
app.get('/api/system-version', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -357,12 +380,21 @@ app.get('/api/devices/:deviceRef/files/:filename', asyncHandler((req, res) => ts
|
|
|
357
380
|
}
|
|
358
381
|
})));
|
|
359
382
|
app.put('/api/devices/:deviceRef/files/:filename', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
360
|
-
var _1;
|
|
383
|
+
var _1, _2;
|
|
361
384
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
362
385
|
const filename = req.params['filename'];
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
386
|
+
let content;
|
|
387
|
+
if (Buffer.isBuffer(req.body)) {
|
|
388
|
+
content = new Uint8Array(req.body);
|
|
389
|
+
}
|
|
390
|
+
else if (typeof req.body === 'string') {
|
|
391
|
+
content = new Uint8Array(Buffer.from(req.body, 'utf-8'));
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
const contentType = (_1 = req.headers['content-type']) !== null && _1 !== void 0 ? _1 : '';
|
|
395
|
+
throw new Error(`Unsupported body type for set-device-file: ${typeof req.body} (Content-Type: ${contentType})`);
|
|
396
|
+
}
|
|
397
|
+
const requestTimeout = parseInt(((_2 = req.query['request-timeout']) !== null && _2 !== void 0 ? _2 : '30000'));
|
|
366
398
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.setFile(deviceRef, filename, content, true, requestTimeout));
|
|
367
399
|
if (status.request === 'succeeded') {
|
|
368
400
|
res.send();
|
|
@@ -372,10 +404,10 @@ app.put('/api/devices/:deviceRef/files/:filename', asyncHandler((req, res) => ts
|
|
|
372
404
|
}
|
|
373
405
|
})));
|
|
374
406
|
app.delete('/api/devices/:deviceRef/files/:filename', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
375
|
-
var
|
|
407
|
+
var _3;
|
|
376
408
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
377
409
|
const filename = req.params['filename'];
|
|
378
|
-
const requestTimeout = parseInt(((
|
|
410
|
+
const requestTimeout = parseInt(((_3 = req.query['request-timeout']) !== null && _3 !== void 0 ? _3 : '3000'));
|
|
379
411
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.deleteFile(deviceRef, filename, requestTimeout));
|
|
380
412
|
if (status.request === 'succeeded') {
|
|
381
413
|
res.send();
|
|
@@ -396,13 +428,13 @@ app.get('/api/devices/:deviceRef/reset-fault', asyncHandler((req, res) => tslib_
|
|
|
396
428
|
res.send();
|
|
397
429
|
})));
|
|
398
430
|
app.post('/api/devices/:deviceRef/start-firmware-installation', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
399
|
-
var
|
|
431
|
+
var _4;
|
|
400
432
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
401
433
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
402
434
|
const buffer = req.body;
|
|
403
435
|
const firmwarePackageContent = new Uint8Array(buffer);
|
|
404
436
|
const skipSiiInstallation = asBoolean(req.query['skip-sii-installation']);
|
|
405
|
-
const requestTimeout = parseInt(((
|
|
437
|
+
const requestTimeout = parseInt(((_4 = req.query['request-timeout']) !== null && _4 !== void 0 ? _4 : '180000'));
|
|
406
438
|
const skipFilesParam = req.query['skip-files'];
|
|
407
439
|
let skipFiles = null;
|
|
408
440
|
if (Array.isArray(skipFilesParam)) {
|
|
@@ -420,41 +452,41 @@ app.post('/api/devices/:deviceRef/start-firmware-installation', asyncHandler((re
|
|
|
420
452
|
}
|
|
421
453
|
})));
|
|
422
454
|
app.get('/api/devices/:deviceRef/log', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
423
|
-
var
|
|
455
|
+
var _5;
|
|
424
456
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
425
457
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
426
|
-
const requestTimeout = parseInt(((
|
|
458
|
+
const requestTimeout = parseInt(((_5 = req.query['request-timeout']) !== null && _5 !== void 0 ? _5 : '10000'));
|
|
427
459
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.getDeviceLog(deviceRefObj, requestTimeout));
|
|
428
460
|
res.send(status.content);
|
|
429
461
|
})));
|
|
430
462
|
app.get('/api/devices/:deviceRef/start-cogging-torque-recording', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
431
|
-
var
|
|
463
|
+
var _6, _7, _8;
|
|
432
464
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
433
465
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
434
466
|
const skipAutoTuning = asBoolean(req.query['skip-auto-tuning']);
|
|
435
|
-
const requestTimeout = parseInt(((
|
|
467
|
+
const requestTimeout = parseInt(((_6 = req.query['request-timeout']) !== null && _6 !== void 0 ? _6 : '180000'));
|
|
436
468
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.startCoggingTorqueRecording(Object.assign(Object.assign({}, deviceRefObj), { skipAutoTuning }), requestTimeout));
|
|
437
469
|
if (status.request === 'succeeded') {
|
|
438
470
|
const value = yield (0, rxjs_1.lastValueFrom)(client.request.getCoggingTorqueData(deviceRefObj, 10000));
|
|
439
|
-
res.send((
|
|
471
|
+
res.send((_8 = (_7 = value.table) === null || _7 === void 0 ? void 0 : _7.data) !== null && _8 !== void 0 ? _8 : []);
|
|
440
472
|
}
|
|
441
473
|
else {
|
|
442
474
|
res.status(500).send(status.error);
|
|
443
475
|
}
|
|
444
476
|
})));
|
|
445
477
|
app.get('/api/devices/:deviceRef/cogging-torque-data', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
446
|
-
var
|
|
478
|
+
var _9, _10, _11;
|
|
447
479
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
448
480
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
449
|
-
const requestTimeout = parseInt(((
|
|
481
|
+
const requestTimeout = parseInt(((_9 = req.query['request-timeout']) !== null && _9 !== void 0 ? _9 : '10000'));
|
|
450
482
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.getCoggingTorqueData(deviceRefObj, requestTimeout));
|
|
451
|
-
res.send((
|
|
483
|
+
res.send((_11 = (_10 = status.table) === null || _10 === void 0 ? void 0 : _10.data) !== null && _11 !== void 0 ? _11 : []);
|
|
452
484
|
})));
|
|
453
485
|
app.get('/api/devices/:deviceRef/start-offset-detection', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
454
|
-
var
|
|
486
|
+
var _12;
|
|
455
487
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
456
488
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
457
|
-
const requestTimeout = parseInt(((
|
|
489
|
+
const requestTimeout = parseInt(((_12 = req.query['request-timeout']) !== null && _12 !== void 0 ? _12 : '120000'));
|
|
458
490
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.startOffsetDetection(deviceRefObj, requestTimeout));
|
|
459
491
|
if (status.request === 'succeeded') {
|
|
460
492
|
const commutationAngleOffset = yield client.request.upload(deviceRef, 0x2001, 0);
|
|
@@ -472,12 +504,12 @@ app.get('/api/devices/:deviceRef/set-motion-controller-parameters', asyncHandler
|
|
|
472
504
|
res.send();
|
|
473
505
|
})));
|
|
474
506
|
app.get('/api/devices/:deviceRef/enable-motion-controller/:controllerType', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
475
|
-
var
|
|
507
|
+
var _13, _14;
|
|
476
508
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
477
509
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
478
|
-
const controllerType = (
|
|
510
|
+
const controllerType = (_13 = types_1.MotionMasterMessage.Request.EnableMotionController.ControllerType[req.params['controllerType'].toUpperCase()]) !== null && _13 !== void 0 ? _13 : types_1.MotionMasterMessage.Request.EnableMotionController.ControllerType.UNSPECIFIED;
|
|
479
511
|
const filter = asBoolean(req.query['filter']);
|
|
480
|
-
const requestTimeout = parseInt(((
|
|
512
|
+
const requestTimeout = parseInt(((_14 = req.query['request-timeout']) !== null && _14 !== void 0 ? _14 : '3000'));
|
|
481
513
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.enableMotionController(Object.assign(Object.assign({}, deviceRefObj), { controllerType, filter }), requestTimeout));
|
|
482
514
|
if (status.request === 'succeeded') {
|
|
483
515
|
res.send();
|
|
@@ -487,10 +519,10 @@ app.get('/api/devices/:deviceRef/enable-motion-controller/:controllerType', asyn
|
|
|
487
519
|
}
|
|
488
520
|
})));
|
|
489
521
|
app.get('/api/devices/:deviceRef/disable-motion-controller', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
490
|
-
var
|
|
522
|
+
var _15;
|
|
491
523
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
492
524
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
493
|
-
const requestTimeout = parseInt(((
|
|
525
|
+
const requestTimeout = parseInt(((_15 = req.query['request-timeout']) !== null && _15 !== void 0 ? _15 : '3000'));
|
|
494
526
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.disableMotionController(Object.assign({}, deviceRefObj), requestTimeout));
|
|
495
527
|
if (status.request === 'succeeded') {
|
|
496
528
|
res.send();
|
|
@@ -500,10 +532,10 @@ app.get('/api/devices/:deviceRef/disable-motion-controller', asyncHandler((req,
|
|
|
500
532
|
}
|
|
501
533
|
})));
|
|
502
534
|
app.get('/api/devices/:deviceRef/get-ethercat-network-state', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
503
|
-
var
|
|
535
|
+
var _16;
|
|
504
536
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
505
537
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
506
|
-
const requestTimeout = parseInt(((
|
|
538
|
+
const requestTimeout = parseInt(((_16 = req.query['request-timeout']) !== null && _16 !== void 0 ? _16 : '3000'));
|
|
507
539
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.getEthercatNetworkState(Object.assign({}, deviceRefObj), requestTimeout));
|
|
508
540
|
if (status.request === 'succeeded') {
|
|
509
541
|
res.send({ state: status.state });
|
|
@@ -513,11 +545,11 @@ app.get('/api/devices/:deviceRef/get-ethercat-network-state', asyncHandler((req,
|
|
|
513
545
|
}
|
|
514
546
|
})));
|
|
515
547
|
app.get('/api/devices/:deviceRef/set-ethercat-network-state/:state', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
516
|
-
var
|
|
548
|
+
var _17, _18;
|
|
517
549
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
518
550
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
519
|
-
const state = (
|
|
520
|
-
const requestTimeout = parseInt(((
|
|
551
|
+
const state = (_17 = types_1.MotionMasterMessage.Request.SetEthercatNetworkState.State[req.params['state'].toUpperCase()]) !== null && _17 !== void 0 ? _17 : types_1.MotionMasterMessage.Request.SetEthercatNetworkState.State.UNSPECIFIED;
|
|
552
|
+
const requestTimeout = parseInt(((_18 = req.query['request-timeout']) !== null && _18 !== void 0 ? _18 : '3000'));
|
|
521
553
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.setEthercatNetworkState(Object.assign(Object.assign({}, deviceRefObj), { state }), requestTimeout));
|
|
522
554
|
if (status.request === 'succeeded') {
|
|
523
555
|
res.send();
|
|
@@ -527,15 +559,15 @@ app.get('/api/devices/:deviceRef/set-ethercat-network-state/:state', asyncHandle
|
|
|
527
559
|
}
|
|
528
560
|
})));
|
|
529
561
|
app.get('/api/devices/:deviceRef/start-system-identification', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
530
|
-
var
|
|
562
|
+
var _19, _20, _21, _22, _23;
|
|
531
563
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
532
564
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
533
|
-
const durationSeconds = parseFloat(((
|
|
534
|
-
const torqueAmplitude = parseInt(((
|
|
535
|
-
const startFrequency = parseInt(((
|
|
536
|
-
const endFrequency = parseInt(((
|
|
565
|
+
const durationSeconds = parseFloat(((_19 = req.query['duration-seconds']) !== null && _19 !== void 0 ? _19 : '3.0'));
|
|
566
|
+
const torqueAmplitude = parseInt(((_20 = req.query['torque-amplitude']) !== null && _20 !== void 0 ? _20 : '300'));
|
|
567
|
+
const startFrequency = parseInt(((_21 = req.query['start-frequency']) !== null && _21 !== void 0 ? _21 : '2'));
|
|
568
|
+
const endFrequency = parseInt(((_22 = req.query['end-frequency']) !== null && _22 !== void 0 ? _22 : '60'));
|
|
537
569
|
const nextGenSysId = asBoolean(req.query['next-gen-sys-id']);
|
|
538
|
-
const requestTimeout = parseInt(((
|
|
570
|
+
const requestTimeout = parseInt(((_23 = req.query['request-timeout']) !== null && _23 !== void 0 ? _23 : '30000'));
|
|
539
571
|
const props = Object.assign(Object.assign({}, deviceRefObj), { durationSeconds,
|
|
540
572
|
torqueAmplitude,
|
|
541
573
|
startFrequency,
|
|
@@ -551,9 +583,9 @@ app.get('/api/devices/:deviceRef/start-system-identification', asyncHandler((req
|
|
|
551
583
|
}
|
|
552
584
|
})));
|
|
553
585
|
app.get('/api/devices/:deviceRef/set-modes-of-operation/:modesOfOperation', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
554
|
-
var
|
|
586
|
+
var _24;
|
|
555
587
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
556
|
-
const modesOfOperation = parseInt((
|
|
588
|
+
const modesOfOperation = parseInt((_24 = req.params['modesOfOperation']) !== null && _24 !== void 0 ? _24 : '0');
|
|
557
589
|
yield (0, rxjs_1.lastValueFrom)(client.request.setModesOfOperation(deviceRef, modesOfOperation));
|
|
558
590
|
res.send();
|
|
559
591
|
})));
|
|
@@ -564,9 +596,9 @@ app.get('/api/devices/:deviceRef/transition-to-cia402-state/:state', asyncHandle
|
|
|
564
596
|
res.send();
|
|
565
597
|
})));
|
|
566
598
|
app.get('/api/devices/:deviceRef/cia402-state', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
567
|
-
var
|
|
599
|
+
var _25;
|
|
568
600
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
569
|
-
const requestTimeout = parseInt(((
|
|
601
|
+
const requestTimeout = parseInt(((_25 = req.query['request-timeout']) !== null && _25 !== void 0 ? _25 : '5000'));
|
|
570
602
|
const state = yield (0, rxjs_1.lastValueFrom)(client.request.getCia402State(deviceRef, requestTimeout));
|
|
571
603
|
res.send({ state });
|
|
572
604
|
})));
|
|
@@ -576,7 +608,7 @@ app.get('/api/devices/:deviceRef/save-config', asyncHandler((req, res) => tslib_
|
|
|
576
608
|
res.send();
|
|
577
609
|
})));
|
|
578
610
|
app.put('/api/devices/:deviceRef/load-config', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
579
|
-
var
|
|
611
|
+
var _26, _27;
|
|
580
612
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
581
613
|
let content;
|
|
582
614
|
if (Buffer.isBuffer(req.body)) {
|
|
@@ -586,21 +618,21 @@ app.put('/api/devices/:deviceRef/load-config', asyncHandler((req, res) => tslib_
|
|
|
586
618
|
content = new Uint8Array(Buffer.from(req.body, 'utf-8'));
|
|
587
619
|
}
|
|
588
620
|
else {
|
|
589
|
-
const contentType = (
|
|
621
|
+
const contentType = (_26 = req.headers['content-type']) !== null && _26 !== void 0 ? _26 : '';
|
|
590
622
|
throw new Error(`Unsupported body type for load-config: ${typeof req.body} (Content-Type: ${contentType})`);
|
|
591
623
|
}
|
|
592
624
|
const refresh = asBoolean(req.query['refresh']);
|
|
593
|
-
const strategy = (
|
|
625
|
+
const strategy = (_27 = req.query['strategy']) !== null && _27 !== void 0 ? _27 : 'replace';
|
|
594
626
|
yield (0, rxjs_1.lastValueFrom)(client.request.loadConfig(deviceRef, content, strategy, { count: 20, delay: 500 }, refresh));
|
|
595
627
|
res.send();
|
|
596
628
|
})));
|
|
597
629
|
app.get('/api/devices/:deviceRef/compute-auto-tuning-gains/velocity', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
598
|
-
var
|
|
630
|
+
var _28, _29, _30;
|
|
599
631
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
600
632
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
601
|
-
const velocityLoopBandwidth = parseFloat(((
|
|
602
|
-
const velocityDamping = parseFloat(((
|
|
603
|
-
const requestTimeout = parseInt(((
|
|
633
|
+
const velocityLoopBandwidth = parseFloat(((_28 = req.query['velocity-loop-bandwidth']) !== null && _28 !== void 0 ? _28 : '5'));
|
|
634
|
+
const velocityDamping = parseFloat(((_29 = req.query['velocity-damping']) !== null && _29 !== void 0 ? _29 : '0.7'));
|
|
635
|
+
const requestTimeout = parseInt(((_30 = req.query['request-timeout']) !== null && _30 !== void 0 ? _30 : '120000'));
|
|
604
636
|
const velocityParameters = { velocityLoopBandwidth, velocityDamping };
|
|
605
637
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.computeAutoTuningGains(Object.assign(Object.assign({}, deviceRefObj), { velocityParameters }), requestTimeout));
|
|
606
638
|
if (status.request === 'succeeded') {
|
|
@@ -611,17 +643,17 @@ app.get('/api/devices/:deviceRef/compute-auto-tuning-gains/velocity', asyncHandl
|
|
|
611
643
|
}
|
|
612
644
|
})));
|
|
613
645
|
app.get('/api/devices/:deviceRef/compute-auto-tuning-gains/position', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
614
|
-
var
|
|
646
|
+
var _31, _32, _33, _34, _35, _36, _37, _38, _39;
|
|
615
647
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
616
648
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
617
|
-
const controllerType = (
|
|
618
|
-
const settlingTime = parseFloat(((
|
|
619
|
-
const positionDamping = parseFloat(((
|
|
620
|
-
const alphaMult = parseInt(((
|
|
621
|
-
const order = parseInt(((
|
|
622
|
-
const lb = parseInt(((
|
|
623
|
-
const ub = parseInt(((
|
|
624
|
-
const requestTimeout = parseInt(((
|
|
649
|
+
const controllerType = (_32 = types_1.MotionMasterMessage.Request.ComputeAutoTuningGains.PositionParameters.ControllerType[((_31 = req.query['controller-type']) !== null && _31 !== void 0 ? _31 : 'UNSPECIFIED')]) !== null && _32 !== void 0 ? _32 : types_1.MotionMasterMessage.Request.ComputeAutoTuningGains.PositionParameters.ControllerType.UNSPECIFIED;
|
|
650
|
+
const settlingTime = parseFloat(((_33 = req.query['settling-time']) !== null && _33 !== void 0 ? _33 : '0.2'));
|
|
651
|
+
const positionDamping = parseFloat(((_34 = req.query['position-damping']) !== null && _34 !== void 0 ? _34 : '1'));
|
|
652
|
+
const alphaMult = parseInt(((_35 = req.query['alpha-mult']) !== null && _35 !== void 0 ? _35 : '1'));
|
|
653
|
+
const order = parseInt(((_36 = req.query['order']) !== null && _36 !== void 0 ? _36 : '0'));
|
|
654
|
+
const lb = parseInt(((_37 = req.query['lb']) !== null && _37 !== void 0 ? _37 : '1'));
|
|
655
|
+
const ub = parseInt(((_38 = req.query['ub']) !== null && _38 !== void 0 ? _38 : '1001'));
|
|
656
|
+
const requestTimeout = parseInt(((_39 = req.query['request-timeout']) !== null && _39 !== void 0 ? _39 : '120000'));
|
|
625
657
|
const positionParameters = { controllerType, settlingTime, positionDamping, alphaMult, order, lb, ub };
|
|
626
658
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.computeAutoTuningGains(Object.assign(Object.assign({}, deviceRefObj), { positionParameters }), requestTimeout));
|
|
627
659
|
if (status.request === 'succeeded') {
|
|
@@ -632,15 +664,15 @@ app.get('/api/devices/:deviceRef/compute-auto-tuning-gains/position', asyncHandl
|
|
|
632
664
|
}
|
|
633
665
|
})));
|
|
634
666
|
app.get('/api/devices/:deviceRef/start-open-loop-field-control', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
635
|
-
var
|
|
667
|
+
var _40, _41, _42, _43, _44, _45;
|
|
636
668
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
637
669
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
638
|
-
const angle = parseInt(((
|
|
639
|
-
const velocity = parseInt(((
|
|
640
|
-
const acceleration = parseInt(((
|
|
641
|
-
const torque = parseInt(((
|
|
642
|
-
const torqueSpeed = parseInt(((
|
|
643
|
-
const requestTimeout = parseInt(((
|
|
670
|
+
const angle = parseInt(((_40 = req.query['angle']) !== null && _40 !== void 0 ? _40 : '360'));
|
|
671
|
+
const velocity = parseInt(((_41 = req.query['velocity']) !== null && _41 !== void 0 ? _41 : '5'));
|
|
672
|
+
const acceleration = parseInt(((_42 = req.query['acceleration']) !== null && _42 !== void 0 ? _42 : '1000'));
|
|
673
|
+
const torque = parseInt(((_43 = req.query['torque']) !== null && _43 !== void 0 ? _43 : '1000'));
|
|
674
|
+
const torqueSpeed = parseInt(((_44 = req.query['torqueSpeed']) !== null && _44 !== void 0 ? _44 : '10000'));
|
|
675
|
+
const requestTimeout = parseInt(((_45 = req.query['request-timeout']) !== null && _45 !== void 0 ? _45 : '120000'));
|
|
644
676
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.startOpenLoopFieldControl(Object.assign(Object.assign({}, deviceRefObj), { angle, velocity, acceleration, torque, torqueSpeed }), requestTimeout));
|
|
645
677
|
if (status.request === 'succeeded') {
|
|
646
678
|
res.send();
|
|
@@ -650,17 +682,17 @@ app.get('/api/devices/:deviceRef/start-open-loop-field-control', asyncHandler((r
|
|
|
650
682
|
}
|
|
651
683
|
})));
|
|
652
684
|
app.get('/api/devices/:deviceRef/start-full-auto-tuning/velocity', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
653
|
-
var
|
|
685
|
+
var _46, _47, _48, _49;
|
|
654
686
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
655
687
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
656
688
|
const type = types_1.MotionMasterMessage.Request.StartFullAutoTuning.Type.VELOCITY;
|
|
657
|
-
const requestTimeout = parseInt(((
|
|
689
|
+
const requestTimeout = parseInt(((_46 = req.query['request-timeout']) !== null && _46 !== void 0 ? _46 : '60000'));
|
|
658
690
|
const props = Object.assign(Object.assign({}, deviceRefObj), { type });
|
|
659
691
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.startFullAutoTuning(props, requestTimeout));
|
|
660
692
|
if (status.request === 'succeeded') {
|
|
661
|
-
const dampingRatio = (
|
|
662
|
-
const settlingTime = (
|
|
663
|
-
const bandwidth = (
|
|
693
|
+
const dampingRatio = (_47 = status.dampingRatio) !== null && _47 !== void 0 ? _47 : 0;
|
|
694
|
+
const settlingTime = (_48 = status.settlingTime) !== null && _48 !== void 0 ? _48 : 0;
|
|
695
|
+
const bandwidth = (_49 = status.bandwidth) !== null && _49 !== void 0 ? _49 : 0;
|
|
664
696
|
const pidObj = {};
|
|
665
697
|
for (let subidx = 1; subidx < 5; subidx++) {
|
|
666
698
|
pidObj[(0, parameter_1.makeParameterId)(0x2011, subidx)] = yield client.request.upload(deviceRef, 0x2011, subidx);
|
|
@@ -675,17 +707,17 @@ app.get('/api/devices/:deviceRef/start-full-auto-tuning/velocity', asyncHandler(
|
|
|
675
707
|
}
|
|
676
708
|
})));
|
|
677
709
|
app.get('/api/devices/:deviceRef/start-full-auto-tuning/position/:controllerType', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
678
|
-
var
|
|
710
|
+
var _50, _51, _52, _53;
|
|
679
711
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
680
712
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
681
713
|
const type = types_1.MotionMasterMessage.Request.StartFullAutoTuning.Type.POSITION;
|
|
682
714
|
let controllerType = types_1.MotionMasterMessage.Request.StartFullAutoTuning.ControllerType[req.params['controllerType'].toUpperCase()] || types_1.MotionMasterMessage.Request.StartFullAutoTuning.ControllerType.UNSPECIFIED;
|
|
683
|
-
const requestTimeout = parseInt(((
|
|
715
|
+
const requestTimeout = parseInt(((_50 = req.query['request-timeout']) !== null && _50 !== void 0 ? _50 : '60000'));
|
|
684
716
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.startFullAutoTuning(Object.assign(Object.assign({}, deviceRefObj), { type, controllerType }), requestTimeout));
|
|
685
717
|
if (status.request === 'succeeded') {
|
|
686
|
-
const dampingRatio = (
|
|
687
|
-
const settlingTime = (
|
|
688
|
-
const bandwidth = (
|
|
718
|
+
const dampingRatio = (_51 = status.dampingRatio) !== null && _51 !== void 0 ? _51 : 0;
|
|
719
|
+
const settlingTime = (_52 = status.settlingTime) !== null && _52 !== void 0 ? _52 : 0;
|
|
720
|
+
const bandwidth = (_53 = status.bandwidth) !== null && _53 !== void 0 ? _53 : 0;
|
|
689
721
|
const pidObj = {};
|
|
690
722
|
for (let subidx = 1; subidx < 9; subidx++) {
|
|
691
723
|
pidObj[(0, parameter_1.makeParameterId)(0x2012, subidx)] = yield client.request.upload(deviceRef, 0x2012, subidx);
|
|
@@ -700,10 +732,10 @@ app.get('/api/devices/:deviceRef/start-full-auto-tuning/position/:controllerType
|
|
|
700
732
|
}
|
|
701
733
|
})));
|
|
702
734
|
app.get('/api/devices/:deviceRef/stop-full-auto-tuning', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
703
|
-
var
|
|
735
|
+
var _54;
|
|
704
736
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
705
737
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
706
|
-
const requestTimeout = parseInt(((
|
|
738
|
+
const requestTimeout = parseInt(((_54 = req.query['request-timeout']) !== null && _54 !== void 0 ? _54 : '10000'));
|
|
707
739
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.stopFullAutoTuning(deviceRefObj, requestTimeout));
|
|
708
740
|
if (status.request == 'succeeded') {
|
|
709
741
|
res.send();
|
|
@@ -722,9 +754,9 @@ app.get('/api/devices/:deviceRef/set-halt-bit/:value', asyncHandler((req, res) =
|
|
|
722
754
|
* @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"
|
|
723
755
|
*/
|
|
724
756
|
app.get('/api/devices/:deviceRef/run-torque-profile', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
725
|
-
var
|
|
757
|
+
var _55, _56;
|
|
726
758
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
727
|
-
const target = parseInt(((
|
|
759
|
+
const target = parseInt(((_55 = req.query['target']) !== null && _55 !== void 0 ? _55 : '100'));
|
|
728
760
|
const holdingDuration = parseInt(req.query['holding-duration']) || undefined;
|
|
729
761
|
const skipQuickStop = req.query['skip-quick-stop'] !== undefined ? asBoolean(req.query['skip-quick-stop']) : true;
|
|
730
762
|
const targetReachTimeout = parseInt(req.query['target-reach-timeout']) || undefined;
|
|
@@ -732,7 +764,7 @@ app.get('/api/devices/:deviceRef/run-torque-profile', asyncHandler((req, res) =>
|
|
|
732
764
|
res.status(400).send('target-reach-timeout is required when skip-quick-stop is false');
|
|
733
765
|
return;
|
|
734
766
|
}
|
|
735
|
-
const slope = parseInt(((
|
|
767
|
+
const slope = parseInt(((_56 = req.query['slope']) !== null && _56 !== void 0 ? _56 : '50'));
|
|
736
768
|
const window = parseInt(req.query['window']) || undefined;
|
|
737
769
|
const windowTime = parseInt(req.query['window-time']) || undefined;
|
|
738
770
|
const monitoringParameterIds = yield createDefaultDataMonitoringParameterIds(deviceRef);
|
|
@@ -760,11 +792,11 @@ app.get('/api/devices/:deviceRef/run-torque-profile', asyncHandler((req, res) =>
|
|
|
760
792
|
* @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"
|
|
761
793
|
*/
|
|
762
794
|
app.get('/api/devices/:deviceRef/run-velocity-profile', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
763
|
-
var
|
|
795
|
+
var _57, _58, _59;
|
|
764
796
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
765
|
-
const acceleration = parseInt(((
|
|
766
|
-
const target = parseInt(((
|
|
767
|
-
const deceleration = parseInt(((
|
|
797
|
+
const acceleration = parseInt(((_57 = req.query['acceleration']) !== null && _57 !== void 0 ? _57 : '1000'));
|
|
798
|
+
const target = parseInt(((_58 = req.query['target']) !== null && _58 !== void 0 ? _58 : '1000'));
|
|
799
|
+
const deceleration = parseInt(((_59 = req.query['deceleration']) !== null && _59 !== void 0 ? _59 : '1000'));
|
|
768
800
|
const holdingDuration = parseInt(req.query['holding-duration']) || undefined;
|
|
769
801
|
const skipQuickStop = req.query['skip-quick-stop'] !== undefined ? asBoolean(req.query['skip-quick-stop']) : true;
|
|
770
802
|
const targetReachTimeout = parseInt(req.query['target-reach-timeout']) || undefined;
|
|
@@ -800,11 +832,11 @@ app.get('/api/devices/:deviceRef/run-velocity-profile', asyncHandler((req, res)
|
|
|
800
832
|
* @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"
|
|
801
833
|
*/
|
|
802
834
|
app.get('/api/devices/:deviceRef/run-position-profile', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
803
|
-
var
|
|
835
|
+
var _60, _61, _62, _63;
|
|
804
836
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
805
|
-
const acceleration = parseInt(((
|
|
806
|
-
const target = parseInt(((
|
|
807
|
-
const deceleration = parseInt(((
|
|
837
|
+
const acceleration = parseInt(((_60 = req.query['acceleration']) !== null && _60 !== void 0 ? _60 : '1000'));
|
|
838
|
+
const target = parseInt(((_61 = req.query['target']) !== null && _61 !== void 0 ? _61 : '1000'));
|
|
839
|
+
const deceleration = parseInt(((_62 = req.query['deceleration']) !== null && _62 !== void 0 ? _62 : '1000'));
|
|
808
840
|
const holdingDuration = parseInt(req.query['holding-duration']) || undefined;
|
|
809
841
|
const relative = asBoolean(req.query['relative']);
|
|
810
842
|
const skipQuickStop = req.query['skip-quick-stop'] !== undefined ? asBoolean(req.query['skip-quick-stop']) : true;
|
|
@@ -813,7 +845,7 @@ app.get('/api/devices/:deviceRef/run-position-profile', asyncHandler((req, res)
|
|
|
813
845
|
res.status(400).send('target-reach-timeout is required when skip-quick-stop is false');
|
|
814
846
|
return;
|
|
815
847
|
}
|
|
816
|
-
const velocity = parseInt(((
|
|
848
|
+
const velocity = parseInt(((_63 = req.query['velocity']) !== null && _63 !== void 0 ? _63 : '100'));
|
|
817
849
|
const window = parseInt(req.query['window']) || undefined;
|
|
818
850
|
const windowTime = parseInt(req.query['window-time']) || undefined;
|
|
819
851
|
const monitoringParameterIds = yield createDefaultDataMonitoringParameterIds(deviceRef);
|
|
@@ -851,14 +883,14 @@ app.get('/api/devices/:deviceRef/force-on-demand-parameters-update', asyncHandle
|
|
|
851
883
|
res.send();
|
|
852
884
|
})));
|
|
853
885
|
app.get('/api/devices/:deviceRef/start-circulo-encoder-narrow-angle-calibration', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
854
|
-
var
|
|
886
|
+
var _64, _65, _66;
|
|
855
887
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
856
888
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
857
|
-
const encoderOrdinal = parseInt(((
|
|
889
|
+
const encoderOrdinal = parseInt(((_64 = req.query['encoder-ordinal']) !== null && _64 !== void 0 ? _64 : '1'));
|
|
858
890
|
const activateHealthMonitoring = asBoolean(req.query['activate-health-monitoring']);
|
|
859
891
|
const measurementOnly = asBoolean(req.query['measurement-only']);
|
|
860
|
-
const externalEncoderType = parseInt(((
|
|
861
|
-
const requestTimeout = parseInt(((
|
|
892
|
+
const externalEncoderType = parseInt(((_65 = req.query['external-encoder-type']) !== null && _65 !== void 0 ? _65 : '0'));
|
|
893
|
+
const requestTimeout = parseInt(((_66 = req.query['request-timeout']) !== null && _66 !== void 0 ? _66 : '120000'));
|
|
862
894
|
const statuses = yield (0, rxjs_1.lastValueFrom)(client.request
|
|
863
895
|
.startCirculoEncoderNarrowAngleCalibrationProcedure(Object.assign(Object.assign({}, deviceRefObj), { encoderOrdinal, activateHealthMonitoring, measurementOnly, externalEncoderType }), requestTimeout)
|
|
864
896
|
.pipe((0, rxjs_1.toArray)()));
|
|
@@ -908,13 +940,13 @@ app.get('/api/devices/:deviceRef/start-circulo-encoder-narrow-angle-calibration'
|
|
|
908
940
|
}
|
|
909
941
|
})));
|
|
910
942
|
app.get('/api/devices/:deviceRef/start-circulo-encoder-configuration', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
911
|
-
var
|
|
943
|
+
var _67, _68, _69, _70;
|
|
912
944
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
913
945
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
914
|
-
const encoderOrdinal = parseInt(((
|
|
915
|
-
const batteryModeMaxAcceleration = parseInt(((
|
|
916
|
-
const externalCirculoType = parseInt(((
|
|
917
|
-
const requestTimeout = parseInt(((
|
|
946
|
+
const encoderOrdinal = parseInt(((_67 = req.query['encoder-ordinal']) !== null && _67 !== void 0 ? _67 : '1'));
|
|
947
|
+
const batteryModeMaxAcceleration = parseInt(((_68 = req.query['battery-mode-max-acceleration']) !== null && _68 !== void 0 ? _68 : '0'));
|
|
948
|
+
const externalCirculoType = parseInt(((_69 = req.query['external-circulo-type']) !== null && _69 !== void 0 ? _69 : '0'));
|
|
949
|
+
const requestTimeout = parseInt(((_70 = req.query['request-timeout']) !== null && _70 !== void 0 ? _70 : '30000'));
|
|
918
950
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.startCirculoEncoderConfiguration(Object.assign(Object.assign({}, deviceRefObj), { encoderOrdinal, batteryModeMaxAcceleration, externalCirculoType }), requestTimeout));
|
|
919
951
|
if (status.request === 'succeeded') {
|
|
920
952
|
res.send();
|
|
@@ -924,9 +956,9 @@ app.get('/api/devices/:deviceRef/start-circulo-encoder-configuration', asyncHand
|
|
|
924
956
|
}
|
|
925
957
|
})));
|
|
926
958
|
app.get('/api/devices/:deviceRef/check-circulo-encoder-errors', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
927
|
-
var
|
|
959
|
+
var _71;
|
|
928
960
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
929
|
-
const encoderOrdinal = parseInt(((
|
|
961
|
+
const encoderOrdinal = parseInt(((_71 = req.query['encoder-ordinal']) !== null && _71 !== void 0 ? _71 : '1'));
|
|
930
962
|
const result = yield (0, rxjs_1.lastValueFrom)(client.request.checkCirculoEncoderErrors(deviceRef, encoderOrdinal));
|
|
931
963
|
res.send(result);
|
|
932
964
|
})));
|
|
@@ -936,12 +968,12 @@ app.get('/api/devices/:deviceRef/start-integro-encoder-calibration', asyncHandle
|
|
|
936
968
|
res.send();
|
|
937
969
|
})));
|
|
938
970
|
app.get('/api/devices/:deviceRef/circulo-encoder-magnet-distance', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
939
|
-
var
|
|
971
|
+
var _72, _73, _74;
|
|
940
972
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
941
973
|
const deviceRefObj = (0, device_1.makeDeviceRefObj)(deviceRef);
|
|
942
|
-
const encoderOrdinal = parseInt(((
|
|
943
|
-
const ringRevision = parseInt(((
|
|
944
|
-
const requestTimeout = parseInt(((
|
|
974
|
+
const encoderOrdinal = parseInt(((_72 = req.query['encoder-ordinal']) !== null && _72 !== void 0 ? _72 : '1'));
|
|
975
|
+
const ringRevision = parseInt(((_73 = req.query['ring-revision']) !== null && _73 !== void 0 ? _73 : '0'));
|
|
976
|
+
const requestTimeout = parseInt(((_74 = req.query['request-timeout']) !== null && _74 !== void 0 ? _74 : '5000'));
|
|
945
977
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.getCirculoEncoderMagnetDistance(Object.assign(Object.assign({}, deviceRefObj), { encoderOrdinal, ringRevision }), requestTimeout));
|
|
946
978
|
if (status.request === 'succeeded') {
|
|
947
979
|
res.send({ distance: status.distance, position: status.position });
|
|
@@ -951,7 +983,7 @@ app.get('/api/devices/:deviceRef/circulo-encoder-magnet-distance', asyncHandler(
|
|
|
951
983
|
}
|
|
952
984
|
})));
|
|
953
985
|
app.post('/api/devices/:deviceRef/run-os-command', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
954
|
-
var
|
|
986
|
+
var _75, _76, _77, _78;
|
|
955
987
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
956
988
|
const commandQuery = req.query['command'];
|
|
957
989
|
if (!commandQuery) {
|
|
@@ -966,12 +998,12 @@ app.post('/api/devices/:deviceRef/run-os-command', asyncHandler((req, res) => ts
|
|
|
966
998
|
return;
|
|
967
999
|
}
|
|
968
1000
|
const commandArray = new Uint8Array(command);
|
|
969
|
-
const commandTimeout = parseInt(((
|
|
970
|
-
const responsePollingInterval = parseInt(((
|
|
1001
|
+
const commandTimeout = parseInt(((_75 = req.query['command-timeout']) !== null && _75 !== void 0 ? _75 : '10000'));
|
|
1002
|
+
const responsePollingInterval = parseInt(((_76 = req.query['response-polling-interval']) !== null && _76 !== void 0 ? _76 : '1000'));
|
|
971
1003
|
const osCommandModeQuery = req.query['os-command-mode'];
|
|
972
1004
|
const osCommandMode = osCommandModeQuery !== undefined && asBoolean(osCommandModeQuery)
|
|
973
1005
|
? true
|
|
974
|
-
: (
|
|
1006
|
+
: (_77 = os_command_1.OsCommandMode[osCommandModeQuery === null || osCommandModeQuery === void 0 ? void 0 : osCommandModeQuery.toUpperCase()]) !== null && _77 !== void 0 ? _77 : false;
|
|
975
1007
|
const readFsBuffer = asBoolean(req.query['read-fs-buffer']);
|
|
976
1008
|
const fsBufferContent = req.body;
|
|
977
1009
|
let fsBufferContentArray = undefined;
|
|
@@ -979,7 +1011,7 @@ app.post('/api/devices/:deviceRef/run-os-command', asyncHandler((req, res) => ts
|
|
|
979
1011
|
fsBufferContentArray = new Uint8Array(fsBufferContent);
|
|
980
1012
|
}
|
|
981
1013
|
const fsBuffer = fsBufferContentArray !== null && fsBufferContentArray !== void 0 ? fsBufferContentArray : readFsBuffer;
|
|
982
|
-
const fsBufferReadWriteTimeout = parseInt(((
|
|
1014
|
+
const fsBufferReadWriteTimeout = parseInt(((_78 = req.query['fs-buffer-read-write-timeout']) !== null && _78 !== void 0 ? _78 : '30000'));
|
|
983
1015
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.runOsCommand(deviceRef, commandArray, commandTimeout, responsePollingInterval, osCommandMode, fsBuffer, fsBufferReadWriteTimeout));
|
|
984
1016
|
if (status.request === 'succeeded') {
|
|
985
1017
|
res.send(status);
|
|
@@ -989,10 +1021,10 @@ app.post('/api/devices/:deviceRef/run-os-command', asyncHandler((req, res) => ts
|
|
|
989
1021
|
}
|
|
990
1022
|
})));
|
|
991
1023
|
app.post('/api/devices/:deviceRef/configure-smm', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
992
|
-
var
|
|
1024
|
+
var _79, _80, _81;
|
|
993
1025
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
994
|
-
const username = (
|
|
995
|
-
const password = (
|
|
1026
|
+
const username = (_79 = req.query['username']) !== null && _79 !== void 0 ? _79 : 'Test';
|
|
1027
|
+
const password = (_80 = req.query['password']) !== null && _80 !== void 0 ? _80 : 'SomanetSMM';
|
|
996
1028
|
let configString;
|
|
997
1029
|
if (Buffer.isBuffer(req.body)) {
|
|
998
1030
|
// application/octet-stream (or express.raw)
|
|
@@ -1003,49 +1035,49 @@ app.post('/api/devices/:deviceRef/configure-smm', asyncHandler((req, res) => tsl
|
|
|
1003
1035
|
configString = req.body;
|
|
1004
1036
|
}
|
|
1005
1037
|
else {
|
|
1006
|
-
const contentType = (
|
|
1038
|
+
const contentType = (_81 = req.headers['content-type']) !== null && _81 !== void 0 ? _81 : '';
|
|
1007
1039
|
throw new Error(`Unsupported body type for configure-smm: ${typeof req.body} (Content-Type: ${contentType})`);
|
|
1008
1040
|
}
|
|
1009
1041
|
const safetyParametersReport = yield (0, rxjs_1.lastValueFrom)(client.request.configureSmmFromFile(deviceRef, username, password, configString));
|
|
1010
1042
|
res.send(safetyParametersReport);
|
|
1011
1043
|
})));
|
|
1012
1044
|
app.post('/api/devices/:deviceRef/update-smm-software', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
1013
|
-
var
|
|
1045
|
+
var _82, _83, _84, _85, _86, _87, _88;
|
|
1014
1046
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
1015
|
-
const username = (
|
|
1016
|
-
const password = (
|
|
1017
|
-
const crc = parseInt(((
|
|
1047
|
+
const username = (_82 = req.query['username']) !== null && _82 !== void 0 ? _82 : 'Test';
|
|
1048
|
+
const password = (_83 = req.query['password']) !== null && _83 !== void 0 ? _83 : 'SomanetSMM';
|
|
1049
|
+
const crc = parseInt(((_84 = req.query['crc']) !== null && _84 !== void 0 ? _84 : ''), 16);
|
|
1018
1050
|
// Validate CRC
|
|
1019
1051
|
if (Number.isNaN(crc)) {
|
|
1020
1052
|
res.status(400).send('Invalid CRC format. Expected hexadecimal string.');
|
|
1021
1053
|
return;
|
|
1022
1054
|
}
|
|
1023
1055
|
// Get optional parameters from query string
|
|
1024
|
-
const chunkSize = parseInt(((
|
|
1025
|
-
const commandTimeout = parseInt(((
|
|
1026
|
-
const responsePollingInterval = parseInt(((
|
|
1027
|
-
const fsBufferReadWriteTimeout = parseInt(((
|
|
1056
|
+
const chunkSize = parseInt(((_85 = req.query['chunkSize']) !== null && _85 !== void 0 ? _85 : '1000'));
|
|
1057
|
+
const commandTimeout = parseInt(((_86 = req.query['commandTimeout']) !== null && _86 !== void 0 ? _86 : '30000'));
|
|
1058
|
+
const responsePollingInterval = parseInt(((_87 = req.query['responsePollingInterval']) !== null && _87 !== void 0 ? _87 : '1000'));
|
|
1059
|
+
const fsBufferReadWriteTimeout = parseInt(((_88 = req.query['fsBufferReadWriteTimeout']) !== null && _88 !== void 0 ? _88 : '120000'));
|
|
1028
1060
|
// Create buffer from request body
|
|
1029
1061
|
const buffer = new Uint8Array(req.body);
|
|
1030
1062
|
yield (0, rxjs_1.lastValueFrom)(client.request.updateSmmSoftware(deviceRef, username, password, buffer, crc, chunkSize, commandTimeout, responsePollingInterval, fsBufferReadWriteTimeout));
|
|
1031
1063
|
res.send();
|
|
1032
1064
|
})));
|
|
1033
1065
|
app.post('/api/devices/:deviceRef/update-smm-software-to-encrypted', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
1034
|
-
var
|
|
1066
|
+
var _89, _90, _91, _92, _93, _94, _95;
|
|
1035
1067
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
1036
|
-
const username = (
|
|
1037
|
-
const password = (
|
|
1038
|
-
const crc = parseInt(((
|
|
1068
|
+
const username = (_89 = req.query['username']) !== null && _89 !== void 0 ? _89 : 'Test';
|
|
1069
|
+
const password = (_90 = req.query['password']) !== null && _90 !== void 0 ? _90 : 'SomanetSMM';
|
|
1070
|
+
const crc = parseInt(((_91 = req.query['crc']) !== null && _91 !== void 0 ? _91 : ''), 16);
|
|
1039
1071
|
// Validate CRC
|
|
1040
1072
|
if (Number.isNaN(crc)) {
|
|
1041
1073
|
res.status(400).send('Invalid CRC format. Expected hexadecimal string.');
|
|
1042
1074
|
return;
|
|
1043
1075
|
}
|
|
1044
1076
|
// Get optional parameters from query string
|
|
1045
|
-
const chunkSize = parseInt(((
|
|
1046
|
-
const commandTimeout = parseInt(((
|
|
1047
|
-
const responsePollingInterval = parseInt(((
|
|
1048
|
-
const fsBufferReadWriteTimeout = parseInt(((
|
|
1077
|
+
const chunkSize = parseInt(((_92 = req.query['chunkSize']) !== null && _92 !== void 0 ? _92 : '1000'));
|
|
1078
|
+
const commandTimeout = parseInt(((_93 = req.query['commandTimeout']) !== null && _93 !== void 0 ? _93 : '30000'));
|
|
1079
|
+
const responsePollingInterval = parseInt(((_94 = req.query['responsePollingInterval']) !== null && _94 !== void 0 ? _94 : '1000'));
|
|
1080
|
+
const fsBufferReadWriteTimeout = parseInt(((_95 = req.query['fsBufferReadWriteTimeout']) !== null && _95 !== void 0 ? _95 : '120000'));
|
|
1049
1081
|
// Create buffer from request body
|
|
1050
1082
|
const buffer = new Uint8Array(req.body);
|
|
1051
1083
|
yield (0, rxjs_1.lastValueFrom)(client.request.updateSmmSoftwareToEncrypted(deviceRef, username, password, buffer, crc, chunkSize, commandTimeout, responsePollingInterval, fsBufferReadWriteTimeout));
|
|
@@ -1058,16 +1090,16 @@ app.get('/api/devices/:deviceRef/write-circulo-integrated-encoder-config-bin-fil
|
|
|
1058
1090
|
res.send(status);
|
|
1059
1091
|
})));
|
|
1060
1092
|
app.get('/api/devices/:deviceRef/run-chirp-signal', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
1061
|
-
var
|
|
1093
|
+
var _96, _97, _98, _99, _100, _101, _102, _103;
|
|
1062
1094
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
1063
|
-
const hrdStreamingDuration = parseInt(((
|
|
1064
|
-
const modesOfOperation = parseInt(((
|
|
1065
|
-
const signalType = parseInt(((
|
|
1066
|
-
const startFrequency = parseInt(((
|
|
1067
|
-
const startProcedure = parseInt(((
|
|
1068
|
-
const targetAmplitude = parseInt(((
|
|
1069
|
-
const targetFrequency = parseInt(((
|
|
1070
|
-
const transitionTime = parseInt(((
|
|
1095
|
+
const hrdStreamingDuration = parseInt(((_96 = req.query['hrd-streaming-duration']) !== null && _96 !== void 0 ? _96 : '4000'));
|
|
1096
|
+
const modesOfOperation = parseInt(((_97 = req.query['modes-of-operation']) !== null && _97 !== void 0 ? _97 : '10'));
|
|
1097
|
+
const signalType = parseInt(((_98 = req.query['signal-type']) !== null && _98 !== void 0 ? _98 : '0'));
|
|
1098
|
+
const startFrequency = parseInt(((_99 = req.query['start-frequency']) !== null && _99 !== void 0 ? _99 : '2000'));
|
|
1099
|
+
const startProcedure = parseInt(((_100 = req.query['start-procedure']) !== null && _100 !== void 0 ? _100 : '2'));
|
|
1100
|
+
const targetAmplitude = parseInt(((_101 = req.query['target-amplitude']) !== null && _101 !== void 0 ? _101 : '300'));
|
|
1101
|
+
const targetFrequency = parseInt(((_102 = req.query['target-frequency']) !== null && _102 !== void 0 ? _102 : '100000'));
|
|
1102
|
+
const transitionTime = parseInt(((_103 = req.query['transition-time']) !== null && _103 !== void 0 ? _103 : '3000'));
|
|
1071
1103
|
const options = {
|
|
1072
1104
|
hrdStreamingDuration,
|
|
1073
1105
|
modesOfOperation,
|
|
@@ -1088,18 +1120,18 @@ app.get('/api/devices/:deviceRef/run-chirp-signal', asyncHandler((req, res) => t
|
|
|
1088
1120
|
}
|
|
1089
1121
|
})));
|
|
1090
1122
|
app.get('/api/devices/:deviceRef/start-limited-range-system-identification', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
1091
|
-
var
|
|
1123
|
+
var _104, _105, _106, _107, _108, _109, _110;
|
|
1092
1124
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
1093
|
-
const hrdStreamingDuration = parseInt(((
|
|
1125
|
+
const hrdStreamingDuration = parseInt(((_104 = req.query['hrd-streaming-duration']) !== null && _104 !== void 0 ? _104 : '3200'));
|
|
1094
1126
|
const modesOfOperation = cia402_1.ModesOfOperation.CYCLIC_SYNC_POSITION_MODE;
|
|
1095
|
-
const rangeLimit = parseInt(((
|
|
1096
|
-
const rangeLimitMin = parseInt(((
|
|
1127
|
+
const rangeLimit = parseInt(((_105 = req.query['range-limit']) !== null && _105 !== void 0 ? _105 : '10000'));
|
|
1128
|
+
const rangeLimitMin = parseInt(((_106 = req.query['range-limit-min']) !== null && _106 !== void 0 ? _106 : '1000'));
|
|
1097
1129
|
const signalType = os_command_1.SystemIdentificationOsCommandSignalType.LINEAR_WITH_CONSTANT_AMPLITUDE;
|
|
1098
|
-
const startFrequency = parseInt(((
|
|
1130
|
+
const startFrequency = parseInt(((_107 = req.query['start-frequency']) !== null && _107 !== void 0 ? _107 : '1000'));
|
|
1099
1131
|
const startProcedure = os_command_1.SystemIdentificationOsCommandStartProcedure.WAIT_FOR_HRD_STREAMING_TO_START;
|
|
1100
|
-
const targetAmplitude = parseInt(((
|
|
1101
|
-
const targetFrequency = parseInt(((
|
|
1102
|
-
const transitionTime = parseInt(((
|
|
1132
|
+
const targetAmplitude = parseInt(((_108 = req.query['target-amplitude']) !== null && _108 !== void 0 ? _108 : '300'));
|
|
1133
|
+
const targetFrequency = parseInt(((_109 = req.query['target-frequency']) !== null && _109 !== void 0 ? _109 : '10000'));
|
|
1134
|
+
const transitionTime = parseInt(((_110 = req.query['transition-time']) !== null && _110 !== void 0 ? _110 : '3000'));
|
|
1103
1135
|
const options = {
|
|
1104
1136
|
hrdStreamingDuration,
|
|
1105
1137
|
modesOfOperation,
|
|
@@ -1137,15 +1169,15 @@ app.get('/api/motion-composer/stop', asyncHandler((_req, res) => tslib_1.__await
|
|
|
1137
1169
|
res.send();
|
|
1138
1170
|
})));
|
|
1139
1171
|
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* () {
|
|
1140
|
-
var
|
|
1172
|
+
var _111, _112, _113, _114, _115, _116, _117;
|
|
1141
1173
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
1142
|
-
const rw = parseInt(((
|
|
1143
|
-
const registerAddress = parseInt(((
|
|
1144
|
-
const registerLength = parseInt(((
|
|
1145
|
-
const registerWriteValue = parseInt(((
|
|
1146
|
-
const commandTimeout = parseInt(((
|
|
1147
|
-
const responsePollingInterval = parseInt(((
|
|
1148
|
-
const osCommandMode = asBoolean(((
|
|
1174
|
+
const rw = parseInt(((_111 = req.query['rw']) !== null && _111 !== void 0 ? _111 : '0'));
|
|
1175
|
+
const registerAddress = parseInt(((_112 = req.query['register-address']) !== null && _112 !== void 0 ? _112 : '0'));
|
|
1176
|
+
const registerLength = parseInt(((_113 = req.query['register-length']) !== null && _113 !== void 0 ? _113 : '0'));
|
|
1177
|
+
const registerWriteValue = parseInt(((_114 = req.query['register-write-value']) !== null && _114 !== void 0 ? _114 : '0'));
|
|
1178
|
+
const commandTimeout = parseInt(((_115 = req.query['command-timeout']) !== null && _115 !== void 0 ? _115 : '10000'));
|
|
1179
|
+
const responsePollingInterval = parseInt(((_116 = req.query['response-polling-interval']) !== null && _116 !== void 0 ? _116 : '1000'));
|
|
1180
|
+
const osCommandMode = asBoolean(((_117 = req.query['os-command-mode']) !== null && _117 !== void 0 ? _117 : 'false'));
|
|
1149
1181
|
const status = yield (0, rxjs_1.lastValueFrom)(client.request.runKublerEncoderRegisterCommunicationOsCommand(deviceRef, rw, registerAddress, registerLength, registerWriteValue, commandTimeout, responsePollingInterval, osCommandMode));
|
|
1150
1182
|
if (status.request === 'succeeded') {
|
|
1151
1183
|
res.send(status);
|
|
@@ -1194,28 +1226,28 @@ app.get('/api/devices/:deviceRef/factory-reset', asyncHandler((req, res) => tsli
|
|
|
1194
1226
|
}
|
|
1195
1227
|
})));
|
|
1196
1228
|
app.get('/api/devices/:deviceRef/monitoring/start', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
1197
|
-
var
|
|
1229
|
+
var _118;
|
|
1198
1230
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
1199
1231
|
const device = yield (0, rxjs_1.lastValueFrom)(client.request.resolveDevice(deviceRef));
|
|
1200
1232
|
const monitoringParameterIds = yield createDefaultDataMonitoringParameterIds(deviceRef);
|
|
1201
|
-
(
|
|
1233
|
+
(_118 = dataMonitoringMap.get(device.id)) === null || _118 === void 0 ? void 0 : _118.stop();
|
|
1202
1234
|
const dataMonitoring = client.createDataMonitoring(monitoringParameterIds, 1000);
|
|
1203
1235
|
dataMonitoring.start();
|
|
1204
1236
|
dataMonitoringMap.set(device.id, dataMonitoring);
|
|
1205
1237
|
res.send();
|
|
1206
1238
|
})));
|
|
1207
1239
|
app.get('/api/devices/:deviceRef/monitoring/data', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
1208
|
-
var
|
|
1240
|
+
var _119;
|
|
1209
1241
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
1210
1242
|
const device = yield (0, rxjs_1.lastValueFrom)(client.request.resolveDevice(deviceRef));
|
|
1211
1243
|
const dataMonitoring = dataMonitoringMap.get(device.id);
|
|
1212
|
-
res.type('text/csv').send((
|
|
1244
|
+
res.type('text/csv').send((_119 = dataMonitoring === null || dataMonitoring === void 0 ? void 0 : dataMonitoring.csv) !== null && _119 !== void 0 ? _119 : '');
|
|
1213
1245
|
})));
|
|
1214
1246
|
app.get('/api/devices/:deviceRef/monitoring/stop', asyncHandler((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
1215
|
-
var
|
|
1247
|
+
var _120;
|
|
1216
1248
|
const deviceRef = (0, device_1.ensureDeviceRef)(req.params['deviceRef']);
|
|
1217
1249
|
const device = yield (0, rxjs_1.lastValueFrom)(client.request.resolveDevice(deviceRef));
|
|
1218
|
-
(
|
|
1250
|
+
(_120 = dataMonitoringMap.get(device.id)) === null || _120 === void 0 ? void 0 : _120.stop();
|
|
1219
1251
|
res.send();
|
|
1220
1252
|
})));
|
|
1221
1253
|
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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"}
|