@zimo-elektronik/zcan 1.0.26 → 1.0.27

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.
@@ -2,7 +2,7 @@ import MX10 from '../MX10';
2
2
  import { Buffer } from 'buffer';
3
3
  import { Subject } from 'rxjs';
4
4
  import { RemoveLocomotiveData, DataNameExtended, GroupCountData, ItemFxMode, ItemFxConfig, ItemImageData, ItemListByIndexData, ItemListByNidData } from '../@types/models';
5
- import { FxConfigType, ImageType } from '../util/enums';
5
+ import { FxConfigType, FxModeType, ImageType } from '../util/enums';
6
6
  export default class DataGroup {
7
7
  readonly onGroupCount: Subject<GroupCountData>;
8
8
  readonly onListItemsByIndex: Subject<ItemListByIndexData>;
@@ -13,6 +13,7 @@ export default class DataGroup {
13
13
  readonly onItemFxConfig: Subject<ItemFxConfig>;
14
14
  readonly onDataNameExtended: Subject<DataNameExtended>;
15
15
  private mx10;
16
+ private fxModeRequest;
16
17
  constructor(mx10: MX10);
17
18
  groupCount(objType?: number): void;
18
19
  listItemsByIndex(groupNID: number, index: number): void;
@@ -29,6 +30,7 @@ export default class DataGroup {
29
30
  private parseDataClear;
30
31
  private parseItemImageConfig;
31
32
  private parseItemFxMode;
33
+ setItemFxMode(trainNid: number, fxId: number, mode: FxModeType): void;
32
34
  private parseItemFxConfig;
33
35
  private parseDataNameExtended;
34
36
  }
@@ -1,4 +1,4 @@
1
- import { Subject } from 'rxjs';
1
+ import { delay, Subject } from 'rxjs';
2
2
  import { NameType } from '../util/enums';
3
3
  import ExtendedASCII from '../util/extended-ascii';
4
4
  export default class DataGroup {
@@ -11,6 +11,7 @@ export default class DataGroup {
11
11
  onItemFxConfig = new Subject();
12
12
  onDataNameExtended = new Subject();
13
13
  mx10;
14
+ fxModeRequest;
14
15
  constructor(mx10) {
15
16
  this.mx10 = mx10;
16
17
  }
@@ -170,7 +171,7 @@ export default class DataGroup {
170
171
  const NID = buffer.readUInt16LE(0);
171
172
  const group = buffer.readUInt8(2);
172
173
  const modes = buffer.readUInt32LE(4);
173
- let mode = [];
174
+ const mode = [];
174
175
  for (let i = 0; i < 32; i += 2) {
175
176
  mode.push((modes >> i) & 0b11);
176
177
  }
@@ -183,6 +184,29 @@ export default class DataGroup {
183
184
  this.onItemFxMode.next(msg);
184
185
  }
185
186
  }
187
+ setItemFxMode(trainNid, fxId, mode) {
188
+ let wait = 50;
189
+ while (this.fxModeRequest !== undefined) {
190
+ delay(10);
191
+ if (!wait--)
192
+ return;
193
+ }
194
+ const group = fxId / 16;
195
+ this.fxModeRequest = { msg: { nid: trainNid, group: group, mode: [] },
196
+ rcv: this.onItemFxMode.subscribe((data) => {
197
+ if (this.fxModeRequest === undefined)
198
+ return;
199
+ if (data.nid !== this.fxModeRequest.msg.nid)
200
+ return;
201
+ if (data.group !== this.fxModeRequest.msg.group)
202
+ return;
203
+ this.fxModeRequest.msg.mode = data.mode;
204
+ this.fxModeRequest.rcv.unsubscribe();
205
+ }) };
206
+ this.fxModeRequest.msg.mode[fxId] = mode;
207
+ this.itemFxMode(trainNid, group, this.fxModeRequest.msg.mode);
208
+ this.fxModeRequest = undefined;
209
+ }
186
210
  parseItemFxConfig(size, mode, nid, buffer) {
187
211
  if (this.onItemFxConfig.observed) {
188
212
  const NID = buffer.readUInt16LE(0);
@@ -1 +1 @@
1
- {"version":3,"file":"dataGroup.js","sourceRoot":"","sources":["../../src/zcan/dataGroup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataGroup.js","sourceRoot":"","sources":["../../src/zcan/dataGroup.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.26",
8
+ "version": "1.0.27",
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,7 +1,7 @@
1
1
  // 0x07
2
2
  import MX10 from '../MX10';
3
3
  import {Buffer} from 'buffer';
4
- import {Subject} from 'rxjs';
4
+ import {delay, Subject, Subscription} from 'rxjs';
5
5
  import {
6
6
  RemoveLocomotiveData,
7
7
  DataNameExtended,
@@ -31,6 +31,7 @@ export default class DataGroup {
31
31
  public readonly onDataNameExtended = new Subject<DataNameExtended>();
32
32
 
33
33
  private mx10: MX10;
34
+ private fxModeRequest: {msg: ItemFxMode, rcv: Subscription} | undefined;
34
35
 
35
36
  constructor(mx10: MX10) {
36
37
  this.mx10 = mx10;
@@ -274,7 +275,7 @@ export default class DataGroup {
274
275
  const group = buffer.readUInt8(2);
275
276
  const modes = buffer.readUInt32LE(4);
276
277
 
277
- let mode: FxModeType[] = [];
278
+ const mode: FxModeType[] = [];
278
279
  for(let i=0; i<32; i+=2) {
279
280
  mode.push((modes>>i)&0b11);
280
281
  }
@@ -289,6 +290,34 @@ export default class DataGroup {
289
290
  }
290
291
  }
291
292
 
293
+ setItemFxMode(trainNid: number, fxId: number, mode: FxModeType)
294
+ {
295
+ let wait = 50;
296
+ while(this.fxModeRequest !== undefined)
297
+ {
298
+ delay(10);
299
+ if(!wait--)
300
+ return;
301
+ }
302
+
303
+ const group = fxId / 16;
304
+ this.fxModeRequest = {msg: {nid: trainNid, group: group, mode: []},
305
+ rcv: this.onItemFxMode.subscribe((data: ItemFxMode) => {
306
+ if(this.fxModeRequest === undefined)
307
+ return;
308
+ if(data.nid !== this.fxModeRequest.msg.nid)
309
+ return;
310
+ if(data.group !== this.fxModeRequest.msg.group)
311
+ return;
312
+ this.fxModeRequest.msg.mode = data.mode;
313
+ this.fxModeRequest.rcv.unsubscribe();
314
+ })};
315
+
316
+ this.fxModeRequest.msg.mode[fxId] = mode;
317
+ this.itemFxMode(trainNid, group, this.fxModeRequest.msg.mode);
318
+ this.fxModeRequest = undefined;
319
+ }
320
+
292
321
  // 0x07.0x15
293
322
  private parseItemFxConfig(
294
323
  size: number,