@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
@@ -10,7 +10,6 @@
10
10
  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const tslib_1 = require("tslib");
13
- const RaftChannelWebBLE_1 = tslib_1.__importDefault(require("./RaftChannelWebBLE"));
14
13
  const RaftMsgHandler_1 = tslib_1.__importDefault(require("./RaftMsgHandler"));
15
14
  const RaftChannelWebSocket_1 = tslib_1.__importDefault(require("./RaftChannelWebSocket"));
16
15
  const RaftChannelWebSerial_1 = tslib_1.__importDefault(require("./RaftChannelWebSerial"));
@@ -23,6 +22,7 @@ const RaftLog_1 = tslib_1.__importDefault(require("./RaftLog"));
23
22
  const RaftConnEvents_1 = require("./RaftConnEvents");
24
23
  const RaftUpdateEvents_1 = require("./RaftUpdateEvents");
25
24
  const RaftUpdateManager_1 = tslib_1.__importDefault(require("./RaftUpdateManager"));
25
+ const RaftChannelBLEFactory_1 = require("./RaftChannelBLEFactory");
26
26
  class RaftConnector {
27
27
  /**
28
28
  * RaftConnector constructor
@@ -166,101 +166,102 @@ class RaftConnector {
166
166
  this._raftChannel.pauseConnection(pause);
167
167
  }
168
168
  /**
169
- * Connect to a Raft application
170
- *
171
- * @param {string} method - can be "WebBLE", "WebSocket" or "WebSerial"
172
- * @param {string | object} locator - either a string (WebSocket URL or serial port) or an object (WebBLE)
173
- * @returns Promise<boolean>
174
- *
169
+ * Initialize the Raft channel
175
170
  */
176
- async connect(method, locator) {
177
- // Ensure disconnected
178
- try {
179
- await this.disconnect();
180
- }
181
- catch (err) {
182
- RaftLog_1.default.error('RaftConnector.connect - error: ' + err);
183
- // Ignore
184
- }
185
- // Check connection method
186
- let connMethod = "";
187
- if (method === 'WebBLE' && typeof locator === 'object' && locator !== null) {
188
- // Create channel
189
- this._raftChannel = new RaftChannelWebBLE_1.default();
190
- connMethod = 'WebBLE';
171
+ async initializeChannel(method) {
172
+ // Initialize raft channel
173
+ if (method === 'WebBLE' || method === 'PhoneBLE') {
174
+ const RaftChannelBLE = (0, RaftChannelBLEFactory_1.createBLEChannel)();
175
+ this._raftChannel = new RaftChannelBLE();
176
+ this._channelConnMethod = method;
191
177
  }
192
- else if (((method === 'WebSocket') || (method === 'wifi')) && (typeof locator === 'string')) {
193
- // Create channel
178
+ else if (method === 'WebSocket' || method === 'wifi') {
194
179
  this._raftChannel = new RaftChannelWebSocket_1.default();
195
- connMethod = 'WebSocket';
180
+ this._channelConnMethod = 'WebSocket';
196
181
  }
197
- else if (((method === 'WebSerial'))) {
182
+ else if (method === 'WebSerial') {
198
183
  this._raftChannel = new RaftChannelWebSerial_1.default();
199
- connMethod = 'WebSerial';
184
+ this._channelConnMethod = 'WebSerial';
185
+ }
186
+ else {
187
+ RaftLog_1.default.error('Unknown method: ' + method);
188
+ return false;
200
189
  }
201
- RaftLog_1.default.debug(`connecting with connMethod ${connMethod}`);
202
190
  // Check channel established
203
- let connOk = false;
204
191
  if (this._raftChannel !== null) {
205
- // Connection method and locator
206
- this._channelConnMethod = connMethod;
207
- this._channelConnLocator = locator;
208
192
  // Set message handler
209
193
  this._raftChannel.setMsgHandler(this._raftMsgHandler);
210
194
  this._raftChannel.setOnConnEvent(this.onConnEvent.bind(this));
211
195
  // Message handling in and out
212
196
  this._raftMsgHandler.registerForResults(this);
213
197
  this._raftMsgHandler.registerMsgSender(this._raftChannel);
198
+ return true;
199
+ }
200
+ else {
201
+ this._channelConnMethod = "";
202
+ return false;
203
+ }
204
+ }
205
+ /**
206
+ * Connect to a Raft device
207
+ *
208
+ * @param {string | object} locator - either a string (WebSocket URL or serial port) or an object (WebBLE)
209
+ * @returns Promise<boolean>
210
+ *
211
+ */
212
+ async connect(locator) {
213
+ if (!this._raftChannel) {
214
+ RaftLog_1.default.error('Raft channel is not initialized.');
215
+ return false;
216
+ }
217
+ // Store locator
218
+ this._channelConnLocator = locator;
219
+ // Connect
220
+ let connOk = false;
221
+ try {
222
+ // Event
223
+ this.onConnEvent(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTING);
214
224
  // Connect
215
- try {
216
- // Event
217
- this.onConnEvent(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTING);
218
- // Connect
219
- connOk = await this._connectToChannel();
220
- }
221
- catch (err) {
222
- RaftLog_1.default.error('RaftConnector.connect - error: ' + err);
223
- }
224
- // Check ok
225
- if (connOk) {
225
+ connOk = await this._connectToChannel();
226
+ }
227
+ catch (err) {
228
+ RaftLog_1.default.error('RaftConnector.connect - error: ' + err);
229
+ }
230
+ if (connOk) {
231
+ // Get system type
232
+ if (this._getSystemTypeCB) {
226
233
  // Get system type
227
- if (this._getSystemTypeCB) {
228
- // Get system type
229
- this._systemType = await this._getSystemTypeCB(this._raftSystemUtils);
230
- // Set defaults
231
- if (this._systemType) {
232
- this._raftSystemUtils.setDefaultWiFiHostname(this._systemType.defaultWiFiHostname);
233
- }
234
- }
235
- // Setup system type
234
+ this._systemType = await this._getSystemTypeCB(this._raftSystemUtils);
235
+ // Set defaults
236
236
  if (this._systemType) {
237
- this._systemType.setup(this._raftSystemUtils, this._onEventFn);
237
+ this._raftSystemUtils.setDefaultWiFiHostname(this._systemType.defaultWiFiHostname);
238
238
  }
239
- // Check if subscription required
240
- if (this._systemType &&
241
- this._systemType.subscribeForUpdates &&
242
- this._raftChannel.requiresSubscription()) {
243
- try {
244
- // Subscription
245
- await this._systemType.subscribeForUpdates(this._raftSystemUtils, true);
246
- RaftLog_1.default.info(`connect subscribed for updates`);
247
- }
248
- catch (error) {
249
- RaftLog_1.default.warn(`connect subscribe for updates failed ${error}`);
250
- }
251
- }
252
- // Send connected event
253
- this.onConnEvent(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTED);
254
239
  }
255
- else {
256
- // Failed Event
257
- this.onConnEvent(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTION_FAILED);
240
+ // Setup system type
241
+ if (this._systemType) {
242
+ this._systemType.setup(this._raftSystemUtils, this._onEventFn);
258
243
  }
259
- // configure file handler
260
- this.configureFileHandler(this._raftChannel.fhFileBlockSize(), this._raftChannel.fhBatchAckSize());
244
+ // Check if subscription required
245
+ if (this._systemType &&
246
+ this._systemType.subscribeForUpdates &&
247
+ this._raftChannel.requiresSubscription()) {
248
+ try {
249
+ // Subscription
250
+ await this._systemType.subscribeForUpdates(this._raftSystemUtils, true);
251
+ RaftLog_1.default.info(`connect subscribed for updates`);
252
+ }
253
+ catch (error) {
254
+ RaftLog_1.default.warn(`connect subscribe for updates failed ${error}`);
255
+ }
256
+ }
257
+ // Send connected event
258
+ this.onConnEvent(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTED);
261
259
  }
262
260
  else {
263
- this._channelConnMethod = "";
261
+ // Failed Event
262
+ this.onConnEvent(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTION_FAILED);
263
+ // configure file handler
264
+ this.configureFileHandler(this._raftChannel.fhFileBlockSize(), this._raftChannel.fhBatchAckSize());
264
265
  }
265
266
  return connOk;
266
267
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RaftConnector.js","sourceRoot":"","sources":["../../src/RaftConnector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RaftCustomAttrHandler.js","sourceRoot":"","sources":["../../src/RaftCustomAttrHandler.ts"],"names":[],"mappings":";AAAA,iHAAiH;AACjH,EAAE;AACF,wBAAwB;AACxB,4CAA4C;AAC5C,EAAE;AACF,sBAAsB;AACtB,EAAE;AACF,iHAAiH;;AAIjH,MAAqB,iBAAiB;IAE3B,UAAU,CAAC,gBAA4C,EAAE,SAAiB,EAAE,SAAiB;QAEhG,sCAAsC;QACtC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAEvC,qDAAqD;QACrD,IAAI,aAAa,GAAS,EAAE,CAAC;QAE7B,6CAA6C;QAC7C,IAAI,UAAU,GAAgC,EAAE,CAAC;QAEjD,+BAA+B;QAC/B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;YACnE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;QAED,mCAAmC;QACnC,IAAI,gBAAgB,CAAC,CAAE,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;YAC5C,qBAAqB;YACrB,iHAAiH;YACjH,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACd,CAAC;YAED,qBAAqB;YACrB,IAAI,CAAC,GAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAC,EAAE,GAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAC,CAAC,CAAC;YACR,IAAI,CAAC,GAAC,CAAC,CAAC;YACR,OAAO,CAAC,GAAC,CAAC,EAAE,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,GAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAE,EAAE,CAAC,GAAC,CAAC,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,IAAE,CAAC,CAAC,GAAC,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBAC9G,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,GAAE,CAAC,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,IAAE,EAAE,CAAC,GAAC,CAAC,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,IAAE,CAAC,CAAC,GAAC,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBAC7G,CAAC,IAAE,CAAC,CAAC;gBACL,CAAC,EAAE,CAAC;gBACJ,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ;AA1CD,oCA0CC"}
@@ -52,13 +52,8 @@ export interface DeviceTypeInfo {
52
52
  export interface DeviceTypeInfoRecs {
53
53
  [devType: string]: DeviceTypeInfo;
54
54
  }
55
- export interface DeviceTypeInfoTestJsonRec {
56
- addresses?: string;
57
- devInfoJson: DeviceTypeInfo;
58
- }
59
- export interface DeviceTypeInfoTestJsonElem {
60
- [devType: string]: DeviceTypeInfoTestJsonRec;
61
- }
62
- export interface DeviceTypeInfoTestJsonFile {
63
- devTypes: DeviceTypeInfoTestJsonElem;
64
- }
55
+ export type RaftDevTypeInfoResponse = {
56
+ req: string;
57
+ rslt: string;
58
+ devinfo: DeviceTypeInfo;
59
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RaftDeviceInfo.js","sourceRoot":"","sources":["../../src/RaftDeviceInfo.ts"],"names":[],"mappings":";AAAA,iHAAiH;AACjH,EAAE;AACF,iBAAiB;AACjB,sCAAsC;AACtC,EAAE;AACF,sBAAsB;AACtB,EAAE;AACF,iHAAiH;;AAWjH,0CAKC;AAED,4CAGC;AAED,0DAGC;AAxBD,MAAM,YAAY,GAA8B;IAC5C,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IAC9B,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IACxD,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IAClH,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IACxD,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IAC3B,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;CAC1B,CAAC;AAEN,SAAgB,eAAe,CAAC,QAAgB;IAC5C,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAgB;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5H,OAAO,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,CAAC;AACvG,CAAC;AAED,SAAgB,uBAAuB,CAAC,aAAqB;IACzD,0EAA0E;IAC1E,OAAO,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC"}
@@ -1,37 +1,35 @@
1
1
  import { DeviceAttributeState, DevicesState, DeviceState } from "./RaftDeviceStates";
2
2
  import { DeviceTypeAction } from "./RaftDeviceInfo";
3
3
  import { DataType } from 'python-struct';
4
- export declare class DeviceManager {
5
- private static _instance;
4
+ import RaftSystemUtils from "./RaftSystemUtils";
5
+ import RaftDeviceMgrIF from "./RaftDeviceMgrIF";
6
+ export declare class DeviceManager implements RaftDeviceMgrIF {
6
7
  private _maxDatapointsToStore;
8
+ private _minTimeBetweenDeviceTypeInfoRetrievalMs;
7
9
  private _attributeHandler;
8
- private _serverAddressPrefix;
9
- private _urlPrefix;
10
10
  private _devicesState;
11
+ private _deviceLastUpdateTime;
12
+ private _removeDevicesFlag;
13
+ private _removeDevicesTimeMs;
14
+ private _systemUtils;
11
15
  private _callbackNewDevice;
12
16
  private _callbackNewDeviceAttribute;
13
17
  private _callbackNewAttributeData;
14
- private _lastStateUpdate;
15
- private MAX_TIME_BETWEEN_STATE_UPDATES_MS;
16
- private _websocket;
17
- static getInstance(): DeviceManager;
18
18
  getDevicesState(): DevicesState;
19
19
  getDeviceState(deviceKey: string): DeviceState;
20
20
  private _cachedDeviceTypeRecs;
21
- private _testDeviceTypeRecs;
22
- private _testDataGen;
23
- private constructor();
21
+ private _cachedDeviceTypePreviousAttemptTimes;
22
+ constructor();
24
23
  sendCommand(cmd: string): Promise<boolean>;
25
- init(): Promise<boolean>;
26
- private connectWebSocket;
24
+ setup(systemUtils: RaftSystemUtils): Promise<boolean>;
27
25
  onNewDevice(callback: (deviceKey: string, state: DeviceState) => void): void;
28
26
  onNewDeviceAttribute(callback: (deviceKey: string, attrState: DeviceAttributeState) => void): void;
29
27
  onNewAttributeData(callback: (deviceKey: string, attrState: DeviceAttributeState) => void): void;
30
28
  setFriendlyName(friendlyName: string): Promise<void>;
31
- private handleClientMsgJson;
29
+ handleClientMsgJson(jsonMsg: string): void;
32
30
  private processStateCallback;
33
31
  private getDeviceTypeInfo;
34
- sendAction(deviceKey: string, action: DeviceTypeAction, data: DataType[]): void;
35
- sendCompoundAction(deviceKey: string, action: DeviceTypeAction, data: DataType[][]): void;
32
+ sendAction(deviceKey: string, action: DeviceTypeAction, data: DataType[]): Promise<boolean>;
33
+ sendCompoundAction(deviceKey: string, action: DeviceTypeAction, data: DataType[][]): Promise<boolean>;
36
34
  private hexToBytes;
37
35
  }