@robotical/raftjs 1.4.7 → 2.0.3
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/dist/react-native/RaftAttributeHandler.d.ts +2 -0
- package/dist/react-native/RaftAttributeHandler.js +136 -10
- package/dist/react-native/RaftAttributeHandler.js.map +1 -1
- package/dist/react-native/RaftChannel.d.ts +2 -0
- package/dist/react-native/RaftChannelBLE.native.d.ts +2 -0
- package/dist/react-native/RaftChannelBLE.native.js +14 -7
- package/dist/react-native/RaftChannelBLE.native.js.map +1 -1
- package/dist/react-native/RaftChannelBLE.web.d.ts +2 -0
- package/dist/react-native/RaftChannelBLE.web.js +24 -15
- package/dist/react-native/RaftChannelBLE.web.js.map +1 -1
- package/dist/react-native/RaftChannelSimulated.d.ts +32 -0
- package/dist/react-native/RaftChannelSimulated.js +418 -0
- package/dist/react-native/RaftChannelSimulated.js.map +1 -0
- package/dist/react-native/RaftChannelWebSerial.d.ts +2 -0
- package/dist/react-native/RaftChannelWebSerial.js +18 -9
- package/dist/react-native/RaftChannelWebSerial.js.map +1 -1
- package/dist/react-native/RaftChannelWebSocket.d.ts +2 -0
- package/dist/react-native/RaftChannelWebSocket.js +10 -0
- package/dist/react-native/RaftChannelWebSocket.js.map +1 -1
- package/dist/react-native/RaftConnector.js +13 -6
- package/dist/react-native/RaftConnector.js.map +1 -1
- package/dist/react-native/RaftCustomAttrHandler.js +15 -0
- package/dist/react-native/RaftCustomAttrHandler.js.map +1 -1
- package/dist/react-native/RaftDeviceInfo.d.ts +8 -1
- package/dist/react-native/RaftDeviceManager.d.ts +3 -0
- package/dist/react-native/RaftDeviceManager.js +123 -43
- package/dist/react-native/RaftDeviceManager.js.map +1 -1
- package/dist/react-native/RaftFileHandler.js +8 -8
- package/dist/react-native/RaftFileHandler.js.map +1 -1
- package/dist/react-native/RaftLog.js +1 -1
- package/dist/react-native/RaftLog.js.map +1 -1
- package/dist/react-native/RaftMsgHandler.d.ts +5 -0
- package/dist/react-native/RaftMsgHandler.js +32 -0
- package/dist/react-native/RaftMsgHandler.js.map +1 -1
- package/dist/react-native/RaftStreamHandler.js +6 -5
- package/dist/react-native/RaftStreamHandler.js.map +1 -1
- package/dist/react-native/RaftStruct.js +1 -1
- package/dist/react-native/RaftStruct.js.map +1 -1
- package/dist/react-native/RaftSysTypeManager.d.ts +2 -0
- package/dist/react-native/RaftSysTypeManager.js +25 -0
- package/dist/react-native/RaftSysTypeManager.js.map +1 -1
- package/dist/react-native/RaftSystemType.d.ts +9 -7
- package/dist/react-native/RaftSystemUtils.js +3 -1
- package/dist/react-native/RaftSystemUtils.js.map +1 -1
- package/dist/react-native/RaftUpdateManager.js +2 -2
- package/dist/react-native/RaftUpdateManager.js.map +1 -1
- package/dist/react-native/RaftUtils.d.ts +2 -0
- package/dist/react-native/RaftUtils.js +22 -2
- package/dist/react-native/RaftUtils.js.map +1 -1
- package/dist/react-native/main.d.ts +2 -0
- package/dist/react-native/main.js +4 -1
- package/dist/react-native/main.js.map +1 -1
- package/dist/web/RaftAttributeHandler.d.ts +2 -0
- package/dist/web/RaftAttributeHandler.js +136 -10
- package/dist/web/RaftAttributeHandler.js.map +1 -1
- package/dist/web/RaftChannel.d.ts +2 -0
- package/dist/web/RaftChannelBLE.web.d.ts +2 -0
- package/dist/web/RaftChannelBLE.web.js +24 -15
- package/dist/web/RaftChannelBLE.web.js.map +1 -1
- package/dist/web/RaftChannelSimulated.d.ts +32 -0
- package/dist/web/RaftChannelSimulated.js +418 -0
- package/dist/web/RaftChannelSimulated.js.map +1 -0
- package/dist/web/RaftChannelWebSerial.d.ts +2 -0
- package/dist/web/RaftChannelWebSerial.js +18 -9
- package/dist/web/RaftChannelWebSerial.js.map +1 -1
- package/dist/web/RaftChannelWebSocket.d.ts +2 -0
- package/dist/web/RaftChannelWebSocket.js +10 -0
- package/dist/web/RaftChannelWebSocket.js.map +1 -1
- package/dist/web/RaftConnector.js +13 -6
- package/dist/web/RaftConnector.js.map +1 -1
- package/dist/web/RaftCustomAttrHandler.js +15 -0
- package/dist/web/RaftCustomAttrHandler.js.map +1 -1
- package/dist/web/RaftDeviceInfo.d.ts +8 -1
- package/dist/web/RaftDeviceManager.d.ts +3 -0
- package/dist/web/RaftDeviceManager.js +123 -43
- package/dist/web/RaftDeviceManager.js.map +1 -1
- package/dist/web/RaftFileHandler.js +8 -8
- package/dist/web/RaftFileHandler.js.map +1 -1
- package/dist/web/RaftLog.js +1 -1
- package/dist/web/RaftLog.js.map +1 -1
- package/dist/web/RaftMsgHandler.d.ts +5 -0
- package/dist/web/RaftMsgHandler.js +32 -0
- package/dist/web/RaftMsgHandler.js.map +1 -1
- package/dist/web/RaftStreamHandler.js +6 -5
- package/dist/web/RaftStreamHandler.js.map +1 -1
- package/dist/web/RaftStruct.js +1 -1
- package/dist/web/RaftStruct.js.map +1 -1
- package/dist/web/RaftSysTypeManager.d.ts +2 -0
- package/dist/web/RaftSysTypeManager.js +25 -0
- package/dist/web/RaftSysTypeManager.js.map +1 -1
- package/dist/web/RaftSystemType.d.ts +9 -7
- package/dist/web/RaftSystemUtils.js +3 -1
- package/dist/web/RaftSystemUtils.js.map +1 -1
- package/dist/web/RaftUpdateManager.js +2 -2
- package/dist/web/RaftUpdateManager.js.map +1 -1
- package/dist/web/RaftUtils.d.ts +2 -0
- package/dist/web/RaftUtils.js +22 -2
- package/dist/web/RaftUtils.js.map +1 -1
- package/dist/web/main.d.ts +2 -0
- package/dist/web/main.js +4 -1
- package/dist/web/main.js.map +1 -1
- package/examples/dashboard/package.json +1 -1
- package/examples/dashboard/src/CommandPanel.tsx +3 -3
- package/examples/dashboard/src/ConnManager.ts +83 -6
- package/examples/dashboard/src/DeviceActionsForm.tsx +2 -2
- package/examples/dashboard/src/DevicePanel.tsx +2 -2
- package/examples/dashboard/src/Main.tsx +14 -4
- package/examples/dashboard/src/SystemTypeMarty/RICSystemUtils.ts +4 -4
- package/examples/dashboard/src/styles.css +8 -0
- package/examples/dashboard/tsconfig.json +1 -1
- package/package.json +10 -11
- package/src/RaftAttributeHandler.ts +163 -11
- package/src/RaftChannel.ts +2 -0
- package/src/RaftChannelBLE.native.ts +17 -8
- package/src/RaftChannelBLE.web.ts +28 -16
- package/src/RaftChannelSimulated.ts +482 -0
- package/src/RaftChannelWebSerial.ts +18 -7
- package/src/RaftChannelWebSocket.ts +13 -0
- package/src/RaftConnector.ts +13 -7
- package/src/RaftCustomAttrHandler.ts +17 -0
- package/src/RaftDeviceInfo.ts +8 -2
- package/src/RaftDeviceManager.ts +155 -47
- package/src/RaftFileHandler.ts +8 -8
- package/src/RaftLog.ts +1 -1
- package/src/RaftMsgHandler.ts +36 -0
- package/src/RaftStreamHandler.ts +48 -47
- package/src/RaftStruct.ts +1 -1
- package/src/RaftSysTypeManager.ts +27 -0
- package/src/RaftSystemType.ts +9 -7
- package/src/RaftSystemUtils.ts +3 -1
- package/src/RaftUpdateManager.ts +2 -2
- package/src/RaftUtils.ts +25 -5
- package/src/main.ts +2 -0
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
3
|
+
//
|
|
4
|
+
// RaftChannelSimulated.ts
|
|
5
|
+
// Part of RaftJS
|
|
6
|
+
//
|
|
7
|
+
// Rob Dobson 2020-2025
|
|
8
|
+
// (C) 2020-2025 All rights reserved
|
|
9
|
+
//
|
|
10
|
+
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const tslib_1 = require("tslib");
|
|
13
|
+
const RaftLog_1 = tslib_1.__importDefault(require("./RaftLog"));
|
|
14
|
+
const RaftConnEvents_1 = require("./RaftConnEvents");
|
|
15
|
+
const RaftProtocolDefs_1 = require("./RaftProtocolDefs");
|
|
16
|
+
class RaftChannelSimulated {
|
|
17
|
+
constructor() {
|
|
18
|
+
// Message handler
|
|
19
|
+
this._raftMsgHandler = null;
|
|
20
|
+
// Is connected
|
|
21
|
+
this._isConnected = false;
|
|
22
|
+
// Simulated device name and rate
|
|
23
|
+
this._simulatedDeviceInfo = null;
|
|
24
|
+
// Simulated device information timer
|
|
25
|
+
this._simulatedDeviceInfoTimers = null;
|
|
26
|
+
this._simulatedDeviceInfoTimeMs = [];
|
|
27
|
+
// Conn event fn
|
|
28
|
+
this._onConnEvent = null;
|
|
29
|
+
// File Handler parameters
|
|
30
|
+
this._requestedBatchAckSize = 10;
|
|
31
|
+
this._requestedFileBlockSize = 500;
|
|
32
|
+
// Simulated device type information - this is a copy of part of DeviceTypeInfo in RaftCore
|
|
33
|
+
this._deviceTypeInfo = {
|
|
34
|
+
"LSM6DS": {
|
|
35
|
+
"name": "LSM6DS",
|
|
36
|
+
"desc": "6-Axis IMU",
|
|
37
|
+
"manu": "ST",
|
|
38
|
+
"type": "LSM6DS",
|
|
39
|
+
"clas": ["ACC", "GYRO"],
|
|
40
|
+
"resp": {
|
|
41
|
+
"b": 12,
|
|
42
|
+
"a": [
|
|
43
|
+
{
|
|
44
|
+
"n": "gx",
|
|
45
|
+
"t": "<h",
|
|
46
|
+
"u": "°/s",
|
|
47
|
+
"r": [-2000, 2000],
|
|
48
|
+
"d": 16.384,
|
|
49
|
+
"f": ".2f",
|
|
50
|
+
"o": "float"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"n": "gy",
|
|
54
|
+
"t": "<h",
|
|
55
|
+
"u": "°/s",
|
|
56
|
+
"r": [-2000, 2000],
|
|
57
|
+
"d": 16.384,
|
|
58
|
+
"f": ".2f",
|
|
59
|
+
"o": "float"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"n": "gz",
|
|
63
|
+
"t": "<h",
|
|
64
|
+
"u": "°/s",
|
|
65
|
+
"r": [-2000, 2000],
|
|
66
|
+
"d": 16.384,
|
|
67
|
+
"f": ".2f",
|
|
68
|
+
"o": "float"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"n": "ax",
|
|
72
|
+
"t": "<h",
|
|
73
|
+
"u": "g",
|
|
74
|
+
"r": [-4.0, 4.0],
|
|
75
|
+
"d": 8192,
|
|
76
|
+
"f": ".2f",
|
|
77
|
+
"o": "float"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"n": "ay",
|
|
81
|
+
"t": "<h",
|
|
82
|
+
"u": "g",
|
|
83
|
+
"r": [-4.0, 4.0],
|
|
84
|
+
"d": 8192,
|
|
85
|
+
"f": ".2f",
|
|
86
|
+
"o": "float"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"n": "az",
|
|
90
|
+
"t": "<h",
|
|
91
|
+
"u": "g",
|
|
92
|
+
"r": [-4.0, 4.0],
|
|
93
|
+
"d": 8192,
|
|
94
|
+
"f": ".2f",
|
|
95
|
+
"o": "float"
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
fhBatchAckSize() { return this._requestedBatchAckSize; }
|
|
103
|
+
fhFileBlockSize() { return this._requestedFileBlockSize; }
|
|
104
|
+
// isConnected
|
|
105
|
+
isConnected() {
|
|
106
|
+
return this._isConnected;
|
|
107
|
+
}
|
|
108
|
+
// Set message handler
|
|
109
|
+
setMsgHandler(raftMsgHandler) {
|
|
110
|
+
this._raftMsgHandler = raftMsgHandler;
|
|
111
|
+
this._raftMsgHandler.setRawMsgMode(true);
|
|
112
|
+
}
|
|
113
|
+
// WebSocket interfaces require subscription to published messages
|
|
114
|
+
requiresSubscription() {
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
// RICREST command before disconnect
|
|
118
|
+
ricRestCmdBeforeDisconnect() {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
// Set onConnEvent handler
|
|
122
|
+
setOnConnEvent(connEventFn) {
|
|
123
|
+
this._onConnEvent = connEventFn;
|
|
124
|
+
}
|
|
125
|
+
// Get connected locator
|
|
126
|
+
getConnectedLocator() {
|
|
127
|
+
return "simulated";
|
|
128
|
+
}
|
|
129
|
+
// Connect to a device
|
|
130
|
+
async connect(locator, connectorOptions) {
|
|
131
|
+
// Debug
|
|
132
|
+
RaftLog_1.default.debug(`RaftChannelSimulated.connect connected ${locator.toString()} options ${JSON.stringify(connectorOptions)}`);
|
|
133
|
+
// Extract SimulatedDeviceInfo from JSON locator
|
|
134
|
+
if (typeof locator === 'string') {
|
|
135
|
+
try {
|
|
136
|
+
const parsedLocator = JSON.parse(locator);
|
|
137
|
+
if (parsedLocator && Array.isArray(parsedLocator)) {
|
|
138
|
+
this._simulatedDeviceInfo = parsedLocator;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch (e) {
|
|
142
|
+
RaftLog_1.default.warn(`RaftChannelSimulated.connect - error parsing locator ${locator}`);
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Handle simulated devices
|
|
147
|
+
if (this._simulatedDeviceInfo) {
|
|
148
|
+
// Create timers for simulated devices
|
|
149
|
+
this._simulatedDeviceInfoTimers = [];
|
|
150
|
+
for (let i = 0; i < this._simulatedDeviceInfo.length; i++) {
|
|
151
|
+
const deviceInfo = this._simulatedDeviceInfo[i];
|
|
152
|
+
const deviceName = deviceInfo.name ? deviceInfo.name : `SimulatedDevice${i}`;
|
|
153
|
+
this._simulatedDeviceInfoTimeMs.push(0);
|
|
154
|
+
const deviceRate = deviceInfo.publishRatePerSecond ? deviceInfo.publishRatePerSecond : 1;
|
|
155
|
+
let deviceIntervalMs = 911;
|
|
156
|
+
if ((deviceRate > 0.01) && (deviceRate < 1000)) {
|
|
157
|
+
deviceIntervalMs = Math.floor(1000 / deviceRate);
|
|
158
|
+
}
|
|
159
|
+
const deviceTypeInfo = this._deviceTypeInfo[deviceName];
|
|
160
|
+
if (deviceTypeInfo) {
|
|
161
|
+
const timer = setInterval(() => {
|
|
162
|
+
var _a;
|
|
163
|
+
const msg = this._createSimulatedDeviceInfoMsg(deviceIntervalMs, deviceName, deviceTypeInfo, this._simulatedDeviceInfoTimeMs[i]);
|
|
164
|
+
(_a = this._raftMsgHandler) === null || _a === void 0 ? void 0 : _a.handleNewRxMsgRaw(msg, RaftProtocolDefs_1.RaftCommsMsgTypeCode.MSG_TYPE_PUBLISH, 0, this._simulatedDeviceInfoTimeMs[i]);
|
|
165
|
+
this._simulatedDeviceInfoTimeMs[i] += deviceIntervalMs;
|
|
166
|
+
}, deviceIntervalMs);
|
|
167
|
+
this._simulatedDeviceInfoTimers.push(timer);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
RaftLog_1.default.warn(`RaftChannelSimulated.connect - device type info not found for ${deviceName}`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
RaftLog_1.default.warn(`RaftChannelSimulated.connect - no simulated devices found`);
|
|
176
|
+
}
|
|
177
|
+
// Connected
|
|
178
|
+
this._isConnected = true;
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
// Disconnect
|
|
182
|
+
async disconnect() {
|
|
183
|
+
// Not connected
|
|
184
|
+
this._isConnected = false;
|
|
185
|
+
// Clear timers
|
|
186
|
+
if (this._simulatedDeviceInfoTimers) {
|
|
187
|
+
for (const timer of this._simulatedDeviceInfoTimers) {
|
|
188
|
+
clearInterval(timer);
|
|
189
|
+
}
|
|
190
|
+
this._simulatedDeviceInfoTimers = null;
|
|
191
|
+
}
|
|
192
|
+
// Notify connection event
|
|
193
|
+
if (this._onConnEvent) {
|
|
194
|
+
this._onConnEvent(RaftConnEvents_1.RaftConnEvent.CONN_DISCONNECTED);
|
|
195
|
+
}
|
|
196
|
+
// Debug
|
|
197
|
+
RaftLog_1.default.debug(`RaftChannelSimulated.disconnect closed`);
|
|
198
|
+
}
|
|
199
|
+
pauseConnection(pause) {
|
|
200
|
+
RaftLog_1.default.debug(`pauseConnection ${pause} - no effect for this channel type`);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
// Send a message
|
|
204
|
+
async sendTxMsg(msg, sendWithResponse) {
|
|
205
|
+
// Check connected
|
|
206
|
+
if (!this._isConnected)
|
|
207
|
+
return false;
|
|
208
|
+
// Debug
|
|
209
|
+
RaftLog_1.default.debug(`RaftChannelSimulated.sendTxMsg ${msg.toString()} sendWithResp ${sendWithResponse.toString()}`);
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
async sendTxMsgNoAwait(msg, sendWithResponse) {
|
|
213
|
+
// Check connected
|
|
214
|
+
if (!this._isConnected)
|
|
215
|
+
return false;
|
|
216
|
+
// Debug
|
|
217
|
+
RaftLog_1.default.debug(`RaftChannelSimulated.sendTxMsgNoAwait ${msg.toString()} sendWithResp ${sendWithResponse.toString()}`);
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
// Method used for testing and simulation should never be called
|
|
221
|
+
sendTxMsgRaw(msg) {
|
|
222
|
+
RaftLog_1.default.debug(`sendTxMsgRaw - not implemented ${msg}`);
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
// Method used for testing and simulation should never be called
|
|
226
|
+
sendTxMsgRawAndWaitForReply(msgPayload) {
|
|
227
|
+
RaftLog_1.default.debug(`sendTxMsgRawAndWaitForReply ${msgPayload}`);
|
|
228
|
+
// Decode the message from Uint8Array to string
|
|
229
|
+
const textDecoder = new TextDecoder('utf-8');
|
|
230
|
+
const decodedString = textDecoder.decode(msgPayload.slice(1)).replace("\0", "").trim();
|
|
231
|
+
RaftLog_1.default.debug(`sendTxMsgRawAndWaitForReply ${decodedString}`);
|
|
232
|
+
// Check for version request
|
|
233
|
+
if (decodedString === "v") {
|
|
234
|
+
// R"({"req":"%s","rslt":"ok","SystemName":"%s","SystemVersion":"%s","Friendly":"%s","SerialNo":"%s","MAC":"%s",%s})",
|
|
235
|
+
const response = {
|
|
236
|
+
req: "v",
|
|
237
|
+
rslt: "ok",
|
|
238
|
+
SystemName: "Simulated",
|
|
239
|
+
SystemVersion: "1.0.0",
|
|
240
|
+
Friendly: "Simulated",
|
|
241
|
+
SerialNo: "123456",
|
|
242
|
+
MAC: "00:00:00:00:00:00"
|
|
243
|
+
};
|
|
244
|
+
return response;
|
|
245
|
+
}
|
|
246
|
+
else if (decodedString.startsWith("sub")) {
|
|
247
|
+
const response = {
|
|
248
|
+
req: decodedString,
|
|
249
|
+
rslt: "ok"
|
|
250
|
+
};
|
|
251
|
+
return response;
|
|
252
|
+
}
|
|
253
|
+
// Check if this is a device type info request
|
|
254
|
+
else if (decodedString.startsWith("devman/typeinfo?")) {
|
|
255
|
+
// Extract the type parameter from the request
|
|
256
|
+
const match = decodedString.match(/type=([^&]+)/);
|
|
257
|
+
if (match && match[1]) {
|
|
258
|
+
const deviceType = match[1];
|
|
259
|
+
// Look up the device type in the _deviceTypeInfo
|
|
260
|
+
if (deviceType in this._deviceTypeInfo) {
|
|
261
|
+
// Prepare response with the device type info
|
|
262
|
+
const response = {
|
|
263
|
+
req: decodedString,
|
|
264
|
+
rslt: "ok",
|
|
265
|
+
devinfo: this._deviceTypeInfo[deviceType]
|
|
266
|
+
};
|
|
267
|
+
RaftLog_1.default.debug(`Device type info for ${deviceType} found, returning response`);
|
|
268
|
+
return response;
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
// Device type not found
|
|
272
|
+
const response = {
|
|
273
|
+
req: decodedString,
|
|
274
|
+
rslt: "err",
|
|
275
|
+
msg: `Device type ${deviceType} not found`
|
|
276
|
+
};
|
|
277
|
+
RaftLog_1.default.warn(`Device type info for ${deviceType} not found`);
|
|
278
|
+
return response;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Unknown message
|
|
283
|
+
const response = {
|
|
284
|
+
req: decodedString,
|
|
285
|
+
rslt: "err",
|
|
286
|
+
msg: `Unknown request`
|
|
287
|
+
};
|
|
288
|
+
return response;
|
|
289
|
+
}
|
|
290
|
+
// Create simulated device info message
|
|
291
|
+
_createSimulatedDeviceInfoMsg(deviceIntervalMs, deviceName, deviceTypeInfo, deviceTimeMs) {
|
|
292
|
+
var _a;
|
|
293
|
+
// Make sure we have response metadata
|
|
294
|
+
if (!((_a = deviceTypeInfo === null || deviceTypeInfo === void 0 ? void 0 : deviceTypeInfo.resp) === null || _a === void 0 ? void 0 : _a.a)) {
|
|
295
|
+
return new Uint8Array(0);
|
|
296
|
+
}
|
|
297
|
+
const attributes = deviceTypeInfo.resp.a;
|
|
298
|
+
const dataBlockSizeBytes = deviceTypeInfo.resp.b;
|
|
299
|
+
// Create a buffer for the data
|
|
300
|
+
const dataBuffer = new ArrayBuffer(dataBlockSizeBytes + 2);
|
|
301
|
+
const dataView = new DataView(dataBuffer);
|
|
302
|
+
let bytePos = 0;
|
|
303
|
+
// Add 16 bit big endian deviceTimeMs mod 65536 to the buffer
|
|
304
|
+
dataView.setUint16(bytePos, deviceTimeMs % 65536, false);
|
|
305
|
+
bytePos += 2;
|
|
306
|
+
// Calculate sine wave with phase offsets for each attribute
|
|
307
|
+
const numAttributes = attributes.length;
|
|
308
|
+
// Adjust frequency based on the device interval with N samples per cycle
|
|
309
|
+
const numSamplesPerCycle = 10;
|
|
310
|
+
let frequencyHz = 0.1; // Default frequency in Hz
|
|
311
|
+
if (deviceIntervalMs > 0) {
|
|
312
|
+
frequencyHz = (1000 / deviceIntervalMs) / numSamplesPerCycle;
|
|
313
|
+
}
|
|
314
|
+
// Amplitude of the sine wave (0 to 1)
|
|
315
|
+
const amplitude = 0.8;
|
|
316
|
+
// Iterate through attributes and set values
|
|
317
|
+
for (let i = 0; i < numAttributes; i++) {
|
|
318
|
+
const attr = attributes[i];
|
|
319
|
+
// Calculate phase offset for this attribute
|
|
320
|
+
const phaseOffset = (2 * Math.PI * i) / numAttributes;
|
|
321
|
+
// Generate sine wave value
|
|
322
|
+
const timeRadians = deviceTimeMs * frequencyHz * (2 * Math.PI) / 1000;
|
|
323
|
+
const sinValue = Math.sin(timeRadians + phaseOffset);
|
|
324
|
+
// Scale the value to fit within the attribute's range
|
|
325
|
+
let scaledValue;
|
|
326
|
+
if (attr.r && attr.r.length >= 2) {
|
|
327
|
+
const minValue = attr.r[0];
|
|
328
|
+
const maxValue = attr.r[1];
|
|
329
|
+
const midPoint = (maxValue + minValue) / 2;
|
|
330
|
+
const range = (maxValue - minValue) / 2;
|
|
331
|
+
scaledValue = midPoint + sinValue * range * amplitude;
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
// Default range if not specified
|
|
335
|
+
scaledValue = sinValue * 1000 * amplitude;
|
|
336
|
+
}
|
|
337
|
+
// Convert to raw integer value if needed
|
|
338
|
+
let rawValue = scaledValue;
|
|
339
|
+
if (attr.d) {
|
|
340
|
+
// Multiply by the divisor to get the raw value (reverse of what happens when decoding)
|
|
341
|
+
rawValue = scaledValue * attr.d;
|
|
342
|
+
}
|
|
343
|
+
// Write the value to the buffer based on its type
|
|
344
|
+
if (attr.t === "b") {
|
|
345
|
+
dataView.setUint8(bytePos, Math.round(rawValue));
|
|
346
|
+
bytePos += 1;
|
|
347
|
+
}
|
|
348
|
+
else if (attr.t === "B") {
|
|
349
|
+
dataView.setUint8(bytePos, Math.round(rawValue));
|
|
350
|
+
bytePos += 1;
|
|
351
|
+
}
|
|
352
|
+
else if (attr.t === "c") {
|
|
353
|
+
dataView.setInt8(bytePos, Math.round(rawValue));
|
|
354
|
+
bytePos += 1;
|
|
355
|
+
}
|
|
356
|
+
else if (attr.t === "C") {
|
|
357
|
+
dataView.setUint8(bytePos, Math.round(rawValue));
|
|
358
|
+
bytePos += 1;
|
|
359
|
+
}
|
|
360
|
+
else if (attr.t === "<h") {
|
|
361
|
+
dataView.setInt16(bytePos, Math.round(rawValue), true); // Little endian
|
|
362
|
+
bytePos += 2;
|
|
363
|
+
}
|
|
364
|
+
else if (attr.t === ">h") {
|
|
365
|
+
dataView.setInt16(bytePos, Math.round(rawValue), false); // Big endian
|
|
366
|
+
bytePos += 2;
|
|
367
|
+
}
|
|
368
|
+
else if (attr.t === "<H") {
|
|
369
|
+
dataView.setUint16(bytePos, Math.round(rawValue), true); // Little endian
|
|
370
|
+
bytePos += 2;
|
|
371
|
+
}
|
|
372
|
+
else if (attr.t === ">H") {
|
|
373
|
+
dataView.setUint16(bytePos, Math.round(rawValue), false); // Big endian
|
|
374
|
+
bytePos += 2;
|
|
375
|
+
}
|
|
376
|
+
else if (attr.t === "f" || attr.t === "<f") {
|
|
377
|
+
dataView.setFloat32(bytePos, rawValue, true); // Little endian
|
|
378
|
+
bytePos += 4;
|
|
379
|
+
}
|
|
380
|
+
else if (attr.t === ">f") {
|
|
381
|
+
dataView.setFloat32(bytePos, rawValue, false); // Big endian
|
|
382
|
+
bytePos += 4;
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
RaftLog_1.default.warn(`RaftChannelSimulated._createSimulatedDeviceInfoMsg - unsupported attribute type ${attr.t}`);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
// Convert the buffer to a byte array
|
|
389
|
+
const dataBytes = new Uint8Array(dataBuffer);
|
|
390
|
+
// Create the JSON message structure
|
|
391
|
+
const message = {
|
|
392
|
+
"BUS1": {
|
|
393
|
+
[deviceName]: {
|
|
394
|
+
"_t": deviceTypeInfo.type,
|
|
395
|
+
"_o": 1, // Device is online
|
|
396
|
+
"pub": this._bytesToHexStr(dataBytes)
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
};
|
|
400
|
+
// Convert the JSON to a string and then to Uint8Array with prepended timestamp
|
|
401
|
+
const jsonString = JSON.stringify(message);
|
|
402
|
+
const encodedMsg = new TextEncoder().encode(jsonString);
|
|
403
|
+
const msgWithPrefix = new ArrayBuffer(2 + encodedMsg.byteLength);
|
|
404
|
+
const msgWithPrefixView = new DataView(msgWithPrefix);
|
|
405
|
+
const msgPrefixBytes = new Uint8Array(msgWithPrefix);
|
|
406
|
+
msgWithPrefixView.setUint16(0, 0, false);
|
|
407
|
+
msgPrefixBytes.set(encodedMsg, 2);
|
|
408
|
+
return msgPrefixBytes;
|
|
409
|
+
}
|
|
410
|
+
// Helper function to convert bytes to hex string
|
|
411
|
+
_bytesToHexStr(bytes) {
|
|
412
|
+
return Array.from(bytes)
|
|
413
|
+
.map(byte => byte.toString(16).padStart(2, '0'))
|
|
414
|
+
.join('');
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
exports.default = RaftChannelSimulated;
|
|
418
|
+
//# sourceMappingURL=RaftChannelSimulated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RaftChannelSimulated.js","sourceRoot":"","sources":["../../src/RaftChannelSimulated.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,4 +34,6 @@ export default class RaftChannelWebSerial implements RaftChannel {
|
|
|
34
34
|
sendTxMsg(msg: Uint8Array, sendWithResponse: boolean): Promise<boolean>;
|
|
35
35
|
sendTxMsgNoAwait(msg: Uint8Array, sendWithResponse: boolean): Promise<boolean>;
|
|
36
36
|
_readLoop(): Promise<void>;
|
|
37
|
+
sendTxMsgRaw(): boolean;
|
|
38
|
+
sendTxMsgRawAndWaitForReply<T>(): T;
|
|
37
39
|
}
|
|
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
const tslib_1 = require("tslib");
|
|
13
13
|
const RaftLog_1 = tslib_1.__importDefault(require("./RaftLog"));
|
|
14
14
|
const RaftConnEvents_1 = require("./RaftConnEvents");
|
|
15
|
-
const text_encoding_1 = require("text-encoding");
|
|
16
15
|
class RaftChannelWebSerial {
|
|
17
16
|
constructor() {
|
|
18
17
|
// Message handler
|
|
@@ -88,7 +87,7 @@ class RaftChannelWebSerial {
|
|
|
88
87
|
RaftLog_1.default.debug(`Opening port failed - already open ${err}`);
|
|
89
88
|
}
|
|
90
89
|
else {
|
|
91
|
-
RaftLog_1.default.
|
|
90
|
+
RaftLog_1.default.warn(`Opening port failed: ${err}`);
|
|
92
91
|
throw err;
|
|
93
92
|
}
|
|
94
93
|
}
|
|
@@ -103,7 +102,7 @@ class RaftChannelWebSerial {
|
|
|
103
102
|
// TODO: handle errors
|
|
104
103
|
}
|
|
105
104
|
catch (err) {
|
|
106
|
-
RaftLog_1.default.
|
|
105
|
+
RaftLog_1.default.warn("RaftChannelWebSerial.connect fail. Error: " + JSON.stringify(err));
|
|
107
106
|
return false;
|
|
108
107
|
}
|
|
109
108
|
return true;
|
|
@@ -219,7 +218,7 @@ class RaftChannelWebSerial {
|
|
|
219
218
|
// any output over the non overascii channel will be delimited by a new line character
|
|
220
219
|
// scan for this, and log any lines as they occur before removing them from the buffer
|
|
221
220
|
if (this._serialBuffer.includes(0x0a)) {
|
|
222
|
-
const decoder = new
|
|
221
|
+
const decoder = new TextDecoder();
|
|
223
222
|
RaftLog_1.default.debug(decoder.decode(new Uint8Array(this._serialBuffer.slice(0, this._serialBuffer.indexOf(0x0a)))));
|
|
224
223
|
this._serialBuffer.splice(0, this._serialBuffer.indexOf(0x0a) + 1);
|
|
225
224
|
}
|
|
@@ -230,7 +229,7 @@ class RaftChannelWebSerial {
|
|
|
230
229
|
if (!this._isConnected || !this._port)
|
|
231
230
|
return false;
|
|
232
231
|
// Debug
|
|
233
|
-
const decoder = new
|
|
232
|
+
const decoder = new TextDecoder();
|
|
234
233
|
RaftLog_1.default.verbose(`RaftChannelWebSerial.sendTxMsg ${msg.toString()} ${decoder.decode(msg)} sendWithResp ${sendWithResponse.toString()}`);
|
|
235
234
|
try {
|
|
236
235
|
if (this._port.writable != null) {
|
|
@@ -258,7 +257,7 @@ class RaftChannelWebSerial {
|
|
|
258
257
|
}
|
|
259
258
|
}
|
|
260
259
|
catch (err) {
|
|
261
|
-
RaftLog_1.default.
|
|
260
|
+
RaftLog_1.default.warn("sendMsg error: " + JSON.stringify(err));
|
|
262
261
|
}
|
|
263
262
|
return true;
|
|
264
263
|
}
|
|
@@ -269,7 +268,7 @@ class RaftChannelWebSerial {
|
|
|
269
268
|
let retries = 10;
|
|
270
269
|
try {
|
|
271
270
|
if (!this._port.readable) {
|
|
272
|
-
RaftLog_1.default.
|
|
271
|
+
RaftLog_1.default.warn("RaftChannelWebSerial _readLoop port is not readble");
|
|
273
272
|
return;
|
|
274
273
|
}
|
|
275
274
|
this._reader = this._port.readable.getReader();
|
|
@@ -296,7 +295,7 @@ class RaftChannelWebSerial {
|
|
|
296
295
|
this._onMsgRx(new Uint8Array(value));
|
|
297
296
|
}
|
|
298
297
|
catch (err) {
|
|
299
|
-
RaftLog_1.default.
|
|
298
|
+
RaftLog_1.default.warn("read loop issue: " + JSON.stringify(err));
|
|
300
299
|
retries -= 1;
|
|
301
300
|
if (!retries)
|
|
302
301
|
break;
|
|
@@ -309,12 +308,22 @@ class RaftChannelWebSerial {
|
|
|
309
308
|
this._reader = undefined;
|
|
310
309
|
}
|
|
311
310
|
catch (err) {
|
|
312
|
-
RaftLog_1.default.
|
|
311
|
+
RaftLog_1.default.warn("Read loop got disconnected. err: " + JSON.stringify(err));
|
|
313
312
|
}
|
|
314
313
|
// Disconnected!
|
|
315
314
|
this._isConnected = false;
|
|
316
315
|
RaftLog_1.default.debug("Finished read loop");
|
|
317
316
|
}
|
|
317
|
+
// Method used for testing and simulation should never be called
|
|
318
|
+
sendTxMsgRaw() {
|
|
319
|
+
RaftLog_1.default.debug(`sendTxMsgRaw - not implemented`);
|
|
320
|
+
return false;
|
|
321
|
+
}
|
|
322
|
+
// Method used for testing and simulation should never be called
|
|
323
|
+
sendTxMsgRawAndWaitForReply() {
|
|
324
|
+
RaftLog_1.default.debug(`sendTxMsgRawAndWaitForReply - not implemented`);
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
318
327
|
}
|
|
319
328
|
exports.default = RaftChannelWebSerial;
|
|
320
329
|
//# sourceMappingURL=RaftChannelWebSerial.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RaftChannelWebSerial.js","sourceRoot":"","sources":["../../src/RaftChannelWebSerial.ts"],"names":[],"mappings":";AAAA,iHAAiH;AACjH,EAAE;AACF,uBAAuB;AACvB,iBAAiB;AACjB,EAAE;AACF,wCAAwC;AACxC,oCAAoC;AACpC,EAAE;AACF,iHAAiH;;;AAIjH,gEAAgC;AAChC,qDAAkE;
|
|
1
|
+
{"version":3,"file":"RaftChannelWebSerial.js","sourceRoot":"","sources":["../../src/RaftChannelWebSerial.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,4 +25,6 @@ export default class RaftChannelWebSocket implements RaftChannel {
|
|
|
25
25
|
sendTxMsgNoAwait(msg: Uint8Array, sendWithResponse: boolean): Promise<boolean>;
|
|
26
26
|
_wsConnect(locator: string | object): Promise<boolean>;
|
|
27
27
|
private _webSocketOpen;
|
|
28
|
+
sendTxMsgRaw(): boolean;
|
|
29
|
+
sendTxMsgRawAndWaitForReply<T>(): T;
|
|
28
30
|
}
|
|
@@ -192,6 +192,16 @@ class RaftChannelWebSocket {
|
|
|
192
192
|
}
|
|
193
193
|
});
|
|
194
194
|
}
|
|
195
|
+
// Method used for testing and simulation should never be called
|
|
196
|
+
sendTxMsgRaw() {
|
|
197
|
+
RaftLog_1.default.debug(`sendTxMsgRaw - not implemented`);
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
// Method used for testing and simulation should never be called
|
|
201
|
+
sendTxMsgRawAndWaitForReply() {
|
|
202
|
+
RaftLog_1.default.debug(`sendTxMsgRawAndWaitForReply - not implemented`);
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
195
205
|
}
|
|
196
206
|
exports.default = RaftChannelWebSocket;
|
|
197
207
|
//# sourceMappingURL=RaftChannelWebSocket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RaftChannelWebSocket.js","sourceRoot":"","sources":["../../src/RaftChannelWebSocket.ts"],"names":[],"mappings":";AAAA,iHAAiH;AACjH,EAAE;AACF,wBAAwB;AACxB,iBAAiB;AACjB,EAAE;AACF,wCAAwC;AACxC,oCAAoC;AACpC,EAAE;AACF,iHAAiH;;;AAGjH,0EAAsC;AAEtC,gEAAgC;AAChC,oEAAoC;AACpC,qDAAkE;AAGlE,MAAqB,oBAAoB;IAAzC;QAEE,kBAAkB;QACV,oBAAe,GAA0B,IAAI,CAAC;QAEtD,gCAAgC;QACxB,eAAU,GAAqB,IAAI,CAAC;QAE5C,uBAAuB;QACvB,uCAAuC;QACvC,uCAAuC;QAEvC,eAAe;QACP,iBAAY,GAAG,KAAK,CAAC;QAE7B,gBAAgB;QACR,iBAAY,GAA2B,IAAI,CAAC;QAEpD,0BAA0B;QAClB,2BAAsB,GAAG,EAAE,CAAC;QAC5B,4BAAuB,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"RaftChannelWebSocket.js","sourceRoot":"","sources":["../../src/RaftChannelWebSocket.ts"],"names":[],"mappings":"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"}
|