@tobisk/pcbs 1.0.0 → 1.1.0

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.
File without changes
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@tobisk/pcbs",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "TypeScript-based PCB Design Framework",
5
5
  "publishConfig": {
6
- "access": "public"
6
+ "access": "public",
7
+ "provenance": true
7
8
  },
8
9
  "repository": {
9
10
  "type": "git",
10
- "url": "https://github.com/kellertobias/pcbs-framework.git"
11
+ "url": "git+https://github.com/kellertobias/pcbs-framework.git"
11
12
  },
12
13
  "main": "./dist/src/synth/index.js",
13
14
  "types": "./dist/src/synth/index.d.ts",
@@ -1 +0,0 @@
1
- export {};
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const DmxNode_1 = require("../../src/schematics/dmx_node/DmxNode");
5
- const codegen_1 = require("../cli/codegen");
6
- (0, vitest_1.describe)("DMX Node Migration Verification", () => {
7
- (0, vitest_1.it)("should correctly instantiate DmxNode and register components", () => {
8
- const project = new DmxNode_1.DmxNode();
9
- const snapshot = project._generateWithCapture();
10
- const components = snapshot.components;
11
- // Check key components
12
- (0, vitest_1.expect)(components.some(c => c.ref === "U1")).toBe(true); // ESP32
13
- (0, vitest_1.expect)(components.some(c => c.ref === "U2")).toBe(true); // MAX3485 OUT
14
- (0, vitest_1.expect)(components.some(c => c.ref === "U3")).toBe(true); // MAX3485 IN
15
- (0, vitest_1.expect)(components.some(c => c.ref === "U4")).toBe(true); // Buck IC
16
- (0, vitest_1.expect)(components.some(c => c.ref === "J_PWR1")).toBe(true); // USB Power
17
- // Check mounting holes
18
- (0, vitest_1.expect)(components.filter(c => c.ref.startsWith("H")).length).toBeGreaterThanOrEqual(4);
19
- // Check nets
20
- const nets = snapshot.nets;
21
- (0, vitest_1.expect)(nets.some(n => n.name === "GND")).toBe(true);
22
- (0, vitest_1.expect)(nets.some(n => n.name === "+5V")).toBe(true);
23
- (0, vitest_1.expect)(nets.some(n => n.name === "+VIN")).toBe(true);
24
- // Check specific connection: TX2 (L_08) to Max3485 OUT DI
25
- const u1 = components.find(c => c.ref === "U1");
26
- const u2 = components.find(c => c.ref === "U2");
27
- const tx2Pin = u1.pins.L_08_TX2;
28
- const diPin = u2.pins.DI;
29
- (0, vitest_1.expect)(tx2Pin.net).toBeDefined();
30
- (0, vitest_1.expect)(tx2Pin.net).toBe(diPin.net);
31
- // Verify codegen has positions
32
- const python = (0, codegen_1.generatePython)(snapshot);
33
- (0, vitest_1.expect)(python).toContain('u1 = Component(');
34
- (0, vitest_1.expect)(python).toContain('at=(50, 100, 0)');
35
- (0, vitest_1.expect)(python).toContain('pcb_at=(18, 65, 0)');
36
- (0, vitest_1.expect)(python).toContain('j_dc1 = Component(');
37
- (0, vitest_1.expect)(python).toContain('pcb_at=(92, 85, 0)');
38
- (0, vitest_1.expect)(python).toContain('j_pwr_in = Component(');
39
- (0, vitest_1.expect)(python).toContain('pcb_at=(92, 85, 0)');
40
- });
41
- });
42
- //# sourceMappingURL=dmx_node.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dmx_node.test.js","sourceRoot":"","sources":["../../../src/tests/dmx_node.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const Max3485_1 = require("../../src/lib/Max3485");
5
- const BuckConverter_1 = require("../../src/lib/BuckConverter");
6
- const Registry_1 = require("../synth/Registry");
7
- (0, vitest_1.describe)("Component Migration Verification", () => {
8
- (0, vitest_1.it)("should correctly instantiate Max3485", () => {
9
- Registry_1.registry.start();
10
- const transceiver = new Max3485_1.Max3485({ ref: "U1" });
11
- (0, vitest_1.expect)(transceiver.ref).toBe("U1");
12
- (0, vitest_1.expect)(transceiver.symbol).toBe("Interface_UART:MAX3485");
13
- (0, vitest_1.expect)(transceiver.footprint).toBe("Package_SO:SOIC-8_3.9x4.9mm_P1.27mm");
14
- (0, vitest_1.expect)(transceiver.partNo).toBe("C18148");
15
- // Check pins
16
- (0, vitest_1.expect)(transceiver.pins.RO.name).toBe("1");
17
- (0, vitest_1.expect)(transceiver.pins.VCC.name).toBe("8");
18
- (0, vitest_1.expect)(transceiver.pins.GND.name).toBe("5");
19
- });
20
- (0, vitest_1.it)("should correctly instantiate BuckConverter with 5V target", () => {
21
- Registry_1.registry.start();
22
- const buck = new BuckConverter_1.BuckConverter({ ref: "U2", targetVoltage: 5.0 });
23
- (0, vitest_1.expect)(buck.ref).toBe("U2");
24
- // Internal components check
25
- const vinPin = buck.pins.VIN;
26
- const vinNet = vinPin.net;
27
- (0, vitest_1.expect)(vinNet).toBeDefined();
28
- (0, vitest_1.expect)(vinNet?.name).toBe("U2_VIN");
29
- // Check feedback resistors for 5V
30
- // R1 = 3000, R2 = 1000
31
- const components = Array.from(Registry_1.registry.getComponents());
32
- const r1 = components.find(c => c.ref === "R_FB1_U2");
33
- const r2 = components.find(c => c.ref === "R_FB2_U2");
34
- (0, vitest_1.expect)(r1?.value).toBe("3k");
35
- (0, vitest_1.expect)(r1?.partNo).toBe("C22965");
36
- (0, vitest_1.expect)(r2?.value).toBe("1k");
37
- (0, vitest_1.expect)(r2?.partNo).toBe("C21190");
38
- });
39
- (0, vitest_1.it)("should correctly instantiate BuckConverter with 12V target", () => {
40
- Registry_1.registry.start();
41
- new BuckConverter_1.BuckConverter({ ref: "U3", targetVoltage: 12.0 });
42
- const components = Array.from(Registry_1.registry.getComponents());
43
- const r1 = components.find(c => c.ref === "R_FB1_U3");
44
- const r2 = components.find(c => c.ref === "R_FB2_U3");
45
- (0, vitest_1.expect)(r1?.value).toBe("13k");
46
- (0, vitest_1.expect)(r1?.partNo).toBe("C24857");
47
- (0, vitest_1.expect)(r2?.value).toBe("1.50k");
48
- (0, vitest_1.expect)(r2?.partNo).toBe("C22843");
49
- });
50
- (0, vitest_1.it)("should work with test points in BuckConverter", () => {
51
- Registry_1.registry.start();
52
- new BuckConverter_1.BuckConverter({ ref: "U4", addTestPoints: true });
53
- const components = Array.from(Registry_1.registry.getComponents());
54
- (0, vitest_1.expect)(components.some(c => c.ref === "TP_VOUT_U4")).toBe(true);
55
- (0, vitest_1.expect)(components.some(c => c.ref === "TP_FB_U4")).toBe(true);
56
- });
57
- });
58
- //# sourceMappingURL=migration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration.test.js","sourceRoot":"","sources":["../../../src/tests/migration.test.ts"],"names":[],"mappings":"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"}