@robdobsn/raftjs 1.7.2 → 1.7.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 (198) hide show
  1. package/dist/web/RaftAttributeHandler.d.ts +2 -0
  2. package/dist/web/RaftAttributeHandler.js +107 -5
  3. package/dist/web/RaftAttributeHandler.js.map +1 -1
  4. package/dist/web/RaftConnector.d.ts +2 -1
  5. package/dist/web/RaftConnector.js +14 -0
  6. package/dist/web/RaftConnector.js.map +1 -1
  7. package/dist/web/RaftDeviceInfo.d.ts +6 -0
  8. package/dist/web/RaftMsgHandler.d.ts +1 -1
  9. package/dist/web/RaftMsgHandler.js +1 -1
  10. package/dist/web/RaftMsgHandler.js.map +1 -1
  11. package/dist/web/RaftTypes.d.ts +2 -1
  12. package/dist/web/RaftTypes.js.map +1 -1
  13. package/package.json +5 -2
  14. package/.editorconfig +0 -14
  15. package/.gitattributes +0 -11
  16. package/.nvmrc +0 -1
  17. package/TODO.md +0 -1
  18. package/dist/react-native/RaftAttributeHandler.d.ts +0 -12
  19. package/dist/react-native/RaftAttributeHandler.js +0 -249
  20. package/dist/react-native/RaftAttributeHandler.js.map +0 -1
  21. package/dist/react-native/RaftChannel.d.ts +0 -20
  22. package/dist/react-native/RaftChannel.js +0 -12
  23. package/dist/react-native/RaftChannel.js.map +0 -1
  24. package/dist/react-native/RaftChannelBLE.native.d.ts +0 -95
  25. package/dist/react-native/RaftChannelBLE.native.js +0 -482
  26. package/dist/react-native/RaftChannelBLE.native.js.map +0 -1
  27. package/dist/react-native/RaftChannelBLE.web.d.ts +0 -40
  28. package/dist/react-native/RaftChannelBLE.web.js +0 -300
  29. package/dist/react-native/RaftChannelBLE.web.js.map +0 -1
  30. package/dist/react-native/RaftChannelBLEFactory.d.ts +0 -10
  31. package/dist/react-native/RaftChannelBLEFactory.js +0 -17
  32. package/dist/react-native/RaftChannelBLEFactory.js.map +0 -1
  33. package/dist/react-native/RaftChannelBLEScanner.native.d.ts +0 -18
  34. package/dist/react-native/RaftChannelBLEScanner.native.js +0 -138
  35. package/dist/react-native/RaftChannelBLEScanner.native.js.map +0 -1
  36. package/dist/react-native/RaftChannelSimulated.d.ts +0 -32
  37. package/dist/react-native/RaftChannelSimulated.js +0 -418
  38. package/dist/react-native/RaftChannelSimulated.js.map +0 -1
  39. package/dist/react-native/RaftChannelWebSerial.d.ts +0 -39
  40. package/dist/react-native/RaftChannelWebSerial.js +0 -329
  41. package/dist/react-native/RaftChannelWebSerial.js.map +0 -1
  42. package/dist/react-native/RaftChannelWebSocket.d.ts +0 -30
  43. package/dist/react-native/RaftChannelWebSocket.js +0 -207
  44. package/dist/react-native/RaftChannelWebSocket.js.map +0 -1
  45. package/dist/react-native/RaftCommsStats.d.ts +0 -39
  46. package/dist/react-native/RaftCommsStats.js +0 -128
  47. package/dist/react-native/RaftCommsStats.js.map +0 -1
  48. package/dist/react-native/RaftConnEvents.d.ts +0 -39
  49. package/dist/react-native/RaftConnEvents.js +0 -54
  50. package/dist/react-native/RaftConnEvents.js.map +0 -1
  51. package/dist/react-native/RaftConnector.d.ts +0 -245
  52. package/dist/react-native/RaftConnector.js +0 -621
  53. package/dist/react-native/RaftConnector.js.map +0 -1
  54. package/dist/react-native/RaftCustomAttrHandler.d.ts +0 -4
  55. package/dist/react-native/RaftCustomAttrHandler.js +0 -50
  56. package/dist/react-native/RaftCustomAttrHandler.js.map +0 -1
  57. package/dist/react-native/RaftDeviceInfo.d.ts +0 -63
  58. package/dist/react-native/RaftDeviceInfo.js +0 -36
  59. package/dist/react-native/RaftDeviceInfo.js.map +0 -1
  60. package/dist/react-native/RaftDeviceManager.d.ts +0 -40
  61. package/dist/react-native/RaftDeviceManager.js +0 -499
  62. package/dist/react-native/RaftDeviceManager.js.map +0 -1
  63. package/dist/react-native/RaftDeviceMgrIF.d.ts +0 -15
  64. package/dist/react-native/RaftDeviceMgrIF.js +0 -11
  65. package/dist/react-native/RaftDeviceMgrIF.js.map +0 -1
  66. package/dist/react-native/RaftDeviceMsg.d.ts +0 -9
  67. package/dist/react-native/RaftDeviceMsg.js +0 -11
  68. package/dist/react-native/RaftDeviceMsg.js.map +0 -1
  69. package/dist/react-native/RaftDeviceStates.d.ts +0 -37
  70. package/dist/react-native/RaftDeviceStates.js +0 -60
  71. package/dist/react-native/RaftDeviceStates.js.map +0 -1
  72. package/dist/react-native/RaftFileHandler.d.ts +0 -52
  73. package/dist/react-native/RaftFileHandler.js +0 -502
  74. package/dist/react-native/RaftFileHandler.js.map +0 -1
  75. package/dist/react-native/RaftLog.d.ts +0 -22
  76. package/dist/react-native/RaftLog.js +0 -63
  77. package/dist/react-native/RaftLog.js.map +0 -1
  78. package/dist/react-native/RaftMiniHDLC.d.ts +0 -18
  79. package/dist/react-native/RaftMiniHDLC.js +0 -383
  80. package/dist/react-native/RaftMiniHDLC.js.map +0 -1
  81. package/dist/react-native/RaftMsgHandler.d.ts +0 -62
  82. package/dist/react-native/RaftMsgHandler.js +0 -511
  83. package/dist/react-native/RaftMsgHandler.js.map +0 -1
  84. package/dist/react-native/RaftMsgTrackInfo.d.ts +0 -17
  85. package/dist/react-native/RaftMsgTrackInfo.js +0 -42
  86. package/dist/react-native/RaftMsgTrackInfo.js.map +0 -1
  87. package/dist/react-native/RaftProtocolDefs.d.ts +0 -30
  88. package/dist/react-native/RaftProtocolDefs.js +0 -48
  89. package/dist/react-native/RaftProtocolDefs.js.map +0 -1
  90. package/dist/react-native/RaftStreamHandler.d.ts +0 -38
  91. package/dist/react-native/RaftStreamHandler.js +0 -257
  92. package/dist/react-native/RaftStreamHandler.js.map +0 -1
  93. package/dist/react-native/RaftStruct.d.ts +0 -3
  94. package/dist/react-native/RaftStruct.js +0 -208
  95. package/dist/react-native/RaftStruct.js.map +0 -1
  96. package/dist/react-native/RaftSysTypeManager.d.ts +0 -14
  97. package/dist/react-native/RaftSysTypeManager.js +0 -53
  98. package/dist/react-native/RaftSysTypeManager.js.map +0 -1
  99. package/dist/react-native/RaftSystemType.d.ts +0 -28
  100. package/dist/react-native/RaftSystemType.js +0 -3
  101. package/dist/react-native/RaftSystemType.js.map +0 -1
  102. package/dist/react-native/RaftSystemUtils.d.ts +0 -136
  103. package/dist/react-native/RaftSystemUtils.js +0 -410
  104. package/dist/react-native/RaftSystemUtils.js.map +0 -1
  105. package/dist/react-native/RaftTypes.d.ts +0 -194
  106. package/dist/react-native/RaftTypes.js +0 -153
  107. package/dist/react-native/RaftTypes.js.map +0 -1
  108. package/dist/react-native/RaftUpdateEvents.d.ts +0 -33
  109. package/dist/react-native/RaftUpdateEvents.js +0 -46
  110. package/dist/react-native/RaftUpdateEvents.js.map +0 -1
  111. package/dist/react-native/RaftUpdateManager.d.ts +0 -61
  112. package/dist/react-native/RaftUpdateManager.js +0 -621
  113. package/dist/react-native/RaftUpdateManager.js.map +0 -1
  114. package/dist/react-native/RaftUtils.d.ts +0 -126
  115. package/dist/react-native/RaftUtils.js +0 -467
  116. package/dist/react-native/RaftUtils.js.map +0 -1
  117. package/dist/react-native/RaftWifiTypes.d.ts +0 -23
  118. package/dist/react-native/RaftWifiTypes.js +0 -43
  119. package/dist/react-native/RaftWifiTypes.js.map +0 -1
  120. package/dist/react-native/main.d.ts +0 -25
  121. package/dist/react-native/main.js +0 -51
  122. package/dist/react-native/main.js.map +0 -1
  123. package/eslint.config.mjs +0 -33
  124. package/examples/dashboard/package.json +0 -36
  125. package/examples/dashboard/src/CommandPanel.tsx +0 -147
  126. package/examples/dashboard/src/ConnManager.ts +0 -164
  127. package/examples/dashboard/src/DeviceActionsForm.tsx +0 -133
  128. package/examples/dashboard/src/DeviceAttrsForm.tsx +0 -49
  129. package/examples/dashboard/src/DeviceLineChart.tsx +0 -163
  130. package/examples/dashboard/src/DevicePanel.tsx +0 -166
  131. package/examples/dashboard/src/DevicesPanel.tsx +0 -58
  132. package/examples/dashboard/src/DispLedGrid.tsx +0 -110
  133. package/examples/dashboard/src/DispOneLed.tsx +0 -20
  134. package/examples/dashboard/src/LatencyTest.ts +0 -130
  135. package/examples/dashboard/src/LatencyTestPanel.tsx +0 -92
  136. package/examples/dashboard/src/Main.tsx +0 -234
  137. package/examples/dashboard/src/SettingsManager.ts +0 -67
  138. package/examples/dashboard/src/SettingsScreen.tsx +0 -174
  139. package/examples/dashboard/src/StatusPanel.tsx +0 -71
  140. package/examples/dashboard/src/SystemTypeCog/CogStateInfo.ts +0 -163
  141. package/examples/dashboard/src/SystemTypeCog/SystemTypeCog.ts +0 -91
  142. package/examples/dashboard/src/SystemTypeGeneric/StateInfoGeneric.ts +0 -30
  143. package/examples/dashboard/src/SystemTypeGeneric/SystemTypeGeneric.ts +0 -91
  144. package/examples/dashboard/src/SystemTypeMarty/RICAddOn.ts +0 -70
  145. package/examples/dashboard/src/SystemTypeMarty/RICAddOnBase.ts +0 -33
  146. package/examples/dashboard/src/SystemTypeMarty/RICAddOnManager.ts +0 -342
  147. package/examples/dashboard/src/SystemTypeMarty/RICCommsStats.ts +0 -170
  148. package/examples/dashboard/src/SystemTypeMarty/RICHWElem.ts +0 -123
  149. package/examples/dashboard/src/SystemTypeMarty/RICLEDPatternChecker.ts +0 -207
  150. package/examples/dashboard/src/SystemTypeMarty/RICROSSerial.ts +0 -464
  151. package/examples/dashboard/src/SystemTypeMarty/RICServoFaultDetector.ts +0 -146
  152. package/examples/dashboard/src/SystemTypeMarty/RICStateInfo.ts +0 -97
  153. package/examples/dashboard/src/SystemTypeMarty/RICSystemUtils.ts +0 -371
  154. package/examples/dashboard/src/SystemTypeMarty/RICTypes.ts +0 -20
  155. package/examples/dashboard/src/SystemTypeMarty/SystemTypeMarty.ts +0 -119
  156. package/examples/dashboard/src/index.html +0 -15
  157. package/examples/dashboard/src/index.tsx +0 -13
  158. package/examples/dashboard/src/styles.css +0 -408
  159. package/examples/dashboard/tsconfig.json +0 -18
  160. package/jest.config.js +0 -11
  161. package/src/RaftAttributeHandler.ts +0 -298
  162. package/src/RaftChannel.ts +0 -32
  163. package/src/RaftChannelBLE.native.ts +0 -616
  164. package/src/RaftChannelBLE.web.ts +0 -372
  165. package/src/RaftChannelBLEFactory.ts +0 -13
  166. package/src/RaftChannelBLEScanner.native.ts +0 -184
  167. package/src/RaftChannelSimulated.ts +0 -482
  168. package/src/RaftChannelWebSerial.ts +0 -420
  169. package/src/RaftChannelWebSocket.ts +0 -258
  170. package/src/RaftCommsStats.ts +0 -142
  171. package/src/RaftConnEvents.ts +0 -58
  172. package/src/RaftConnector.ts +0 -743
  173. package/src/RaftCustomAttrHandler.ts +0 -54
  174. package/src/RaftDeviceInfo.ts +0 -102
  175. package/src/RaftDeviceManager.ts +0 -607
  176. package/src/RaftDeviceMgrIF.ts +0 -33
  177. package/src/RaftDeviceMsg.ts +0 -20
  178. package/src/RaftDeviceStates.ts +0 -92
  179. package/src/RaftFileHandler.ts +0 -668
  180. package/src/RaftLog.ts +0 -70
  181. package/src/RaftMiniHDLC.ts +0 -396
  182. package/src/RaftMsgHandler.ts +0 -813
  183. package/src/RaftMsgTrackInfo.ts +0 -51
  184. package/src/RaftProtocolDefs.ts +0 -46
  185. package/src/RaftStreamHandler.ts +0 -328
  186. package/src/RaftStruct.ts +0 -209
  187. package/src/RaftSysTypeManager.ts +0 -60
  188. package/src/RaftSystemType.ts +0 -32
  189. package/src/RaftSystemUtils.ts +0 -487
  190. package/src/RaftTypes.ts +0 -278
  191. package/src/RaftUpdateEvents.ts +0 -48
  192. package/src/RaftUpdateManager.ts +0 -781
  193. package/src/RaftUtils.ts +0 -494
  194. package/src/RaftWifiTypes.ts +0 -36
  195. package/src/main.ts +0 -38
  196. package/testdata/TestDeviceTypeRecs.json +0 -492
  197. package/tsconfig.json +0 -30
  198. package/tsconfig.react-native.json +0 -29
@@ -1 +0,0 @@
1
- {"version":3,"file":"RaftSysTypeManager.js","sourceRoot":"","sources":["../../src/RaftSysTypeManager.ts"],"names":[],"mappings":";;AAIA,MAAqB,kBAAkB;IAAvC;QAIE,kBAAkB;QACV,cAAS,GAAuC,IAAI,GAAG,EAAE,CAAC;QAC1D,2BAAsB,GAAiC,IAAI,CAAC;IAiDtE,CAAC;IA/CC,2BAA2B;IACpB,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAClC,kBAAkB,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC1D,CAAC;QACD,OAAO,kBAAkB,CAAC,SAAS,CAAC;IACtC,CAAC;IAED,6CAA6C;IACtC,aAAa,CAAC,OAAe,EAAE,OAA8B;QAClE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,0BAA0B,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,sCAAsC;IAC/B,oBAAoB,CAAC,OAA8B;QACxD,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;IACxC,CAAC;IAED,+BAA+B;IACxB,gBAAgB,CAAC,OAAe;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,iCAAiC;IAC1B,uBAAuB;QAC5B,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACvC,CAAC;IAED,6CAA6C;IAC7C,kBAAkB;QAChB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;CACF;AAvDD,qCAuDC"}
@@ -1,28 +0,0 @@
1
- import RaftDeviceMgrIF from "./RaftDeviceMgrIF";
2
- import RaftSystemUtils from "./RaftSystemUtils";
3
- import { RaftEventFn } from "./RaftTypes";
4
- export type RaftSubscribeForUpdatesCBType = (systemUtils: RaftSystemUtils, enable: boolean) => Promise<void>;
5
- export type RaftStateIsInvalidCBType = () => void;
6
- export type RaftRxOtherMsgType = (payload: Uint8Array, _frameTimeMs: number) => void;
7
- export interface ConnectorOptions {
8
- wsSuffix?: string;
9
- connTimeoutMs?: number;
10
- bleConnItvlMs?: number;
11
- bleUuid?: string;
12
- }
13
- export interface RaftSystemType {
14
- nameForDialogs: string;
15
- defaultWiFiHostname: string;
16
- BLEServiceUUIDs: string[];
17
- BLECmdUUID: string;
18
- BLERespUUID: string;
19
- firmwareDestName: string;
20
- normalFileDestName: string;
21
- connectorOptions: ConnectorOptions;
22
- setup: (systemUtils: RaftSystemUtils, onEvent: RaftEventFn | null) => void;
23
- subscribeForUpdates: RaftSubscribeForUpdatesCBType | null;
24
- stateIsInvalid: RaftStateIsInvalidCBType | null;
25
- rxOtherMsgType: RaftRxOtherMsgType | null;
26
- deviceMgrIF: RaftDeviceMgrIF;
27
- }
28
- export type RaftGetSystemTypeCBType = (systemUtils: RaftSystemUtils) => Promise<RaftSystemType | null>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=RaftSystemType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RaftSystemType.js","sourceRoot":"","sources":["../../src/RaftSystemType.ts"],"names":[],"mappings":""}
@@ -1,136 +0,0 @@
1
- import { RaftWifiConnStatus } from "./RaftWifiTypes";
2
- import RaftMsgHandler from "./RaftMsgHandler";
3
- import { RaftFileList, RaftFriendlyName, RaftOKFail, RaftSysModInfoBLEMan, RaftSystemInfo, RaftWifiScanResults } from "./RaftTypes";
4
- export default class RaftSystemUtils {
5
- private _msgHandler;
6
- private _systemInfo;
7
- private _friendlyName;
8
- private _wifiConnStatus;
9
- private _defaultWiFiHostname;
10
- private _maxSecsToWaitForWiFiConn;
11
- /**
12
- * constructor
13
- * @param raftMsgHandler
14
- */
15
- constructor(raftMsgHandler: RaftMsgHandler);
16
- /**
17
- * getMsgHandler
18
- * @returns RaftMsgHandler
19
- */
20
- getMsgHandler(): RaftMsgHandler;
21
- /**
22
- * setDefaultWiFiHostname
23
- * @param defaultWiFiHostname
24
- */
25
- setDefaultWiFiHostname(defaultWiFiHostname: string): void;
26
- /**
27
- * getFriendlyName
28
- *
29
- * @returns friendly name
30
- */
31
- getFriendlyName(): RaftFriendlyName | null;
32
- /**
33
- * invalidate
34
- */
35
- invalidate(): void;
36
- /**
37
- * retrieveInfo - get system info
38
- * @returns Promise<RaftSystemInfo>
39
- *
40
- */
41
- retrieveInfo(): Promise<boolean>;
42
- /**
43
- *
44
- * getSystemInfo
45
- * @param forceGet - true to force a get from the raft app
46
- * @returns Promise<RaftSystemInfo>
47
- *
48
- */
49
- getSystemInfo(forceGet?: boolean): Promise<RaftSystemInfo>;
50
- /**
51
- *
52
- * setRaftName
53
- * @param newName name to refer to Raft - used for BLE advertising
54
- * @returns Promise<boolean> true if successful
55
- *
56
- */
57
- setRaftName(newName: string): Promise<boolean>;
58
- /**
59
- *
60
- * getRaftName
61
- * @param forceGet - true to force a get from the raft app
62
- * @returns Promise<RaftNameResponse> (object containing rslt)
63
- *
64
- */
65
- getRaftName(forceGet?: boolean): Promise<RaftFriendlyName>;
66
- /**
67
- *
68
- * getFileList - get list of files on file system
69
- * @returns Promise<RaftFileList>
70
- *
71
- */
72
- getFileList(): Promise<RaftFileList>;
73
- /**
74
- *
75
- * Get BLEMan sysmod info
76
- *
77
- * @returns RaftSysModInfoBLEMan
78
- *
79
- */
80
- getSysModInfoBLEMan(): Promise<RaftSysModInfoBLEMan | null>;
81
- /**
82
- * Get hostname of connected WiFi
83
- *
84
- * @return string - hostname of connected WiFi
85
- *
86
- */
87
- _getHostnameFromFriendlyName(): string;
88
- /**
89
- * Get Wifi connection status
90
- *
91
- * @return boolean - true if connected
92
- *
93
- */
94
- getWiFiConnStatus(): Promise<boolean | null>;
95
- /**
96
- * pause Wifi connection
97
- *
98
- * @param boolean - true to pause, false to resume
99
- * @return boolean - true if successful
100
- *
101
- */
102
- pauseWifiConnection(pause: boolean): Promise<boolean>;
103
- /**
104
- * Connect to WiFi
105
- *
106
- * @param string - WiFi SSID
107
- * @param string - WiFi password
108
- * @return boolean - true if successful
109
- *
110
- */
111
- wifiConnect(ssid: string, password: string): Promise<boolean>;
112
- /**
113
- * Disconnect WiFi
114
- *
115
- * @return boolean - true if successful
116
- *
117
- */
118
- wifiDisconnect(): Promise<boolean>;
119
- /**
120
- * WiFiScan start
121
- *
122
- * @return boolean - true if successful
123
- *
124
- */
125
- wifiScanStart(): Promise<boolean>;
126
- /**
127
- * WiFiScan get results
128
- *
129
- * @return boolean - false if unsuccessful, otherwise the results of the promise
130
- *
131
- */
132
- wifiScanResults(): Promise<boolean | RaftOKFail | RaftWifiScanResults>;
133
- getCachedSystemInfo(): RaftSystemInfo | null;
134
- getCachedRaftName(): RaftFriendlyName | null;
135
- getCachedWifiStatus(): RaftWifiConnStatus;
136
- }
@@ -1,410 +0,0 @@
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
- this._msgHandler = raftMsgHandler;
31
- }
32
- /**
33
- * getMsgHandler
34
- * @returns RaftMsgHandler
35
- */
36
- getMsgHandler() {
37
- return this._msgHandler;
38
- }
39
- /**
40
- * setDefaultWiFiHostname
41
- * @param defaultWiFiHostname
42
- */
43
- setDefaultWiFiHostname(defaultWiFiHostname) {
44
- this._defaultWiFiHostname = defaultWiFiHostname;
45
- }
46
- /**
47
- * getFriendlyName
48
- *
49
- * @returns friendly name
50
- */
51
- getFriendlyName() {
52
- return this._friendlyName;
53
- }
54
- /**
55
- * invalidate
56
- */
57
- invalidate() {
58
- // Invalidate system info
59
- this._systemInfo = null;
60
- this._friendlyName = null;
61
- RaftLog_1.default.debug("RaftSystemUtils information invalidated");
62
- }
63
- /**
64
- * retrieveInfo - get system info
65
- * @returns Promise<RaftSystemInfo>
66
- *
67
- */
68
- async retrieveInfo() {
69
- var _a;
70
- // Get system info
71
- RaftLog_1.default.debug(`RaftSystemUtils retrieveInfo getting system info`);
72
- try {
73
- await this.getSystemInfo(true);
74
- RaftLog_1.default.debug(`retrieveInfo - Raft Version ${(_a = this._systemInfo) === null || _a === void 0 ? void 0 : _a.SystemVersion}`);
75
- }
76
- catch (error) {
77
- RaftLog_1.default.warn("RaftSystemUtils retrieveInfo - frailed to get version " + error);
78
- return false;
79
- }
80
- // Get app name
81
- try {
82
- await this.getRaftName();
83
- }
84
- catch (error) {
85
- RaftLog_1.default.warn("retrieveInfo - failed to get Raft name " + error);
86
- return false;
87
- }
88
- // Get WiFi connected info
89
- try {
90
- await this.getWiFiConnStatus();
91
- }
92
- catch (error) {
93
- RaftLog_1.default.warn("RaftSystemUtils retrieveInfo - failed to get WiFi Status " + error);
94
- return false;
95
- }
96
- return true;
97
- }
98
- /**
99
- *
100
- * getSystemInfo
101
- * @param forceGet - true to force a get from the raft app
102
- * @returns Promise<RaftSystemInfo>
103
- *
104
- */
105
- async getSystemInfo(forceGet = false) {
106
- if (!forceGet && this._systemInfo) {
107
- return this._systemInfo;
108
- }
109
- try {
110
- this._systemInfo = await this._msgHandler.sendRICRESTURL("v");
111
- RaftLog_1.default.debug("getRaftSystemInfo returned " + JSON.stringify(this._systemInfo));
112
- this._systemInfo.validMs = Date.now();
113
- // Check if friendly name is included in system info
114
- if (this._systemInfo.Friendly && (this._systemInfo.Friendly.length > 0)) {
115
- this._friendlyName = { "friendlyName": this._systemInfo.Friendly, "friendlyNameIsSet": true, "rslt": "ok", "validMs": Date.now() };
116
- }
117
- // Handle alternatives in system info
118
- if ((this._systemInfo.RicHwRevNo !== undefined) && (this._systemInfo.HwRev === undefined)) {
119
- this._systemInfo.HwRev = this._systemInfo.RicHwRevNo;
120
- }
121
- else if ((this._systemInfo.HwRev !== undefined) && (this._systemInfo.RicHwRevNo === undefined)) {
122
- this._systemInfo.RicHwRevNo = this._systemInfo.HwRev;
123
- }
124
- // Return system info
125
- return this._systemInfo;
126
- }
127
- catch (error) {
128
- RaftLog_1.default.debug(`RaftSystemUtils getRaftSystemInfo Failed to get version ${error}`);
129
- return new RaftTypes_1.RaftSystemInfo();
130
- }
131
- }
132
- /**
133
- *
134
- * setRaftName
135
- * @param newName name to refer to Raft - used for BLE advertising
136
- * @returns Promise<boolean> true if successful
137
- *
138
- */
139
- async setRaftName(newName) {
140
- try {
141
- this._friendlyName = await this._msgHandler.sendRICRESTURL(`friendlyname/${newName}`);
142
- if (this._friendlyName) {
143
- this._friendlyName.friendlyNameIsSet = false;
144
- this._friendlyName.validMs = Date.now();
145
- if (this._friendlyName &&
146
- this._friendlyName.rslt &&
147
- this._friendlyName.rslt.toLowerCase() === "ok") {
148
- this._friendlyName.friendlyNameIsSet = true;
149
- }
150
- RaftLog_1.default.debug("RaftSystemUtils setRaftName returned " + JSON.stringify(this._friendlyName));
151
- return true;
152
- }
153
- return true;
154
- }
155
- catch (error) {
156
- RaftLog_1.default.debug(`RaftSystemUtils setRaftName Failed to set name ${error}`);
157
- this._friendlyName = null;
158
- return false;
159
- }
160
- }
161
- /**
162
- *
163
- * getRaftName
164
- * @param forceGet - true to force a get from the raft app
165
- * @returns Promise<RaftNameResponse> (object containing rslt)
166
- *
167
- */
168
- async getRaftName(forceGet = false) {
169
- // Check if we have a cached value
170
- if (!forceGet && this._friendlyName && this._friendlyName.validMs) {
171
- return this._friendlyName;
172
- }
173
- try {
174
- this._friendlyName = await this._msgHandler.sendRICRESTURL("friendlyname");
175
- if (this._friendlyName &&
176
- this._friendlyName.rslt &&
177
- this._friendlyName.rslt === "ok") {
178
- this._friendlyName.friendlyNameIsSet = this._friendlyName
179
- .friendlyNameIsSet
180
- ? true
181
- : false;
182
- }
183
- else {
184
- this._friendlyName.friendlyNameIsSet = false;
185
- }
186
- this._friendlyName.validMs = Date.now();
187
- RaftLog_1.default.debug("RaftSystemUtils Friendly name set is: " + JSON.stringify(this._friendlyName));
188
- return this._friendlyName;
189
- }
190
- catch (error) {
191
- RaftLog_1.default.debug(`RaftSystemUtils getRaftName Failed to get name ${error}`);
192
- return new RaftTypes_1.RaftFriendlyName();
193
- }
194
- }
195
- /**
196
- *
197
- * getFileList - get list of files on file system
198
- * @returns Promise<RaftFileList>
199
- *
200
- */
201
- async getFileList() {
202
- try {
203
- const ricFileList = await this._msgHandler.sendRICRESTURL("filelist");
204
- RaftLog_1.default.debug("RaftSystemUtils getFileList returned " + ricFileList);
205
- return ricFileList;
206
- }
207
- catch (error) {
208
- RaftLog_1.default.debug(`RaftSystemUtils getFileList Failed to get file list ${error}`);
209
- return new RaftTypes_1.RaftFileList();
210
- }
211
- }
212
- /**
213
- *
214
- * Get BLEMan sysmod info
215
- *
216
- * @returns RaftSysModInfoBLEMan
217
- *
218
- */
219
- async getSysModInfoBLEMan() {
220
- try {
221
- // Get SysMod Info
222
- const bleInfo = await this._msgHandler.sendRICRESTURL("sysmodinfo/BLEMan");
223
- // Debug
224
- RaftLog_1.default.debug(`getSysModInfoBLEMan rslt ${bleInfo.rslt} isConn ${bleInfo.isConn} paused ${bleInfo.isAdv} txBPS ${bleInfo.txBPS} rxBPS ${bleInfo.rxBPS}`);
225
- // Check for test rate
226
- if ("tBPS" in bleInfo) {
227
- RaftLog_1.default.debug(`getSysModInfoBLEMan testMsgs ${bleInfo.tM} testBytes ${bleInfo.tB} testRateBytesPS ${bleInfo.tBPS}`);
228
- }
229
- return bleInfo;
230
- }
231
- catch (error) {
232
- RaftLog_1.default.debug(`getSysModInfoBLEMan sysmodinfo/BLEMan failed ${error}`);
233
- }
234
- return null;
235
- }
236
- /**
237
- * Get hostname of connected WiFi
238
- *
239
- * @return string - hostname of connected WiFi
240
- *
241
- */
242
- _getHostnameFromFriendlyName() {
243
- const friendlyName = this.getFriendlyName();
244
- if (!friendlyName) {
245
- return this._defaultWiFiHostname;
246
- }
247
- let hostname = friendlyName.friendlyName;
248
- hostname = hostname === null || hostname === void 0 ? void 0 : hostname.replace(/ /g, "-");
249
- hostname = hostname.replace(/\W+/g, "");
250
- return hostname;
251
- }
252
- /**
253
- * Get Wifi connection status
254
- *
255
- * @return boolean - true if connected
256
- *
257
- */
258
- async getWiFiConnStatus() {
259
- try {
260
- // Get status
261
- const ricSysModInfoWiFi = await this._msgHandler.sendRICRESTURL("sysmodinfo/NetMan");
262
- RaftLog_1.default.debug(`wifiConnStatus rslt ${ricSysModInfoWiFi.rslt} isConn ${ricSysModInfoWiFi.isConn} paused ${ricSysModInfoWiFi.isPaused}`);
263
- // Check status indicates WiFi connected
264
- if (ricSysModInfoWiFi.rslt === "ok") {
265
- this._wifiConnStatus.connState =
266
- ricSysModInfoWiFi.isConn !== 0
267
- ? RaftWifiTypes_1.RaftWifiConnState.WIFI_CONN_CONNECTED
268
- : RaftWifiTypes_1.RaftWifiConnState.WIFI_CONN_NONE;
269
- this._wifiConnStatus.isPaused = ricSysModInfoWiFi.isPaused !== 0;
270
- this._wifiConnStatus.ipAddress = ricSysModInfoWiFi.IP;
271
- this._wifiConnStatus.hostname = ricSysModInfoWiFi.Hostname;
272
- this._wifiConnStatus.ssid = ricSysModInfoWiFi.SSID;
273
- this._wifiConnStatus.bssid = ricSysModInfoWiFi.WiFiMAC;
274
- this._wifiConnStatus.validMs = Date.now();
275
- return (ricSysModInfoWiFi.isConn !== 0 || ricSysModInfoWiFi.isPaused !== 0);
276
- }
277
- }
278
- catch (error) {
279
- RaftLog_1.default.debug(`[DEBUG]: wifiConnStatus sysmodinfo failed ${error}`);
280
- this._wifiConnStatus.validMs = 0;
281
- }
282
- this._wifiConnStatus.connState = RaftWifiTypes_1.RaftWifiConnState.WIFI_CONN_NONE;
283
- this._wifiConnStatus.isPaused = false;
284
- return null;
285
- }
286
- // Mark: WiFi Connection ------------------------------------------------------------------------------------
287
- /**
288
- * pause Wifi connection
289
- *
290
- * @param boolean - true to pause, false to resume
291
- * @return boolean - true if successful
292
- *
293
- */
294
- async pauseWifiConnection(pause) {
295
- try {
296
- if (pause) {
297
- await this._msgHandler.sendRICRESTURL("wifipause/pause");
298
- }
299
- else {
300
- await this._msgHandler.sendRICRESTURL("wifipause/resume");
301
- }
302
- }
303
- catch (error) {
304
- RaftLog_1.default.debug(`RaftSystemUtils wifiConnect wifi pause ${error}`);
305
- return true;
306
- }
307
- return false;
308
- }
309
- /**
310
- * Connect to WiFi
311
- *
312
- * @param string - WiFi SSID
313
- * @param string - WiFi password
314
- * @return boolean - true if successful
315
- *
316
- */
317
- async wifiConnect(ssid, password) {
318
- RaftLog_1.default.debug(`RaftSystemUtils Connect to WiFi ${ssid} password ${password}`);
319
- // Issue the command to connect WiFi
320
- try {
321
- const RaftRESTURL_wifiCredentials = "w/" +
322
- ssid +
323
- "/" +
324
- password +
325
- "/" +
326
- this._getHostnameFromFriendlyName();
327
- RaftLog_1.default.debug(`wifiConnect attempting to connect to wifi ${RaftRESTURL_wifiCredentials}`);
328
- await this._msgHandler.sendRICRESTURL(RaftRESTURL_wifiCredentials);
329
- }
330
- catch (error) {
331
- RaftLog_1.default.debug(`RaftSystemUtils wifiConnect failed ${error}`);
332
- return false;
333
- }
334
- // Wait until connected, timed-out or failed
335
- for (let timeoutCount = 0; timeoutCount < this._maxSecsToWaitForWiFiConn; timeoutCount++) {
336
- // Wait a little before checking
337
- await new Promise((resolve) => setTimeout(resolve, 1000));
338
- // Get status info
339
- const connStat = await this.getWiFiConnStatus();
340
- RaftLog_1.default.debug(`RaftSystemUtils wifiConnect connStat ${connStat}`);
341
- if (connStat) {
342
- return true;
343
- }
344
- }
345
- return false;
346
- }
347
- /**
348
- * Disconnect WiFi
349
- *
350
- * @return boolean - true if successful
351
- *
352
- */
353
- async wifiDisconnect() {
354
- try {
355
- RaftLog_1.default.debug(`RaftSystemUtils wifiDisconnect clearing wifi info`);
356
- await this._msgHandler.sendRICRESTURL("wc");
357
- this.getWiFiConnStatus();
358
- return true;
359
- }
360
- catch (error) {
361
- RaftLog_1.default.debug(`RaftSystemUtils wifiDisconnect clearing unsuccessful ${error}`);
362
- }
363
- return false;
364
- }
365
- // Mark: WiFi Scan ------------------------------------------------------------------------------------
366
- /**
367
- * WiFiScan start
368
- *
369
- * @return boolean - true if successful
370
- *
371
- */
372
- async wifiScanStart() {
373
- try {
374
- RaftLog_1.default.debug(`RaftSystemUtils wifiScanStart`);
375
- await this._msgHandler.sendRICRESTURL("wifiscan/start");
376
- return true;
377
- }
378
- catch (error) {
379
- RaftLog_1.default.debug(`RaftSystemUtils wifiScanStart unsuccessful ${error}`);
380
- }
381
- return false;
382
- }
383
- /**
384
- * WiFiScan get results
385
- *
386
- * @return boolean - false if unsuccessful, otherwise the results of the promise
387
- *
388
- */
389
- async wifiScanResults() {
390
- try {
391
- RaftLog_1.default.debug(`RaftSystemUtils wifiScanResults`);
392
- return this._msgHandler.sendRICRESTURL("wifiscan/results");
393
- }
394
- catch (error) {
395
- RaftLog_1.default.debug(`RaftSystemUtils wifiScanResults unsuccessful ${error}`);
396
- }
397
- return false;
398
- }
399
- getCachedSystemInfo() {
400
- return this._systemInfo;
401
- }
402
- getCachedRaftName() {
403
- return this._friendlyName;
404
- }
405
- getCachedWifiStatus() {
406
- return this._wifiConnStatus;
407
- }
408
- }
409
- exports.default = RaftSystemUtils;
410
- //# sourceMappingURL=RaftSystemUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RaftSystemUtils.js","sourceRoot":"","sources":["../../src/RaftSystemUtils.ts"],"names":[],"mappings":"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"}