@robdobsn/raftjs 1.1.1

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 (149) hide show
  1. package/.editorconfig +14 -0
  2. package/.gitattributes +11 -0
  3. package/.nvmrc +1 -0
  4. package/LICENSE +22 -0
  5. package/README.md +11 -0
  6. package/TODO.md +1 -0
  7. package/dist/RaftAttributeHandler.d.ts +12 -0
  8. package/dist/RaftAttributeHandler.js +241 -0
  9. package/dist/RaftAttributeHandler.js.map +1 -0
  10. package/dist/RaftChannel.d.ts +18 -0
  11. package/dist/RaftChannel.js +12 -0
  12. package/dist/RaftChannel.js.map +1 -0
  13. package/dist/RaftChannelWebBLE.d.ts +38 -0
  14. package/dist/RaftChannelWebBLE.js +274 -0
  15. package/dist/RaftChannelWebBLE.js.map +1 -0
  16. package/dist/RaftChannelWebSerial.d.ts +37 -0
  17. package/dist/RaftChannelWebSerial.js +319 -0
  18. package/dist/RaftChannelWebSerial.js.map +1 -0
  19. package/dist/RaftChannelWebSocket.d.ts +28 -0
  20. package/dist/RaftChannelWebSocket.js +197 -0
  21. package/dist/RaftChannelWebSocket.js.map +1 -0
  22. package/dist/RaftCommsStats.d.ts +39 -0
  23. package/dist/RaftCommsStats.js +128 -0
  24. package/dist/RaftCommsStats.js.map +1 -0
  25. package/dist/RaftConnEvents.d.ts +31 -0
  26. package/dist/RaftConnEvents.js +44 -0
  27. package/dist/RaftConnEvents.js.map +1 -0
  28. package/dist/RaftConnector.d.ts +242 -0
  29. package/dist/RaftConnector.js +613 -0
  30. package/dist/RaftConnector.js.map +1 -0
  31. package/dist/RaftCustomAttrHandler.d.ts +4 -0
  32. package/dist/RaftCustomAttrHandler.js +50 -0
  33. package/dist/RaftCustomAttrHandler.js.map +1 -0
  34. package/dist/RaftDeviceInfo.d.ts +64 -0
  35. package/dist/RaftDeviceInfo.js +36 -0
  36. package/dist/RaftDeviceInfo.js.map +1 -0
  37. package/dist/RaftDeviceManager.d.ts +37 -0
  38. package/dist/RaftDeviceManager.js +450 -0
  39. package/dist/RaftDeviceManager.js.map +1 -0
  40. package/dist/RaftDeviceMsg.d.ts +9 -0
  41. package/dist/RaftDeviceMsg.js +11 -0
  42. package/dist/RaftDeviceMsg.js.map +1 -0
  43. package/dist/RaftDeviceStates.d.ts +33 -0
  44. package/dist/RaftDeviceStates.js +60 -0
  45. package/dist/RaftDeviceStates.js.map +1 -0
  46. package/dist/RaftFileHandler.d.ts +52 -0
  47. package/dist/RaftFileHandler.js +502 -0
  48. package/dist/RaftFileHandler.js.map +1 -0
  49. package/dist/RaftLog.d.ts +22 -0
  50. package/dist/RaftLog.js +63 -0
  51. package/dist/RaftLog.js.map +1 -0
  52. package/dist/RaftMiniHDLC.d.ts +18 -0
  53. package/dist/RaftMiniHDLC.js +383 -0
  54. package/dist/RaftMiniHDLC.js.map +1 -0
  55. package/dist/RaftMsgHandler.d.ts +57 -0
  56. package/dist/RaftMsgHandler.js +480 -0
  57. package/dist/RaftMsgHandler.js.map +1 -0
  58. package/dist/RaftMsgTrackInfo.d.ts +17 -0
  59. package/dist/RaftMsgTrackInfo.js +42 -0
  60. package/dist/RaftMsgTrackInfo.js.map +1 -0
  61. package/dist/RaftProtocolDefs.d.ts +30 -0
  62. package/dist/RaftProtocolDefs.js +48 -0
  63. package/dist/RaftProtocolDefs.js.map +1 -0
  64. package/dist/RaftStreamHandler.d.ts +38 -0
  65. package/dist/RaftStreamHandler.js +257 -0
  66. package/dist/RaftStreamHandler.js.map +1 -0
  67. package/dist/RaftSystemType.d.ts +21 -0
  68. package/dist/RaftSystemType.js +3 -0
  69. package/dist/RaftSystemType.js.map +1 -0
  70. package/dist/RaftSystemUtils.d.ts +136 -0
  71. package/dist/RaftSystemUtils.js +410 -0
  72. package/dist/RaftSystemUtils.js.map +1 -0
  73. package/dist/RaftTypes.d.ts +184 -0
  74. package/dist/RaftTypes.js +157 -0
  75. package/dist/RaftTypes.js.map +1 -0
  76. package/dist/RaftUpdateEvents.d.ts +33 -0
  77. package/dist/RaftUpdateEvents.js +46 -0
  78. package/dist/RaftUpdateEvents.js.map +1 -0
  79. package/dist/RaftUpdateManager.d.ts +61 -0
  80. package/dist/RaftUpdateManager.js +618 -0
  81. package/dist/RaftUpdateManager.js.map +1 -0
  82. package/dist/RaftUtils.d.ts +125 -0
  83. package/dist/RaftUtils.js +454 -0
  84. package/dist/RaftUtils.js.map +1 -0
  85. package/dist/RaftWifiTypes.d.ts +23 -0
  86. package/dist/RaftWifiTypes.js +43 -0
  87. package/dist/RaftWifiTypes.js.map +1 -0
  88. package/dist/TestDataGen.d.ts +7 -0
  89. package/dist/TestDataGen.js +133 -0
  90. package/dist/TestDataGen.js.map +1 -0
  91. package/dist/main.d.ts +18 -0
  92. package/dist/main.js +42 -0
  93. package/dist/main.js.map +1 -0
  94. package/eslint.config.mjs +33 -0
  95. package/examples/dashboard/package.json +39 -0
  96. package/examples/dashboard/src/ConnManager.ts +86 -0
  97. package/examples/dashboard/src/Main.tsx +100 -0
  98. package/examples/dashboard/src/StatusScreen.tsx +72 -0
  99. package/examples/dashboard/src/SystemTypeCog/CogStateInfo.ts +144 -0
  100. package/examples/dashboard/src/SystemTypeCog/SystemTypeCog.ts +77 -0
  101. package/examples/dashboard/src/SystemTypeMarty/RICAddOn.ts +70 -0
  102. package/examples/dashboard/src/SystemTypeMarty/RICAddOnBase.ts +33 -0
  103. package/examples/dashboard/src/SystemTypeMarty/RICAddOnManager.ts +342 -0
  104. package/examples/dashboard/src/SystemTypeMarty/RICCommsStats.ts +170 -0
  105. package/examples/dashboard/src/SystemTypeMarty/RICHWElem.ts +123 -0
  106. package/examples/dashboard/src/SystemTypeMarty/RICLEDPatternChecker.ts +207 -0
  107. package/examples/dashboard/src/SystemTypeMarty/RICROSSerial.ts +464 -0
  108. package/examples/dashboard/src/SystemTypeMarty/RICServoFaultDetector.ts +146 -0
  109. package/examples/dashboard/src/SystemTypeMarty/RICStateInfo.ts +32 -0
  110. package/examples/dashboard/src/SystemTypeMarty/RICSystemUtils.ts +371 -0
  111. package/examples/dashboard/src/SystemTypeMarty/RICTypes.ts +20 -0
  112. package/examples/dashboard/src/SystemTypeMarty/SystemTypeMarty.ts +113 -0
  113. package/examples/dashboard/src/index.html +15 -0
  114. package/examples/dashboard/src/index.tsx +15 -0
  115. package/examples/dashboard/src/styles.css +122 -0
  116. package/examples/dashboard/tsconfig.json +18 -0
  117. package/jest.config.js +11 -0
  118. package/package.json +50 -0
  119. package/src/RaftAttributeHandler.ts +289 -0
  120. package/src/RaftChannel.ts +30 -0
  121. package/src/RaftChannelWebBLE.ts +342 -0
  122. package/src/RaftChannelWebSerial.ts +408 -0
  123. package/src/RaftChannelWebSocket.ts +245 -0
  124. package/src/RaftCommsStats.ts +142 -0
  125. package/src/RaftConnEvents.ts +46 -0
  126. package/src/RaftConnector.ts +745 -0
  127. package/src/RaftCustomAttrHandler.ts +54 -0
  128. package/src/RaftDeviceInfo.ts +104 -0
  129. package/src/RaftDeviceManager.ts +542 -0
  130. package/src/RaftDeviceMsg.ts +20 -0
  131. package/src/RaftDeviceStates.ts +89 -0
  132. package/src/RaftFileHandler.ts +668 -0
  133. package/src/RaftLog.ts +70 -0
  134. package/src/RaftMiniHDLC.ts +396 -0
  135. package/src/RaftMsgHandler.ts +778 -0
  136. package/src/RaftMsgTrackInfo.ts +51 -0
  137. package/src/RaftProtocolDefs.ts +46 -0
  138. package/src/RaftStreamHandler.ts +328 -0
  139. package/src/RaftSystemType.ts +25 -0
  140. package/src/RaftSystemUtils.ts +487 -0
  141. package/src/RaftTypes.ts +250 -0
  142. package/src/RaftUpdateEvents.ts +48 -0
  143. package/src/RaftUpdateManager.ts +778 -0
  144. package/src/RaftUtils.ts +484 -0
  145. package/src/RaftWifiTypes.ts +36 -0
  146. package/src/TestDataGen.ts +157 -0
  147. package/src/main.ts +28 -0
  148. package/testdata/TestDeviceTypeRecs.json +492 -0
  149. package/tsconfig.json +27 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RaftDeviceManager.js","sourceRoot":"","sources":["../src/RaftDeviceManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface DeviceMsgJsonElem {
2
+ [attrGroupName: string]: string | number | boolean;
3
+ }
4
+ export interface DeviceMsgJsonBus {
5
+ [devAddr: string]: DeviceMsgJsonElem;
6
+ }
7
+ export interface DeviceMsgJson {
8
+ [busName: string]: DeviceMsgJsonBus;
9
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3
+ //
4
+ // RaftDeviceMsg
5
+ // Device message for Raft devices
6
+ //
7
+ // Rob Dobson (C) 2024
8
+ //
9
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=RaftDeviceMsg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RaftDeviceMsg.js","sourceRoot":"","sources":["../src/RaftDeviceMsg.ts"],"names":[],"mappings":";AAAA,iHAAiH;AACjH,EAAE;AACF,gBAAgB;AAChB,kCAAkC;AAClC,EAAE;AACF,sBAAsB;AACtB,EAAE;AACF,iHAAiH"}
@@ -0,0 +1,33 @@
1
+ import { DeviceTypeInfo } from "./RaftDeviceInfo";
2
+ export declare function deviceAttrGetLatestFormatted(attrState: DeviceAttributeState): string;
3
+ export interface DeviceAttributeState {
4
+ name: string;
5
+ newAttribute: boolean;
6
+ newData: boolean;
7
+ values: number[];
8
+ units: string;
9
+ range: number[];
10
+ format: string;
11
+ visibleSeries: boolean;
12
+ visibleForm: boolean;
13
+ }
14
+ export interface DeviceAttributesState {
15
+ [attributeName: string]: DeviceAttributeState;
16
+ }
17
+ export interface DeviceTimeline {
18
+ timestampsUs: number[];
19
+ lastReportTimestampUs: number;
20
+ reportTimestampOffsetUs: number;
21
+ }
22
+ export interface DeviceState {
23
+ deviceTypeInfo: DeviceTypeInfo;
24
+ deviceTimeline: DeviceTimeline;
25
+ deviceAttributes: DeviceAttributesState;
26
+ deviceIsNew: boolean;
27
+ stateChanged: boolean;
28
+ isOnline: boolean;
29
+ }
30
+ export declare class DevicesState {
31
+ [deviceKey: string]: DeviceState;
32
+ }
33
+ export declare function getDeviceKey(busName: string, devAddr: string): string;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3
+ //
4
+ // RaftDeviceStates
5
+ // Device states for Raft devices
6
+ //
7
+ // Rob Dobson (C) 2024
8
+ //
9
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.DevicesState = void 0;
12
+ exports.deviceAttrGetLatestFormatted = deviceAttrGetLatestFormatted;
13
+ exports.getDeviceKey = getDeviceKey;
14
+ function deviceAttrGetLatestFormatted(attrState) {
15
+ if (attrState.values.length === 0) {
16
+ return 'N/A';
17
+ }
18
+ if (attrState.format.length === 0) {
19
+ return attrState.values[attrState.values.length - 1].toString();
20
+ }
21
+ const value = attrState.values[attrState.values.length - 1];
22
+ let format = attrState.format;
23
+ if (format.startsWith("%")) {
24
+ format = format.slice(1);
25
+ }
26
+ if (format.endsWith('f')) {
27
+ // Floating point number formatting
28
+ const parts = format.split('.');
29
+ let decimalPlaces = 0;
30
+ if (parts.length === 2) {
31
+ decimalPlaces = parseInt(parts[1], 10);
32
+ }
33
+ const formattedNumber = value.toFixed(decimalPlaces);
34
+ let fieldWidth = parseInt(parts[0], 10);
35
+ return fieldWidth ? formattedNumber.padStart(fieldWidth, ' ') : formattedNumber;
36
+ }
37
+ else if (format.endsWith('x')) {
38
+ // Hexadecimal formatting
39
+ const totalLength = parseInt(format.slice(0, -1), 10);
40
+ return Math.floor(value).toString(16).padStart(totalLength, format.startsWith('0') ? '0' : ' ');
41
+ }
42
+ else if (format.endsWith('d')) {
43
+ // Decimal integer formatting
44
+ const totalLength = parseInt(format.slice(0, -1), 10);
45
+ return Math.floor(value).toString(10).padStart(totalLength, format.startsWith('0') ? '0' : ' ');
46
+ }
47
+ else if (format.endsWith('b')) {
48
+ // Binary formatting
49
+ return Math.floor(value) === 0 ? 'no' : 'yes';
50
+ }
51
+ return value.toString();
52
+ }
53
+ class DevicesState {
54
+ }
55
+ exports.DevicesState = DevicesState;
56
+ // Add the getDeviceKey method to generate a composite key
57
+ function getDeviceKey(busName, devAddr) {
58
+ return `${busName}_${devAddr}`;
59
+ }
60
+ //# sourceMappingURL=RaftDeviceStates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RaftDeviceStates.js","sourceRoot":"","sources":["../src/RaftDeviceStates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import RaftMsgHandler from './RaftMsgHandler';
2
+ import { RaftFileDownloadResult, RaftFileSendType, RaftProgressCBType } from './RaftTypes';
3
+ import RaftCommsStats from './RaftCommsStats';
4
+ export default class RaftFileHandler {
5
+ private _msgHandler;
6
+ private BLOCK_ACK_TIMEOUT_MS;
7
+ private _requestedFileBlockSize;
8
+ private _fileBlockSize;
9
+ private _requestedBatchAckSize;
10
+ private _batchAckSize;
11
+ private _sendWithoutBatchAcks;
12
+ private _ackedFilePos;
13
+ private _batchAckReceived;
14
+ private _isTxCancelled;
15
+ private _isRxCancelled;
16
+ private _fileRxActive;
17
+ private _fileRxBatchMsgSize;
18
+ private _fileRxBatchAckSize;
19
+ private _fileRxStreamID;
20
+ private _fileRxFileLen;
21
+ private _fileRxCrc16;
22
+ private _fileRxBuffer;
23
+ private _fileRxLastAckTime;
24
+ private _fileRxLastBlockTime;
25
+ private _fileRxLastAckPos;
26
+ private OVERALL_FILE_TRANSFER_TIMEOUT_MS;
27
+ private FILE_RX_ACK_RESEND_TIMEOUT_MS;
28
+ private _commsStats;
29
+ private _msgAwaitList;
30
+ private MAX_OUTSTANDING_FILE_BLOCK_SEND_PROMISES;
31
+ constructor(msgHandler: RaftMsgHandler, commsStats: RaftCommsStats);
32
+ setRequestedFileBlockSize(blockSize: number): void;
33
+ setRequestedBatchAckSize(batchAckSize: number): void;
34
+ fileSend(fileName: string, fileType: RaftFileSendType, fileDest: string, fileContents: Uint8Array, progressCallback: ((sent: number, total: number, progress: number) => void) | undefined): Promise<boolean>;
35
+ fileSendCancel(): Promise<void>;
36
+ _sendFileStartMsg(fileName: string, fileType: RaftFileSendType, fileDest: string, fileContents: Uint8Array): Promise<boolean>;
37
+ _sendFileEndMsg(fileName: string, fileType: RaftFileSendType, fileDest: string, fileContents: Uint8Array): Promise<boolean>;
38
+ _sendFileCancelMsg(): Promise<void>;
39
+ _sendFileContents(fileContents: Uint8Array, progressCallback: ((sent: number, total: number, progress: number) => void) | undefined): Promise<boolean>;
40
+ batchAck(timeout: number): Promise<void>;
41
+ _sendFileBlock(fileContents: Uint8Array, blockStart: number): Promise<boolean>;
42
+ onOktoMsg(fileOkTo: number): void;
43
+ awaitOutstandingMsgPromises(all: boolean): Promise<void>;
44
+ fileReceive(fileName: string, fileSource: string, progressCallback: RaftProgressCBType | undefined): Promise<RaftFileDownloadResult>;
45
+ fileReceiveCancel(): Promise<void>;
46
+ _receiveFileStart(fileName: string, bridgeID: number | undefined): Promise<boolean>;
47
+ _receiveFileContents(progressCallback: RaftProgressCBType | undefined, bridgeID: number | undefined): Promise<RaftFileDownloadResult>;
48
+ _receiveFileEnd(fileName: string, bridgeID: number | undefined): Promise<boolean>;
49
+ _sendFileRxCancelMsg(bridgeID: number | undefined): Promise<void>;
50
+ onFileBlock(filePos: number, fileBlockData: Uint8Array): void;
51
+ isFileRxActive(): boolean;
52
+ }