@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.
- package/README.md +2 -0
- package/dist/{RaftAttributeHandler.js → react-native/RaftAttributeHandler.js} +1 -1
- package/dist/react-native/RaftAttributeHandler.js.map +1 -0
- package/dist/react-native/RaftChannel.js.map +1 -0
- package/dist/react-native/RaftChannelBLE.native.d.ts +93 -0
- package/dist/react-native/RaftChannelBLE.native.js +455 -0
- package/dist/react-native/RaftChannelBLE.native.js.map +1 -0
- package/dist/{RaftChannelWebBLE.d.ts → react-native/RaftChannelBLE.web.d.ts} +3 -2
- package/dist/{RaftChannelWebBLE.js → react-native/RaftChannelBLE.web.js} +48 -28
- package/dist/react-native/RaftChannelBLE.web.js.map +1 -0
- package/dist/react-native/RaftChannelBLEFactory.d.ts +10 -0
- package/dist/react-native/RaftChannelBLEFactory.js +17 -0
- package/dist/react-native/RaftChannelBLEFactory.js.map +1 -0
- package/dist/react-native/RaftChannelBLEScanner.native.d.ts +18 -0
- package/dist/react-native/RaftChannelBLEScanner.native.js +146 -0
- package/dist/react-native/RaftChannelBLEScanner.native.js.map +1 -0
- package/dist/{RaftChannelWebSerial.js → react-native/RaftChannelWebSerial.js} +3 -2
- package/dist/react-native/RaftChannelWebSerial.js.map +1 -0
- package/dist/react-native/RaftChannelWebSocket.js.map +1 -0
- package/dist/react-native/RaftCommsStats.js.map +1 -0
- package/dist/{RaftConnEvents.d.ts → react-native/RaftConnEvents.d.ts} +10 -2
- package/dist/{RaftConnEvents.js → react-native/RaftConnEvents.js} +10 -0
- package/dist/react-native/RaftConnEvents.js.map +1 -0
- package/dist/{RaftConnector.d.ts → react-native/RaftConnector.d.ts} +6 -3
- package/dist/{RaftConnector.js → react-native/RaftConnector.js} +75 -74
- package/dist/react-native/RaftConnector.js.map +1 -0
- package/dist/react-native/RaftCustomAttrHandler.js.map +1 -0
- package/dist/{RaftDeviceInfo.d.ts → react-native/RaftDeviceInfo.d.ts} +5 -10
- package/dist/react-native/RaftDeviceInfo.js.map +1 -0
- package/dist/{RaftDeviceManager.d.ts → react-native/RaftDeviceManager.d.ts} +14 -16
- package/dist/{RaftDeviceManager.js → react-native/RaftDeviceManager.js} +116 -213
- package/dist/react-native/RaftDeviceManager.js.map +1 -0
- package/dist/react-native/RaftDeviceMgrIF.d.ts +12 -0
- package/dist/react-native/RaftDeviceMgrIF.js +11 -0
- package/dist/react-native/RaftDeviceMgrIF.js.map +1 -0
- package/dist/react-native/RaftDeviceMsg.js.map +1 -0
- package/dist/{RaftDeviceStates.d.ts → react-native/RaftDeviceStates.d.ts} +1 -1
- package/dist/react-native/RaftDeviceStates.js.map +1 -0
- package/dist/react-native/RaftFileHandler.js.map +1 -0
- package/dist/react-native/RaftLog.js.map +1 -0
- package/dist/{RaftMiniHDLC.js → react-native/RaftMiniHDLC.js} +1 -1
- package/dist/react-native/RaftMiniHDLC.js.map +1 -0
- package/dist/{RaftMsgHandler.js → react-native/RaftMsgHandler.js} +2 -2
- package/dist/react-native/RaftMsgHandler.js.map +1 -0
- package/dist/react-native/RaftMsgTrackInfo.js.map +1 -0
- package/dist/react-native/RaftProtocolDefs.js.map +1 -0
- package/dist/react-native/RaftStreamHandler.js.map +1 -0
- package/dist/{RaftSystemType.d.ts → react-native/RaftSystemType.d.ts} +4 -0
- package/dist/{RaftSystemType.js.map → react-native/RaftSystemType.js.map} +1 -1
- package/dist/react-native/RaftSystemUtils.js.map +1 -0
- package/dist/{RaftTypes.d.ts → react-native/RaftTypes.d.ts} +11 -0
- package/dist/{RaftTypes.js → react-native/RaftTypes.js} +34 -1
- package/dist/react-native/RaftTypes.js.map +1 -0
- package/dist/react-native/RaftUpdateEvents.js.map +1 -0
- package/dist/react-native/RaftUpdateManager.js.map +1 -0
- package/dist/{RaftUtils.js → react-native/RaftUtils.js} +1 -1
- package/dist/react-native/RaftUtils.js.map +1 -0
- package/dist/react-native/RaftWifiTypes.js.map +1 -0
- package/dist/react-native/main.d.ts +21 -0
- package/dist/{main.js → react-native/main.js} +7 -3
- package/dist/react-native/main.js.map +1 -0
- package/dist/web/RaftAttributeHandler.d.ts +12 -0
- package/dist/web/RaftAttributeHandler.js +241 -0
- package/dist/web/RaftAttributeHandler.js.map +1 -0
- package/dist/web/RaftChannel.d.ts +18 -0
- package/dist/web/RaftChannel.js +12 -0
- package/dist/web/RaftChannel.js.map +1 -0
- package/dist/web/RaftChannelBLE.web.d.ts +39 -0
- package/dist/web/RaftChannelBLE.web.js +294 -0
- package/dist/web/RaftChannelBLE.web.js.map +1 -0
- package/dist/web/RaftChannelBLEFactory.d.ts +10 -0
- package/dist/web/RaftChannelBLEFactory.js +17 -0
- package/dist/web/RaftChannelBLEFactory.js.map +1 -0
- package/dist/web/RaftChannelWebSerial.d.ts +37 -0
- package/dist/web/RaftChannelWebSerial.js +320 -0
- package/dist/web/RaftChannelWebSerial.js.map +1 -0
- package/dist/web/RaftChannelWebSocket.d.ts +28 -0
- package/dist/web/RaftChannelWebSocket.js +197 -0
- package/dist/web/RaftChannelWebSocket.js.map +1 -0
- package/dist/web/RaftCommsStats.d.ts +39 -0
- package/dist/web/RaftCommsStats.js +128 -0
- package/dist/web/RaftCommsStats.js.map +1 -0
- package/dist/web/RaftConnEvents.d.ts +39 -0
- package/dist/web/RaftConnEvents.js +54 -0
- package/dist/web/RaftConnEvents.js.map +1 -0
- package/dist/web/RaftConnector.d.ts +245 -0
- package/dist/web/RaftConnector.js +614 -0
- package/dist/web/RaftConnector.js.map +1 -0
- package/dist/web/RaftCustomAttrHandler.d.ts +4 -0
- package/dist/web/RaftCustomAttrHandler.js +50 -0
- package/dist/web/RaftCustomAttrHandler.js.map +1 -0
- package/dist/web/RaftDeviceInfo.d.ts +59 -0
- package/dist/web/RaftDeviceInfo.js +36 -0
- package/dist/web/RaftDeviceInfo.js.map +1 -0
- package/dist/web/RaftDeviceManager.d.ts +35 -0
- package/dist/web/RaftDeviceManager.js +353 -0
- package/dist/web/RaftDeviceManager.js.map +1 -0
- package/dist/web/RaftDeviceMgrIF.d.ts +12 -0
- package/dist/web/RaftDeviceMgrIF.js +11 -0
- package/dist/web/RaftDeviceMgrIF.js.map +1 -0
- package/dist/web/RaftDeviceMsg.d.ts +9 -0
- package/dist/web/RaftDeviceMsg.js +11 -0
- package/dist/web/RaftDeviceMsg.js.map +1 -0
- package/dist/web/RaftDeviceStates.d.ts +33 -0
- package/dist/web/RaftDeviceStates.js +60 -0
- package/dist/web/RaftDeviceStates.js.map +1 -0
- package/dist/web/RaftFileHandler.d.ts +52 -0
- package/dist/web/RaftFileHandler.js +502 -0
- package/dist/web/RaftFileHandler.js.map +1 -0
- package/dist/web/RaftLog.d.ts +22 -0
- package/dist/web/RaftLog.js +63 -0
- package/dist/web/RaftLog.js.map +1 -0
- package/dist/web/RaftMiniHDLC.d.ts +18 -0
- package/dist/web/RaftMiniHDLC.js +383 -0
- package/dist/web/RaftMiniHDLC.js.map +1 -0
- package/dist/web/RaftMsgHandler.d.ts +57 -0
- package/dist/web/RaftMsgHandler.js +480 -0
- package/dist/web/RaftMsgHandler.js.map +1 -0
- package/dist/web/RaftMsgTrackInfo.d.ts +17 -0
- package/dist/web/RaftMsgTrackInfo.js +42 -0
- package/dist/web/RaftMsgTrackInfo.js.map +1 -0
- package/dist/web/RaftProtocolDefs.d.ts +30 -0
- package/dist/web/RaftProtocolDefs.js +48 -0
- package/dist/web/RaftProtocolDefs.js.map +1 -0
- package/dist/web/RaftStreamHandler.d.ts +38 -0
- package/dist/web/RaftStreamHandler.js +257 -0
- package/dist/web/RaftStreamHandler.js.map +1 -0
- package/dist/web/RaftSystemType.d.ts +25 -0
- package/dist/web/RaftSystemType.js +3 -0
- package/dist/web/RaftSystemType.js.map +1 -0
- package/dist/web/RaftSystemUtils.d.ts +136 -0
- package/dist/web/RaftSystemUtils.js +410 -0
- package/dist/web/RaftSystemUtils.js.map +1 -0
- package/dist/web/RaftTypes.d.ts +195 -0
- package/dist/web/RaftTypes.js +190 -0
- package/dist/web/RaftTypes.js.map +1 -0
- package/dist/web/RaftUpdateEvents.d.ts +33 -0
- package/dist/web/RaftUpdateEvents.js +46 -0
- package/dist/web/RaftUpdateEvents.js.map +1 -0
- package/dist/web/RaftUpdateManager.d.ts +61 -0
- package/dist/web/RaftUpdateManager.js +618 -0
- package/dist/web/RaftUpdateManager.js.map +1 -0
- package/dist/web/RaftUtils.d.ts +125 -0
- package/dist/web/RaftUtils.js +454 -0
- package/dist/web/RaftUtils.js.map +1 -0
- package/dist/web/RaftWifiTypes.d.ts +23 -0
- package/dist/web/RaftWifiTypes.js +43 -0
- package/dist/web/RaftWifiTypes.js.map +1 -0
- package/dist/{main.d.ts → web/main.d.ts} +4 -1
- package/dist/web/main.js +46 -0
- package/dist/web/main.js.map +1 -0
- package/examples/dashboard/package.json +4 -0
- package/examples/dashboard/src/CommandPanel.tsx +147 -0
- package/examples/dashboard/src/ConnManager.ts +11 -12
- package/examples/dashboard/src/DeviceActionsForm.tsx +133 -0
- package/examples/dashboard/src/DeviceAttrsForm.tsx +49 -0
- package/examples/dashboard/src/DeviceLineChart.tsx +139 -0
- package/examples/dashboard/src/DevicePanel.tsx +135 -0
- package/examples/dashboard/src/DevicesPanel.tsx +57 -0
- package/examples/dashboard/src/DispLedGrid.tsx +110 -0
- package/examples/dashboard/src/DispOneLed.tsx +20 -0
- package/examples/dashboard/src/Main.tsx +53 -47
- package/examples/dashboard/src/{StatusScreen.tsx → StatusPanel.tsx} +13 -14
- package/examples/dashboard/src/SystemTypeCog/CogStateInfo.ts +135 -122
- package/examples/dashboard/src/SystemTypeCog/SystemTypeCog.ts +15 -8
- package/examples/dashboard/src/SystemTypeMarty/RICCommsStats.ts +0 -0
- package/examples/dashboard/src/SystemTypeMarty/RICStateInfo.ts +47 -1
- package/examples/dashboard/src/SystemTypeMarty/SystemTypeMarty.ts +4 -1
- package/examples/dashboard/src/styles.css +274 -10
- package/package.json +57 -48
- package/src/RaftAttributeHandler.ts +1 -1
- package/src/RaftChannelBLE.native.ts +583 -0
- package/src/{RaftChannelWebBLE.ts → RaftChannelBLE.web.ts} +60 -40
- package/src/RaftChannelBLEFactory.ts +13 -0
- package/src/RaftChannelBLEScanner.native.ts +190 -0
- package/src/RaftChannelWebSerial.ts +1 -0
- package/src/RaftConnEvents.ts +14 -2
- package/src/RaftConnector.ts +80 -88
- package/src/RaftDeviceInfo.ts +6 -12
- package/src/RaftDeviceManager.ts +139 -245
- package/src/RaftDeviceMgrIF.ts +28 -0
- package/src/RaftDeviceStates.ts +1 -2
- package/src/RaftMiniHDLC.ts +1 -1
- package/src/RaftMsgHandler.ts +2 -2
- package/src/RaftSystemType.ts +4 -0
- package/src/RaftTypes.ts +48 -17
- package/src/RaftUtils.ts +1 -1
- package/src/main.ts +8 -1
- package/tsconfig.json +5 -2
- package/tsconfig.react-native.json +29 -0
- package/dist/RaftAttributeHandler.js.map +0 -1
- package/dist/RaftChannel.js.map +0 -1
- package/dist/RaftChannelWebBLE.js.map +0 -1
- package/dist/RaftChannelWebSerial.js.map +0 -1
- package/dist/RaftChannelWebSocket.js.map +0 -1
- package/dist/RaftCommsStats.js.map +0 -1
- package/dist/RaftConnEvents.js.map +0 -1
- package/dist/RaftConnector.js.map +0 -1
- package/dist/RaftCustomAttrHandler.js.map +0 -1
- package/dist/RaftDeviceInfo.js.map +0 -1
- package/dist/RaftDeviceManager.js.map +0 -1
- package/dist/RaftDeviceMsg.js.map +0 -1
- package/dist/RaftDeviceStates.js.map +0 -1
- package/dist/RaftFileHandler.js.map +0 -1
- package/dist/RaftLog.js.map +0 -1
- package/dist/RaftMiniHDLC.js.map +0 -1
- package/dist/RaftMsgHandler.js.map +0 -1
- package/dist/RaftMsgTrackInfo.js.map +0 -1
- package/dist/RaftProtocolDefs.js.map +0 -1
- package/dist/RaftStreamHandler.js.map +0 -1
- package/dist/RaftSystemUtils.js.map +0 -1
- package/dist/RaftTypes.js.map +0 -1
- package/dist/RaftUpdateEvents.js.map +0 -1
- package/dist/RaftUpdateManager.js.map +0 -1
- package/dist/RaftUtils.js.map +0 -1
- package/dist/RaftWifiTypes.js.map +0 -1
- package/dist/TestDataGen.d.ts +0 -7
- package/dist/TestDataGen.js +0 -133
- package/dist/TestDataGen.js.map +0 -1
- package/dist/main.js.map +0 -1
- package/src/TestDataGen.ts +0 -157
- /package/dist/{RaftAttributeHandler.d.ts → react-native/RaftAttributeHandler.d.ts} +0 -0
- /package/dist/{RaftChannel.d.ts → react-native/RaftChannel.d.ts} +0 -0
- /package/dist/{RaftChannel.js → react-native/RaftChannel.js} +0 -0
- /package/dist/{RaftChannelWebSerial.d.ts → react-native/RaftChannelWebSerial.d.ts} +0 -0
- /package/dist/{RaftChannelWebSocket.d.ts → react-native/RaftChannelWebSocket.d.ts} +0 -0
- /package/dist/{RaftChannelWebSocket.js → react-native/RaftChannelWebSocket.js} +0 -0
- /package/dist/{RaftCommsStats.d.ts → react-native/RaftCommsStats.d.ts} +0 -0
- /package/dist/{RaftCommsStats.js → react-native/RaftCommsStats.js} +0 -0
- /package/dist/{RaftCustomAttrHandler.d.ts → react-native/RaftCustomAttrHandler.d.ts} +0 -0
- /package/dist/{RaftCustomAttrHandler.js → react-native/RaftCustomAttrHandler.js} +0 -0
- /package/dist/{RaftDeviceInfo.js → react-native/RaftDeviceInfo.js} +0 -0
- /package/dist/{RaftDeviceMsg.d.ts → react-native/RaftDeviceMsg.d.ts} +0 -0
- /package/dist/{RaftDeviceMsg.js → react-native/RaftDeviceMsg.js} +0 -0
- /package/dist/{RaftDeviceStates.js → react-native/RaftDeviceStates.js} +0 -0
- /package/dist/{RaftFileHandler.d.ts → react-native/RaftFileHandler.d.ts} +0 -0
- /package/dist/{RaftFileHandler.js → react-native/RaftFileHandler.js} +0 -0
- /package/dist/{RaftLog.d.ts → react-native/RaftLog.d.ts} +0 -0
- /package/dist/{RaftLog.js → react-native/RaftLog.js} +0 -0
- /package/dist/{RaftMiniHDLC.d.ts → react-native/RaftMiniHDLC.d.ts} +0 -0
- /package/dist/{RaftMsgHandler.d.ts → react-native/RaftMsgHandler.d.ts} +0 -0
- /package/dist/{RaftMsgTrackInfo.d.ts → react-native/RaftMsgTrackInfo.d.ts} +0 -0
- /package/dist/{RaftMsgTrackInfo.js → react-native/RaftMsgTrackInfo.js} +0 -0
- /package/dist/{RaftProtocolDefs.d.ts → react-native/RaftProtocolDefs.d.ts} +0 -0
- /package/dist/{RaftProtocolDefs.js → react-native/RaftProtocolDefs.js} +0 -0
- /package/dist/{RaftStreamHandler.d.ts → react-native/RaftStreamHandler.d.ts} +0 -0
- /package/dist/{RaftStreamHandler.js → react-native/RaftStreamHandler.js} +0 -0
- /package/dist/{RaftSystemType.js → react-native/RaftSystemType.js} +0 -0
- /package/dist/{RaftSystemUtils.d.ts → react-native/RaftSystemUtils.d.ts} +0 -0
- /package/dist/{RaftSystemUtils.js → react-native/RaftSystemUtils.js} +0 -0
- /package/dist/{RaftUpdateEvents.d.ts → react-native/RaftUpdateEvents.d.ts} +0 -0
- /package/dist/{RaftUpdateEvents.js → react-native/RaftUpdateEvents.js} +0 -0
- /package/dist/{RaftUpdateManager.d.ts → react-native/RaftUpdateManager.d.ts} +0 -0
- /package/dist/{RaftUpdateManager.js → react-native/RaftUpdateManager.js} +0 -0
- /package/dist/{RaftUtils.d.ts → react-native/RaftUtils.d.ts} +0 -0
- /package/dist/{RaftWifiTypes.d.ts → react-native/RaftWifiTypes.d.ts} +0 -0
- /package/dist/{RaftWifiTypes.js → react-native/RaftWifiTypes.js} +0 -0
package/src/RaftConnector.ts
CHANGED
|
@@ -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
|
-
|
|
160
|
-
|
|
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
|
-
*
|
|
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
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
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
|
-
|
|
237
|
-
} else if (
|
|
218
|
+
this._channelConnMethod = 'WebSocket';
|
|
219
|
+
} else if (method === 'WebSerial') {
|
|
238
220
|
this._raftChannel = new RaftChannelWebSerial();
|
|
239
|
-
|
|
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
|
-
|
|
261
|
-
|
|
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
|
-
|
|
264
|
-
|
|
257
|
+
// Store locator
|
|
258
|
+
this._channelConnLocator = locator;
|
|
265
259
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
260
|
+
// Connect
|
|
261
|
+
let connOk = false;
|
|
262
|
+
try {
|
|
263
|
+
// Event
|
|
264
|
+
this.onConnEvent(RaftConnEvent.CONN_CONNECTING);
|
|
271
265
|
|
|
272
|
-
//
|
|
273
|
-
|
|
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
|
-
|
|
277
|
-
// Get system type
|
|
278
|
-
this._systemType = await this._getSystemTypeCB(this._raftSystemUtils);
|
|
276
|
+
this._systemType = await this._getSystemTypeCB(this._raftSystemUtils);
|
|
279
277
|
|
|
280
|
-
|
|
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.
|
|
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
|
-
|
|
305
|
-
|
|
284
|
+
// Setup system type
|
|
285
|
+
if (this._systemType) {
|
|
286
|
+
this._systemType.setup(this._raftSystemUtils, this._onEventFn);
|
|
287
|
+
}
|
|
306
288
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
this.
|
|
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
|
}
|
package/src/RaftDeviceInfo.ts
CHANGED
|
@@ -90,15 +90,9 @@ export interface DeviceTypeInfoRecs {
|
|
|
90
90
|
[devType: string]: DeviceTypeInfo;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
export
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
+
|