@modular-circuit/transpiler 0.0.68 → 0.0.70
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/build/converter/kicad_sexpr/eeschema/printer.d.ts +2 -1
- package/build/converter/kicad_sexpr/eeschema/printer.d.ts.map +1 -1
- package/build/converter/kicad_sexpr/eeschema/printer.js +10 -1
- package/build/converter/netlist_to_kicad/layout.d.ts +14 -2
- package/build/converter/netlist_to_kicad/layout.d.ts.map +1 -1
- package/build/converter/netlist_to_kicad/layout.js +23 -13
- package/build/converter/netlist_to_kicad/netlist_converter.d.ts +2 -0
- package/build/converter/netlist_to_kicad/netlist_converter.d.ts.map +1 -1
- package/build/converter/netlist_to_kicad/netlist_converter.js +69 -8
- package/build/kicad/wire/gen_wire.d.ts +4 -0
- package/build/kicad/wire/gen_wire.d.ts.map +1 -0
- package/build/kicad/wire/gen_wire.js +12 -0
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type At, type Color, type VECTOR2 } from '@modular-circuit/electronics-model';
|
|
2
|
-
import { type Drawing, type Effects, type Fill, type Justify, type LIB_SYMBOL, type PIN_DEFINITION, type PIN_DISPLAY_OPT, type PIN_INSTANCE, type SCHEMATIC, type SCH_FIELD, type SCH_LABEL, type SCH_SHEET, type SCH_SHEET_PIN, type SCH_SYMBOL, type Stroke } from '@modular-circuit/ir';
|
|
2
|
+
import { type Drawing, type Effects, type Fill, type Justify, type LIB_SYMBOL, type PIN_DEFINITION, type PIN_DISPLAY_OPT, type PIN_INSTANCE, type SCHEMATIC, type SCH_FIELD, type SCH_LABEL, type SCH_LINE, type SCH_SHEET, type SCH_SHEET_PIN, type SCH_SYMBOL, type Stroke } from '@modular-circuit/ir';
|
|
3
3
|
export declare class SCHEMATIC_PRINTER {
|
|
4
4
|
schematic(sch: SCHEMATIC): string;
|
|
5
5
|
power(power?: boolean): "" | "(power)";
|
|
@@ -17,6 +17,7 @@ export declare class SCHEMATIC_PRINTER {
|
|
|
17
17
|
label(label: SCH_LABEL): string;
|
|
18
18
|
unit(c?: number): string;
|
|
19
19
|
sch_symbol(sch_symbol: SCH_SYMBOL): string;
|
|
20
|
+
wire(w: SCH_LINE): string;
|
|
20
21
|
lib_id(id?: string | null): string | undefined;
|
|
21
22
|
sch_symbol_pin(pin: PIN_INSTANCE): string;
|
|
22
23
|
sch_sheet(sheet: SCH_SHEET): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printer.d.ts","sourceRoot":"","sources":["../../../../src/converter/kicad_sexpr/eeschema/printer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,EAA+B,KAAK,OAAO,EAAE,MAAM,oCAAoC,CAAA;AACnH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EAEf,KAAK,MAAM,EACZ,MAAM,qBAAqB,CAAA;AAU5B,qBAAa,iBAAiB;IAC5B,SAAS,CAAC,GAAG,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"printer.d.ts","sourceRoot":"","sources":["../../../../src/converter/kicad_sexpr/eeschema/printer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,EAA+B,KAAK,OAAO,EAAE,MAAM,oCAAoC,CAAA;AACnH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EAEf,KAAK,MAAM,EACZ,MAAM,qBAAqB,CAAA;AAU5B,qBAAa,iBAAiB;IAC5B,SAAS,CAAC,GAAG,EAAE,SAAS;IA2CxB,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO;IAKrB,eAAe,CAAC,GAAG,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,eAAe,CAAC;QAAC,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE;IAapF,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAc1C,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,MAAM;IAKzC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE;IAKrB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE;IAI1B,OAAO,CAAC,IAAI,EAAE,OAAO;IAgBrB,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE;IAKhC,OAAO,CAAC,GAAG,EAAE,cAAc;IAa3B,KAAK,CAAC,KAAK,EAAE,SAAS;IAUtB,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM;IAIf,UAAU,CAAC,UAAU,EAAE,UAAU;IAWjC,IAAI,CAAC,CAAC,EAAE,QAAQ;IAShB,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAKzB,cAAc,CAAC,GAAG,EAAE,YAAY;IAIhC,SAAS,CAAC,KAAK,EAAE,SAAS;IAa1B,aAAa,CAAC,SAAS,EAAE,aAAa;IAQtC,EAAE,CAAC,GAAG,EAAE,EAAE;IAIV,IAAI,CAAC,EAAE,EAAE,MAAM;IAGf,OAAO,CAAC,CAAC,EAAE,OAAO;IASlB,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO;IAKzB,QAAQ,CAAC,EAAE,EAAE,OAAO;IAUpB,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE;IAK3B,KAAK,CAAC,KAAK,EAAE,SAAS;IAQtB,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;IAKtB,IAAI,CAAC,CAAC,EAAE,OAAO;IAGf,iBAAiB;IAKjB,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM;IAUjB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK;CAIhB"}
|
|
@@ -94,6 +94,12 @@ var SCHEMATIC_PRINTER = function () {
|
|
|
94
94
|
return '';
|
|
95
95
|
return "".concat(SCOPE_START, "(lib_symbols ").concat((_c = sch.lib_symbols) === null || _c === void 0 ? void 0 : _c.symbols.map(function (it) { return _this.lib_symbol(it); }).join("".concat(SCOPE_END)), "\t)");
|
|
96
96
|
})();
|
|
97
|
+
var wires = (function () {
|
|
98
|
+
var _b;
|
|
99
|
+
if (!((_b = sch.wires) === null || _b === void 0 ? void 0 : _b.length))
|
|
100
|
+
return '';
|
|
101
|
+
return "".concat(SCOPE_START).concat(sch.wires.map(function (it) { return _this.wire(it); }).join("".concat(SCOPE_END)), "\t");
|
|
102
|
+
})();
|
|
97
103
|
var labels = (function () {
|
|
98
104
|
var _b;
|
|
99
105
|
if (!((_b = sch.labels) === null || _b === void 0 ? void 0 : _b.length))
|
|
@@ -112,7 +118,7 @@ var SCHEMATIC_PRINTER = function () {
|
|
|
112
118
|
return '';
|
|
113
119
|
return "".concat(SCOPE_START).concat(sch.symbols.map(function (it) { return _this.sch_symbol(it); }).join("".concat(SCOPE_END)), "\t");
|
|
114
120
|
})();
|
|
115
|
-
return "\n(kicad_sch\n (version ".concat(SCH_VERSION, ")\n (generator \"").concat(GENERATOR_NAME, "\")\n (generator_version \"").concat(GENERATOR_VERSION, "\")\n (uuid \"").concat(gen_uuid(), "\")\n (paper \"").concat(PAPER, "\")").concat(lib_symbols).concat(labels).concat(sch_symbols).concat(sch_sheets, "\n)\n ");
|
|
121
|
+
return "\n(kicad_sch\n (version ".concat(SCH_VERSION, ")\n (generator \"").concat(GENERATOR_NAME, "\")\n (generator_version \"").concat(GENERATOR_VERSION, "\")\n (uuid \"").concat(gen_uuid(), "\")\n (paper \"").concat(PAPER, "\")\n ").concat(lib_symbols, "\n ").concat(wires, "\n ").concat(labels, "\n ").concat(sch_symbols, "\n ").concat(sch_sheets, "\n)\n ");
|
|
116
122
|
};
|
|
117
123
|
SCHEMATIC_PRINTER.prototype.power = function (power) {
|
|
118
124
|
return power ? '(power)' : '';
|
|
@@ -172,6 +178,9 @@ var SCHEMATIC_PRINTER = function () {
|
|
|
172
178
|
var _this = this;
|
|
173
179
|
return "(symbol\n\t\t".concat(this.lib_id(sch_symbol.lib_id), "\n\t\t").concat(this.at(sch_symbol.at), "\n\t\t").concat(this.unit(sch_symbol.unit), "\n ").concat(this.booleans(sch_symbol), "\n\t\t").concat(this.fields(sch_symbol.properties), "\n ").concat(sch_symbol.pins.map(function (pin) { return _this.sch_symbol_pin(pin); }).join(SCOPE_START), "\n\t)");
|
|
174
180
|
};
|
|
181
|
+
SCHEMATIC_PRINTER.prototype.wire = function (w) {
|
|
182
|
+
return "(wire\n ".concat(this.pts([w.start, w.end]), "\n ").concat(this.stroke(w.stroke), "\n ").concat(this.uuid(w.uuid), "\n )");
|
|
183
|
+
};
|
|
175
184
|
SCHEMATIC_PRINTER.prototype.lib_id = function (id) {
|
|
176
185
|
if (!id)
|
|
177
186
|
return;
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import type { BOX2 } from '@modular-circuit/electronics-model';
|
|
2
|
+
export declare const GRID_SIZE: number;
|
|
3
|
+
export declare const FONT_SIZE: number;
|
|
2
4
|
export declare function get_power_pos(pwr_number: number): {
|
|
3
5
|
x: number;
|
|
4
6
|
y: number;
|
|
5
7
|
};
|
|
6
|
-
export declare const BLOCK_PIN_GAP
|
|
8
|
+
export declare const BLOCK_PIN_GAP: number;
|
|
9
|
+
export declare const WIRE_PADDING: number;
|
|
10
|
+
export interface BlockPadding {
|
|
11
|
+
l_side: number;
|
|
12
|
+
r_side: number;
|
|
13
|
+
}
|
|
14
|
+
export interface BlockBoxPadding {
|
|
15
|
+
internal: BlockPadding;
|
|
16
|
+
outer: BlockPadding;
|
|
17
|
+
total_pin_num: number;
|
|
18
|
+
}
|
|
7
19
|
export declare class Layout {
|
|
8
20
|
private width;
|
|
9
21
|
private height;
|
|
10
22
|
private max_height;
|
|
11
|
-
|
|
23
|
+
get_block_bounding_box(factor: BlockBoxPadding): BOX2;
|
|
12
24
|
}
|
|
13
25
|
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/converter/netlist_to_kicad/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/converter/netlist_to_kicad/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAI9D,eAAO,MAAM,SAAS,QAAiB,CAAA;AAEvC,eAAO,MAAM,SAAS,QAAY,CAAA;AAQlC,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM;;;EAE/C;AAKD,eAAO,MAAM,aAAa,QAAgB,CAAA;AAO1C,eAAO,MAAM,YAAY,QAAY,CAAA;AAErC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAA;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,UAAU,CAAI;IAEf,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;CAoC7D"}
|
|
@@ -1,38 +1,48 @@
|
|
|
1
1
|
import { PAPER_SIZE } from '../../utils/constraints';
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
2
|
+
var MIL_TO_MM = 0.0254;
|
|
3
|
+
export var GRID_SIZE = 50 * MIL_TO_MM;
|
|
4
|
+
export var FONT_SIZE = GRID_SIZE;
|
|
5
|
+
var POWER_START_Y = 30 * GRID_SIZE;
|
|
6
|
+
var POWER_START_X = (PAPER_SIZE.A4.height - 30) * GRID_SIZE;
|
|
7
|
+
var POWER_Y_STEP = 16 * GRID_SIZE;
|
|
5
8
|
export function get_power_pos(pwr_number) {
|
|
6
9
|
return { x: POWER_START_X, y: POWER_START_Y + POWER_Y_STEP * pwr_number };
|
|
7
10
|
}
|
|
8
|
-
var BLOCK_START_Y = 36;
|
|
11
|
+
var BLOCK_START_Y = 36 * GRID_SIZE;
|
|
9
12
|
var BLOCK_START_X = BLOCK_START_Y;
|
|
10
|
-
export var BLOCK_PIN_GAP = 4;
|
|
11
|
-
var BLOCK_MARGIN_TOP = 8;
|
|
12
|
-
var
|
|
13
|
-
var BLOCK_MARGIN_LEFT = 16;
|
|
13
|
+
export var BLOCK_PIN_GAP = 4 * GRID_SIZE;
|
|
14
|
+
var BLOCK_MARGIN_TOP = 8 * GRID_SIZE;
|
|
15
|
+
var MIN_BLOCK_WIDTH = 16 * GRID_SIZE;
|
|
16
|
+
var BLOCK_MARGIN_LEFT = 16 * GRID_SIZE;
|
|
14
17
|
var BLOCK_MARGIN_RIGHT = BLOCK_MARGIN_LEFT;
|
|
18
|
+
export var WIRE_PADDING = GRID_SIZE;
|
|
15
19
|
var Layout = /** @class */ (function () {
|
|
16
20
|
function Layout() {
|
|
17
21
|
this.width = BLOCK_START_X;
|
|
18
22
|
this.height = BLOCK_START_Y;
|
|
19
23
|
this.max_height = 0;
|
|
20
24
|
}
|
|
21
|
-
Layout.prototype.
|
|
22
|
-
var block_height = (BLOCK_PIN_GAP *
|
|
25
|
+
Layout.prototype.get_block_bounding_box = function (factor) {
|
|
26
|
+
var block_height = (BLOCK_PIN_GAP * factor.total_pin_num) / 2 + BLOCK_PIN_GAP * 2;
|
|
27
|
+
var block_width = Math.max(MIN_BLOCK_WIDTH, factor.internal.l_side +
|
|
28
|
+
factor.internal.r_side +
|
|
29
|
+
factor.outer.l_side +
|
|
30
|
+
factor.outer.r_side +
|
|
31
|
+
// | txt | | txt |
|
|
32
|
+
WIRE_PADDING * 4);
|
|
23
33
|
var rect = {
|
|
24
34
|
pos: {
|
|
25
35
|
x: this.width,
|
|
26
36
|
y: this.height,
|
|
27
37
|
},
|
|
28
38
|
size: {
|
|
29
|
-
x:
|
|
39
|
+
x: block_width,
|
|
30
40
|
y: block_height,
|
|
31
41
|
},
|
|
32
42
|
};
|
|
33
43
|
this.max_height = Math.max(this.max_height, block_height);
|
|
34
|
-
this.width +=
|
|
35
|
-
if (this.width + BLOCK_MARGIN_RIGHT +
|
|
44
|
+
this.width += block_width + BLOCK_MARGIN_LEFT;
|
|
45
|
+
if (this.width + BLOCK_MARGIN_RIGHT + block_width + BLOCK_MARGIN_LEFT > POWER_START_X) {
|
|
36
46
|
this.width = BLOCK_START_X;
|
|
37
47
|
this.height += this.max_height + BLOCK_MARGIN_TOP;
|
|
38
48
|
this.max_height = 0;
|
|
@@ -5,6 +5,7 @@ export declare class NetListConverter {
|
|
|
5
5
|
private block_calc;
|
|
6
6
|
private sheet_pwr_count;
|
|
7
7
|
private net_name;
|
|
8
|
+
private wires;
|
|
8
9
|
constructor(ctx: NetlistToKicadContext);
|
|
9
10
|
pin_is_connected(id: string): boolean;
|
|
10
11
|
get_pin_net_name(id: string): string;
|
|
@@ -19,6 +20,7 @@ export declare class NetListConverter {
|
|
|
19
20
|
private convert_sch;
|
|
20
21
|
private convert_hierarchical_label;
|
|
21
22
|
private convert_pwr_symbol;
|
|
23
|
+
private get_sheet_symbol_paddings;
|
|
22
24
|
private convert_sheet_symbol;
|
|
23
25
|
private convert_sheet_pin;
|
|
24
26
|
private convert_net_label;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"netlist_converter.d.ts","sourceRoot":"","sources":["../../../src/converter/netlist_to_kicad/netlist_converter.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"netlist_converter.d.ts","sourceRoot":"","sources":["../../../src/converter/netlist_to_kicad/netlist_converter.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,SAAS,EAGf,MAAM,qBAAqB,CAAA;AAM5B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAatD,qBAAa,gBAAgB;IASR,OAAO,CAAC,GAAG;IAR9B,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,eAAe,CAAI;IAE3B,OAAO,CAAC,QAAQ,CAA6B;IAE7C,OAAO,CAAC,KAAK,CAAiB;gBAEH,GAAG,EAAE,qBAAqB;IAQrD,gBAAgB,CAAC,EAAE,EAAE,MAAM;IAI3B,gBAAgB,CAAC,EAAE,EAAE,MAAM;IAIpB,gBAAgB;IAYvB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAqEnB,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,yBAAyB;IA8CjC,OAAO,CAAC,oBAAoB;IAgD5B,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,iBAAiB;CAQ1B"}
|
|
@@ -26,19 +26,21 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
26
26
|
return ar;
|
|
27
27
|
};
|
|
28
28
|
import { PowerShape } from '@modular-circuit/electronics-model';
|
|
29
|
-
import { MODULAR_CIRCUIT_SCH_EXT } from '@modular-circuit/ir';
|
|
29
|
+
import { MODULAR_CIRCUIT_SCH_EXT, } from '@modular-circuit/ir';
|
|
30
30
|
import { replaceAll } from '@modular-circuit/utils';
|
|
31
31
|
import { gen_hierarchical_label, gen_net_label, gen_sheet_pin } from '../../kicad/label';
|
|
32
32
|
import { gen_sch_sheet } from '../../kicad/sheet';
|
|
33
33
|
import { gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc } from '../../kicad/symbols';
|
|
34
34
|
import { GENERATOR_NAME, GENERATOR_VERSION, SCH_VERSION } from '../../utils/constraints';
|
|
35
|
-
import { BLOCK_PIN_GAP, Layout, get_power_pos } from './layout';
|
|
35
|
+
import { BLOCK_PIN_GAP, FONT_SIZE, Layout, WIRE_PADDING, get_power_pos, } from './layout';
|
|
36
|
+
import { gen_wire } from '../../kicad/wire/gen_wire';
|
|
36
37
|
var NetListConverter = /** @class */ (function () {
|
|
37
38
|
function NetListConverter(ctx) {
|
|
38
39
|
var e_1, _a, e_2, _b;
|
|
39
40
|
this.ctx = ctx;
|
|
40
41
|
this.sheet_pwr_count = 0;
|
|
41
42
|
this.net_name = {};
|
|
43
|
+
this.wires = [];
|
|
42
44
|
try {
|
|
43
45
|
for (var _c = __values(this.ctx.netlist.nets), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
44
46
|
var net = _d.value;
|
|
@@ -102,6 +104,7 @@ var NetListConverter = /** @class */ (function () {
|
|
|
102
104
|
var e_4, _a, e_5, _b, e_6, _c;
|
|
103
105
|
var _d, _e;
|
|
104
106
|
var powers = new Set();
|
|
107
|
+
this.wires = [];
|
|
105
108
|
var sch = {
|
|
106
109
|
version: SCH_VERSION,
|
|
107
110
|
generator: GENERATOR_NAME,
|
|
@@ -157,7 +160,8 @@ var NetListConverter = /** @class */ (function () {
|
|
|
157
160
|
return b.pins.length - a.pins.length;
|
|
158
161
|
})), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
159
162
|
var it_3 = _j.value;
|
|
160
|
-
|
|
163
|
+
var sheet_padding = this.get_sheet_symbol_paddings(it_3);
|
|
164
|
+
this.convert_sheet_symbol(it_3, this.block_calc.get_block_bounding_box(sheet_padding), sch, sheet_names_count, sheet_padding.outer);
|
|
161
165
|
}
|
|
162
166
|
}
|
|
163
167
|
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
@@ -181,11 +185,16 @@ var NetListConverter = /** @class */ (function () {
|
|
|
181
185
|
}
|
|
182
186
|
finally { if (e_6) throw e_6.error; }
|
|
183
187
|
}
|
|
188
|
+
sch.wires = this.wires;
|
|
184
189
|
return sch;
|
|
185
190
|
};
|
|
186
191
|
NetListConverter.prototype.convert_hierarchical_label = function (pin, sch) {
|
|
187
192
|
var _a;
|
|
188
|
-
var pin_pos = this.block_calc.
|
|
193
|
+
var pin_pos = this.block_calc.get_block_bounding_box({
|
|
194
|
+
internal: { l_side: 0, r_side: 0 },
|
|
195
|
+
outer: { l_side: 0, r_side: 0 },
|
|
196
|
+
total_pin_num: 1,
|
|
197
|
+
}).pos;
|
|
189
198
|
(_a = sch.labels) === null || _a === void 0 ? void 0 : _a.push(gen_hierarchical_label(pin.name, pin_pos, { horizontal: 'left', vertical: 'bottom' }, 0, pin.shape));
|
|
190
199
|
};
|
|
191
200
|
NetListConverter.prototype.convert_pwr_symbol = function (pwr, at, sch) {
|
|
@@ -197,7 +206,51 @@ var NetListConverter = /** @class */ (function () {
|
|
|
197
206
|
sch.symbols.push(sch_pwr_symbol);
|
|
198
207
|
this.convert_net_label(pwr.value, at, sch);
|
|
199
208
|
};
|
|
200
|
-
NetListConverter.prototype.
|
|
209
|
+
NetListConverter.prototype.get_sheet_symbol_paddings = function (sheet_sym) {
|
|
210
|
+
var factor = {
|
|
211
|
+
internal: {
|
|
212
|
+
l_side: 0,
|
|
213
|
+
r_side: 0,
|
|
214
|
+
},
|
|
215
|
+
outer: {
|
|
216
|
+
l_side: 0,
|
|
217
|
+
r_side: 0,
|
|
218
|
+
},
|
|
219
|
+
total_pin_num: sheet_sym.pins.length,
|
|
220
|
+
};
|
|
221
|
+
var port_count = sheet_sym.pins.length;
|
|
222
|
+
for (var i = 0; i < port_count; i++) {
|
|
223
|
+
var is_left = i < port_count / 2;
|
|
224
|
+
var cur_pin = sheet_sym.pins[i];
|
|
225
|
+
if (is_left) {
|
|
226
|
+
factor.internal.l_side = Math.max(factor.internal.l_side, cur_pin.name.length);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
factor.internal.r_side = Math.max(factor.internal.r_side, cur_pin.name.length);
|
|
230
|
+
}
|
|
231
|
+
if (this.pin_is_connected(cur_pin.uuid)) {
|
|
232
|
+
var net_name = this.get_pin_net_name(cur_pin.uuid);
|
|
233
|
+
if (is_left) {
|
|
234
|
+
factor.outer.l_side = Math.max(factor.outer.l_side, net_name.length);
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
factor.outer.r_side = Math.max(factor.outer.r_side, net_name.length);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return {
|
|
242
|
+
internal: {
|
|
243
|
+
l_side: factor.internal.l_side * FONT_SIZE,
|
|
244
|
+
r_side: factor.internal.r_side * FONT_SIZE,
|
|
245
|
+
},
|
|
246
|
+
outer: {
|
|
247
|
+
l_side: factor.outer.l_side * FONT_SIZE,
|
|
248
|
+
r_side: factor.outer.r_side * FONT_SIZE,
|
|
249
|
+
},
|
|
250
|
+
total_pin_num: sheet_sym.pins.length,
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
NetListConverter.prototype.convert_sheet_symbol = function (sheet_sym, rect, sch, sheet_names_count, outer_padding) {
|
|
201
254
|
var port_count = sheet_sym.pins.length;
|
|
202
255
|
var pins = [];
|
|
203
256
|
for (var i = 0; i < port_count; i++) {
|
|
@@ -206,7 +259,7 @@ var NetListConverter = /** @class */ (function () {
|
|
|
206
259
|
var y = rect.pos.y + BLOCK_PIN_GAP * ((i < port_count / 2 ? i : i - port_count / 2) + 1);
|
|
207
260
|
var justify = is_left ? 'left' : 'right';
|
|
208
261
|
var rotation = is_left ? 180 : 0;
|
|
209
|
-
pins.push(this.convert_sheet_pin(sheet_sym.pins[i], { x: x, y: y }, sch, justify, rotation));
|
|
262
|
+
pins.push(this.convert_sheet_pin(sheet_sym.pins[i], { x: x, y: y }, sch, justify, rotation, is_left, is_left ? outer_padding.l_side : outer_padding.r_side));
|
|
210
263
|
}
|
|
211
264
|
var sheet_name = sheet_sym.sheet_name;
|
|
212
265
|
if (sheet_names_count.has(sheet_name)) {
|
|
@@ -222,9 +275,17 @@ var NetListConverter = /** @class */ (function () {
|
|
|
222
275
|
Sheetname: sheet_name,
|
|
223
276
|
}));
|
|
224
277
|
};
|
|
225
|
-
NetListConverter.prototype.convert_sheet_pin = function (pin, pin_pos, sch, horizontal, rotation) {
|
|
278
|
+
NetListConverter.prototype.convert_sheet_pin = function (pin, pin_pos, sch, horizontal, rotation, is_left, padding) {
|
|
226
279
|
if (this.pin_is_connected(pin.uuid)) {
|
|
227
|
-
this.convert_net_label(this.get_pin_net_name(pin.uuid),
|
|
280
|
+
this.convert_net_label(this.get_pin_net_name(pin.uuid), {
|
|
281
|
+
x: pin_pos.x + (is_left ? -WIRE_PADDING : WIRE_PADDING),
|
|
282
|
+
y: pin_pos.y,
|
|
283
|
+
}, sch, horizontal === 'left' ? 'right' : 'left');
|
|
284
|
+
var wire_padding = padding + 2 * WIRE_PADDING;
|
|
285
|
+
this.wires.push(gen_wire(pin_pos, {
|
|
286
|
+
x: pin_pos.x + (is_left ? -wire_padding : wire_padding),
|
|
287
|
+
y: pin_pos.y,
|
|
288
|
+
}));
|
|
228
289
|
}
|
|
229
290
|
return gen_sheet_pin(pin.name, pin_pos, { horizontal: horizontal, vertical: 'bottom' }, rotation, pin.shape);
|
|
230
291
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gen_wire.d.ts","sourceRoot":"","sources":["../../../src/kicad/wire/gen_wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAA;AAEjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAGnD,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,EAAE,KAAK,OAAO,KAAG,QAStD,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GS_SCH_ITEM_TYPE } from '@modular-circuit/electronics-model/build/eeschema/gs_sch_item_type';
|
|
2
|
+
import { gen_uuid } from '@modular-circuit/utils';
|
|
3
|
+
export var gen_wire = function (start, end) { return ({
|
|
4
|
+
stroke: {
|
|
5
|
+
type: 'default',
|
|
6
|
+
width: 0,
|
|
7
|
+
},
|
|
8
|
+
start: start,
|
|
9
|
+
end: end,
|
|
10
|
+
uuid: gen_uuid(),
|
|
11
|
+
type: GS_SCH_ITEM_TYPE.LINE,
|
|
12
|
+
}); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/builder/index.ts","../src/builder/graph_to_kicad/do_convert_graph_to_kicad_project.ts","../src/builder/graph_to_kicad/index.ts","../src/converter/index.ts","../src/converter/graph_to_netlist/context.ts","../src/converter/graph_to_netlist/graph_converter.ts","../src/converter/graph_to_netlist/index.ts","../src/converter/kicad_sexpr/index.ts","../src/converter/kicad_sexpr/eeschema/index.ts","../src/converter/kicad_sexpr/eeschema/printer.ts","../src/converter/kicad_sexpr/eeschema/drawing_sheet/index.ts","../src/converter/kicad_sexpr/eeschema/drawing_sheet/sch_default_drawing_sheet.ts","../src/converter/kicad_sexpr/pcb/index.ts","../src/converter/link_to_netlist/context.ts","../src/converter/link_to_netlist/converter.ts","../src/converter/link_to_netlist/index.ts","../src/converter/link_to_netlist/links/converter_base.ts","../src/converter/link_to_netlist/links/converters.ts","../src/converter/link_to_netlist/links/index.ts","../src/converter/netlist_to_kicad/context.ts","../src/converter/netlist_to_kicad/index.ts","../src/converter/netlist_to_kicad/layout.ts","../src/converter/netlist_to_kicad/netlist_converter.ts","../src/kicad/index.ts","../src/kicad/constraints/index.ts","../src/kicad/label/index.ts","../src/kicad/label/net_label.ts","../src/kicad/label/sheet_pin.ts","../src/kicad/project/index.ts","../src/kicad/project/kicad_prl.ts","../src/kicad/project/kicad_pro.ts","../src/kicad/project/kicad_project_achieve.ts","../src/kicad/project/wildcards_and_files_ext.ts","../src/kicad/sheet/index.ts","../src/kicad/sheet/sheet.ts","../src/kicad/symbols/index.ts","../src/kicad/symbols/symbol_utils.ts","../src/kicad/symbols/lib_symbol/gnd.ts","../src/kicad/symbols/lib_symbol/index.ts","../src/kicad/symbols/lib_symbol/vcc.ts","../src/kicad/symbols/sch_symbol/gnd.ts","../src/kicad/symbols/sch_symbol/index.ts","../src/kicad/symbols/sch_symbol/vcc.ts","../src/utils/collect_sub_sheets.ts","../src/utils/constraints.ts","../src/utils/filter_null_undefined.ts","../src/utils/index.ts","../src/utils/string_formatter.ts"],"version":"5.8.3"}
|
|
1
|
+
{"root":["../src/index.ts","../src/builder/index.ts","../src/builder/graph_to_kicad/do_convert_graph_to_kicad_project.ts","../src/builder/graph_to_kicad/index.ts","../src/converter/index.ts","../src/converter/graph_to_netlist/context.ts","../src/converter/graph_to_netlist/graph_converter.ts","../src/converter/graph_to_netlist/index.ts","../src/converter/kicad_sexpr/index.ts","../src/converter/kicad_sexpr/eeschema/index.ts","../src/converter/kicad_sexpr/eeschema/printer.ts","../src/converter/kicad_sexpr/eeschema/drawing_sheet/index.ts","../src/converter/kicad_sexpr/eeschema/drawing_sheet/sch_default_drawing_sheet.ts","../src/converter/kicad_sexpr/pcb/index.ts","../src/converter/link_to_netlist/context.ts","../src/converter/link_to_netlist/converter.ts","../src/converter/link_to_netlist/index.ts","../src/converter/link_to_netlist/links/converter_base.ts","../src/converter/link_to_netlist/links/converters.ts","../src/converter/link_to_netlist/links/index.ts","../src/converter/netlist_to_kicad/context.ts","../src/converter/netlist_to_kicad/index.ts","../src/converter/netlist_to_kicad/layout.ts","../src/converter/netlist_to_kicad/netlist_converter.ts","../src/kicad/index.ts","../src/kicad/constraints/index.ts","../src/kicad/label/index.ts","../src/kicad/label/net_label.ts","../src/kicad/label/sheet_pin.ts","../src/kicad/project/index.ts","../src/kicad/project/kicad_prl.ts","../src/kicad/project/kicad_pro.ts","../src/kicad/project/kicad_project_achieve.ts","../src/kicad/project/wildcards_and_files_ext.ts","../src/kicad/sheet/index.ts","../src/kicad/sheet/sheet.ts","../src/kicad/symbols/index.ts","../src/kicad/symbols/symbol_utils.ts","../src/kicad/symbols/lib_symbol/gnd.ts","../src/kicad/symbols/lib_symbol/index.ts","../src/kicad/symbols/lib_symbol/vcc.ts","../src/kicad/symbols/sch_symbol/gnd.ts","../src/kicad/symbols/sch_symbol/index.ts","../src/kicad/symbols/sch_symbol/vcc.ts","../src/kicad/wire/gen_wire.ts","../src/utils/collect_sub_sheets.ts","../src/utils/constraints.ts","../src/utils/filter_null_undefined.ts","../src/utils/index.ts","../src/utils/string_formatter.ts"],"version":"5.8.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modular-circuit/transpiler",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.70",
|
|
4
4
|
"description": "Intermediate representation of the modular circuit",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"files": [
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"jszip": "^3.10.1",
|
|
29
29
|
"@modular-circuit/ir": "0.0.58",
|
|
30
30
|
"@modular-circuit/perc": "0.0.58",
|
|
31
|
-
"@modular-circuit/
|
|
32
|
-
"@modular-circuit/
|
|
31
|
+
"@modular-circuit/utils": "0.0.37",
|
|
32
|
+
"@modular-circuit/electronics-model": "0.0.50"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
35
|
"clean": "rimraf build",
|