@robdobsn/raftjs 1.1.1 → 1.3.2

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 (257) hide show
  1. package/README.md +2 -0
  2. package/dist/{RaftAttributeHandler.js → react-native/RaftAttributeHandler.js} +1 -1
  3. package/dist/react-native/RaftAttributeHandler.js.map +1 -0
  4. package/dist/react-native/RaftChannel.js.map +1 -0
  5. package/dist/react-native/RaftChannelBLE.native.d.ts +93 -0
  6. package/dist/react-native/RaftChannelBLE.native.js +455 -0
  7. package/dist/react-native/RaftChannelBLE.native.js.map +1 -0
  8. package/dist/{RaftChannelWebBLE.d.ts → react-native/RaftChannelBLE.web.d.ts} +3 -2
  9. package/dist/{RaftChannelWebBLE.js → react-native/RaftChannelBLE.web.js} +48 -28
  10. package/dist/react-native/RaftChannelBLE.web.js.map +1 -0
  11. package/dist/react-native/RaftChannelBLEFactory.d.ts +10 -0
  12. package/dist/react-native/RaftChannelBLEFactory.js +17 -0
  13. package/dist/react-native/RaftChannelBLEFactory.js.map +1 -0
  14. package/dist/react-native/RaftChannelBLEScanner.native.d.ts +18 -0
  15. package/dist/react-native/RaftChannelBLEScanner.native.js +146 -0
  16. package/dist/react-native/RaftChannelBLEScanner.native.js.map +1 -0
  17. package/dist/{RaftChannelWebSerial.js → react-native/RaftChannelWebSerial.js} +3 -2
  18. package/dist/react-native/RaftChannelWebSerial.js.map +1 -0
  19. package/dist/react-native/RaftChannelWebSocket.js.map +1 -0
  20. package/dist/react-native/RaftCommsStats.js.map +1 -0
  21. package/dist/{RaftConnEvents.d.ts → react-native/RaftConnEvents.d.ts} +10 -2
  22. package/dist/{RaftConnEvents.js → react-native/RaftConnEvents.js} +10 -0
  23. package/dist/react-native/RaftConnEvents.js.map +1 -0
  24. package/dist/{RaftConnector.d.ts → react-native/RaftConnector.d.ts} +6 -3
  25. package/dist/{RaftConnector.js → react-native/RaftConnector.js} +75 -74
  26. package/dist/react-native/RaftConnector.js.map +1 -0
  27. package/dist/react-native/RaftCustomAttrHandler.js.map +1 -0
  28. package/dist/{RaftDeviceInfo.d.ts → react-native/RaftDeviceInfo.d.ts} +5 -10
  29. package/dist/react-native/RaftDeviceInfo.js.map +1 -0
  30. package/dist/{RaftDeviceManager.d.ts → react-native/RaftDeviceManager.d.ts} +14 -16
  31. package/dist/{RaftDeviceManager.js → react-native/RaftDeviceManager.js} +116 -213
  32. package/dist/react-native/RaftDeviceManager.js.map +1 -0
  33. package/dist/react-native/RaftDeviceMgrIF.d.ts +12 -0
  34. package/dist/react-native/RaftDeviceMgrIF.js +11 -0
  35. package/dist/react-native/RaftDeviceMgrIF.js.map +1 -0
  36. package/dist/react-native/RaftDeviceMsg.js.map +1 -0
  37. package/dist/{RaftDeviceStates.d.ts → react-native/RaftDeviceStates.d.ts} +1 -1
  38. package/dist/react-native/RaftDeviceStates.js.map +1 -0
  39. package/dist/react-native/RaftFileHandler.js.map +1 -0
  40. package/dist/react-native/RaftLog.js.map +1 -0
  41. package/dist/{RaftMiniHDLC.js → react-native/RaftMiniHDLC.js} +1 -1
  42. package/dist/react-native/RaftMiniHDLC.js.map +1 -0
  43. package/dist/{RaftMsgHandler.js → react-native/RaftMsgHandler.js} +2 -2
  44. package/dist/react-native/RaftMsgHandler.js.map +1 -0
  45. package/dist/react-native/RaftMsgTrackInfo.js.map +1 -0
  46. package/dist/react-native/RaftProtocolDefs.js.map +1 -0
  47. package/dist/react-native/RaftStreamHandler.js.map +1 -0
  48. package/dist/{RaftSystemType.d.ts → react-native/RaftSystemType.d.ts} +4 -0
  49. package/dist/{RaftSystemType.js.map → react-native/RaftSystemType.js.map} +1 -1
  50. package/dist/react-native/RaftSystemUtils.js.map +1 -0
  51. package/dist/{RaftTypes.d.ts → react-native/RaftTypes.d.ts} +11 -0
  52. package/dist/{RaftTypes.js → react-native/RaftTypes.js} +34 -1
  53. package/dist/react-native/RaftTypes.js.map +1 -0
  54. package/dist/react-native/RaftUpdateEvents.js.map +1 -0
  55. package/dist/react-native/RaftUpdateManager.js.map +1 -0
  56. package/dist/{RaftUtils.js → react-native/RaftUtils.js} +1 -1
  57. package/dist/react-native/RaftUtils.js.map +1 -0
  58. package/dist/react-native/RaftWifiTypes.js.map +1 -0
  59. package/dist/react-native/main.d.ts +21 -0
  60. package/dist/{main.js → react-native/main.js} +7 -3
  61. package/dist/react-native/main.js.map +1 -0
  62. package/dist/web/RaftAttributeHandler.d.ts +12 -0
  63. package/dist/web/RaftAttributeHandler.js +241 -0
  64. package/dist/web/RaftAttributeHandler.js.map +1 -0
  65. package/dist/web/RaftChannel.d.ts +18 -0
  66. package/dist/web/RaftChannel.js +12 -0
  67. package/dist/web/RaftChannel.js.map +1 -0
  68. package/dist/web/RaftChannelBLE.web.d.ts +39 -0
  69. package/dist/web/RaftChannelBLE.web.js +294 -0
  70. package/dist/web/RaftChannelBLE.web.js.map +1 -0
  71. package/dist/web/RaftChannelBLEFactory.d.ts +10 -0
  72. package/dist/web/RaftChannelBLEFactory.js +17 -0
  73. package/dist/web/RaftChannelBLEFactory.js.map +1 -0
  74. package/dist/web/RaftChannelWebSerial.d.ts +37 -0
  75. package/dist/web/RaftChannelWebSerial.js +320 -0
  76. package/dist/web/RaftChannelWebSerial.js.map +1 -0
  77. package/dist/web/RaftChannelWebSocket.d.ts +28 -0
  78. package/dist/web/RaftChannelWebSocket.js +197 -0
  79. package/dist/web/RaftChannelWebSocket.js.map +1 -0
  80. package/dist/web/RaftCommsStats.d.ts +39 -0
  81. package/dist/web/RaftCommsStats.js +128 -0
  82. package/dist/web/RaftCommsStats.js.map +1 -0
  83. package/dist/web/RaftConnEvents.d.ts +39 -0
  84. package/dist/web/RaftConnEvents.js +54 -0
  85. package/dist/web/RaftConnEvents.js.map +1 -0
  86. package/dist/web/RaftConnector.d.ts +245 -0
  87. package/dist/web/RaftConnector.js +614 -0
  88. package/dist/web/RaftConnector.js.map +1 -0
  89. package/dist/web/RaftCustomAttrHandler.d.ts +4 -0
  90. package/dist/web/RaftCustomAttrHandler.js +50 -0
  91. package/dist/web/RaftCustomAttrHandler.js.map +1 -0
  92. package/dist/web/RaftDeviceInfo.d.ts +59 -0
  93. package/dist/web/RaftDeviceInfo.js +36 -0
  94. package/dist/web/RaftDeviceInfo.js.map +1 -0
  95. package/dist/web/RaftDeviceManager.d.ts +35 -0
  96. package/dist/web/RaftDeviceManager.js +353 -0
  97. package/dist/web/RaftDeviceManager.js.map +1 -0
  98. package/dist/web/RaftDeviceMgrIF.d.ts +12 -0
  99. package/dist/web/RaftDeviceMgrIF.js +11 -0
  100. package/dist/web/RaftDeviceMgrIF.js.map +1 -0
  101. package/dist/web/RaftDeviceMsg.d.ts +9 -0
  102. package/dist/web/RaftDeviceMsg.js +11 -0
  103. package/dist/web/RaftDeviceMsg.js.map +1 -0
  104. package/dist/web/RaftDeviceStates.d.ts +33 -0
  105. package/dist/web/RaftDeviceStates.js +60 -0
  106. package/dist/web/RaftDeviceStates.js.map +1 -0
  107. package/dist/web/RaftFileHandler.d.ts +52 -0
  108. package/dist/web/RaftFileHandler.js +502 -0
  109. package/dist/web/RaftFileHandler.js.map +1 -0
  110. package/dist/web/RaftLog.d.ts +22 -0
  111. package/dist/web/RaftLog.js +63 -0
  112. package/dist/web/RaftLog.js.map +1 -0
  113. package/dist/web/RaftMiniHDLC.d.ts +18 -0
  114. package/dist/web/RaftMiniHDLC.js +383 -0
  115. package/dist/web/RaftMiniHDLC.js.map +1 -0
  116. package/dist/web/RaftMsgHandler.d.ts +57 -0
  117. package/dist/web/RaftMsgHandler.js +480 -0
  118. package/dist/web/RaftMsgHandler.js.map +1 -0
  119. package/dist/web/RaftMsgTrackInfo.d.ts +17 -0
  120. package/dist/web/RaftMsgTrackInfo.js +42 -0
  121. package/dist/web/RaftMsgTrackInfo.js.map +1 -0
  122. package/dist/web/RaftProtocolDefs.d.ts +30 -0
  123. package/dist/web/RaftProtocolDefs.js +48 -0
  124. package/dist/web/RaftProtocolDefs.js.map +1 -0
  125. package/dist/web/RaftStreamHandler.d.ts +38 -0
  126. package/dist/web/RaftStreamHandler.js +257 -0
  127. package/dist/web/RaftStreamHandler.js.map +1 -0
  128. package/dist/web/RaftSystemType.d.ts +25 -0
  129. package/dist/web/RaftSystemType.js +3 -0
  130. package/dist/web/RaftSystemType.js.map +1 -0
  131. package/dist/web/RaftSystemUtils.d.ts +136 -0
  132. package/dist/web/RaftSystemUtils.js +410 -0
  133. package/dist/web/RaftSystemUtils.js.map +1 -0
  134. package/dist/web/RaftTypes.d.ts +195 -0
  135. package/dist/web/RaftTypes.js +190 -0
  136. package/dist/web/RaftTypes.js.map +1 -0
  137. package/dist/web/RaftUpdateEvents.d.ts +33 -0
  138. package/dist/web/RaftUpdateEvents.js +46 -0
  139. package/dist/web/RaftUpdateEvents.js.map +1 -0
  140. package/dist/web/RaftUpdateManager.d.ts +61 -0
  141. package/dist/web/RaftUpdateManager.js +618 -0
  142. package/dist/web/RaftUpdateManager.js.map +1 -0
  143. package/dist/web/RaftUtils.d.ts +125 -0
  144. package/dist/web/RaftUtils.js +454 -0
  145. package/dist/web/RaftUtils.js.map +1 -0
  146. package/dist/web/RaftWifiTypes.d.ts +23 -0
  147. package/dist/web/RaftWifiTypes.js +43 -0
  148. package/dist/web/RaftWifiTypes.js.map +1 -0
  149. package/dist/{main.d.ts → web/main.d.ts} +4 -1
  150. package/dist/web/main.js +46 -0
  151. package/dist/web/main.js.map +1 -0
  152. package/examples/dashboard/package.json +4 -0
  153. package/examples/dashboard/src/CommandPanel.tsx +147 -0
  154. package/examples/dashboard/src/ConnManager.ts +11 -12
  155. package/examples/dashboard/src/DeviceActionsForm.tsx +133 -0
  156. package/examples/dashboard/src/DeviceAttrsForm.tsx +49 -0
  157. package/examples/dashboard/src/DeviceLineChart.tsx +139 -0
  158. package/examples/dashboard/src/DevicePanel.tsx +135 -0
  159. package/examples/dashboard/src/DevicesPanel.tsx +57 -0
  160. package/examples/dashboard/src/DispLedGrid.tsx +110 -0
  161. package/examples/dashboard/src/DispOneLed.tsx +20 -0
  162. package/examples/dashboard/src/Main.tsx +53 -47
  163. package/examples/dashboard/src/{StatusScreen.tsx → StatusPanel.tsx} +13 -14
  164. package/examples/dashboard/src/SystemTypeCog/CogStateInfo.ts +135 -122
  165. package/examples/dashboard/src/SystemTypeCog/SystemTypeCog.ts +15 -8
  166. package/examples/dashboard/src/SystemTypeMarty/RICCommsStats.ts +0 -0
  167. package/examples/dashboard/src/SystemTypeMarty/RICStateInfo.ts +47 -1
  168. package/examples/dashboard/src/SystemTypeMarty/SystemTypeMarty.ts +4 -1
  169. package/examples/dashboard/src/styles.css +274 -10
  170. package/package.json +57 -48
  171. package/src/RaftAttributeHandler.ts +1 -1
  172. package/src/RaftChannelBLE.native.ts +583 -0
  173. package/src/{RaftChannelWebBLE.ts → RaftChannelBLE.web.ts} +60 -40
  174. package/src/RaftChannelBLEFactory.ts +13 -0
  175. package/src/RaftChannelBLEScanner.native.ts +190 -0
  176. package/src/RaftChannelWebSerial.ts +1 -0
  177. package/src/RaftConnEvents.ts +14 -2
  178. package/src/RaftConnector.ts +80 -88
  179. package/src/RaftDeviceInfo.ts +6 -12
  180. package/src/RaftDeviceManager.ts +139 -245
  181. package/src/RaftDeviceMgrIF.ts +28 -0
  182. package/src/RaftDeviceStates.ts +1 -2
  183. package/src/RaftMiniHDLC.ts +1 -1
  184. package/src/RaftMsgHandler.ts +2 -2
  185. package/src/RaftSystemType.ts +4 -0
  186. package/src/RaftTypes.ts +48 -17
  187. package/src/RaftUtils.ts +1 -1
  188. package/src/main.ts +8 -1
  189. package/tsconfig.json +5 -2
  190. package/tsconfig.react-native.json +29 -0
  191. package/dist/RaftAttributeHandler.js.map +0 -1
  192. package/dist/RaftChannel.js.map +0 -1
  193. package/dist/RaftChannelWebBLE.js.map +0 -1
  194. package/dist/RaftChannelWebSerial.js.map +0 -1
  195. package/dist/RaftChannelWebSocket.js.map +0 -1
  196. package/dist/RaftCommsStats.js.map +0 -1
  197. package/dist/RaftConnEvents.js.map +0 -1
  198. package/dist/RaftConnector.js.map +0 -1
  199. package/dist/RaftCustomAttrHandler.js.map +0 -1
  200. package/dist/RaftDeviceInfo.js.map +0 -1
  201. package/dist/RaftDeviceManager.js.map +0 -1
  202. package/dist/RaftDeviceMsg.js.map +0 -1
  203. package/dist/RaftDeviceStates.js.map +0 -1
  204. package/dist/RaftFileHandler.js.map +0 -1
  205. package/dist/RaftLog.js.map +0 -1
  206. package/dist/RaftMiniHDLC.js.map +0 -1
  207. package/dist/RaftMsgHandler.js.map +0 -1
  208. package/dist/RaftMsgTrackInfo.js.map +0 -1
  209. package/dist/RaftProtocolDefs.js.map +0 -1
  210. package/dist/RaftStreamHandler.js.map +0 -1
  211. package/dist/RaftSystemUtils.js.map +0 -1
  212. package/dist/RaftTypes.js.map +0 -1
  213. package/dist/RaftUpdateEvents.js.map +0 -1
  214. package/dist/RaftUpdateManager.js.map +0 -1
  215. package/dist/RaftUtils.js.map +0 -1
  216. package/dist/RaftWifiTypes.js.map +0 -1
  217. package/dist/TestDataGen.d.ts +0 -7
  218. package/dist/TestDataGen.js +0 -133
  219. package/dist/TestDataGen.js.map +0 -1
  220. package/dist/main.js.map +0 -1
  221. package/src/TestDataGen.ts +0 -157
  222. /package/dist/{RaftAttributeHandler.d.ts → react-native/RaftAttributeHandler.d.ts} +0 -0
  223. /package/dist/{RaftChannel.d.ts → react-native/RaftChannel.d.ts} +0 -0
  224. /package/dist/{RaftChannel.js → react-native/RaftChannel.js} +0 -0
  225. /package/dist/{RaftChannelWebSerial.d.ts → react-native/RaftChannelWebSerial.d.ts} +0 -0
  226. /package/dist/{RaftChannelWebSocket.d.ts → react-native/RaftChannelWebSocket.d.ts} +0 -0
  227. /package/dist/{RaftChannelWebSocket.js → react-native/RaftChannelWebSocket.js} +0 -0
  228. /package/dist/{RaftCommsStats.d.ts → react-native/RaftCommsStats.d.ts} +0 -0
  229. /package/dist/{RaftCommsStats.js → react-native/RaftCommsStats.js} +0 -0
  230. /package/dist/{RaftCustomAttrHandler.d.ts → react-native/RaftCustomAttrHandler.d.ts} +0 -0
  231. /package/dist/{RaftCustomAttrHandler.js → react-native/RaftCustomAttrHandler.js} +0 -0
  232. /package/dist/{RaftDeviceInfo.js → react-native/RaftDeviceInfo.js} +0 -0
  233. /package/dist/{RaftDeviceMsg.d.ts → react-native/RaftDeviceMsg.d.ts} +0 -0
  234. /package/dist/{RaftDeviceMsg.js → react-native/RaftDeviceMsg.js} +0 -0
  235. /package/dist/{RaftDeviceStates.js → react-native/RaftDeviceStates.js} +0 -0
  236. /package/dist/{RaftFileHandler.d.ts → react-native/RaftFileHandler.d.ts} +0 -0
  237. /package/dist/{RaftFileHandler.js → react-native/RaftFileHandler.js} +0 -0
  238. /package/dist/{RaftLog.d.ts → react-native/RaftLog.d.ts} +0 -0
  239. /package/dist/{RaftLog.js → react-native/RaftLog.js} +0 -0
  240. /package/dist/{RaftMiniHDLC.d.ts → react-native/RaftMiniHDLC.d.ts} +0 -0
  241. /package/dist/{RaftMsgHandler.d.ts → react-native/RaftMsgHandler.d.ts} +0 -0
  242. /package/dist/{RaftMsgTrackInfo.d.ts → react-native/RaftMsgTrackInfo.d.ts} +0 -0
  243. /package/dist/{RaftMsgTrackInfo.js → react-native/RaftMsgTrackInfo.js} +0 -0
  244. /package/dist/{RaftProtocolDefs.d.ts → react-native/RaftProtocolDefs.d.ts} +0 -0
  245. /package/dist/{RaftProtocolDefs.js → react-native/RaftProtocolDefs.js} +0 -0
  246. /package/dist/{RaftStreamHandler.d.ts → react-native/RaftStreamHandler.d.ts} +0 -0
  247. /package/dist/{RaftStreamHandler.js → react-native/RaftStreamHandler.js} +0 -0
  248. /package/dist/{RaftSystemType.js → react-native/RaftSystemType.js} +0 -0
  249. /package/dist/{RaftSystemUtils.d.ts → react-native/RaftSystemUtils.d.ts} +0 -0
  250. /package/dist/{RaftSystemUtils.js → react-native/RaftSystemUtils.js} +0 -0
  251. /package/dist/{RaftUpdateEvents.d.ts → react-native/RaftUpdateEvents.d.ts} +0 -0
  252. /package/dist/{RaftUpdateEvents.js → react-native/RaftUpdateEvents.js} +0 -0
  253. /package/dist/{RaftUpdateManager.d.ts → react-native/RaftUpdateManager.d.ts} +0 -0
  254. /package/dist/{RaftUpdateManager.js → react-native/RaftUpdateManager.js} +0 -0
  255. /package/dist/{RaftUtils.d.ts → react-native/RaftUtils.d.ts} +0 -0
  256. /package/dist/{RaftWifiTypes.d.ts → react-native/RaftWifiTypes.d.ts} +0 -0
  257. /package/dist/{RaftWifiTypes.js → react-native/RaftWifiTypes.js} +0 -0
@@ -9,7 +9,6 @@
9
9
  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
10
10
 
11
11
  import RaftChannel from "./RaftChannel";
12
- import RaftChannelWebBLE from "./RaftChannelWebBLE";
13
12
  import RaftMsgHandler, { RaftMsgResultCode } from "./RaftMsgHandler";
14
13
  import RaftChannelWebSocket from "./RaftChannelWebSocket";
15
14
  import RaftChannelWebSerial from "./RaftChannelWebSerial";
@@ -23,6 +22,8 @@ import { RaftConnEvent, RaftConnEventNames } from "./RaftConnEvents";
23
22
  import { RaftGetSystemTypeCBType, RaftSystemType } from "./RaftSystemType";
24
23
  import { RaftUpdateEvent, RaftUpdateEventNames } from "./RaftUpdateEvents";
25
24
  import RaftUpdateManager from "./RaftUpdateManager";
25
+ import { createBLEChannel } from "./RaftChannelBLEFactory";
26
+
26
27
 
27
28
  export default class RaftConnector {
28
29
 
@@ -155,10 +156,10 @@ export default class RaftConnector {
155
156
  return this._channelConnMethod;
156
157
  }
157
158
 
158
- /**
159
- * Get connection locator
160
- * @returns string | object - connection locator
161
- * */
159
+ /**
160
+ * Get connection locator
161
+ * @returns string | object - connection locator
162
+ * */
162
163
  getConnLocator(): any | null {
163
164
  return this._raftChannel ? this._raftChannel.getConnectedLocator() : null;
164
165
  }
@@ -204,51 +205,27 @@ export default class RaftConnector {
204
205
  }
205
206
 
206
207
  /**
207
- * Connect to a Raft application
208
- *
209
- * @param {string} method - can be "WebBLE", "WebSocket" or "WebSerial"
210
- * @param {string | object} locator - either a string (WebSocket URL or serial port) or an object (WebBLE)
211
- * @returns Promise<boolean>
212
- *
208
+ * Initialize the Raft channel
213
209
  */
214
- async connect(method: string, locator: string | object): Promise<boolean> {
215
-
216
- // Ensure disconnected
217
- try {
218
- await this.disconnect();
219
- } catch (err) {
220
- RaftLog.error('RaftConnector.connect - error: ' + err);
221
- // Ignore
222
- }
223
-
224
- // Check connection method
225
- let connMethod = "";
226
- if (method === 'WebBLE' && typeof locator === 'object' && locator !== null) {
227
-
228
- // Create channel
229
- this._raftChannel = new RaftChannelWebBLE();
230
- connMethod = 'WebBLE';
231
-
232
- } else if (((method === 'WebSocket') || (method === 'wifi')) && (typeof locator === 'string')) {
233
-
234
- // Create channel
210
+ async initializeChannel(method: string): Promise<boolean> {
211
+ // Initialize raft channel
212
+ if (method === 'WebBLE' || method === 'PhoneBLE') {
213
+ const RaftChannelBLE = createBLEChannel();
214
+ this._raftChannel = new RaftChannelBLE();
215
+ this._channelConnMethod = method;
216
+ } else if (method === 'WebSocket' || method === 'wifi') {
235
217
  this._raftChannel = new RaftChannelWebSocket();
236
- connMethod = 'WebSocket';
237
- } else if (((method === 'WebSerial'))) {
218
+ this._channelConnMethod = 'WebSocket';
219
+ } else if (method === 'WebSerial') {
238
220
  this._raftChannel = new RaftChannelWebSerial();
239
- connMethod = 'WebSerial';
221
+ this._channelConnMethod = 'WebSerial';
222
+ } else {
223
+ RaftLog.error('Unknown method: ' + method);
224
+ return false;
240
225
  }
241
226
 
242
- RaftLog.debug(`connecting with connMethod ${connMethod}`);
243
-
244
227
  // Check channel established
245
- let connOk = false;
246
228
  if (this._raftChannel !== null) {
247
-
248
- // Connection method and locator
249
- this._channelConnMethod = connMethod;
250
- this._channelConnLocator = locator;
251
-
252
229
  // Set message handler
253
230
  this._raftChannel.setMsgHandler(this._raftMsgHandler);
254
231
  this._raftChannel.setOnConnEvent(this.onConnEvent.bind(this));
@@ -257,62 +234,79 @@ export default class RaftConnector {
257
234
  this._raftMsgHandler.registerForResults(this);
258
235
  this._raftMsgHandler.registerMsgSender(this._raftChannel);
259
236
 
260
- // Connect
261
- try {
237
+ return true;
238
+ } else {
239
+ this._channelConnMethod = "";
240
+ return false;
241
+ }
242
+ }
243
+
244
+ /**
245
+ * Connect to a Raft device
246
+ *
247
+ * @param {string | object} locator - either a string (WebSocket URL or serial port) or an object (WebBLE)
248
+ * @returns Promise<boolean>
249
+ *
250
+ */
251
+ async connect(locator: string | object): Promise<boolean> {
252
+ if (!this._raftChannel) {
253
+ RaftLog.error('Raft channel is not initialized.');
254
+ return false;
255
+ }
262
256
 
263
- // Event
264
- this.onConnEvent(RaftConnEvent.CONN_CONNECTING);
257
+ // Store locator
258
+ this._channelConnLocator = locator;
265
259
 
266
- // Connect
267
- connOk = await this._connectToChannel();
268
- } catch (err) {
269
- RaftLog.error('RaftConnector.connect - error: ' + err);
270
- }
260
+ // Connect
261
+ let connOk = false;
262
+ try {
263
+ // Event
264
+ this.onConnEvent(RaftConnEvent.CONN_CONNECTING);
271
265
 
272
- // Check ok
273
- if (connOk) {
266
+ // Connect
267
+ connOk = await this._connectToChannel();
268
+ } catch (err) {
269
+ RaftLog.error('RaftConnector.connect - error: ' + err);
270
+ }
274
271
 
272
+ if (connOk) {
273
+ // Get system type
274
+ if (this._getSystemTypeCB) {
275
275
  // Get system type
276
- if (this._getSystemTypeCB) {
277
- // Get system type
278
- this._systemType = await this._getSystemTypeCB(this._raftSystemUtils);
276
+ this._systemType = await this._getSystemTypeCB(this._raftSystemUtils);
279
277
 
280
- // Set defaults
281
- if (this._systemType) {
282
- this._raftSystemUtils.setDefaultWiFiHostname(this._systemType.defaultWiFiHostname);
283
- }
284
- }
285
-
286
- // Setup system type
278
+ // Set defaults
287
279
  if (this._systemType) {
288
- this._systemType.setup(this._raftSystemUtils, this._onEventFn);
289
- }
290
-
291
- // Check if subscription required
292
- if (this._systemType &&
293
- this._systemType.subscribeForUpdates &&
294
- this._raftChannel.requiresSubscription()) {
295
- try {
296
- // Subscription
297
- await this._systemType.subscribeForUpdates(this._raftSystemUtils, true);
298
- RaftLog.info(`connect subscribed for updates`);
299
- } catch (error: unknown) {
300
- RaftLog.warn(`connect subscribe for updates failed ${error}`)
301
- }
280
+ this._raftSystemUtils.setDefaultWiFiHostname(this._systemType.defaultWiFiHostname);
302
281
  }
282
+ }
303
283
 
304
- // Send connected event
305
- this.onConnEvent(RaftConnEvent.CONN_CONNECTED);
284
+ // Setup system type
285
+ if (this._systemType) {
286
+ this._systemType.setup(this._raftSystemUtils, this._onEventFn);
287
+ }
306
288
 
307
- } else {
308
- // Failed Event
309
- this.onConnEvent(RaftConnEvent.CONN_CONNECTION_FAILED);
289
+ // Check if subscription required
290
+ if (this._systemType &&
291
+ this._systemType.subscribeForUpdates &&
292
+ this._raftChannel.requiresSubscription()) {
293
+ try {
294
+ // Subscription
295
+ await this._systemType.subscribeForUpdates(this._raftSystemUtils, true);
296
+ RaftLog.info(`connect subscribed for updates`);
297
+ } catch (error: unknown) {
298
+ RaftLog.warn(`connect subscribe for updates failed ${error}`)
299
+ }
310
300
  }
311
301
 
302
+ // Send connected event
303
+ this.onConnEvent(RaftConnEvent.CONN_CONNECTED);
304
+
305
+ } else {
306
+ // Failed Event
307
+ this.onConnEvent(RaftConnEvent.CONN_CONNECTION_FAILED);
312
308
  // configure file handler
313
309
  this.configureFileHandler(this._raftChannel.fhFileBlockSize(), this._raftChannel.fhBatchAckSize());
314
- } else {
315
- this._channelConnMethod = "";
316
310
  }
317
311
 
318
312
  return connOk;
@@ -565,7 +559,6 @@ export default class RaftConnector {
565
559
  * @returns void
566
560
  */
567
561
  onConnEvent(eventEnum: RaftConnEvent, data: object | string | null | undefined = undefined): void {
568
-
569
562
  // Handle information clearing on disconnect
570
563
  switch (eventEnum) {
571
564
  case RaftConnEvent.CONN_DISCONNECTED:
@@ -598,7 +591,6 @@ export default class RaftConnector {
598
591
  }
599
592
  break;
600
593
  }
601
-
602
594
  // Notify
603
595
  if (this._onEventFn) {
604
596
  this._onEventFn("conn", eventEnum, RaftConnEventNames[eventEnum], data);
@@ -741,5 +733,5 @@ export default class RaftConnector {
741
733
  firmwareBaseURL,
742
734
  this._raftChannel
743
735
  );
744
- }
736
+ }
745
737
  }
@@ -90,15 +90,9 @@ export interface DeviceTypeInfoRecs {
90
90
  [devType: string]: DeviceTypeInfo;
91
91
  }
92
92
 
93
- export interface DeviceTypeInfoTestJsonRec {
94
- addresses?: string;
95
- devInfoJson: DeviceTypeInfo;
96
- }
97
-
98
- export interface DeviceTypeInfoTestJsonElem {
99
- [devType: string]: DeviceTypeInfoTestJsonRec;
100
- }
101
-
102
- export interface DeviceTypeInfoTestJsonFile {
103
- devTypes: DeviceTypeInfoTestJsonElem;
104
- }
93
+ export type RaftDevTypeInfoResponse = {
94
+ req: string;
95
+ rslt: string;
96
+ devinfo: DeviceTypeInfo;
97
+ };
98
+