@robotical/raftjs 2.1.2 → 2.1.4
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/devdocs/decode-overrun-investigation.md +167 -0
- package/devdocs/message-panel-design.md +320 -0
- package/dist/react-native/RaftAttributeHandler.d.ts +10 -1
- package/dist/react-native/RaftAttributeHandler.js +60 -8
- package/dist/react-native/RaftAttributeHandler.js.map +1 -1
- package/dist/react-native/RaftChannelSimulated.d.ts +1 -0
- package/dist/react-native/RaftChannelSimulated.js +67 -0
- package/dist/react-native/RaftChannelSimulated.js.map +1 -1
- package/dist/react-native/RaftConnector.d.ts +19 -1
- package/dist/react-native/RaftConnector.js +102 -2
- package/dist/react-native/RaftConnector.js.map +1 -1
- package/dist/react-native/RaftDeviceInfo.d.ts +5 -1
- package/dist/react-native/RaftDeviceManager.js +75 -32
- package/dist/react-native/RaftDeviceManager.js.map +1 -1
- package/dist/react-native/RaftFileHandler.d.ts +1 -0
- package/dist/react-native/RaftFileHandler.js +40 -11
- package/dist/react-native/RaftFileHandler.js.map +1 -1
- package/dist/react-native/RaftMicroPythonConsoleClient.d.ts +38 -0
- package/dist/react-native/RaftMicroPythonConsoleClient.js +45 -0
- package/dist/react-native/RaftMicroPythonConsoleClient.js.map +1 -0
- package/dist/react-native/RaftMsgHandler.d.ts +1 -1
- package/dist/react-native/RaftMsgHandler.js +6 -3
- package/dist/react-native/RaftMsgHandler.js.map +1 -1
- package/dist/react-native/RaftTypes.d.ts +19 -0
- package/dist/react-native/RaftTypes.js.map +1 -1
- package/dist/react-native/main.d.ts +1 -0
- package/dist/react-native/main.js +3 -1
- package/dist/react-native/main.js.map +1 -1
- package/dist/web/RaftAttributeHandler.d.ts +10 -1
- package/dist/web/RaftAttributeHandler.js +60 -8
- package/dist/web/RaftAttributeHandler.js.map +1 -1
- package/dist/web/RaftChannelSimulated.d.ts +1 -0
- package/dist/web/RaftChannelSimulated.js +67 -0
- package/dist/web/RaftChannelSimulated.js.map +1 -1
- package/dist/web/RaftConnector.d.ts +19 -1
- package/dist/web/RaftConnector.js +102 -2
- package/dist/web/RaftConnector.js.map +1 -1
- package/dist/web/RaftDeviceInfo.d.ts +5 -1
- package/dist/web/RaftDeviceManager.js +75 -32
- package/dist/web/RaftDeviceManager.js.map +1 -1
- package/dist/web/RaftFileHandler.d.ts +1 -0
- package/dist/web/RaftFileHandler.js +40 -11
- package/dist/web/RaftFileHandler.js.map +1 -1
- package/dist/web/RaftMicroPythonConsoleClient.d.ts +38 -0
- package/dist/web/RaftMicroPythonConsoleClient.js +45 -0
- package/dist/web/RaftMicroPythonConsoleClient.js.map +1 -0
- package/dist/web/RaftMsgHandler.d.ts +1 -1
- package/dist/web/RaftMsgHandler.js +6 -3
- package/dist/web/RaftMsgHandler.js.map +1 -1
- package/dist/web/RaftTypes.d.ts +19 -0
- package/dist/web/RaftTypes.js.map +1 -1
- package/dist/web/main.d.ts +1 -0
- package/dist/web/main.js +3 -1
- package/dist/web/main.js.map +1 -1
- package/examples/dashboard/src/DeviceActionsForm.tsx +24 -11
- package/examples/dashboard/src/DeviceLineChart.tsx +5 -4
- package/examples/dashboard/src/DevicePanel.tsx +3 -0
- package/package.json +1 -1
- package/src/RaftAttributeHandler.ts +89 -9
- package/src/RaftChannelSimulated.test.ts +62 -0
- package/src/RaftChannelSimulated.ts +91 -0
- package/src/RaftConnector.ts +112 -3
- package/src/RaftDeviceInfo.ts +5 -1
- package/src/RaftDeviceManager.test.ts +35 -1
- package/src/RaftDeviceManager.ts +86 -33
- package/src/RaftFileHandler.ts +43 -11
- package/src/RaftMicroPythonConsoleClient.ts +78 -0
- package/src/RaftMsgHandler.ts +8 -4
- package/src/RaftTypes.ts +23 -0
- package/src/main.ts +1 -0
|
@@ -68,6 +68,9 @@ class RaftConnector {
|
|
|
68
68
|
this._onEventFn = null;
|
|
69
69
|
// Update manager
|
|
70
70
|
this._raftUpdateManager = null;
|
|
71
|
+
// Open-ended RT stream callbacks keyed by streamID
|
|
72
|
+
this._rtStreamCallbacks = new Map();
|
|
73
|
+
this._fallbackRtStreamCallback = null;
|
|
71
74
|
// Get system type callback
|
|
72
75
|
this._getSystemTypeCB = getSystemTypeCB;
|
|
73
76
|
// Debug
|
|
@@ -156,6 +159,20 @@ class RaftConnector {
|
|
|
156
159
|
getCommsStats() {
|
|
157
160
|
return this._commsStats;
|
|
158
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* getOperationQueueDepth
|
|
164
|
+
* @returns number of high-level device operations queued or running
|
|
165
|
+
*/
|
|
166
|
+
getOperationQueueDepth() {
|
|
167
|
+
return 0;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* isOperationBusy
|
|
171
|
+
* @returns true when a high-level device operation is queued or running
|
|
172
|
+
*/
|
|
173
|
+
isOperationBusy() {
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
159
176
|
/**
|
|
160
177
|
* Get Raft message handler (to allow message sending and receiving)
|
|
161
178
|
* @returns RaftMsgHandler - Raft message handler
|
|
@@ -354,6 +371,9 @@ class RaftConnector {
|
|
|
354
371
|
*
|
|
355
372
|
*/
|
|
356
373
|
async sendRICRESTMsg(commandName, params, bridgeID = undefined) {
|
|
374
|
+
return this._sendRICRESTMsg(commandName, params, bridgeID);
|
|
375
|
+
}
|
|
376
|
+
async _sendRICRESTMsg(commandName, params, bridgeID = undefined) {
|
|
357
377
|
try {
|
|
358
378
|
// Format the paramList as query string
|
|
359
379
|
const paramEntries = Object.entries(params);
|
|
@@ -361,12 +381,13 @@ class RaftConnector {
|
|
|
361
381
|
for (const param of paramEntries) {
|
|
362
382
|
if (paramQueryStr.length > 0)
|
|
363
383
|
paramQueryStr += '&';
|
|
364
|
-
paramQueryStr += param[0]
|
|
384
|
+
paramQueryStr += `${encodeURIComponent(param[0])}=${encodeURIComponent(String(param[1]))}`;
|
|
365
385
|
}
|
|
366
386
|
// Format the url to send
|
|
367
387
|
if (paramQueryStr.length > 0)
|
|
368
388
|
commandName += '?' + paramQueryStr;
|
|
369
|
-
|
|
389
|
+
const response = await this._raftMsgHandler.sendRICRESTURL(commandName, bridgeID);
|
|
390
|
+
return response !== null && response !== void 0 ? response : { rslt: 'fail' };
|
|
370
391
|
}
|
|
371
392
|
catch (error) {
|
|
372
393
|
RaftLog_1.default.warn(`sendRICRESTMsg failed ${error}`);
|
|
@@ -404,6 +425,13 @@ class RaftConnector {
|
|
|
404
425
|
*/
|
|
405
426
|
onRxFileBlock(filePos, fileBlockData) {
|
|
406
427
|
// RaftLog.info(`onRxFileBlock filePos ${filePos} fileBlockData ${RaftUtils.bufferToHex(fileBlockData)}`);
|
|
428
|
+
const streamID = (filePos >>> 24) & 0xff;
|
|
429
|
+
const streamFilePos = filePos & 0x00ffffff;
|
|
430
|
+
const streamCallback = this._rtStreamCallbacks.get(streamID);
|
|
431
|
+
if (streamID !== 0 && streamCallback) {
|
|
432
|
+
streamCallback(fileBlockData, streamFilePos, streamID);
|
|
433
|
+
return;
|
|
434
|
+
}
|
|
407
435
|
this._raftFileHandler.onFileBlock(filePos, fileBlockData);
|
|
408
436
|
}
|
|
409
437
|
// Mark: Handling of other message types -----------------------------------------------------------------------------------------
|
|
@@ -446,6 +474,78 @@ class RaftConnector {
|
|
|
446
474
|
}
|
|
447
475
|
return false;
|
|
448
476
|
}
|
|
477
|
+
/**
|
|
478
|
+
* openRtStream - open an indefinite bidirectional RT stream.
|
|
479
|
+
* The returned handle can send byte blocks and closes with ufEnd.
|
|
480
|
+
*/
|
|
481
|
+
async openRtStream(options) {
|
|
482
|
+
var _a;
|
|
483
|
+
const cmdMsg = JSON.stringify({
|
|
484
|
+
cmdName: "ufStart",
|
|
485
|
+
reqStr: "ufStart",
|
|
486
|
+
fileType: "rtstream",
|
|
487
|
+
fileName: options.fileName,
|
|
488
|
+
endpoint: options.endpoint,
|
|
489
|
+
fileLen: 0,
|
|
490
|
+
});
|
|
491
|
+
const startResp = await this._raftMsgHandler.sendRICRESTCmdFrame(cmdMsg);
|
|
492
|
+
if (!startResp || startResp.rslt !== "ok" || startResp.streamID === undefined) {
|
|
493
|
+
throw new Error(`openRtStream failed ${(_a = startResp === null || startResp === void 0 ? void 0 : startResp.rslt) !== null && _a !== void 0 ? _a : "no response"}`);
|
|
494
|
+
}
|
|
495
|
+
const streamID = startResp.streamID;
|
|
496
|
+
const maxBlockSize = startResp.maxBlockSize || this._raftStreamHandler.maxBlockSize;
|
|
497
|
+
let txFilePos = 0;
|
|
498
|
+
let sendQueue = Promise.resolve();
|
|
499
|
+
this._rtStreamCallbacks.set(streamID, options.onData);
|
|
500
|
+
this._fallbackRtStreamCallback = { streamID, callback: options.onData };
|
|
501
|
+
const sendBytes = async (bytes) => {
|
|
502
|
+
let sentOk = false;
|
|
503
|
+
sendQueue = sendQueue
|
|
504
|
+
.catch(() => {
|
|
505
|
+
// Keep later terminal input flowing even if an earlier block failed.
|
|
506
|
+
})
|
|
507
|
+
.then(async () => {
|
|
508
|
+
sentOk = await this._raftMsgHandler.sendStreamBlock(bytes, txFilePos, streamID);
|
|
509
|
+
if (sentOk) {
|
|
510
|
+
txFilePos = (txFilePos + bytes.length) & 0x00ffffff;
|
|
511
|
+
}
|
|
512
|
+
});
|
|
513
|
+
await sendQueue;
|
|
514
|
+
return sentOk;
|
|
515
|
+
};
|
|
516
|
+
const close = async () => {
|
|
517
|
+
var _a;
|
|
518
|
+
this._rtStreamCallbacks.delete(streamID);
|
|
519
|
+
if (((_a = this._fallbackRtStreamCallback) === null || _a === void 0 ? void 0 : _a.streamID) === streamID) {
|
|
520
|
+
this._fallbackRtStreamCallback = null;
|
|
521
|
+
}
|
|
522
|
+
const endMsg = JSON.stringify({
|
|
523
|
+
cmdName: "ufEnd",
|
|
524
|
+
reqStr: "ufEnd",
|
|
525
|
+
streamID,
|
|
526
|
+
});
|
|
527
|
+
try {
|
|
528
|
+
const endResp = await this._raftMsgHandler.sendRICRESTCmdFrame(endMsg);
|
|
529
|
+
return (endResp === null || endResp === void 0 ? void 0 : endResp.rslt) === "ok";
|
|
530
|
+
}
|
|
531
|
+
catch (error) {
|
|
532
|
+
RaftLog_1.default.warn(`closeRtStream failed ${streamID}: ${error}`);
|
|
533
|
+
return false;
|
|
534
|
+
}
|
|
535
|
+
};
|
|
536
|
+
// Some endpoints use an initial empty block as an attach signal.
|
|
537
|
+
// Keep this opt-in because older endpoints reject zero-length ufBlock frames.
|
|
538
|
+
if (options.sendInitialEmptyBlock) {
|
|
539
|
+
await sendBytes(new Uint8Array());
|
|
540
|
+
}
|
|
541
|
+
return {
|
|
542
|
+
streamID,
|
|
543
|
+
maxBlockSize,
|
|
544
|
+
sendBytes,
|
|
545
|
+
sendText: (text) => sendBytes(new TextEncoder().encode(text)),
|
|
546
|
+
close,
|
|
547
|
+
};
|
|
548
|
+
}
|
|
449
549
|
/**
|
|
450
550
|
* streamAudio - stream audio
|
|
451
551
|
* @param streamContents audio data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RaftConnector.js","sourceRoot":"","sources":["../../src/RaftConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RaftConnector.js","sourceRoot":"","sources":["../../src/RaftConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,6 +75,7 @@ export interface DeviceTypeInfo {
|
|
|
75
75
|
desc: string;
|
|
76
76
|
manu: string;
|
|
77
77
|
type: string;
|
|
78
|
+
role?: string;
|
|
78
79
|
resp?: DeviceTypePollRespMetadata;
|
|
79
80
|
clas?: Array<string>;
|
|
80
81
|
actions?: DeviceTypeAction[];
|
|
@@ -85,5 +86,8 @@ export interface DeviceTypeInfoRecs {
|
|
|
85
86
|
export type RaftDevTypeInfoResponse = {
|
|
86
87
|
req: string;
|
|
87
88
|
rslt: string;
|
|
88
|
-
devinfo
|
|
89
|
+
devinfo?: DeviceTypeInfo;
|
|
90
|
+
dtIdx?: number;
|
|
91
|
+
name?: string;
|
|
92
|
+
role?: string;
|
|
89
93
|
};
|
|
@@ -153,7 +153,7 @@ class DeviceManager {
|
|
|
153
153
|
////////////////////////////////////////////////////////////////////////////
|
|
154
154
|
async handleClientMsgBinary(rxMsg) {
|
|
155
155
|
// console.log(`DeviceManager client1 msg ${RaftUtils.bufferToHex(rxMsg)}`);
|
|
156
|
-
var _a;
|
|
156
|
+
var _a, _b, _c;
|
|
157
157
|
// DevBIN message format
|
|
158
158
|
//
|
|
159
159
|
// The rxMsg passed to this function has a 2-byte message type prefix (e.g. 0x0080)
|
|
@@ -321,8 +321,12 @@ class DeviceManager {
|
|
|
321
321
|
}
|
|
322
322
|
// Check if a device state already exists
|
|
323
323
|
if (!(deviceKey in this._devicesState) || (this._devicesState[deviceKey].deviceTypeInfo === undefined)) {
|
|
324
|
-
//
|
|
325
|
-
|
|
324
|
+
// Merge rationale: upstream's deviceid lookup carries
|
|
325
|
+
// per-instance name/role fields, while Robotical's simulator
|
|
326
|
+
// and older firmware still expose bus/type lookup. Try the
|
|
327
|
+
// richer endpoint first and fall back to the type record that
|
|
328
|
+
// was already loaded for payload-format detection.
|
|
329
|
+
const deviceTypeInfo = (_c = (_b = await this.getDeviceTypeInfo(deviceKey)) !== null && _b !== void 0 ? _b : resolvedDeviceTypeInfo) !== null && _c !== void 0 ? _c : await this.getDeviceTypeInfo(busNum.toString(), devTypeIdx.toString());
|
|
326
330
|
// Debug
|
|
327
331
|
// console.log(`DevMan.handleClientMsgBinary debugIdx ${debugMsgIndex} pollDataPos ${pollDataPos} busNum ${busNum} devAddr 0x${devAddr.toString(16)} devTypeIdx ${devTypeIdx} deviceTypeInfo ${JSON.stringify(deviceTypeInfo)}`);
|
|
328
332
|
// Handle case where device type info is not available
|
|
@@ -391,7 +395,16 @@ class DeviceManager {
|
|
|
391
395
|
}
|
|
392
396
|
const sampleStartPos = pollDataPos;
|
|
393
397
|
const sampleEndPos = pollDataPos + sampleLen;
|
|
394
|
-
|
|
398
|
+
// Merge rationale: keep Robotical's explicit sample
|
|
399
|
+
// boundary and add upstream diagnostics so malformed
|
|
400
|
+
// samples can be skipped with useful context.
|
|
401
|
+
const newMsgBufIdx = this._attributeHandler.processMsgAttrGroup(rxMsg, sampleStartPos, deviceState.deviceTimeline, pollRespMetadata, deviceState.deviceAttributes, this._maxDatapointsToStore, sampleEndPos, {
|
|
402
|
+
deviceKey,
|
|
403
|
+
deviceType: deviceState.deviceType,
|
|
404
|
+
debugMsgIndex,
|
|
405
|
+
sampleStartIdx: sampleStartPos,
|
|
406
|
+
sampleEndIdx: sampleEndPos,
|
|
407
|
+
});
|
|
395
408
|
if (newMsgBufIdx < 0) {
|
|
396
409
|
this.warnMalformedSample(`${deviceKey}:${devTypeIdx}:lengthPrefixed`, `DevMan.handleClientMsgBinary debugIdx ${debugMsgIndex} skipped malformed sample ` +
|
|
397
410
|
`device=${deviceKey} devTypeIdx=${devTypeIdx} sampleLen=${sampleLen} respBytes=${pollRespMetadata.b}`);
|
|
@@ -413,7 +426,16 @@ class DeviceManager {
|
|
|
413
426
|
while (pollDataPos + legacySampleLen <= samplesEndPos) {
|
|
414
427
|
const sampleStartPos = pollDataPos;
|
|
415
428
|
const sampleEndPos = pollDataPos + legacySampleLen;
|
|
416
|
-
|
|
429
|
+
// Legacy raw records are not length-prefixed, but
|
|
430
|
+
// the fixed sample span gives the same bound and
|
|
431
|
+
// diagnostic context to the attribute handler.
|
|
432
|
+
const newMsgBufIdx = this._attributeHandler.processMsgAttrGroup(rxMsg, sampleStartPos, deviceState.deviceTimeline, pollRespMetadata, deviceState.deviceAttributes, this._maxDatapointsToStore, sampleEndPos, {
|
|
433
|
+
deviceKey,
|
|
434
|
+
deviceType: deviceState.deviceType,
|
|
435
|
+
debugMsgIndex,
|
|
436
|
+
sampleStartIdx: sampleStartPos,
|
|
437
|
+
sampleEndIdx: sampleEndPos,
|
|
438
|
+
});
|
|
417
439
|
if (newMsgBufIdx < 0) {
|
|
418
440
|
this.warnMalformedSample(`${deviceKey}:${devTypeIdx}:legacyRaw`, `DevMan.handleClientMsgBinary debugIdx ${debugMsgIndex} skipped malformed legacy sample ` +
|
|
419
441
|
`device=${deviceKey} devTypeIdx=${devTypeIdx} sampleLen=${legacySampleLen} respBytes=${pollRespMetadata.b}`);
|
|
@@ -474,7 +496,7 @@ class DeviceManager {
|
|
|
474
496
|
}
|
|
475
497
|
// Iterate over the devices
|
|
476
498
|
Object.entries(devices).forEach(async ([devAddr, attrGroups]) => {
|
|
477
|
-
var _a;
|
|
499
|
+
var _a, _b;
|
|
478
500
|
// Check for non-device info (starts with _)
|
|
479
501
|
if (devAddr.startsWith("_")) {
|
|
480
502
|
return;
|
|
@@ -499,8 +521,10 @@ class DeviceManager {
|
|
|
499
521
|
this._deviceLastUpdateTime[deviceKey] = Date.now();
|
|
500
522
|
// Check if a device state already exists
|
|
501
523
|
if (!(deviceKey in this._devicesState) || (this._devicesState[deviceKey].deviceTypeInfo === undefined)) {
|
|
502
|
-
//
|
|
503
|
-
|
|
524
|
+
// Prefer upstream's per-instance deviceid endpoint, but
|
|
525
|
+
// keep Robotical's bus/type fallback for simulated and
|
|
526
|
+
// older JSON publishers.
|
|
527
|
+
const deviceTypeInfo = (_b = await this.getDeviceTypeInfo(deviceKey)) !== null && _b !== void 0 ? _b : await this.getDeviceTypeInfo(busName, deviceTypeName);
|
|
504
528
|
// Check if device record exists
|
|
505
529
|
if (deviceKey in this._devicesState) {
|
|
506
530
|
if (deviceTypeInfo !== undefined) {
|
|
@@ -636,66 +660,78 @@ class DeviceManager {
|
|
|
636
660
|
delete this._deviceLastUpdateTime[deviceKey];
|
|
637
661
|
delete this._deviceStats[deviceKey];
|
|
638
662
|
}
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
async getDeviceTypeInfo(busName, deviceType) {
|
|
663
|
+
async getDeviceTypeInfo(deviceKeyOrBusName, deviceType) {
|
|
664
|
+
const cacheKey = deviceType === undefined ? deviceKeyOrBusName : deviceType;
|
|
665
|
+
const requestLabel = deviceType === undefined ? `deviceKey ${deviceKeyOrBusName}` : `deviceType ${deviceType}`;
|
|
643
666
|
// Check if already in cache
|
|
644
|
-
if (
|
|
645
|
-
return this._cachedDeviceTypeRecs[
|
|
667
|
+
if (cacheKey in this._cachedDeviceTypeRecs) {
|
|
668
|
+
return this._cachedDeviceTypeRecs[cacheKey];
|
|
646
669
|
}
|
|
647
|
-
// Check if there's already a pending request for this device
|
|
648
|
-
if (
|
|
649
|
-
// console.log(`DevMan.getDeviceTypeInfo joining existing request queue for deviceType ${deviceType}`);
|
|
670
|
+
// Check if there's already a pending request for this device/type
|
|
671
|
+
if (cacheKey in this._pendingDeviceTypeRequests) {
|
|
650
672
|
// Add this request to the waiting queue
|
|
651
673
|
return new Promise((resolve, reject) => {
|
|
652
|
-
this._pendingDeviceTypeRequests[
|
|
674
|
+
this._pendingDeviceTypeRequests[cacheKey].waitingQueue.push({ resolve, reject });
|
|
653
675
|
});
|
|
654
676
|
}
|
|
655
677
|
// Check rate limiting for new requests
|
|
656
|
-
if (
|
|
657
|
-
const timeSinceLastAttempt = Date.now() - this._cachedDeviceTypePreviousAttemptTimes[
|
|
678
|
+
if (cacheKey in this._cachedDeviceTypePreviousAttemptTimes) {
|
|
679
|
+
const timeSinceLastAttempt = Date.now() - this._cachedDeviceTypePreviousAttemptTimes[cacheKey];
|
|
658
680
|
if (timeSinceLastAttempt < this._minTimeBetweenDeviceTypeInfoRetrievalMs) {
|
|
659
|
-
console.log(`DevMan.getDeviceTypeInfo rate limited for
|
|
681
|
+
console.log(`DevMan.getDeviceTypeInfo rate limited for ${requestLabel}`);
|
|
660
682
|
return undefined;
|
|
661
683
|
}
|
|
662
684
|
}
|
|
663
685
|
// Create and cache the promise with an empty waiting queue
|
|
664
|
-
const requestPromise = this.executeDeviceTypeInfoRequest(
|
|
665
|
-
this._pendingDeviceTypeRequests[
|
|
686
|
+
const requestPromise = this.executeDeviceTypeInfoRequest(deviceKeyOrBusName, deviceType);
|
|
687
|
+
this._pendingDeviceTypeRequests[cacheKey] = {
|
|
666
688
|
promise: requestPromise,
|
|
667
689
|
waitingQueue: []
|
|
668
690
|
};
|
|
669
691
|
try {
|
|
670
692
|
const result = await requestPromise;
|
|
671
693
|
// Resolve all waiting requests with the same result
|
|
672
|
-
const waitingQueue = this._pendingDeviceTypeRequests[
|
|
694
|
+
const waitingQueue = this._pendingDeviceTypeRequests[cacheKey].waitingQueue;
|
|
673
695
|
waitingQueue.forEach(({ resolve }) => resolve(result));
|
|
674
696
|
return result;
|
|
675
697
|
}
|
|
676
698
|
catch (error) {
|
|
677
699
|
// Reject all waiting requests with the same error
|
|
678
|
-
const waitingQueue = this._pendingDeviceTypeRequests[
|
|
700
|
+
const waitingQueue = this._pendingDeviceTypeRequests[cacheKey].waitingQueue;
|
|
679
701
|
waitingQueue.forEach(({ reject }) => reject(error));
|
|
680
|
-
console.warn(`DevMan.getDeviceTypeInfo failed for ${
|
|
702
|
+
console.warn(`DevMan.getDeviceTypeInfo failed for ${requestLabel}: ${error}`);
|
|
681
703
|
return undefined;
|
|
682
704
|
}
|
|
683
705
|
finally {
|
|
684
706
|
// Clean up the pending request
|
|
685
|
-
delete this._pendingDeviceTypeRequests[
|
|
707
|
+
delete this._pendingDeviceTypeRequests[cacheKey];
|
|
686
708
|
}
|
|
687
709
|
}
|
|
688
|
-
async executeDeviceTypeInfoRequest(
|
|
710
|
+
async executeDeviceTypeInfoRequest(deviceKeyOrBusName, deviceType) {
|
|
689
711
|
var _a;
|
|
690
|
-
|
|
712
|
+
const cacheKey = deviceType === undefined ? deviceKeyOrBusName : deviceType;
|
|
713
|
+
this._cachedDeviceTypePreviousAttemptTimes[cacheKey] = Date.now();
|
|
691
714
|
try {
|
|
692
|
-
|
|
715
|
+
// Merge rationale: support both upstream's per-device endpoint and
|
|
716
|
+
// Robotical's older bus/type endpoint. The deviceid response may
|
|
717
|
+
// include instance-specific name/role; the bus/type response keeps
|
|
718
|
+
// simulators and older firmware working.
|
|
719
|
+
const cmd = deviceType === undefined
|
|
720
|
+
? "devman/typeinfo?deviceid=" + deviceKeyOrBusName
|
|
721
|
+
: "devman/typeinfo?bus=" + deviceKeyOrBusName + "&type=" + deviceType;
|
|
693
722
|
const msgHandler = (_a = this._systemUtils) === null || _a === void 0 ? void 0 : _a.getMsgHandler();
|
|
694
723
|
if (msgHandler) {
|
|
695
724
|
const msgRslt = await msgHandler.sendRICRESTURL(cmd);
|
|
696
725
|
if (msgRslt && msgRslt.rslt === "ok") {
|
|
697
|
-
|
|
698
|
-
|
|
726
|
+
// Merge devinfo (type-level) with top-level per-instance overrides (name, role)
|
|
727
|
+
const base = msgRslt.devinfo
|
|
728
|
+
? Object.assign({}, msgRslt.devinfo) : { name: "", desc: "", manu: "", type: "" };
|
|
729
|
+
if (msgRslt.name !== undefined)
|
|
730
|
+
base.name = msgRslt.name;
|
|
731
|
+
if (msgRslt.role !== undefined)
|
|
732
|
+
base.role = msgRslt.role;
|
|
733
|
+
this._cachedDeviceTypeRecs[cacheKey] = base;
|
|
734
|
+
return base;
|
|
699
735
|
}
|
|
700
736
|
}
|
|
701
737
|
return undefined;
|
|
@@ -781,10 +817,14 @@ class DeviceManager {
|
|
|
781
817
|
return pollRespMetadata.b;
|
|
782
818
|
}
|
|
783
819
|
let attrPayloadLen = 0;
|
|
820
|
+
let usesAbsolutePositions = false;
|
|
784
821
|
for (const attrDef of pollRespMetadata.a) {
|
|
785
822
|
if (!attrDef.t) {
|
|
786
823
|
return pollRespMetadata.b;
|
|
787
824
|
}
|
|
825
|
+
if (attrDef.at !== undefined) {
|
|
826
|
+
usesAbsolutePositions = true;
|
|
827
|
+
}
|
|
788
828
|
try {
|
|
789
829
|
attrPayloadLen += (0, RaftStruct_1.structSizeOf)(attrDef.t);
|
|
790
830
|
}
|
|
@@ -792,6 +832,9 @@ class DeviceManager {
|
|
|
792
832
|
return pollRespMetadata.b;
|
|
793
833
|
}
|
|
794
834
|
}
|
|
835
|
+
if (usesAbsolutePositions && pollRespMetadata.b > 0) {
|
|
836
|
+
return pollRespMetadata.b;
|
|
837
|
+
}
|
|
795
838
|
// Cog v1.9.5 light metadata reports the direct-sensor payload size doubled,
|
|
796
839
|
// but the legacy raw record contains one fixed payload matching the attribute schema.
|
|
797
840
|
if ((attrPayloadLen > 0) && (pollRespMetadata.b > 0) && (attrPayloadLen <= pollRespMetadata.b)) {
|