Fill protocol packs from recovered USB CTS, Type-C FTS, DVI 1.0, and IEEE 802.3-2012 Section Two (2.74.0).

NUMERIC rows cite document title, revision, section/table, and page. USB Zdiff, Type-C Rp/Rd, 10BASE-T, and 1000BASE-T stay UNKNOWN. PDFs are not in git.
This commit is contained in:
2026-09-22 14:43:26 +02:00
parent 949f5f1541
commit f3be485b75
9 changed files with 1805 additions and 472 deletions
+20 -3
View File
@@ -26,6 +26,7 @@ REQUIRED_LOGICAL = {
"usb2-ls-fs", "usb2-ls", "usb2-fs", "usb2-hs", "usb-c", "usb-c-usb2",
"usb3-x", "usb4", "100base-tx", "10base-t", "1000base-t",
"hdmi-1.4", "hdmi-2.0", "hdmi-frl",
"dvi",
"ddr-family", "ddr4", "lpddr-family", "lpddr4",
"hbm-family", "hbm3", "hyperbus", "qspi", "octal-spi", "emmc", "ufs",
"axi4", "axi4-lite", "ahb", "apb", "wishbone", "avalon-mm", "avalon-st",
@@ -98,12 +99,28 @@ def test_hdmi_mini_is_same_logical_different_connector():
assert mini.connector == "HDMI-C-mini"
def test_catalog_has_no_invented_ohm_numbers():
def test_catalog_numeric_requires_official_cite_no_invented_usb_90ohm():
cat = load_catalog()
usb_z = []
for iface in cat.physical_interfaces:
for c in iface.constraints:
assert c.value is None
assert c.value_kind != "NUMERIC"
if c.value_kind == "NUMERIC":
assert c.value is not None
assert c.source is not None
assert c.source.document and c.source.organization
assert c.source.revision
assert c.source.page
assert c.source.section or c.source.table
if (
iface.logical_protocol_id.startswith("usb")
and c.parameter == "differential_impedance"
):
usb_z.append(c)
assert c.value_kind != "NUMERIC"
assert c.value is None
assert usb_z
blob = json.dumps([c.model_dump() for c in usb_z])
assert "90" not in blob
def test_recommended_is_not_fail_mandatory():