Record Accepted PCB Placement And Fit

Align component groups, repair affected routing, and add preservation
audits.
Assign the confirmed U2 footprint and update pull-ups to 2 kΩ across
design files.
Document user acceptance, switch to an A3 worksheet, and refresh PCB
exports.
This commit is contained in:
2026-09-22 10:28:08 +02:00
parent 901afbe754
commit c257158ada
42 changed files with 29500 additions and 17205 deletions
+6 -5
View File
@@ -57,7 +57,7 @@ for i, net in enumerate(("BTN_PREVIOUS", "BTN_SELECT", "BTN_NEXT"), 1):
assert len(nets[net]) == 3
assert (f"SW{i}", "1") in members[net] and (f"R{i}", "2") in members[net]
assert components[f"SW{i}"].findtext("value") == "B3F-1000"
assert components[f"R{i}"].findtext("value") == "2.2k 1%"
assert components[f"R{i}"].findtext("value") == "2k 1%"
assert members["+3V3"] == sorted([("U1","1"),("U1","2"),("U2","1"),("DS1","2"),("R1","1"),("R2","1"),("R3","1")])
assert members["GND"] == sorted([("U1","22"),("U1","23"),("U1","43"),("U1","44"),("U2","2"),("DS1","1"),("SW1","2"),("SW2","2"),("SW3","2")])
active = {name for name in nets if not name.startswith("unconnected-")}
@@ -70,8 +70,8 @@ assert sorted(int(node.get("pin")) for nodes in nets.values() for node in nodes
# USB/UART0, 5 V and PSRAM-conflicting pins must never be carrier nets.
for name in active:
assert not any(node.get("ref") == "U1" and node.get("pin") in ("21","24","25","33","34","35","41","42") for node in nets[name])
# U2's physical male footprint must stay explicitly unresolved in this draft.
assert not components["U2"].findtext("footprint")
# User confirmed the male module shares the reference pinout/header/footprint.
assert components["U2"].findtext("footprint") == "Carrier:MAX3243_Reference_Provisional"
expected = json.loads((OUT / "expected-nets.json").read_text())
assert set(expected) == active
for net, nodes in expected.items():
@@ -87,8 +87,9 @@ summary = "\n".join([
"15 firmware GPIO definitions independently checked against exported pin functions.",
"All 44 MCU header pins accounted for; USB/UART0/5V/PSRAM pins unused on carrier.",
"PDF and SVG exported successfully.",
"Not validated: male-module physical mapping, power budget/path, OLED pull-ups,",
"selected connector fit, PCB DRC/layout, procurement, or assembled hardware.",
"User accepted module mapping/fit and reports purchased switches/resistors.",
"No new hardware tests; regulator margin, USB backfeed safety, RF performance",
"and fabrication qualification are not established by this schematic check.",
]) + "\n"
(OUT / "summary.txt").write_text(summary)
print(summary)