@robdobsn/raftjs 1.8.5 → 1.11.5

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 (240) hide show
  1. package/.editorconfig +14 -0
  2. package/.gitattributes +11 -0
  3. package/.nvmrc +1 -0
  4. package/TODO.md +1 -0
  5. package/dist/react-native/RaftAttributeHandler.d.ts +14 -0
  6. package/dist/react-native/RaftAttributeHandler.js +375 -0
  7. package/dist/react-native/RaftAttributeHandler.js.map +1 -0
  8. package/dist/react-native/RaftChannel.d.ts +20 -0
  9. package/dist/react-native/RaftChannel.js +12 -0
  10. package/dist/react-native/RaftChannel.js.map +1 -0
  11. package/dist/react-native/RaftChannelBLE.native.d.ts +95 -0
  12. package/dist/react-native/RaftChannelBLE.native.js +483 -0
  13. package/dist/react-native/RaftChannelBLE.native.js.map +1 -0
  14. package/dist/react-native/RaftChannelBLE.web.d.ts +40 -0
  15. package/dist/react-native/RaftChannelBLE.web.js +302 -0
  16. package/dist/react-native/RaftChannelBLE.web.js.map +1 -0
  17. package/dist/react-native/RaftChannelBLEFactory.d.ts +10 -0
  18. package/dist/react-native/RaftChannelBLEFactory.js +17 -0
  19. package/dist/react-native/RaftChannelBLEFactory.js.map +1 -0
  20. package/dist/react-native/RaftChannelBLEScanner.native.d.ts +18 -0
  21. package/dist/react-native/RaftChannelBLEScanner.native.js +138 -0
  22. package/dist/react-native/RaftChannelBLEScanner.native.js.map +1 -0
  23. package/dist/react-native/RaftChannelSimulated.d.ts +42 -0
  24. package/dist/react-native/RaftChannelSimulated.js +1001 -0
  25. package/dist/react-native/RaftChannelSimulated.js.map +1 -0
  26. package/dist/react-native/RaftChannelWebSerial.d.ts +39 -0
  27. package/dist/react-native/RaftChannelWebSerial.js +329 -0
  28. package/dist/react-native/RaftChannelWebSerial.js.map +1 -0
  29. package/dist/react-native/RaftChannelWebSocket.d.ts +30 -0
  30. package/dist/react-native/RaftChannelWebSocket.js +222 -0
  31. package/dist/react-native/RaftChannelWebSocket.js.map +1 -0
  32. package/dist/react-native/RaftCommsStats.d.ts +39 -0
  33. package/dist/react-native/RaftCommsStats.js +128 -0
  34. package/dist/react-native/RaftCommsStats.js.map +1 -0
  35. package/dist/react-native/RaftConnEvents.d.ts +39 -0
  36. package/dist/react-native/RaftConnEvents.js +54 -0
  37. package/dist/react-native/RaftConnEvents.js.map +1 -0
  38. package/dist/react-native/RaftConnector.d.ts +257 -0
  39. package/dist/react-native/RaftConnector.js +671 -0
  40. package/dist/react-native/RaftConnector.js.map +1 -0
  41. package/dist/react-native/RaftCustomAttrHandler.d.ts +6 -0
  42. package/dist/react-native/RaftCustomAttrHandler.js +93 -0
  43. package/dist/react-native/RaftCustomAttrHandler.js.map +1 -0
  44. package/dist/react-native/RaftDeviceInfo.d.ts +71 -0
  45. package/dist/react-native/RaftDeviceInfo.js +50 -0
  46. package/dist/react-native/RaftDeviceInfo.js.map +1 -0
  47. package/dist/react-native/RaftDeviceManager.d.ts +73 -0
  48. package/dist/react-native/RaftDeviceManager.js +812 -0
  49. package/dist/react-native/RaftDeviceManager.js.map +1 -0
  50. package/dist/react-native/RaftDeviceMgrIF.d.ts +19 -0
  51. package/dist/react-native/RaftDeviceMgrIF.js +11 -0
  52. package/dist/react-native/RaftDeviceMgrIF.js.map +1 -0
  53. package/dist/react-native/RaftDeviceMsg.d.ts +9 -0
  54. package/dist/react-native/RaftDeviceMsg.js +11 -0
  55. package/dist/react-native/RaftDeviceMsg.js.map +1 -0
  56. package/dist/react-native/RaftDeviceStates.d.ts +55 -0
  57. package/dist/react-native/RaftDeviceStates.js +81 -0
  58. package/dist/react-native/RaftDeviceStates.js.map +1 -0
  59. package/dist/react-native/RaftFileHandler.d.ts +52 -0
  60. package/dist/react-native/RaftFileHandler.js +502 -0
  61. package/dist/react-native/RaftFileHandler.js.map +1 -0
  62. package/dist/react-native/RaftLog.d.ts +22 -0
  63. package/dist/react-native/RaftLog.js +63 -0
  64. package/dist/react-native/RaftLog.js.map +1 -0
  65. package/dist/react-native/RaftMiniHDLC.d.ts +18 -0
  66. package/dist/react-native/RaftMiniHDLC.js +383 -0
  67. package/dist/react-native/RaftMiniHDLC.js.map +1 -0
  68. package/dist/react-native/RaftMsgHandler.d.ts +62 -0
  69. package/dist/react-native/RaftMsgHandler.js +511 -0
  70. package/dist/react-native/RaftMsgHandler.js.map +1 -0
  71. package/dist/react-native/RaftMsgTrackInfo.d.ts +17 -0
  72. package/dist/react-native/RaftMsgTrackInfo.js +42 -0
  73. package/dist/react-native/RaftMsgTrackInfo.js.map +1 -0
  74. package/dist/react-native/RaftProtocolDefs.d.ts +30 -0
  75. package/dist/react-native/RaftProtocolDefs.js +48 -0
  76. package/dist/react-native/RaftProtocolDefs.js.map +1 -0
  77. package/dist/react-native/RaftPublish.d.ts +2 -0
  78. package/dist/react-native/RaftPublish.js +81 -0
  79. package/dist/react-native/RaftPublish.js.map +1 -0
  80. package/dist/react-native/RaftStreamHandler.d.ts +49 -0
  81. package/dist/react-native/RaftStreamHandler.js +324 -0
  82. package/dist/react-native/RaftStreamHandler.js.map +1 -0
  83. package/dist/react-native/RaftStruct.d.ts +3 -0
  84. package/dist/react-native/RaftStruct.js +258 -0
  85. package/dist/react-native/RaftStruct.js.map +1 -0
  86. package/dist/react-native/RaftSysTypeManager.d.ts +16 -0
  87. package/dist/react-native/RaftSysTypeManager.js +78 -0
  88. package/dist/react-native/RaftSysTypeManager.js.map +1 -0
  89. package/dist/react-native/RaftSystemType.d.ts +30 -0
  90. package/dist/react-native/RaftSystemType.js +3 -0
  91. package/dist/react-native/RaftSystemType.js.map +1 -0
  92. package/dist/react-native/RaftSystemUtils.d.ts +152 -0
  93. package/dist/react-native/RaftSystemUtils.js +463 -0
  94. package/dist/react-native/RaftSystemUtils.js.map +1 -0
  95. package/dist/react-native/RaftTypes.d.ts +216 -0
  96. package/dist/react-native/RaftTypes.js +153 -0
  97. package/dist/react-native/RaftTypes.js.map +1 -0
  98. package/dist/react-native/RaftUpdateEvents.d.ts +33 -0
  99. package/dist/react-native/RaftUpdateEvents.js +46 -0
  100. package/dist/react-native/RaftUpdateEvents.js.map +1 -0
  101. package/dist/react-native/RaftUpdateManager.d.ts +61 -0
  102. package/dist/react-native/RaftUpdateManager.js +621 -0
  103. package/dist/react-native/RaftUpdateManager.js.map +1 -0
  104. package/dist/react-native/RaftUtils.d.ts +128 -0
  105. package/dist/react-native/RaftUtils.js +487 -0
  106. package/dist/react-native/RaftUtils.js.map +1 -0
  107. package/dist/react-native/RaftWifiTypes.d.ts +23 -0
  108. package/dist/react-native/RaftWifiTypes.js +43 -0
  109. package/dist/react-native/RaftWifiTypes.js.map +1 -0
  110. package/dist/react-native/main.d.ts +27 -0
  111. package/dist/react-native/main.js +52 -0
  112. package/dist/react-native/main.js.map +1 -0
  113. package/dist/web/RaftAttributeHandler.js +1 -1
  114. package/dist/web/RaftAttributeHandler.js.map +1 -1
  115. package/dist/web/RaftChannelBLE.web.js +8 -6
  116. package/dist/web/RaftChannelBLE.web.js.map +1 -1
  117. package/dist/web/RaftChannelSimulated.d.ts +10 -0
  118. package/dist/web/RaftChannelSimulated.js +665 -82
  119. package/dist/web/RaftChannelSimulated.js.map +1 -1
  120. package/dist/web/RaftChannelWebSerial.js +2 -2
  121. package/dist/web/RaftChannelWebSerial.js.map +1 -1
  122. package/dist/web/RaftChannelWebSocket.js +16 -1
  123. package/dist/web/RaftChannelWebSocket.js.map +1 -1
  124. package/dist/web/RaftConnector.d.ts +12 -1
  125. package/dist/web/RaftConnector.js +45 -9
  126. package/dist/web/RaftConnector.js.map +1 -1
  127. package/dist/web/RaftCustomAttrHandler.d.ts +2 -0
  128. package/dist/web/RaftCustomAttrHandler.js +54 -26
  129. package/dist/web/RaftCustomAttrHandler.js.map +1 -1
  130. package/dist/web/RaftDeviceInfo.d.ts +3 -1
  131. package/dist/web/RaftDeviceInfo.js +17 -3
  132. package/dist/web/RaftDeviceInfo.js.map +1 -1
  133. package/dist/web/RaftDeviceManager.d.ts +32 -2
  134. package/dist/web/RaftDeviceManager.js +307 -74
  135. package/dist/web/RaftDeviceManager.js.map +1 -1
  136. package/dist/web/RaftDeviceMgrIF.d.ts +5 -1
  137. package/dist/web/RaftDeviceStates.d.ts +20 -2
  138. package/dist/web/RaftDeviceStates.js +25 -4
  139. package/dist/web/RaftDeviceStates.js.map +1 -1
  140. package/dist/web/RaftMsgHandler.js.map +1 -1
  141. package/dist/web/RaftPublish.d.ts +2 -0
  142. package/dist/web/RaftPublish.js +81 -0
  143. package/dist/web/RaftPublish.js.map +1 -0
  144. package/dist/web/RaftStreamHandler.d.ts +11 -0
  145. package/dist/web/RaftStreamHandler.js +68 -1
  146. package/dist/web/RaftStreamHandler.js.map +1 -1
  147. package/dist/web/RaftStruct.js +197 -147
  148. package/dist/web/RaftStruct.js.map +1 -1
  149. package/dist/web/RaftSystemUtils.d.ts +17 -1
  150. package/dist/web/RaftSystemUtils.js +51 -0
  151. package/dist/web/RaftSystemUtils.js.map +1 -1
  152. package/dist/web/RaftTypes.d.ts +21 -0
  153. package/dist/web/RaftTypes.js.map +1 -1
  154. package/dist/web/RaftUpdateManager.js +1 -1
  155. package/dist/web/RaftUpdateManager.js.map +1 -1
  156. package/dist/web/RaftUtils.d.ts +2 -0
  157. package/dist/web/RaftUtils.js +20 -0
  158. package/dist/web/RaftUtils.js.map +1 -1
  159. package/dist/web/main.d.ts +2 -0
  160. package/dist/web/main.js +1 -0
  161. package/dist/web/main.js.map +1 -1
  162. package/eslint.config.mjs +33 -0
  163. package/examples/dashboard/package.json +36 -0
  164. package/examples/dashboard/src/CommandPanel.tsx +147 -0
  165. package/examples/dashboard/src/ConnManager.ts +166 -0
  166. package/examples/dashboard/src/DeviceActionsForm.tsx +133 -0
  167. package/examples/dashboard/src/DeviceAttrsForm.tsx +49 -0
  168. package/examples/dashboard/src/DeviceLineChart.tsx +163 -0
  169. package/examples/dashboard/src/DevicePanel.tsx +247 -0
  170. package/examples/dashboard/src/DeviceStatsPanel.tsx +65 -0
  171. package/examples/dashboard/src/DevicesPanel.tsx +69 -0
  172. package/examples/dashboard/src/DispLedGrid.tsx +110 -0
  173. package/examples/dashboard/src/DispOneLed.tsx +20 -0
  174. package/examples/dashboard/src/LatencyTest.ts +130 -0
  175. package/examples/dashboard/src/LatencyTestPanel.tsx +92 -0
  176. package/examples/dashboard/src/Main.tsx +234 -0
  177. package/examples/dashboard/src/SettingsManager.ts +67 -0
  178. package/examples/dashboard/src/SettingsScreen.tsx +179 -0
  179. package/examples/dashboard/src/StatusPanel.tsx +71 -0
  180. package/examples/dashboard/src/SystemTypeCog/CogStateInfo.ts +170 -0
  181. package/examples/dashboard/src/SystemTypeCog/SystemTypeCog.ts +125 -0
  182. package/examples/dashboard/src/SystemTypeGeneric/StateInfoGeneric.ts +38 -0
  183. package/examples/dashboard/src/SystemTypeGeneric/SystemTypeGeneric.ts +125 -0
  184. package/examples/dashboard/src/SystemTypeMarty/RICAddOn.ts +70 -0
  185. package/examples/dashboard/src/SystemTypeMarty/RICAddOnBase.ts +33 -0
  186. package/examples/dashboard/src/SystemTypeMarty/RICAddOnManager.ts +342 -0
  187. package/examples/dashboard/src/SystemTypeMarty/RICCommsStats.ts +170 -0
  188. package/examples/dashboard/src/SystemTypeMarty/RICHWElem.ts +123 -0
  189. package/examples/dashboard/src/SystemTypeMarty/RICLEDPatternChecker.ts +207 -0
  190. package/examples/dashboard/src/SystemTypeMarty/RICROSSerial.ts +464 -0
  191. package/examples/dashboard/src/SystemTypeMarty/RICServoFaultDetector.ts +146 -0
  192. package/examples/dashboard/src/SystemTypeMarty/RICStateInfo.ts +105 -0
  193. package/examples/dashboard/src/SystemTypeMarty/RICSystemUtils.ts +371 -0
  194. package/examples/dashboard/src/SystemTypeMarty/RICTypes.ts +20 -0
  195. package/examples/dashboard/src/SystemTypeMarty/SystemTypeMarty.ts +119 -0
  196. package/examples/dashboard/src/index.html +15 -0
  197. package/examples/dashboard/src/index.tsx +13 -0
  198. package/examples/dashboard/src/styles.css +570 -0
  199. package/examples/dashboard/tsconfig.json +18 -0
  200. package/jest.config.js +11 -0
  201. package/package.json +49 -52
  202. package/src/RaftAttributeHandler.ts +450 -0
  203. package/src/RaftChannel.ts +32 -0
  204. package/src/RaftChannelBLE.native.ts +617 -0
  205. package/src/RaftChannelBLE.web.ts +374 -0
  206. package/src/RaftChannelBLEFactory.ts +13 -0
  207. package/src/RaftChannelBLEScanner.native.ts +184 -0
  208. package/src/RaftChannelSimulated.ts +1177 -0
  209. package/src/RaftChannelWebSerial.ts +420 -0
  210. package/src/RaftChannelWebSocket.ts +272 -0
  211. package/src/RaftCommsStats.ts +142 -0
  212. package/src/RaftConnEvents.ts +58 -0
  213. package/src/RaftConnector.ts +806 -0
  214. package/src/RaftCustomAttrHandler.ts +117 -0
  215. package/src/RaftDeviceInfo.ts +125 -0
  216. package/src/RaftDeviceManager.ts +1014 -0
  217. package/src/RaftDeviceMgrIF.ts +37 -0
  218. package/src/RaftDeviceMsg.ts +20 -0
  219. package/src/RaftDeviceStates.ts +122 -0
  220. package/src/RaftFileHandler.ts +668 -0
  221. package/src/RaftLog.ts +70 -0
  222. package/src/RaftMiniHDLC.ts +396 -0
  223. package/src/RaftMsgHandler.ts +812 -0
  224. package/src/RaftMsgTrackInfo.ts +51 -0
  225. package/src/RaftProtocolDefs.ts +46 -0
  226. package/src/RaftPublish.ts +92 -0
  227. package/src/RaftStreamHandler.ts +412 -0
  228. package/src/RaftStruct.ts +282 -0
  229. package/src/RaftSysTypeManager.ts +87 -0
  230. package/src/RaftSystemType.ts +34 -0
  231. package/src/RaftSystemUtils.ts +548 -0
  232. package/src/RaftTypes.ts +306 -0
  233. package/src/RaftUpdateEvents.ts +48 -0
  234. package/src/RaftUpdateManager.ts +781 -0
  235. package/src/RaftUtils.ts +514 -0
  236. package/src/RaftWifiTypes.ts +36 -0
  237. package/src/main.ts +40 -0
  238. package/testdata/TestDeviceTypeRecs.json +492 -0
  239. package/tsconfig.json +30 -0
  240. package/tsconfig.react-native.json +29 -0
@@ -0,0 +1,257 @@
1
+ import RaftChannel from "./RaftChannel";
2
+ import RaftMsgHandler, { RaftMsgResultCode } from "./RaftMsgHandler";
3
+ import RaftCommsStats from "./RaftCommsStats";
4
+ import { RaftEventFn, RaftOKFail, RaftFileDownloadResult, RaftProgressCBType, RaftStreamDataProgressCBType, RaftBridgeSetupResp, RaftFileDownloadFn, RaftReportMsg } from "./RaftTypes";
5
+ import RaftSystemUtils from "./RaftSystemUtils";
6
+ import RaftStreamHandler from "./RaftStreamHandler";
7
+ import { RaftConnEvent } from "./RaftConnEvents";
8
+ import { RaftGetSystemTypeCBType, RaftSystemType } from "./RaftSystemType";
9
+ import { RaftUpdateEvent } from "./RaftUpdateEvents";
10
+ export default class RaftConnector {
11
+ private _getSystemTypeCB;
12
+ private _systemType;
13
+ private _raftChannel;
14
+ private _channelConnMethod;
15
+ private _channelConnLocator;
16
+ private _commsStats;
17
+ private _raftMsgHandler;
18
+ private _raftSystemUtils;
19
+ private readonly _testConnPerfBlockSize;
20
+ private readonly _testConnPerfNumBlocks;
21
+ private readonly _connPerfRsltDelayMs;
22
+ private _retryIfLostEnabled;
23
+ private _retryIfLostForSecs;
24
+ private _retryIfLostIsConnected;
25
+ private _retryIfLostDisconnectTime;
26
+ private readonly _retryIfLostRetryDelayMs;
27
+ private _raftFileHandler;
28
+ private _raftStreamHandler;
29
+ getStreamHandler(): RaftStreamHandler;
30
+ private _onEventFn;
31
+ private _raftUpdateManager;
32
+ /**
33
+ * RaftConnector constructor
34
+ * @param getSystemTypeCB - callback to get system type
35
+ */
36
+ constructor(getSystemTypeCB?: RaftGetSystemTypeCBType | null);
37
+ /**
38
+ * Configure the file handler
39
+ * @param fileBlockSize - size of file blocks to send
40
+ * @param batchAckSize - number of blocks to send before waiting for ack
41
+ * @returns void
42
+ */
43
+ configureFileHandler(fileBlockSize: number, batchAckSize: number): void;
44
+ /**
45
+ * Set event listener
46
+ * @param onEventFn - event listener
47
+ * @returns void
48
+ * */
49
+ setEventListener(onEventFn: RaftEventFn): void;
50
+ /**
51
+ * isConnected
52
+ * @returns boolean - true if connected
53
+ * */
54
+ isConnected(): boolean;
55
+ /**
56
+ * Set try to reconnect if connection lost
57
+ * @param enableRetry - true to enable retry
58
+ * @param retryForSecs - retry for this many seconds
59
+ * @returns void
60
+ * */
61
+ setRetryConnectionIfLost(enableRetry: boolean, retryForSecs: number): void;
62
+ /**
63
+ * Get Raft system type (the type of hardware connected to - determined using the getSystemInfo API)
64
+ * @returns RaftSystemType | null - Raft system type
65
+ * */
66
+ getSystemType(): RaftSystemType | null;
67
+ /**
68
+ * Get connection method
69
+ * @returns string - connection method
70
+ * */
71
+ getConnMethod(): string;
72
+ /**
73
+ * Get connection locator
74
+ * @returns string | object - connection locator
75
+ * */
76
+ getConnLocator(): any | null;
77
+ /**
78
+ * Get Raft channel (this is the channel used for commuinications with the Raft application)
79
+ * @returns RaftChannel | null - Raft channel
80
+ * */
81
+ getRaftChannel(): RaftChannel | null;
82
+ /**
83
+ * Get Raft system utils (access to system information and control)
84
+ * @returns RaftSystemUtils - Raft system utils
85
+ * */
86
+ getRaftSystemUtils(): RaftSystemUtils;
87
+ /**
88
+ * Get communication stats
89
+ * @returns RaftCommsStats - communication stats
90
+ * */
91
+ getCommsStats(): RaftCommsStats;
92
+ /**
93
+ * Get Raft message handler (to allow message sending and receiving)
94
+ * @returns RaftMsgHandler - Raft message handler
95
+ * */
96
+ getRaftMsgHandler(): RaftMsgHandler;
97
+ /**
98
+ * Pause connection
99
+ * @param pause - true to pause, false to resume
100
+ */
101
+ pauseConnection(pause?: boolean): void;
102
+ /**
103
+ * Initialize the Raft channel
104
+ */
105
+ initializeChannel(method: string): Promise<boolean>;
106
+ /**
107
+ * Connect to a Raft device
108
+ *
109
+ * @param {string | object} locator - either a string (WebSocket URL or serial port) or an object (WebBLE)
110
+ * @returns Promise<boolean>
111
+ *
112
+ */
113
+ connect(locator: string | object): Promise<boolean>;
114
+ disconnect(): Promise<void>;
115
+ /**
116
+ *
117
+ * sendRICRESTMsg
118
+ * @param commandName command API string
119
+ * @param params parameters (simple name value pairs only) to parameterize trajectory
120
+ * @returns Promise<RaftOKFail>
121
+ *
122
+ */
123
+ sendRICRESTMsg(commandName: string, params: object, bridgeID?: number | undefined): Promise<RaftOKFail>;
124
+ /**
125
+ * onRxReply - handle a reply message
126
+ * @param msgHandle number indicating the message that is being replied to (from the original message)
127
+ * @param msgRsltCode result code
128
+ * @param msgRsltJsonObj result object
129
+ */
130
+ onRxReply(msgHandle: number, msgRsltCode: RaftMsgResultCode, msgRsltJsonObj: object | null): void;
131
+ /**
132
+ * onRxUnnumberedMsg - handle an unnumbered message
133
+ * @param msgRsltJsonObj result object
134
+ */
135
+ onRxUnnumberedMsg(msgRsltJsonObj: {
136
+ [key: string]: number | string;
137
+ }): void;
138
+ /**
139
+ * onRxFileBlock - handle a file block
140
+ * @param filePos file position
141
+ * @param fileBlockData file block data
142
+ */
143
+ onRxFileBlock(filePos: number, fileBlockData: Uint8Array): void;
144
+ /**
145
+ * onRxOtherMsgType - handle other message types
146
+ * @param payload message payload
147
+ * @param frameTimeMs time of frame
148
+ */
149
+ onRxOtherMsgType(payload: Uint8Array, _frameTimeMs: number): void;
150
+ /**
151
+ * sendFile - send a file
152
+ * @param fileName name of file to send
153
+ * @param fileContents file contents
154
+ * @param progressCallback callback to receive progress updates
155
+ * @returns Promise<boolean> - true if file sent successfully
156
+ */
157
+ sendFile(fileName: string, fileContents: Uint8Array, progressCallback: ((sent: number, total: number, progress: number) => void) | undefined): Promise<boolean>;
158
+ /**
159
+ * streamData - stream arbitrary data to a named firmware endpoint using the RT_STREAM protocol.
160
+ * @param streamContents data to stream
161
+ * @param fileName logical filename sent in ufStart (e.g. "pattern.thr")
162
+ * @param targetEndpoint REST API endpoint name on the firmware (e.g. "streampattern")
163
+ * @param progressCallback optional (sent, total, progress) callback
164
+ * @returns Promise<boolean> true on success
165
+ */
166
+ streamData(streamContents: Uint8Array, fileName: string, targetEndpoint: string, progressCallback?: RaftStreamDataProgressCBType): Promise<boolean>;
167
+ /**
168
+ * streamAudio - stream audio
169
+ * @param streamContents audio data
170
+ * @param clearExisting true to clear existing audio
171
+ * @param duration duration of audio
172
+ */
173
+ streamAudio(streamContents: Uint8Array, clearExisting: boolean, duration: number): void;
174
+ /**
175
+ * isStreamStarting - check if stream is starting
176
+ */
177
+ isStreamStarting(): boolean;
178
+ /**
179
+ * fsGetContents - get file contents
180
+ * @param fileName name of file to get
181
+ * @param fileSource source of file to get (e.g. "fs" or "bridgeserial1", if omitted defaults to "fs")
182
+ * @param progressCallback callback to receive progress updates
183
+ * @returns Promise<RaftFileDownloadResult>
184
+ */
185
+ fsGetContents(fileName: string, fileSource: string, progressCallback: RaftProgressCBType | undefined): Promise<RaftFileDownloadResult>;
186
+ /**
187
+ * setLegacySoktoMode - set legacy sokto mode
188
+ * @param legacyMode true to set legacy mode
189
+ */
190
+ setLegacySoktoMode(legacyMode: boolean): void;
191
+ /**
192
+ * createCommsBridge - create a comms bridge
193
+ * @param bridgeSource source of bridge (e.g. "Serial1")
194
+ * @param bridgeName name of bridge
195
+ * @param idleCloseSecs idle close time seconds
196
+ * @returns Promise<RaftBridgeSetupResp>
197
+ */
198
+ createCommsBridge(bridgeSource: string, bridgeName: string, idleCloseSecs?: number): Promise<RaftBridgeSetupResp>;
199
+ /**
200
+ * ParkMiller random number generator
201
+ * @param seed
202
+ * @returns number
203
+ */
204
+ private parkmiller_next;
205
+ /**
206
+ * checkConnPerformance - check connection performance
207
+ * @returns Promise<number | undefined> - connection performance
208
+ */
209
+ checkConnPerformance(): Promise<number | undefined>;
210
+ /**
211
+ * onConnEvent - handle connection event
212
+ * @param eventEnum connection event enumeration
213
+ * @param data data associated with event
214
+ * @returns void
215
+ */
216
+ onConnEvent(eventEnum: RaftConnEvent, data?: object | string | null | undefined): void;
217
+ /**
218
+ * Retry connection
219
+ */
220
+ private _retryConnection;
221
+ /**
222
+ * Connect to channel
223
+ * @returns Promise<boolean> - true if connected
224
+ */
225
+ private _connectToChannel;
226
+ /**
227
+ * onUpdateEvent - handle update event
228
+ * @param eventEnum
229
+ * @param data
230
+ */
231
+ _onUpdateEvent(eventEnum: RaftUpdateEvent, data?: object | string | null | undefined): void;
232
+ /**
233
+ * otaUpdateCheck - check for OTA update
234
+ * @returns Promise<RaftUpdateEvent> - update event
235
+ * */
236
+ otaUpdateCheck(): Promise<RaftUpdateEvent>;
237
+ /**
238
+ * otaUpdateStart - start OTA update
239
+ * @returns Promise<RaftUpdateEvent> - update event
240
+ * */
241
+ otaUpdateStart(): Promise<RaftUpdateEvent>;
242
+ /**
243
+ * otaUpdateCancel - cancel OTA update
244
+ * @returns Promise<void>
245
+ * */
246
+ otaUpdateCancel(): Promise<void>;
247
+ /**
248
+ * setupUpdateManager - setup the update manager
249
+ * @param appVersion - app version
250
+ * @param appUpdateURL - app update URL
251
+ * @param firmwareBaseURL - firmware base URL
252
+ * @param fileDownloader - file downloader
253
+ * @returns void
254
+ * */
255
+ setupUpdateManager(appVersion: string, appUpdateURL: string, firmwareBaseURL: string, fileDownloader: RaftFileDownloadFn): void;
256
+ onRxReportMsg(reportMsg: RaftReportMsg): Promise<void>;
257
+ }