@robdobsn/raftjs 1.7.2 → 1.7.3

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 (188) hide show
  1. package/dist/web/RaftAttributeHandler.js +5 -5
  2. package/dist/web/RaftAttributeHandler.js.map +1 -1
  3. package/package.json +5 -2
  4. package/.editorconfig +0 -14
  5. package/.gitattributes +0 -11
  6. package/.nvmrc +0 -1
  7. package/TODO.md +0 -1
  8. package/dist/react-native/RaftAttributeHandler.d.ts +0 -12
  9. package/dist/react-native/RaftAttributeHandler.js +0 -249
  10. package/dist/react-native/RaftAttributeHandler.js.map +0 -1
  11. package/dist/react-native/RaftChannel.d.ts +0 -20
  12. package/dist/react-native/RaftChannel.js +0 -12
  13. package/dist/react-native/RaftChannel.js.map +0 -1
  14. package/dist/react-native/RaftChannelBLE.native.d.ts +0 -95
  15. package/dist/react-native/RaftChannelBLE.native.js +0 -482
  16. package/dist/react-native/RaftChannelBLE.native.js.map +0 -1
  17. package/dist/react-native/RaftChannelBLE.web.d.ts +0 -40
  18. package/dist/react-native/RaftChannelBLE.web.js +0 -300
  19. package/dist/react-native/RaftChannelBLE.web.js.map +0 -1
  20. package/dist/react-native/RaftChannelBLEFactory.d.ts +0 -10
  21. package/dist/react-native/RaftChannelBLEFactory.js +0 -17
  22. package/dist/react-native/RaftChannelBLEFactory.js.map +0 -1
  23. package/dist/react-native/RaftChannelBLEScanner.native.d.ts +0 -18
  24. package/dist/react-native/RaftChannelBLEScanner.native.js +0 -138
  25. package/dist/react-native/RaftChannelBLEScanner.native.js.map +0 -1
  26. package/dist/react-native/RaftChannelSimulated.d.ts +0 -32
  27. package/dist/react-native/RaftChannelSimulated.js +0 -418
  28. package/dist/react-native/RaftChannelSimulated.js.map +0 -1
  29. package/dist/react-native/RaftChannelWebSerial.d.ts +0 -39
  30. package/dist/react-native/RaftChannelWebSerial.js +0 -329
  31. package/dist/react-native/RaftChannelWebSerial.js.map +0 -1
  32. package/dist/react-native/RaftChannelWebSocket.d.ts +0 -30
  33. package/dist/react-native/RaftChannelWebSocket.js +0 -207
  34. package/dist/react-native/RaftChannelWebSocket.js.map +0 -1
  35. package/dist/react-native/RaftCommsStats.d.ts +0 -39
  36. package/dist/react-native/RaftCommsStats.js +0 -128
  37. package/dist/react-native/RaftCommsStats.js.map +0 -1
  38. package/dist/react-native/RaftConnEvents.d.ts +0 -39
  39. package/dist/react-native/RaftConnEvents.js +0 -54
  40. package/dist/react-native/RaftConnEvents.js.map +0 -1
  41. package/dist/react-native/RaftConnector.d.ts +0 -245
  42. package/dist/react-native/RaftConnector.js +0 -621
  43. package/dist/react-native/RaftConnector.js.map +0 -1
  44. package/dist/react-native/RaftCustomAttrHandler.d.ts +0 -4
  45. package/dist/react-native/RaftCustomAttrHandler.js +0 -50
  46. package/dist/react-native/RaftCustomAttrHandler.js.map +0 -1
  47. package/dist/react-native/RaftDeviceInfo.d.ts +0 -63
  48. package/dist/react-native/RaftDeviceInfo.js +0 -36
  49. package/dist/react-native/RaftDeviceInfo.js.map +0 -1
  50. package/dist/react-native/RaftDeviceManager.d.ts +0 -40
  51. package/dist/react-native/RaftDeviceManager.js +0 -499
  52. package/dist/react-native/RaftDeviceManager.js.map +0 -1
  53. package/dist/react-native/RaftDeviceMgrIF.d.ts +0 -15
  54. package/dist/react-native/RaftDeviceMgrIF.js +0 -11
  55. package/dist/react-native/RaftDeviceMgrIF.js.map +0 -1
  56. package/dist/react-native/RaftDeviceMsg.d.ts +0 -9
  57. package/dist/react-native/RaftDeviceMsg.js +0 -11
  58. package/dist/react-native/RaftDeviceMsg.js.map +0 -1
  59. package/dist/react-native/RaftDeviceStates.d.ts +0 -37
  60. package/dist/react-native/RaftDeviceStates.js +0 -60
  61. package/dist/react-native/RaftDeviceStates.js.map +0 -1
  62. package/dist/react-native/RaftFileHandler.d.ts +0 -52
  63. package/dist/react-native/RaftFileHandler.js +0 -502
  64. package/dist/react-native/RaftFileHandler.js.map +0 -1
  65. package/dist/react-native/RaftLog.d.ts +0 -22
  66. package/dist/react-native/RaftLog.js +0 -63
  67. package/dist/react-native/RaftLog.js.map +0 -1
  68. package/dist/react-native/RaftMiniHDLC.d.ts +0 -18
  69. package/dist/react-native/RaftMiniHDLC.js +0 -383
  70. package/dist/react-native/RaftMiniHDLC.js.map +0 -1
  71. package/dist/react-native/RaftMsgHandler.d.ts +0 -62
  72. package/dist/react-native/RaftMsgHandler.js +0 -511
  73. package/dist/react-native/RaftMsgHandler.js.map +0 -1
  74. package/dist/react-native/RaftMsgTrackInfo.d.ts +0 -17
  75. package/dist/react-native/RaftMsgTrackInfo.js +0 -42
  76. package/dist/react-native/RaftMsgTrackInfo.js.map +0 -1
  77. package/dist/react-native/RaftProtocolDefs.d.ts +0 -30
  78. package/dist/react-native/RaftProtocolDefs.js +0 -48
  79. package/dist/react-native/RaftProtocolDefs.js.map +0 -1
  80. package/dist/react-native/RaftStreamHandler.d.ts +0 -38
  81. package/dist/react-native/RaftStreamHandler.js +0 -257
  82. package/dist/react-native/RaftStreamHandler.js.map +0 -1
  83. package/dist/react-native/RaftStruct.d.ts +0 -3
  84. package/dist/react-native/RaftStruct.js +0 -208
  85. package/dist/react-native/RaftStruct.js.map +0 -1
  86. package/dist/react-native/RaftSysTypeManager.d.ts +0 -14
  87. package/dist/react-native/RaftSysTypeManager.js +0 -53
  88. package/dist/react-native/RaftSysTypeManager.js.map +0 -1
  89. package/dist/react-native/RaftSystemType.d.ts +0 -28
  90. package/dist/react-native/RaftSystemType.js +0 -3
  91. package/dist/react-native/RaftSystemType.js.map +0 -1
  92. package/dist/react-native/RaftSystemUtils.d.ts +0 -136
  93. package/dist/react-native/RaftSystemUtils.js +0 -410
  94. package/dist/react-native/RaftSystemUtils.js.map +0 -1
  95. package/dist/react-native/RaftTypes.d.ts +0 -194
  96. package/dist/react-native/RaftTypes.js +0 -153
  97. package/dist/react-native/RaftTypes.js.map +0 -1
  98. package/dist/react-native/RaftUpdateEvents.d.ts +0 -33
  99. package/dist/react-native/RaftUpdateEvents.js +0 -46
  100. package/dist/react-native/RaftUpdateEvents.js.map +0 -1
  101. package/dist/react-native/RaftUpdateManager.d.ts +0 -61
  102. package/dist/react-native/RaftUpdateManager.js +0 -621
  103. package/dist/react-native/RaftUpdateManager.js.map +0 -1
  104. package/dist/react-native/RaftUtils.d.ts +0 -126
  105. package/dist/react-native/RaftUtils.js +0 -467
  106. package/dist/react-native/RaftUtils.js.map +0 -1
  107. package/dist/react-native/RaftWifiTypes.d.ts +0 -23
  108. package/dist/react-native/RaftWifiTypes.js +0 -43
  109. package/dist/react-native/RaftWifiTypes.js.map +0 -1
  110. package/dist/react-native/main.d.ts +0 -25
  111. package/dist/react-native/main.js +0 -51
  112. package/dist/react-native/main.js.map +0 -1
  113. package/eslint.config.mjs +0 -33
  114. package/examples/dashboard/package.json +0 -36
  115. package/examples/dashboard/src/CommandPanel.tsx +0 -147
  116. package/examples/dashboard/src/ConnManager.ts +0 -164
  117. package/examples/dashboard/src/DeviceActionsForm.tsx +0 -133
  118. package/examples/dashboard/src/DeviceAttrsForm.tsx +0 -49
  119. package/examples/dashboard/src/DeviceLineChart.tsx +0 -163
  120. package/examples/dashboard/src/DevicePanel.tsx +0 -166
  121. package/examples/dashboard/src/DevicesPanel.tsx +0 -58
  122. package/examples/dashboard/src/DispLedGrid.tsx +0 -110
  123. package/examples/dashboard/src/DispOneLed.tsx +0 -20
  124. package/examples/dashboard/src/LatencyTest.ts +0 -130
  125. package/examples/dashboard/src/LatencyTestPanel.tsx +0 -92
  126. package/examples/dashboard/src/Main.tsx +0 -234
  127. package/examples/dashboard/src/SettingsManager.ts +0 -67
  128. package/examples/dashboard/src/SettingsScreen.tsx +0 -174
  129. package/examples/dashboard/src/StatusPanel.tsx +0 -71
  130. package/examples/dashboard/src/SystemTypeCog/CogStateInfo.ts +0 -163
  131. package/examples/dashboard/src/SystemTypeCog/SystemTypeCog.ts +0 -91
  132. package/examples/dashboard/src/SystemTypeGeneric/StateInfoGeneric.ts +0 -30
  133. package/examples/dashboard/src/SystemTypeGeneric/SystemTypeGeneric.ts +0 -91
  134. package/examples/dashboard/src/SystemTypeMarty/RICAddOn.ts +0 -70
  135. package/examples/dashboard/src/SystemTypeMarty/RICAddOnBase.ts +0 -33
  136. package/examples/dashboard/src/SystemTypeMarty/RICAddOnManager.ts +0 -342
  137. package/examples/dashboard/src/SystemTypeMarty/RICCommsStats.ts +0 -170
  138. package/examples/dashboard/src/SystemTypeMarty/RICHWElem.ts +0 -123
  139. package/examples/dashboard/src/SystemTypeMarty/RICLEDPatternChecker.ts +0 -207
  140. package/examples/dashboard/src/SystemTypeMarty/RICROSSerial.ts +0 -464
  141. package/examples/dashboard/src/SystemTypeMarty/RICServoFaultDetector.ts +0 -146
  142. package/examples/dashboard/src/SystemTypeMarty/RICStateInfo.ts +0 -97
  143. package/examples/dashboard/src/SystemTypeMarty/RICSystemUtils.ts +0 -371
  144. package/examples/dashboard/src/SystemTypeMarty/RICTypes.ts +0 -20
  145. package/examples/dashboard/src/SystemTypeMarty/SystemTypeMarty.ts +0 -119
  146. package/examples/dashboard/src/index.html +0 -15
  147. package/examples/dashboard/src/index.tsx +0 -13
  148. package/examples/dashboard/src/styles.css +0 -408
  149. package/examples/dashboard/tsconfig.json +0 -18
  150. package/jest.config.js +0 -11
  151. package/src/RaftAttributeHandler.ts +0 -298
  152. package/src/RaftChannel.ts +0 -32
  153. package/src/RaftChannelBLE.native.ts +0 -616
  154. package/src/RaftChannelBLE.web.ts +0 -372
  155. package/src/RaftChannelBLEFactory.ts +0 -13
  156. package/src/RaftChannelBLEScanner.native.ts +0 -184
  157. package/src/RaftChannelSimulated.ts +0 -482
  158. package/src/RaftChannelWebSerial.ts +0 -420
  159. package/src/RaftChannelWebSocket.ts +0 -258
  160. package/src/RaftCommsStats.ts +0 -142
  161. package/src/RaftConnEvents.ts +0 -58
  162. package/src/RaftConnector.ts +0 -743
  163. package/src/RaftCustomAttrHandler.ts +0 -54
  164. package/src/RaftDeviceInfo.ts +0 -102
  165. package/src/RaftDeviceManager.ts +0 -607
  166. package/src/RaftDeviceMgrIF.ts +0 -33
  167. package/src/RaftDeviceMsg.ts +0 -20
  168. package/src/RaftDeviceStates.ts +0 -92
  169. package/src/RaftFileHandler.ts +0 -668
  170. package/src/RaftLog.ts +0 -70
  171. package/src/RaftMiniHDLC.ts +0 -396
  172. package/src/RaftMsgHandler.ts +0 -813
  173. package/src/RaftMsgTrackInfo.ts +0 -51
  174. package/src/RaftProtocolDefs.ts +0 -46
  175. package/src/RaftStreamHandler.ts +0 -328
  176. package/src/RaftStruct.ts +0 -209
  177. package/src/RaftSysTypeManager.ts +0 -60
  178. package/src/RaftSystemType.ts +0 -32
  179. package/src/RaftSystemUtils.ts +0 -487
  180. package/src/RaftTypes.ts +0 -278
  181. package/src/RaftUpdateEvents.ts +0 -48
  182. package/src/RaftUpdateManager.ts +0 -781
  183. package/src/RaftUtils.ts +0 -494
  184. package/src/RaftWifiTypes.ts +0 -36
  185. package/src/main.ts +0 -38
  186. package/testdata/TestDeviceTypeRecs.json +0 -492
  187. package/tsconfig.json +0 -30
  188. package/tsconfig.react-native.json +0 -29
@@ -1,621 +0,0 @@
1
- "use strict";
2
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3
- //
4
- // RaftConnector
5
- // Part of RaftJS
6
- //
7
- // Rob Dobson & Chris Greening 2020-2024
8
- // (C) 2020-2024 All rights reserved
9
- //
10
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const tslib_1 = require("tslib");
13
- const RaftMsgHandler_1 = tslib_1.__importDefault(require("./RaftMsgHandler"));
14
- const RaftChannelWebSocket_1 = tslib_1.__importDefault(require("./RaftChannelWebSocket"));
15
- const RaftChannelWebSerial_1 = tslib_1.__importDefault(require("./RaftChannelWebSerial"));
16
- const RaftChannelSimulated_1 = tslib_1.__importDefault(require("./RaftChannelSimulated"));
17
- const RaftCommsStats_1 = tslib_1.__importDefault(require("./RaftCommsStats"));
18
- const RaftTypes_1 = require("./RaftTypes");
19
- const RaftSystemUtils_1 = tslib_1.__importDefault(require("./RaftSystemUtils"));
20
- const RaftFileHandler_1 = tslib_1.__importDefault(require("./RaftFileHandler"));
21
- const RaftStreamHandler_1 = tslib_1.__importDefault(require("./RaftStreamHandler"));
22
- const RaftLog_1 = tslib_1.__importDefault(require("./RaftLog"));
23
- const RaftConnEvents_1 = require("./RaftConnEvents");
24
- const RaftUpdateEvents_1 = require("./RaftUpdateEvents");
25
- const RaftUpdateManager_1 = tslib_1.__importDefault(require("./RaftUpdateManager"));
26
- const RaftChannelBLEFactory_1 = require("./RaftChannelBLEFactory");
27
- class RaftConnector {
28
- /**
29
- * RaftConnector constructor
30
- * @param getSystemTypeCB - callback to get system type
31
- */
32
- constructor(getSystemTypeCB = null) {
33
- // Get system type callback
34
- this._getSystemTypeCB = null;
35
- // System type
36
- this._systemType = null;
37
- // Channel
38
- this._raftChannel = null;
39
- // Channel connection method and locator
40
- this._channelConnMethod = "";
41
- this._channelConnLocator = "";
42
- // Comms stats
43
- this._commsStats = new RaftCommsStats_1.default();
44
- // Message handler
45
- this._raftMsgHandler = new RaftMsgHandler_1.default(this._commsStats);
46
- // RaftSystem
47
- this._raftSystemUtils = new RaftSystemUtils_1.default(this._raftMsgHandler);
48
- // Connection performance checker
49
- this._testConnPerfBlockSize = 500;
50
- this._testConnPerfNumBlocks = 50;
51
- this._connPerfRsltDelayMs = 4000;
52
- // Retry connection if lost
53
- this._retryIfLostEnabled = true;
54
- this._retryIfLostForSecs = 10;
55
- this._retryIfLostIsConnected = false;
56
- this._retryIfLostDisconnectTime = null;
57
- this._retryIfLostRetryDelayMs = 500;
58
- // File handler
59
- this._raftFileHandler = new RaftFileHandler_1.default(this._raftMsgHandler, this._commsStats);
60
- // Stream handler
61
- this._raftStreamHandler = new RaftStreamHandler_1.default(this._raftMsgHandler, this._commsStats, this);
62
- // Event listener
63
- this._onEventFn = null;
64
- // Update manager
65
- this._raftUpdateManager = null;
66
- // Get system type callback
67
- this._getSystemTypeCB = getSystemTypeCB;
68
- // Debug
69
- RaftLog_1.default.debug('RaftConnector starting up');
70
- }
71
- /**
72
- * Configure the file handler
73
- * @param fileBlockSize - size of file blocks to send
74
- * @param batchAckSize - number of blocks to send before waiting for ack
75
- * @returns void
76
- */
77
- configureFileHandler(fileBlockSize, batchAckSize) {
78
- this._raftFileHandler.setRequestedFileBlockSize(fileBlockSize);
79
- this._raftFileHandler.setRequestedBatchAckSize(batchAckSize);
80
- }
81
- /**
82
- * Set event listener
83
- * @param onEventFn - event listener
84
- * @returns void
85
- * */
86
- setEventListener(onEventFn) {
87
- this._onEventFn = onEventFn;
88
- }
89
- /**
90
- * isConnected
91
- * @returns boolean - true if connected
92
- * */
93
- isConnected() {
94
- // Check if connected
95
- const isConnected = this._retryIfLostIsConnected || (this._raftChannel ? this._raftChannel.isConnected() : false);
96
- return isConnected;
97
- }
98
- /**
99
- * Set try to reconnect if connection lost
100
- * @param enableRetry - true to enable retry
101
- * @param retryForSecs - retry for this many seconds
102
- * @returns void
103
- * */
104
- setRetryConnectionIfLost(enableRetry, retryForSecs) {
105
- this._retryIfLostEnabled = enableRetry;
106
- this._retryIfLostForSecs = retryForSecs;
107
- if (!this._retryIfLostEnabled) {
108
- this._retryIfLostIsConnected = false;
109
- }
110
- RaftLog_1.default.debug(`setRetryConnectionIfLost ${enableRetry} retry for ${retryForSecs}`);
111
- }
112
- /**
113
- * Get Raft system type (the type of hardware connected to - determined using the getSystemInfo API)
114
- * @returns RaftSystemType | null - Raft system type
115
- * */
116
- getSystemType() {
117
- return this._systemType;
118
- }
119
- /**
120
- * Get connection method
121
- * @returns string - connection method
122
- * */
123
- getConnMethod() {
124
- return this._channelConnMethod;
125
- }
126
- /**
127
- * Get connection locator
128
- * @returns string | object - connection locator
129
- * */
130
- getConnLocator() {
131
- return this._raftChannel ? this._raftChannel.getConnectedLocator() : null;
132
- }
133
- /**
134
- * Get Raft channel (this is the channel used for commuinications with the Raft application)
135
- * @returns RaftChannel | null - Raft channel
136
- * */
137
- getRaftChannel() {
138
- return this._raftChannel;
139
- }
140
- /**
141
- * Get Raft system utils (access to system information and control)
142
- * @returns RaftSystemUtils - Raft system utils
143
- * */
144
- getRaftSystemUtils() {
145
- return this._raftSystemUtils;
146
- }
147
- /**
148
- * Get communication stats
149
- * @returns RaftCommsStats - communication stats
150
- * */
151
- getCommsStats() {
152
- return this._commsStats;
153
- }
154
- /**
155
- * Get Raft message handler (to allow message sending and receiving)
156
- * @returns RaftMsgHandler - Raft message handler
157
- * */
158
- getRaftMsgHandler() {
159
- return this._raftMsgHandler;
160
- }
161
- /**
162
- * Pause connection
163
- * @param pause - true to pause, false to resume
164
- */
165
- pauseConnection(pause = true) {
166
- if (this._raftChannel)
167
- this._raftChannel.pauseConnection(pause);
168
- }
169
- /**
170
- * Initialize the Raft channel
171
- */
172
- async initializeChannel(method) {
173
- // Initialize raft channel
174
- if (method === 'WebBLE' || method === 'PhoneBLE') {
175
- const RaftChannelBLE = (0, RaftChannelBLEFactory_1.createBLEChannel)();
176
- this._raftChannel = new RaftChannelBLE();
177
- this._channelConnMethod = method;
178
- }
179
- else if (method === 'WebSocket' || method === 'wifi') {
180
- this._raftChannel = new RaftChannelWebSocket_1.default();
181
- this._channelConnMethod = 'WebSocket';
182
- }
183
- else if (method === 'WebSerial') {
184
- this._raftChannel = new RaftChannelWebSerial_1.default();
185
- this._channelConnMethod = 'WebSerial';
186
- }
187
- else if (method === 'Simulated') {
188
- this._raftChannel = new RaftChannelSimulated_1.default();
189
- this._channelConnMethod = 'Simulated';
190
- }
191
- else {
192
- RaftLog_1.default.error('Unknown method: ' + method);
193
- return false;
194
- }
195
- // Check channel established
196
- if (this._raftChannel !== null) {
197
- // Set message handler
198
- this._raftChannel.setMsgHandler(this._raftMsgHandler);
199
- this._raftChannel.setOnConnEvent(this.onConnEvent.bind(this));
200
- // Message handling in and out
201
- this._raftMsgHandler.registerForResults(this);
202
- this._raftMsgHandler.registerMsgSender(this._raftChannel);
203
- return true;
204
- }
205
- else {
206
- this._channelConnMethod = "";
207
- return false;
208
- }
209
- }
210
- /**
211
- * Connect to a Raft device
212
- *
213
- * @param {string | object} locator - either a string (WebSocket URL or serial port) or an object (WebBLE)
214
- * @returns Promise<boolean>
215
- *
216
- */
217
- async connect(locator) {
218
- if (!this._raftChannel) {
219
- RaftLog_1.default.error('Raft channel is not initialized.');
220
- return false;
221
- }
222
- // Store locator
223
- this._channelConnLocator = locator;
224
- // Connect
225
- let connOk = false;
226
- try {
227
- // Event
228
- this.onConnEvent(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTING);
229
- // Connect
230
- connOk = await this._connectToChannel();
231
- }
232
- catch (err) {
233
- RaftLog_1.default.error('RaftConnector.connect - error: ' + err);
234
- }
235
- if (connOk) {
236
- // Get system type
237
- if (this._getSystemTypeCB) {
238
- // Get system type
239
- this._systemType = await this._getSystemTypeCB(this._raftSystemUtils);
240
- // Set defaults
241
- if (this._systemType) {
242
- this._raftSystemUtils.setDefaultWiFiHostname(this._systemType.defaultWiFiHostname);
243
- }
244
- }
245
- // Setup system type
246
- if (this._systemType) {
247
- this._systemType.setup(this._raftSystemUtils, this._onEventFn);
248
- }
249
- // Check if subscription required
250
- if (this._systemType &&
251
- this._systemType.subscribeForUpdates &&
252
- this._raftChannel.requiresSubscription()) {
253
- try {
254
- // Subscription
255
- await this._systemType.subscribeForUpdates(this._raftSystemUtils, true);
256
- RaftLog_1.default.info(`connect subscribed for updates`);
257
- }
258
- catch (error) {
259
- RaftLog_1.default.warn(`connect subscribe for updates failed ${error}`);
260
- }
261
- }
262
- // Send connected event
263
- this.onConnEvent(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTED);
264
- }
265
- else {
266
- // Failed Event
267
- this.onConnEvent(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTION_FAILED);
268
- // configure file handler
269
- this.configureFileHandler(this._raftChannel.fhFileBlockSize(), this._raftChannel.fhBatchAckSize());
270
- }
271
- return connOk;
272
- }
273
- async disconnect() {
274
- // Disconnect
275
- this._retryIfLostIsConnected = false;
276
- if (this._raftChannel) {
277
- // Check if there is a RICREST command to send before disconnecting
278
- const ricRestCommand = this._raftChannel.ricRestCmdBeforeDisconnect();
279
- if (ricRestCommand) {
280
- console.log(`sending RICREST command before disconnect: ${ricRestCommand}`);
281
- await this.sendRICRESTMsg(ricRestCommand, {});
282
- }
283
- // Pause a little before disconnecting
284
- await new Promise(resolve => setTimeout(resolve, 1000));
285
- // await this.sendRICRESTMsg("bledisc", {});
286
- await this._raftChannel.disconnect();
287
- this._raftChannel = null;
288
- }
289
- }
290
- // Mark: Tx Message handling -----------------------------------------------------------------------------------------
291
- /**
292
- *
293
- * sendRICRESTMsg
294
- * @param commandName command API string
295
- * @param params parameters (simple name value pairs only) to parameterize trajectory
296
- * @returns Promise<RaftOKFail>
297
- *
298
- */
299
- async sendRICRESTMsg(commandName, params, bridgeID = undefined) {
300
- try {
301
- // Format the paramList as query string
302
- const paramEntries = Object.entries(params);
303
- let paramQueryStr = '';
304
- for (const param of paramEntries) {
305
- if (paramQueryStr.length > 0)
306
- paramQueryStr += '&';
307
- paramQueryStr += param[0] + '=' + param[1];
308
- }
309
- // Format the url to send
310
- if (paramQueryStr.length > 0)
311
- commandName += '?' + paramQueryStr;
312
- return await this._raftMsgHandler.sendRICRESTURL(commandName, bridgeID);
313
- }
314
- catch (error) {
315
- RaftLog_1.default.warn(`sendRICRESTMsg failed ${error}`);
316
- return { rslt: 'fail' };
317
- }
318
- }
319
- // Mark: Rx Message handling -----------------------------------------------------------------------------------------
320
- /**
321
- * onRxReply - handle a reply message
322
- * @param msgHandle number indicating the message that is being replied to (from the original message)
323
- * @param msgRsltCode result code
324
- * @param msgRsltJsonObj result object
325
- */
326
- onRxReply(msgHandle, msgRsltCode, msgRsltJsonObj) {
327
- RaftLog_1.default.verbose(`onRxReply msgHandle ${msgHandle} rsltCode ${msgRsltCode} obj ${JSON.stringify(msgRsltJsonObj)}`);
328
- }
329
- /**
330
- * onRxUnnumberedMsg - handle an unnumbered message
331
- * @param msgRsltJsonObj result object
332
- */
333
- onRxUnnumberedMsg(msgRsltJsonObj) {
334
- RaftLog_1.default.verbose(`onRxUnnumberedMsg rsltCode obj ${JSON.stringify(msgRsltJsonObj)}`);
335
- // Inform the file handler
336
- if ('okto' in msgRsltJsonObj) {
337
- this._raftFileHandler.onOktoMsg(msgRsltJsonObj.okto);
338
- }
339
- else if ('sokto' in msgRsltJsonObj) {
340
- this._raftStreamHandler.onSoktoMsg(msgRsltJsonObj.sokto);
341
- }
342
- }
343
- /**
344
- * onRxFileBlock - handle a file block
345
- * @param filePos file position
346
- * @param fileBlockData file block data
347
- */
348
- onRxFileBlock(filePos, fileBlockData) {
349
- // RaftLog.info(`onRxFileBlock filePos ${filePos} fileBlockData ${RaftUtils.bufferToHex(fileBlockData)}`);
350
- this._raftFileHandler.onFileBlock(filePos, fileBlockData);
351
- }
352
- // Mark: Handling of other message types -----------------------------------------------------------------------------------------
353
- /**
354
- * onRxOtherMsgType - handle other message types
355
- * @param payload message payload
356
- * @param frameTimeMs time of frame
357
- */
358
- onRxOtherMsgType(payload, _frameTimeMs) {
359
- // RaftLog.debug(`onRxOtherMsgType payload ${RaftUtils.bufferToHex(payload)}`);
360
- RaftLog_1.default.verbose(`onRxOtherMsgType payloadLen ${payload.length}`);
361
- // Handle other messages
362
- if (this._systemType && this._systemType.rxOtherMsgType) {
363
- this._systemType.rxOtherMsgType(payload, _frameTimeMs);
364
- }
365
- }
366
- // Mark: File sending --------------------------------------------------------------------------------
367
- /**
368
- * sendFile - send a file
369
- * @param fileName name of file to send
370
- * @param fileContents file contents
371
- * @param progressCallback callback to receive progress updates
372
- * @returns Promise<boolean> - true if file sent successfully
373
- */
374
- async sendFile(fileName, fileContents, progressCallback) {
375
- return this._raftFileHandler.fileSend(fileName, RaftTypes_1.RaftFileSendType.NORMAL_FILE, "fs", fileContents, progressCallback);
376
- }
377
- // Mark: Streaming --------------------------------------------------------------------------------
378
- /**
379
- * streamAudio - stream audio
380
- * @param streamContents audio data
381
- * @param clearExisting true to clear existing audio
382
- * @param duration duration of audio
383
- */
384
- streamAudio(streamContents, clearExisting, duration) {
385
- if (this._raftStreamHandler && this.isConnected()) {
386
- this._raftStreamHandler.streamAudio(streamContents, clearExisting, duration);
387
- }
388
- }
389
- /**
390
- * isStreamStarting - check if stream is starting
391
- */
392
- isStreamStarting() {
393
- return this._raftStreamHandler.isStreamStarting();
394
- }
395
- // Mark: File system --------------------------------------------------------------------------------
396
- /**
397
- * fsGetContents - get file contents
398
- * @param fileName name of file to get
399
- * @param fileSource source of file to get (e.g. "fs" or "bridgeserial1", if omitted defaults to "fs")
400
- * @param progressCallback callback to receive progress updates
401
- * @returns Promise<RaftFileDownloadResult>
402
- */
403
- async fsGetContents(fileName, fileSource, progressCallback) {
404
- return await this._raftFileHandler.fileReceive(fileName, fileSource, progressCallback);
405
- }
406
- /**
407
- * setLegacySoktoMode - set legacy sokto mode
408
- * @param legacyMode true to set legacy mode
409
- */
410
- setLegacySoktoMode(legacyMode) {
411
- return this._raftStreamHandler.setLegacySoktoMode(legacyMode);
412
- }
413
- // Mark: Bridge serial --------------------------------------------------------------------------------
414
- /**
415
- * createCommsBridge - create a comms bridge
416
- * @param bridgeSource source of bridge (e.g. "Serial1")
417
- * @param bridgeName name of bridge
418
- * @param idleCloseSecs idle close time seconds
419
- * @returns Promise<RaftBridgeSetupResp>
420
- */
421
- async createCommsBridge(bridgeSource, bridgeName, idleCloseSecs = 0) {
422
- return await this._raftMsgHandler.createCommsBridge(bridgeSource, bridgeName, idleCloseSecs);
423
- }
424
- // Mark: Connection performance--------------------------------------------------------------------------
425
- /**
426
- * ParkMiller random number generator
427
- * @param seed
428
- * @returns number
429
- */
430
- parkmiller_next(seed) {
431
- const hi = Math.round(16807 * (seed & 0xffff));
432
- let lo = Math.round(16807 * (seed >> 16));
433
- lo += (hi & 0x7fff) << 16;
434
- lo += hi >> 15;
435
- if (lo > 0x7fffffff)
436
- lo -= 0x7fffffff;
437
- return lo;
438
- }
439
- /**
440
- * checkConnPerformance - check connection performance
441
- * @returns Promise<number | undefined> - connection performance
442
- */
443
- async checkConnPerformance() {
444
- // Sends a magic sequence of bytes followed by blocks of random data
445
- // these will be ignored by the Raft library (as it recognises magic sequence)
446
- // and is used performance evaluation
447
- let prbsState = 1;
448
- const testData = new Uint8Array(this._testConnPerfBlockSize);
449
- for (let i = 0; i < this._testConnPerfNumBlocks; i++) {
450
- testData.set([0, (i >> 24) & 0xff, (i >> 16) & 0xff, (i >> 8) & 0xff, i & 0xff, 0x1f, 0x9d, 0xf4, 0x7a, 0xb5]);
451
- for (let j = 10; j < this._testConnPerfBlockSize; j++) {
452
- prbsState = this.parkmiller_next(prbsState);
453
- testData[j] = prbsState & 0xff;
454
- }
455
- if (this._raftChannel) {
456
- await this._raftChannel.sendTxMsg(testData, false);
457
- }
458
- }
459
- // Wait a little to allow the Raft app to process the data
460
- await new Promise(resolve => setTimeout(resolve, this._connPerfRsltDelayMs));
461
- // Get performance
462
- const blePerf = await this._raftSystemUtils.getSysModInfoBLEMan();
463
- if (blePerf) {
464
- console.log(`checkConnPerformance result rate = ${blePerf.tBPS}BytesPS`);
465
- return blePerf.tBPS;
466
- }
467
- else {
468
- throw new Error('checkConnPerformance: failed to get BLE performance');
469
- }
470
- }
471
- // Mark: Connection event --------------------------------------------------------------------------
472
- /**
473
- * onConnEvent - handle connection event
474
- * @param eventEnum connection event enumeration
475
- * @param data data associated with event
476
- * @returns void
477
- */
478
- onConnEvent(eventEnum, data = undefined) {
479
- // Handle information clearing on disconnect
480
- switch (eventEnum) {
481
- case RaftConnEvents_1.RaftConnEvent.CONN_DISCONNECTED:
482
- // Disconnect time
483
- this._retryIfLostDisconnectTime = Date.now();
484
- // Check if retry required
485
- if (this._retryIfLostIsConnected && this._retryIfLostEnabled) {
486
- // Indicate connection disrupted
487
- if (this._onEventFn) {
488
- this._onEventFn("conn", RaftConnEvents_1.RaftConnEvent.CONN_ISSUE_DETECTED, RaftConnEvents_1.RaftConnEventNames[RaftConnEvents_1.RaftConnEvent.CONN_ISSUE_DETECTED]);
489
- }
490
- // Retry connection
491
- this._retryConnection();
492
- // Don't allow disconnection to propagate until retries have occurred
493
- return;
494
- }
495
- // Invalidate connection details
496
- this._raftSystemUtils.invalidate();
497
- // Invalidate system-type info
498
- if (this._systemType && this._systemType.stateIsInvalid) {
499
- this._systemType.stateIsInvalid();
500
- }
501
- break;
502
- }
503
- // Notify
504
- if (this._onEventFn) {
505
- this._onEventFn("conn", eventEnum, RaftConnEvents_1.RaftConnEventNames[eventEnum], data);
506
- }
507
- }
508
- /**
509
- * Retry connection
510
- */
511
- _retryConnection() {
512
- // Check timeout
513
- if ((this._retryIfLostDisconnectTime !== null) &&
514
- (Date.now() - this._retryIfLostDisconnectTime < this._retryIfLostForSecs * 1000)) {
515
- // Set timer to try to reconnect
516
- setTimeout(async () => {
517
- // Try to connect
518
- const isConn = await this._connectToChannel();
519
- if (!isConn) {
520
- this._retryConnection();
521
- }
522
- else {
523
- // No longer retrying
524
- this._retryIfLostDisconnectTime = null;
525
- // Indicate connection problem resolved
526
- if (this._onEventFn) {
527
- this._onEventFn("conn", RaftConnEvents_1.RaftConnEvent.CONN_ISSUE_RESOLVED, RaftConnEvents_1.RaftConnEventNames[RaftConnEvents_1.RaftConnEvent.CONN_ISSUE_RESOLVED]);
528
- }
529
- }
530
- }, this._retryIfLostRetryDelayMs);
531
- }
532
- else {
533
- // No longer connected after retry timeout
534
- this._retryIfLostIsConnected = false;
535
- // Indicate disconnection
536
- if (this._onEventFn) {
537
- this._onEventFn("conn", RaftConnEvents_1.RaftConnEvent.CONN_DISCONNECTED, RaftConnEvents_1.RaftConnEventNames[RaftConnEvents_1.RaftConnEvent.CONN_DISCONNECTED]);
538
- }
539
- // Invalidate connection details
540
- this._raftSystemUtils.invalidate();
541
- // Invalidate system-type info
542
- if (this._systemType && this._systemType.stateIsInvalid) {
543
- this._systemType.stateIsInvalid();
544
- }
545
- }
546
- }
547
- /**
548
- * Connect to channel
549
- * @returns Promise<boolean> - true if connected
550
- */
551
- async _connectToChannel() {
552
- // Connect
553
- try {
554
- if (this._raftChannel) {
555
- const connected = await this._raftChannel.connect(this._channelConnLocator, this._systemType ? this._systemType.connectorOptions : {});
556
- if (connected) {
557
- this._retryIfLostIsConnected = true;
558
- return true;
559
- }
560
- }
561
- }
562
- catch (error) {
563
- RaftLog_1.default.error(`RaftConnector.connect() error: ${error}`);
564
- }
565
- return false;
566
- }
567
- // Mark: OTA Update -----------------------------------------------------------------------------------------
568
- /**
569
- * onUpdateEvent - handle update event
570
- * @param eventEnum
571
- * @param data
572
- */
573
- _onUpdateEvent(eventEnum, data = undefined) {
574
- // Notify
575
- if (this._onEventFn) {
576
- this._onEventFn("ota", eventEnum, RaftUpdateEvents_1.RaftUpdateEventNames[eventEnum], data);
577
- }
578
- }
579
- /**
580
- * otaUpdateCheck - check for OTA update
581
- * @returns Promise<RaftUpdateEvent> - update event
582
- * */
583
- async otaUpdateCheck() {
584
- if (!this._raftUpdateManager)
585
- return RaftUpdateEvents_1.RaftUpdateEvent.UPDATE_NOT_CONFIGURED;
586
- return await this._raftUpdateManager.checkForUpdate(this._raftSystemUtils.getCachedSystemInfo());
587
- }
588
- /**
589
- * otaUpdateStart - start OTA update
590
- * @returns Promise<RaftUpdateEvent> - update event
591
- * */
592
- async otaUpdateStart() {
593
- if (!this._raftUpdateManager)
594
- return RaftUpdateEvents_1.RaftUpdateEvent.UPDATE_NOT_CONFIGURED;
595
- return await this._raftUpdateManager.firmwareUpdate();
596
- }
597
- /**
598
- * otaUpdateCancel - cancel OTA update
599
- * @returns Promise<void>
600
- * */
601
- async otaUpdateCancel() {
602
- if (!this._raftUpdateManager)
603
- return;
604
- return await this._raftUpdateManager.firmwareUpdateCancel();
605
- }
606
- /**
607
- * setupUpdateManager - setup the update manager
608
- * @param appVersion - app version
609
- * @param appUpdateURL - app update URL
610
- * @param firmwareBaseURL - firmware base URL
611
- * @param fileDownloader - file downloader
612
- * @returns void
613
- * */
614
- setupUpdateManager(appVersion, appUpdateURL, firmwareBaseURL, fileDownloader) {
615
- // Setup update manager
616
- const firmwareTypeStrForMainFw = 'main';
617
- this._raftUpdateManager = new RaftUpdateManager_1.default(this._systemType, this._raftMsgHandler, this._raftFileHandler, this._raftSystemUtils, this._onUpdateEvent.bind(this), firmwareTypeStrForMainFw, appVersion, fileDownloader, appUpdateURL, firmwareBaseURL, this._raftChannel);
618
- }
619
- }
620
- exports.default = RaftConnector;
621
- //# sourceMappingURL=RaftConnector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RaftConnector.js","sourceRoot":"","sources":["../../src/RaftConnector.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { DeviceTypePollRespMetadata } from "./RaftDeviceInfo";
2
- export default class CustomAttrHandler {
3
- handleAttr(pollRespMetadata: DeviceTypePollRespMetadata, msgBuffer: Uint8Array, msgBufIdx: number): number[][];
4
- }