{
  "description": "CTRL-USB, the USB service port and parameter interface of clause 8.1: the port connector and its pins, the VBUS and lead limits, the documents the parameter interface follows, and the case host's port limits. tools/ctrl_usb.py validates it and injects the tables of clause 8.1.",
  "port": {
    "id": "USB-PH4",
    "family": "JST PH, 2.0 mm pitch, 1 row, 4 circuits, polarized",
    "header_reference": "JST B4B-PH-K-S (top entry) or S4B-PH-K-S (side entry)",
    "housing_reference": "JST PHR-4 with SPH-002T-P0.5S crimp terminals",
    "rated_a_per_circuit": 2.0,
    "pins": [
      {
        "pin": 1,
        "function": "VBUS"
      },
      {
        "pin": 2,
        "function": "D−"
      },
      {
        "pin": 3,
        "function": "D+"
      },
      {
        "pin": 4,
        "function": "0 V (GND)"
      }
    ],
    "speed": "USB 2.0 full speed, 12 Mbit/s",
    "vbus_draw_max_a": 0.1,
    "withstand_v": 5.25
  },
  "lead": {
    "max_length_mm": 300,
    "max_conductor_awg": 28,
    "twisted_pair": "D+ and D−"
  },
  "host": {
    "port_limit_max_a": 0.5,
    "switched_per_port": true
  },
  "midi": {
    "usb_class": "USB-IF, Universal Serial Bus Device Class Definition for MIDI Devices, Release 2.0",
    "documents": [
      {
        "id": "M2-101-UM",
        "title": "MIDI Capability Inquiry (MIDI-CI)",
        "version": "1.2"
      },
      {
        "id": "M2-103-UM",
        "title": "Common Rules for MIDI-CI Property Exchange",
        "version": "1.2"
      },
      {
        "id": "M2-104-UM",
        "title": "Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol",
        "version": "1.1.2"
      },
      {
        "id": "M2-117-UM",
        "title": "MIDI-CI Property Exchange Controller Resources",
        "version": "1.0"
      }
    ],
    "required_resources": [
      "ResourceList",
      "DeviceInfo",
      "AllCtrlList"
    ],
    "conditional_resources": {
      "CtrlMapList": "when any control is a toggle or a list",
      "JSONSchema": "when any control carries x-units"
    },
    "controller_messages": [
      "cc",
      "rpn",
      "nrpn"
    ],
    "units_schema": "data/ctrl-units-v1.schema.json",
    "units_res_id": "ctrl-units-v1",
    "non_commercial_sysex_id": "7D"
  }
}
