{
  "metadata": {
    "id": "rev-pdh",
    "name": "REV Power Distribution Hub",
    "type": "power_distribution",
    "description": "REV Power Distribution Hub (PDH) for FRC. Distributes 12V battery power to robot components with telemetry via CAN.",
    "manufacturer": "REV Robotics",
    "part_number": "REV-11-1850",
    "datasheet_url": "https://docs.revrobotics.com/pdh/",
    "tags": [
      "FRC",
      "PDH",
      "REV",
      "power distribution",
      "CAN"
    ],
    "schema_version": "1.4.0",
    "version": "0.1.0",
    "taxonomy": [
      "power.distribution",
      "robotics.frc"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "12v-main",
          "name": "12V Main Battery Bus",
          "nominal_voltage_V": 12,
          "voltage_range_V": [
            6,
            14
          ],
          "max_current_mA": 120000
        }
      ],
      "resources": [
        {
          "id": "bat-pos",
          "name": "BAT+",
          "functions": [
            {
              "name": "BAT+",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "bat-neg",
          "name": "BAT-",
          "functions": [
            {
              "name": "BAT-",
              "direction": "sink",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "can-h",
          "name": "CAN_H",
          "functions": [
            {
              "name": "CAN_H",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ]
        },
        {
          "id": "can-l",
          "name": "CAN_L",
          "functions": [
            {
              "name": "CAN_L",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ]
        },
        {
          "id": "usb-c",
          "name": "USB_C",
          "functions": [
            {
              "name": "USB_C",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ]
        },
        {
          "id": "rio-12v-pos",
          "name": "RIO_12V+",
          "functions": [
            {
              "name": "RIO_12V+",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "rio-12v-neg",
          "name": "RIO_12V-",
          "functions": [
            {
              "name": "RIO_12V-",
              "direction": "source",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "hc1-pos",
          "name": "HIGH_CURRENT[1]+",
          "functions": [
            {
              "name": "HC_POS",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main",
          "current_rating": {
            "source": {
              "max_continuous_mA": 40000
            }
          }
        },
        {
          "id": "hc1-neg",
          "name": "HIGH_CURRENT[1]-",
          "functions": [
            {
              "name": "HC_NEG",
              "direction": "source",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "hc2-pos",
          "name": "HIGH_CURRENT[2]+",
          "functions": [
            {
              "name": "HC_POS",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main",
          "current_rating": {
            "source": {
              "max_continuous_mA": 40000
            }
          }
        },
        {
          "id": "hc2-neg",
          "name": "HIGH_CURRENT[2]-",
          "functions": [
            {
              "name": "HC_NEG",
              "direction": "source",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "hc3-pos",
          "name": "HIGH_CURRENT[3]+",
          "functions": [
            {
              "name": "HC_POS",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main",
          "current_rating": {
            "source": {
              "max_continuous_mA": 40000
            }
          }
        },
        {
          "id": "hc3-neg",
          "name": "HIGH_CURRENT[3]-",
          "functions": [
            {
              "name": "HC_NEG",
              "direction": "source",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "hc4-pos",
          "name": "HIGH_CURRENT[4]+",
          "functions": [
            {
              "name": "HC_POS",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main",
          "current_rating": {
            "source": {
              "max_continuous_mA": 40000
            }
          }
        },
        {
          "id": "hc4-neg",
          "name": "HIGH_CURRENT[4]-",
          "functions": [
            {
              "name": "HC_NEG",
              "direction": "source",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "hc5-pos",
          "name": "HIGH_CURRENT[5]+",
          "functions": [
            {
              "name": "HC_POS",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main",
          "current_rating": {
            "source": {
              "max_continuous_mA": 40000
            }
          }
        },
        {
          "id": "hc5-neg",
          "name": "HIGH_CURRENT[5]-",
          "functions": [
            {
              "name": "HC_NEG",
              "direction": "source",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "hc6-pos",
          "name": "HIGH_CURRENT[6]+",
          "functions": [
            {
              "name": "HC_POS",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main",
          "current_rating": {
            "source": {
              "max_continuous_mA": 40000
            }
          }
        },
        {
          "id": "hc6-neg",
          "name": "HIGH_CURRENT[6]-",
          "functions": [
            {
              "name": "HC_NEG",
              "direction": "source",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "lc1-pos",
          "name": "LOW_CURRENT[1]+",
          "functions": [
            {
              "name": "LC_POS",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main",
          "current_rating": {
            "source": {
              "max_continuous_mA": 15000
            }
          }
        },
        {
          "id": "lc1-neg",
          "name": "LOW_CURRENT[1]-",
          "functions": [
            {
              "name": "LC_NEG",
              "direction": "source",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "lc2-pos",
          "name": "LOW_CURRENT[2]+",
          "functions": [
            {
              "name": "LC_POS",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main",
          "current_rating": {
            "source": {
              "max_continuous_mA": 15000
            }
          }
        },
        {
          "id": "lc2-neg",
          "name": "LOW_CURRENT[2]-",
          "functions": [
            {
              "name": "LC_NEG",
              "direction": "source",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        },
        {
          "id": "lc3-pos",
          "name": "LOW_CURRENT[3]+",
          "functions": [
            {
              "name": "LC_POS",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-main",
          "current_rating": {
            "source": {
              "max_continuous_mA": 15000
            }
          }
        },
        {
          "id": "lc3-neg",
          "name": "LOW_CURRENT[3]-",
          "functions": [
            {
              "name": "LC_NEG",
              "direction": "source",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-main"
        }
      ],
      "interfaces": [
        {
          "id": "battery-in",
          "name": "Battery Input",
          "protocol": {
            "type": "power",
            "role": "sink"
          },
          "requires": [
            {
              "function": "BAT+",
              "count": 1
            },
            {
              "function": "BAT-",
              "count": 1
            }
          ],
          "max_instances": 1
        },
        {
          "id": "can-bus",
          "name": "CAN Bus",
          "protocol": {
            "type": "can",
            "role": "slave"
          },
          "requires": [
            {
              "function": "CAN_H",
              "count": 1
            },
            {
              "function": "CAN_L",
              "count": 1
            }
          ],
          "max_instances": 1
        },
        {
          "id": "rio-power-out",
          "name": "roboRIO Power Output",
          "protocol": {
            "type": "power",
            "role": "source"
          },
          "requires": [
            {
              "function": "RIO_12V+",
              "count": 1
            },
            {
              "function": "RIO_12V-",
              "count": 1
            }
          ],
          "max_instances": 1
        },
        {
          "id": "high-current-out",
          "name": "High Current Output (40A)",
          "protocol": {
            "type": "power",
            "role": "source"
          },
          "requires": [
            {
              "function": "HC_POS",
              "count": 1
            },
            {
              "function": "HC_NEG",
              "count": 1
            }
          ],
          "max_instances": 20
        },
        {
          "id": "low-current-out",
          "name": "Low Current Output (15A)",
          "protocol": {
            "type": "power",
            "role": "source"
          },
          "requires": [
            {
              "function": "LC_POS",
              "count": 1
            },
            {
              "function": "LC_NEG",
              "count": 1
            }
          ],
          "max_instances": 3
        }
      ]
    }
  ],
  "node_geometry": {
    "xScale": 1,
    "yScale": 3,
    "outline": {
      "preset": "rounded_rectangle"
    }
  }
}