@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.
Files changed (70) hide show
  1. package/devdocs/decode-overrun-investigation.md +167 -0
  2. package/devdocs/message-panel-design.md +320 -0
  3. package/dist/react-native/RaftAttributeHandler.d.ts +10 -1
  4. package/dist/react-native/RaftAttributeHandler.js +60 -8
  5. package/dist/react-native/RaftAttributeHandler.js.map +1 -1
  6. package/dist/react-native/RaftChannelSimulated.d.ts +1 -0
  7. package/dist/react-native/RaftChannelSimulated.js +67 -0
  8. package/dist/react-native/RaftChannelSimulated.js.map +1 -1
  9. package/dist/react-native/RaftConnector.d.ts +19 -1
  10. package/dist/react-native/RaftConnector.js +102 -2
  11. package/dist/react-native/RaftConnector.js.map +1 -1
  12. package/dist/react-native/RaftDeviceInfo.d.ts +5 -1
  13. package/dist/react-native/RaftDeviceManager.js +75 -32
  14. package/dist/react-native/RaftDeviceManager.js.map +1 -1
  15. package/dist/react-native/RaftFileHandler.d.ts +1 -0
  16. package/dist/react-native/RaftFileHandler.js +40 -11
  17. package/dist/react-native/RaftFileHandler.js.map +1 -1
  18. package/dist/react-native/RaftMicroPythonConsoleClient.d.ts +38 -0
  19. package/dist/react-native/RaftMicroPythonConsoleClient.js +45 -0
  20. package/dist/react-native/RaftMicroPythonConsoleClient.js.map +1 -0
  21. package/dist/react-native/RaftMsgHandler.d.ts +1 -1
  22. package/dist/react-native/RaftMsgHandler.js +6 -3
  23. package/dist/react-native/RaftMsgHandler.js.map +1 -1
  24. package/dist/react-native/RaftTypes.d.ts +19 -0
  25. package/dist/react-native/RaftTypes.js.map +1 -1
  26. package/dist/react-native/main.d.ts +1 -0
  27. package/dist/react-native/main.js +3 -1
  28. package/dist/react-native/main.js.map +1 -1
  29. package/dist/web/RaftAttributeHandler.d.ts +10 -1
  30. package/dist/web/RaftAttributeHandler.js +60 -8
  31. package/dist/web/RaftAttributeHandler.js.map +1 -1
  32. package/dist/web/RaftChannelSimulated.d.ts +1 -0
  33. package/dist/web/RaftChannelSimulated.js +67 -0
  34. package/dist/web/RaftChannelSimulated.js.map +1 -1
  35. package/dist/web/RaftConnector.d.ts +19 -1
  36. package/dist/web/RaftConnector.js +102 -2
  37. package/dist/web/RaftConnector.js.map +1 -1
  38. package/dist/web/RaftDeviceInfo.d.ts +5 -1
  39. package/dist/web/RaftDeviceManager.js +75 -32
  40. package/dist/web/RaftDeviceManager.js.map +1 -1
  41. package/dist/web/RaftFileHandler.d.ts +1 -0
  42. package/dist/web/RaftFileHandler.js +40 -11
  43. package/dist/web/RaftFileHandler.js.map +1 -1
  44. package/dist/web/RaftMicroPythonConsoleClient.d.ts +38 -0
  45. package/dist/web/RaftMicroPythonConsoleClient.js +45 -0
  46. package/dist/web/RaftMicroPythonConsoleClient.js.map +1 -0
  47. package/dist/web/RaftMsgHandler.d.ts +1 -1
  48. package/dist/web/RaftMsgHandler.js +6 -3
  49. package/dist/web/RaftMsgHandler.js.map +1 -1
  50. package/dist/web/RaftTypes.d.ts +19 -0
  51. package/dist/web/RaftTypes.js.map +1 -1
  52. package/dist/web/main.d.ts +1 -0
  53. package/dist/web/main.js +3 -1
  54. package/dist/web/main.js.map +1 -1
  55. package/examples/dashboard/src/DeviceActionsForm.tsx +24 -11
  56. package/examples/dashboard/src/DeviceLineChart.tsx +5 -4
  57. package/examples/dashboard/src/DevicePanel.tsx +3 -0
  58. package/package.json +1 -1
  59. package/src/RaftAttributeHandler.ts +89 -9
  60. package/src/RaftChannelSimulated.test.ts +62 -0
  61. package/src/RaftChannelSimulated.ts +91 -0
  62. package/src/RaftConnector.ts +112 -3
  63. package/src/RaftDeviceInfo.ts +5 -1
  64. package/src/RaftDeviceManager.test.ts +35 -1
  65. package/src/RaftDeviceManager.ts +86 -33
  66. package/src/RaftFileHandler.ts +43 -11
  67. package/src/RaftMicroPythonConsoleClient.ts +78 -0
  68. package/src/RaftMsgHandler.ts +8 -4
  69. package/src/RaftTypes.ts +23 -0
  70. package/src/main.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"RaftMsgHandler.js","sourceRoot":"","sources":["../../src/RaftMsgHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RaftMsgHandler.js","sourceRoot":"","sources":["../../src/RaftMsgHandler.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,7 @@ export type RaftFileStartResp = {
111
111
  rslt: string;
112
112
  batchMsgSize: number;
113
113
  batchAckSize: number;
114
+ streamID?: number;
114
115
  };
115
116
  export type RaftStreamStartResp = {
116
117
  rslt: string;
@@ -159,6 +160,24 @@ export declare class RaftSysModInfoBLEMan {
159
160
  }
160
161
  export type RaftProgressCBType = (received: number, total: number) => void;
161
162
  export type RaftStreamDataProgressCBType = (sent: number, total: number, progress: number) => void;
163
+ export type RaftRtStreamDataCBType = (data: Uint8Array, filePos: number, streamID: number) => void;
164
+ export type RaftRtStreamOptions = {
165
+ fileName: string;
166
+ endpoint: string;
167
+ onData: RaftRtStreamDataCBType;
168
+ sendInitialEmptyBlock?: boolean;
169
+ };
170
+ export type RaftRtStreamHandle = {
171
+ streamID: number;
172
+ maxBlockSize: number;
173
+ sendBytes: (bytes: Uint8Array) => Promise<boolean>;
174
+ sendText: (text: string) => Promise<boolean>;
175
+ close: () => Promise<boolean>;
176
+ };
177
+ export type RaftRtStreamStartResp = RaftOKFail & {
178
+ streamID?: number;
179
+ maxBlockSize?: number;
180
+ };
162
181
  export declare class RaftFileDownloadResult {
163
182
  fileData: Uint8Array | null;
164
183
  downloadedOk: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"RaftTypes.js","sourceRoot":"","sources":["../../src/RaftTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RaftTypes.js","sourceRoot":"","sources":["../../src/RaftTypes.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export { default as RaftFileHandler } from './RaftFileHandler';
9
9
  export { default as RaftLog } from './RaftLog';
10
10
  export { default as RaftMiniHDLC } from './RaftMiniHDLC';
11
11
  export { default as RaftMsgHandler } from './RaftMsgHandler';
12
+ export { default as RaftMicroPythonConsoleClient } from './RaftMicroPythonConsoleClient';
12
13
  export { default as RaftStreamHandler } from './RaftStreamHandler';
13
14
  export { default as RaftSystemUtils } from './RaftSystemUtils';
14
15
  export { default as RaftUtils } from './RaftUtils';
package/dist/web/main.js CHANGED
@@ -9,7 +9,7 @@
9
9
  //
10
10
  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ianaToPosixTZ = exports.getHostPosixTZ = exports.getHostTimezone = exports.RaftDeviceManager = exports.RaftSysTypeManager = exports.RaftUtils = exports.RaftSystemUtils = exports.RaftStreamHandler = exports.RaftMsgHandler = exports.RaftMiniHDLC = exports.RaftLog = exports.RaftFileHandler = exports.RaftChannelSimulated = exports.RaftChannelWebSocket = exports.RaftConnector = exports.RaftCommsStats = exports.RaftChannelBLE = void 0;
12
+ exports.ianaToPosixTZ = exports.getHostPosixTZ = exports.getHostTimezone = exports.RaftDeviceManager = exports.RaftSysTypeManager = exports.RaftUtils = exports.RaftSystemUtils = exports.RaftStreamHandler = exports.RaftMicroPythonConsoleClient = exports.RaftMsgHandler = exports.RaftMiniHDLC = exports.RaftLog = exports.RaftFileHandler = exports.RaftChannelSimulated = exports.RaftChannelWebSocket = exports.RaftConnector = exports.RaftCommsStats = exports.RaftChannelBLE = void 0;
13
13
  const tslib_1 = require("tslib");
14
14
  const RaftChannelBLEFactory_1 = require("./RaftChannelBLEFactory");
15
15
  const raftChannel = (0, RaftChannelBLEFactory_1.createBLEChannel)();
@@ -30,6 +30,8 @@ var RaftMiniHDLC_1 = require("./RaftMiniHDLC");
30
30
  Object.defineProperty(exports, "RaftMiniHDLC", { enumerable: true, get: function () { return tslib_1.__importDefault(RaftMiniHDLC_1).default; } });
31
31
  var RaftMsgHandler_1 = require("./RaftMsgHandler");
32
32
  Object.defineProperty(exports, "RaftMsgHandler", { enumerable: true, get: function () { return tslib_1.__importDefault(RaftMsgHandler_1).default; } });
33
+ var RaftMicroPythonConsoleClient_1 = require("./RaftMicroPythonConsoleClient");
34
+ Object.defineProperty(exports, "RaftMicroPythonConsoleClient", { enumerable: true, get: function () { return tslib_1.__importDefault(RaftMicroPythonConsoleClient_1).default; } });
33
35
  var RaftStreamHandler_1 = require("./RaftStreamHandler");
34
36
  Object.defineProperty(exports, "RaftStreamHandler", { enumerable: true, get: function () { return tslib_1.__importDefault(RaftStreamHandler_1).default; } });
35
37
  var RaftSystemUtils_1 = require("./RaftSystemUtils");
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AAAA,iHAAiH;AACjH,EAAE;AACF,SAAS;AACT,gGAAgG;AAChG,EAAE;AACF,wCAAwC;AACxC,oCAAoC;AACpC,EAAE;AACF,iHAAiH;;;;AAEjH,mEAA2D;AAC3D,MAAM,WAAW,GAAG,IAAA,wCAAgB,GAAE,CAAC;AACf,qCAAc;AAEtC,mDAA6D;AAApD,yIAAA,OAAO,OAAkB;AAClC,iDAA2D;AAAlD,uIAAA,OAAO,OAAiB;AAEjC,+DAAyE;AAAhE,qJAAA,OAAO,OAAwB;AACxC,+DAAyE;AAAhE,qJAAA,OAAO,OAAwB;AACxC,qDAA+D;AAAtD,2IAAA,OAAO,OAAmB;AACnC,qCAA+C;AAAtC,2HAAA,OAAO,OAAW;AAC3B,+CAAyD;AAAhD,qIAAA,OAAO,OAAgB;AAChC,mDAA4D;AAAnD,yIAAA,OAAO,OAAkB;AAClC,yDAAmE;AAA1D,+IAAA,OAAO,OAAqB;AACrC,qDAA+D;AAAtD,2IAAA,OAAO,OAAmB;AACnC,yCAAmD;AAA1C,+HAAA,OAAO,OAAa;AAC7B,2DAAqE;AAA5D,iJAAA,OAAO,OAAsB;AAEtC,yDAAyE;AAAhE,sHAAA,aAAa,OAAqB;AAG3C,wDAA8B;AAC9B,sDAA4B;AAC5B,2DAAiC;AACjC,0DAAgC;AAChC,2DAAiC;AACjC,6DAAmC;AACnC,6DAAmC;AACnC,6DAAmC;AACnC,2DAAiC;AACjC,+CAAgF;AAAvE,+GAAA,eAAe,OAAA;AAAE,8GAAA,cAAc,OAAA;AAAE,6GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AAAA,iHAAiH;AACjH,EAAE;AACF,SAAS;AACT,gGAAgG;AAChG,EAAE;AACF,wCAAwC;AACxC,oCAAoC;AACpC,EAAE;AACF,iHAAiH;;;;AAEjH,mEAA2D;AAC3D,MAAM,WAAW,GAAG,IAAA,wCAAgB,GAAE,CAAC;AACf,qCAAc;AAEtC,mDAA6D;AAApD,yIAAA,OAAO,OAAkB;AAClC,iDAA2D;AAAlD,uIAAA,OAAO,OAAiB;AAEjC,+DAAyE;AAAhE,qJAAA,OAAO,OAAwB;AACxC,+DAAyE;AAAhE,qJAAA,OAAO,OAAwB;AACxC,qDAA+D;AAAtD,2IAAA,OAAO,OAAmB;AACnC,qCAA+C;AAAtC,2HAAA,OAAO,OAAW;AAC3B,+CAAyD;AAAhD,qIAAA,OAAO,OAAgB;AAChC,mDAA4D;AAAnD,yIAAA,OAAO,OAAkB;AAClC,+EAAyF;AAAhF,qKAAA,OAAO,OAAgC;AAChD,yDAAmE;AAA1D,+IAAA,OAAO,OAAqB;AACrC,qDAA+D;AAAtD,2IAAA,OAAO,OAAmB;AACnC,yCAAmD;AAA1C,+HAAA,OAAO,OAAa;AAC7B,2DAAqE;AAA5D,iJAAA,OAAO,OAAsB;AAEtC,yDAAyE;AAAhE,sHAAA,aAAa,OAAqB;AAG3C,wDAA8B;AAC9B,sDAA4B;AAC5B,2DAAiC;AACjC,0DAAgC;AAChC,2DAAiC;AACjC,6DAAmC;AACnC,6DAAmC;AACnC,6DAAmC;AACnC,2DAAiC;AACjC,+CAAgF;AAAvE,+GAAA,eAAe,OAAA;AAAE,8GAAA,cAAc,OAAA;AAAE,6GAAA,aAAa,OAAA"}
@@ -15,6 +15,20 @@ function findClosest(arr: number[], target: number): number {
15
15
  );
16
16
  }
17
17
 
18
+ function getDefaultActionValue(action: DeviceTypeAction): number {
19
+ if (action.d !== undefined) {
20
+ return action.d;
21
+ }
22
+ if (action.map) {
23
+ const firstMapKey = Object.keys(action.map).sort((a, b) => parseFloat(a) - parseFloat(b))[0];
24
+ return firstMapKey !== undefined ? parseFloat(firstMapKey) : 0;
25
+ }
26
+ if (action.r && action.r.length > 1) {
27
+ return (action.r[1] + action.r[0]) / 2;
28
+ }
29
+ return 0;
30
+ }
31
+
18
32
  type DeviceActionsTableProps = {
19
33
  deviceKey: string;
20
34
  };
@@ -39,6 +53,9 @@ const DeviceActionsForm: React.FC<DeviceActionsTableProps> = ({ deviceKey }: Dev
39
53
  // Wait a little while inline for the device to be ready
40
54
  setTimeout(async () => {
41
55
  const deviceState = deviceManager.getDeviceState(deviceKey);
56
+ if (!deviceState) {
57
+ return;
58
+ }
42
59
  const { deviceTypeInfo } = deviceState;
43
60
  const actions: DeviceTypeAction[] = deviceTypeInfo?.actions || [];
44
61
  setDeviceActions(actions);
@@ -51,13 +68,7 @@ const DeviceActionsForm: React.FC<DeviceActionsTableProps> = ({ deviceKey }: Dev
51
68
  setHasConfRate(!!confRateAction);
52
69
  // Initialize input values with defaults
53
70
  const initialValues: InputValues = actions.reduce((acc, action) => {
54
- acc[action.n] =
55
- action.d ??
56
- (action.r
57
- ? action.r.length > 1
58
- ? (action.r[1] + action.r[0]) / 2
59
- : 0
60
- : 0);
71
+ acc[action.n] = getDefaultActionValue(action);
61
72
  return acc;
62
73
  }, {} as InputValues);
63
74
 
@@ -183,12 +194,13 @@ const DeviceActionsForm: React.FC<DeviceActionsTableProps> = ({ deviceKey }: Dev
183
194
  const mapKeys = Object.keys(action.map).sort((a, b) => parseFloat(a) - parseFloat(b));
184
195
  // Use "Rate Hz" label for _conf.rate actions
185
196
  const actionLabel = action.n === '_conf.rate' ? 'Rate Hz' : (action.desc ?? action.n);
197
+ const actionValue = inputValues[action.n] ?? getDefaultActionValue(action);
186
198
  return (
187
199
  <tr key={action.n}>
188
200
  <td>{actionLabel}</td>
189
201
  <td>
190
202
  <select
191
- value={inputValues[action.n]}
203
+ value={actionValue}
192
204
  onChange={(e) =>
193
205
  handleInputChange(
194
206
  action.n,
@@ -208,7 +220,7 @@ const DeviceActionsForm: React.FC<DeviceActionsTableProps> = ({ deviceKey }: Dev
208
220
  onClick={() =>
209
221
  handleSendAction(
210
222
  action,
211
- inputValues[action.n]
223
+ actionValue
212
224
  )
213
225
  }
214
226
  >
@@ -218,6 +230,7 @@ const DeviceActionsForm: React.FC<DeviceActionsTableProps> = ({ deviceKey }: Dev
218
230
  </tr>
219
231
  );
220
232
  } else {
233
+ const actionValue = inputValues[action.n] ?? getDefaultActionValue(action);
221
234
  return (
222
235
  <tr key={action.n}>
223
236
  <td>{action.n}</td>
@@ -227,7 +240,7 @@ const DeviceActionsForm: React.FC<DeviceActionsTableProps> = ({ deviceKey }: Dev
227
240
  type="number"
228
241
  min={action.r?.[0] ?? 0}
229
242
  max={action.r?.[1] ?? 100}
230
- value={inputValues[action.n]}
243
+ value={actionValue}
231
244
  onChange={(e) =>
232
245
  handleInputChange(
233
246
  action.n,
@@ -242,7 +255,7 @@ const DeviceActionsForm: React.FC<DeviceActionsTableProps> = ({ deviceKey }: Dev
242
255
  onClick={() =>
243
256
  handleSendAction(
244
257
  action,
245
- inputValues[action.n]
258
+ actionValue
246
259
  )
247
260
  }
248
261
  >
@@ -148,10 +148,11 @@ const DeviceLineChart: React.FC<DeviceLineChartProps> = memo(({ deviceKey, lastU
148
148
  min: axis.range[0],
149
149
  max: axis.range[1],
150
150
  callback: (value: number) => {
151
- if (typeof value === 'number' && Math.abs(value) > 0 && Math.abs(value) < 1) {
152
- return value.toPrecision(2);
153
- }
154
- return value;
151
+ if (typeof value !== 'number') return value;
152
+ if (value === 0) return '0';
153
+ const abs = Math.abs(value);
154
+ if (abs < 1) return Number(value.toPrecision(2)).toString();
155
+ return Number(value.toPrecision(6)).toString();
155
156
  },
156
157
  },
157
158
  };
@@ -173,6 +173,9 @@ const DevicePanel = ({ deviceKey, lastUpdated }: DevicePanelProps) => {
173
173
  if (bracketsAdded) {
174
174
  headerText += `)`;
175
175
  }
176
+ if (deviceState?.deviceTypeInfo?.role?.toLowerCase() === "system") {
177
+ headerText += " System";
178
+ }
176
179
  if (deviceState?.onlineState !== DeviceOnlineState.Online) {
177
180
  headerText += " (Offline)";
178
181
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robotical/raftjs",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "Javascript/TS library for Raft library",
5
5
  "main": "dist/web/main.js",
6
6
  "types": "dist/web/main.d.ts",
@@ -11,6 +11,23 @@ import CustomAttrHandler from "./RaftCustomAttrHandler";
11
11
  import { DeviceTypeAttribute, DeviceTypePollRespMetadata, decodeAttrUnitsEncoding, isAttrTypeSigned } from "./RaftDeviceInfo";
12
12
  import { DeviceAttributesState, DeviceTimeline } from "./RaftDeviceStates";
13
13
  import { structSizeOf, structUnpack } from "./RaftStruct";
14
+ import RaftUtils from "./RaftUtils";
15
+
16
+ // Optional diagnostic context for attribute decoding. When provided, the
17
+ // handler emits a detailed warning if an attribute would read past the
18
+ // declared sample boundary or the end of the message buffer. This is used to
19
+ // track down firmware/schema mismatches.
20
+ export interface AttrDecodeDiagContext {
21
+ deviceKey?: string;
22
+ deviceType?: string;
23
+ debugMsgIndex?: number;
24
+ // Inclusive start (in msgBuffer) of the current sample's bytes (after the
25
+ // 1-byte sampleLen prefix). When provided together with sampleEndIdx, the
26
+ // handler will bound-check attribute reads against this range.
27
+ sampleStartIdx?: number;
28
+ // Exclusive end (in msgBuffer) of the current sample's bytes.
29
+ sampleEndIdx?: number;
30
+ }
14
31
 
15
32
  export default class AttributeHandler {
16
33
 
@@ -23,8 +40,18 @@ export default class AttributeHandler {
23
40
  private POLL_RESULT_RESOLUTION_US = 100;
24
41
 
25
42
  public processMsgAttrGroup(msgBuffer: Uint8Array, msgBufIdx: number, deviceTimeline: DeviceTimeline, pollRespMetadata: DeviceTypePollRespMetadata,
26
- devAttrsState: DeviceAttributesState, maxDataPoints: number, msgEndIdx = msgBuffer.length): number {
27
-
43
+ devAttrsState: DeviceAttributesState, maxDataPoints: number,
44
+ msgEndIdxOrDiagCtx: number | AttrDecodeDiagContext = msgBuffer.length,
45
+ diagCtx?: AttrDecodeDiagContext): number {
46
+
47
+ // Merge rationale: Robotical's devbin compatibility parser needs an
48
+ // explicit sample boundary; upstream's diagnostics need per-sample
49
+ // context. Accept both call styles so malformed samples are skipped
50
+ // without losing useful overrun warnings.
51
+ const msgEndIdx = typeof msgEndIdxOrDiagCtx === "number"
52
+ ? msgEndIdxOrDiagCtx
53
+ : msgEndIdxOrDiagCtx.sampleEndIdx ?? msgBuffer.length;
54
+ const effectiveDiagCtx = typeof msgEndIdxOrDiagCtx === "number" ? diagCtx : msgEndIdxOrDiagCtx;
28
55
  // console.log(`processMsgAttrGroup msg ${msgHexStr} timestamp ${timestamp} origTimestamp ${origTimestamp} msgBufIdx ${msgBufIdx}`)
29
56
  const boundedMsgEndIdx = Math.min(Math.max(msgEndIdx, msgBufIdx), msgBuffer.length);
30
57
 
@@ -39,6 +66,11 @@ export default class AttributeHandler {
39
66
 
40
67
  // New attribute values (in order as they appear in the attributes JSON)
41
68
  let newAttrValues: (number | string)[][] = [];
69
+ // Tracks whether any individual attribute decode failed in the non-custom path.
70
+ // When true, the detailed per-attribute overrun warning has already been emitted
71
+ // by processMsgAttribute, so we suppress the redundant downstream length/empty
72
+ // warnings that would otherwise fire every poll.
73
+ let attrDecodeFailed = false;
42
74
  if ("c" in pollRespMetadata) {
43
75
 
44
76
  // Extract attribute values using custom handler
@@ -83,13 +115,15 @@ export default class AttributeHandler {
83
115
  if (!("t" in attrDef)) {
84
116
  console.warn(`DeviceManager msg unknown msgBuffer ${msgBuffer} tsUs ${timestampUs} attrDef ${JSON.stringify(attrDef)}`);
85
117
  newAttrValues.push([]);
118
+ attrDecodeFailed = true;
86
119
  continue;
87
120
  }
88
121
 
89
122
  // console.log(`RaftAttrHdlr.processMsgAttrGroup attr ${attrDef.n} msgBufIdx ${msgBufIdx} timestampUs ${timestampUs} attrDef ${JSON.stringify(attrDef)}`);
90
123
 
91
124
  // Process the attribute
92
- const { values, newMsgBufIdx } = this.processMsgAttribute(attrDef, msgBuffer, msgBufIdx, msgDataStartIdx, boundedMsgEndIdx);
125
+ const { values, newMsgBufIdx } = this.processMsgAttribute(attrDef, msgBuffer, msgBufIdx, msgDataStartIdx,
126
+ boundedMsgEndIdx, pollRespMetadata, effectiveDiagCtx);
93
127
  if (newMsgBufIdx < 0) {
94
128
  return -1;
95
129
  }
@@ -114,14 +148,18 @@ export default class AttributeHandler {
114
148
  const numNewDataPoints = newAttrValues[0].length;
115
149
  for (let i = 1; i < newAttrValues.length; i++) {
116
150
  if (newAttrValues[i].length !== numNewDataPoints) {
117
- console.warn(`DeviceManager msg attrGroup ${pollRespMetadata} attrName ${pollRespMetadata.a[i].n} newAttrValues ${newAttrValues} do not have the same length`);
151
+ if (!attrDecodeFailed) {
152
+ console.warn(`DeviceManager msg attrGroup ${JSON.stringify(pollRespMetadata)} attrName ${pollRespMetadata.a[i].n} newAttrValues lengths ${newAttrValues.map(v => v.length).join(",")} do not match`);
153
+ }
118
154
  return msgDataStartIdx+pollRespSizeBytes;
119
155
  }
120
156
  }
121
157
 
122
158
  // All attributes in the schema should have values
123
159
  if (newAttrValues.length !== pollRespMetadata.a.length) {
124
- console.warn(`DeviceManager msg attrGroup ${pollRespMetadata} newAttrValues ${newAttrValues} length does not match attrGroup.a length`);
160
+ if (!attrDecodeFailed) {
161
+ console.warn(`DeviceManager msg attrGroup ${JSON.stringify(pollRespMetadata)} newAttrValues length ${newAttrValues.length} does not match attrGroup.a length ${pollRespMetadata.a.length}`);
162
+ }
125
163
  return msgDataStartIdx+pollRespSizeBytes;
126
164
  }
127
165
 
@@ -272,7 +310,9 @@ export default class AttributeHandler {
272
310
  }
273
311
  }
274
312
 
275
- private processMsgAttribute(attrDef: DeviceTypeAttribute, msgBuffer: Uint8Array, msgBufIdx: number, msgDataStartIdx: number, msgEndIdx: number): { values: (number | string)[], newMsgBufIdx: number} {
313
+ private processMsgAttribute(attrDef: DeviceTypeAttribute, msgBuffer: Uint8Array, msgBufIdx: number, msgDataStartIdx: number,
314
+ msgEndIdx: number, pollRespMetadata?: DeviceTypePollRespMetadata,
315
+ diagCtx?: AttrDecodeDiagContext): { values: (number | string)[], newMsgBufIdx: number} {
276
316
 
277
317
  // Current field message string index
278
318
  let curFieldBufIdx = msgBufIdx;
@@ -295,7 +335,9 @@ export default class AttributeHandler {
295
335
  // Copy bytes from the specified positions
296
336
  for (let i = 0; i < attrDef.at.length && i < elemSize; i++) {
297
337
  const sourceIdx = msgDataStartIdx + attrDef.at[i];
298
- if (sourceIdx >= boundedMsgEndIdx) {
338
+ if (sourceIdx < msgDataStartIdx || sourceIdx >= boundedMsgEndIdx) {
339
+ this.warnAttrOverrun(attrDef, msgBuffer, sourceIdx, elemSize, msgDataStartIdx,
340
+ true, pollRespMetadata, diagCtx, sourceIdx >= msgBuffer.length ? "msgBuffer" : "sample");
299
341
  return { values: [], newMsgBufIdx: -1 };
300
342
  }
301
343
  bytesForType[i] = msgBuffer[sourceIdx];
@@ -312,11 +354,15 @@ export default class AttributeHandler {
312
354
  attrUsesAbsPos = true;
313
355
  }
314
356
 
315
- // Check if outside bounds of message
357
+ // Merge rationale: keep Robotical's hard sample bounds as the source of
358
+ // truth, but emit upstream's one-shot diagnostic when a schema tries to
359
+ // read beyond the sample or buffer.
316
360
  const attrEndIdx = curFieldBufIdx + numBytesConsumed;
317
361
  const effectiveMsgEndIdx = Math.min(Math.max(msgEndIdx, curFieldBufIdx), msgBuffer.length);
318
362
  if (curFieldBufIdx >= effectiveMsgEndIdx || attrEndIdx > effectiveMsgEndIdx) {
319
- // console.warn(`DeviceManager msg outside bounds msgBuffer ${msgBuffer} attrName ${attrDef.n}`);
363
+ this.warnAttrOverrun(attrDef, msgBuffer, curFieldBufIdx, numBytesConsumed, msgDataStartIdx,
364
+ attrUsesAbsPos, pollRespMetadata, diagCtx,
365
+ attrEndIdx > msgBuffer.length ? "msgBuffer" : "sample");
320
366
  return { values: [], newMsgBufIdx: -1 };
321
367
  }
322
368
 
@@ -439,6 +485,40 @@ export default class AttributeHandler {
439
485
  return { values: attrValues, newMsgBufIdx: msgBufIdx };
440
486
  }
441
487
 
488
+ // One-shot detailed warning when an attribute decode would overrun the
489
+ // sample/message bounds. Includes the exact bytes and schema so the
490
+ // firmware vs. registered device-type schema can be reconciled.
491
+ private _overrunWarnSeen: Set<string> = new Set();
492
+ private warnAttrOverrun(attrDef: DeviceTypeAttribute, msgBuffer: Uint8Array, curFieldBufIdx: number,
493
+ attrTypeSize: number, msgDataStartIdx: number, attrUsesAbsPos: boolean,
494
+ pollRespMetadata: DeviceTypePollRespMetadata | undefined,
495
+ diagCtx: AttrDecodeDiagContext | undefined, overrunOf: "msgBuffer" | "sample"): void {
496
+ const sampleStart = diagCtx?.sampleStartIdx ?? msgDataStartIdx;
497
+ const sampleEnd = diagCtx?.sampleEndIdx;
498
+ const dedupeKey = `${diagCtx?.deviceKey ?? "?"}|${diagCtx?.deviceType ?? "?"}|${attrDef.n}|${attrDef.t}|${attrUsesAbsPos ? attrDef.at : "rel"}`;
499
+ if (this._overrunWarnSeen.has(dedupeKey)) {
500
+ return;
501
+ }
502
+ this._overrunWarnSeen.add(dedupeKey);
503
+ const sampleHex = sampleEnd !== undefined
504
+ ? RaftUtils.bufferToHex(msgBuffer.slice(sampleStart, sampleEnd))
505
+ : "<unknown sample bounds>";
506
+ const availableInSample = sampleEnd !== undefined ? Math.max(0, sampleEnd - curFieldBufIdx) : -1;
507
+ const availableInBuffer = Math.max(0, msgBuffer.length - curFieldBufIdx);
508
+ console.warn(
509
+ `AttributeHandler decode overrun (${overrunOf}): ` +
510
+ `deviceKey=${diagCtx?.deviceKey ?? "?"} deviceType=${diagCtx?.deviceType ?? "?"} ` +
511
+ `debugMsgIndex=${diagCtx?.debugMsgIndex ?? "?"} attr.n=${attrDef.n} attr.t=${attrDef.t} ` +
512
+ `attrTypeSize=${attrTypeSize} attrUsesAbsPos=${attrUsesAbsPos} attr.at=${JSON.stringify(attrDef.at)} ` +
513
+ `curFieldBufIdx=${curFieldBufIdx} msgBuffer.length=${msgBuffer.length} ` +
514
+ `sampleStartIdx=${sampleStart} sampleEndIdx=${sampleEnd ?? "?"} ` +
515
+ `availableInSample=${availableInSample} availableInBuffer=${availableInBuffer} ` +
516
+ `sampleHex=${sampleHex} ` +
517
+ `pollRespMetadata.b=${pollRespMetadata?.b} ` +
518
+ `schema=${JSON.stringify(pollRespMetadata?.a)}`
519
+ );
520
+ }
521
+
442
522
  private signExtend(value: number, mask: number): number {
443
523
  const signBitMask = (mask + 1) >> 1;
444
524
  const signBit = value & signBitMask;
@@ -0,0 +1,62 @@
1
+ import AttributeHandler from "./RaftAttributeHandler";
2
+ import RaftChannelSimulated from "./RaftChannelSimulated";
3
+ import { DeviceAttributesState, DeviceTimeline } from "./RaftDeviceStates";
4
+
5
+ function hexToBytes(hex: string): Uint8Array {
6
+ const bytes = new Uint8Array(hex.length / 2);
7
+ for (let idx = 0; idx < bytes.length; idx++) {
8
+ bytes[idx] = parseInt(hex.slice(idx * 2, idx * 2 + 2), 16);
9
+ }
10
+ return bytes;
11
+ }
12
+
13
+ function createTimeline(): DeviceTimeline {
14
+ return {
15
+ timestampsUs: [],
16
+ lastReportTimestampUs: 0,
17
+ reportTimestampOffsetUs: 0,
18
+ totalSamplesAdded: 0,
19
+ emaLastSampleTimeUs: 0,
20
+ emaIntervalUs: 0,
21
+ emaPrevPollTimeUs: 0,
22
+ emaCalibrated: false,
23
+ emaCalibrationPolls: 0,
24
+ };
25
+ }
26
+
27
+ describe("RaftChannelSimulated", () => {
28
+ test("generates decodable SCD30 CO2, temperature and humidity data", () => {
29
+ const channel = new RaftChannelSimulated() as any;
30
+ const deviceTypeInfo = channel._deviceTypeInfo.SCD30;
31
+ expect(deviceTypeInfo).toBeDefined();
32
+
33
+ const msg = channel._createSimulatedDeviceInfoMsg(1000, "SCD30", deviceTypeInfo, 2500) as Uint8Array;
34
+ const publishedJson = JSON.parse(new TextDecoder().decode(msg.slice(2)));
35
+ const payload = hexToBytes(publishedJson["1"].SCD30.pub);
36
+
37
+ const attrs: DeviceAttributesState = {};
38
+ const timeline = createTimeline();
39
+ const handler = new AttributeHandler();
40
+
41
+ const nextIdx = handler.processMsgAttrGroup(payload, 0, timeline, deviceTypeInfo.resp, attrs, 100);
42
+ expect(nextIdx).toBe(26);
43
+
44
+ expect(attrs.CO2.values).toHaveLength(1);
45
+ expect(attrs.temperature.values).toHaveLength(1);
46
+ expect(attrs.humidity.values).toHaveLength(1);
47
+
48
+ const co2 = attrs.CO2.values[0] as number;
49
+ const temperature = attrs.temperature.values[0] as number;
50
+ const humidity = attrs.humidity.values[0] as number;
51
+
52
+ expect(Number.isFinite(co2)).toBe(true);
53
+ expect(Number.isFinite(temperature)).toBe(true);
54
+ expect(Number.isFinite(humidity)).toBe(true);
55
+ expect(co2).toBeGreaterThanOrEqual(400);
56
+ expect(co2).toBeLessThanOrEqual(2000);
57
+ expect(temperature).toBeGreaterThanOrEqual(-40);
58
+ expect(temperature).toBeLessThanOrEqual(125);
59
+ expect(humidity).toBeGreaterThanOrEqual(0);
60
+ expect(humidity).toBeLessThanOrEqual(100);
61
+ });
62
+ });