@modular-circuit/perc 0.0.51

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 (136) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +40 -0
  3. package/build/erc/connect_graph_visitor/index.d.ts +2 -0
  4. package/build/erc/connect_graph_visitor/index.d.ts.map +1 -0
  5. package/build/erc/connect_graph_visitor/index.js +1 -0
  6. package/build/erc/connect_graph_visitor/visitor.d.ts +5 -0
  7. package/build/erc/connect_graph_visitor/visitor.d.ts.map +1 -0
  8. package/build/erc/connect_graph_visitor/visitor.js +0 -0
  9. package/build/erc/context/connection_graph_builder_ctx.d.ts +7 -0
  10. package/build/erc/context/connection_graph_builder_ctx.d.ts.map +1 -0
  11. package/build/erc/context/connection_graph_builder_ctx.js +0 -0
  12. package/build/erc/context/error_severity.d.ts +11 -0
  13. package/build/erc/context/error_severity.d.ts.map +1 -0
  14. package/build/erc/context/error_severity.js +13 -0
  15. package/build/erc/context/graph.d.ts +3 -0
  16. package/build/erc/context/graph.d.ts.map +1 -0
  17. package/build/erc/context/graph.js +0 -0
  18. package/build/erc/context/graph_converter.d.ts +8 -0
  19. package/build/erc/context/graph_converter.d.ts.map +1 -0
  20. package/build/erc/context/graph_converter.js +0 -0
  21. package/build/erc/context/index.d.ts +6 -0
  22. package/build/erc/context/index.d.ts.map +1 -0
  23. package/build/erc/context/index.js +5 -0
  24. package/build/erc/context/pin_to_pin_test_ctx.d.ts +7 -0
  25. package/build/erc/context/pin_to_pin_test_ctx.d.ts.map +1 -0
  26. package/build/erc/context/pin_to_pin_test_ctx.js +0 -0
  27. package/build/erc/index.d.ts +5 -0
  28. package/build/erc/index.d.ts.map +1 -0
  29. package/build/erc/index.js +4 -0
  30. package/build/erc/netlist/constraints.d.ts +5 -0
  31. package/build/erc/netlist/constraints.d.ts.map +1 -0
  32. package/build/erc/netlist/constraints.js +30 -0
  33. package/build/erc/netlist/index.d.ts +3 -0
  34. package/build/erc/netlist/index.d.ts.map +1 -0
  35. package/build/erc/netlist/index.js +2 -0
  36. package/build/erc/netlist/tester.d.ts +10 -0
  37. package/build/erc/netlist/tester.d.ts.map +1 -0
  38. package/build/erc/netlist/tester.js +67 -0
  39. package/build/erc/parameter_propagation/error_code.d.ts +41 -0
  40. package/build/erc/parameter_propagation/error_code.d.ts.map +1 -0
  41. package/build/erc/parameter_propagation/error_code.js +74 -0
  42. package/build/erc/parameter_propagation/index.d.ts +3 -0
  43. package/build/erc/parameter_propagation/index.d.ts.map +1 -0
  44. package/build/erc/parameter_propagation/index.js +2 -0
  45. package/build/erc/parameter_propagation/link_testers/index.d.ts +2 -0
  46. package/build/erc/parameter_propagation/link_testers/index.d.ts.map +1 -0
  47. package/build/erc/parameter_propagation/link_testers/index.js +1 -0
  48. package/build/erc/parameter_propagation/link_testers/link_tester_base.d.ts +23 -0
  49. package/build/erc/parameter_propagation/link_testers/link_tester_base.d.ts.map +1 -0
  50. package/build/erc/parameter_propagation/link_testers/link_tester_base.js +112 -0
  51. package/build/erc/parameter_propagation/link_testers/tester_impl.d.ts +247 -0
  52. package/build/erc/parameter_propagation/link_testers/tester_impl.d.ts.map +1 -0
  53. package/build/erc/parameter_propagation/link_testers/tester_impl.js +1456 -0
  54. package/build/erc/parameter_propagation/tester.d.ts +16 -0
  55. package/build/erc/parameter_propagation/tester.d.ts.map +1 -0
  56. package/build/erc/parameter_propagation/tester.js +215 -0
  57. package/build/erc/pin_compatibility_matrix/erc_setting.d.ts +29 -0
  58. package/build/erc/pin_compatibility_matrix/erc_setting.d.ts.map +1 -0
  59. package/build/erc/pin_compatibility_matrix/erc_setting.js +110 -0
  60. package/build/erc/pin_compatibility_matrix/error_code.d.ts +55 -0
  61. package/build/erc/pin_compatibility_matrix/error_code.d.ts.map +1 -0
  62. package/build/erc/pin_compatibility_matrix/error_code.js +56 -0
  63. package/build/erc/pin_compatibility_matrix/index.d.ts +5 -0
  64. package/build/erc/pin_compatibility_matrix/index.d.ts.map +1 -0
  65. package/build/erc/pin_compatibility_matrix/index.js +4 -0
  66. package/build/erc/pin_compatibility_matrix/pin_error.d.ts +7 -0
  67. package/build/erc/pin_compatibility_matrix/pin_error.d.ts.map +1 -0
  68. package/build/erc/pin_compatibility_matrix/pin_error.js +7 -0
  69. package/build/erc/pin_compatibility_matrix/tester.d.ts +9 -0
  70. package/build/erc/pin_compatibility_matrix/tester.d.ts.map +1 -0
  71. package/build/erc/pin_compatibility_matrix/tester.js +23 -0
  72. package/build/graphics/index.d.ts +3 -0
  73. package/build/graphics/index.d.ts.map +1 -0
  74. package/build/graphics/index.js +2 -0
  75. package/build/graphics/maker/index.d.ts +4 -0
  76. package/build/graphics/maker/index.d.ts.map +1 -0
  77. package/build/graphics/maker/index.js +3 -0
  78. package/build/graphics/maker/maker_base.d.ts +35 -0
  79. package/build/graphics/maker/maker_base.d.ts.map +1 -0
  80. package/build/graphics/maker/maker_base.js +0 -0
  81. package/build/graphics/maker/maker_type.d.ts +10 -0
  82. package/build/graphics/maker/maker_type.d.ts.map +1 -0
  83. package/build/graphics/maker/maker_type.js +10 -0
  84. package/build/graphics/maker/sch_maker.d.ts +5 -0
  85. package/build/graphics/maker/sch_maker.d.ts.map +1 -0
  86. package/build/graphics/maker/sch_maker.js +0 -0
  87. package/build/graphics/sch_erc_item.d.ts +28 -0
  88. package/build/graphics/sch_erc_item.d.ts.map +1 -0
  89. package/build/graphics/sch_erc_item.js +0 -0
  90. package/build/index.d.ts +6 -0
  91. package/build/index.d.ts.map +1 -0
  92. package/build/index.js +5 -0
  93. package/build/report/erc_report.d.ts +16 -0
  94. package/build/report/erc_report.d.ts.map +1 -0
  95. package/build/report/erc_report.js +16 -0
  96. package/build/report/erc_reporter.d.ts +88 -0
  97. package/build/report/erc_reporter.d.ts.map +1 -0
  98. package/build/report/erc_reporter.js +87 -0
  99. package/build/report/index.d.ts +3 -0
  100. package/build/report/index.d.ts.map +1 -0
  101. package/build/report/index.js +2 -0
  102. package/build/rule_check_item/erc_item.d.ts +4 -0
  103. package/build/rule_check_item/erc_item.d.ts.map +1 -0
  104. package/build/rule_check_item/erc_item.js +0 -0
  105. package/build/rule_check_item/index.d.ts +3 -0
  106. package/build/rule_check_item/index.d.ts.map +1 -0
  107. package/build/rule_check_item/index.js +2 -0
  108. package/build/rule_check_item/rc_item.d.ts +33 -0
  109. package/build/rule_check_item/rc_item.d.ts.map +1 -0
  110. package/build/rule_check_item/rc_item.js +0 -0
  111. package/build/tester/erc_tester.d.ts +18 -0
  112. package/build/tester/erc_tester.d.ts.map +1 -0
  113. package/build/tester/erc_tester.js +66 -0
  114. package/build/tester/graph/connection_graphs_builder.d.ts +22 -0
  115. package/build/tester/graph/connection_graphs_builder.d.ts.map +1 -0
  116. package/build/tester/graph/connection_graphs_builder.js +187 -0
  117. package/build/tester/graph/graph_erc.d.ts +16 -0
  118. package/build/tester/graph/graph_erc.d.ts.map +1 -0
  119. package/build/tester/graph/graph_erc.js +63 -0
  120. package/build/tester/graph/index.d.ts +4 -0
  121. package/build/tester/graph/index.d.ts.map +1 -0
  122. package/build/tester/graph/index.js +3 -0
  123. package/build/tester/graph/ir_graph_converter.d.ts +30 -0
  124. package/build/tester/graph/ir_graph_converter.d.ts.map +1 -0
  125. package/build/tester/graph/ir_graph_converter.js +279 -0
  126. package/build/tester/index.d.ts +3 -0
  127. package/build/tester/index.d.ts.map +1 -0
  128. package/build/tester/index.js +2 -0
  129. package/build/tsconfig.build.tsbuildinfo +1 -0
  130. package/build/utils/get_dependent_modules_definition.d.ts +4 -0
  131. package/build/utils/get_dependent_modules_definition.d.ts.map +1 -0
  132. package/build/utils/get_dependent_modules_definition.js +145 -0
  133. package/build/utils/index.d.ts +2 -0
  134. package/build/utils/index.d.ts.map +1 -0
  135. package/build/utils/index.js +1 -0
  136. package/package.json +39 -0
@@ -0,0 +1,16 @@
1
+ import { type ConnectionSubgraph } from '@modular-circuit/electronics-model';
2
+ import { type ERC_REPORT } from '../../report';
3
+ import type { CG_Visitor } from '../connect_graph_visitor';
4
+ export interface ParameterPropagationTestContext {
5
+ report: ERC_REPORT;
6
+ }
7
+ export declare class ParameterPropagationTester implements CG_Visitor {
8
+ private readonly ctx;
9
+ constructor(ctx: ParameterPropagationTestContext);
10
+ private link_map;
11
+ private port_id;
12
+ private has_passive_port;
13
+ private run_test;
14
+ visit_cc(cc: ConnectionSubgraph): void;
15
+ }
16
+ //# sourceMappingURL=tester.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tester.d.ts","sourceRoot":"","sources":["../../../src/erc/parameter_propagation/tester.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EAOxB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,cAAc,CAAA;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAsB1D,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,UAAU,CAAA;CACnB;AAED,qBAAa,0BAA2B,YAAW,UAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,+BAA+B;IAExE,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,QAAQ;IAahB,QAAQ,CAAC,EAAE,EAAE,kBAAkB;CAuIhC"}
@@ -0,0 +1,215 @@
1
+ var __values = (this && this.__values) || function(o) {
2
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
3
+ if (m) return m.call(o);
4
+ if (o && typeof o.length === "number") return {
5
+ next: function () {
6
+ if (o && i >= o.length) o = void 0;
7
+ return { value: o && o[i++], done: !o };
8
+ }
9
+ };
10
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
11
+ };
12
+ var __read = (this && this.__read) || function (o, n) {
13
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
14
+ if (!m) return o;
15
+ var i = m.call(o), r, ar = [], e;
16
+ try {
17
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
+ }
19
+ catch (error) { e = { error: error }; }
20
+ finally {
21
+ try {
22
+ if (r && !r.done && (m = i["return"])) m.call(i);
23
+ }
24
+ finally { if (e) throw e.error; }
25
+ }
26
+ return ar;
27
+ };
28
+ import { ConnectionNodeType, LinkType, PortType, gen_link_map, get_port_link_type, } from '@modular-circuit/electronics-model';
29
+ import { PP_INAPPROPRIATE_FUNC } from '../../report';
30
+ import { AnalogLinkTester, CanDiffLinkTester, CanLogicLinkTester, CrystalLinkTester, DigitalLinkTester, Dvp8LinkTester, GroundLinkTester, I2cLinkTester, I2sLinkTester, SpeakerLinkTester, SpiLinkTester, SwdLinkTester, TouchLinkTester, UartLinkTester, UsbCcLinkTester, UsbLinkTester, VoltageLinkTester, } from './link_testers';
31
+ var ParameterPropagationTester = /** @class */ (function () {
32
+ function ParameterPropagationTester(ctx) {
33
+ this.ctx = ctx;
34
+ this.has_passive_port = false;
35
+ }
36
+ ParameterPropagationTester.prototype.run_test = function (CtorClass, ports) {
37
+ return new CtorClass({
38
+ report: this.ctx.report,
39
+ port_id: this.port_id,
40
+ has_passive_port: this.has_passive_port,
41
+ }, ports).test();
42
+ };
43
+ ParameterPropagationTester.prototype.visit_cc = function (cc) {
44
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
45
+ if (cc.nodes.length < 2) {
46
+ return;
47
+ }
48
+ this.link_map = gen_link_map();
49
+ var ports = [];
50
+ try {
51
+ for (var _e = __values(cc.nodes), _f = _e.next(); !_f.done; _f = _e.next()) {
52
+ var p = _f.value;
53
+ switch (p.type) {
54
+ case ConnectionNodeType.Port: {
55
+ ports.push(p);
56
+ break;
57
+ }
58
+ case ConnectionNodeType.Power: {
59
+ ports.push({
60
+ type: ConnectionNodeType.Port,
61
+ param: p.param,
62
+ label_shapes: {},
63
+ uuid: p.uuid,
64
+ });
65
+ break;
66
+ }
67
+ case ConnectionNodeType.NetLabel: {
68
+ break;
69
+ }
70
+ case ConnectionNodeType.Graphics: {
71
+ break;
72
+ }
73
+ }
74
+ }
75
+ }
76
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
77
+ finally {
78
+ try {
79
+ if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
80
+ }
81
+ finally { if (e_1) throw e_1.error; }
82
+ }
83
+ this.port_id = new Map();
84
+ try {
85
+ for (var ports_1 = __values(ports), ports_1_1 = ports_1.next(); !ports_1_1.done; ports_1_1 = ports_1.next()) {
86
+ var p = ports_1_1.value;
87
+ this.port_id.set(p.param, p.uuid);
88
+ }
89
+ }
90
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
91
+ finally {
92
+ try {
93
+ if (ports_1_1 && !ports_1_1.done && (_b = ports_1.return)) _b.call(ports_1);
94
+ }
95
+ finally { if (e_2) throw e_2.error; }
96
+ }
97
+ try {
98
+ for (var ports_2 = __values(ports), ports_2_1 = ports_2.next(); !ports_2_1.done; ports_2_1 = ports_2.next()) {
99
+ var v = ports_2_1.value;
100
+ var port = v.param;
101
+ if (port.type === PortType.Passive)
102
+ this.has_passive_port = true;
103
+ var arr = this.link_map[get_port_link_type(port)];
104
+ arr.push(port);
105
+ }
106
+ }
107
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
108
+ finally {
109
+ try {
110
+ if (ports_2_1 && !ports_2_1.done && (_c = ports_2.return)) _c.call(ports_2);
111
+ }
112
+ finally { if (e_3) throw e_3.error; }
113
+ }
114
+ var link_t = 0;
115
+ try {
116
+ for (var _g = __values(Object.entries(this.link_map)), _h = _g.next(); !_h.done; _h = _g.next()) {
117
+ var _j = __read(_h.value, 2), k = _j[0], v = _j[1];
118
+ if (!v || !v.length)
119
+ continue;
120
+ switch (k) {
121
+ case LinkType.AnalogLink: {
122
+ this.run_test(AnalogLinkTester, v);
123
+ break;
124
+ }
125
+ case LinkType.DigitalLink: {
126
+ this.run_test(DigitalLinkTester, v);
127
+ break;
128
+ }
129
+ case LinkType.VoltageLink: {
130
+ this.run_test(VoltageLinkTester, v);
131
+ break;
132
+ }
133
+ case LinkType.GroundLink: {
134
+ this.run_test(GroundLinkTester, v);
135
+ break;
136
+ }
137
+ case LinkType.CanLogicLink: {
138
+ this.run_test(CanLogicLinkTester, v);
139
+ break;
140
+ }
141
+ case LinkType.CanDiffLink: {
142
+ this.run_test(CanDiffLinkTester, v);
143
+ break;
144
+ }
145
+ case LinkType.PassiveLink: {
146
+ // Add the appropriate PassiveLinkTester and handle this case if needed
147
+ break;
148
+ }
149
+ case LinkType.CrystalLink: {
150
+ this.run_test(CrystalLinkTester, v);
151
+ break;
152
+ }
153
+ case LinkType.SwdLink: {
154
+ this.run_test(SwdLinkTester, v);
155
+ break;
156
+ }
157
+ case LinkType.I2cLink: {
158
+ this.run_test(I2cLinkTester, v);
159
+ break;
160
+ }
161
+ case LinkType.I2sLink: {
162
+ this.run_test(I2sLinkTester, v);
163
+ break;
164
+ }
165
+ case LinkType.SpiLink: {
166
+ this.run_test(SpiLinkTester, v);
167
+ break;
168
+ }
169
+ case LinkType.SpeakerLink: {
170
+ this.run_test(SpeakerLinkTester, v);
171
+ break;
172
+ }
173
+ case LinkType.TouchLink: {
174
+ this.run_test(TouchLinkTester, v);
175
+ break;
176
+ }
177
+ case LinkType.UartLink: {
178
+ this.run_test(UartLinkTester, v);
179
+ break;
180
+ }
181
+ case LinkType.UsbLink: {
182
+ this.run_test(UsbLinkTester, v);
183
+ break;
184
+ }
185
+ case LinkType.UsbCcLink: {
186
+ this.run_test(UsbCcLinkTester, v);
187
+ break;
188
+ }
189
+ case LinkType.Dvp8Link: {
190
+ this.run_test(Dvp8LinkTester, v);
191
+ break;
192
+ }
193
+ default: {
194
+ throw new Error("Unhandled link type: ".concat(k));
195
+ }
196
+ }
197
+ if (v.length > 1)
198
+ link_t += 1;
199
+ }
200
+ }
201
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
202
+ finally {
203
+ try {
204
+ if (_h && !_h.done && (_d = _g.return)) _d.call(_g);
205
+ }
206
+ finally { if (e_4) throw e_4.error; }
207
+ }
208
+ // Expecting single link type or 2 link types including passive link
209
+ if (link_t > 2 || (link_t === 2 && !this.has_passive_port)) {
210
+ this.ctx.report.erc_errors.push(PP_INAPPROPRIATE_FUNC(cc.nodes.map(function (i) { return i.uuid; })));
211
+ }
212
+ };
213
+ return ParameterPropagationTester;
214
+ }());
215
+ export { ParameterPropagationTester };
@@ -0,0 +1,29 @@
1
+ import type { ELECTRICAL_PINTYPE } from '@modular-circuit/electronics-model';
2
+ import { SEVERITY } from '../context/error_severity';
3
+ import { ERCE_T } from './error_code';
4
+ import { PIN_ERROR } from './pin_error';
5
+ export declare class ERC_SETTING {
6
+ private pin_map;
7
+ private rule_severities;
8
+ constructor({ pin_map, rule_severities, }: {
9
+ pin_map: PIN_ERROR[][];
10
+ rule_severities: Record<ERCE_T, SEVERITY>;
11
+ });
12
+ IsTestEnabled(code: ERCE_T): boolean;
13
+ GetPinMapValue(aFirstType: ELECTRICAL_PINTYPE, aSecondType: ELECTRICAL_PINTYPE): PIN_ERROR;
14
+ SetPinMapValue(aFirstType: ELECTRICAL_PINTYPE, aSecondType: ELECTRICAL_PINTYPE, aValue: PIN_ERROR): void;
15
+ GetSeverity(code: ERCE_T): SEVERITY;
16
+ SetSeverity(code: ERCE_T, severity: SEVERITY): void;
17
+ toJSON(): {
18
+ pin_map: PIN_ERROR[][];
19
+ rule_severities: Record<ERCE_T, SEVERITY>;
20
+ erc_exclusions: never[];
21
+ meta: {
22
+ version: number;
23
+ };
24
+ };
25
+ }
26
+ export declare const DEFAULT_PIN_MAP: PIN_ERROR[][];
27
+ export declare const DEFAULT_SEVERITY: Record<ERCE_T, SEVERITY>;
28
+ export declare const DEFAULT_ERC_SETTING: ERC_SETTING;
29
+ //# sourceMappingURL=erc_setting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc_setting.d.ts","sourceRoot":"","sources":["../../../src/erc/pin_compatibility_matrix/erc_setting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,eAAe,CAA0B;gBAE9B,EACjB,OAAO,EACP,eAAe,GAChB,EAAE;QACD,OAAO,EAAE,SAAS,EAAE,EAAE,CAAA;QACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;KAC1C;IAKM,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,cAAc,CAAC,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,kBAAkB;IAI9E,cAAc,CAAC,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS;IAIjG,WAAW,CAAC,IAAI,EAAE,MAAM;IAIxB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAI5C,MAAM;;;;;;;;CAUd;AAMD,eAAO,MAAM,eAAe,eAc3B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAiDrD,CAAA;AAED,eAAO,MAAM,mBAAmB,aAG9B,CAAA"}
@@ -0,0 +1,110 @@
1
+ var _a;
2
+ import { SEVERITY } from '../context/error_severity';
3
+ import { ERCE_T } from './error_code';
4
+ import { PIN_ERROR } from './pin_error';
5
+ var ERC_SETTING = /** @class */ (function () {
6
+ function ERC_SETTING(_a) {
7
+ var pin_map = _a.pin_map, rule_severities = _a.rule_severities;
8
+ this.pin_map = pin_map;
9
+ this.rule_severities = rule_severities;
10
+ }
11
+ ERC_SETTING.prototype.IsTestEnabled = function (code) {
12
+ return this.rule_severities[code] !== SEVERITY.RPT_SEVERITY_IGNORE;
13
+ };
14
+ ERC_SETTING.prototype.GetPinMapValue = function (aFirstType, aSecondType) {
15
+ return this.pin_map[aFirstType][aSecondType];
16
+ };
17
+ ERC_SETTING.prototype.SetPinMapValue = function (aFirstType, aSecondType, aValue) {
18
+ this.pin_map[aFirstType][aSecondType] = aValue;
19
+ };
20
+ ERC_SETTING.prototype.GetSeverity = function (code) {
21
+ return this.rule_severities[code];
22
+ };
23
+ ERC_SETTING.prototype.SetSeverity = function (code, severity) {
24
+ this.rule_severities[code] = severity;
25
+ };
26
+ ERC_SETTING.prototype.toJSON = function () {
27
+ return {
28
+ pin_map: this.pin_map,
29
+ rule_severities: this.rule_severities,
30
+ erc_exclusions: [],
31
+ meta: {
32
+ version: 0,
33
+ },
34
+ };
35
+ };
36
+ return ERC_SETTING;
37
+ }());
38
+ export { ERC_SETTING };
39
+ var OK = PIN_ERROR.OK;
40
+ var WAR = PIN_ERROR.WARNING;
41
+ var ERR = PIN_ERROR.PP_ERROR;
42
+ export var DEFAULT_PIN_MAP = [
43
+ /* I, O, Bi, 3S, Pas, NIC, UnS, PwrI, PwrO, OC, OE, NC */
44
+ /* I */ [OK, OK, OK, OK, OK, OK, WAR, OK, OK, OK, OK, ERR],
45
+ /* O */ [OK, ERR, OK, WAR, OK, OK, WAR, OK, ERR, ERR, ERR, ERR],
46
+ /* Bi */ [OK, OK, OK, OK, OK, OK, WAR, OK, WAR, OK, WAR, ERR],
47
+ /* 3S */ [OK, WAR, OK, OK, OK, OK, WAR, WAR, ERR, WAR, WAR, ERR],
48
+ /*Pas */ [OK, OK, OK, OK, OK, OK, WAR, OK, OK, OK, OK, ERR],
49
+ /*NIC */ [OK, OK, OK, OK, OK, OK, OK, OK, OK, OK, OK, ERR],
50
+ /*UnS */ [WAR, WAR, WAR, WAR, WAR, OK, WAR, WAR, WAR, WAR, WAR, ERR],
51
+ /*PwrI*/ [OK, OK, OK, WAR, OK, OK, WAR, OK, OK, OK, OK, ERR],
52
+ /*PwrO*/ [OK, ERR, WAR, ERR, OK, OK, WAR, OK, ERR, ERR, ERR, ERR],
53
+ /* OC */ [OK, ERR, OK, WAR, OK, OK, WAR, OK, ERR, OK, OK, ERR],
54
+ /* OE */ [OK, ERR, WAR, WAR, OK, OK, WAR, OK, ERR, OK, OK, ERR],
55
+ /* NC */ [ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR],
56
+ ];
57
+ export var DEFAULT_SEVERITY = (_a = {},
58
+ _a[ERCE_T.ERCE_ENDPOINT_OFF_GRID] = SEVERITY.RPT_SEVERITY_WARNING,
59
+ _a[ERCE_T.ERCE_PIN_TO_PIN_WARNING] = SEVERITY.RPT_SEVERITY_WARNING,
60
+ _a[ERCE_T.ERCE_SIMILAR_LABELS] = SEVERITY.RPT_SEVERITY_WARNING,
61
+ _a[ERCE_T.ERCE_SIMILAR_POWER] = SEVERITY.RPT_SEVERITY_WARNING,
62
+ _a[ERCE_T.ERCE_SIMILAR_LABEL_AND_POWER] = SEVERITY.RPT_SEVERITY_WARNING,
63
+ _a[ERCE_T.ERCE_SINGLE_GLOBAL_LABEL] = SEVERITY.RPT_SEVERITY_IGNORE,
64
+ _a[ERCE_T.ERCE_SAME_LOCAL_GLOBAL_LABEL] = SEVERITY.RPT_SEVERITY_WARNING,
65
+ _a[ERCE_T.ERCE_GLOBLABEL] = SEVERITY.RPT_SEVERITY_WARNING,
66
+ _a[ERCE_T.ERCE_DRIVER_CONFLICT] = SEVERITY.RPT_SEVERITY_WARNING,
67
+ _a[ERCE_T.ERCE_BUS_ENTRY_CONFLICT] = SEVERITY.RPT_SEVERITY_WARNING,
68
+ _a[ERCE_T.ERCE_LIB_SYMBOL_ISSUES] = SEVERITY.RPT_SEVERITY_WARNING,
69
+ _a[ERCE_T.ERCE_LIB_SYMBOL_MISMATCH] = SEVERITY.RPT_SEVERITY_WARNING,
70
+ _a[ERCE_T.ERCE_FOOTPRINT_LINK_ISSUES] = SEVERITY.RPT_SEVERITY_WARNING,
71
+ _a[ERCE_T.ERCE_FOOTPRINT_FILTERS] = SEVERITY.RPT_SEVERITY_IGNORE,
72
+ _a[ERCE_T.ERCE_NOCONNECT_CONNECTED] = SEVERITY.RPT_SEVERITY_WARNING,
73
+ _a[ERCE_T.ERCE_NOCONNECT_NOT_CONNECTED] = SEVERITY.RPT_SEVERITY_WARNING,
74
+ _a[ERCE_T.ERCE_MISSING_UNIT] = SEVERITY.RPT_SEVERITY_WARNING,
75
+ _a[ERCE_T.ERCE_MISSING_INPUT_PIN] = SEVERITY.RPT_SEVERITY_WARNING,
76
+ _a[ERCE_T.ERCE_MISSING_BIDI_PIN] = SEVERITY.RPT_SEVERITY_WARNING,
77
+ _a[ERCE_T.ERCE_SIMULATION_MODEL] = SEVERITY.RPT_SEVERITY_IGNORE,
78
+ _a[ERCE_T.ERCE_FOUR_WAY_JUNCTION] = SEVERITY.RPT_SEVERITY_IGNORE,
79
+ _a[ERCE_T.ERCE_LABEL_MULTIPLE_WIRES] = SEVERITY.RPT_SEVERITY_WARNING,
80
+ _a[ERCE_T.ERCE_UNCONNECTED_WIRE_ENDPOINT] = SEVERITY.RPT_SEVERITY_WARNING,
81
+ _a[ERCE_T.ERCE_PIN_NOT_CONNECTED] = SEVERITY.RPT_SEVERITY_ERROR,
82
+ _a[ERCE_T.ERCE_PIN_NOT_DRIVEN] = SEVERITY.RPT_SEVERITY_ERROR,
83
+ _a[ERCE_T.ERCE_POWERPIN_NOT_DRIVEN] = SEVERITY.RPT_SEVERITY_ERROR,
84
+ _a[ERCE_T.ERCE_HIERACHICAL_LABEL] = SEVERITY.RPT_SEVERITY_ERROR,
85
+ _a[ERCE_T.ERCE_LABEL_NOT_CONNECTED] = SEVERITY.RPT_SEVERITY_ERROR,
86
+ _a[ERCE_T.ERCE_DIFFERENT_UNIT_FP] = SEVERITY.RPT_SEVERITY_ERROR,
87
+ _a[ERCE_T.ERCE_MISSING_POWER_INPUT_PIN] = SEVERITY.RPT_SEVERITY_ERROR,
88
+ _a[ERCE_T.ERCE_DIFFERENT_UNIT_NET] = SEVERITY.RPT_SEVERITY_ERROR,
89
+ _a[ERCE_T.ERCE_BUS_ALIAS_CONFLICT] = SEVERITY.RPT_SEVERITY_ERROR,
90
+ _a[ERCE_T.ERCE_BUS_TO_BUS_CONFLICT] = SEVERITY.RPT_SEVERITY_ERROR,
91
+ _a[ERCE_T.ERCE_BUS_TO_NET_CONFLICT] = SEVERITY.RPT_SEVERITY_ERROR,
92
+ _a[ERCE_T.ERCE_UNRESOLVED_VARIABLE] = SEVERITY.RPT_SEVERITY_ERROR,
93
+ _a[ERCE_T.ERCE_UNDEFINED_NETCLASS] = SEVERITY.RPT_SEVERITY_ERROR,
94
+ _a[ERCE_T.ERCE_WIRE_DANGLING] = SEVERITY.RPT_SEVERITY_ERROR,
95
+ _a[ERCE_T.ERCE_UNANNOTATED] = SEVERITY.RPT_SEVERITY_ERROR,
96
+ _a[ERCE_T.ERCE_EXTRA_UNITS] = SEVERITY.RPT_SEVERITY_ERROR,
97
+ _a[ERCE_T.ERCE_DIFFERENT_UNIT_VALUE] = SEVERITY.RPT_SEVERITY_ERROR,
98
+ _a[ERCE_T.ERCE_DUPLICATE_REFERENCE] = SEVERITY.RPT_SEVERITY_ERROR,
99
+ _a[ERCE_T.ERCE_BUS_ENTRY_NEEDED] = SEVERITY.RPT_SEVERITY_ERROR,
100
+ _a[ERCE_T.ERCE_DUPLICATE_PIN_ERROR] = SEVERITY.RPT_SEVERITY_ERROR,
101
+ _a[ERCE_T.ERCE_PIN_TO_PIN_ERROR] = SEVERITY.RPT_SEVERITY_ERROR,
102
+ _a[ERCE_T.ERCE_ANNOTATION_ACTION] = SEVERITY.RPT_SEVERITY_ERROR,
103
+ _a[ERCE_T.ERCE_GENERIC_WARNING] = SEVERITY.RPT_SEVERITY_ERROR,
104
+ _a[ERCE_T.ERCE_GENERIC_ERROR] = SEVERITY.RPT_SEVERITY_ERROR,
105
+ _a[ERCE_T.ERCE_DUPLICATE_SHEET_NAME] = SEVERITY.RPT_SEVERITY_ERROR,
106
+ _a);
107
+ export var DEFAULT_ERC_SETTING = new ERC_SETTING({
108
+ pin_map: DEFAULT_PIN_MAP,
109
+ rule_severities: DEFAULT_SEVERITY,
110
+ });
@@ -0,0 +1,55 @@
1
+ /**Token from KiCAD
2
+ * https://gitlab.com/kicad/code/kicad/-/blob/master/eeschema/erc/erc_settings.h
3
+ */
4
+ export declare enum ERCE_T {
5
+ ERCE_DUPLICATE_SHEET_NAME = "duplicate_sheet_names",
6
+ ERCE_ENDPOINT_OFF_GRID = "endpoint_off_grid",
7
+ ERCE_PIN_NOT_CONNECTED = "pin_not_connected",
8
+ ERCE_PIN_NOT_DRIVEN = "pin_not_driven",
9
+ ERCE_POWERPIN_NOT_DRIVEN = "power_pin_not_driven",
10
+ ERCE_HIERACHICAL_LABEL = "hier_label_mismatch",
11
+ ERCE_NOCONNECT_CONNECTED = "no_connect_connected",
12
+ ERCE_NOCONNECT_NOT_CONNECTED = "no_connect_dangling",
13
+ ERCE_LABEL_NOT_CONNECTED = "label_dangling",
14
+ ERCE_SIMILAR_LABELS = "similar_labels",
15
+ ERCE_SIMILAR_POWER = "similar_power",
16
+ ERCE_SIMILAR_LABEL_AND_POWER = "similar_label_and_power",
17
+ ERCE_SINGLE_GLOBAL_LABEL = "single_global_label",
18
+ ERCE_SAME_LOCAL_GLOBAL_LABEL = "same_local_global_label",
19
+ ERCE_DIFFERENT_UNIT_FP = "different_unit_footprint",
20
+ ERCE_MISSING_POWER_INPUT_PIN = "missing_power_input_pin",
21
+ ERCE_MISSING_INPUT_PIN = "missing_input_pin",
22
+ ERCE_MISSING_BIDI_PIN = "missing_bidi_pin",
23
+ ERCE_MISSING_UNIT = "missing_unit",
24
+ ERCE_DIFFERENT_UNIT_NET = "different_unit_net",
25
+ ERCE_BUS_ALIAS_CONFLICT = "bus_definition_conflict",
26
+ ERCE_DRIVER_CONFLICT = "multiple_net_names",
27
+ ERCE_BUS_ENTRY_CONFLICT = "net_not_bus_member",
28
+ ERCE_BUS_TO_BUS_CONFLICT = "bus_to_bus_conflict",
29
+ ERCE_BUS_TO_NET_CONFLICT = "bus_to_net_conflict",
30
+ ERCE_GLOBLABEL = "global_label_dangling",
31
+ ERCE_UNRESOLVED_VARIABLE = "unresolved_variable",
32
+ ERCE_UNDEFINED_NETCLASS = "undefined_netclass",
33
+ ERCE_SIMULATION_MODEL = "simulation_model_issue",
34
+ ERCE_WIRE_DANGLING = "wire_dangling",
35
+ ERCE_LIB_SYMBOL_ISSUES = "lib_symbol_issues",
36
+ ERCE_LIB_SYMBOL_MISMATCH = "lib_symbol_mismatch",
37
+ ERCE_FOOTPRINT_LINK_ISSUES = "footprint_link_issues",
38
+ ERCE_FOOTPRINT_FILTERS = "footprint_filter",
39
+ ERCE_UNANNOTATED = "unannotated",
40
+ ERCE_EXTRA_UNITS = "extra_units",
41
+ ERCE_DIFFERENT_UNIT_VALUE = "unit_value_mismatch",
42
+ ERCE_DUPLICATE_REFERENCE = "duplicate_reference",
43
+ ERCE_BUS_ENTRY_NEEDED = "bus_entry_needed",
44
+ ERCE_FOUR_WAY_JUNCTION = "four_way_junction",
45
+ ERCE_LABEL_MULTIPLE_WIRES = "label_multiple_wires",
46
+ ERCE_UNCONNECTED_WIRE_ENDPOINT = "unconnected_wire_endpoint",
47
+ ERCE_LAST = "unconnected_wire_endpoint",
48
+ ERCE_DUPLICATE_PIN_ERROR = "ERCE_DUPLICATE_PIN_ERROR",
49
+ ERCE_PIN_TO_PIN_WARNING = "ERCE_PIN_TO_PIN_WARNING",
50
+ ERCE_PIN_TO_PIN_ERROR = "ERCE_PIN_TO_PIN_ERROR",
51
+ ERCE_ANNOTATION_ACTION = "ERCE_ANNOTATION_ACTION",
52
+ ERCE_GENERIC_WARNING = "ERCE_GENERIC_WARNING",
53
+ ERCE_GENERIC_ERROR = "ERCE_GENERIC_ERROR"
54
+ }
55
+ //# sourceMappingURL=error_code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error_code.d.ts","sourceRoot":"","sources":["../../../src/erc/pin_compatibility_matrix/error_code.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,MAAM;IAChB,yBAAyB,0BAA0B;IACnD,sBAAsB,sBAAsB;IAC5C,sBAAsB,sBAAsB;IAC5C,mBAAmB,mBAAmB;IACtC,wBAAwB,yBAAyB;IACjD,sBAAsB,wBAAwB;IAC9C,wBAAwB,yBAAyB;IACjD,4BAA4B,wBAAwB;IACpD,wBAAwB,mBAAmB;IAC3C,mBAAmB,mBAAmB;IACtC,kBAAkB,kBAAkB;IACpC,4BAA4B,4BAA4B;IACxD,wBAAwB,wBAAwB;IAChD,4BAA4B,4BAA4B;IACxD,sBAAsB,6BAA6B;IACnD,4BAA4B,4BAA4B;IACxD,sBAAsB,sBAAsB;IAC5C,qBAAqB,qBAAqB;IAC1C,iBAAiB,iBAAiB;IAClC,uBAAuB,uBAAuB;IAC9C,uBAAuB,4BAA4B;IACnD,oBAAoB,uBAAuB;IAC3C,uBAAuB,uBAAuB;IAC9C,wBAAwB,wBAAwB;IAChD,wBAAwB,wBAAwB;IAChD,cAAc,0BAA0B;IACxC,wBAAwB,wBAAwB;IAChD,uBAAuB,uBAAuB;IAC9C,qBAAqB,2BAA2B;IAChD,kBAAkB,kBAAkB;IACpC,sBAAsB,sBAAsB;IAC5C,wBAAwB,wBAAwB;IAChD,0BAA0B,0BAA0B;IACpD,sBAAsB,qBAAqB;IAC3C,gBAAgB,gBAAgB;IAChC,gBAAgB,gBAAgB;IAChC,yBAAyB,wBAAwB;IACjD,wBAAwB,wBAAwB;IAChD,qBAAqB,qBAAqB;IAC1C,sBAAsB,sBAAsB;IAC5C,yBAAyB,yBAAyB;IAClD,8BAA8B,8BAA8B;IAE5D,SAAS,8BAA8B;IAIvC,wBAAwB,6BAA6B;IACrD,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,oBAAoB,yBAAyB;IAC7C,kBAAkB,uBAAuB;CAC1C"}
@@ -0,0 +1,56 @@
1
+ /**Token from KiCAD
2
+ * https://gitlab.com/kicad/code/kicad/-/blob/master/eeschema/erc/erc_settings.h
3
+ */
4
+ export var ERCE_T;
5
+ (function (ERCE_T) {
6
+ ERCE_T["ERCE_DUPLICATE_SHEET_NAME"] = "duplicate_sheet_names";
7
+ ERCE_T["ERCE_ENDPOINT_OFF_GRID"] = "endpoint_off_grid";
8
+ ERCE_T["ERCE_PIN_NOT_CONNECTED"] = "pin_not_connected";
9
+ ERCE_T["ERCE_PIN_NOT_DRIVEN"] = "pin_not_driven";
10
+ ERCE_T["ERCE_POWERPIN_NOT_DRIVEN"] = "power_pin_not_driven";
11
+ ERCE_T["ERCE_HIERACHICAL_LABEL"] = "hier_label_mismatch";
12
+ ERCE_T["ERCE_NOCONNECT_CONNECTED"] = "no_connect_connected";
13
+ ERCE_T["ERCE_NOCONNECT_NOT_CONNECTED"] = "no_connect_dangling";
14
+ ERCE_T["ERCE_LABEL_NOT_CONNECTED"] = "label_dangling";
15
+ ERCE_T["ERCE_SIMILAR_LABELS"] = "similar_labels";
16
+ ERCE_T["ERCE_SIMILAR_POWER"] = "similar_power";
17
+ ERCE_T["ERCE_SIMILAR_LABEL_AND_POWER"] = "similar_label_and_power";
18
+ ERCE_T["ERCE_SINGLE_GLOBAL_LABEL"] = "single_global_label";
19
+ ERCE_T["ERCE_SAME_LOCAL_GLOBAL_LABEL"] = "same_local_global_label";
20
+ ERCE_T["ERCE_DIFFERENT_UNIT_FP"] = "different_unit_footprint";
21
+ ERCE_T["ERCE_MISSING_POWER_INPUT_PIN"] = "missing_power_input_pin";
22
+ ERCE_T["ERCE_MISSING_INPUT_PIN"] = "missing_input_pin";
23
+ ERCE_T["ERCE_MISSING_BIDI_PIN"] = "missing_bidi_pin";
24
+ ERCE_T["ERCE_MISSING_UNIT"] = "missing_unit";
25
+ ERCE_T["ERCE_DIFFERENT_UNIT_NET"] = "different_unit_net";
26
+ ERCE_T["ERCE_BUS_ALIAS_CONFLICT"] = "bus_definition_conflict";
27
+ ERCE_T["ERCE_DRIVER_CONFLICT"] = "multiple_net_names";
28
+ ERCE_T["ERCE_BUS_ENTRY_CONFLICT"] = "net_not_bus_member";
29
+ ERCE_T["ERCE_BUS_TO_BUS_CONFLICT"] = "bus_to_bus_conflict";
30
+ ERCE_T["ERCE_BUS_TO_NET_CONFLICT"] = "bus_to_net_conflict";
31
+ ERCE_T["ERCE_GLOBLABEL"] = "global_label_dangling";
32
+ ERCE_T["ERCE_UNRESOLVED_VARIABLE"] = "unresolved_variable";
33
+ ERCE_T["ERCE_UNDEFINED_NETCLASS"] = "undefined_netclass";
34
+ ERCE_T["ERCE_SIMULATION_MODEL"] = "simulation_model_issue";
35
+ ERCE_T["ERCE_WIRE_DANGLING"] = "wire_dangling";
36
+ ERCE_T["ERCE_LIB_SYMBOL_ISSUES"] = "lib_symbol_issues";
37
+ ERCE_T["ERCE_LIB_SYMBOL_MISMATCH"] = "lib_symbol_mismatch";
38
+ ERCE_T["ERCE_FOOTPRINT_LINK_ISSUES"] = "footprint_link_issues";
39
+ ERCE_T["ERCE_FOOTPRINT_FILTERS"] = "footprint_filter";
40
+ ERCE_T["ERCE_UNANNOTATED"] = "unannotated";
41
+ ERCE_T["ERCE_EXTRA_UNITS"] = "extra_units";
42
+ ERCE_T["ERCE_DIFFERENT_UNIT_VALUE"] = "unit_value_mismatch";
43
+ ERCE_T["ERCE_DUPLICATE_REFERENCE"] = "duplicate_reference";
44
+ ERCE_T["ERCE_BUS_ENTRY_NEEDED"] = "bus_entry_needed";
45
+ ERCE_T["ERCE_FOUR_WAY_JUNCTION"] = "four_way_junction";
46
+ ERCE_T["ERCE_LABEL_MULTIPLE_WIRES"] = "label_multiple_wires";
47
+ ERCE_T["ERCE_UNCONNECTED_WIRE_ENDPOINT"] = "unconnected_wire_endpoint";
48
+ ERCE_T["ERCE_LAST"] = "unconnected_wire_endpoint";
49
+ // Errors after this point will not automatically appear in the Severities Panel
50
+ ERCE_T["ERCE_DUPLICATE_PIN_ERROR"] = "ERCE_DUPLICATE_PIN_ERROR";
51
+ ERCE_T["ERCE_PIN_TO_PIN_WARNING"] = "ERCE_PIN_TO_PIN_WARNING";
52
+ ERCE_T["ERCE_PIN_TO_PIN_ERROR"] = "ERCE_PIN_TO_PIN_ERROR";
53
+ ERCE_T["ERCE_ANNOTATION_ACTION"] = "ERCE_ANNOTATION_ACTION";
54
+ ERCE_T["ERCE_GENERIC_WARNING"] = "ERCE_GENERIC_WARNING";
55
+ ERCE_T["ERCE_GENERIC_ERROR"] = "ERCE_GENERIC_ERROR";
56
+ })(ERCE_T || (ERCE_T = {}));
@@ -0,0 +1,5 @@
1
+ export * from './erc_setting';
2
+ export * from './error_code';
3
+ export * from './pin_error';
4
+ export * from './tester';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/erc/pin_compatibility_matrix/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './erc_setting';
2
+ export * from './error_code';
3
+ export * from './pin_error';
4
+ export * from './tester';
@@ -0,0 +1,7 @@
1
+ export declare enum PIN_ERROR {
2
+ OK = 0,
3
+ WARNING = 1,
4
+ PP_ERROR = 2,
5
+ UNCONNECTED = 3
6
+ }
7
+ //# sourceMappingURL=pin_error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pin_error.d.ts","sourceRoot":"","sources":["../../../src/erc/pin_compatibility_matrix/pin_error.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,EAAE,IAAI;IACN,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,WAAW,IAAI;CAChB"}
@@ -0,0 +1,7 @@
1
+ export var PIN_ERROR;
2
+ (function (PIN_ERROR) {
3
+ PIN_ERROR[PIN_ERROR["OK"] = 0] = "OK";
4
+ PIN_ERROR[PIN_ERROR["WARNING"] = 1] = "WARNING";
5
+ PIN_ERROR[PIN_ERROR["PP_ERROR"] = 2] = "PP_ERROR";
6
+ PIN_ERROR[PIN_ERROR["UNCONNECTED"] = 3] = "UNCONNECTED";
7
+ })(PIN_ERROR || (PIN_ERROR = {}));
@@ -0,0 +1,9 @@
1
+ import { type ConnectionSubgraph } from '@modular-circuit/electronics-model';
2
+ import type { CG_Visitor } from '../connect_graph_visitor';
3
+ import type { PIN_TO_PIN_TEST_CONTEXT } from '../context/pin_to_pin_test_ctx';
4
+ export declare class PIN_COMPATIBILITY_MATRIX_TESTER implements CG_Visitor {
5
+ private readonly ctx;
6
+ constructor(ctx: PIN_TO_PIN_TEST_CONTEXT);
7
+ visit_cc(cc: ConnectionSubgraph): void;
8
+ }
9
+ //# sourceMappingURL=tester.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tester.d.ts","sourceRoot":"","sources":["../../../src/erc/pin_compatibility_matrix/tester.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAG7E,qBAAa,+BAAgC,YAAW,UAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,uBAAuB;IACzD,QAAQ,CAAC,EAAE,EAAE,kBAAkB;CAiBvC"}
@@ -0,0 +1,23 @@
1
+ import { get_electrical_pin_type, node_is_electrical_node, } from '@modular-circuit/electronics-model';
2
+ import { ERCE_PIN_TO_PIN_ERROR } from '../../report';
3
+ import { PIN_ERROR } from './pin_error';
4
+ var PIN_COMPATIBILITY_MATRIX_TESTER = /** @class */ (function () {
5
+ function PIN_COMPATIBILITY_MATRIX_TESTER(ctx) {
6
+ this.ctx = ctx;
7
+ }
8
+ PIN_COMPATIBILITY_MATRIX_TESTER.prototype.visit_cc = function (cc) {
9
+ var nodes = cc.nodes.filter(function (i) { return node_is_electrical_node(i); });
10
+ for (var i = 0; i < nodes.length; i++) {
11
+ var current = get_electrical_pin_type(nodes[i]);
12
+ for (var j = i + 1; j < nodes.length; j++) {
13
+ var other = get_electrical_pin_type(nodes[j]);
14
+ var error = this.ctx.erc_setting.GetPinMapValue(current, other);
15
+ if (error !== PIN_ERROR.OK) {
16
+ this.ctx.report.erc_errors.push(ERCE_PIN_TO_PIN_ERROR(nodes[i], nodes[j]));
17
+ }
18
+ }
19
+ }
20
+ };
21
+ return PIN_COMPATIBILITY_MATRIX_TESTER;
22
+ }());
23
+ export { PIN_COMPATIBILITY_MATRIX_TESTER };
@@ -0,0 +1,3 @@
1
+ export * from './maker';
2
+ export * from './sch_erc_item';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graphics/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './maker';
2
+ export * from './sch_erc_item';
@@ -0,0 +1,4 @@
1
+ export * from './maker_base';
2
+ export * from './maker_type';
3
+ export * from './sch_maker';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphics/maker/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './maker_base';
2
+ export * from './maker_type';
3
+ export * from './sch_maker';
@@ -0,0 +1,35 @@
1
+ import type { BOX2, VECTOR2 } from '@modular-circuit/electronics-model';
2
+ import type { SEVERITY } from '../../erc/context/error_severity';
3
+ import type { MakerType } from './maker_type';
4
+ /**
5
+ * Marker are mainly used to show a DRC or ERC error or warning
6
+ */
7
+ export interface MarkerBase {
8
+ uuid: string;
9
+ /**
10
+ * @return the position of this marker in internal units.
11
+ */
12
+ pos: VECTOR2;
13
+ /**
14
+ * The type of marker (useful to filter markers)
15
+ */
16
+ maker_type: MakerType;
17
+ /**
18
+ * User has excluded this specific error
19
+ */
20
+ excluded: boolean;
21
+ /**
22
+ * User-supplied comment (generally for exclusions)
23
+ */
24
+ comment: string;
25
+ severity: SEVERITY;
26
+ /**
27
+ * The ID of the RC item that generated this marker
28
+ */
29
+ rc_item_id: string;
30
+ /**
31
+ * Return the orthogonal, bounding box of this object for display purposes.
32
+ */
33
+ bounding_box: BOX2;
34
+ }
35
+ //# sourceMappingURL=maker_base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maker_base.d.ts","sourceRoot":"","sources":["../../../src/graphics/maker/maker_base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,GAAG,EAAE,OAAO,CAAA;IACZ;;OAEG;IACH,UAAU,EAAE,SAAS,CAAA;IACrB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf,QAAQ,EAAE,QAAQ,CAAA;IAClB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,YAAY,EAAE,IAAI,CAAA;CACnB"}
File without changes