@zimo-elektronik/zcan 1.0.62 → 1.0.63
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/MX10.d.ts +2 -1
- package/dist/MX10.js +24 -14
- package/dist/MX10.js.map +1 -1
- package/package.json +1 -1
- package/src/MX10.ts +37 -15
package/dist/MX10.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export default class MX10 {
|
|
|
9
9
|
connected: boolean;
|
|
10
10
|
onConnect: () => void;
|
|
11
11
|
onDisconnect: () => void;
|
|
12
|
+
onTimeout: () => void;
|
|
12
13
|
readonly systemControl: SystemControlGroup;
|
|
13
14
|
readonly accessoryCommand: AccessoryCommandGroup;
|
|
14
15
|
readonly vehicle: VehicleGroup;
|
|
@@ -42,7 +43,7 @@ export default class MX10 {
|
|
|
42
43
|
constructor(ownNid: number, clientName: string, clientId: number, debugCommunication?: boolean);
|
|
43
44
|
initSocket(createSocketFunction: CreateSocketFunction, ipAddress: string, incomingPort?: number, outgoingPort?: number): Promise<void>;
|
|
44
45
|
reconnectLogic(): void;
|
|
45
|
-
closeSocket(
|
|
46
|
+
closeSocket(): Promise<void>;
|
|
46
47
|
sendMsg(msg: Message, force?: boolean): void;
|
|
47
48
|
sendData(group: number, cmd: number, data?: ZcanDataArray, mode?: MsgMode, nid?: number, force?: boolean): void;
|
|
48
49
|
private formatData;
|
package/dist/MX10.js
CHANGED
|
@@ -9,6 +9,7 @@ export default class MX10 {
|
|
|
9
9
|
connected = false;
|
|
10
10
|
onConnect = () => { };
|
|
11
11
|
onDisconnect = () => { };
|
|
12
|
+
onTimeout = () => { };
|
|
12
13
|
systemControl = new SystemControlGroup(this);
|
|
13
14
|
accessoryCommand = new AccessoryCommandGroup(this);
|
|
14
15
|
vehicle = new VehicleGroup(this);
|
|
@@ -52,9 +53,8 @@ export default class MX10 {
|
|
|
52
53
|
if (msg)
|
|
53
54
|
this.lastPing = Date.now();
|
|
54
55
|
else if (Date.now() - this.lastPing > 2000) {
|
|
55
|
-
this.logInfo.next('No ping for 2 seconds
|
|
56
|
-
|
|
57
|
-
this.logError.next('.mx10.connection.not_connected');
|
|
56
|
+
this.logInfo.next('No ping for 2 seconds!');
|
|
57
|
+
this.onTimeout();
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
});
|
|
@@ -63,14 +63,22 @@ export default class MX10 {
|
|
|
63
63
|
this.incomingPort = incomingPort;
|
|
64
64
|
this.outgoingPort = outgoingPort;
|
|
65
65
|
this.mx10IP = ipAddress;
|
|
66
|
+
if (this.mx10Socket) {
|
|
67
|
+
this.logInfo.next('.initSocket: ' + 'closing socket');
|
|
68
|
+
await this.closeSocket();
|
|
69
|
+
}
|
|
66
70
|
if (this.mx10Socket == null) {
|
|
71
|
+
this.logInfo.next('.initSocket: ' + 'creating socket');
|
|
67
72
|
const socket = (this.mx10Socket = createSocketFunction({ type: 'udp4' }));
|
|
73
|
+
this.logInfo.next('.initSocket: ' + 'socket = ' + JSON.stringify(socket));
|
|
68
74
|
await new Promise((resolve) => {
|
|
69
75
|
socket.bind(incomingPort, () => {
|
|
70
76
|
resolve(null);
|
|
71
77
|
});
|
|
72
78
|
});
|
|
79
|
+
this.logInfo.next('.initSocket: ' + 'socket. = ' + JSON.stringify(socket));
|
|
73
80
|
this.mx10Socket.on('message', this.readRawData.bind(this));
|
|
81
|
+
this.logInfo.next('.initSocket: ' + 'socket.. = ' + JSON.stringify(socket));
|
|
74
82
|
const ping = await this.network.ping();
|
|
75
83
|
if (ping) {
|
|
76
84
|
this.connected = true;
|
|
@@ -83,13 +91,16 @@ export default class MX10 {
|
|
|
83
91
|
}
|
|
84
92
|
}
|
|
85
93
|
if (this.connected) {
|
|
94
|
+
this.logInfo.next('.initSocket: ' + 'created socket');
|
|
86
95
|
this.onConnect();
|
|
87
96
|
}
|
|
88
97
|
else {
|
|
89
|
-
|
|
90
|
-
throw new Error('mx10.connection.not_connected');
|
|
98
|
+
this.logInfo.next('.initSocket: ' + 'failed to connect');
|
|
91
99
|
}
|
|
92
100
|
}
|
|
101
|
+
else {
|
|
102
|
+
this.logInfo.next('.initSocket: ' + 'socket wasnt null');
|
|
103
|
+
}
|
|
93
104
|
}
|
|
94
105
|
reconnectLogic() {
|
|
95
106
|
const date = Date.now();
|
|
@@ -111,17 +122,16 @@ export default class MX10 {
|
|
|
111
122
|
}
|
|
112
123
|
this.lastPing = date;
|
|
113
124
|
}
|
|
114
|
-
async closeSocket(
|
|
125
|
+
async closeSocket() {
|
|
126
|
+
this.logInfo.next('.closeSocket');
|
|
115
127
|
if (this.mx10Socket != null) {
|
|
116
|
-
|
|
117
|
-
await this.network.portClose();
|
|
118
|
-
this.mx10NID = 0;
|
|
119
|
-
}
|
|
128
|
+
await this.network.portClose();
|
|
120
129
|
this.mx10Socket?.close();
|
|
121
130
|
this.mx10Socket = null;
|
|
122
|
-
this.connected = false;
|
|
123
|
-
this.onDisconnect();
|
|
124
131
|
}
|
|
132
|
+
this.mx10NID = 0;
|
|
133
|
+
this.connected = false;
|
|
134
|
+
this.onDisconnect();
|
|
125
135
|
}
|
|
126
136
|
sendMsg(msg, force = false) {
|
|
127
137
|
const buffer = msg.udp(this.myNID);
|
|
@@ -179,8 +189,8 @@ export default class MX10 {
|
|
|
179
189
|
this.logInfo.next(err.message);
|
|
180
190
|
});
|
|
181
191
|
}
|
|
182
|
-
readRawData(message) {
|
|
183
|
-
if (message.byteLength < 8)
|
|
192
|
+
readRawData(message, rinfo) {
|
|
193
|
+
if (message.byteLength < 8 || rinfo.address !== this.mx10IP)
|
|
184
194
|
return;
|
|
185
195
|
const size = message.readUInt16LE(0);
|
|
186
196
|
const group = message.readUInt8(4);
|
package/dist/MX10.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MX10.js","sourceRoot":"","sources":["../src/MX10.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MX10.js","sourceRoot":"","sources":["../src/MX10.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "https://github.com/ZIMO-Elektronik/zcan",
|
|
8
|
-
"version": "1.0.
|
|
8
|
+
"version": "1.0.63",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"start": "node dist/main.js",
|
|
11
11
|
"start:dev": "nodemon --ext js,ts,json,env --exec \"node --experimental-specifier-resolution=node --loader ts-node/esm\" src/main.ts",
|
package/src/MX10.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-bitwise */
|
|
2
2
|
|
|
3
3
|
import {Buffer} from 'buffer';
|
|
4
|
+
import {RemoteInfo} from 'dgram';
|
|
4
5
|
import {interval, Subject} from 'rxjs';
|
|
5
6
|
import {Message} from './common/communication';
|
|
6
7
|
import {AccessoryCommandGroup, DataGroup, FileControlGroup, FileTransferGroup, InfoGroup, LanDataGroup, LanInfoGroup,
|
|
@@ -24,6 +25,7 @@ export default class MX10
|
|
|
24
25
|
|
|
25
26
|
onConnect = () => {};
|
|
26
27
|
onDisconnect = () => {};
|
|
28
|
+
onTimeout = () => {};
|
|
27
29
|
|
|
28
30
|
readonly systemControl = new SystemControlGroup(this);
|
|
29
31
|
readonly accessoryCommand = new AccessoryCommandGroup(this);
|
|
@@ -75,9 +77,10 @@ export default class MX10
|
|
|
75
77
|
if(msg)
|
|
76
78
|
this.lastPing = Date.now();
|
|
77
79
|
else if(Date.now() - this.lastPing > 2000) {
|
|
78
|
-
this.logInfo.next('No ping for 2 seconds
|
|
79
|
-
|
|
80
|
-
this.
|
|
80
|
+
this.logInfo.next('No ping for 2 seconds!');
|
|
81
|
+
this.onTimeout();
|
|
82
|
+
// await this.closeSocket();
|
|
83
|
+
// this.logError.next('.mx10.connection.not_connected');
|
|
81
84
|
}
|
|
82
85
|
}
|
|
83
86
|
});
|
|
@@ -90,10 +93,17 @@ export default class MX10
|
|
|
90
93
|
this.outgoingPort = outgoingPort;
|
|
91
94
|
this.mx10IP = ipAddress;
|
|
92
95
|
// this.mx10NID = 0xc000 | Number.parseInt(ipAddress.split('.')[3]);
|
|
96
|
+
if(this.mx10Socket)
|
|
97
|
+
{
|
|
98
|
+
this.logInfo.next('.initSocket: ' + 'closing socket');
|
|
99
|
+
await this.closeSocket();
|
|
100
|
+
}
|
|
93
101
|
|
|
94
102
|
if(this.mx10Socket == null)
|
|
95
103
|
{
|
|
104
|
+
this.logInfo.next('.initSocket: ' + 'creating socket');
|
|
96
105
|
const socket = (this.mx10Socket = createSocketFunction({type: 'udp4'}) as Socket);
|
|
106
|
+
this.logInfo.next('.initSocket: ' + 'socket = ' + JSON.stringify(socket));
|
|
97
107
|
|
|
98
108
|
await new Promise((resolve) => {
|
|
99
109
|
socket.bind(incomingPort, () => {
|
|
@@ -101,7 +111,12 @@ export default class MX10
|
|
|
101
111
|
});
|
|
102
112
|
});
|
|
103
113
|
|
|
114
|
+
this.logInfo.next('.initSocket: ' + 'socket. = ' + JSON.stringify(socket));
|
|
104
115
|
this.mx10Socket.on('message', this.readRawData.bind(this));
|
|
116
|
+
// this.mx10Socket.on('message', (data, rinfo) => {
|
|
117
|
+
// this.logInfo.next('onMessage: ' + JSON.stringify(data) + ' ... ' + JSON.stringify(rinfo));
|
|
118
|
+
// });
|
|
119
|
+
this.logInfo.next('.initSocket: ' + 'socket.. = ' + JSON.stringify(socket));
|
|
105
120
|
const ping = await this.network.ping();
|
|
106
121
|
if(ping) {
|
|
107
122
|
this.connected = true;
|
|
@@ -116,13 +131,20 @@ export default class MX10
|
|
|
116
131
|
// await delay(this.connectionTimeout);
|
|
117
132
|
|
|
118
133
|
if(this.connected) {
|
|
134
|
+
this.logInfo.next('.initSocket: ' + 'created socket');
|
|
119
135
|
this.onConnect();
|
|
136
|
+
// } else {
|
|
137
|
+
// await this.closeSocket();
|
|
138
|
+
// // throw new Error('mx10.connection.timeout');
|
|
139
|
+
// throw new Error('mx10.connection.not_connected');
|
|
120
140
|
} else {
|
|
121
|
-
|
|
122
|
-
// throw new Error('mx10.connection.timeout');
|
|
123
|
-
throw new Error('mx10.connection.not_connected');
|
|
141
|
+
this.logInfo.next('.initSocket: ' + 'failed to connect');
|
|
124
142
|
}
|
|
125
143
|
}
|
|
144
|
+
else
|
|
145
|
+
{
|
|
146
|
+
this.logInfo.next('.initSocket: ' + 'socket wasnt null');
|
|
147
|
+
}
|
|
126
148
|
}
|
|
127
149
|
|
|
128
150
|
reconnectLogic()
|
|
@@ -147,18 +169,17 @@ export default class MX10
|
|
|
147
169
|
this.lastPing = date;
|
|
148
170
|
}
|
|
149
171
|
|
|
150
|
-
async closeSocket(
|
|
172
|
+
async closeSocket()
|
|
151
173
|
{
|
|
174
|
+
this.logInfo.next('.closeSocket');
|
|
152
175
|
if(this.mx10Socket != null) {
|
|
153
|
-
|
|
154
|
-
await this.network.portClose();
|
|
155
|
-
this.mx10NID = 0;
|
|
156
|
-
}
|
|
176
|
+
await this.network.portClose();
|
|
157
177
|
this.mx10Socket?.close();
|
|
158
178
|
this.mx10Socket = null;
|
|
159
|
-
this.connected = false;
|
|
160
|
-
this.onDisconnect();
|
|
161
179
|
}
|
|
180
|
+
this.mx10NID = 0;
|
|
181
|
+
this.connected = false;
|
|
182
|
+
this.onDisconnect();
|
|
162
183
|
}
|
|
163
184
|
|
|
164
185
|
sendMsg(msg: Message, force = false)
|
|
@@ -234,9 +255,10 @@ export default class MX10
|
|
|
234
255
|
});
|
|
235
256
|
}
|
|
236
257
|
|
|
237
|
-
private readRawData(message: Buffer)
|
|
258
|
+
private readRawData(message: Buffer, rinfo: RemoteInfo)
|
|
238
259
|
{
|
|
239
|
-
|
|
260
|
+
//this.logInfo.next('readRawData: ' + JSON.stringify(message));
|
|
261
|
+
if(message.byteLength < 8 || rinfo.address !== this.mx10IP)
|
|
240
262
|
return;
|
|
241
263
|
const size = message.readUInt16LE(0);
|
|
242
264
|
const group = message.readUInt8(4);
|