{
  "id": "acme/dsp-1212@1",
  "ports": [
    {
      "id": "mic-line-in",
      "link": {
        "type": "analog-audio"
      },
      "count": 12,
      "label": "ANALOG IN 1-12",
      "notes": "Twelve identical balanced mic/line inputs collapsed via count=12.",
      "signals": [
        {
          "domain": "audio",
          "balanced": true,
          "transport": "analog",
          "gainDbRange": "0-60",
          "phantomPower": true,
          "impedanceOhms": 2000
        }
      ],
      "location": {
        "face": "rear",
        "group": "audio-inputs",
        "order": 1
      },
      "connector": "euroblock-3.5mm",
      "direction": "input",
      "poleCount": 3
    },
    {
      "id": "line-out",
      "link": {
        "type": "analog-audio"
      },
      "count": 8,
      "label": "ANALOG OUT 1-8",
      "signals": [
        {
          "domain": "audio",
          "balanced": true,
          "levelDbu": 4,
          "transport": "analog"
        }
      ],
      "location": {
        "face": "rear",
        "group": "audio-outputs",
        "order": 1
      },
      "connector": "euroblock-3.5mm",
      "direction": "output",
      "poleCount": 3
    },
    {
      "id": "lan",
      "link": {
        "type": "ethernet",
        "speed": "1g",
        "standard": "1000base-t"
      },
      "label": "LAN (Dante)",
      "notes": "Audio-over-IP plus management on one link. Dante and AES67 are separate audio flows; general connectivity is the network flow.",
      "signals": [
        {
          "domain": "audio",
          "bitDepth": 24,
          "direction": "bidirectional",
          "transport": "dante",
          "sampleRateHz": 48000,
          "networkChannels": 64
        },
        {
          "domain": "audio",
          "direction": "bidirectional",
          "transport": "aes67",
          "networkChannels": 64
        },
        {
          "domain": "network",
          "managed": true,
          "transport": "control-network"
        }
      ],
      "location": {
        "face": "rear",
        "group": "network",
        "order": 1
      },
      "connector": "rj45",
      "direction": "bidirectional"
    },
    {
      "id": "gpio",
      "label": "GPIO",
      "notes": "One 10-pole terminal block: 8 independent GPIO circuits (channels=8) plus a reference and a +5V pin. Each GPIO can route to a different device, so a tool may draw up to 8 separate connections - the format reports the facts, the tool decides grouping.",
      "signals": [
        {
          "domain": "control",
          "channels": 8,
          "transport": "gpio"
        },
        {
          "role": "source",
          "domain": "power",
          "maxWatts": 2.5,
          "transport": "dc",
          "nominalVoltage": 5
        }
      ],
      "location": {
        "face": "rear",
        "group": "control",
        "order": 1
      },
      "connector": "euroblock-3.5mm",
      "direction": "bidirectional",
      "poleCount": 10
    },
    {
      "id": "rs485",
      "label": "RS-485",
      "signals": [
        {
          "domain": "control",
          "channels": 1,
          "transport": "rs-485",
          "maxBusDevices": 32,
          "busAddressable": true
        }
      ],
      "connector": "euroblock-3.5mm",
      "direction": "bidirectional",
      "poleCount": 3
    }
  ],
  "power": {
    "inputs": [
      {
        "type": "ac",
        "connector": "iec-c14",
        "frequencyHz": "50/60",
        "voltageRange": "100-240V"
      }
    ],
    "redundant": false,
    "consumptionWatts": {
      "max": 60,
      "typical": 35
    }
  },
  "device": {
    "model": "DSP-1212",
    "category": "av/audio/dsp",
    "revision": "1",
    "manufacturer": "Acme Audio"
  },
  "x-note": "Illustrative fictional device exercising terminal-block poleCount + per-signal channels and audio-over-IP flows.",
  "$schema": "https://opendeviceio.org/schema/v0.1/device.schema.json",
  "physical": {
    "mounting": [
      "rack"
    ],
    "rackUnits": 1,
    "rackWidth": "full",
    "weightGrams": 3600,
    "dimensionsMm": {
      "depth": 305,
      "width": 483,
      "height": 44
    },
    "rackMountable": true
  },
  "standards": [
    {
      "name": "AES67",
      "category": "network"
    },
    {
      "name": "Dante",
      "category": "network"
    },
    {
      "name": "UL 62368-1",
      "category": "safety"
    }
  ],
  "parameters": {
    "latency": {
      "unit": "ms",
      "value": 1.5
    },
    "dspChannels": 64,
    "operatingTemperature": {
      "unit": "C",
      "value": "0 to 40"
    }
  },
  "provenance": {
    "method": "manual",
    "generator": "manual",
    "validation": {
      "status": "draft"
    }
  },
  "odioVersion": "0.1.0"
}