{
  "metadata": {
    "id": "vivid-vh109-frc-radio",
    "name": "Vivid-Hosting VH-109 FRC Radio",
    "type": "networking",
    "description": "Vivid-Hosting VH-109 FRC Radio. Modern 6GHz radio for FRC with Ethernet switch and optional passive PoE on AUX ports.",
    "manufacturer": "Vivid-Hosting",
    "part_number": "VH-109",
    "datasheet_url": "https://frc-radio.vivid-hosting.net/overview/quick-start-guide",
    "tags": [
      "FRC",
      "radio",
      "WiFi",
      "6GHz",
      "Ethernet",
      "networking"
    ],
    "schema_version": "1.4.0",
    "version": "0.1.0",
    "taxonomy": [
      "networking.wireless",
      "robotics.frc"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "12v-in",
          "name": "12V Input",
          "nominal_voltage_V": 12,
          "voltage_range_V": [
            11,
            13
          ],
          "max_current_mA": 3000
        }
      ],
      "resources": [
        {
          "id": "12v-pos",
          "name": "12VDC_IN+",
          "functions": [
            {
              "name": "12V+",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-in"
        },
        {
          "id": "12v-neg",
          "name": "12VDC_IN-",
          "functions": [
            {
              "name": "12V-",
              "direction": "sink",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-in"
        },
        {
          "id": "eth-rio",
          "name": "ETH_RIO",
          "functions": [
            {
              "name": "ETH_RIO",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ]
        },
        {
          "id": "eth-ds",
          "name": "ETH_DS",
          "functions": [
            {
              "name": "ETH_DS",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ]
        },
        {
          "id": "eth-aux1",
          "name": "ETH_AUX1",
          "functions": [
            {
              "name": "ETH_AUX1",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ]
        },
        {
          "id": "eth-aux2",
          "name": "ETH_AUX2",
          "functions": [
            {
              "name": "ETH_AUX2",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ]
        }
      ],
      "interfaces": [
        {
          "id": "power-in",
          "name": "12V Power Input",
          "protocol": {
            "type": "power",
            "role": "sink"
          },
          "requires": [
            {
              "function": "12V+",
              "count": 1
            },
            {
              "function": "12V-",
              "count": 1
            }
          ],
          "max_instances": 1,
          "description": "Weidmuller terminal input"
        },
        {
          "id": "rio-port",
          "name": "RIO Ethernet Port",
          "protocol": {
            "type": "ethernet",
            "role": "peer"
          },
          "requires": [
            {
              "function": "ETH_RIO",
              "count": 1
            }
          ],
          "max_instances": 1,
          "description": "Connect to roboRIO"
        },
        {
          "id": "ds-port",
          "name": "DS Ethernet Port",
          "protocol": {
            "type": "ethernet",
            "role": "peer"
          },
          "requires": [
            {
              "function": "ETH_DS",
              "count": 1
            }
          ],
          "max_instances": 1,
          "description": "Driver station tether"
        },
        {
          "id": "aux-port",
          "name": "AUX Ethernet Port",
          "protocol": {
            "type": "ethernet",
            "role": "peer"
          },
          "requires": [
            {
              "function": "ETH_AUX1",
              "count": 1
            }
          ],
          "max_instances": 2,
          "description": "AUX ports with optional passive PoE passthrough"
        }
      ]
    }
  ],
  "node_geometry": {
    "xScale": 1,
    "yScale": 1,
    "outline": {
      "preset": "rounded_rectangle"
    }
  }
}