@zimo-elektronik/zcan 1.0.57 → 1.0.58
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/accessory/accessoryCommandGroup.d.ts +5 -3
- package/dist/accessory/accessoryCommandGroup.js +24 -27
- package/dist/accessory/accessoryCommandGroup.js.map +1 -1
- package/dist/common/models.d.ts +7 -1
- package/dist/loco/vehicleGroup.d.ts +1 -0
- package/dist/loco/vehicleGroup.js +7 -0
- package/dist/loco/vehicleGroup.js.map +1 -1
- package/package.json +1 -1
- package/src/accessory/accessoryCommandGroup.ts +99 -113
- package/src/common/models.ts +7 -1
- package/src/loco/vehicleGroup.ts +8 -8
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Subject } from 'rxjs';
|
|
2
2
|
import MX10 from '../MX10';
|
|
3
|
-
import { AccessoryModeData,
|
|
3
|
+
import { AccessoryModeData, AccessoryPin4Data, AccessoryPin6Data, AccessoryPortData } from '../common/models';
|
|
4
4
|
export default class AccessoryCommandGroup {
|
|
5
5
|
readonly onAccessoryMode: Subject<AccessoryModeData>;
|
|
6
6
|
readonly onAccessoryPort: Subject<AccessoryPortData>;
|
|
7
|
-
readonly
|
|
7
|
+
readonly onAccessoryPin4: Subject<AccessoryPin4Data>;
|
|
8
|
+
readonly onAccessoryPin6: Subject<AccessoryPin6Data>;
|
|
8
9
|
private mx10;
|
|
9
10
|
constructor(mx10: MX10);
|
|
10
11
|
accessoryModeByNid(nid: number): void;
|
|
@@ -13,5 +14,6 @@ export default class AccessoryCommandGroup {
|
|
|
13
14
|
parse(size: number, command: number, mode: number, nid: number, buffer: Buffer): void;
|
|
14
15
|
parseAccessoryMode(size: number, mode: number, nid: number, buffer: Buffer): void;
|
|
15
16
|
parseAccessoryPort(size: number, mode: number, nid: number, buffer: Buffer): void;
|
|
16
|
-
|
|
17
|
+
parseAccessoryPin4(size: number, mode: number, nid: number, buffer: Buffer): void;
|
|
18
|
+
parseAccessoryPin6(size: number, mode: number, nid: number, buffer: Buffer): void;
|
|
17
19
|
}
|
|
@@ -3,7 +3,8 @@ import { AccessoryMode } from '../common/enums';
|
|
|
3
3
|
export default class AccessoryCommandGroup {
|
|
4
4
|
onAccessoryMode = new Subject();
|
|
5
5
|
onAccessoryPort = new Subject();
|
|
6
|
-
|
|
6
|
+
onAccessoryPin4 = new Subject();
|
|
7
|
+
onAccessoryPin6 = new Subject();
|
|
7
8
|
mx10;
|
|
8
9
|
constructor(mx10) {
|
|
9
10
|
this.mx10 = mx10;
|
|
@@ -12,17 +13,10 @@ export default class AccessoryCommandGroup {
|
|
|
12
13
|
this.mx10.sendData(0x01, 0x01, [{ value: nid, length: 2 }], 0b00);
|
|
13
14
|
}
|
|
14
15
|
accessoryPortByNid(nid) {
|
|
15
|
-
this.mx10.sendData(0x01, 0x02, [
|
|
16
|
-
{ value: nid, length: 2 },
|
|
17
|
-
{ value: 0, length: 2 },
|
|
18
|
-
], 0b00);
|
|
16
|
+
this.mx10.sendData(0x01, 0x02, [{ value: nid, length: 2 }, { value: 0, length: 2 }], 0b00);
|
|
19
17
|
}
|
|
20
18
|
accessoryPortByPin(nid, pin, state) {
|
|
21
|
-
this.mx10.sendData(0x01, 0x04, [
|
|
22
|
-
{ value: nid, length: 2 },
|
|
23
|
-
{ value: pin, length: 1 },
|
|
24
|
-
{ value: state, length: 1 },
|
|
25
|
-
], 0b01);
|
|
19
|
+
this.mx10.sendData(0x01, 0x04, [{ value: nid, length: 2 }, { value: pin, length: 1 }, { value: state, length: 1 }], 0b01);
|
|
26
20
|
}
|
|
27
21
|
parse(size, command, mode, nid, buffer) {
|
|
28
22
|
switch (command) {
|
|
@@ -33,7 +27,10 @@ export default class AccessoryCommandGroup {
|
|
|
33
27
|
this.parseAccessoryPort(size, mode, nid, buffer);
|
|
34
28
|
break;
|
|
35
29
|
case 0x04:
|
|
36
|
-
this.
|
|
30
|
+
this.parseAccessoryPin4(size, mode, nid, buffer);
|
|
31
|
+
break;
|
|
32
|
+
case 0x06:
|
|
33
|
+
this.parseAccessoryPin6(size, mode, nid, buffer);
|
|
37
34
|
break;
|
|
38
35
|
default:
|
|
39
36
|
this.mx10.logInfo.next('accessoryCommandGroup command ' + command + ' not parsed: ' + JSON.stringify(buffer));
|
|
@@ -55,10 +52,7 @@ export default class AccessoryCommandGroup {
|
|
|
55
52
|
parsedMode = AccessoryMode.UNKNOWN;
|
|
56
53
|
}
|
|
57
54
|
if (deviceNID) {
|
|
58
|
-
this.onAccessoryMode.next({
|
|
59
|
-
nid: deviceNID,
|
|
60
|
-
mode: parsedMode,
|
|
61
|
-
});
|
|
55
|
+
this.onAccessoryMode.next({ nid: deviceNID, mode: parsedMode });
|
|
62
56
|
}
|
|
63
57
|
}
|
|
64
58
|
}
|
|
@@ -68,25 +62,28 @@ export default class AccessoryCommandGroup {
|
|
|
68
62
|
const type = buffer.readUInt16LE(2);
|
|
69
63
|
const port = buffer.readUInt8(4);
|
|
70
64
|
if (deviceNID) {
|
|
71
|
-
this.onAccessoryPort.next({
|
|
72
|
-
nid: deviceNID,
|
|
73
|
-
type,
|
|
74
|
-
port,
|
|
75
|
-
});
|
|
65
|
+
this.onAccessoryPort.next({ nid: deviceNID, type, port });
|
|
76
66
|
}
|
|
77
67
|
}
|
|
78
68
|
}
|
|
79
|
-
|
|
80
|
-
if (this.
|
|
69
|
+
parseAccessoryPin4(size, mode, nid, buffer) {
|
|
70
|
+
if (this.onAccessoryPin4.observed) {
|
|
81
71
|
const deviceNID = buffer.readUInt16LE(0);
|
|
82
72
|
const pin = buffer.readUInt8(2);
|
|
83
73
|
const state = buffer.readUInt8(3);
|
|
84
74
|
if (deviceNID) {
|
|
85
|
-
this.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
75
|
+
this.onAccessoryPin4.next({ nid: deviceNID, pin, state });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
parseAccessoryPin6(size, mode, nid, buffer) {
|
|
80
|
+
if (this.onAccessoryPin6.observed) {
|
|
81
|
+
const deviceNID = buffer.readUInt16LE(0);
|
|
82
|
+
const pin = buffer.readUInt8(2);
|
|
83
|
+
const type = buffer.readUInt8(3);
|
|
84
|
+
const state = buffer.readUInt16LE(4);
|
|
85
|
+
if (deviceNID) {
|
|
86
|
+
this.onAccessoryPin6.next({ nid: deviceNID, pin, type, state });
|
|
90
87
|
}
|
|
91
88
|
}
|
|
92
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessoryCommandGroup.js","sourceRoot":"","sources":["../../src/accessory/accessoryCommandGroup.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"accessoryCommandGroup.js","sourceRoot":"","sources":["../../src/accessory/accessoryCommandGroup.ts"],"names":[],"mappings":"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"}
|
package/dist/common/models.d.ts
CHANGED
|
@@ -190,8 +190,14 @@ export interface AccessoryPortData {
|
|
|
190
190
|
type: number;
|
|
191
191
|
port: number;
|
|
192
192
|
}
|
|
193
|
-
export interface
|
|
193
|
+
export interface AccessoryPin4Data {
|
|
194
194
|
nid: number;
|
|
195
195
|
pin: number;
|
|
196
196
|
state: number;
|
|
197
197
|
}
|
|
198
|
+
export interface AccessoryPin6Data {
|
|
199
|
+
nid: number;
|
|
200
|
+
pin: number;
|
|
201
|
+
type: number;
|
|
202
|
+
state: number;
|
|
203
|
+
}
|
|
@@ -26,6 +26,7 @@ export default class VehicleGroup {
|
|
|
26
26
|
getSpeed(trainNid: number): Promise<MsgVehicleSpeed | undefined>;
|
|
27
27
|
setSpeed(trainNid: number, speedStep: number, divisor?: number, forward?: boolean, emergencyStop?: boolean, eastWest?: Direction): Promise<MsgVehicleSpeed | undefined>;
|
|
28
28
|
changeSpeed(vehicleAddress: number, speedStep: number, forward: boolean, eastWest?: Direction, emergencyStop?: boolean): void;
|
|
29
|
+
callFunction(vehicleAddress: number, functionId: number, functionStatus: boolean): void;
|
|
29
30
|
getFx(nid: number, fxNr: number): Promise<MsgFx | undefined>;
|
|
30
31
|
setFx(nid: number, fxNr: number, state: number): Promise<MsgFx | undefined>;
|
|
31
32
|
getFxStates(nid: number): Promise<MsgFxStates | undefined>;
|
|
@@ -148,6 +148,13 @@ export default class VehicleGroup {
|
|
|
148
148
|
{ value: 0x0000, length: 2 },
|
|
149
149
|
]);
|
|
150
150
|
}
|
|
151
|
+
callFunction(vehicleAddress, functionId, functionStatus) {
|
|
152
|
+
this.mx10.sendData(0x02, 0x04, [
|
|
153
|
+
{ value: vehicleAddress, length: 2 },
|
|
154
|
+
{ value: functionId, length: 2 },
|
|
155
|
+
{ value: Number(functionStatus), length: 2 },
|
|
156
|
+
]);
|
|
157
|
+
}
|
|
151
158
|
async getFx(nid, fxNr) {
|
|
152
159
|
if (this.fxQ !== undefined && !await this.fxQ.lock()) {
|
|
153
160
|
this.mx10.logInfo.next("mx10.getFx: failed to acquire lock");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vehicleGroup.js","sourceRoot":"","sources":["../../src/loco/vehicleGroup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vehicleGroup.js","sourceRoot":"","sources":["../../src/loco/vehicleGroup.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.58",
|
|
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",
|
|
@@ -1,133 +1,119 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
2
|
import {Subject} from 'rxjs';
|
|
3
3
|
import MX10 from '../MX10';
|
|
4
|
-
import {
|
|
5
|
-
AccessoryModeData,
|
|
6
|
-
AccessoryPinData,
|
|
7
|
-
AccessoryPortData,
|
|
8
|
-
} from '../common/models';
|
|
4
|
+
import {AccessoryModeData, AccessoryPin4Data, AccessoryPin6Data, AccessoryPortData} from '../common/models';
|
|
9
5
|
import {AccessoryMode} from '../common/enums';
|
|
10
6
|
|
|
11
7
|
/**
|
|
12
8
|
*
|
|
13
9
|
* @category Groups
|
|
14
10
|
*/
|
|
15
|
-
export default class AccessoryCommandGroup
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
export default class AccessoryCommandGroup
|
|
12
|
+
{
|
|
13
|
+
public readonly onAccessoryMode = new Subject<AccessoryModeData>();
|
|
14
|
+
public readonly onAccessoryPort = new Subject<AccessoryPortData>();
|
|
15
|
+
public readonly onAccessoryPin4 = new Subject<AccessoryPin4Data>();
|
|
16
|
+
public readonly onAccessoryPin6 = new Subject<AccessoryPin6Data>();
|
|
19
17
|
|
|
20
|
-
|
|
18
|
+
private mx10: MX10;
|
|
21
19
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
constructor(mx10: MX10)
|
|
21
|
+
{
|
|
22
|
+
this.mx10 = mx10;
|
|
23
|
+
}
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
accessoryModeByNid(nid: number)
|
|
26
|
+
{
|
|
27
|
+
this.mx10.sendData(0x01, 0x01, [{value: nid, length: 2}], 0b00);
|
|
28
|
+
}
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
[
|
|
35
|
-
{value: nid, length: 2},
|
|
36
|
-
{value: 0, length: 2},
|
|
37
|
-
],
|
|
38
|
-
0b00,
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
|
-
accessoryPortByPin(nid: number, pin: number, state: number) {
|
|
42
|
-
this.mx10.sendData(
|
|
43
|
-
0x01,
|
|
44
|
-
0x04,
|
|
45
|
-
[
|
|
46
|
-
{value: nid, length: 2},
|
|
47
|
-
{value: pin, length: 1},
|
|
48
|
-
{value: state, length: 1},
|
|
49
|
-
],
|
|
50
|
-
0b01,
|
|
51
|
-
);
|
|
52
|
-
}
|
|
30
|
+
accessoryPortByNid(nid: number)
|
|
31
|
+
{
|
|
32
|
+
this.mx10.sendData(0x01, 0x02, [{value: nid, length: 2}, {value: 0, length: 2}], 0b00);
|
|
33
|
+
}
|
|
53
34
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
buffer: Buffer,
|
|
60
|
-
) {
|
|
61
|
-
switch (command) {
|
|
62
|
-
case 0x01:
|
|
63
|
-
this.parseAccessoryMode(size, mode, nid, buffer);
|
|
64
|
-
break;
|
|
65
|
-
case 0x02:
|
|
66
|
-
this.parseAccessoryPort(size, mode, nid, buffer);
|
|
67
|
-
break;
|
|
68
|
-
case 0x04:
|
|
69
|
-
this.parseAccessoryPin(size, mode, nid, buffer);
|
|
70
|
-
break;
|
|
71
|
-
default:
|
|
72
|
-
this.mx10.logInfo.next('accessoryCommandGroup command ' + command + ' not parsed: ' + JSON.stringify(buffer));
|
|
73
|
-
}
|
|
74
|
-
}
|
|
35
|
+
accessoryPortByPin(nid: number, pin: number, state: number)
|
|
36
|
+
{
|
|
37
|
+
this.mx10.sendData(0x01, 0x04,
|
|
38
|
+
[{value: nid, length: 2}, {value: pin, length: 1}, {value: state, length: 1}], 0b01);
|
|
39
|
+
}
|
|
75
40
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
41
|
+
parse(size: number, command: number, mode: number, nid: number, buffer: Buffer)
|
|
42
|
+
{
|
|
43
|
+
switch (command) {
|
|
44
|
+
case 0x01:
|
|
45
|
+
this.parseAccessoryMode(size, mode, nid, buffer);
|
|
46
|
+
break;
|
|
47
|
+
case 0x02:
|
|
48
|
+
this.parseAccessoryPort(size, mode, nid, buffer);
|
|
49
|
+
break;
|
|
50
|
+
case 0x04:
|
|
51
|
+
this.parseAccessoryPin4(size, mode, nid, buffer);
|
|
52
|
+
break;
|
|
53
|
+
case 0x06:
|
|
54
|
+
this.parseAccessoryPin6(size, mode, nid, buffer);
|
|
55
|
+
break;
|
|
56
|
+
default:
|
|
57
|
+
this.mx10.logInfo.next('accessoryCommandGroup command ' + command + ' not parsed: ' + JSON.stringify(buffer));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
80
60
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
61
|
+
parseAccessoryMode(size: number, mode: number, nid: number, buffer: Buffer)
|
|
62
|
+
{
|
|
63
|
+
if (this.onAccessoryMode.observed) {
|
|
64
|
+
const deviceNID = buffer.readUInt16LE(0);
|
|
65
|
+
const mode = buffer.readUInt16LE(2);
|
|
66
|
+
let parsedMode: AccessoryMode;
|
|
67
|
+
switch (mode) {
|
|
68
|
+
case 1:
|
|
69
|
+
parsedMode = AccessoryMode.PAIRED;
|
|
70
|
+
break;
|
|
71
|
+
case 2:
|
|
72
|
+
parsedMode = AccessoryMode.SINGLE;
|
|
73
|
+
break;
|
|
74
|
+
default:
|
|
75
|
+
parsedMode = AccessoryMode.UNKNOWN;
|
|
76
|
+
}
|
|
77
|
+
if (deviceNID) {
|
|
78
|
+
this.onAccessoryMode.next({nid: deviceNID, mode: parsedMode});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
92
82
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
83
|
+
parseAccessoryPort(size: number, mode: number, nid: number, buffer: Buffer)
|
|
84
|
+
{
|
|
85
|
+
if (this.onAccessoryPort.observed) {
|
|
86
|
+
const deviceNID = buffer.readUInt16LE(0);
|
|
87
|
+
const type = buffer.readUInt16LE(2);
|
|
88
|
+
const port = buffer.readUInt8(4); // only 1.st byte represents state of pins
|
|
89
|
+
if (deviceNID) {
|
|
90
|
+
this.onAccessoryPort.next({nid: deviceNID, type, port});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
101
94
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
95
|
+
parseAccessoryPin4(size: number, mode: number, nid: number, buffer: Buffer)
|
|
96
|
+
{
|
|
97
|
+
if (this.onAccessoryPin4.observed) {
|
|
98
|
+
const deviceNID = buffer.readUInt16LE(0);
|
|
99
|
+
const pin = buffer.readUInt8(2);
|
|
100
|
+
const state = buffer.readUInt8(3);
|
|
101
|
+
if (deviceNID) {
|
|
102
|
+
this.onAccessoryPin4.next({nid: deviceNID, pin, state});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
107
106
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
const deviceNID = buffer.readUInt16LE(0);
|
|
121
|
-
const pin = buffer.readUInt8(2);
|
|
122
|
-
const state = buffer.readUInt8(3);
|
|
123
|
-
|
|
124
|
-
if (deviceNID) {
|
|
125
|
-
this.onAccessoryPin.next({
|
|
126
|
-
nid: deviceNID,
|
|
127
|
-
pin,
|
|
128
|
-
state,
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
107
|
+
parseAccessoryPin6(size: number, mode: number, nid: number, buffer: Buffer)
|
|
108
|
+
{
|
|
109
|
+
if (this.onAccessoryPin6.observed) {
|
|
110
|
+
const deviceNID = buffer.readUInt16LE(0);
|
|
111
|
+
const pin = buffer.readUInt8(2);
|
|
112
|
+
const type = buffer.readUInt8(3);
|
|
113
|
+
const state = buffer.readUInt16LE(4);
|
|
114
|
+
if (deviceNID) {
|
|
115
|
+
this.onAccessoryPin6.next({nid: deviceNID, pin, type, state});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
133
119
|
}
|
package/src/common/models.ts
CHANGED
|
@@ -268,8 +268,14 @@ export interface AccessoryPortData {
|
|
|
268
268
|
type: number;
|
|
269
269
|
port: number;
|
|
270
270
|
}
|
|
271
|
-
export interface
|
|
271
|
+
export interface AccessoryPin4Data {
|
|
272
272
|
nid: number;
|
|
273
273
|
pin: number;
|
|
274
274
|
state: number;
|
|
275
275
|
}
|
|
276
|
+
export interface AccessoryPin6Data {
|
|
277
|
+
nid: number;
|
|
278
|
+
pin: number;
|
|
279
|
+
type: number;
|
|
280
|
+
state: number;
|
|
281
|
+
}
|
package/src/loco/vehicleGroup.ts
CHANGED
|
@@ -192,14 +192,14 @@ export default class VehicleGroup
|
|
|
192
192
|
]);
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
195
|
+
callFunction(vehicleAddress: number, functionId: number, functionStatus: boolean)
|
|
196
|
+
{
|
|
197
|
+
this.mx10.sendData(0x02, 0x04, [
|
|
198
|
+
{value: vehicleAddress, length: 2},
|
|
199
|
+
{value: functionId, length: 2},
|
|
200
|
+
{value: Number(functionStatus), length: 2},
|
|
201
|
+
]);
|
|
202
|
+
}
|
|
203
203
|
|
|
204
204
|
async getFx(nid: number, fxNr: number)
|
|
205
205
|
{
|