@zimo-elektronik/zcan 1.0.32 → 1.0.34
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/@types/communication.d.ts +1 -0
- package/dist/@types/communication.js +39 -2
- package/dist/@types/communication.js.map +1 -1
- package/dist/@types/models.d.ts +17 -3
- package/dist/@types/models.js +49 -4
- package/dist/@types/models.js.map +1 -1
- package/dist/MX10.js +2 -1
- package/dist/MX10.js.map +1 -1
- package/dist/zcan/infoGroup.d.ts +3 -3
- package/dist/zcan/infoGroup.js +5 -8
- package/dist/zcan/infoGroup.js.map +1 -1
- package/dist/zcan/trackCfgGroup.d.ts +9 -4
- package/dist/zcan/trackCfgGroup.js +75 -16
- package/dist/zcan/trackCfgGroup.js.map +1 -1
- package/package.json +3 -3
- package/src/@types/communication.ts +43 -2
- package/src/@types/models.ts +79 -12
- package/src/MX10.ts +3 -1
- package/src/zcan/infoGroup.ts +9 -13
- package/src/zcan/trackCfgGroup.ts +116 -33
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { Buffer } from 'buffer';
|
|
1
2
|
import { MsgMode } from '../util/enums';
|
|
2
3
|
import { delay } from '../internal/utils';
|
|
4
|
+
import ExtendedASCII from '../util/extended-ascii';
|
|
3
5
|
export class Message {
|
|
4
6
|
header;
|
|
5
7
|
data;
|
|
@@ -10,6 +12,42 @@ export class Message {
|
|
|
10
12
|
push(data) {
|
|
11
13
|
this.data.push(data);
|
|
12
14
|
}
|
|
15
|
+
udp(ownNid) {
|
|
16
|
+
const size = 2 + this.data.reduce((sum, obj) => sum + obj.length, 0);
|
|
17
|
+
const buffer = Buffer.alloc(size + 8);
|
|
18
|
+
const cmd_md = (this.header.cmd << 2) | this.header.mode;
|
|
19
|
+
buffer.writeUInt16LE(size, 0);
|
|
20
|
+
buffer.writeUInt16LE(0, 2);
|
|
21
|
+
buffer.writeUInt8(this.header.group, 4);
|
|
22
|
+
buffer.writeUInt8(cmd_md, 5);
|
|
23
|
+
buffer.writeUInt16LE(ownNid, 6);
|
|
24
|
+
buffer.writeUInt16LE(this.header.nid, 8);
|
|
25
|
+
let offset = 10;
|
|
26
|
+
this.data.forEach((element) => {
|
|
27
|
+
if (typeof element.value === 'string') {
|
|
28
|
+
ExtendedASCII.str2byte(element.value, buffer, offset, element.length);
|
|
29
|
+
offset += element.length;
|
|
30
|
+
}
|
|
31
|
+
else
|
|
32
|
+
switch (element.length) {
|
|
33
|
+
case 1:
|
|
34
|
+
buffer.writeUInt8(element.value, offset);
|
|
35
|
+
offset += 1;
|
|
36
|
+
break;
|
|
37
|
+
case 2:
|
|
38
|
+
buffer.writeUInt16LE(element.value, offset);
|
|
39
|
+
offset += 2;
|
|
40
|
+
break;
|
|
41
|
+
case 4:
|
|
42
|
+
buffer.writeUInt32LE(element.value, offset);
|
|
43
|
+
offset += 4;
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
console.warn(`ELEMENT LENGTH NOT DEFINED, ${element}`);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
return buffer;
|
|
50
|
+
}
|
|
13
51
|
}
|
|
14
52
|
export class Query {
|
|
15
53
|
header;
|
|
@@ -40,11 +78,10 @@ export class Query {
|
|
|
40
78
|
}
|
|
41
79
|
subscribe() {
|
|
42
80
|
this.rx = this.subject.subscribe((msg) => {
|
|
43
|
-
if (msg.header.mode
|
|
81
|
+
if (msg.header.mode < MsgMode.EVT)
|
|
44
82
|
return;
|
|
45
83
|
if (msg.header.nid !== this.header.nid)
|
|
46
84
|
return;
|
|
47
|
-
this.log('query.run.rx: ' + JSON.stringify(msg));
|
|
48
85
|
if (!this.match(msg))
|
|
49
86
|
return;
|
|
50
87
|
this.result = msg;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communication.js","sourceRoot":"","sources":["../../src/@types/communication.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"communication.js","sourceRoot":"","sources":["../../src/@types/communication.ts"],"names":[],"mappings":"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"}
|
package/dist/@types/models.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { NameType, Direction, ExternalController, FunctionMode, OperatingMode, SystemStateMode, TrackMode, ImageType, FxConfigType, SpecialFunctionMode, Manual, DirectionDefault, ShuntingFunction, BidiType, ForwardOrReverse, AccessoryMode, FxModeType, ModInfoType, MsgMode } from '../util/enums';
|
|
2
2
|
import { Header, Message, ZcanDataArray } from './communication';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
3
|
export interface Train {
|
|
5
4
|
nid: number;
|
|
6
5
|
subId: number;
|
|
@@ -100,11 +99,26 @@ export interface BidiInfoData {
|
|
|
100
99
|
type: BidiType;
|
|
101
100
|
data: BidiDirectionData | number;
|
|
102
101
|
}
|
|
103
|
-
export declare class
|
|
104
|
-
static readonly rx: Subject<ModInfoData>;
|
|
102
|
+
export declare class MsgModInfo extends Message {
|
|
105
103
|
static header(mode: MsgMode, nid: number): Header;
|
|
106
104
|
constructor(header: Header, type: ModInfoType, data?: ZcanDataArray);
|
|
107
105
|
type(): ModInfoType | undefined;
|
|
106
|
+
info(): number | undefined;
|
|
107
|
+
}
|
|
108
|
+
export declare class MsgCvRead extends Message {
|
|
109
|
+
static header(mode: MsgMode, nid: number): Header;
|
|
110
|
+
constructor(header: Header, trainNid: number, cvNum: number, cvVal?: number | undefined);
|
|
111
|
+
cvVal(): number | undefined;
|
|
112
|
+
cvNum(): number;
|
|
113
|
+
trainNid(): number;
|
|
114
|
+
}
|
|
115
|
+
export declare class MsgCvWrite extends MsgCvRead {
|
|
116
|
+
static header(mode: MsgMode, nid: number): Header;
|
|
117
|
+
constructor(header: Header, trainNid: number, cvNum: number, cvVal: number);
|
|
118
|
+
}
|
|
119
|
+
export declare class MsgCvWrite16 extends MsgCvRead {
|
|
120
|
+
static header(mode: MsgMode, nid: number): Header;
|
|
121
|
+
constructor(header: Header, trainNid: number, cvNum: number, cvVal: number);
|
|
108
122
|
}
|
|
109
123
|
export interface BidiDirectionData {
|
|
110
124
|
direction?: Direction;
|
package/dist/@types/models.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Message } from './communication';
|
|
2
|
-
|
|
3
|
-
export class ModInfoData extends Message {
|
|
4
|
-
static rx = new Subject();
|
|
2
|
+
export class MsgModInfo extends Message {
|
|
5
3
|
static header(mode, nid) {
|
|
6
4
|
return { group: 0x08, cmd: 0x08, mode: mode, nid };
|
|
7
5
|
}
|
|
@@ -9,10 +7,57 @@ export class ModInfoData extends Message {
|
|
|
9
7
|
super(header);
|
|
10
8
|
super.push({ value: type, length: 2 });
|
|
11
9
|
if (data.length)
|
|
12
|
-
this.data.concat(data);
|
|
10
|
+
this.data = this.data.concat(data);
|
|
13
11
|
}
|
|
14
12
|
type() {
|
|
15
13
|
return this.data[0].value;
|
|
16
14
|
}
|
|
15
|
+
info() {
|
|
16
|
+
if (this.data.length > 1)
|
|
17
|
+
return this.data[1].value;
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class MsgCvRead extends Message {
|
|
22
|
+
static header(mode, nid) {
|
|
23
|
+
return { group: 0x16, cmd: 0x08, mode: mode, nid: nid };
|
|
24
|
+
}
|
|
25
|
+
constructor(header, trainNid, cvNum, cvVal = undefined) {
|
|
26
|
+
super(header);
|
|
27
|
+
super.push({ value: trainNid, length: 2 });
|
|
28
|
+
super.push({ value: cvNum, length: 4 });
|
|
29
|
+
if (cvVal !== undefined)
|
|
30
|
+
super.push({ value: cvVal, length: 2 });
|
|
31
|
+
}
|
|
32
|
+
cvVal() {
|
|
33
|
+
if (this.data.length > 2) {
|
|
34
|
+
return this.data[2].value;
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
cvNum() {
|
|
39
|
+
return this.data[1].value;
|
|
40
|
+
}
|
|
41
|
+
trainNid() {
|
|
42
|
+
return this.data[0].value;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export class MsgCvWrite extends MsgCvRead {
|
|
46
|
+
static header(mode, nid) {
|
|
47
|
+
return { group: 0x16, cmd: 0x09, mode: mode, nid: nid };
|
|
48
|
+
}
|
|
49
|
+
constructor(header, trainNid, cvNum, cvVal) {
|
|
50
|
+
super(header, trainNid, cvNum, cvVal);
|
|
51
|
+
this.data[2].length = 1;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export class MsgCvWrite16 extends MsgCvRead {
|
|
55
|
+
static header(mode, nid) {
|
|
56
|
+
return { group: 0x16, cmd: 0x0d, mode: mode, nid: nid };
|
|
57
|
+
}
|
|
58
|
+
constructor(header, trainNid, cvNum, cvVal) {
|
|
59
|
+
super(header, trainNid, cvNum, cvVal);
|
|
60
|
+
this.data[1].length = 2;
|
|
61
|
+
}
|
|
17
62
|
}
|
|
18
63
|
//# sourceMappingURL=models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/@types/models.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAS,OAAO,EAAgB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/@types/models.ts"],"names":[],"mappings":"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"}
|
package/dist/MX10.js
CHANGED
|
@@ -105,7 +105,8 @@ export default class MX10 {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
sendMsg(msg) {
|
|
108
|
-
const buffer =
|
|
108
|
+
const buffer = msg.udp(this.myNID);
|
|
109
|
+
this.log.next("mx10.sendMsg: " + JSON.stringify(buffer));
|
|
109
110
|
this.send(buffer, false);
|
|
110
111
|
}
|
|
111
112
|
sendData(group, cmd, data = [], mode = 0b01, nid = this.myNID, force = false) {
|
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/dist/zcan/infoGroup.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Buffer } from 'buffer';
|
|
2
2
|
import MX10 from '../MX10';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
|
-
import { BidiInfoData,
|
|
4
|
+
import { BidiInfoData, MsgModInfo } from '../@types/models';
|
|
5
5
|
import { ModInfoType } from '../util/enums';
|
|
6
6
|
export default class InfoGroup {
|
|
7
7
|
private mx10;
|
|
8
8
|
readonly onBidiInfoChange: Subject<BidiInfoData>;
|
|
9
|
-
readonly onModuleInfoChange: Subject<
|
|
9
|
+
readonly onModuleInfoChange: Subject<MsgModInfo>;
|
|
10
10
|
private modInfoQ;
|
|
11
11
|
constructor(mx10: MX10);
|
|
12
|
-
getModuleInfo(nid: number, type: ModInfoType | number): Promise<
|
|
12
|
+
getModuleInfo(nid: number, type: ModInfoType | number): Promise<MsgModInfo | undefined>;
|
|
13
13
|
parse(size: number, command: number, mode: number, nid: number, buffer: Buffer): void;
|
|
14
14
|
private parseModuleInfo;
|
|
15
15
|
private parseBidiInfo;
|
package/dist/zcan/infoGroup.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Subject } from 'rxjs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Query } from '../@types/communication';
|
|
3
|
+
import { MsgModInfo } from '../@types/models';
|
|
4
4
|
import { BidiType, Direction, ForwardOrReverse, MsgMode } from '../util/enums';
|
|
5
5
|
export default class InfoGroup {
|
|
6
6
|
mx10;
|
|
@@ -15,14 +15,12 @@ export default class InfoGroup {
|
|
|
15
15
|
this.mx10.log.next("mx10.getModuleInfo: failed to acquire lock");
|
|
16
16
|
return undefined;
|
|
17
17
|
}
|
|
18
|
-
this.modInfoQ = new Query(
|
|
18
|
+
this.modInfoQ = new Query(MsgModInfo.header(MsgMode.REQ, nid), this.onModuleInfoChange);
|
|
19
19
|
this.modInfoQ.log = ((msg) => {
|
|
20
20
|
this.mx10.log.next(msg);
|
|
21
21
|
});
|
|
22
22
|
this.modInfoQ.tx = ((header) => {
|
|
23
|
-
const msg = new
|
|
24
|
-
msg.push({ value: nid, length: 2 });
|
|
25
|
-
msg.push({ value: type, length: 2 });
|
|
23
|
+
const msg = new MsgModInfo(header, type);
|
|
26
24
|
this.mx10.log.next('mx10 query tx: ' + JSON.stringify(msg));
|
|
27
25
|
this.mx10.sendMsg(msg);
|
|
28
26
|
});
|
|
@@ -53,8 +51,7 @@ export default class InfoGroup {
|
|
|
53
51
|
const NID = buffer.readUInt16LE(0);
|
|
54
52
|
const type = buffer.readUInt16LE(2);
|
|
55
53
|
const info = buffer.readUInt32LE(4);
|
|
56
|
-
const msg = new
|
|
57
|
-
this.mx10.log.next('onModuleInfoChange <- ' + JSON.stringify(msg));
|
|
54
|
+
const msg = new MsgModInfo(MsgModInfo.header(mode, NID), type, [{ value: info, length: 4 }]);
|
|
58
55
|
this.onModuleInfoChange.next(msg);
|
|
59
56
|
}
|
|
60
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infoGroup.js","sourceRoot":"","sources":["../../src/zcan/infoGroup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"infoGroup.js","sourceRoot":"","sources":["../../src/zcan/infoGroup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MsgCvRead, MsgCvWrite, MsgCvWrite16, TseInfoExtended } from '../@types/models';
|
|
2
2
|
import MX10 from '../MX10';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
export default class TrackCfgGroup {
|
|
5
5
|
readonly onTseInfoExtended: Subject<TseInfoExtended>;
|
|
6
|
-
readonly onTseProgReadExtended: Subject<
|
|
7
|
-
readonly onTseProgWriteExtended: Subject<
|
|
8
|
-
readonly onTseProgWrite16Extended: Subject<
|
|
6
|
+
readonly onTseProgReadExtended: Subject<MsgCvRead>;
|
|
7
|
+
readonly onTseProgWriteExtended: Subject<MsgCvWrite>;
|
|
8
|
+
readonly onTseProgWrite16Extended: Subject<MsgCvWrite>;
|
|
9
9
|
private mx10;
|
|
10
10
|
constructor(mx10: MX10);
|
|
11
|
+
private getCvQ;
|
|
12
|
+
private setCvQ;
|
|
11
13
|
tseProgRead(NID: number, CV: number): void;
|
|
12
14
|
tseProgWrite(NID: number, CV: number, value: number): void;
|
|
13
15
|
tseProgWrite16(NID: number, CV: number, value: number): void;
|
|
16
|
+
getCv(trainNid: number, cvNum: number): Promise<MsgCvRead | undefined>;
|
|
17
|
+
setCv(trainNid: number, cvNum: number, cvVal: number): Promise<MsgCvWrite | undefined>;
|
|
18
|
+
setCv16(trainNid: number, cvNum: number, cvVal: number): Promise<MsgCvWrite16 | undefined>;
|
|
14
19
|
parse(size: number, command: number, mode: number, nid: number, buffer: Buffer): void;
|
|
15
20
|
parseTseInfo(size: number, mode: number, nid: number, buffer: Buffer): void;
|
|
16
21
|
parseTseProgRead(size: number, mode: number, nid: number, buffer: Buffer): void;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { MsgCvRead, MsgCvWrite, MsgCvWrite16, } from '../@types/models';
|
|
1
2
|
import { Subject } from 'rxjs';
|
|
3
|
+
import { Query } from '../docs_entrypoint';
|
|
4
|
+
import { MsgMode } from '../util/enums';
|
|
2
5
|
export default class TrackCfgGroup {
|
|
3
6
|
onTseInfoExtended = new Subject();
|
|
4
7
|
onTseProgReadExtended = new Subject();
|
|
@@ -8,6 +11,8 @@ export default class TrackCfgGroup {
|
|
|
8
11
|
constructor(mx10) {
|
|
9
12
|
this.mx10 = mx10;
|
|
10
13
|
}
|
|
14
|
+
getCvQ = undefined;
|
|
15
|
+
setCvQ = undefined;
|
|
11
16
|
tseProgRead(NID, CV) {
|
|
12
17
|
this.mx10.sendData(0x16, 0x08, [
|
|
13
18
|
{ value: this.mx10.mx10NID, length: 2 },
|
|
@@ -31,6 +36,72 @@ export default class TrackCfgGroup {
|
|
|
31
36
|
{ value: value, length: 2 },
|
|
32
37
|
]);
|
|
33
38
|
}
|
|
39
|
+
async getCv(trainNid, cvNum) {
|
|
40
|
+
if (this.getCvQ !== undefined && !await this.getCvQ.lock()) {
|
|
41
|
+
this.mx10.log.next("mx10.getCv: failed to acquire lock");
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
this.getCvQ = new Query(MsgCvRead.header(MsgMode.CMD, this.mx10.mx10NID), this.onTseProgReadExtended);
|
|
45
|
+
this.getCvQ.log = ((msg) => {
|
|
46
|
+
this.mx10.log.next(msg);
|
|
47
|
+
});
|
|
48
|
+
this.getCvQ.tx = ((header) => {
|
|
49
|
+
const msg = new MsgCvRead(header, trainNid, cvNum);
|
|
50
|
+
this.mx10.sendMsg(msg);
|
|
51
|
+
});
|
|
52
|
+
this.getCvQ.match = ((msg) => {
|
|
53
|
+
return (msg.trainNid() === trainNid && msg.cvNum() === cvNum);
|
|
54
|
+
});
|
|
55
|
+
const rv = await this.getCvQ.run();
|
|
56
|
+
this.mx10.log.next("mx10.getCv.rv: " + JSON.stringify(rv));
|
|
57
|
+
this.getCvQ.unlock();
|
|
58
|
+
this.getCvQ = undefined;
|
|
59
|
+
return rv;
|
|
60
|
+
}
|
|
61
|
+
async setCv(trainNid, cvNum, cvVal) {
|
|
62
|
+
if (this.setCvQ !== undefined && !await this.setCvQ.lock()) {
|
|
63
|
+
this.mx10.log.next("mx10.setCv: failed to acquire lock");
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
this.setCvQ = new Query(MsgCvWrite.header(MsgMode.CMD, this.mx10.mx10NID), this.onTseProgWriteExtended);
|
|
67
|
+
this.setCvQ.log = ((msg) => {
|
|
68
|
+
this.mx10.log.next(msg);
|
|
69
|
+
});
|
|
70
|
+
this.setCvQ.tx = ((header) => {
|
|
71
|
+
const msg = new MsgCvWrite(header, trainNid, cvNum, cvVal);
|
|
72
|
+
this.mx10.sendMsg(msg);
|
|
73
|
+
});
|
|
74
|
+
this.setCvQ.match = ((msg) => {
|
|
75
|
+
return (msg.trainNid() === trainNid && msg.cvNum() === cvNum && msg.cvVal() === cvVal);
|
|
76
|
+
});
|
|
77
|
+
const rv = await this.setCvQ.run();
|
|
78
|
+
this.mx10.log.next("mx10.setCv.rv: " + JSON.stringify(rv));
|
|
79
|
+
this.setCvQ.unlock();
|
|
80
|
+
this.setCvQ = undefined;
|
|
81
|
+
return rv;
|
|
82
|
+
}
|
|
83
|
+
async setCv16(trainNid, cvNum, cvVal) {
|
|
84
|
+
if (this.setCvQ !== undefined && !await this.setCvQ.lock()) {
|
|
85
|
+
this.mx10.log.next("mx10.setCv: failed to acquire lock");
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
this.setCvQ = new Query(MsgCvWrite16.header(MsgMode.CMD, this.mx10.mx10NID), this.onTseProgWrite16Extended);
|
|
89
|
+
this.setCvQ.log = ((msg) => {
|
|
90
|
+
this.mx10.log.next(msg);
|
|
91
|
+
});
|
|
92
|
+
this.setCvQ.tx = ((header) => {
|
|
93
|
+
const msg = new MsgCvWrite16(header, trainNid, cvNum, cvVal);
|
|
94
|
+
this.mx10.sendMsg(msg);
|
|
95
|
+
});
|
|
96
|
+
this.setCvQ.match = ((msg) => {
|
|
97
|
+
return (msg.trainNid() === trainNid && msg.cvNum() === cvNum && msg.cvVal() === cvVal);
|
|
98
|
+
});
|
|
99
|
+
const rv = await this.setCvQ.run();
|
|
100
|
+
this.mx10.log.next("mx10.setCv.rv: " + JSON.stringify(rv));
|
|
101
|
+
this.setCvQ.unlock();
|
|
102
|
+
this.setCvQ = undefined;
|
|
103
|
+
return rv;
|
|
104
|
+
}
|
|
34
105
|
parse(size, command, mode, nid, buffer) {
|
|
35
106
|
switch (command) {
|
|
36
107
|
case 0x02:
|
|
@@ -66,11 +137,7 @@ export default class TrackCfgGroup {
|
|
|
66
137
|
const NID = buffer.readUInt16LE(2);
|
|
67
138
|
const cfgNum = buffer.readUInt32LE(4);
|
|
68
139
|
const cvValue = buffer.readUInt16LE(8);
|
|
69
|
-
this.onTseProgReadExtended.next(
|
|
70
|
-
nid: NID,
|
|
71
|
-
cfgNum,
|
|
72
|
-
cvValue,
|
|
73
|
-
});
|
|
140
|
+
this.onTseProgReadExtended.next(new MsgCvRead(MsgCvRead.header(mode, nid), NID, cfgNum, cvValue));
|
|
74
141
|
}
|
|
75
142
|
}
|
|
76
143
|
parseTseProgWrite(size, mode, nid, buffer) {
|
|
@@ -78,25 +145,17 @@ export default class TrackCfgGroup {
|
|
|
78
145
|
const NID = buffer.readUInt16LE(0);
|
|
79
146
|
const cfgNum = buffer.readUInt32LE(2);
|
|
80
147
|
const cvValue = buffer.readUint8(6);
|
|
81
|
-
this.onTseProgWriteExtended.next(
|
|
82
|
-
nid: NID,
|
|
83
|
-
cfgNum,
|
|
84
|
-
cvValue,
|
|
85
|
-
});
|
|
148
|
+
this.onTseProgWriteExtended.next(new MsgCvWrite(MsgCvWrite.header(mode, nid), NID, cfgNum, cvValue));
|
|
86
149
|
}
|
|
87
150
|
}
|
|
88
151
|
parseTseProgWrite16(size, mode, nid, buffer) {
|
|
89
152
|
if (this.onTseProgWrite16Extended.observed) {
|
|
90
153
|
if (buffer.length < 6)
|
|
91
|
-
throw new Error('parseTseProgWrite16 rx: ' + buffer);
|
|
154
|
+
throw new Error('parseTseProgWrite16 rx: ' + JSON.stringify(buffer));
|
|
92
155
|
const NID = buffer.readUInt16LE(0);
|
|
93
156
|
const cfgNum = buffer.readUint16LE(2);
|
|
94
157
|
const cvValue = buffer.readUint16LE(4);
|
|
95
|
-
this.onTseProgWrite16Extended.next(
|
|
96
|
-
nid: NID,
|
|
97
|
-
cfgNum,
|
|
98
|
-
cvValue,
|
|
99
|
-
});
|
|
158
|
+
this.onTseProgWrite16Extended.next(new MsgCvWrite(MsgCvWrite.header(mode, nid), NID, cfgNum, cvValue));
|
|
100
159
|
}
|
|
101
160
|
}
|
|
102
161
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trackCfgGroup.js","sourceRoot":"","sources":["../../src/zcan/trackCfgGroup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trackCfgGroup.js","sourceRoot":"","sources":["../../src/zcan/trackCfgGroup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
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.34",
|
|
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",
|
|
12
|
-
"build": "tsc --project tsconfig.build.json",
|
|
12
|
+
"build": "./node_modules/typescript/bin/tsc --project tsconfig.build.json",
|
|
13
13
|
"build:clean": "rm -rf tsconfig.build.tsbuildinfo && rm -rf ./dist",
|
|
14
14
|
"test": "jest --forceExit",
|
|
15
15
|
"test:coverage": "npm run test -- --coverage",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"docs": "gulp documentation"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"rxjs": "^7.8.
|
|
24
|
+
"rxjs": "^7.8.2",
|
|
25
25
|
"tslib": "^2.7.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
@@ -3,6 +3,7 @@ import {Buffer} from 'buffer';
|
|
|
3
3
|
import {MsgMode} from '../util/enums';
|
|
4
4
|
import {delay} from '../internal/utils';
|
|
5
5
|
import {Subject, Subscription} from 'rxjs';
|
|
6
|
+
import ExtendedASCII from '../util/extended-ascii';
|
|
6
7
|
|
|
7
8
|
export type Header = {
|
|
8
9
|
group: number,
|
|
@@ -33,6 +34,46 @@ export class Message
|
|
|
33
34
|
{
|
|
34
35
|
this.data.push(data);
|
|
35
36
|
}
|
|
37
|
+
|
|
38
|
+
udp(ownNid: number): Buffer
|
|
39
|
+
{
|
|
40
|
+
const size = 2 + this.data.reduce((sum, obj) => sum + obj.length, 0);
|
|
41
|
+
const buffer = Buffer.alloc(size + 8);
|
|
42
|
+
const cmd_md = (this.header.cmd << 2) | this.header.mode;
|
|
43
|
+
|
|
44
|
+
buffer.writeUInt16LE(size, 0);
|
|
45
|
+
buffer.writeUInt16LE(0, 2); // unused
|
|
46
|
+
buffer.writeUInt8(this.header.group, 4);
|
|
47
|
+
buffer.writeUInt8(cmd_md, 5);
|
|
48
|
+
buffer.writeUInt16LE(ownNid, 6);
|
|
49
|
+
buffer.writeUInt16LE(this.header.nid, 8);
|
|
50
|
+
|
|
51
|
+
let offset = 10;
|
|
52
|
+
|
|
53
|
+
this.data.forEach((element) => {
|
|
54
|
+
if (typeof element.value === 'string') {
|
|
55
|
+
ExtendedASCII.str2byte(element.value, buffer, offset, element.length);
|
|
56
|
+
offset += element.length;
|
|
57
|
+
} else switch (element.length) {
|
|
58
|
+
case 1:
|
|
59
|
+
buffer.writeUInt8(element.value, offset);
|
|
60
|
+
offset += 1;
|
|
61
|
+
break;
|
|
62
|
+
case 2:
|
|
63
|
+
buffer.writeUInt16LE(element.value, offset);
|
|
64
|
+
offset += 2;
|
|
65
|
+
break;
|
|
66
|
+
case 4:
|
|
67
|
+
buffer.writeUInt32LE(element.value, offset);
|
|
68
|
+
offset += 4;
|
|
69
|
+
break;
|
|
70
|
+
default:
|
|
71
|
+
// eslint-disable-next-line no-console
|
|
72
|
+
console.warn(`ELEMENT LENGTH NOT DEFINED, ${element}`);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
return buffer;
|
|
76
|
+
}
|
|
36
77
|
}
|
|
37
78
|
|
|
38
79
|
export class Query<T extends Message>
|
|
@@ -75,11 +116,11 @@ export class Query<T extends Message>
|
|
|
75
116
|
{
|
|
76
117
|
this.rx = this.subject.subscribe((msg: T) =>
|
|
77
118
|
{
|
|
78
|
-
if(msg.header.mode
|
|
119
|
+
if(msg.header.mode < MsgMode.EVT)
|
|
79
120
|
return;
|
|
80
121
|
if(msg.header.nid !== this.header.nid)
|
|
81
122
|
return;
|
|
82
|
-
this.log('query.run.rx: ' + JSON.stringify(msg));
|
|
123
|
+
//this.log('query.run.rx: ' + JSON.stringify(msg));
|
|
83
124
|
if(!this.match(msg))
|
|
84
125
|
return;
|
|
85
126
|
this.result = msg;
|
package/src/@types/models.ts
CHANGED
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
MsgMode,
|
|
21
21
|
} from '../util/enums';
|
|
22
22
|
import {Header, Message, ZcanDataArray} from './communication';
|
|
23
|
-
import {
|
|
23
|
+
import { Subject } from 'rxjs';
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
export interface Train {
|
|
@@ -135,10 +135,8 @@ export interface BidiInfoData {
|
|
|
135
135
|
data: BidiDirectionData | number;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
export class
|
|
138
|
+
export class MsgModInfo extends Message
|
|
139
139
|
{
|
|
140
|
-
public static readonly rx = new Subject<ModInfoData>();
|
|
141
|
-
|
|
142
140
|
public static header(mode: MsgMode, nid: number): Header
|
|
143
141
|
{
|
|
144
142
|
return {group: 0x08, cmd: 0x08, mode: mode, nid};
|
|
@@ -148,19 +146,84 @@ export class ModInfoData extends Message
|
|
|
148
146
|
{
|
|
149
147
|
super(header);
|
|
150
148
|
super.push({value: type, length: 2});
|
|
149
|
+
// data.forEach((data) => super.push(data));
|
|
151
150
|
if(data.length)
|
|
152
|
-
this.data.concat(data);
|
|
151
|
+
this.data = this.data.concat(data);
|
|
153
152
|
}
|
|
154
153
|
|
|
155
154
|
type(): ModInfoType | undefined
|
|
156
155
|
{
|
|
157
156
|
return ((this.data[0].value as unknown) as ModInfoType);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
info(): number | undefined
|
|
160
|
+
{
|
|
161
|
+
if(this.data.length > 1)
|
|
162
|
+
return (this.data[1].value as number);
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export class MsgCvRead extends Message
|
|
168
|
+
{
|
|
169
|
+
public static header(mode: MsgMode, nid: number): Header
|
|
170
|
+
{
|
|
171
|
+
return {group: 0x16, cmd: 0x08, mode: mode, nid: nid};
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
constructor(header: Header, trainNid: number, cvNum: number, cvVal: number | undefined = undefined)
|
|
175
|
+
{
|
|
176
|
+
super(header);
|
|
177
|
+
super.push({value: trainNid, length: 2});
|
|
178
|
+
super.push({value: cvNum, length: 4});
|
|
179
|
+
if(cvVal !== undefined)
|
|
180
|
+
super.push({value: cvVal, length: 2});
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
cvVal(): number | undefined
|
|
184
|
+
{
|
|
185
|
+
if(this.data.length > 2) {
|
|
186
|
+
return (this.data[2].value as number);
|
|
187
|
+
}
|
|
188
|
+
return undefined;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
cvNum(): number
|
|
192
|
+
{
|
|
193
|
+
return (this.data[1].value as number);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
trainNid(): number
|
|
197
|
+
{
|
|
198
|
+
return (this.data[0].value as number);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
158
201
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
202
|
+
export class MsgCvWrite extends MsgCvRead
|
|
203
|
+
{
|
|
204
|
+
public static header(mode: MsgMode, nid: number): Header
|
|
205
|
+
{
|
|
206
|
+
return {group: 0x16, cmd: 0x09, mode: mode, nid: nid};
|
|
207
|
+
}
|
|
208
|
+
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
209
|
+
constructor(header: Header, trainNid: number, cvNum: number, cvVal: number)
|
|
210
|
+
{
|
|
211
|
+
super(header, trainNid, cvNum, cvVal);
|
|
212
|
+
this.data[2].length = 1; // ;-)
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export class MsgCvWrite16 extends MsgCvRead
|
|
217
|
+
{
|
|
218
|
+
public static header(mode: MsgMode, nid: number): Header
|
|
219
|
+
{
|
|
220
|
+
return {group: 0x16, cmd: 0x0d, mode: mode, nid: nid};
|
|
221
|
+
}
|
|
222
|
+
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
223
|
+
constructor(header: Header, trainNid: number, cvNum: number, cvVal: number)
|
|
224
|
+
{
|
|
225
|
+
super(header, trainNid, cvNum, cvVal);
|
|
226
|
+
this.data[1].length = 2;
|
|
164
227
|
}
|
|
165
228
|
}
|
|
166
229
|
|
|
@@ -240,7 +303,7 @@ export interface ItemFxMode {
|
|
|
240
303
|
|
|
241
304
|
// export class ItemFxMode extends Message
|
|
242
305
|
// {
|
|
243
|
-
// constructor(header: Header, group: number, mode:
|
|
306
|
+
// constructor(header: Header, group: number, mode: number)
|
|
244
307
|
// {
|
|
245
308
|
// super(header);
|
|
246
309
|
// super.push({value: group, length: 1});
|
|
@@ -255,7 +318,11 @@ export interface ItemFxMode {
|
|
|
255
318
|
|
|
256
319
|
// mode(): FxModeType[]
|
|
257
320
|
// {
|
|
258
|
-
//
|
|
321
|
+
// const rv: FxModeType[] = [];
|
|
322
|
+
// for(let i=0; i<32; i+=2) {
|
|
323
|
+
// rv.push(((this.data[2].value as number) >> i) & 0b11);
|
|
324
|
+
// }
|
|
325
|
+
// return rv;
|
|
259
326
|
// }
|
|
260
327
|
|
|
261
328
|
// setMode(index: number, mode: FxModeType)
|
package/src/MX10.ts
CHANGED
|
@@ -172,7 +172,8 @@ export default class MX10 {
|
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
sendMsg(msg: Message) {
|
|
175
|
-
const buffer =
|
|
175
|
+
const buffer = msg.udp(this.myNID);
|
|
176
|
+
this.log.next("mx10.sendMsg: " + JSON.stringify(buffer));
|
|
176
177
|
this.send(buffer, false);
|
|
177
178
|
}
|
|
178
179
|
|
|
@@ -185,6 +186,7 @@ export default class MX10 {
|
|
|
185
186
|
force = false,
|
|
186
187
|
) {
|
|
187
188
|
const buffer = this.formatData(group, cmd, mode, nid, data);
|
|
189
|
+
//this.log.next("mx10.sendData: " + JSON.stringify(buffer));
|
|
188
190
|
this.send(buffer, force);
|
|
189
191
|
}
|
|
190
192
|
|
package/src/zcan/infoGroup.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {Buffer} from 'buffer';
|
|
2
2
|
import MX10 from '../MX10';
|
|
3
3
|
import {Subject} from 'rxjs';
|
|
4
|
-
import {
|
|
5
|
-
import {BidiInfoData, BidiDirectionData,
|
|
4
|
+
import {Query} from '../@types/communication';
|
|
5
|
+
import {BidiInfoData, BidiDirectionData, MsgModInfo} from '../@types/models';
|
|
6
6
|
import {BidiType, Direction, ForwardOrReverse, ModInfoType, MsgMode} from '../util/enums';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -13,29 +13,27 @@ export default class InfoGroup {
|
|
|
13
13
|
private mx10: MX10;
|
|
14
14
|
|
|
15
15
|
public readonly onBidiInfoChange = new Subject<BidiInfoData>();
|
|
16
|
-
public readonly onModuleInfoChange = new Subject<
|
|
16
|
+
public readonly onModuleInfoChange = new Subject<MsgModInfo>();
|
|
17
17
|
|
|
18
|
-
private modInfoQ: Query<
|
|
18
|
+
private modInfoQ: Query<MsgModInfo> | undefined = undefined;
|
|
19
19
|
|
|
20
20
|
constructor(mx10: MX10) {
|
|
21
21
|
this.mx10 = mx10;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
async getModuleInfo(nid: number, type: ModInfoType | number): Promise<
|
|
24
|
+
async getModuleInfo(nid: number, type: ModInfoType | number): Promise<MsgModInfo | undefined>
|
|
25
25
|
{
|
|
26
26
|
if(this.modInfoQ !== undefined && !await this.modInfoQ.lock()) {
|
|
27
27
|
this.mx10.log.next("mx10.getModuleInfo: failed to acquire lock");
|
|
28
28
|
return undefined;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
this.modInfoQ = new Query(
|
|
31
|
+
this.modInfoQ = new Query(MsgModInfo.header(MsgMode.REQ, nid), this.onModuleInfoChange);
|
|
32
32
|
this.modInfoQ.log = ((msg) => {
|
|
33
33
|
this.mx10.log.next(msg);
|
|
34
34
|
});
|
|
35
35
|
this.modInfoQ.tx = ((header) => {
|
|
36
|
-
const msg = new
|
|
37
|
-
msg.push({value: nid, length: 2});
|
|
38
|
-
msg.push({value: type, length: 2});
|
|
36
|
+
const msg = new MsgModInfo(header, type);
|
|
39
37
|
this.mx10.log.next('mx10 query tx: ' + JSON.stringify(msg));
|
|
40
38
|
this.mx10.sendMsg(msg);
|
|
41
39
|
});
|
|
@@ -77,14 +75,12 @@ export default class InfoGroup {
|
|
|
77
75
|
nid: number,
|
|
78
76
|
buffer: Buffer,
|
|
79
77
|
) {
|
|
80
|
-
// const msgMode: MsgMode = mode as MsgMode;
|
|
81
|
-
// this.mx10.log.next('parseModuleInfo: ' + msgMode);
|
|
82
78
|
if (this.onModuleInfoChange.observed) {
|
|
83
79
|
const NID = buffer.readUInt16LE(0);
|
|
84
80
|
const type = buffer.readUInt16LE(2);
|
|
85
81
|
const info = buffer.readUInt32LE(4);
|
|
86
|
-
const msg = new
|
|
87
|
-
this.mx10.log.next('onModuleInfoChange <- ' + JSON.stringify(msg));
|
|
82
|
+
const msg = new MsgModInfo(MsgModInfo.header(mode, NID), type, [{value: info, length: 4}]);
|
|
83
|
+
// this.mx10.log.next('onModuleInfoChange <- ' + JSON.stringify(msg));
|
|
88
84
|
this.onModuleInfoChange.next(msg);
|
|
89
85
|
}
|
|
90
86
|
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
|
+
MsgCvRead,
|
|
3
|
+
MsgCvWrite,
|
|
4
|
+
MsgCvWrite16,
|
|
2
5
|
TseInfoExtended,
|
|
3
|
-
|
|
4
|
-
TseProgWriteExtended,
|
|
5
|
-
} from 'src/@types/models';
|
|
6
|
+
} from '../@types/models';
|
|
6
7
|
import MX10 from '../MX10';
|
|
7
8
|
import {Subject} from 'rxjs';
|
|
9
|
+
import {Query} from '../docs_entrypoint';
|
|
10
|
+
import {MsgMode} from '../util/enums';
|
|
8
11
|
|
|
9
12
|
/**
|
|
10
13
|
*
|
|
@@ -12,9 +15,9 @@ import {Subject} from 'rxjs';
|
|
|
12
15
|
*/
|
|
13
16
|
export default class TrackCfgGroup {
|
|
14
17
|
public readonly onTseInfoExtended = new Subject<TseInfoExtended>();
|
|
15
|
-
public readonly onTseProgReadExtended = new Subject<
|
|
16
|
-
public readonly onTseProgWriteExtended = new Subject<
|
|
17
|
-
public readonly onTseProgWrite16Extended = new Subject<
|
|
18
|
+
public readonly onTseProgReadExtended = new Subject<MsgCvRead>();
|
|
19
|
+
public readonly onTseProgWriteExtended = new Subject<MsgCvWrite>();
|
|
20
|
+
public readonly onTseProgWrite16Extended = new Subject<MsgCvWrite>();
|
|
18
21
|
|
|
19
22
|
private mx10: MX10;
|
|
20
23
|
|
|
@@ -22,6 +25,9 @@ export default class TrackCfgGroup {
|
|
|
22
25
|
this.mx10 = mx10;
|
|
23
26
|
}
|
|
24
27
|
|
|
28
|
+
private getCvQ: Query<MsgCvRead> | undefined = undefined;
|
|
29
|
+
private setCvQ: Query<MsgCvWrite> | undefined = undefined;
|
|
30
|
+
|
|
25
31
|
tseProgRead(NID: number, CV: number) {
|
|
26
32
|
this.mx10.sendData(0x16, 0x08, [
|
|
27
33
|
{value: this.mx10.mx10NID, length: 2},
|
|
@@ -48,6 +54,87 @@ export default class TrackCfgGroup {
|
|
|
48
54
|
]);
|
|
49
55
|
}
|
|
50
56
|
|
|
57
|
+
async getCv(trainNid: number, cvNum: number): Promise<MsgCvRead | undefined>
|
|
58
|
+
{
|
|
59
|
+
if(this.getCvQ !== undefined && !await this.getCvQ.lock()) {
|
|
60
|
+
this.mx10.log.next("mx10.getCv: failed to acquire lock");
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
this.getCvQ = new Query(MsgCvRead.header(MsgMode.CMD, this.mx10.mx10NID), this.onTseProgReadExtended);
|
|
65
|
+
this.getCvQ.log = ((msg) => {
|
|
66
|
+
this.mx10.log.next(msg);
|
|
67
|
+
});
|
|
68
|
+
this.getCvQ.tx = ((header) => {
|
|
69
|
+
const msg = new MsgCvRead(header, trainNid, cvNum);
|
|
70
|
+
// this.mx10.log.next('cv query tx: ' + JSON.stringify(msg));
|
|
71
|
+
this.mx10.sendMsg(msg);
|
|
72
|
+
});
|
|
73
|
+
this.getCvQ.match = ((msg) => {
|
|
74
|
+
// this.mx10.log.next('cv query rx: ' + JSON.stringify(msg));
|
|
75
|
+
return (msg.trainNid() === trainNid && msg.cvNum() === cvNum);
|
|
76
|
+
})
|
|
77
|
+
const rv = await this.getCvQ.run();
|
|
78
|
+
this.mx10.log.next("mx10.getCv.rv: " + JSON.stringify(rv));
|
|
79
|
+
this.getCvQ.unlock();
|
|
80
|
+
this.getCvQ = undefined;
|
|
81
|
+
return rv;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
async setCv(trainNid: number, cvNum: number, cvVal: number): Promise<MsgCvWrite | undefined>
|
|
85
|
+
{
|
|
86
|
+
if(this.setCvQ !== undefined && !await this.setCvQ.lock()) {
|
|
87
|
+
this.mx10.log.next("mx10.setCv: failed to acquire lock");
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
this.setCvQ = new Query(MsgCvWrite.header(MsgMode.CMD, this.mx10.mx10NID), this.onTseProgWriteExtended);
|
|
92
|
+
this.setCvQ.log = ((msg) => {
|
|
93
|
+
this.mx10.log.next(msg);
|
|
94
|
+
});
|
|
95
|
+
this.setCvQ.tx = ((header) => {
|
|
96
|
+
const msg = new MsgCvWrite(header, trainNid, cvNum, cvVal);
|
|
97
|
+
// this.mx10.log.next('cv write query tx: ' + JSON.stringify(msg));
|
|
98
|
+
this.mx10.sendMsg(msg);
|
|
99
|
+
});
|
|
100
|
+
this.setCvQ.match = ((msg) => {
|
|
101
|
+
// this.mx10.log.next('cv write query rx: ' + JSON.stringify(msg));
|
|
102
|
+
return (msg.trainNid() === trainNid && msg.cvNum() === cvNum && msg.cvVal() === cvVal);
|
|
103
|
+
})
|
|
104
|
+
const rv = await this.setCvQ.run();
|
|
105
|
+
this.mx10.log.next("mx10.setCv.rv: " + JSON.stringify(rv));
|
|
106
|
+
this.setCvQ.unlock();
|
|
107
|
+
this.setCvQ = undefined;
|
|
108
|
+
return rv;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
async setCv16(trainNid: number, cvNum: number, cvVal: number): Promise<MsgCvWrite16 | undefined>
|
|
112
|
+
{
|
|
113
|
+
if(this.setCvQ !== undefined && !await this.setCvQ.lock()) {
|
|
114
|
+
this.mx10.log.next("mx10.setCv: failed to acquire lock");
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
this.setCvQ = new Query(MsgCvWrite16.header(MsgMode.CMD, this.mx10.mx10NID), this.onTseProgWrite16Extended);
|
|
119
|
+
this.setCvQ.log = ((msg) => {
|
|
120
|
+
this.mx10.log.next(msg);
|
|
121
|
+
});
|
|
122
|
+
this.setCvQ.tx = ((header) => {
|
|
123
|
+
const msg = new MsgCvWrite16(header, trainNid, cvNum, cvVal);
|
|
124
|
+
// this.mx10.log.next('cv write query tx: ' + JSON.stringify(msg));
|
|
125
|
+
this.mx10.sendMsg(msg);
|
|
126
|
+
});
|
|
127
|
+
this.setCvQ.match = ((msg) => {
|
|
128
|
+
// this.mx10.log.next('cv write query rx: ' + JSON.stringify(msg));
|
|
129
|
+
return (msg.trainNid() === trainNid && msg.cvNum() === cvNum && msg.cvVal() === cvVal);
|
|
130
|
+
})
|
|
131
|
+
const rv = await this.setCvQ.run();
|
|
132
|
+
this.mx10.log.next("mx10.setCv.rv: " + JSON.stringify(rv));
|
|
133
|
+
this.setCvQ.unlock();
|
|
134
|
+
this.setCvQ = undefined;
|
|
135
|
+
return rv;
|
|
136
|
+
}
|
|
137
|
+
|
|
51
138
|
parse(
|
|
52
139
|
size: number,
|
|
53
140
|
command: number,
|
|
@@ -55,6 +142,7 @@ export default class TrackCfgGroup {
|
|
|
55
142
|
nid: number,
|
|
56
143
|
buffer: Buffer,
|
|
57
144
|
) {
|
|
145
|
+
// this.mx10.log.next("parseTse: " + command + "." + mode + ":" + nid + " ... " + JSON.stringify(buffer));
|
|
58
146
|
switch (command) {
|
|
59
147
|
case 0x02:
|
|
60
148
|
this.parseTseInfo(size, mode, nid, buffer);
|
|
@@ -96,12 +184,11 @@ export default class TrackCfgGroup {
|
|
|
96
184
|
const NID = buffer.readUInt16LE(2);
|
|
97
185
|
const cfgNum = buffer.readUInt32LE(4);
|
|
98
186
|
const cvValue = buffer.readUInt16LE(8);
|
|
187
|
+
// this.mx10.log.next("parseTseProgRead: " + JSON.stringify(buffer));
|
|
99
188
|
|
|
100
|
-
this.onTseProgReadExtended.next(
|
|
101
|
-
nid
|
|
102
|
-
|
|
103
|
-
cvValue,
|
|
104
|
-
});
|
|
189
|
+
this.onTseProgReadExtended.next(
|
|
190
|
+
new MsgCvRead(MsgCvRead.header(mode, nid), NID, cfgNum, cvValue)
|
|
191
|
+
);
|
|
105
192
|
}
|
|
106
193
|
}
|
|
107
194
|
|
|
@@ -111,31 +198,27 @@ export default class TrackCfgGroup {
|
|
|
111
198
|
const NID = buffer.readUInt16LE(0);
|
|
112
199
|
const cfgNum = buffer.readUInt32LE(2);
|
|
113
200
|
const cvValue = buffer.readUint8(6);
|
|
201
|
+
// this.mx10.log.next("parseTseProgWrite: " + JSON.stringify(buffer));
|
|
114
202
|
|
|
115
|
-
this.onTseProgWriteExtended.next(
|
|
116
|
-
nid
|
|
117
|
-
|
|
118
|
-
cvValue,
|
|
119
|
-
});
|
|
203
|
+
this.onTseProgWriteExtended.next(
|
|
204
|
+
new MsgCvWrite(MsgCvWrite.header(mode, nid), NID, cfgNum, cvValue)
|
|
205
|
+
);
|
|
120
206
|
}
|
|
121
207
|
}
|
|
122
208
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
cfgNum,
|
|
137
|
-
cvValue,
|
|
138
|
-
});
|
|
139
|
-
}
|
|
209
|
+
// 0x16.0x0d
|
|
210
|
+
parseTseProgWrite16(size: number, mode: number, nid: number, buffer: Buffer) {
|
|
211
|
+
if (this.onTseProgWrite16Extended.observed) {
|
|
212
|
+
|
|
213
|
+
if(buffer.length < 6)
|
|
214
|
+
throw new Error('parseTseProgWrite16 rx: ' + JSON.stringify(buffer));
|
|
215
|
+
|
|
216
|
+
const NID = buffer.readUInt16LE(0);
|
|
217
|
+
const cfgNum = buffer.readUint16LE(2);
|
|
218
|
+
const cvValue = buffer.readUint16LE(4);
|
|
219
|
+
|
|
220
|
+
this.onTseProgWrite16Extended.next(
|
|
221
|
+
new MsgCvWrite(MsgCvWrite.header(mode, nid), NID, cfgNum, cvValue));
|
|
140
222
|
}
|
|
223
|
+
}
|
|
141
224
|
}
|