Add protocol-certification M4 L2 electrical certifier (2.68.0).

Z/termination/levels from datasheet, stackup, fab, or cited pack only. Never invented USB ohms. No L3/OpenEMS. L0/L1 are not electrical.
This commit is contained in:
2026-09-22 12:30:13 +02:00
parent 10d21cdc80
commit 0848eb8416
11 changed files with 937 additions and 17 deletions
+3 -3
View File
@@ -165,8 +165,8 @@ def test_axi_internal_l1_not_applicable():
assert all(r.result == "NOT_APPLICABLE" for r in rows)
assert all(r.result != "FAIL" for r in rows)
sec, exam_findings = protocol_exam(_axi_graph(), layout=LayoutGraph())
assert sec.max_level_reached == "L1"
assert sec.macrophase == "M3"
assert sec.max_level_reached == "L2"
assert sec.macrophase == "M4"
assert all(f.status != "ERROR" for f in exam_findings)
blob = json.dumps([r.model_dump() for r in rows])
assert "electrical certification" not in blob.lower() or "not electrical" in blob.lower()
@@ -257,7 +257,7 @@ def test_l1_does_not_run_impedance():
def test_protocol_exam_attaches_l1_checks():
sec, _ = protocol_exam(_usb_connected(), layout=_usb_layout())
assert sec.max_level_reached == "L1"
assert sec.max_level_reached == "L2"
assert sec.recognized_instances
row = sec.recognized_instances[0]
assert row.get("l1_checks")