@digipair/skill-mybuddy 0.23.10 → 0.23.12
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/index.cjs.js +234 -121
- package/index.esm.js +234 -122
- package/package.json +1 -1
- package/schema.json +45 -0
- package/{libs/skill-mybuddy/src → src}/lib/skill-mybuddy.d.ts +18 -17
- /package/{libs/skill-mybuddy/src → src}/index.d.ts +0 -0
package/index.cjs.js
CHANGED
|
@@ -8,6 +8,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
8
8
|
|
|
9
9
|
var mybuddy__default = /*#__PURE__*/_interopDefaultLegacy(mybuddy);
|
|
10
10
|
|
|
11
|
+
const TIMEOUT_READ_COMMANDS = 1000;
|
|
11
12
|
let MyBuddyService = class MyBuddyService {
|
|
12
13
|
async connect(params, context) {
|
|
13
14
|
var _context_privates_MY_BUDDY;
|
|
@@ -51,15 +52,23 @@ let MyBuddyService = class MyBuddyService {
|
|
|
51
52
|
return result;
|
|
52
53
|
}
|
|
53
54
|
async sendAngle(params, _pinsSettingsList, context) {
|
|
54
|
-
const { device, id
|
|
55
|
+
const { device, id, degree, speed = 50 } = params;
|
|
55
56
|
const connection = await this.connect(params, context);
|
|
56
57
|
const result = connection.write(mybuddy__default["default"].sendAngle(device, id, degree, speed));
|
|
57
58
|
await new Promise((resolve)=>setTimeout(resolve, 50));
|
|
58
59
|
connection.close();
|
|
59
60
|
return result;
|
|
60
61
|
}
|
|
62
|
+
async sendCoord(params, _pinsSettingsList, context) {
|
|
63
|
+
const { device, id, coord, speed = 50 } = params;
|
|
64
|
+
const connection = await this.connect(params, context);
|
|
65
|
+
const result = connection.write(mybuddy__default["default"].sendCoord(device, id, coord, speed));
|
|
66
|
+
await new Promise((resolve)=>setTimeout(resolve, 50));
|
|
67
|
+
connection.close();
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
61
70
|
async sendCoords(params, _pinsSettingsList, context) {
|
|
62
|
-
const { device, coords, speed, mode } = params;
|
|
71
|
+
const { device, coords, speed = 50, mode = 0 } = params;
|
|
63
72
|
const connection = await this.connect(params, context);
|
|
64
73
|
const result = connection.write(mybuddy__default["default"].sendCoords(device, coords, speed, mode));
|
|
65
74
|
await new Promise((resolve)=>setTimeout(resolve, 50));
|
|
@@ -228,224 +237,326 @@ let MyBuddyService = class MyBuddyService {
|
|
|
228
237
|
// Data Retrieval
|
|
229
238
|
async getAngles(params, _pinsSettingsList, context) {
|
|
230
239
|
const { device } = params;
|
|
231
|
-
let data = null;
|
|
232
240
|
const connection = await this.connect(params, context);
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
241
|
+
return new Promise((resolve, reject)=>{
|
|
242
|
+
const timeoutId = setTimeout(()=>{
|
|
236
243
|
connection.close();
|
|
237
|
-
|
|
244
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
245
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
246
|
+
connection.on('data', (data)=>{
|
|
247
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_ANGLES, 16)) {
|
|
248
|
+
clearTimeout(timeoutId);
|
|
249
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
250
|
+
connection.close();
|
|
251
|
+
resolve(result);
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
connection.write(mybuddy__default["default"].getAngles(device));
|
|
238
255
|
});
|
|
239
|
-
connection.write(mybuddy__default["default"].getAngles(device));
|
|
240
|
-
return data;
|
|
241
256
|
}
|
|
242
257
|
async isPowerOn(params, _pinsSettingsList, context) {
|
|
243
258
|
const { device } = params;
|
|
244
|
-
let data = null;
|
|
245
259
|
const connection = await this.connect(params, context);
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
260
|
+
return new Promise((resolve, reject)=>{
|
|
261
|
+
const timeoutId = setTimeout(()=>{
|
|
249
262
|
connection.close();
|
|
250
|
-
|
|
263
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
264
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
265
|
+
connection.on('data', (data)=>{
|
|
266
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.IS_POWER_ON, 16)) {
|
|
267
|
+
clearTimeout(timeoutId);
|
|
268
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
269
|
+
connection.close();
|
|
270
|
+
resolve(result);
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
connection.write(mybuddy__default["default"].isPowerOn(device));
|
|
251
274
|
});
|
|
252
|
-
connection.write(mybuddy__default["default"].isPowerOn(device));
|
|
253
|
-
return data;
|
|
254
275
|
}
|
|
255
276
|
async isControllerConnect(params, _pinsSettingsList, context) {
|
|
256
277
|
const { device } = params;
|
|
257
|
-
let data = null;
|
|
258
278
|
const connection = await this.connect(params, context);
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
279
|
+
return new Promise((resolve, reject)=>{
|
|
280
|
+
const timeoutId = setTimeout(()=>{
|
|
262
281
|
connection.close();
|
|
263
|
-
|
|
282
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
283
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
284
|
+
connection.on('data', (data)=>{
|
|
285
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.IS_CONTROLLER_CONNECTED, 16)) {
|
|
286
|
+
clearTimeout(timeoutId);
|
|
287
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
288
|
+
connection.close();
|
|
289
|
+
resolve(result);
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
connection.write(mybuddy__default["default"].isControllerConnect());
|
|
264
293
|
});
|
|
265
|
-
connection.write(mybuddy__default["default"].isControllerConnect());
|
|
266
|
-
return data;
|
|
267
294
|
}
|
|
268
295
|
async getCoords(params, _pinsSettingsList, context) {
|
|
269
296
|
const { device } = params;
|
|
270
|
-
let data = null;
|
|
271
297
|
const connection = await this.connect(params, context);
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
298
|
+
return new Promise((resolve, reject)=>{
|
|
299
|
+
const timeoutId = setTimeout(()=>{
|
|
275
300
|
connection.close();
|
|
276
|
-
|
|
301
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
302
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
303
|
+
connection.on('data', (data)=>{
|
|
304
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_COORDS, 16)) {
|
|
305
|
+
clearTimeout(timeoutId);
|
|
306
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
307
|
+
connection.close();
|
|
308
|
+
resolve(result);
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
connection.write(mybuddy__default["default"].getCoords(device));
|
|
277
312
|
});
|
|
278
|
-
connection.write(mybuddy__default["default"].getCoords(device));
|
|
279
|
-
return data;
|
|
280
313
|
}
|
|
281
314
|
async isInPosition(params, _pinsSettingsList, context) {
|
|
282
315
|
const { device, data, flag } = params;
|
|
283
|
-
let result = null;
|
|
284
316
|
const connection = await this.connect(params, context);
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
result = mybuddy__default["default"].processReceived(data);
|
|
317
|
+
return new Promise((resolve, reject)=>{
|
|
318
|
+
const timeoutId = setTimeout(()=>{
|
|
288
319
|
connection.close();
|
|
289
|
-
|
|
320
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
321
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
322
|
+
connection.on('data', (data)=>{
|
|
323
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.IS_IN_POSITION, 16)) {
|
|
324
|
+
clearTimeout(timeoutId);
|
|
325
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
326
|
+
connection.close();
|
|
327
|
+
resolve(result);
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
connection.write(mybuddy__default["default"].isInPosition(device, data, flag));
|
|
290
331
|
});
|
|
291
|
-
connection.write(mybuddy__default["default"].isInPosition(device, data, flag));
|
|
292
|
-
return result;
|
|
293
332
|
}
|
|
294
333
|
async getEncoder(params, _pinsSettingsList, context) {
|
|
295
334
|
const { device, joint_id } = params;
|
|
296
|
-
let data = null;
|
|
297
335
|
const connection = await this.connect(params, context);
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
336
|
+
return new Promise((resolve, reject)=>{
|
|
337
|
+
const timeoutId = setTimeout(()=>{
|
|
301
338
|
connection.close();
|
|
302
|
-
|
|
339
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
340
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
341
|
+
connection.on('data', (data)=>{
|
|
342
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_ENCODER, 16)) {
|
|
343
|
+
clearTimeout(timeoutId);
|
|
344
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
345
|
+
connection.close();
|
|
346
|
+
resolve(result);
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
connection.write(mybuddy__default["default"].getEncoder(device, joint_id));
|
|
303
350
|
});
|
|
304
|
-
connection.write(mybuddy__default["default"].getEncoder(device, joint_id));
|
|
305
|
-
return data;
|
|
306
351
|
}
|
|
307
352
|
async getEncoders(params, _pinsSettingsList, context) {
|
|
308
353
|
const { device } = params;
|
|
309
|
-
let data = null;
|
|
310
354
|
const connection = await this.connect(params, context);
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
355
|
+
return new Promise((resolve, reject)=>{
|
|
356
|
+
const timeoutId = setTimeout(()=>{
|
|
314
357
|
connection.close();
|
|
315
|
-
|
|
358
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
359
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
360
|
+
connection.on('data', (data)=>{
|
|
361
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_ENCODER, 16)) {
|
|
362
|
+
clearTimeout(timeoutId);
|
|
363
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
364
|
+
connection.close();
|
|
365
|
+
resolve(result);
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
connection.write(mybuddy__default["default"].getEncoders(device));
|
|
316
369
|
});
|
|
317
|
-
connection.write(mybuddy__default["default"].getEncoders(device));
|
|
318
|
-
return data;
|
|
319
370
|
}
|
|
320
371
|
async getSpeed(params, _pinsSettingsList, context) {
|
|
321
372
|
const { device } = params;
|
|
322
|
-
let data = null;
|
|
323
373
|
const connection = await this.connect(params, context);
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
374
|
+
return new Promise((resolve, reject)=>{
|
|
375
|
+
const timeoutId = setTimeout(()=>{
|
|
327
376
|
connection.close();
|
|
328
|
-
|
|
377
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
378
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
379
|
+
connection.on('data', (data)=>{
|
|
380
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_SPEED, 16)) {
|
|
381
|
+
clearTimeout(timeoutId);
|
|
382
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
383
|
+
connection.close();
|
|
384
|
+
resolve(result);
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
connection.write(mybuddy__default["default"].getSpeed(device));
|
|
329
388
|
});
|
|
330
|
-
connection.write(mybuddy__default["default"].getSpeed(device));
|
|
331
|
-
return data;
|
|
332
389
|
}
|
|
333
390
|
async getJointMin(params, _pinsSettingsList, context) {
|
|
334
391
|
const { device, joint_id } = params;
|
|
335
|
-
let data = null;
|
|
336
392
|
const connection = await this.connect(params, context);
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
393
|
+
return new Promise((resolve, reject)=>{
|
|
394
|
+
const timeoutId = setTimeout(()=>{
|
|
340
395
|
connection.close();
|
|
341
|
-
|
|
396
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
397
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
398
|
+
connection.on('data', (data)=>{
|
|
399
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_JOINT_MIN_ANGLE, 16)) {
|
|
400
|
+
clearTimeout(timeoutId);
|
|
401
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
402
|
+
connection.close();
|
|
403
|
+
resolve(result);
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
connection.write(mybuddy__default["default"].getJointMin(device, joint_id));
|
|
342
407
|
});
|
|
343
|
-
connection.write(mybuddy__default["default"].getJointMin(device, joint_id));
|
|
344
|
-
return data;
|
|
345
408
|
}
|
|
346
409
|
async getJointMax(params, _pinsSettingsList, context) {
|
|
347
410
|
const { device, joint_id } = params;
|
|
348
|
-
let data = null;
|
|
349
411
|
const connection = await this.connect(params, context);
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
412
|
+
return new Promise((resolve, reject)=>{
|
|
413
|
+
const timeoutId = setTimeout(()=>{
|
|
353
414
|
connection.close();
|
|
354
|
-
|
|
415
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
416
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
417
|
+
connection.on('data', (data)=>{
|
|
418
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_JOINT_MAX_ANGLE, 16)) {
|
|
419
|
+
clearTimeout(timeoutId);
|
|
420
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
421
|
+
connection.close();
|
|
422
|
+
resolve(result);
|
|
423
|
+
}
|
|
424
|
+
});
|
|
425
|
+
connection.write(mybuddy__default["default"].getJointMax(device, joint_id));
|
|
355
426
|
});
|
|
356
|
-
connection.write(mybuddy__default["default"].getJointMax(device, joint_id));
|
|
357
|
-
return data;
|
|
358
427
|
}
|
|
359
428
|
async isServoEnable(params, _pinsSettingsList, context) {
|
|
360
429
|
const { device, servo_id } = params;
|
|
361
|
-
let data = null;
|
|
362
430
|
const connection = await this.connect(params, context);
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
431
|
+
return new Promise((resolve, reject)=>{
|
|
432
|
+
const timeoutId = setTimeout(()=>{
|
|
366
433
|
connection.close();
|
|
367
|
-
|
|
434
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
435
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
436
|
+
connection.on('data', (data)=>{
|
|
437
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.IS_SERVO_ENABLE, 16)) {
|
|
438
|
+
clearTimeout(timeoutId);
|
|
439
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
440
|
+
connection.close();
|
|
441
|
+
resolve(result);
|
|
442
|
+
}
|
|
443
|
+
});
|
|
444
|
+
connection.write(mybuddy__default["default"].isServoEnable(device, servo_id));
|
|
368
445
|
});
|
|
369
|
-
connection.write(mybuddy__default["default"].isServoEnable(device, servo_id));
|
|
370
|
-
return data;
|
|
371
446
|
}
|
|
372
447
|
async isAllServoEnable(params, _pinsSettingsList, context) {
|
|
373
448
|
const { device } = params;
|
|
374
|
-
let data = null;
|
|
375
449
|
const connection = await this.connect(params, context);
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
450
|
+
return new Promise((resolve, reject)=>{
|
|
451
|
+
const timeoutId = setTimeout(()=>{
|
|
379
452
|
connection.close();
|
|
380
|
-
|
|
453
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
454
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
455
|
+
connection.on('data', (data)=>{
|
|
456
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.IS_ALL_SERVO_ENABLE, 16)) {
|
|
457
|
+
clearTimeout(timeoutId);
|
|
458
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
459
|
+
connection.close();
|
|
460
|
+
resolve(result);
|
|
461
|
+
}
|
|
462
|
+
});
|
|
463
|
+
connection.write(mybuddy__default["default"].isAllServoEnable(device));
|
|
381
464
|
});
|
|
382
|
-
connection.write(mybuddy__default["default"].isAllServoEnable(device));
|
|
383
|
-
return data;
|
|
384
465
|
}
|
|
385
466
|
async getServodata(params, _pinsSettingsList, context) {
|
|
386
467
|
const { device, servo_no, data_id } = params;
|
|
387
|
-
let data = null;
|
|
388
468
|
const connection = await this.connect(params, context);
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
469
|
+
return new Promise((resolve, reject)=>{
|
|
470
|
+
const timeoutId = setTimeout(()=>{
|
|
392
471
|
connection.close();
|
|
393
|
-
|
|
472
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
473
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
474
|
+
connection.on('data', (data)=>{
|
|
475
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_SERVO_DATA, 16)) {
|
|
476
|
+
clearTimeout(timeoutId);
|
|
477
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
478
|
+
connection.close();
|
|
479
|
+
resolve(result);
|
|
480
|
+
}
|
|
481
|
+
});
|
|
482
|
+
connection.write(mybuddy__default["default"].getServodata(device, servo_no, data_id));
|
|
394
483
|
});
|
|
395
|
-
connection.write(mybuddy__default["default"].getServodata(device, servo_no, data_id));
|
|
396
|
-
return data;
|
|
397
484
|
}
|
|
398
485
|
async getDigitalInput(params, _pinsSettingsList, context) {
|
|
399
486
|
const { device, pin_no } = params;
|
|
400
|
-
let data = null;
|
|
401
487
|
const connection = await this.connect(params, context);
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
488
|
+
return new Promise((resolve, reject)=>{
|
|
489
|
+
const timeoutId = setTimeout(()=>{
|
|
405
490
|
connection.close();
|
|
406
|
-
|
|
491
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
492
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
493
|
+
connection.on('data', (data)=>{
|
|
494
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_DIGITAL_INPUT, 16)) {
|
|
495
|
+
clearTimeout(timeoutId);
|
|
496
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
497
|
+
connection.close();
|
|
498
|
+
resolve(result);
|
|
499
|
+
}
|
|
500
|
+
});
|
|
501
|
+
connection.write(mybuddy__default["default"].getDigitalInput(device, pin_no));
|
|
407
502
|
});
|
|
408
|
-
connection.write(mybuddy__default["default"].getDigitalInput(device, pin_no));
|
|
409
|
-
return data;
|
|
410
503
|
}
|
|
411
504
|
async getGripperValue(params, _pinsSettingsList, context) {
|
|
412
505
|
const { device } = params;
|
|
413
|
-
let data = null;
|
|
414
506
|
const connection = await this.connect(params, context);
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
507
|
+
return new Promise((resolve, reject)=>{
|
|
508
|
+
const timeoutId = setTimeout(()=>{
|
|
418
509
|
connection.close();
|
|
419
|
-
|
|
510
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
511
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
512
|
+
connection.on('data', (data)=>{
|
|
513
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_GRIPPER_VALUE, 16)) {
|
|
514
|
+
clearTimeout(timeoutId);
|
|
515
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
516
|
+
connection.close();
|
|
517
|
+
resolve(result);
|
|
518
|
+
}
|
|
519
|
+
});
|
|
520
|
+
connection.write(mybuddy__default["default"].getGripperValue(device));
|
|
420
521
|
});
|
|
421
|
-
connection.write(mybuddy__default["default"].getGripperValue(device));
|
|
422
|
-
return data;
|
|
423
522
|
}
|
|
424
523
|
async getBasicOutput(params, _pinsSettingsList, context) {
|
|
425
524
|
const { device, pin_no } = params;
|
|
426
|
-
let data = null;
|
|
427
525
|
const connection = await this.connect(params, context);
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
526
|
+
return new Promise((resolve, reject)=>{
|
|
527
|
+
const timeoutId = setTimeout(()=>{
|
|
431
528
|
connection.close();
|
|
432
|
-
|
|
529
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
530
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
531
|
+
connection.on('data', (data)=>{
|
|
532
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.GET_BASIC_INPUT, 16)) {
|
|
533
|
+
clearTimeout(timeoutId);
|
|
534
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
535
|
+
connection.close();
|
|
536
|
+
resolve(result);
|
|
537
|
+
}
|
|
538
|
+
});
|
|
539
|
+
connection.write(mybuddy__default["default"].getBasicOutput(device, pin_no));
|
|
433
540
|
});
|
|
434
|
-
connection.write(mybuddy__default["default"].getBasicOutput(device, pin_no));
|
|
435
|
-
return data;
|
|
436
541
|
}
|
|
437
542
|
async isGripperMoving(params, _pinsSettingsList, context) {
|
|
438
543
|
const { device } = params;
|
|
439
|
-
let data = null;
|
|
440
544
|
const connection = await this.connect(params, context);
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
data = mybuddy__default["default"].processReceived(data);
|
|
545
|
+
return new Promise((resolve, reject)=>{
|
|
546
|
+
const timeoutId = setTimeout(()=>{
|
|
444
547
|
connection.close();
|
|
445
|
-
|
|
548
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
549
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
550
|
+
connection.on('data', (data)=>{
|
|
551
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy__default["default"].COMMAND.IS_GRIPPER_MOVING, 16)) {
|
|
552
|
+
clearTimeout(timeoutId);
|
|
553
|
+
const result = mybuddy__default["default"].processReceived(data);
|
|
554
|
+
connection.close();
|
|
555
|
+
resolve(result);
|
|
556
|
+
}
|
|
557
|
+
});
|
|
558
|
+
connection.write(mybuddy__default["default"].isGripperMoving(device));
|
|
446
559
|
});
|
|
447
|
-
connection.write(mybuddy__default["default"].isGripperMoving(device));
|
|
448
|
-
return data;
|
|
449
560
|
}
|
|
450
561
|
// TOOLS
|
|
451
562
|
async sleep(params, _pinsSettingsList, context) {
|
|
@@ -461,6 +572,7 @@ const powerOn = (params, pinsSettingsList, context)=>new MyBuddyService().powerO
|
|
|
461
572
|
const powerOff = (params, pinsSettingsList, context)=>new MyBuddyService().powerOff(params, pinsSettingsList, context);
|
|
462
573
|
const releaseAllServos = (params, pinsSettingsList, context)=>new MyBuddyService().releaseAllServos(params, pinsSettingsList, context);
|
|
463
574
|
const sendAngle = (params, pinsSettingsList, context)=>new MyBuddyService().sendAngle(params, pinsSettingsList, context);
|
|
575
|
+
const sendCoord = (params, pinsSettingsList, context)=>new MyBuddyService().sendCoord(params, pinsSettingsList, context);
|
|
464
576
|
const sendCoords = (params, pinsSettingsList, context)=>new MyBuddyService().sendCoords(params, pinsSettingsList, context);
|
|
465
577
|
const programPause = (params, pinsSettingsList, context)=>new MyBuddyService().programPause(params, pinsSettingsList, context);
|
|
466
578
|
const programResume = (params, pinsSettingsList, context)=>new MyBuddyService().programResume(params, pinsSettingsList, context);
|
|
@@ -529,6 +641,7 @@ exports.releaseAllServos = releaseAllServos;
|
|
|
529
641
|
exports.releaseServo = releaseServo;
|
|
530
642
|
exports.sendAngle = sendAngle;
|
|
531
643
|
exports.sendAngles = sendAngles;
|
|
644
|
+
exports.sendCoord = sendCoord;
|
|
532
645
|
exports.sendCoords = sendCoords;
|
|
533
646
|
exports.setBasicOutput = setBasicOutput;
|
|
534
647
|
exports.setColor = setColor;
|
package/index.esm.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import mybuddy from '@marcbuils/mybuddy';
|
|
2
2
|
|
|
3
|
+
const TIMEOUT_READ_COMMANDS = 1000;
|
|
3
4
|
let MyBuddyService = class MyBuddyService {
|
|
4
5
|
async connect(params, context) {
|
|
5
6
|
var _context_privates_MY_BUDDY;
|
|
@@ -43,15 +44,23 @@ let MyBuddyService = class MyBuddyService {
|
|
|
43
44
|
return result;
|
|
44
45
|
}
|
|
45
46
|
async sendAngle(params, _pinsSettingsList, context) {
|
|
46
|
-
const { device, id
|
|
47
|
+
const { device, id, degree, speed = 50 } = params;
|
|
47
48
|
const connection = await this.connect(params, context);
|
|
48
49
|
const result = connection.write(mybuddy.sendAngle(device, id, degree, speed));
|
|
49
50
|
await new Promise((resolve)=>setTimeout(resolve, 50));
|
|
50
51
|
connection.close();
|
|
51
52
|
return result;
|
|
52
53
|
}
|
|
54
|
+
async sendCoord(params, _pinsSettingsList, context) {
|
|
55
|
+
const { device, id, coord, speed = 50 } = params;
|
|
56
|
+
const connection = await this.connect(params, context);
|
|
57
|
+
const result = connection.write(mybuddy.sendCoord(device, id, coord, speed));
|
|
58
|
+
await new Promise((resolve)=>setTimeout(resolve, 50));
|
|
59
|
+
connection.close();
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
53
62
|
async sendCoords(params, _pinsSettingsList, context) {
|
|
54
|
-
const { device, coords, speed, mode } = params;
|
|
63
|
+
const { device, coords, speed = 50, mode = 0 } = params;
|
|
55
64
|
const connection = await this.connect(params, context);
|
|
56
65
|
const result = connection.write(mybuddy.sendCoords(device, coords, speed, mode));
|
|
57
66
|
await new Promise((resolve)=>setTimeout(resolve, 50));
|
|
@@ -220,224 +229,326 @@ let MyBuddyService = class MyBuddyService {
|
|
|
220
229
|
// Data Retrieval
|
|
221
230
|
async getAngles(params, _pinsSettingsList, context) {
|
|
222
231
|
const { device } = params;
|
|
223
|
-
let data = null;
|
|
224
232
|
const connection = await this.connect(params, context);
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
data = mybuddy.processReceived(data);
|
|
233
|
+
return new Promise((resolve, reject)=>{
|
|
234
|
+
const timeoutId = setTimeout(()=>{
|
|
228
235
|
connection.close();
|
|
229
|
-
|
|
236
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
237
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
238
|
+
connection.on('data', (data)=>{
|
|
239
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_ANGLES, 16)) {
|
|
240
|
+
clearTimeout(timeoutId);
|
|
241
|
+
const result = mybuddy.processReceived(data);
|
|
242
|
+
connection.close();
|
|
243
|
+
resolve(result);
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
connection.write(mybuddy.getAngles(device));
|
|
230
247
|
});
|
|
231
|
-
connection.write(mybuddy.getAngles(device));
|
|
232
|
-
return data;
|
|
233
248
|
}
|
|
234
249
|
async isPowerOn(params, _pinsSettingsList, context) {
|
|
235
250
|
const { device } = params;
|
|
236
|
-
let data = null;
|
|
237
251
|
const connection = await this.connect(params, context);
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
data = mybuddy.processReceived(data);
|
|
252
|
+
return new Promise((resolve, reject)=>{
|
|
253
|
+
const timeoutId = setTimeout(()=>{
|
|
241
254
|
connection.close();
|
|
242
|
-
|
|
255
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
256
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
257
|
+
connection.on('data', (data)=>{
|
|
258
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.IS_POWER_ON, 16)) {
|
|
259
|
+
clearTimeout(timeoutId);
|
|
260
|
+
const result = mybuddy.processReceived(data);
|
|
261
|
+
connection.close();
|
|
262
|
+
resolve(result);
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
connection.write(mybuddy.isPowerOn(device));
|
|
243
266
|
});
|
|
244
|
-
connection.write(mybuddy.isPowerOn(device));
|
|
245
|
-
return data;
|
|
246
267
|
}
|
|
247
268
|
async isControllerConnect(params, _pinsSettingsList, context) {
|
|
248
269
|
const { device } = params;
|
|
249
|
-
let data = null;
|
|
250
270
|
const connection = await this.connect(params, context);
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
data = mybuddy.processReceived(data);
|
|
271
|
+
return new Promise((resolve, reject)=>{
|
|
272
|
+
const timeoutId = setTimeout(()=>{
|
|
254
273
|
connection.close();
|
|
255
|
-
|
|
274
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
275
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
276
|
+
connection.on('data', (data)=>{
|
|
277
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.IS_CONTROLLER_CONNECTED, 16)) {
|
|
278
|
+
clearTimeout(timeoutId);
|
|
279
|
+
const result = mybuddy.processReceived(data);
|
|
280
|
+
connection.close();
|
|
281
|
+
resolve(result);
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
connection.write(mybuddy.isControllerConnect());
|
|
256
285
|
});
|
|
257
|
-
connection.write(mybuddy.isControllerConnect());
|
|
258
|
-
return data;
|
|
259
286
|
}
|
|
260
287
|
async getCoords(params, _pinsSettingsList, context) {
|
|
261
288
|
const { device } = params;
|
|
262
|
-
let data = null;
|
|
263
289
|
const connection = await this.connect(params, context);
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
data = mybuddy.processReceived(data);
|
|
290
|
+
return new Promise((resolve, reject)=>{
|
|
291
|
+
const timeoutId = setTimeout(()=>{
|
|
267
292
|
connection.close();
|
|
268
|
-
|
|
293
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
294
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
295
|
+
connection.on('data', (data)=>{
|
|
296
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_COORDS, 16)) {
|
|
297
|
+
clearTimeout(timeoutId);
|
|
298
|
+
const result = mybuddy.processReceived(data);
|
|
299
|
+
connection.close();
|
|
300
|
+
resolve(result);
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
connection.write(mybuddy.getCoords(device));
|
|
269
304
|
});
|
|
270
|
-
connection.write(mybuddy.getCoords(device));
|
|
271
|
-
return data;
|
|
272
305
|
}
|
|
273
306
|
async isInPosition(params, _pinsSettingsList, context) {
|
|
274
307
|
const { device, data, flag } = params;
|
|
275
|
-
let result = null;
|
|
276
308
|
const connection = await this.connect(params, context);
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
result = mybuddy.processReceived(data);
|
|
309
|
+
return new Promise((resolve, reject)=>{
|
|
310
|
+
const timeoutId = setTimeout(()=>{
|
|
280
311
|
connection.close();
|
|
281
|
-
|
|
312
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
313
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
314
|
+
connection.on('data', (data)=>{
|
|
315
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.IS_IN_POSITION, 16)) {
|
|
316
|
+
clearTimeout(timeoutId);
|
|
317
|
+
const result = mybuddy.processReceived(data);
|
|
318
|
+
connection.close();
|
|
319
|
+
resolve(result);
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
connection.write(mybuddy.isInPosition(device, data, flag));
|
|
282
323
|
});
|
|
283
|
-
connection.write(mybuddy.isInPosition(device, data, flag));
|
|
284
|
-
return result;
|
|
285
324
|
}
|
|
286
325
|
async getEncoder(params, _pinsSettingsList, context) {
|
|
287
326
|
const { device, joint_id } = params;
|
|
288
|
-
let data = null;
|
|
289
327
|
const connection = await this.connect(params, context);
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
data = mybuddy.processReceived(data);
|
|
328
|
+
return new Promise((resolve, reject)=>{
|
|
329
|
+
const timeoutId = setTimeout(()=>{
|
|
293
330
|
connection.close();
|
|
294
|
-
|
|
331
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
332
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
333
|
+
connection.on('data', (data)=>{
|
|
334
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_ENCODER, 16)) {
|
|
335
|
+
clearTimeout(timeoutId);
|
|
336
|
+
const result = mybuddy.processReceived(data);
|
|
337
|
+
connection.close();
|
|
338
|
+
resolve(result);
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
connection.write(mybuddy.getEncoder(device, joint_id));
|
|
295
342
|
});
|
|
296
|
-
connection.write(mybuddy.getEncoder(device, joint_id));
|
|
297
|
-
return data;
|
|
298
343
|
}
|
|
299
344
|
async getEncoders(params, _pinsSettingsList, context) {
|
|
300
345
|
const { device } = params;
|
|
301
|
-
let data = null;
|
|
302
346
|
const connection = await this.connect(params, context);
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
data = mybuddy.processReceived(data);
|
|
347
|
+
return new Promise((resolve, reject)=>{
|
|
348
|
+
const timeoutId = setTimeout(()=>{
|
|
306
349
|
connection.close();
|
|
307
|
-
|
|
350
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
351
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
352
|
+
connection.on('data', (data)=>{
|
|
353
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_ENCODER, 16)) {
|
|
354
|
+
clearTimeout(timeoutId);
|
|
355
|
+
const result = mybuddy.processReceived(data);
|
|
356
|
+
connection.close();
|
|
357
|
+
resolve(result);
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
connection.write(mybuddy.getEncoders(device));
|
|
308
361
|
});
|
|
309
|
-
connection.write(mybuddy.getEncoders(device));
|
|
310
|
-
return data;
|
|
311
362
|
}
|
|
312
363
|
async getSpeed(params, _pinsSettingsList, context) {
|
|
313
364
|
const { device } = params;
|
|
314
|
-
let data = null;
|
|
315
365
|
const connection = await this.connect(params, context);
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
data = mybuddy.processReceived(data);
|
|
366
|
+
return new Promise((resolve, reject)=>{
|
|
367
|
+
const timeoutId = setTimeout(()=>{
|
|
319
368
|
connection.close();
|
|
320
|
-
|
|
369
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
370
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
371
|
+
connection.on('data', (data)=>{
|
|
372
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_SPEED, 16)) {
|
|
373
|
+
clearTimeout(timeoutId);
|
|
374
|
+
const result = mybuddy.processReceived(data);
|
|
375
|
+
connection.close();
|
|
376
|
+
resolve(result);
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
connection.write(mybuddy.getSpeed(device));
|
|
321
380
|
});
|
|
322
|
-
connection.write(mybuddy.getSpeed(device));
|
|
323
|
-
return data;
|
|
324
381
|
}
|
|
325
382
|
async getJointMin(params, _pinsSettingsList, context) {
|
|
326
383
|
const { device, joint_id } = params;
|
|
327
|
-
let data = null;
|
|
328
384
|
const connection = await this.connect(params, context);
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
data = mybuddy.processReceived(data);
|
|
385
|
+
return new Promise((resolve, reject)=>{
|
|
386
|
+
const timeoutId = setTimeout(()=>{
|
|
332
387
|
connection.close();
|
|
333
|
-
|
|
388
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
389
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
390
|
+
connection.on('data', (data)=>{
|
|
391
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_JOINT_MIN_ANGLE, 16)) {
|
|
392
|
+
clearTimeout(timeoutId);
|
|
393
|
+
const result = mybuddy.processReceived(data);
|
|
394
|
+
connection.close();
|
|
395
|
+
resolve(result);
|
|
396
|
+
}
|
|
397
|
+
});
|
|
398
|
+
connection.write(mybuddy.getJointMin(device, joint_id));
|
|
334
399
|
});
|
|
335
|
-
connection.write(mybuddy.getJointMin(device, joint_id));
|
|
336
|
-
return data;
|
|
337
400
|
}
|
|
338
401
|
async getJointMax(params, _pinsSettingsList, context) {
|
|
339
402
|
const { device, joint_id } = params;
|
|
340
|
-
let data = null;
|
|
341
403
|
const connection = await this.connect(params, context);
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
data = mybuddy.processReceived(data);
|
|
404
|
+
return new Promise((resolve, reject)=>{
|
|
405
|
+
const timeoutId = setTimeout(()=>{
|
|
345
406
|
connection.close();
|
|
346
|
-
|
|
407
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
408
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
409
|
+
connection.on('data', (data)=>{
|
|
410
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_JOINT_MAX_ANGLE, 16)) {
|
|
411
|
+
clearTimeout(timeoutId);
|
|
412
|
+
const result = mybuddy.processReceived(data);
|
|
413
|
+
connection.close();
|
|
414
|
+
resolve(result);
|
|
415
|
+
}
|
|
416
|
+
});
|
|
417
|
+
connection.write(mybuddy.getJointMax(device, joint_id));
|
|
347
418
|
});
|
|
348
|
-
connection.write(mybuddy.getJointMax(device, joint_id));
|
|
349
|
-
return data;
|
|
350
419
|
}
|
|
351
420
|
async isServoEnable(params, _pinsSettingsList, context) {
|
|
352
421
|
const { device, servo_id } = params;
|
|
353
|
-
let data = null;
|
|
354
422
|
const connection = await this.connect(params, context);
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
data = mybuddy.processReceived(data);
|
|
423
|
+
return new Promise((resolve, reject)=>{
|
|
424
|
+
const timeoutId = setTimeout(()=>{
|
|
358
425
|
connection.close();
|
|
359
|
-
|
|
426
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
427
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
428
|
+
connection.on('data', (data)=>{
|
|
429
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.IS_SERVO_ENABLE, 16)) {
|
|
430
|
+
clearTimeout(timeoutId);
|
|
431
|
+
const result = mybuddy.processReceived(data);
|
|
432
|
+
connection.close();
|
|
433
|
+
resolve(result);
|
|
434
|
+
}
|
|
435
|
+
});
|
|
436
|
+
connection.write(mybuddy.isServoEnable(device, servo_id));
|
|
360
437
|
});
|
|
361
|
-
connection.write(mybuddy.isServoEnable(device, servo_id));
|
|
362
|
-
return data;
|
|
363
438
|
}
|
|
364
439
|
async isAllServoEnable(params, _pinsSettingsList, context) {
|
|
365
440
|
const { device } = params;
|
|
366
|
-
let data = null;
|
|
367
441
|
const connection = await this.connect(params, context);
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
data = mybuddy.processReceived(data);
|
|
442
|
+
return new Promise((resolve, reject)=>{
|
|
443
|
+
const timeoutId = setTimeout(()=>{
|
|
371
444
|
connection.close();
|
|
372
|
-
|
|
445
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
446
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
447
|
+
connection.on('data', (data)=>{
|
|
448
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.IS_ALL_SERVO_ENABLE, 16)) {
|
|
449
|
+
clearTimeout(timeoutId);
|
|
450
|
+
const result = mybuddy.processReceived(data);
|
|
451
|
+
connection.close();
|
|
452
|
+
resolve(result);
|
|
453
|
+
}
|
|
454
|
+
});
|
|
455
|
+
connection.write(mybuddy.isAllServoEnable(device));
|
|
373
456
|
});
|
|
374
|
-
connection.write(mybuddy.isAllServoEnable(device));
|
|
375
|
-
return data;
|
|
376
457
|
}
|
|
377
458
|
async getServodata(params, _pinsSettingsList, context) {
|
|
378
459
|
const { device, servo_no, data_id } = params;
|
|
379
|
-
let data = null;
|
|
380
460
|
const connection = await this.connect(params, context);
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
data = mybuddy.processReceived(data);
|
|
461
|
+
return new Promise((resolve, reject)=>{
|
|
462
|
+
const timeoutId = setTimeout(()=>{
|
|
384
463
|
connection.close();
|
|
385
|
-
|
|
464
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
465
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
466
|
+
connection.on('data', (data)=>{
|
|
467
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_SERVO_DATA, 16)) {
|
|
468
|
+
clearTimeout(timeoutId);
|
|
469
|
+
const result = mybuddy.processReceived(data);
|
|
470
|
+
connection.close();
|
|
471
|
+
resolve(result);
|
|
472
|
+
}
|
|
473
|
+
});
|
|
474
|
+
connection.write(mybuddy.getServodata(device, servo_no, data_id));
|
|
386
475
|
});
|
|
387
|
-
connection.write(mybuddy.getServodata(device, servo_no, data_id));
|
|
388
|
-
return data;
|
|
389
476
|
}
|
|
390
477
|
async getDigitalInput(params, _pinsSettingsList, context) {
|
|
391
478
|
const { device, pin_no } = params;
|
|
392
|
-
let data = null;
|
|
393
479
|
const connection = await this.connect(params, context);
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
data = mybuddy.processReceived(data);
|
|
480
|
+
return new Promise((resolve, reject)=>{
|
|
481
|
+
const timeoutId = setTimeout(()=>{
|
|
397
482
|
connection.close();
|
|
398
|
-
|
|
483
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
484
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
485
|
+
connection.on('data', (data)=>{
|
|
486
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_DIGITAL_INPUT, 16)) {
|
|
487
|
+
clearTimeout(timeoutId);
|
|
488
|
+
const result = mybuddy.processReceived(data);
|
|
489
|
+
connection.close();
|
|
490
|
+
resolve(result);
|
|
491
|
+
}
|
|
492
|
+
});
|
|
493
|
+
connection.write(mybuddy.getDigitalInput(device, pin_no));
|
|
399
494
|
});
|
|
400
|
-
connection.write(mybuddy.getDigitalInput(device, pin_no));
|
|
401
|
-
return data;
|
|
402
495
|
}
|
|
403
496
|
async getGripperValue(params, _pinsSettingsList, context) {
|
|
404
497
|
const { device } = params;
|
|
405
|
-
let data = null;
|
|
406
498
|
const connection = await this.connect(params, context);
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
data = mybuddy.processReceived(data);
|
|
499
|
+
return new Promise((resolve, reject)=>{
|
|
500
|
+
const timeoutId = setTimeout(()=>{
|
|
410
501
|
connection.close();
|
|
411
|
-
|
|
502
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
503
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
504
|
+
connection.on('data', (data)=>{
|
|
505
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_GRIPPER_VALUE, 16)) {
|
|
506
|
+
clearTimeout(timeoutId);
|
|
507
|
+
const result = mybuddy.processReceived(data);
|
|
508
|
+
connection.close();
|
|
509
|
+
resolve(result);
|
|
510
|
+
}
|
|
511
|
+
});
|
|
512
|
+
connection.write(mybuddy.getGripperValue(device));
|
|
412
513
|
});
|
|
413
|
-
connection.write(mybuddy.getGripperValue(device));
|
|
414
|
-
return data;
|
|
415
514
|
}
|
|
416
515
|
async getBasicOutput(params, _pinsSettingsList, context) {
|
|
417
516
|
const { device, pin_no } = params;
|
|
418
|
-
let data = null;
|
|
419
517
|
const connection = await this.connect(params, context);
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
data = mybuddy.processReceived(data);
|
|
518
|
+
return new Promise((resolve, reject)=>{
|
|
519
|
+
const timeoutId = setTimeout(()=>{
|
|
423
520
|
connection.close();
|
|
424
|
-
|
|
521
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
522
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
523
|
+
connection.on('data', (data)=>{
|
|
524
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.GET_BASIC_INPUT, 16)) {
|
|
525
|
+
clearTimeout(timeoutId);
|
|
526
|
+
const result = mybuddy.processReceived(data);
|
|
527
|
+
connection.close();
|
|
528
|
+
resolve(result);
|
|
529
|
+
}
|
|
530
|
+
});
|
|
531
|
+
connection.write(mybuddy.getBasicOutput(device, pin_no));
|
|
425
532
|
});
|
|
426
|
-
connection.write(mybuddy.getBasicOutput(device, pin_no));
|
|
427
|
-
return data;
|
|
428
533
|
}
|
|
429
534
|
async isGripperMoving(params, _pinsSettingsList, context) {
|
|
430
535
|
const { device } = params;
|
|
431
|
-
let data = null;
|
|
432
536
|
const connection = await this.connect(params, context);
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
data = mybuddy.processReceived(data);
|
|
537
|
+
return new Promise((resolve, reject)=>{
|
|
538
|
+
const timeoutId = setTimeout(()=>{
|
|
436
539
|
connection.close();
|
|
437
|
-
|
|
540
|
+
reject('TIMEOUT_READ_COMMANDS');
|
|
541
|
+
}, TIMEOUT_READ_COMMANDS);
|
|
542
|
+
connection.on('data', (data)=>{
|
|
543
|
+
if (data[0] === 0xfe && data[1] === 0xfe && data[2] === device && data[4] === parseInt(mybuddy.COMMAND.IS_GRIPPER_MOVING, 16)) {
|
|
544
|
+
clearTimeout(timeoutId);
|
|
545
|
+
const result = mybuddy.processReceived(data);
|
|
546
|
+
connection.close();
|
|
547
|
+
resolve(result);
|
|
548
|
+
}
|
|
549
|
+
});
|
|
550
|
+
connection.write(mybuddy.isGripperMoving(device));
|
|
438
551
|
});
|
|
439
|
-
connection.write(mybuddy.isGripperMoving(device));
|
|
440
|
-
return data;
|
|
441
552
|
}
|
|
442
553
|
// TOOLS
|
|
443
554
|
async sleep(params, _pinsSettingsList, context) {
|
|
@@ -453,6 +564,7 @@ const powerOn = (params, pinsSettingsList, context)=>new MyBuddyService().powerO
|
|
|
453
564
|
const powerOff = (params, pinsSettingsList, context)=>new MyBuddyService().powerOff(params, pinsSettingsList, context);
|
|
454
565
|
const releaseAllServos = (params, pinsSettingsList, context)=>new MyBuddyService().releaseAllServos(params, pinsSettingsList, context);
|
|
455
566
|
const sendAngle = (params, pinsSettingsList, context)=>new MyBuddyService().sendAngle(params, pinsSettingsList, context);
|
|
567
|
+
const sendCoord = (params, pinsSettingsList, context)=>new MyBuddyService().sendCoord(params, pinsSettingsList, context);
|
|
456
568
|
const sendCoords = (params, pinsSettingsList, context)=>new MyBuddyService().sendCoords(params, pinsSettingsList, context);
|
|
457
569
|
const programPause = (params, pinsSettingsList, context)=>new MyBuddyService().programPause(params, pinsSettingsList, context);
|
|
458
570
|
const programResume = (params, pinsSettingsList, context)=>new MyBuddyService().programResume(params, pinsSettingsList, context);
|
|
@@ -492,4 +604,4 @@ const getBasicOutput = (params, pinsSettingsList, context)=>new MyBuddyService()
|
|
|
492
604
|
const isGripperMoving = (params, pinsSettingsList, context)=>new MyBuddyService().isGripperMoving(params, pinsSettingsList, context);
|
|
493
605
|
const sleep = (params, pinsSettingsList, context)=>new MyBuddyService().sleep(params, pinsSettingsList, context);
|
|
494
606
|
|
|
495
|
-
export { focusServo, getAngles, getBasicOutput, getCoords, getDigitalInput, getEncoder, getEncoders, getGripperValue, getJointMax, getJointMin, getServodata, getSpeed, isAllServoEnable, isControllerConnect, isGripperMoving, isInPosition, isPowerOn, isServoEnable, jogAngle, jogCoord, jogStop, powerOff, powerOn, programPause, programResume, releaseAllServos, releaseServo, sendAngle, sendAngles, sendCoords, setBasicOutput, setColor, setDigitalOutput, setEncoder, setEncoders, setGripperIni, setGripperState, setGripperValue, setPinMode, setServoCalibration, setServoData, setSpeed, sleep, stop };
|
|
607
|
+
export { focusServo, getAngles, getBasicOutput, getCoords, getDigitalInput, getEncoder, getEncoders, getGripperValue, getJointMax, getJointMin, getServodata, getSpeed, isAllServoEnable, isControllerConnect, isGripperMoving, isInPosition, isPowerOn, isServoEnable, jogAngle, jogCoord, jogStop, powerOff, powerOn, programPause, programResume, releaseAllServos, releaseServo, sendAngle, sendAngles, sendCoord, sendCoords, setBasicOutput, setColor, setDigitalOutput, setEncoder, setEncoders, setGripperIni, setGripperState, setGripperValue, setPinMode, setServoCalibration, setServoData, setSpeed, sleep, stop };
|
package/package.json
CHANGED
package/schema.json
CHANGED
|
@@ -164,6 +164,51 @@
|
|
|
164
164
|
"x-events": []
|
|
165
165
|
}
|
|
166
166
|
},
|
|
167
|
+
"/sendCoord": {
|
|
168
|
+
"post": {
|
|
169
|
+
"tags": ["service"],
|
|
170
|
+
"summary": "Envoie les coordonnées",
|
|
171
|
+
"parameters": [
|
|
172
|
+
{
|
|
173
|
+
"name": "device",
|
|
174
|
+
"summary": "Identifiant du device",
|
|
175
|
+
"required": true,
|
|
176
|
+
"description": "Identifiant du device concerné (0 = Tous, 1 = Bras gauche, 2 = Bras droit, 3 = Corps)",
|
|
177
|
+
"schema": {
|
|
178
|
+
"type": "number"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"name": "id",
|
|
183
|
+
"summary": "Coordonnée à modifier",
|
|
184
|
+
"required": true,
|
|
185
|
+
"description": "Identifiant de la coordonnée à envoyer",
|
|
186
|
+
"schema": {
|
|
187
|
+
"type": "number"
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "coord",
|
|
192
|
+
"summary": "Valeur",
|
|
193
|
+
"required": true,
|
|
194
|
+
"description": "Valeur de la coordonnée à envoyer",
|
|
195
|
+
"schema": {
|
|
196
|
+
"type": "number"
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "speed",
|
|
201
|
+
"summary": "Vitesse",
|
|
202
|
+
"required": false,
|
|
203
|
+
"description": "Vitesse de déplacement",
|
|
204
|
+
"schema": {
|
|
205
|
+
"type": "number"
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"x-events": []
|
|
210
|
+
}
|
|
211
|
+
},
|
|
167
212
|
"/sendCoords": {
|
|
168
213
|
"post": {
|
|
169
214
|
"tags": ["service"],
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { PinsSettings } from '@digipair/engine';
|
|
2
2
|
export declare const sendAngles: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
3
|
-
export declare const getAngles: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
3
|
+
export declare const getAngles: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
4
4
|
export declare const powerOn: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
5
5
|
export declare const powerOff: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
6
6
|
export declare const releaseAllServos: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
7
7
|
export declare const sendAngle: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
8
|
+
export declare const sendCoord: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
8
9
|
export declare const sendCoords: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
9
10
|
export declare const programPause: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
10
11
|
export declare const programResume: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
@@ -26,20 +27,20 @@ export declare const setGripperValue: (params: any, pinsSettingsList: PinsSettin
|
|
|
26
27
|
export declare const setGripperIni: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
27
28
|
export declare const setBasicOutput: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
28
29
|
export declare const setColor: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
29
|
-
export declare const isPowerOn: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
30
|
-
export declare const isControllerConnect: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
31
|
-
export declare const getCoords: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
32
|
-
export declare const isInPosition: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
33
|
-
export declare const getEncoder: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
34
|
-
export declare const getEncoders: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
35
|
-
export declare const getSpeed: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
36
|
-
export declare const getJointMin: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
37
|
-
export declare const getJointMax: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
38
|
-
export declare const isServoEnable: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
39
|
-
export declare const isAllServoEnable: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
40
|
-
export declare const getServodata: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
41
|
-
export declare const getDigitalInput: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
42
|
-
export declare const getGripperValue: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
43
|
-
export declare const getBasicOutput: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
44
|
-
export declare const isGripperMoving: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<
|
|
30
|
+
export declare const isPowerOn: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
31
|
+
export declare const isControllerConnect: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
32
|
+
export declare const getCoords: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
33
|
+
export declare const isInPosition: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
34
|
+
export declare const getEncoder: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
35
|
+
export declare const getEncoders: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
36
|
+
export declare const getSpeed: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
37
|
+
export declare const getJointMin: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
38
|
+
export declare const getJointMax: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
39
|
+
export declare const isServoEnable: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
40
|
+
export declare const isAllServoEnable: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
41
|
+
export declare const getServodata: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
42
|
+
export declare const getDigitalInput: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
43
|
+
export declare const getGripperValue: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
44
|
+
export declare const getBasicOutput: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
45
|
+
export declare const isGripperMoving: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<unknown>;
|
|
45
46
|
export declare const sleep: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
File without changes
|