{
  "metadata": {
    "id": "frc-compressor",
    "name": "FRC Compressor",
    "type": "actuator",
    "description": "Generic FRC Compressor. Supplies compressed air to the robot's pneumatic system. Usually controlled by a Pneumatic Hub (PH).",
    "manufacturer": "Various (Viair, Thomas)",
    "part_number": "FRC Compressor",
    "datasheet_url": "https://docs.wpilib.org/en/stable/docs/controls-overviews/control-system-hardware.html#pneumatics",
    "tags": [
      "FRC",
      "compressor",
      "pneumatic",
      "air"
    ],
    "schema_version": "1.4.0",
    "version": "0.1.0",
    "taxonomy": [
      "actuator.compressor",
      "robotics.frc"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "12v-motor",
          "name": "12V Motor Power",
          "nominal_voltage_V": 12,
          "voltage_range_V": [
            10,
            14
          ],
          "max_current_mA": 15000
        }
      ],
      "resources": [
        {
          "id": "vin-pos",
          "name": "VIN+",
          "functions": [
            {
              "name": "VIN+",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "12v-motor"
        },
        {
          "id": "vin-neg",
          "name": "VIN-",
          "functions": [
            {
              "name": "VIN-",
              "direction": "sink",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "12v-motor"
        }
      ],
      "interfaces": [
        {
          "id": "power-in",
          "name": "Power Input",
          "protocol": {
            "type": "power",
            "role": "sink"
          },
          "requires": [
            {
              "function": "VIN+",
              "count": 1
            },
            {
              "function": "VIN-",
              "count": 1
            }
          ],
          "max_instances": 1,
          "description": "Power from Pneumatic Hub compressor output"
        }
      ]
    },
    {
      "domain": "pneumatic",
      "resources": [
        {
          "id": "port-out",
          "name": "Air Port Out",
          "functions": [
            {
              "name": "AIR_OUT",
              "direction": "source",
              "signal_class": "fluid"
            }
          ],
          "connector_type": "quick_connect",
          "working_pressure_bar": 8.3,
          "max_pressure_bar": 8.3
        }
      ],
      "interfaces": [
        {
          "id": "air-out",
          "name": "Air Supply",
          "protocol": {
            "type": "pneumatic",
            "role": "supply"
          },
          "requires": [
            {
              "function": "AIR_OUT",
              "count": 1
            }
          ],
          "max_instances": 1
        }
      ],
      "metadata": {
        "working_medium": "compressed_air",
        "compressor_required": false
      }
    }
  ],
  "node_geometry": {
    "xScale": 1,
    "yScale": 1,
    "outline": {
      "preset": "rounded_rectangle"
    }
  }
}