@zimo-elektronik/zcan 1.0.58 → 1.0.60

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Subject } from 'rxjs';
2
2
  import { Message } from './common/communication';
3
3
  import { AccessoryCommandGroup, DataGroup, FileControlGroup, FileTransferGroup, InfoGroup, LanDataGroup, LanInfoGroup, LanNetworkGroup, LanLocoStateGroup, LanZimoProgrammableScriptGroup, NetworkGroup, PropertyConfigGroup, RailwayControlGroup, SystemControlGroup, TrackCfgGroup, TrainControlGroup, VehicleGroup, ZimoProgrammableScriptGroup, MsgMode } from './';
4
- import { CreateSocketFunction, NIDGenerator, ZcanDataArray } from './common/communication';
4
+ import { CreateSocketFunction, ZcanDataArray } from './common/communication';
5
5
  export default class MX10 {
6
6
  myNID: number;
7
7
  mx10NID: number;
@@ -28,7 +28,6 @@ export default class MX10 {
28
28
  readonly logError: Subject<string>;
29
29
  readonly logWarning: Subject<string>;
30
30
  readonly logInfo: Subject<string>;
31
- readonly connectionTimeout: number;
32
31
  private mx10Socket;
33
32
  private incomingPort;
34
33
  private outgoingPort;
@@ -36,10 +35,9 @@ export default class MX10 {
36
35
  private interval;
37
36
  private clientName;
38
37
  private clientId;
39
- private readonly nidGeneratorFunction;
40
38
  private readonly debugCommunication;
41
39
  private readonly reconnectionTime;
42
- constructor(nidGeneratorFunction: NIDGenerator, clientName: string, clientId: number, connectionTimeout?: number, debugCommunication?: boolean);
40
+ constructor(ownNid: number, clientName: string, clientId: number, debugCommunication?: boolean);
43
41
  initSocket(createSocketFunction: CreateSocketFunction, ipAddress: string, incomingPort?: number, outgoingPort?: number): Promise<void>;
44
42
  reconnectLogic(): void;
45
43
  closeSocket(callMx10?: boolean): Promise<void>;
package/dist/MX10.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { Buffer } from 'buffer';
2
2
  import { interval, Subject } from 'rxjs';
3
- import { AccessoryCommandGroup, DataGroup, FileControlGroup, FileTransferGroup, InfoGroup, LanDataGroup, LanInfoGroup, LanNetworkGroup, LanLocoStateGroup, LanZimoProgrammableScriptGroup, NetworkGroup, PropertyConfigGroup, RailwayControlGroup, SystemControlGroup, TrackCfgGroup, TrainControlGroup, VehicleGroup, ZimoProgrammableScriptGroup, MsgMode, } from './';
4
- import { delay } from './common/utils';
3
+ import { AccessoryCommandGroup, DataGroup, FileControlGroup, FileTransferGroup, InfoGroup, LanDataGroup, LanInfoGroup, LanNetworkGroup, LanLocoStateGroup, LanZimoProgrammableScriptGroup, NetworkGroup, PropertyConfigGroup, RailwayControlGroup, SystemControlGroup, TrackCfgGroup, TrainControlGroup, VehicleGroup, ZimoProgrammableScriptGroup, MsgMode } from './';
5
4
  import ExtendedASCII from './common/extendedAscii';
6
5
  export default class MX10 {
7
6
  myNID = 0;
@@ -29,7 +28,6 @@ export default class MX10 {
29
28
  logError = new Subject();
30
29
  logWarning = new Subject();
31
30
  logInfo = new Subject();
32
- connectionTimeout;
33
31
  mx10Socket = null;
34
32
  incomingPort = 14521;
35
33
  outgoingPort = 14520;
@@ -37,30 +35,33 @@ export default class MX10 {
37
35
  interval = undefined;
38
36
  clientName;
39
37
  clientId;
40
- nidGeneratorFunction;
41
38
  debugCommunication;
42
39
  reconnectionTime = 0;
43
- constructor(nidGeneratorFunction, clientName, clientId, connectionTimeout = 1000, debugCommunication = false) {
44
- this.nidGeneratorFunction = nidGeneratorFunction;
45
- this.connectionTimeout = connectionTimeout;
40
+ constructor(ownNid, clientName, clientId, debugCommunication = false) {
46
41
  this.debugCommunication = debugCommunication;
47
- this.reconnectionTime = connectionTimeout * 4;
42
+ this.reconnectionTime = 2000;
48
43
  this.clientName = clientName;
49
44
  this.clientId = clientId;
50
- const pingIntervalMs = 1000;
51
- if (this.connected) {
52
- this.network.ping();
53
- }
54
- interval(pingIntervalMs).subscribe(() => {
45
+ this.myNID = ownNid;
46
+ interval(1000).subscribe(async () => {
55
47
  if (this.connected) {
56
- this.network.ping();
48
+ this.logInfo.next('ping, weil connected');
49
+ const msg = await this.network.ping(this.mx10NID);
50
+ if (msg)
51
+ this.lastPing = Date.now();
52
+ else if (Date.now() - this.lastPing > 2000) {
53
+ this.logInfo.next('No ping for 2 seconds, disconnected');
54
+ this.connected = false;
55
+ this.closeSocket();
56
+ this.logError.next('.mx10.connection.not_connected');
57
+ }
57
58
  }
58
59
  });
59
60
  }
60
61
  async initSocket(createSocketFunction, ipAddress, incomingPort = 14521, outgoingPort = 14520) {
61
- this.mx10IP = ipAddress;
62
62
  this.incomingPort = incomingPort;
63
63
  this.outgoingPort = outgoingPort;
64
+ this.mx10IP = ipAddress;
64
65
  if (this.mx10Socket == null) {
65
66
  const socket = (this.mx10Socket = createSocketFunction({ type: 'udp4' }));
66
67
  await new Promise((resolve) => {
@@ -69,17 +70,19 @@ export default class MX10 {
69
70
  });
70
71
  });
71
72
  this.mx10Socket.on('message', this.readRawData.bind(this));
72
- this.myNID = await this.nidGeneratorFunction();
73
- const ack = await this.lanNetwork.portOpen(this.clientName, this.clientId);
74
- if (ack) {
75
- this.mx10NID = ack.header.nid || 0;
73
+ const ping = await this.network.ping();
74
+ if (ping) {
76
75
  this.connected = true;
77
76
  }
78
- this.connected = true;
79
- await delay(this.connectionTimeout);
77
+ else {
78
+ const ack = await this.lanNetwork.portOpen(this.clientName, this.clientId);
79
+ if (ack) {
80
+ this.mx10NID = ack.header.nid || 0;
81
+ this.connected = true;
82
+ }
83
+ }
80
84
  if (!this.connected) {
81
85
  await this.closeSocket();
82
- throw new Error('mx10.connection.not_connected');
83
86
  }
84
87
  }
85
88
  }
@@ -97,7 +100,7 @@ export default class MX10 {
97
100
  this.connected = false;
98
101
  this.mx10NID = 0;
99
102
  this.lanNetwork.portOpen(this.clientName, this.clientId);
100
- this.network.ping(0b00);
103
+ this.network.ping();
101
104
  }
102
105
  }, this.reconnectionTime);
103
106
  }
@@ -163,7 +166,6 @@ export default class MX10 {
163
166
  }
164
167
  send(message, force = false) {
165
168
  if (!this.connected && !force) {
166
- this.logError.next('.mx10.connection.not_connected');
167
169
  this.logInfo.next('unable to send ' + JSON.stringify(message));
168
170
  return;
169
171
  }
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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"}
@@ -14,6 +14,7 @@ export type ZcanData = {
14
14
  };
15
15
  export type ZcanDataArray = ZcanData[];
16
16
  export declare class Message {
17
+ static log: (msg: string) => void;
17
18
  header: Header;
18
19
  data: ZcanDataArray;
19
20
  constructor(header: Header, data?: ZcanDataArray);
@@ -36,7 +37,6 @@ export declare class Query<T extends Message> {
36
37
  subscribe(matchNid?: boolean): void;
37
38
  run(rxDelay?: number, retries?: number): Promise<T | undefined>;
38
39
  }
39
- export type NIDGenerator = () => Promise<number>;
40
40
  export interface Socket {
41
41
  bind(port?: number, address?: string, callback?: () => void): this;
42
42
  bind(port?: number, callback?: () => void): this;
@@ -3,6 +3,7 @@ import { MsgMode } from './enums';
3
3
  import { delay } from './utils';
4
4
  import ExtendedASCII from './extendedAscii';
5
5
  export class Message {
6
+ static log = () => { };
6
7
  header;
7
8
  data;
8
9
  constructor(header, data = []) {
@@ -1 +1 @@
1
- {"version":3,"file":"communication.js","sourceRoot":"","sources":["../../src/common/communication.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAE9B,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAgB5C,MAAM,OAAO,OAAO;IAEnB,MAAM,CAAS;IACf,IAAI,CAAgB;IAEpB,YAAY,MAAc,EAAE,OAAsB,EAAE;QAEnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,IAAc;QAElB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,MAAc,IAAmC,CAAC;IAE1D,GAAG,CAAC,MAAc;QAEjB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAEzD,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YAChE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,CAAC;QACb,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;YAC1B,CAAC;;gBAAM,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC9B,KAAK,CAAC;wBACL,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBACzC,MAAM,IAAI,CAAC,CAAC;wBACZ,MAAM;oBACP,KAAK,CAAC;wBACL,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBAC5C,MAAM,IAAI,CAAC,CAAC;wBACZ,MAAM;oBACP,KAAK,CAAC;wBACL,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBAC5C,MAAM,IAAI,CAAC,CAAC;wBACZ,MAAM;oBACP;wBAEC,OAAO,CAAC,IAAI,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;gBAC1D,CAAC;QACF,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;CACD;AAED,MAAM,OAAO,KAAK;IAEjB,MAAM,CAAS;IACf,OAAO,CAAa;IACpB,EAAE,GAA6B,SAAS,CAAC;IACzC,EAAE,GAA6B,GAAG,EAAE,GAAE,CAAC,CAAC;IAChC,MAAM,GAAkB,SAAS,CAAC;IAC1C,KAAK,GAAwB,GAAG,EAAE,GAAE,OAAO,IAAI,CAAA,CAAA,CAAC,CAAC;IACzC,KAAK,GAAY,KAAK,CAAC;IAC/B,GAAG,GAA0B,GAAG,EAAE,GAAE,CAAC,CAAC;IAEtC,YAAY,MAAc,EAAE,OAAmB,EAAG,QAA6B,CAAC,GAAG,EAAE,GAAE,OAAO,IAAI,CAAC,CAAA,CAAC,CAAC;QAEpG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB,GAAG;QAE9B,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACnC,OAAM,IAAI,CAAC,KAAK,IAAI,MAAM,EAC1B,CAAC;YACA,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;YAChB,IAAG,CAAC,MAAM,EAAE;gBACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM;QAEL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,WAAoB,IAAI;QAEjC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAM,EAAE,EAAE;YAE3C,IAAG,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG;gBAC/B,OAAO;YACR,IAAG,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG;gBAChD,OAAO;YAER,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAClB,OAAO;YACR,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAAkB,CAAC,EAAE,UAAkB,CAAC;QAEjD,IAAG,IAAI,CAAC,EAAE,KAAK,SAAS;YACvB,OAAO,SAAS,CAAC;QAClB,IAAG,IAAI,CAAC,EAAE,KAAK,SAAS;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,IAAI,GAAG,QAAQ,CAAC;QAEpB,OAAM,IAAI,CAAC,MAAM,KAAK,SAAS,EAC/B,CAAC;YACA,IAAG,IAAI,GAAG,CAAC;gBACV,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;;gBAErB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEtB,IAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBAChC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC;gBACvB,OAAO,SAAS,CAAC;YAClB,CAAC;QACF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD"}
1
+ {"version":3,"file":"communication.js","sourceRoot":"","sources":["../../src/common/communication.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ export declare class MsgVehicleMode extends Message {
8
8
  nid: number;
9
9
  };
10
10
  static rxDelay: () => number;
11
- static log: (msg: string) => void;
12
11
  private static rxTiming;
13
12
  static modeByte1(opMode: OperatingMode, speedSteps: MaxSpeedSteps): number;
14
13
  constructor(header: Header, mode?: number[] | {
@@ -5,7 +5,6 @@ import { directACKBites, directionBites, eastWestBites_, emergencyStopB, speedBi
5
5
  export class MsgVehicleMode extends Message {
6
6
  static header = (mode, nid) => { return { group: 0x2, cmd: 0x1, mode, nid }; };
7
7
  static rxDelay = () => { return this.rxTiming.now(); };
8
- static log = () => { };
9
8
  static rxTiming = new Ranger({ min: 5, max: 20, now: 5 });
10
9
  static modeByte1(opMode, speedSteps) {
11
10
  const opModes = Object.values(OperatingMode);
@@ -1 +1 @@
1
- {"version":3,"file":"vehicleMsg.js","sourceRoot":"","sources":["../../src/loco/vehicleMsg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vehicleMsg.js","sourceRoot":"","sources":["../../src/loco/vehicleMsg.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,16 @@
1
1
  import { Subject } from 'rxjs';
2
2
  import MX10 from '../MX10';
3
3
  import { Buffer } from 'buffer';
4
- import { PingResponseExtended } from '../common/models';
5
- import { MsgPortClose } from './networkMsg';
4
+ import { MsgPing, MsgPortClose } from './networkMsg';
6
5
  export default class NetworkGroup {
7
- readonly onPingResponse: Subject<PingResponseExtended>;
6
+ readonly onPing: Subject<MsgPing>;
8
7
  readonly onPortClose: Subject<MsgPortClose>;
8
+ private pingQ;
9
9
  private portCloseQ;
10
10
  private mx10;
11
- pingTimeout: NodeJS.Timeout | null;
12
11
  constructor(mx10: MX10);
13
- ping(mode?: number): void;
12
+ ping(nid?: number): Promise<MsgPing | undefined>;
14
13
  portClose(): Promise<void>;
15
14
  parse(size: number, command: number, mode: number, nid: number, buffer: Buffer): void;
16
- pingResponse(size: number, mode: number, nid: number, _buffer: Buffer): void;
15
+ parsePing(size: number, mode: number, nid: number, buffer: Buffer): void;
17
16
  }
@@ -1,15 +1,42 @@
1
1
  import { Subject } from 'rxjs';
2
+ import { Query } from '../docs_entrypoint';
3
+ import { MsgPing } from './networkMsg';
4
+ import { MsgMode } from '../common/enums';
2
5
  export default class NetworkGroup {
3
- onPingResponse = new Subject();
6
+ onPing = new Subject();
4
7
  onPortClose = new Subject();
8
+ pingQ = undefined;
5
9
  portCloseQ = undefined;
6
10
  mx10;
7
- pingTimeout = null;
8
11
  constructor(mx10) {
9
12
  this.mx10 = mx10;
10
13
  }
11
- ping(mode = 0b10) {
12
- this.mx10.sendData(0x0a, 0x00, [{ value: this.mx10.mx10NID, length: 2 }], mode);
14
+ async ping(nid = 0xc000) {
15
+ if (this.pingQ !== undefined && !await this.pingQ.lock()) {
16
+ this.mx10.logInfo.next("mx10.ping: failed to acquire lock");
17
+ return undefined;
18
+ }
19
+ this.pingQ = new Query(MsgPing.header(MsgMode.CMD, nid), this.onPing);
20
+ this.pingQ.log = ((msg) => {
21
+ this.mx10.logInfo.next(msg);
22
+ });
23
+ this.pingQ.tx = ((header) => {
24
+ const msg = new MsgPing(header, nid);
25
+ this.mx10.logInfo.next('ping query tx: ' + JSON.stringify(msg));
26
+ this.mx10.sendMsg(msg, true);
27
+ });
28
+ this.pingQ.match = ((msg) => {
29
+ this.mx10.logInfo.next('ping query rx: ' + JSON.stringify(msg));
30
+ if (nid & 0xff)
31
+ return msg.header.nid === nid;
32
+ return ((msg.header.nid || 0) & 0xff00) === (nid & 0xff00);
33
+ });
34
+ this.pingQ.subscribe(false);
35
+ const rv = await this.pingQ.run(100);
36
+ this.mx10.logInfo.next("mx10.ping.rv: " + JSON.stringify(rv));
37
+ this.pingQ.unlock();
38
+ this.pingQ = undefined;
39
+ return rv;
13
40
  }
14
41
  async portClose() {
15
42
  this.mx10.sendData(0x0a, 0x07, [{ value: this.mx10.myNID, length: 2 }], 0b01);
@@ -18,33 +45,24 @@ export default class NetworkGroup {
18
45
  parse(size, command, mode, nid, buffer) {
19
46
  switch (command) {
20
47
  case 0x00:
21
- this.pingResponse(size, mode, nid, buffer);
48
+ this.parsePing(size, mode, nid, buffer);
22
49
  break;
23
50
  }
24
51
  }
25
- pingResponse(size, mode, nid, _buffer) {
26
- if (!this.onPingResponse.observed)
52
+ parsePing(size, mode, nid, buffer) {
53
+ if (!this.onPing.observed)
27
54
  return;
28
- if (size === 8) {
29
- if (!this.mx10.mx10NID) {
30
- this.mx10.mx10NID = nid;
31
- }
32
- this.mx10.connected = true;
33
- if (this.pingTimeout)
34
- clearTimeout(this.pingTimeout);
35
- this.pingTimeout = setTimeout(() => {
36
- this.mx10.connected = false;
37
- this.onPingResponse.next({
38
- connected: this.mx10.connected,
39
- });
40
- this.mx10.logInfo.next('No ping for 2 seconds, disconnected');
41
- }, 2000);
55
+ this.mx10.logInfo.next('parsePing from 0x' + nid.toString(16) + ': ' + JSON.stringify(buffer));
56
+ if (mode < MsgMode.EVT) {
57
+ const nid = buffer.readUInt16LE(0);
58
+ this.onPing.next(new MsgPing(MsgPing.header(mode, nid)));
42
59
  }
43
60
  else {
44
- throw new Error('LENGTH ERROR: readCmdGrp_0x0A-0x0A, read length as: ' +
45
- size.toString());
61
+ const masterUid = buffer.readUInt32LE(0);
62
+ const type = buffer.readUInt16LE(4);
63
+ const session = buffer.readUInt16LE(6);
64
+ this.onPing.next(new MsgPing(MsgPing.header(mode, nid), masterUid, type, session));
46
65
  }
47
- this.onPingResponse.next({ connected: this.mx10.connected });
48
66
  }
49
67
  }
50
68
  //# sourceMappingURL=networkGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"networkGroup.js","sourceRoot":"","sources":["../../src/network/networkGroup.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAY7B,MAAM,CAAC,OAAO,OAAO,YAAY;IAEhB,cAAc,GAAG,IAAI,OAAO,EAAwB,CAAC;IACrD,WAAW,GAAG,IAAI,OAAO,EAAgB,CAAC;IAElD,UAAU,GAAoC,SAAS,CAAC;IAExD,IAAI,CAAO;IACnB,WAAW,GAA0B,IAAI,CAAC;IAE1C,YAAY,IAAU;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,IAAI,GAAG,IAAI;QAEf,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,SAAS;QAyBd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,OAAe,EAAE,IAAY,EAAE,GAAW,EAAE,MAAc;QAE7E,QAAQ,OAAO,EAAE,CAAC;YACjB,KAAK,IAAI;gBACR,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC3C,MAAM;QACR,CAAC;IACF,CAAC;IAGD,YAAY,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAE,OAAe;QAEpE,IAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ;YAC/B,OAAO;QAER,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YAGhB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAO3B,IAAI,IAAI,CAAC,WAAW;gBACnB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEhC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;iBAC9B,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAC/D,CAAC,EAAE,IAAI,CAAC,CAAC;QACV,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACd,sDAAsD;gBACrD,IAAI,CAAC,QAAQ,EAAE,CAChB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;IAC5D,CAAC;CACD"}
1
+ {"version":3,"file":"networkGroup.js","sourceRoot":"","sources":["../../src/network/networkGroup.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAI7B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAM1C,MAAM,CAAC,OAAO,OAAO,YAAY;IAEhB,MAAM,GAAG,IAAI,OAAO,EAAW,CAAC;IAChC,WAAW,GAAG,IAAI,OAAO,EAAgB,CAAC;IAElD,KAAK,GAA+B,SAAS,CAAC;IAC9C,UAAU,GAAoC,SAAS,CAAC;IAExD,IAAI,CAAO;IAEnB,YAAY,IAAU;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAOD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM;QAEtB,IAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAC5D,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,IAAG,GAAG,GAAG,IAAI;gBACZ,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC;YAC/B,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAE,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,SAAS;QAyBd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,OAAe,EAAE,IAAY,EAAE,GAAW,EAAE,MAAc;QAE7E,QAAQ,OAAO,EAAE,CAAC;YACjB,KAAK,IAAI;gBACR,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACxC,MAAM;QACR,CAAC;IACF,CAAC;IAGD,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAE,MAAc;QAEhE,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YACvB,OAAO;QAER,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/F,IAAG,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACP,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACpF,CAAC;IAiCF,CAAC;CACD"}
@@ -11,3 +11,11 @@ export declare class MsgPortClose extends Message {
11
11
  static header(mode: MsgMode, nid: number): Header;
12
12
  constructor(header: Header, myNid: number);
13
13
  }
14
+ export declare class MsgPing extends Message {
15
+ static header(mode: MsgMode, nid: number): Header;
16
+ constructor(header: Header, masterUid?: number, type?: number, session?: number);
17
+ nid(): number;
18
+ masterUid(): number;
19
+ type(): number;
20
+ session(): number;
21
+ }
@@ -1,4 +1,5 @@
1
1
  import { Message } from "../common/communication";
2
+ import { MsgMode } from "../common/enums";
2
3
  export class MsgPortOpen extends Message {
3
4
  static header(mode, nid) { return { group: 0x1a, cmd: 0x6, mode: mode, nid: nid }; }
4
5
  constructor(header, clientId, comFlags = 0xffffffff, clientName) {
@@ -19,4 +20,19 @@ export class MsgPortClose extends Message {
19
20
  super.push({ value: myNid, length: 2 });
20
21
  }
21
22
  }
23
+ export class MsgPing extends Message {
24
+ static header(mode, nid) { return { group: 0xa, cmd: 0x0, mode: mode, nid: nid }; }
25
+ constructor(header, masterUid, type, session) {
26
+ super(header);
27
+ if (header.mode < MsgMode.EVT)
28
+ return;
29
+ super.push({ value: masterUid || 0, length: 4 });
30
+ super.push({ value: type || 0, length: 2 });
31
+ super.push({ value: session || 0, length: 2 });
32
+ }
33
+ nid() { return this.header.nid; }
34
+ masterUid() { return this.data[0].value; }
35
+ type() { return this.data[0].value; }
36
+ session() { return this.data[0].value; }
37
+ }
22
38
  //# sourceMappingURL=networkMsg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"networkMsg.js","sourceRoot":"","sources":["../../src/network/networkMsg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAI1D,MAAM,OAAO,WAAY,SAAQ,OAAO;IAEhC,MAAM,CAAC,MAAM,CAAC,IAAa,EAAE,GAAW,IAC9C,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAC,CAAA,CAAA,CAAC;IAEtD,YAAY,MAAc,EAAE,QAAgB,EAAE,WAAmB,UAAU,EAAE,UAAmB;QAE/F,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;QACzC,IAAG,UAAU;YACZ,KAAK,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ,KAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA,CAAC;IAChF,QAAQ,KAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC;IAC5E,UAAU,KAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC;CAC9E;AAED,MAAM,OAAO,YAAa,SAAQ,OAAO;IAEjC,MAAM,CAAC,MAAM,CAAC,IAAa,EAAE,GAAW,IAC9C,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAC,CAAA,CAAA,CAAC;IAErD,YAAY,MAAc,EAAE,KAAa;QAExC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;IACvC,CAAC;CACD"}
1
+ {"version":3,"file":"networkMsg.js","sourceRoot":"","sources":["../../src/network/networkMsg.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.58",
8
+ "version": "1.0.60",
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
@@ -3,28 +3,11 @@
3
3
  import {Buffer} from 'buffer';
4
4
  import {interval, Subject} from 'rxjs';
5
5
  import {Message} from './common/communication';
6
- import {
7
- AccessoryCommandGroup,
8
- DataGroup,
9
- FileControlGroup,
10
- FileTransferGroup,
11
- InfoGroup,
12
- LanDataGroup,
13
- LanInfoGroup,
14
- LanNetworkGroup,
15
- LanLocoStateGroup,
16
- LanZimoProgrammableScriptGroup,
17
- NetworkGroup,
18
- PropertyConfigGroup,
19
- RailwayControlGroup,
20
- SystemControlGroup,
21
- TrackCfgGroup,
22
- TrainControlGroup,
23
- VehicleGroup,
24
- ZimoProgrammableScriptGroup,
25
- MsgMode,
26
- } from './';
27
- import {CreateSocketFunction, NIDGenerator, Socket, ZcanDataArray} from './common/communication';
6
+ import {AccessoryCommandGroup, DataGroup, FileControlGroup, FileTransferGroup, InfoGroup, LanDataGroup, LanInfoGroup,
7
+ LanNetworkGroup, LanLocoStateGroup, LanZimoProgrammableScriptGroup, NetworkGroup, PropertyConfigGroup,
8
+ RailwayControlGroup, SystemControlGroup, TrackCfgGroup, TrainControlGroup, VehicleGroup,
9
+ ZimoProgrammableScriptGroup, MsgMode} from './';
10
+ import {CreateSocketFunction, Socket, ZcanDataArray} from './common/communication';
28
11
  import {delay} from './common/utils';
29
12
  import ExtendedASCII from './common/extendedAscii';
30
13
 
@@ -61,7 +44,6 @@ export default class MX10
61
44
  readonly logError = new Subject<string>();
62
45
  readonly logWarning = new Subject<string>();
63
46
  readonly logInfo = new Subject<string>();
64
- readonly connectionTimeout: number;
65
47
 
66
48
  private mx10Socket: Socket | null = null;
67
49
  private incomingPort = 14521;
@@ -71,29 +53,30 @@ export default class MX10
71
53
  private clientName: string;
72
54
  private clientId: number;
73
55
 
74
- private readonly nidGeneratorFunction: NIDGenerator;
75
56
  private readonly debugCommunication: boolean;
76
57
  private readonly reconnectionTime: number = 0;
77
58
 
78
59
 
79
- constructor(nidGeneratorFunction: NIDGenerator, clientName: string, clientId: number,
80
- connectionTimeout = 1000, debugCommunication = false)
60
+ constructor(ownNid: number, clientName: string, clientId: number, debugCommunication = false)
81
61
  {
82
- this.nidGeneratorFunction = nidGeneratorFunction;
83
- this.connectionTimeout = connectionTimeout;
84
62
  this.debugCommunication = debugCommunication;
85
- this.reconnectionTime = connectionTimeout * 4;
63
+ this.reconnectionTime = 2000;
86
64
  this.clientName = clientName;
87
65
  this.clientId = clientId;
66
+ this.myNID = ownNid;
88
67
 
89
- const pingIntervalMs = 1000;
90
-
91
- if (this.connected) {
92
- this.network.ping();
93
- }
94
- interval(pingIntervalMs).subscribe(() => {
95
- if (this.connected) {
96
- this.network.ping();
68
+ interval(1000).subscribe(async () => {
69
+ if(this.connected) {
70
+ this.logInfo.next('ping, weil connected');
71
+ const msg = await this.network.ping(this.mx10NID);
72
+ if(msg)
73
+ this.lastPing = Date.now();
74
+ else if(Date.now() - this.lastPing > 2000) {
75
+ this.logInfo.next('No ping for 2 seconds, disconnected');
76
+ this.connected = false;
77
+ this.closeSocket();
78
+ this.logError.next('.mx10.connection.not_connected');
79
+ }
97
80
  }
98
81
  });
99
82
  }
@@ -101,11 +84,12 @@ export default class MX10
101
84
  async initSocket(createSocketFunction: CreateSocketFunction, ipAddress: string,
102
85
  incomingPort = 14521, outgoingPort = 14520)
103
86
  {
104
- this.mx10IP = ipAddress;
105
87
  this.incomingPort = incomingPort;
106
88
  this.outgoingPort = outgoingPort;
89
+ this.mx10IP = ipAddress;
90
+ // this.mx10NID = 0xc000 | Number.parseInt(ipAddress.split('.')[3]);
107
91
 
108
- if (this.mx10Socket == null)
92
+ if(this.mx10Socket == null)
109
93
  {
110
94
  const socket = (this.mx10Socket = createSocketFunction({type: 'udp4'}) as Socket);
111
95
 
@@ -116,19 +100,23 @@ export default class MX10
116
100
  });
117
101
 
118
102
  this.mx10Socket.on('message', this.readRawData.bind(this));
119
- this.myNID = await this.nidGeneratorFunction();
120
- const ack = await this.lanNetwork.portOpen(this.clientName, this.clientId);
121
- if(ack) {
122
- this.mx10NID = ack.header.nid || 0;
103
+ const ping = await this.network.ping();
104
+ if(ping) {
123
105
  this.connected = true;
106
+ } else {
107
+ const ack = await this.lanNetwork.portOpen(this.clientName, this.clientId);
108
+ if(ack) {
109
+ this.mx10NID = ack.header.nid || 0;
110
+ this.connected = true;
111
+ }
124
112
  }
125
- this.connected = true; // since subsequent portOpen cmd don't seem to be answered..
126
- await delay(this.connectionTimeout);
113
+ // this.connected = true; // since subsequent portOpen cmd don't seem to be answered..
114
+ // await delay(this.connectionTimeout);
127
115
 
128
- if (!this.connected) {
116
+ if(!this.connected) {
129
117
  await this.closeSocket();
130
118
  // throw new Error('mx10.connection.timeout');
131
- throw new Error('mx10.connection.not_connected');
119
+ // throw new Error('mx10.connection.not_connected');
132
120
  }
133
121
  }
134
122
  }
@@ -148,7 +136,7 @@ export default class MX10
148
136
  this.connected = false;
149
137
  this.mx10NID = 0;
150
138
  this.lanNetwork.portOpen(this.clientName, this.clientId);
151
- this.network.ping(0b00);
139
+ this.network.ping();
152
140
  }
153
141
  }, this.reconnectionTime);
154
142
  }
@@ -171,6 +159,7 @@ export default class MX10
171
159
 
172
160
  sendMsg(msg: Message, force = false)
173
161
  {
162
+ // Message.log = (msg) => this.logInfo.next(msg);
174
163
  const buffer = msg.udp(this.myNID);
175
164
  this.logInfo.next("mx10.sendMsg: " + JSON.stringify(buffer));
176
165
  this.send(buffer, force);
@@ -231,7 +220,7 @@ export default class MX10
231
220
  private send(message: Buffer, force = false)
232
221
  {
233
222
  if(!this.connected && !force) {
234
- this.logError.next('.mx10.connection.not_connected');
223
+ // this.logError.next('.mx10.connection.not_connected');
235
224
  this.logInfo.next('unable to send ' + JSON.stringify(message));
236
225
  return;
237
226
  }
@@ -21,6 +21,8 @@ export type ZcanDataArray = ZcanData[];
21
21
 
22
22
  export class Message
23
23
  {
24
+ public static log: (msg: string) => void = () => {};
25
+
24
26
  header: Header;
25
27
  data: ZcanDataArray;
26
28
 
@@ -55,6 +57,7 @@ export class Message
55
57
  }
56
58
 
57
59
  this.data.forEach((element) => {
60
+ // Message.log('offset = ' + offset + ', element: ' + JSON.stringify(element) + ', buffer: ' + JSON.stringify(buffer));
58
61
  if (typeof element.value === 'string') {
59
62
  ExtendedASCII.str2byte(element.value, buffer, offset, element.length);
60
63
  offset += element.length;
@@ -160,8 +163,6 @@ export class Query<T extends Message>
160
163
  }
161
164
  }
162
165
 
163
- export type NIDGenerator = () => Promise<number>;
164
-
165
166
  export interface Socket {
166
167
  bind(port?: number, address?: string, callback?: () => void): this;
167
168
  bind(port?: number, callback?: () => void): this;
@@ -9,7 +9,6 @@ export class MsgVehicleMode extends Message
9
9
  {
10
10
  public static header = (mode: MsgMode, nid: number) => {return {group: 0x2, cmd: 0x1, mode, nid}}
11
11
  public static rxDelay = () => {return this.rxTiming.now()}
12
- public static log: (msg: string) => void = () => {};
13
12
 
14
13
  private static rxTiming = new Ranger({min: 5, max: 20, now: 5});
15
14
 
@@ -4,7 +4,7 @@ import MX10 from '../MX10';
4
4
  import {Buffer} from 'buffer';
5
5
  import {PingResponseExtended} from '../common/models';
6
6
  import { Query } from '../docs_entrypoint';
7
- import { MsgPortClose } from './networkMsg';
7
+ import { MsgPing, MsgPortClose } from './networkMsg';
8
8
  import { MsgMode } from '../common/enums';
9
9
 
10
10
  /**
@@ -13,22 +13,51 @@ import { MsgMode } from '../common/enums';
13
13
  */
14
14
  export default class NetworkGroup
15
15
  {
16
- public readonly onPingResponse = new Subject<PingResponseExtended>();
16
+ public readonly onPing = new Subject<MsgPing>();
17
17
  public readonly onPortClose = new Subject<MsgPortClose>();
18
18
 
19
+ private pingQ: Query<MsgPing> | undefined = undefined;
19
20
  private portCloseQ: Query<MsgPortClose> | undefined = undefined;
20
21
 
21
22
  private mx10: MX10;
22
- pingTimeout: NodeJS.Timeout | null = null;
23
23
 
24
24
  constructor(mx10: MX10)
25
25
  {
26
26
  this.mx10 = mx10;
27
27
  }
28
28
 
29
- ping(mode = 0b10)
29
+ // ping(mode = 0b10)
30
+ // {
31
+ // this.mx10.sendData(0x0a, 0x00, [{value: this.mx10.mx10NID, length: 2}], mode);
32
+ // }
33
+
34
+ async ping(nid = 0xc000)
30
35
  {
31
- this.mx10.sendData(0x0a, 0x00, [{value: this.mx10.mx10NID, length: 2}], mode);
36
+ if(this.pingQ !== undefined && !await this.pingQ.lock()) {
37
+ this.mx10.logInfo.next("mx10.ping: failed to acquire lock");
38
+ return undefined;
39
+ }
40
+ this.pingQ = new Query(MsgPing.header(MsgMode.CMD, nid), this.onPing);
41
+ this.pingQ.log = ((msg) => {
42
+ this.mx10.logInfo.next(msg);
43
+ });
44
+ this.pingQ.tx = ((header) => {
45
+ const msg = new MsgPing(header, nid);
46
+ this.mx10.logInfo.next('ping query tx: ' + JSON.stringify(msg));
47
+ this.mx10.sendMsg(msg, true);
48
+ });
49
+ this.pingQ.match = ((msg) => {
50
+ this.mx10.logInfo.next('ping query rx: ' + JSON.stringify(msg));
51
+ if(nid & 0xff)
52
+ return msg.header.nid === nid;
53
+ return ((msg.header.nid||0) & 0xff00) === (nid & 0xff00);
54
+ });
55
+ this.pingQ.subscribe(false);
56
+ const rv = await this.pingQ.run(100);
57
+ this.mx10.logInfo.next("mx10.ping.rv: " + JSON.stringify(rv));
58
+ this.pingQ.unlock();
59
+ this.pingQ = undefined;
60
+ return rv;
32
61
  }
33
62
 
34
63
  async portClose()
@@ -64,47 +93,59 @@ export default class NetworkGroup
64
93
  {
65
94
  switch (command) {
66
95
  case 0x00:
67
- this.pingResponse(size, mode, nid, buffer);
96
+ this.parsePing(size, mode, nid, buffer);
68
97
  break;
69
98
  }
70
99
  }
71
100
 
72
101
  // 0x0A.0x00
73
- pingResponse(size: number, mode: number, nid: number, _buffer: Buffer)
102
+ parsePing(size: number, mode: number, nid: number, buffer: Buffer)
74
103
  {
75
- if(!this.onPingResponse.observed)
104
+ if(!this.onPing.observed)
76
105
  return;
106
+
107
+ this.mx10.logInfo.next('parsePing from 0x' + nid.toString(16) + ': ' + JSON.stringify(buffer));
108
+
109
+ if(mode < MsgMode.EVT) {
110
+ const nid = buffer.readUInt16LE(0);
111
+ this.onPing.next(new MsgPing(MsgPing.header(mode, nid)));
112
+ } else {
113
+ const masterUid = buffer.readUInt32LE(0);
114
+ const type = buffer.readUInt16LE(4);
115
+ const session = buffer.readUInt16LE(6);
116
+ this.onPing.next(new MsgPing(MsgPing.header(mode, nid), masterUid, type, session));
117
+ }
77
118
 
78
- if (size === 8) {
79
- // TODO IMPLEMENT DETAIL READOUT
119
+ // if (size === 8) {
120
+ // // TODO IMPLEMENT DETAIL READOUT
80
121
 
81
- if (!this.mx10.mx10NID) {
82
- this.mx10.mx10NID = nid;
83
- }
84
- this.mx10.connected = true;
122
+ // if (!this.mx10.mx10NID) {
123
+ // this.mx10.mx10NID = nid;
124
+ // }
125
+ // this.mx10.connected = true;
85
126
 
86
- // TODO reconnect when uuid has changed
87
- // const uuid = buffer.readUInt32LE(0);
127
+ // // TODO reconnect when uuid has changed
128
+ // // const uuid = buffer.readUInt32LE(0);
88
129
 
89
- // this.mx10.reconnectLogic();
130
+ // // this.mx10.reconnectLogic();
90
131
 
91
- if (this.pingTimeout)
92
- clearTimeout(this.pingTimeout);
132
+ // if (this.pingTimeout)
133
+ // clearTimeout(this.pingTimeout);
93
134
 
94
- this.pingTimeout = setTimeout(() => {
95
- this.mx10.connected = false;
96
- this.onPingResponse.next({
97
- connected: this.mx10.connected,
98
- });
99
- this.mx10.logInfo.next('No ping for 2 seconds, disconnected');
100
- }, 2000);
101
- } else {
102
- throw new Error(
103
- 'LENGTH ERROR: readCmdGrp_0x0A-0x0A, read length as: ' +
104
- size.toString(),
105
- );
106
- }
135
+ // this.pingTimeout = setTimeout(() => {
136
+ // this.mx10.connected = false;
137
+ // this.onPingResponse.next({
138
+ // connected: this.mx10.connected,
139
+ // });
140
+ // this.mx10.logInfo.next('No ping for 2 seconds, disconnected');
141
+ // }, 2000);
142
+ // } else {
143
+ // throw new Error(
144
+ // 'LENGTH ERROR: readCmdGrp_0x0A-0x0A, read length as: ' +
145
+ // size.toString(),
146
+ // );
147
+ // }
107
148
 
108
- this.onPingResponse.next({connected: this.mx10.connected});
149
+ // this.onPingResponse.next({connected: this.mx10.connected});
109
150
  }
110
151
  }
@@ -31,4 +31,25 @@ export class MsgPortClose extends Message
31
31
  super(header);
32
32
  super.push({value: myNid, length: 2});
33
33
  }
34
+ }
35
+
36
+ export class MsgPing extends Message
37
+ {
38
+ public static header(mode: MsgMode, nid: number): Header
39
+ {return {group: 0xa, cmd: 0x0, mode: mode, nid: nid}}
40
+
41
+ constructor(header: Header, masterUid?: number, type?: number, session?: number)
42
+ {
43
+ super(header);
44
+ if(header.mode < MsgMode.EVT)
45
+ return;
46
+ super.push({value: masterUid || 0, length: 4});
47
+ super.push({value: type || 0, length: 2});
48
+ super.push({value: session || 0, length: 2});
49
+ }
50
+
51
+ nid() {return this.header.nid as number;}
52
+ masterUid() {return this.data[0].value as number;}
53
+ type() {return this.data[0].value as number;}
54
+ session() {return this.data[0].value as number;}
34
55
  }