@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,463 @@
1
+ "use strict";
2
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3
+ //
4
+ // RaftSystem
5
+ // Part of RaftJS
6
+ //
7
+ // Rob Dobson & Chris Greening 2020-2024
8
+ // (C) 2020-2024 All rights reserved
9
+ //
10
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const tslib_1 = require("tslib");
13
+ const RaftWifiTypes_1 = require("./RaftWifiTypes");
14
+ const RaftLog_1 = tslib_1.__importDefault(require("./RaftLog"));
15
+ const RaftTypes_1 = require("./RaftTypes");
16
+ class RaftSystemUtils {
17
+ /**
18
+ * constructor
19
+ * @param raftMsgHandler
20
+ */
21
+ constructor(raftMsgHandler) {
22
+ // System info
23
+ this._systemInfo = null;
24
+ // Raft naming
25
+ this._friendlyName = null;
26
+ // WiFi connection info
27
+ this._wifiConnStatus = new RaftWifiTypes_1.RaftWifiConnStatus();
28
+ this._defaultWiFiHostname = "Raft";
29
+ this._maxSecsToWaitForWiFiConn = 20;
30
+ // Publish topic index/name lookup tables (session scoped)
31
+ this._pubTopicIdxToName = {};
32
+ this._pubTopicNameToIdx = {};
33
+ this._msgHandler = raftMsgHandler;
34
+ }
35
+ /**
36
+ * getMsgHandler
37
+ * @returns RaftMsgHandler
38
+ */
39
+ getMsgHandler() {
40
+ return this._msgHandler;
41
+ }
42
+ /**
43
+ * Update publish topic maps from topic records.
44
+ */
45
+ updatePublishTopicMap(topicRecs) {
46
+ if (!topicRecs || !Array.isArray(topicRecs)) {
47
+ return;
48
+ }
49
+ for (const topicRec of topicRecs) {
50
+ if (!topicRec || typeof topicRec.name !== "string" || typeof topicRec.idx !== "number") {
51
+ continue;
52
+ }
53
+ this._pubTopicIdxToName[topicRec.idx] = topicRec.name;
54
+ this._pubTopicNameToIdx[topicRec.name] = topicRec.idx;
55
+ }
56
+ }
57
+ /**
58
+ * Update publish topic maps from subscription response.
59
+ */
60
+ updatePublishTopicMapFromSubscriptionResponse(resp) {
61
+ if (!resp || typeof resp !== "object") {
62
+ return;
63
+ }
64
+ if ("topics" in resp) {
65
+ this.updatePublishTopicMap(resp.topics);
66
+ }
67
+ }
68
+ /**
69
+ * Fetch publish topic map from firmware endpoint.
70
+ */
71
+ async refreshPublishTopicMap() {
72
+ try {
73
+ const pubTopicsResp = await this._msgHandler.sendRICRESTURL("pubtopics");
74
+ if (pubTopicsResp && pubTopicsResp.rslt === "ok") {
75
+ this.updatePublishTopicMap(pubTopicsResp.topics);
76
+ return true;
77
+ }
78
+ }
79
+ catch (error) {
80
+ RaftLog_1.default.debug(`refreshPublishTopicMap failed ${error}`);
81
+ }
82
+ return false;
83
+ }
84
+ getPublishTopicName(topicIndex) {
85
+ return this._pubTopicIdxToName[topicIndex];
86
+ }
87
+ getPublishTopicIndex(topicName) {
88
+ return this._pubTopicNameToIdx[topicName];
89
+ }
90
+ /**
91
+ * setDefaultWiFiHostname
92
+ * @param defaultWiFiHostname
93
+ */
94
+ setDefaultWiFiHostname(defaultWiFiHostname) {
95
+ if (defaultWiFiHostname) {
96
+ this._defaultWiFiHostname = defaultWiFiHostname;
97
+ }
98
+ }
99
+ /**
100
+ * getFriendlyName
101
+ *
102
+ * @returns friendly name
103
+ */
104
+ getFriendlyName() {
105
+ return this._friendlyName;
106
+ }
107
+ /**
108
+ * invalidate
109
+ */
110
+ invalidate() {
111
+ // Invalidate system info
112
+ this._systemInfo = null;
113
+ this._friendlyName = null;
114
+ RaftLog_1.default.debug("RaftSystemUtils information invalidated");
115
+ }
116
+ /**
117
+ * retrieveInfo - get system info
118
+ * @returns Promise<RaftSystemInfo>
119
+ *
120
+ */
121
+ async retrieveInfo() {
122
+ var _a;
123
+ // Get system info
124
+ RaftLog_1.default.debug(`RaftSystemUtils retrieveInfo getting system info`);
125
+ try {
126
+ await this.getSystemInfo(true);
127
+ RaftLog_1.default.debug(`retrieveInfo - Raft Version ${(_a = this._systemInfo) === null || _a === void 0 ? void 0 : _a.SystemVersion}`);
128
+ }
129
+ catch (error) {
130
+ RaftLog_1.default.warn("RaftSystemUtils retrieveInfo - frailed to get version " + error);
131
+ return false;
132
+ }
133
+ // Get app name
134
+ try {
135
+ await this.getRaftName();
136
+ }
137
+ catch (error) {
138
+ RaftLog_1.default.warn("retrieveInfo - failed to get Raft name " + error);
139
+ return false;
140
+ }
141
+ // Get WiFi connected info
142
+ try {
143
+ await this.getWiFiConnStatus();
144
+ }
145
+ catch (error) {
146
+ RaftLog_1.default.warn("RaftSystemUtils retrieveInfo - failed to get WiFi Status " + error);
147
+ return false;
148
+ }
149
+ return true;
150
+ }
151
+ /**
152
+ *
153
+ * getSystemInfo
154
+ * @param forceGet - true to force a get from the raft app
155
+ * @returns Promise<RaftSystemInfo>
156
+ *
157
+ */
158
+ async getSystemInfo(forceGet = false) {
159
+ if (!forceGet && this._systemInfo) {
160
+ return this._systemInfo;
161
+ }
162
+ try {
163
+ this._systemInfo = await this._msgHandler.sendRICRESTURL("v");
164
+ RaftLog_1.default.debug("getRaftSystemInfo returned " + JSON.stringify(this._systemInfo));
165
+ this._systemInfo.validMs = Date.now();
166
+ // Check if friendly name is included in system info
167
+ if (this._systemInfo.Friendly && (this._systemInfo.Friendly.length > 0)) {
168
+ this._friendlyName = { "friendlyName": this._systemInfo.Friendly, "friendlyNameIsSet": true, "rslt": "ok", "validMs": Date.now() };
169
+ }
170
+ // Handle alternatives in system info
171
+ if ((this._systemInfo.RicHwRevNo !== undefined) && (this._systemInfo.HwRev === undefined)) {
172
+ this._systemInfo.HwRev = this._systemInfo.RicHwRevNo;
173
+ }
174
+ else if ((this._systemInfo.HwRev !== undefined) && (this._systemInfo.RicHwRevNo === undefined)) {
175
+ this._systemInfo.RicHwRevNo = this._systemInfo.HwRev;
176
+ }
177
+ // Return system info
178
+ return this._systemInfo;
179
+ }
180
+ catch (error) {
181
+ RaftLog_1.default.debug(`RaftSystemUtils getRaftSystemInfo Failed to get version ${error}`);
182
+ return new RaftTypes_1.RaftSystemInfo();
183
+ }
184
+ }
185
+ /**
186
+ *
187
+ * setRaftName
188
+ * @param newName name to refer to Raft - used for BLE advertising
189
+ * @returns Promise<boolean> true if successful
190
+ *
191
+ */
192
+ async setRaftName(newName) {
193
+ try {
194
+ this._friendlyName = await this._msgHandler.sendRICRESTURL(`friendlyname/${newName}`);
195
+ if (this._friendlyName) {
196
+ this._friendlyName.friendlyNameIsSet = false;
197
+ this._friendlyName.validMs = Date.now();
198
+ if (this._friendlyName &&
199
+ this._friendlyName.rslt &&
200
+ this._friendlyName.rslt.toLowerCase() === "ok") {
201
+ this._friendlyName.friendlyNameIsSet = true;
202
+ }
203
+ RaftLog_1.default.debug("RaftSystemUtils setRaftName returned " + JSON.stringify(this._friendlyName));
204
+ return true;
205
+ }
206
+ return true;
207
+ }
208
+ catch (error) {
209
+ RaftLog_1.default.debug(`RaftSystemUtils setRaftName Failed to set name ${error}`);
210
+ this._friendlyName = null;
211
+ return false;
212
+ }
213
+ }
214
+ /**
215
+ *
216
+ * getRaftName
217
+ * @param forceGet - true to force a get from the raft app
218
+ * @returns Promise<RaftNameResponse> (object containing rslt)
219
+ *
220
+ */
221
+ async getRaftName(forceGet = false) {
222
+ // Check if we have a cached value
223
+ if (!forceGet && this._friendlyName && this._friendlyName.validMs) {
224
+ return this._friendlyName;
225
+ }
226
+ try {
227
+ this._friendlyName = await this._msgHandler.sendRICRESTURL("friendlyname");
228
+ if (this._friendlyName &&
229
+ this._friendlyName.rslt &&
230
+ this._friendlyName.rslt === "ok") {
231
+ this._friendlyName.friendlyNameIsSet = this._friendlyName
232
+ .friendlyNameIsSet
233
+ ? true
234
+ : false;
235
+ }
236
+ else {
237
+ this._friendlyName.friendlyNameIsSet = false;
238
+ }
239
+ this._friendlyName.validMs = Date.now();
240
+ RaftLog_1.default.debug("RaftSystemUtils Friendly name set is: " + JSON.stringify(this._friendlyName));
241
+ return this._friendlyName;
242
+ }
243
+ catch (error) {
244
+ RaftLog_1.default.debug(`RaftSystemUtils getRaftName Failed to get name ${error}`);
245
+ return new RaftTypes_1.RaftFriendlyName();
246
+ }
247
+ }
248
+ /**
249
+ *
250
+ * getFileList - get list of files on file system
251
+ * @returns Promise<RaftFileList>
252
+ *
253
+ */
254
+ async getFileList() {
255
+ try {
256
+ const ricFileList = await this._msgHandler.sendRICRESTURL("filelist");
257
+ RaftLog_1.default.debug("RaftSystemUtils getFileList returned " + ricFileList);
258
+ return ricFileList;
259
+ }
260
+ catch (error) {
261
+ RaftLog_1.default.debug(`RaftSystemUtils getFileList Failed to get file list ${error}`);
262
+ return new RaftTypes_1.RaftFileList();
263
+ }
264
+ }
265
+ /**
266
+ *
267
+ * Get BLEMan sysmod info
268
+ *
269
+ * @returns RaftSysModInfoBLEMan
270
+ *
271
+ */
272
+ async getSysModInfoBLEMan() {
273
+ try {
274
+ // Get SysMod Info
275
+ const bleInfo = await this._msgHandler.sendRICRESTURL("sysmodinfo/BLEMan");
276
+ // Debug
277
+ RaftLog_1.default.debug(`getSysModInfoBLEMan rslt ${bleInfo.rslt} isConn ${bleInfo.isConn} paused ${bleInfo.isAdv} txBPS ${bleInfo.txBPS} rxBPS ${bleInfo.rxBPS}`);
278
+ // Check for test rate
279
+ if ("tBPS" in bleInfo) {
280
+ RaftLog_1.default.debug(`getSysModInfoBLEMan testMsgs ${bleInfo.tM} testBytes ${bleInfo.tB} testRateBytesPS ${bleInfo.tBPS}`);
281
+ }
282
+ return bleInfo;
283
+ }
284
+ catch (error) {
285
+ RaftLog_1.default.debug(`getSysModInfoBLEMan sysmodinfo/BLEMan failed ${error}`);
286
+ }
287
+ return null;
288
+ }
289
+ /**
290
+ * Get hostname of connected WiFi
291
+ *
292
+ * @return string - hostname of connected WiFi
293
+ *
294
+ */
295
+ _getHostnameFromFriendlyName() {
296
+ const friendlyName = this.getFriendlyName();
297
+ if (!friendlyName) {
298
+ return this._defaultWiFiHostname;
299
+ }
300
+ let hostname = friendlyName.friendlyName;
301
+ hostname = hostname === null || hostname === void 0 ? void 0 : hostname.replace(/ /g, "-");
302
+ hostname = hostname.replace(/\W+/g, "");
303
+ return hostname;
304
+ }
305
+ /**
306
+ * Get Wifi connection status
307
+ *
308
+ * @return boolean - true if connected
309
+ *
310
+ */
311
+ async getWiFiConnStatus() {
312
+ try {
313
+ // Get status
314
+ const ricSysModInfoWiFi = await this._msgHandler.sendRICRESTURL("sysmodinfo/NetMan");
315
+ RaftLog_1.default.debug(`wifiConnStatus rslt ${ricSysModInfoWiFi.rslt} isConn ${ricSysModInfoWiFi.isConn} paused ${ricSysModInfoWiFi.isPaused}`);
316
+ // Check status indicates WiFi connected
317
+ if (ricSysModInfoWiFi.rslt === "ok") {
318
+ this._wifiConnStatus.connState =
319
+ ricSysModInfoWiFi.isConn !== 0
320
+ ? RaftWifiTypes_1.RaftWifiConnState.WIFI_CONN_CONNECTED
321
+ : RaftWifiTypes_1.RaftWifiConnState.WIFI_CONN_NONE;
322
+ this._wifiConnStatus.isPaused = ricSysModInfoWiFi.isPaused !== 0;
323
+ this._wifiConnStatus.ipAddress = ricSysModInfoWiFi.IP;
324
+ this._wifiConnStatus.hostname = ricSysModInfoWiFi.Hostname;
325
+ this._wifiConnStatus.ssid = ricSysModInfoWiFi.SSID;
326
+ this._wifiConnStatus.bssid = ricSysModInfoWiFi.WiFiMAC;
327
+ this._wifiConnStatus.validMs = Date.now();
328
+ return (ricSysModInfoWiFi.isConn !== 0 || ricSysModInfoWiFi.isPaused !== 0);
329
+ }
330
+ }
331
+ catch (error) {
332
+ RaftLog_1.default.debug(`[DEBUG]: wifiConnStatus sysmodinfo failed ${error}`);
333
+ this._wifiConnStatus.validMs = 0;
334
+ }
335
+ this._wifiConnStatus.connState = RaftWifiTypes_1.RaftWifiConnState.WIFI_CONN_NONE;
336
+ this._wifiConnStatus.isPaused = false;
337
+ return null;
338
+ }
339
+ // Mark: WiFi Connection ------------------------------------------------------------------------------------
340
+ /**
341
+ * pause Wifi connection
342
+ *
343
+ * @param boolean - true to pause, false to resume
344
+ * @return boolean - true if successful
345
+ *
346
+ */
347
+ async pauseWifiConnection(pause) {
348
+ try {
349
+ if (pause) {
350
+ await this._msgHandler.sendRICRESTURL("wifipause/pause");
351
+ }
352
+ else {
353
+ await this._msgHandler.sendRICRESTURL("wifipause/resume");
354
+ }
355
+ }
356
+ catch (error) {
357
+ RaftLog_1.default.debug(`RaftSystemUtils wifiConnect wifi pause ${error}`);
358
+ return true;
359
+ }
360
+ return false;
361
+ }
362
+ /**
363
+ * Connect to WiFi
364
+ *
365
+ * @param string - WiFi SSID
366
+ * @param string - WiFi password
367
+ * @return boolean - true if successful
368
+ *
369
+ */
370
+ async wifiConnect(ssid, password) {
371
+ RaftLog_1.default.debug(`RaftSystemUtils Connect to WiFi ${ssid} password ${password}`);
372
+ // Issue the command to connect WiFi
373
+ try {
374
+ const RaftRESTURL_wifiCredentials = "w/" +
375
+ ssid +
376
+ "/" +
377
+ password +
378
+ "/" +
379
+ this._getHostnameFromFriendlyName();
380
+ RaftLog_1.default.debug(`wifiConnect attempting to connect to wifi ${RaftRESTURL_wifiCredentials}`);
381
+ await this._msgHandler.sendRICRESTURL(RaftRESTURL_wifiCredentials);
382
+ }
383
+ catch (error) {
384
+ RaftLog_1.default.debug(`RaftSystemUtils wifiConnect failed ${error}`);
385
+ return false;
386
+ }
387
+ // Wait until connected, timed-out or failed
388
+ for (let timeoutCount = 0; timeoutCount < this._maxSecsToWaitForWiFiConn; timeoutCount++) {
389
+ // Wait a little before checking
390
+ await new Promise((resolve) => setTimeout(resolve, 1000));
391
+ // Get status info
392
+ const connStat = await this.getWiFiConnStatus();
393
+ RaftLog_1.default.debug(`RaftSystemUtils wifiConnect connStat ${connStat}`);
394
+ if (connStat) {
395
+ return true;
396
+ }
397
+ }
398
+ return false;
399
+ }
400
+ /**
401
+ * Disconnect WiFi
402
+ *
403
+ * @return boolean - true if successful
404
+ *
405
+ */
406
+ async wifiDisconnect() {
407
+ try {
408
+ RaftLog_1.default.debug(`RaftSystemUtils wifiDisconnect clearing wifi info`);
409
+ await this._msgHandler.sendRICRESTURL("wc");
410
+ this.getWiFiConnStatus();
411
+ return true;
412
+ }
413
+ catch (error) {
414
+ RaftLog_1.default.debug(`RaftSystemUtils wifiDisconnect clearing unsuccessful ${error}`);
415
+ }
416
+ return false;
417
+ }
418
+ // Mark: WiFi Scan ------------------------------------------------------------------------------------
419
+ /**
420
+ * WiFiScan start
421
+ *
422
+ * @return boolean - true if successful
423
+ *
424
+ */
425
+ async wifiScanStart() {
426
+ try {
427
+ RaftLog_1.default.debug(`RaftSystemUtils wifiScanStart`);
428
+ await this._msgHandler.sendRICRESTURL("wifiscan/start");
429
+ return true;
430
+ }
431
+ catch (error) {
432
+ RaftLog_1.default.debug(`RaftSystemUtils wifiScanStart unsuccessful ${error}`);
433
+ }
434
+ return false;
435
+ }
436
+ /**
437
+ * WiFiScan get results
438
+ *
439
+ * @return boolean - false if unsuccessful, otherwise the results of the promise
440
+ *
441
+ */
442
+ async wifiScanResults() {
443
+ try {
444
+ RaftLog_1.default.debug(`RaftSystemUtils wifiScanResults`);
445
+ return this._msgHandler.sendRICRESTURL("wifiscan/results");
446
+ }
447
+ catch (error) {
448
+ RaftLog_1.default.debug(`RaftSystemUtils wifiScanResults unsuccessful ${error}`);
449
+ }
450
+ return false;
451
+ }
452
+ getCachedSystemInfo() {
453
+ return this._systemInfo;
454
+ }
455
+ getCachedRaftName() {
456
+ return this._friendlyName;
457
+ }
458
+ getCachedWifiStatus() {
459
+ return this._wifiConnStatus;
460
+ }
461
+ }
462
+ exports.default = RaftSystemUtils;
463
+ //# sourceMappingURL=RaftSystemUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RaftSystemUtils.js","sourceRoot":"","sources":["../../src/RaftSystemUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,216 @@
1
+ import { RaftConnEvent } from './RaftConnEvents';
2
+ import { RaftUpdateEvent } from './RaftUpdateEvents';
3
+ export declare enum RaftPublishEvent {
4
+ PUBLISH_EVENT_DATA = 0
5
+ }
6
+ export declare const RaftPublishEventNames: {
7
+ 0: string;
8
+ };
9
+ export declare enum RaftFileSendType {
10
+ NORMAL_FILE = 0,
11
+ FIRMWARE_UPDATE = 1
12
+ }
13
+ export declare enum RaftStreamType {
14
+ REAL_TIME_STREAM = 0
15
+ }
16
+ export type RaftEventFn = (eventType: string, eventEnum: RaftConnEvent | RaftUpdateEvent | RaftPublishEvent, eventName: string, data?: object | string | null) => void;
17
+ export interface RaftSubscription {
18
+ remove(): void;
19
+ }
20
+ export declare class RaftFriendlyName {
21
+ friendlyName: string;
22
+ friendlyNameIsSet?: boolean | undefined;
23
+ req?: string | undefined;
24
+ rslt?: string | undefined;
25
+ validMs?: number | undefined;
26
+ }
27
+ export declare class RaftSystemInfo {
28
+ rslt: string;
29
+ SystemName: string;
30
+ SystemVersion: string;
31
+ RicHwRevNo?: string | number;
32
+ HwRev?: string | number;
33
+ MAC?: string | undefined;
34
+ SerialNo?: string | undefined;
35
+ validMs?: number | undefined;
36
+ Friendly?: string | undefined;
37
+ }
38
+ export type RaftCalibInfo = {
39
+ rslt: string;
40
+ calDone: number;
41
+ validMs?: number;
42
+ };
43
+ export declare class RaftOKFail {
44
+ rslt: string;
45
+ }
46
+ export type RaftPubTopicRec = {
47
+ name: string;
48
+ idx: number;
49
+ };
50
+ export type RaftSubscriptionUpdateResponse = RaftOKFail & {
51
+ topics?: Array<RaftPubTopicRec>;
52
+ };
53
+ export type RaftPubTopicsResponse = RaftOKFail & {
54
+ topics?: Array<RaftPubTopicRec>;
55
+ };
56
+ export type RaftPublishFrameType = 'json' | 'binary' | 'unknown';
57
+ export type RaftPublishFrameMeta = {
58
+ frameType: RaftPublishFrameType;
59
+ topicIndex?: number;
60
+ topicName?: string;
61
+ version?: number;
62
+ binaryHasEnvelope?: boolean;
63
+ binaryPayloadOffset?: number;
64
+ jsonString?: string;
65
+ };
66
+ export type RaftReportMsg = {
67
+ msgType?: string;
68
+ rslt?: string;
69
+ timeReceived?: number;
70
+ hexRd?: string;
71
+ elemName?: string;
72
+ IDNo?: number;
73
+ msgKey?: string;
74
+ addr?: number;
75
+ msgBody?: string;
76
+ msgName?: string;
77
+ };
78
+ export type RaftHWFWStat = {
79
+ s: string;
80
+ m: string;
81
+ v: string;
82
+ n: string;
83
+ p: number;
84
+ i: number;
85
+ };
86
+ export type RaftHWFWUpdRslt = {
87
+ req: string;
88
+ rslt: string;
89
+ st: RaftHWFWStat;
90
+ };
91
+ export type RaftFWInfo = {
92
+ elemType: string;
93
+ version: string;
94
+ destname: string;
95
+ md5: string;
96
+ releaseNotes: string;
97
+ comments: string;
98
+ updaters: Array<string>;
99
+ downloadUrl: string;
100
+ firmware?: string;
101
+ };
102
+ export type RaftUpdateInfo = {
103
+ rslt: string;
104
+ firmwareVersion: string;
105
+ ricRevision: string;
106
+ files: Array<RaftFWInfo>;
107
+ minimumUpdaterVersion: Dictionary<string>;
108
+ note: string;
109
+ };
110
+ export type RaftFileStartResp = {
111
+ rslt: string;
112
+ batchMsgSize: number;
113
+ batchAckSize: number;
114
+ };
115
+ export type RaftStreamStartResp = {
116
+ rslt: string;
117
+ streamID: number;
118
+ maxBlockSize?: number;
119
+ };
120
+ export type RaftBridgeSetupResp = {
121
+ rslt: string;
122
+ bridgeID: number;
123
+ };
124
+ export type RaftFile = {
125
+ name: string;
126
+ size: number;
127
+ };
128
+ export declare class RaftFileList {
129
+ req: string;
130
+ rslt: string;
131
+ fsName: string;
132
+ fsBase: string;
133
+ diskSize: number;
134
+ diskUsed: number;
135
+ folder: string;
136
+ files: Array<RaftFile>;
137
+ }
138
+ export declare class RaftSysModInfoBLEMan {
139
+ req?: string | undefined;
140
+ rslt: string;
141
+ isConn: boolean;
142
+ isAdv: boolean;
143
+ advName?: string | undefined;
144
+ BLEMAC: string;
145
+ rssi: number;
146
+ rxM: number;
147
+ rxB: number;
148
+ rxBPS: number;
149
+ txM: number;
150
+ txB: number;
151
+ txBPS: number;
152
+ txErr: number;
153
+ txErrPS: number;
154
+ tM?: number | undefined;
155
+ tB?: number | undefined;
156
+ tBPS?: number | undefined;
157
+ tSeqErrs?: number | undefined;
158
+ tDatErrs?: number | undefined;
159
+ }
160
+ export type RaftProgressCBType = (received: number, total: number) => void;
161
+ export type RaftStreamDataProgressCBType = (sent: number, total: number, progress: number) => void;
162
+ export declare class RaftFileDownloadResult {
163
+ fileData: Uint8Array | null;
164
+ downloadedOk: boolean;
165
+ constructor(buffer?: Uint8Array | undefined);
166
+ }
167
+ export type RaftFileDownloadFn = (downloadUrl: string, progressCB: RaftProgressCBType) => Promise<RaftFileDownloadResult>;
168
+ export type RaftFileDownloadResp = {
169
+ req: string;
170
+ rslt: string;
171
+ };
172
+ export type RaftFileDownloadStartResp = {
173
+ req: string;
174
+ rslt: string;
175
+ batchMsgSize: number;
176
+ batchAckSize: number;
177
+ streamID: number;
178
+ fileLen: number;
179
+ crc16: string;
180
+ };
181
+ export interface Dictionary<T> {
182
+ [key: string]: T;
183
+ }
184
+ export type RaftWifiScanResults = {
185
+ req: string;
186
+ rslt: string;
187
+ wifi: WifiScanWifiItem[];
188
+ };
189
+ export type WifiScanWifiItem = {
190
+ ssid: string;
191
+ rssi: number;
192
+ ch1: number;
193
+ ch2: number;
194
+ auth: string;
195
+ bssid: string;
196
+ pair: string;
197
+ group: string;
198
+ };
199
+ export type PystatusMsgType = {
200
+ req: string;
201
+ running: string;
202
+ rslt: string;
203
+ };
204
+ export declare class DiscoveredDevice {
205
+ _localName: string;
206
+ _name: string;
207
+ _id: string;
208
+ _rssi: number;
209
+ _serviceUUIDs: string[] | null;
210
+ constructor(localName: string, name: string, id: string, rssi: number, serviceUUIDs: string[] | null);
211
+ get name(): string;
212
+ get id(): string;
213
+ get rssi(): number;
214
+ get serviceUUIDs(): string[] | null;
215
+ }
216
+ export type DiscoveredDevicesCB = (discoveredDevicess: DiscoveredDevice[]) => void;