@modular-circuit/transpiler 0.0.76 → 0.0.77

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.
Files changed (34) hide show
  1. package/build/builder/graph_to_kicad/do_convert_graph_to_kicad_project.js +19 -108
  2. package/build/builder/graph_to_kicad/index.js +4 -59
  3. package/build/converter/graph_to_netlist/graph_converter.js +51 -171
  4. package/build/converter/kicad_sexpr/eeschema/drawing_sheet/sch_default_drawing_sheet.js +1 -1
  5. package/build/converter/kicad_sexpr/eeschema/printer.js +245 -290
  6. package/build/converter/link_to_netlist/converter.js +77 -135
  7. package/build/converter/link_to_netlist/links/converter_base.js +38 -131
  8. package/build/converter/link_to_netlist/links/converters.js +316 -554
  9. package/build/converter/netlist_to_kicad/calc_boxes_pos.d.ts +1 -1
  10. package/build/converter/netlist_to_kicad/calc_boxes_pos.d.ts.map +1 -1
  11. package/build/converter/netlist_to_kicad/calc_boxes_pos.js +36 -101
  12. package/build/converter/netlist_to_kicad/layout.js +28 -32
  13. package/build/converter/netlist_to_kicad/netlist_converter.d.ts +1 -1
  14. package/build/converter/netlist_to_kicad/netlist_converter.d.ts.map +1 -1
  15. package/build/converter/netlist_to_kicad/netlist_converter.js +128 -300
  16. package/build/kicad/constraints/index.js +1 -1
  17. package/build/kicad/label/net_label.js +2 -2
  18. package/build/kicad/label/sheet_pin.js +11 -19
  19. package/build/kicad/project/kicad_prl.js +3 -3
  20. package/build/kicad/project/kicad_pro.js +4 -4
  21. package/build/kicad/project/kicad_project_achieve.js +31 -45
  22. package/build/kicad/project/wildcards_and_files_ext.js +61 -61
  23. package/build/kicad/sheet/sheet.js +3 -3
  24. package/build/kicad/symbols/lib_symbol/gnd.js +6 -6
  25. package/build/kicad/symbols/lib_symbol/vcc.js +7 -7
  26. package/build/kicad/symbols/sch_symbol/gnd.js +9 -9
  27. package/build/kicad/symbols/sch_symbol/vcc.js +9 -9
  28. package/build/kicad/symbols/symbol_utils.js +1 -1
  29. package/build/kicad/wire/gen_wire.js +4 -4
  30. package/build/utils/collect_sub_sheets.js +37 -151
  31. package/build/utils/constraints.js +6 -6
  32. package/build/utils/filter_null_undefined.js +2 -31
  33. package/build/utils/string_formatter.js +23 -29
  34. package/package.json +5 -5
@@ -1,62 +1,7 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
- var __read = (this && this.__read) || function (o, n) {
17
- var m = typeof Symbol === "function" && o[Symbol.iterator];
18
- if (!m) return o;
19
- var i = m.call(o), r, ar = [], e;
20
- try {
21
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
22
- }
23
- catch (error) { e = { error: error }; }
24
- finally {
25
- try {
26
- if (r && !r.done && (m = i["return"])) m.call(i);
27
- }
28
- finally { if (e) throw e.error; }
29
- }
30
- return ar;
31
- };
32
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
33
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
34
- if (ar || !(i in from)) {
35
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
36
- ar[i] = from[i];
37
- }
38
- }
39
- return to.concat(ar || Array.prototype.slice.call(from));
40
- };
41
- var __values = (this && this.__values) || function(o) {
42
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
43
- if (m) return m.call(o);
44
- if (o && typeof o.length === "number") return {
45
- next: function () {
46
- if (o && i >= o.length) o = void 0;
47
- return { value: o && o[i++], done: !o };
48
- }
49
- };
50
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
51
- };
52
1
  import { PortType, } from '@modular-circuit/electronics-model';
53
2
  import { CompositePortLinkConverterBase } from './converter_base';
54
- var CanLogicLinkTester = /** @class */ (function (_super) {
55
- __extends(CanLogicLinkTester, _super);
56
- function CanLogicLinkTester() {
57
- return _super !== null && _super.apply(this, arguments) || this;
58
- }
59
- CanLogicLinkTester.prototype.get_signals = function () {
3
+ export class CanLogicLinkTester extends CompositePortLinkConverterBase {
4
+ get_signals() {
60
5
  if (!this.link)
61
6
  return [];
62
7
  // const txd = [this.link.controller.txd, this.link.transceiver.rxd, ...this.link.passive!.map((port) => port.rxd)]
@@ -64,7 +9,7 @@ var CanLogicLinkTester = /** @class */ (function (_super) {
64
9
  return [
65
10
  {
66
11
  name: 'txd',
67
- ports: __spreadArray([
12
+ ports: [
68
13
  {
69
14
  parent: this.link.controller,
70
15
  meta_port: this.link.controller.txd,
@@ -72,17 +17,18 @@ var CanLogicLinkTester = /** @class */ (function (_super) {
72
17
  {
73
18
  parent: this.link.transceiver,
74
19
  meta_port: this.link.transceiver.rxd,
75
- }
76
- ], __read(this.link.passive.map(function (port) {
77
- return {
78
- parent: port,
79
- meta_port: port.rxd,
80
- };
81
- })), false),
20
+ },
21
+ ...this.link.passive.map((port) => {
22
+ return {
23
+ parent: port,
24
+ meta_port: port.rxd,
25
+ };
26
+ }),
27
+ ],
82
28
  },
83
29
  {
84
30
  name: 'rxd',
85
- ports: __spreadArray([
31
+ ports: [
86
32
  {
87
33
  parent: this.link.controller,
88
34
  meta_port: this.link.controller.rxd,
@@ -90,47 +36,37 @@ var CanLogicLinkTester = /** @class */ (function (_super) {
90
36
  {
91
37
  parent: this.link.transceiver,
92
38
  meta_port: this.link.transceiver.txd,
93
- }
94
- ], __read(this.link.passive.map(function (port) {
95
- return {
96
- parent: port,
97
- meta_port: port.txd,
98
- };
99
- })), false),
39
+ },
40
+ ...this.link.passive.map((port) => {
41
+ return {
42
+ parent: port,
43
+ meta_port: port.txd,
44
+ };
45
+ }),
46
+ ],
100
47
  },
101
48
  ];
102
- };
103
- CanLogicLinkTester.prototype.init_link = function () {
104
- var e_1, _a;
105
- var controllers = [];
106
- var transceivers = [];
107
- var passive = [];
108
- try {
109
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
110
- var v = _c.value;
111
- switch (v.type) {
112
- case PortType.CanControllerPort: {
113
- controllers.push(v);
114
- break;
115
- }
116
- case PortType.CanTransceiverPort: {
117
- transceivers.push(v);
118
- break;
119
- }
120
- case PortType.CanPassivePort: {
121
- passive.push(v);
122
- break;
123
- }
49
+ }
50
+ init_link() {
51
+ const controllers = [];
52
+ const transceivers = [];
53
+ const passive = [];
54
+ for (const v of this.ports) {
55
+ switch (v.type) {
56
+ case PortType.CanControllerPort: {
57
+ controllers.push(v);
58
+ break;
59
+ }
60
+ case PortType.CanTransceiverPort: {
61
+ transceivers.push(v);
62
+ break;
63
+ }
64
+ case PortType.CanPassivePort: {
65
+ passive.push(v);
66
+ break;
124
67
  }
125
68
  }
126
69
  }
127
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
128
- finally {
129
- try {
130
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
131
- }
132
- finally { if (e_1) throw e_1.error; }
133
- }
134
70
  if (controllers.length !== 1) {
135
71
  return false;
136
72
  }
@@ -140,19 +76,13 @@ var CanLogicLinkTester = /** @class */ (function (_super) {
140
76
  this.link = {
141
77
  controller: controllers[0],
142
78
  transceiver: transceivers[0],
143
- passive: passive,
79
+ passive,
144
80
  };
145
81
  return true;
146
- };
147
- return CanLogicLinkTester;
148
- }(CompositePortLinkConverterBase));
149
- export { CanLogicLinkTester };
150
- var CanDiffLinkTester = /** @class */ (function (_super) {
151
- __extends(CanDiffLinkTester, _super);
152
- function CanDiffLinkTester() {
153
- return _super !== null && _super.apply(this, arguments) || this;
154
82
  }
155
- CanDiffLinkTester.prototype.get_signals = function () {
83
+ }
84
+ export class CanDiffLinkTester extends CompositePortLinkConverterBase {
85
+ get_signals() {
156
86
  if (!this.link)
157
87
  return [];
158
88
  // const canh = this.link.nodes.map((node) => node.canh)
@@ -160,63 +90,50 @@ var CanDiffLinkTester = /** @class */ (function (_super) {
160
90
  return [
161
91
  {
162
92
  name: 'canh',
163
- ports: __spreadArray([], __read(this.link.nodes.map(function (port) {
164
- return {
165
- parent: port,
166
- meta_port: port.canh,
167
- };
168
- })), false),
93
+ ports: [
94
+ ...this.link.nodes.map((port) => {
95
+ return {
96
+ parent: port,
97
+ meta_port: port.canh,
98
+ };
99
+ }),
100
+ ],
169
101
  },
170
102
  {
171
103
  name: 'canl',
172
- ports: __spreadArray([], __read(this.link.nodes.map(function (port) {
173
- return {
174
- parent: port,
175
- meta_port: port.canl,
176
- };
177
- })), false),
104
+ ports: [
105
+ ...this.link.nodes.map((port) => {
106
+ return {
107
+ parent: port,
108
+ meta_port: port.canl,
109
+ };
110
+ }),
111
+ ],
178
112
  },
179
113
  ];
180
- };
181
- CanDiffLinkTester.prototype.init_link = function () {
182
- var e_2, _a;
183
- var nodes = [];
184
- try {
185
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
186
- var v = _c.value;
187
- if (v.type === PortType.CanDiffPort) {
188
- nodes.push(v);
189
- }
190
- }
191
- }
192
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
193
- finally {
194
- try {
195
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
114
+ }
115
+ init_link() {
116
+ const nodes = [];
117
+ for (const v of this.ports) {
118
+ if (v.type === PortType.CanDiffPort) {
119
+ nodes.push(v);
196
120
  }
197
- finally { if (e_2) throw e_2.error; }
198
121
  }
199
122
  if (nodes.length === 0) {
200
123
  return false;
201
124
  }
202
125
  this.link = {
203
- nodes: nodes,
126
+ nodes,
204
127
  };
205
128
  return true;
206
- };
207
- return CanDiffLinkTester;
208
- }(CompositePortLinkConverterBase));
209
- export { CanDiffLinkTester };
210
- var CrystalLinkTester = /** @class */ (function (_super) {
211
- __extends(CrystalLinkTester, _super);
212
- function CrystalLinkTester() {
213
- return _super !== null && _super.apply(this, arguments) || this;
214
129
  }
215
- CrystalLinkTester.prototype.get_signals = function () {
130
+ }
131
+ export class CrystalLinkTester extends CompositePortLinkConverterBase {
132
+ get_signals() {
216
133
  if (!this.link)
217
134
  return [];
218
- var driver = this.link.driver;
219
- var crystal = this.link.crystal;
135
+ const driver = this.link.driver;
136
+ const crystal = this.link.crystal;
220
137
  return [
221
138
  {
222
139
  name: 'xtal',
@@ -245,33 +162,22 @@ var CrystalLinkTester = /** @class */ (function (_super) {
245
162
  ],
246
163
  },
247
164
  ];
248
- };
249
- CrystalLinkTester.prototype.init_link = function () {
250
- var e_3, _a;
251
- var drivers = [];
252
- var crystals = [];
253
- try {
254
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
255
- var v = _c.value;
256
- switch (v.type) {
257
- case PortType.CrystalDriver: {
258
- drivers.push(v);
259
- break;
260
- }
261
- case PortType.CrystalPort: {
262
- crystals.push(v);
263
- break;
264
- }
165
+ }
166
+ init_link() {
167
+ const drivers = [];
168
+ const crystals = [];
169
+ for (const v of this.ports) {
170
+ switch (v.type) {
171
+ case PortType.CrystalDriver: {
172
+ drivers.push(v);
173
+ break;
174
+ }
175
+ case PortType.CrystalPort: {
176
+ crystals.push(v);
177
+ break;
265
178
  }
266
179
  }
267
180
  }
268
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
269
- finally {
270
- try {
271
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
272
- }
273
- finally { if (e_3) throw e_3.error; }
274
- }
275
181
  if (drivers.length !== 1) {
276
182
  return false;
277
183
  }
@@ -283,16 +189,10 @@ var CrystalLinkTester = /** @class */ (function (_super) {
283
189
  crystal: crystals[0],
284
190
  };
285
191
  return true;
286
- };
287
- return CrystalLinkTester;
288
- }(CompositePortLinkConverterBase));
289
- export { CrystalLinkTester };
290
- var SwdLinkTester = /** @class */ (function (_super) {
291
- __extends(SwdLinkTester, _super);
292
- function SwdLinkTester() {
293
- return _super !== null && _super.apply(this, arguments) || this;
294
192
  }
295
- SwdLinkTester.prototype.get_signals = function () {
193
+ }
194
+ export class SwdLinkTester extends CompositePortLinkConverterBase {
195
+ get_signals() {
296
196
  if (!this.link)
297
197
  return [];
298
198
  // const swdio = [this.link.host.swdio, this.link.device.swdio, ...this.link.pull!.map((port) => port.swdio)]
@@ -300,7 +200,7 @@ var SwdLinkTester = /** @class */ (function (_super) {
300
200
  return [
301
201
  {
302
202
  name: 'swdio',
303
- ports: __spreadArray([
203
+ ports: [
304
204
  {
305
205
  parent: this.link.host,
306
206
  meta_port: this.link.host.swdio,
@@ -308,17 +208,18 @@ var SwdLinkTester = /** @class */ (function (_super) {
308
208
  {
309
209
  parent: this.link.device,
310
210
  meta_port: this.link.device.swdio,
311
- }
312
- ], __read(this.link.pull.map(function (port) {
313
- return {
314
- parent: port,
315
- meta_port: port.swdio,
316
- };
317
- })), false),
211
+ },
212
+ ...this.link.pull.map((port) => {
213
+ return {
214
+ parent: port,
215
+ meta_port: port.swdio,
216
+ };
217
+ }),
218
+ ],
318
219
  },
319
220
  {
320
221
  name: 'swclk',
321
- ports: __spreadArray([
222
+ ports: [
322
223
  {
323
224
  parent: this.link.host,
324
225
  meta_port: this.link.host.swclk,
@@ -326,47 +227,37 @@ var SwdLinkTester = /** @class */ (function (_super) {
326
227
  {
327
228
  parent: this.link.device,
328
229
  meta_port: this.link.device.swclk,
329
- }
330
- ], __read(this.link.pull.map(function (port) {
331
- return {
332
- parent: port,
333
- meta_port: port.swclk,
334
- };
335
- })), false),
230
+ },
231
+ ...this.link.pull.map((port) => {
232
+ return {
233
+ parent: port,
234
+ meta_port: port.swclk,
235
+ };
236
+ }),
237
+ ],
336
238
  },
337
239
  ];
338
- };
339
- SwdLinkTester.prototype.init_link = function () {
340
- var e_4, _a;
341
- var hosts = [];
342
- var devices = [];
343
- var pull = [];
344
- try {
345
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
346
- var v = _c.value;
347
- switch (v.type) {
348
- case PortType.SwdHostPort: {
349
- hosts.push(v);
350
- break;
351
- }
352
- case PortType.SwdTargetPort: {
353
- devices.push(v);
354
- break;
355
- }
356
- case PortType.SwdPullPort: {
357
- pull.push(v);
358
- break;
359
- }
240
+ }
241
+ init_link() {
242
+ const hosts = [];
243
+ const devices = [];
244
+ const pull = [];
245
+ for (const v of this.ports) {
246
+ switch (v.type) {
247
+ case PortType.SwdHostPort: {
248
+ hosts.push(v);
249
+ break;
250
+ }
251
+ case PortType.SwdTargetPort: {
252
+ devices.push(v);
253
+ break;
254
+ }
255
+ case PortType.SwdPullPort: {
256
+ pull.push(v);
257
+ break;
360
258
  }
361
259
  }
362
260
  }
363
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
364
- finally {
365
- try {
366
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
367
- }
368
- finally { if (e_4) throw e_4.error; }
369
- }
370
261
  if (hosts.length !== 1) {
371
262
  return false;
372
263
  }
@@ -376,45 +267,43 @@ var SwdLinkTester = /** @class */ (function (_super) {
376
267
  this.link = {
377
268
  host: hosts[0],
378
269
  device: devices[0],
379
- pull: pull,
270
+ pull,
380
271
  };
381
272
  return true;
382
- };
383
- return SwdLinkTester;
384
- }(CompositePortLinkConverterBase));
385
- export { SwdLinkTester };
386
- var I2cLinkTester = /** @class */ (function (_super) {
387
- __extends(I2cLinkTester, _super);
388
- function I2cLinkTester() {
389
- return _super !== null && _super.apply(this, arguments) || this;
390
273
  }
391
- I2cLinkTester.prototype.get_signals = function () {
274
+ }
275
+ export class I2cLinkTester extends CompositePortLinkConverterBase {
276
+ get_signals() {
392
277
  if (!this.link)
393
278
  return [];
394
- var scl = __spreadArray(__spreadArray(__spreadArray([], __read(this.link.pull.map(function (device) { return ({
395
- parent: device,
396
- meta_port: device.scl,
397
- }); })), false), [
279
+ const scl = [
280
+ ...this.link.pull.map((device) => ({
281
+ parent: device,
282
+ meta_port: device.scl,
283
+ })),
398
284
  {
399
285
  parent: this.link.controller,
400
286
  meta_port: this.link.controller.scl,
401
- }
402
- ], false), __read(this.link.targets.map(function (device) { return ({
403
- parent: device,
404
- meta_port: device.scl,
405
- }); })), false);
406
- var sda = __spreadArray(__spreadArray(__spreadArray([], __read(this.link.pull.map(function (device) { return ({
407
- parent: device,
408
- meta_port: device.sda,
409
- }); })), false), [
287
+ },
288
+ ...this.link.targets.map((device) => ({
289
+ parent: device,
290
+ meta_port: device.scl,
291
+ })),
292
+ ];
293
+ const sda = [
294
+ ...this.link.pull.map((device) => ({
295
+ parent: device,
296
+ meta_port: device.sda,
297
+ })),
410
298
  {
411
299
  parent: this.link.controller,
412
300
  meta_port: this.link.controller.sda,
413
- }
414
- ], false), __read(this.link.targets.map(function (device) { return ({
415
- parent: device,
416
- meta_port: device.sda,
417
- }); })), false);
301
+ },
302
+ ...this.link.targets.map((device) => ({
303
+ parent: device,
304
+ meta_port: device.sda,
305
+ })),
306
+ ];
418
307
  return [
419
308
  {
420
309
  name: 'scl',
@@ -425,38 +314,27 @@ var I2cLinkTester = /** @class */ (function (_super) {
425
314
  ports: sda,
426
315
  },
427
316
  ];
428
- };
429
- I2cLinkTester.prototype.init_link = function () {
430
- var e_5, _a;
431
- var pull = [];
432
- var controllers = [];
433
- var targets = [];
434
- try {
435
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
436
- var v = _c.value;
437
- switch (v.type) {
438
- case PortType.I2cPullupPort: {
439
- pull.push(v);
440
- break;
441
- }
442
- case PortType.I2cController: {
443
- controllers.push(v);
444
- break;
445
- }
446
- case PortType.I2cTarget: {
447
- targets.push(v);
448
- break;
449
- }
317
+ }
318
+ init_link() {
319
+ const pull = [];
320
+ const controllers = [];
321
+ const targets = [];
322
+ for (const v of this.ports) {
323
+ switch (v.type) {
324
+ case PortType.I2cPullupPort: {
325
+ pull.push(v);
326
+ break;
327
+ }
328
+ case PortType.I2cController: {
329
+ controllers.push(v);
330
+ break;
331
+ }
332
+ case PortType.I2cTarget: {
333
+ targets.push(v);
334
+ break;
450
335
  }
451
336
  }
452
337
  }
453
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
454
- finally {
455
- try {
456
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
457
- }
458
- finally { if (e_5) throw e_5.error; }
459
- }
460
338
  if (controllers.length !== 1) {
461
339
  return false;
462
340
  }
@@ -464,25 +342,19 @@ var I2cLinkTester = /** @class */ (function (_super) {
464
342
  return false;
465
343
  }
466
344
  this.link = {
467
- pull: pull,
345
+ pull,
468
346
  controller: controllers[0],
469
- targets: targets,
347
+ targets,
470
348
  };
471
349
  return true;
472
- };
473
- return I2cLinkTester;
474
- }(CompositePortLinkConverterBase));
475
- export { I2cLinkTester };
476
- var I2sLinkTester = /** @class */ (function (_super) {
477
- __extends(I2sLinkTester, _super);
478
- function I2sLinkTester() {
479
- return _super !== null && _super.apply(this, arguments) || this;
480
350
  }
481
- I2sLinkTester.prototype.get_signals = function () {
351
+ }
352
+ export class I2sLinkTester extends CompositePortLinkConverterBase {
353
+ get_signals() {
482
354
  if (!this.link)
483
355
  return [];
484
- var controller = this.link.controller;
485
- var target_receiver = this.link.target_receiver;
356
+ const controller = this.link.controller;
357
+ const target_receiver = this.link.target_receiver;
486
358
  // const sck = [controller.sck, target_receiver.sck]
487
359
  // const ws = [controller.ws, target_receiver.ws]
488
360
  // const sd = [controller.sd, target_receiver.sd]
@@ -527,33 +399,22 @@ var I2sLinkTester = /** @class */ (function (_super) {
527
399
  ],
528
400
  },
529
401
  ];
530
- };
531
- I2sLinkTester.prototype.init_link = function () {
532
- var e_6, _a;
533
- var controllers = [];
534
- var target_receivers = [];
535
- try {
536
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
537
- var v = _c.value;
538
- switch (v.type) {
539
- case PortType.I2sController: {
540
- controllers.push(v);
541
- break;
542
- }
543
- case PortType.I2sTargetReceiver: {
544
- target_receivers.push(v);
545
- break;
546
- }
402
+ }
403
+ init_link() {
404
+ const controllers = [];
405
+ const target_receivers = [];
406
+ for (const v of this.ports) {
407
+ switch (v.type) {
408
+ case PortType.I2sController: {
409
+ controllers.push(v);
410
+ break;
411
+ }
412
+ case PortType.I2sTargetReceiver: {
413
+ target_receivers.push(v);
414
+ break;
547
415
  }
548
416
  }
549
417
  }
550
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
551
- finally {
552
- try {
553
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
554
- }
555
- finally { if (e_6) throw e_6.error; }
556
- }
557
418
  if (controllers.length !== 1) {
558
419
  return false;
559
420
  }
@@ -565,88 +426,74 @@ var I2sLinkTester = /** @class */ (function (_super) {
565
426
  target_receiver: target_receivers[0],
566
427
  };
567
428
  return true;
568
- };
569
- return I2sLinkTester;
570
- }(CompositePortLinkConverterBase));
571
- export { I2sLinkTester };
572
- var SpiLinkTester = /** @class */ (function (_super) {
573
- __extends(SpiLinkTester, _super);
574
- function SpiLinkTester() {
575
- return _super !== null && _super.apply(this, arguments) || this;
576
429
  }
577
- SpiLinkTester.prototype.get_signals = function () {
430
+ }
431
+ export class SpiLinkTester extends CompositePortLinkConverterBase {
432
+ get_signals() {
578
433
  if (!this.link)
579
434
  return [];
580
- var controller = this.link.controller;
581
- var peripherals = this.link.peripherals;
435
+ const controller = this.link.controller;
436
+ const peripherals = this.link.peripherals;
582
437
  // const sck = [controller.sck, ...peripherals.map((device) => device.sck)]
583
438
  // const miso = [controller.miso, ...peripherals.map((device) => device.miso)]
584
439
  // const mosi = [controller.mosi, ...peripherals.map((device) => device.mosi)]
585
440
  return [
586
441
  {
587
442
  name: 'sck',
588
- ports: __spreadArray([
443
+ ports: [
589
444
  {
590
445
  parent: controller,
591
446
  meta_port: controller.sck,
592
- }
593
- ], __read(peripherals.map(function (device) { return ({
594
- parent: device,
595
- meta_port: device.sck,
596
- }); })), false),
447
+ },
448
+ ...peripherals.map((device) => ({
449
+ parent: device,
450
+ meta_port: device.sck,
451
+ })),
452
+ ],
597
453
  },
598
454
  {
599
455
  name: 'miso',
600
- ports: __spreadArray([
456
+ ports: [
601
457
  {
602
458
  parent: controller,
603
459
  meta_port: controller.miso,
604
- }
605
- ], __read(peripherals.map(function (device) { return ({
606
- parent: device,
607
- meta_port: device.miso,
608
- }); })), false),
460
+ },
461
+ ...peripherals.map((device) => ({
462
+ parent: device,
463
+ meta_port: device.miso,
464
+ })),
465
+ ],
609
466
  },
610
467
  {
611
468
  name: 'mosi',
612
- ports: __spreadArray([
469
+ ports: [
613
470
  {
614
471
  parent: controller,
615
472
  meta_port: controller.mosi,
616
- }
617
- ], __read(peripherals.map(function (device) { return ({
618
- parent: device,
619
- meta_port: device.mosi,
620
- }); })), false),
473
+ },
474
+ ...peripherals.map((device) => ({
475
+ parent: device,
476
+ meta_port: device.mosi,
477
+ })),
478
+ ],
621
479
  },
622
480
  ];
623
- };
624
- SpiLinkTester.prototype.init_link = function () {
625
- var e_7, _a;
626
- var controllers = [];
627
- var peripherals = [];
628
- try {
629
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
630
- var v = _c.value;
631
- switch (v.type) {
632
- case PortType.SpiController: {
633
- controllers.push(v);
634
- break;
635
- }
636
- case PortType.SpiPeripheral: {
637
- peripherals.push(v);
638
- break;
639
- }
481
+ }
482
+ init_link() {
483
+ const controllers = [];
484
+ const peripherals = [];
485
+ for (const v of this.ports) {
486
+ switch (v.type) {
487
+ case PortType.SpiController: {
488
+ controllers.push(v);
489
+ break;
490
+ }
491
+ case PortType.SpiPeripheral: {
492
+ peripherals.push(v);
493
+ break;
640
494
  }
641
495
  }
642
496
  }
643
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
644
- finally {
645
- try {
646
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
647
- }
648
- finally { if (e_7) throw e_7.error; }
649
- }
650
497
  if (controllers.length !== 1) {
651
498
  return false;
652
499
  }
@@ -655,19 +502,13 @@ var SpiLinkTester = /** @class */ (function (_super) {
655
502
  }
656
503
  this.link = {
657
504
  controller: controllers[0],
658
- peripherals: peripherals,
505
+ peripherals,
659
506
  };
660
507
  return true;
661
- };
662
- return SpiLinkTester;
663
- }(CompositePortLinkConverterBase));
664
- export { SpiLinkTester };
665
- var SpeakerLinkTester = /** @class */ (function (_super) {
666
- __extends(SpeakerLinkTester, _super);
667
- function SpeakerLinkTester() {
668
- return _super !== null && _super.apply(this, arguments) || this;
669
508
  }
670
- SpeakerLinkTester.prototype.get_signals = function () {
509
+ }
510
+ export class SpeakerLinkTester extends CompositePortLinkConverterBase {
511
+ get_signals() {
671
512
  if (!this.link)
672
513
  return [];
673
514
  // const a = [this.link.source.a, this.link.sink.a]
@@ -700,33 +541,22 @@ var SpeakerLinkTester = /** @class */ (function (_super) {
700
541
  ],
701
542
  },
702
543
  ];
703
- };
704
- SpeakerLinkTester.prototype.init_link = function () {
705
- var e_8, _a;
706
- var sources = [];
707
- var sinks = [];
708
- try {
709
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
710
- var v = _c.value;
711
- switch (v.type) {
712
- case PortType.SpeakerDriverPort: {
713
- sources.push(v);
714
- break;
715
- }
716
- case PortType.SpeakerPort: {
717
- sinks.push(v);
718
- break;
719
- }
544
+ }
545
+ init_link() {
546
+ const sources = [];
547
+ const sinks = [];
548
+ for (const v of this.ports) {
549
+ switch (v.type) {
550
+ case PortType.SpeakerDriverPort: {
551
+ sources.push(v);
552
+ break;
553
+ }
554
+ case PortType.SpeakerPort: {
555
+ sinks.push(v);
556
+ break;
720
557
  }
721
558
  }
722
559
  }
723
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
724
- finally {
725
- try {
726
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
727
- }
728
- finally { if (e_8) throw e_8.error; }
729
- }
730
560
  if (sources.length !== 1) {
731
561
  return false;
732
562
  }
@@ -738,16 +568,10 @@ var SpeakerLinkTester = /** @class */ (function (_super) {
738
568
  sink: sinks[0],
739
569
  };
740
570
  return true;
741
- };
742
- return SpeakerLinkTester;
743
- }(CompositePortLinkConverterBase));
744
- export { SpeakerLinkTester };
745
- var UartLinkTester = /** @class */ (function (_super) {
746
- __extends(UartLinkTester, _super);
747
- function UartLinkTester() {
748
- return _super !== null && _super.apply(this, arguments) || this;
749
571
  }
750
- UartLinkTester.prototype.get_signals = function () {
572
+ }
573
+ export class UartLinkTester extends CompositePortLinkConverterBase {
574
+ get_signals() {
751
575
  if (!this.link)
752
576
  return [];
753
577
  // const tx = [this.link.a.tx, this.link.b.rx]
@@ -780,24 +604,13 @@ var UartLinkTester = /** @class */ (function (_super) {
780
604
  ],
781
605
  },
782
606
  ];
783
- };
784
- UartLinkTester.prototype.init_link = function () {
785
- var e_9, _a;
786
- var ports = [];
787
- try {
788
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
789
- var v = _c.value;
790
- if (v.type === PortType.UartPort) {
791
- ports.push(v);
792
- }
793
- }
794
- }
795
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
796
- finally {
797
- try {
798
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
607
+ }
608
+ init_link() {
609
+ const ports = [];
610
+ for (const v of this.ports) {
611
+ if (v.type === PortType.UartPort) {
612
+ ports.push(v);
799
613
  }
800
- finally { if (e_9) throw e_9.error; }
801
614
  }
802
615
  if (ports.length !== 2) {
803
616
  return false;
@@ -807,16 +620,10 @@ var UartLinkTester = /** @class */ (function (_super) {
807
620
  b: ports[1],
808
621
  };
809
622
  return true;
810
- };
811
- return UartLinkTester;
812
- }(CompositePortLinkConverterBase));
813
- export { UartLinkTester };
814
- var UsbLinkTester = /** @class */ (function (_super) {
815
- __extends(UsbLinkTester, _super);
816
- function UsbLinkTester() {
817
- return _super !== null && _super.apply(this, arguments) || this;
818
623
  }
819
- UsbLinkTester.prototype.get_signals = function () {
624
+ }
625
+ export class UsbLinkTester extends CompositePortLinkConverterBase {
626
+ get_signals() {
820
627
  if (!this.link)
821
628
  return [];
822
629
  // const dp = [this.link.host.dp, this.link.device.dp, ...this.link.passive!.map((port) => port.dp)]
@@ -824,7 +631,7 @@ var UsbLinkTester = /** @class */ (function (_super) {
824
631
  return [
825
632
  {
826
633
  name: 'dp',
827
- ports: __spreadArray([
634
+ ports: [
828
635
  {
829
636
  parent: this.link.host,
830
637
  meta_port: this.link.host.dp,
@@ -832,15 +639,16 @@ var UsbLinkTester = /** @class */ (function (_super) {
832
639
  {
833
640
  parent: this.link.device,
834
641
  meta_port: this.link.device.dp,
835
- }
836
- ], __read(this.link.passive.map(function (port) { return ({
837
- parent: port,
838
- meta_port: port.dp,
839
- }); })), false),
642
+ },
643
+ ...this.link.passive.map((port) => ({
644
+ parent: port,
645
+ meta_port: port.dp,
646
+ })),
647
+ ],
840
648
  },
841
649
  {
842
650
  name: 'dm',
843
- ports: __spreadArray([
651
+ ports: [
844
652
  {
845
653
  parent: this.link.host,
846
654
  meta_port: this.link.host.dm,
@@ -848,45 +656,35 @@ var UsbLinkTester = /** @class */ (function (_super) {
848
656
  {
849
657
  parent: this.link.device,
850
658
  meta_port: this.link.device.dm,
851
- }
852
- ], __read(this.link.passive.map(function (port) { return ({
853
- parent: port,
854
- meta_port: port.dm,
855
- }); })), false),
659
+ },
660
+ ...this.link.passive.map((port) => ({
661
+ parent: port,
662
+ meta_port: port.dm,
663
+ })),
664
+ ],
856
665
  },
857
666
  ];
858
- };
859
- UsbLinkTester.prototype.init_link = function () {
860
- var e_10, _a;
861
- var hosts = [];
862
- var devices = [];
863
- var passive = [];
864
- try {
865
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
866
- var v = _c.value;
867
- switch (v.type) {
868
- case PortType.UsbHostPort: {
869
- hosts.push(v);
870
- break;
871
- }
872
- case PortType.UsbDevicePort: {
873
- devices.push(v);
874
- break;
875
- }
876
- case PortType.UsbPassivePort: {
877
- passive.push(v);
878
- break;
879
- }
667
+ }
668
+ init_link() {
669
+ const hosts = [];
670
+ const devices = [];
671
+ const passive = [];
672
+ for (const v of this.ports) {
673
+ switch (v.type) {
674
+ case PortType.UsbHostPort: {
675
+ hosts.push(v);
676
+ break;
677
+ }
678
+ case PortType.UsbDevicePort: {
679
+ devices.push(v);
680
+ break;
681
+ }
682
+ case PortType.UsbPassivePort: {
683
+ passive.push(v);
684
+ break;
880
685
  }
881
686
  }
882
687
  }
883
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
884
- finally {
885
- try {
886
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
887
- }
888
- finally { if (e_10) throw e_10.error; }
889
- }
890
688
  if (hosts.length !== 1) {
891
689
  return false;
892
690
  }
@@ -896,19 +694,13 @@ var UsbLinkTester = /** @class */ (function (_super) {
896
694
  this.link = {
897
695
  host: hosts[0],
898
696
  device: devices[0],
899
- passive: passive,
697
+ passive,
900
698
  };
901
699
  return true;
902
- };
903
- return UsbLinkTester;
904
- }(CompositePortLinkConverterBase));
905
- export { UsbLinkTester };
906
- var UsbCcLinkTester = /** @class */ (function (_super) {
907
- __extends(UsbCcLinkTester, _super);
908
- function UsbCcLinkTester() {
909
- return _super !== null && _super.apply(this, arguments) || this;
910
700
  }
911
- UsbCcLinkTester.prototype.get_signals = function () {
701
+ }
702
+ export class UsbCcLinkTester extends CompositePortLinkConverterBase {
703
+ get_signals() {
912
704
  if (!this.link)
913
705
  return [];
914
706
  // const cc1 = [this.link.a.cc1, this.link.b.cc1]
@@ -941,24 +733,13 @@ var UsbCcLinkTester = /** @class */ (function (_super) {
941
733
  ],
942
734
  },
943
735
  ];
944
- };
945
- UsbCcLinkTester.prototype.init_link = function () {
946
- var e_11, _a;
947
- var nodes = [];
948
- try {
949
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
950
- var v = _c.value;
951
- if (v.type === PortType.UsbCcPort) {
952
- nodes.push(v);
953
- }
954
- }
955
- }
956
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
957
- finally {
958
- try {
959
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
736
+ }
737
+ init_link() {
738
+ const nodes = [];
739
+ for (const v of this.ports) {
740
+ if (v.type === PortType.UsbCcPort) {
741
+ nodes.push(v);
960
742
  }
961
- finally { if (e_11) throw e_11.error; }
962
743
  }
963
744
  if (nodes.length !== 2) {
964
745
  return false;
@@ -968,20 +749,14 @@ var UsbCcLinkTester = /** @class */ (function (_super) {
968
749
  b: nodes[1],
969
750
  };
970
751
  return true;
971
- };
972
- return UsbCcLinkTester;
973
- }(CompositePortLinkConverterBase));
974
- export { UsbCcLinkTester };
975
- var Dvp8LinkTester = /** @class */ (function (_super) {
976
- __extends(Dvp8LinkTester, _super);
977
- function Dvp8LinkTester() {
978
- return _super !== null && _super.apply(this, arguments) || this;
979
752
  }
980
- Dvp8LinkTester.prototype.get_signals = function () {
753
+ }
754
+ export class Dvp8LinkTester extends CompositePortLinkConverterBase {
755
+ get_signals() {
981
756
  if (!this.link)
982
757
  return [];
983
- var host = this.link.host;
984
- var cam = this.link.cam;
758
+ const host = this.link.host;
759
+ const cam = this.link.cam;
985
760
  // const digitalLinks = [
986
761
  // [host.xclk, cam.xclk],
987
762
  // [host.pclk, cam.pclk],
@@ -1146,33 +921,22 @@ var Dvp8LinkTester = /** @class */ (function (_super) {
1146
921
  ],
1147
922
  },
1148
923
  ];
1149
- };
1150
- Dvp8LinkTester.prototype.init_link = function () {
1151
- var e_12, _a;
1152
- var hosts = [];
1153
- var cams = [];
1154
- try {
1155
- for (var _b = __values(this.ports), _c = _b.next(); !_c.done; _c = _b.next()) {
1156
- var v = _c.value;
1157
- switch (v.type) {
1158
- case PortType.Dvp8Host: {
1159
- hosts.push(v);
1160
- break;
1161
- }
1162
- case PortType.Dvp8Camera: {
1163
- cams.push(v);
1164
- break;
1165
- }
924
+ }
925
+ init_link() {
926
+ const hosts = [];
927
+ const cams = [];
928
+ for (const v of this.ports) {
929
+ switch (v.type) {
930
+ case PortType.Dvp8Host: {
931
+ hosts.push(v);
932
+ break;
933
+ }
934
+ case PortType.Dvp8Camera: {
935
+ cams.push(v);
936
+ break;
1166
937
  }
1167
938
  }
1168
939
  }
1169
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
1170
- finally {
1171
- try {
1172
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1173
- }
1174
- finally { if (e_12) throw e_12.error; }
1175
- }
1176
940
  if (hosts.length !== 1) {
1177
941
  return false;
1178
942
  }
@@ -1184,7 +948,5 @@ var Dvp8LinkTester = /** @class */ (function (_super) {
1184
948
  cam: cams[0],
1185
949
  };
1186
950
  return true;
1187
- };
1188
- return Dvp8LinkTester;
1189
- }(CompositePortLinkConverterBase));
1190
- export { Dvp8LinkTester };
951
+ }
952
+ }