<Vendor Name="Falcon">
    <AbstractVariant Name="BaseFalconSettings">
        <SupportsUpload/>
        <SupportsInputOnlyUpload/>
        <!--SupportsAutoUpload/-->
        
		<SupportsPixelPortCommonSettings/>
        <SupportsPixelZigZag/>
        <MaxZigZag>512</MaxZigZag>
        
		<SupportsFullxLightsControl/>

        <SupportsMultipleSimultaneousOutputProtocols/>
        <SupportsMultipleSimultaneousInputProtocols/>
        <UniversesMustBeInNumericalOrder/>
        
        <!--SupportsLEDPanelMatrix/-->
        <!--AllInputUniversesMustBeSameSize/-->
        <!--UniversesMustBeSequential/-->
        <!--NoWebUI/-->
        <SupportsVirtualStrings/>
        <SupportsAutoLayout/>
        <!--MergeConsecutiveVirtualStrings/-->
		<SupportsRemotes/>
        <SupportsDefaultBrightness/>

        <MaxInputUniverses>96</MaxInputUniverses>
        <MaxSerialPortChannels>512</MaxSerialPortChannels>
        <SerialProtocols>
            <Protocol>dmx</Protocol>
            <Protocol>renard</Protocol>
            <Protocol>pixelnet</Protocol>
        </SerialProtocols>
        <PixelProtocols>
            <Protocol>ws2811</Protocol>
            <Protocol>tm18xx</Protocol>
            <Protocol>lx1203</Protocol>
            <Protocol>ws2801</Protocol>
            <Protocol>tls3001</Protocol>
            <Protocol>lpd6803</Protocol>
            <Protocol>gece</Protocol>
            <Protocol>lpd8806</Protocol>
            <Protocol>apa102</Protocol>
            <Protocol>ucs2903</Protocol>
            <Protocol>tm1814a</Protocol>
        </PixelProtocols>
        <ConfigDriver>Falcon</ConfigDriver>
    </AbstractVariant>
    <AbstractVariant Name="BaseFalconV2Settings" Base="Falcon:BaseFalconSettings">
        <MaxPixelPortChannels>2040</MaxPixelPortChannels>
        <InputProtocols>
            <Protocol>e131</Protocol>
            <Protocol>artnet</Protocol>
        </InputProtocols>
		<FPS40Pixels>680</FPS40Pixels>
    </AbstractVariant>
    <AbstractVariant Name="BaseFalconV3Settings" Base="Falcon:BaseFalconSettings">
        <SupportsSmartRemotes>3</SupportsSmartRemotes>
        <AllSmartRemoteTypesPerPortMustBeSame/>
        <MaxPixelPortChannels>3072</MaxPixelPortChannels>
        <MaxDDPChannels>42000</MaxDDPChannels>
        <SupportsDefaultGamma/>
        <InputProtocols>
            <Protocol>e131</Protocol>
            <Protocol>artnet</Protocol>
            <Protocol>zcpp</Protocol>
            <Protocol>ddp</Protocol>
        </InputProtocols>
		<NeedsDDPInputUpload/>
        <SmartRemoteTypes>
            <Type>falcon_v1</Type>
        </SmartRemoteTypes>
		<FPS40Pixels>680</FPS40Pixels>
    </AbstractVariant>
	<Controller Name="F4V2">
		<Variant Name="No Expansion Board" Base="Falcon:BaseFalconV2Settings">
			<MaxPixelPort>4</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
		</Variant>
		<Variant Name="One Expansion Board" Base="Falcon:BaseFalconV2Settings">
			<MaxPixelPort>12</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
		</Variant>
	</Controller>
	<Controller Name="F4V3">
		<Variant Name="No Expansion Board" Base="Falcon:BaseFalconV3Settings">
			<MaxPixelPort>4</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
		</Variant>
		<Variant Name="One Expansion Board" Base="Falcon:BaseFalconV3Settings">
			<MaxPixelPort>12</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
		</Variant>
	</Controller>
	<Controller Name="F16V2">
		<Variant Name="No Expansion Boards" Base="Falcon:BaseFalconV2Settings">
			<MaxPixelPort>16</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
		</Variant>
		<Variant Name="One Expansion Board" Base="Falcon:BaseFalconV2Settings">
			<MaxPixelPort>32</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
		</Variant>
	</Controller>
	<Controller Name="F16V2R">
		<Variant Name="No Expansion Boards" Base="Falcon:BaseFalconV2Settings">
			<MaxPixelPort>16</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
			<NumberOfBanks>1</NumberOfBanks>
            <BankSize>16</BankSize>
		</Variant>
		<Variant Name="No Expansion + Serial Port Remotes" Base="Falcon:BaseFalconV2Settings">
			<MaxPixelPort>20</MaxPixelPort>
			<MaxSerialPort>0</MaxSerialPort>
			<NumberOfBanks>2</NumberOfBanks>
            <BankSize>16</BankSize>
		</Variant>
		<Variant Name="One Expansion Board" Base="Falcon:BaseFalconV2Settings">
			<MaxPixelPort>32</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
			<NumberOfBanks>2</NumberOfBanks>
            <BankSize>16</BankSize>
		</Variant>
	</Controller>
	<Controller Name="F16V3">
		<Variant Name="No Expansion Boards" Base="Falcon:BaseFalconV3Settings">
			<MaxPixelPort>16</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
		</Variant>
		<Variant Name="No Expansion + Serial Port Remotes" Base="Falcon:BaseFalconV3Settings">
			<MaxPixelPort>20</MaxPixelPort>
			<MaxSerialPort>0</MaxSerialPort>
			<NumberOfBanks>2</NumberOfBanks>
            <BankSize>16</BankSize>
		</Variant>
		<Variant Name="One Expansion Board" Base="Falcon:BaseFalconV3Settings">
			<MaxPixelPort>32</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
			<NumberOfBanks>2</NumberOfBanks>
            <BankSize>16</BankSize>
		</Variant>
		<Variant Name="One Expansion + Serial Port Remotes" Base="Falcon:BaseFalconV3Settings">
			<MaxPixelPort>36</MaxPixelPort>
			<MaxSerialPort>0</MaxSerialPort>
			<NumberOfBanks>3</NumberOfBanks>
            <BankSize>16</BankSize>
		</Variant>
		<Variant Name="Two Expansion Boards" Base="Falcon:BaseFalconV3Settings">
			<MaxPixelPort>48</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
			<NumberOfBanks>3</NumberOfBanks>
            <BankSize>16</BankSize>
		</Variant>
	</Controller>
	<Controller Name="F48">
		<Variant Name="" Base="Falcon:BaseFalconV3Settings">
			<MaxPixelPort>48</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
			<NumberOfBanks>3</NumberOfBanks>
            <BankSize>16</BankSize>
		</Variant>
	</Controller>
    <AbstractVariant Name="BaseV4FalconSettings">
        <SupportsUpload/>
        <SupportsInputOnlyUpload/>
		<SupportsPixelPortCommonSettings/>
        <SupportsPixelZigZag/>
        <MaxZigZag>512</MaxZigZag>
		<SupportsFullxLightsControl/>
        <SupportsMultipleSimultaneousOutputProtocols/>
        <SupportsMultipleSimultaneousInputProtocols/>
        <SupportsVirtualStrings/>
        <SupportsAutoLayout/>
        <!--MergeConsecutiveVirtualStrings/-->
        <SupportsPixelPortEndNullPixels/>
        <MaxStartNulls>20</MaxStartNulls>
        <MaxEndNulls>20</MaxEndNulls>
        <MaxGroup>100</MaxGroup>
        <MinGroup>1</MinGroup>
        <AllSmartRemoteTypesPerPortMustBeSame/>
        <SupportsDefaultBrightness/>
        <SupportsDefaultGamma/>
        <MaxInputUniverses>192</MaxInputUniverses>
        <MaxSerialPortChannels>512</MaxSerialPortChannels>
		<PreferredInputProtocol>DDP</PreferredInputProtocol>
        <SerialProtocols>
            <Protocol>dmx</Protocol>
            <Protocol>renard</Protocol>
        </SerialProtocols>
        <PixelProtocols>
            <Protocol>ws2811</Protocol>
			<Protocol>apa102</Protocol>
			<Protocol>apa109</Protocol>
			<Protocol>lpd6803</Protocol>
			<Protocol>lpd8806</Protocol>
			<Protocol>sm16716</Protocol>
			<Protocol>tls3001</Protocol>
			<Protocol>tm1814</Protocol>
			<Protocol>tm1829</Protocol>
			<Protocol>ucs8903</Protocol>
			<Protocol>ucs8903 16 bit</Protocol>
			<Protocol>ucs8904</Protocol>
			<Protocol>ucs8904 16 bit</Protocol>
			<Protocol>ws2801</Protocol>
			<Protocol>ws2811</Protocol>
			<Protocol>ws2811 slow</Protocol>
			<Protocol>dmx512p</Protocol>
			<Protocol>dmx512p-4</Protocol>
			<Protocol>sj1221</Protocol>
			<Protocol>sm16825</Protocol>
			<Protocol>sm16825 16 bit</Protocol>
		</PixelProtocols>
        <InputProtocols>
            <Protocol>e131</Protocol>
            <Protocol>artnet</Protocol>
            <Protocol>ddp</Protocol>
            <Protocol>zcpp</Protocol>
        </InputProtocols>
        <SmartRemoteTypes>
            <Type>falcon_v2</Type>
        </SmartRemoteTypes>
        <ConfigDriver>Falcon</ConfigDriver>
		<FPS40Pixels>704</FPS40Pixels>
    </AbstractVariant>
	<Controller Name="F16V4">
		<Variant Name="16 Local Ports" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>16</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>3072</MaxPixelPortChannels>
            <v4BoardMode>0</v4BoardMode>
		</Variant>
		<Variant Name="16 Local Ports + 2 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>24</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>3072</MaxPixelPortChannels>
            <v4BoardMode>1</v4BoardMode>
			<SupportsRemotes/>
			<SupportsSmartRemotes>6</SupportsSmartRemotes>
		</Variant>
		<Variant Name="16 + 16 Local Ports" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>32</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>3072</MaxPixelPortChannels>
            <v4BoardMode>2</v4BoardMode>
		</Variant>
		<Variant Name="16 + 16 Local Ports + 2 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>40</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>2112</MaxPixelPortChannels>
            <v4BoardMode>3</v4BoardMode>
			<SupportsRemotes/>
			<SupportsSmartRemotes>6</SupportsSmartRemotes>
		</Variant>
		<Variant Name="16 Local Ports + 4 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>32</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>3072</MaxPixelPortChannels>
            <v4BoardMode>4</v4BoardMode>
			<SupportsRemotes/>
			<SupportsSmartRemotes>6</SupportsSmartRemotes>
		</Variant>
		<Variant Name="16 Local Ports + 4 + 2 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>40</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>2112</MaxPixelPortChannels>
            <v4BoardMode>5</v4BoardMode>
			<SupportsRemotes/>
			<SupportsSmartRemotes>6</SupportsSmartRemotes>
		</Variant>
		<Variant Name="16 + 16 + 16 Local Ports" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>48</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>2112</MaxPixelPortChannels>
            <v4BoardMode>6</v4BoardMode>
		</Variant>
		<Variant Name="16 + 16 Local Ports + 4 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>48</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>2112</MaxPixelPortChannels>
            <v4BoardMode>7</v4BoardMode>
			<SupportsRemotes/>
			<SupportsSmartRemotes>6</SupportsSmartRemotes>
		</Variant>
		<Variant Name="16 + 4 Smart Receiver Chains + 16 Local Ports" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>48</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>2112</MaxPixelPortChannels>
            <v4BoardMode>8</v4BoardMode>
			<SupportsRemotes/>
			<SupportsSmartRemotes>6</SupportsSmartRemotes>
		</Variant>
		<Variant Name="16 Local Ports + 4 + 4 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>48</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>2112</MaxPixelPortChannels>
      <v4BoardMode>9</v4BoardMode>
			<SupportsRemotes/>
			<SupportsSmartRemotes>6</SupportsSmartRemotes>
		</Variant>
	</Controller>
	<Controller Name="F48V4">
		<Variant Name="4 + 4 + 4 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>48</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>2112</MaxPixelPortChannels>
       <v4BoardMode>10</v4BoardMode>
			<SupportsRemotes/>
			<SupportsSmartRemotes>6</SupportsSmartRemotes>
		</Variant>
		<Variant Name="4 + 4 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>32</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>3072</MaxPixelPortChannels>
            <v4BoardMode>11</v4BoardMode>
			<SupportsRemotes/>
			<SupportsSmartRemotes>6</SupportsSmartRemotes>
		</Variant>
	</Controller>
	<Controller Name="F16V5">
		<Variant Name="16 Local Ports + 4 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
			<MaxPixelPort>32</MaxPixelPort>
			<MaxSerialPort>1</MaxSerialPort>
			<MaxPixelPortChannels>3072</MaxPixelPortChannels>
			<v4BoardMode>4</v4BoardMode>
			<SupportsRemotes/>
			<SupportsSmartRemotes>6</SupportsSmartRemotes>
			<SupportsDefaultGamma/>
		</Variant>
	</Controller>
  <Controller Name="F48V5">
    <Variant Name="4 + 4 + 4 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
      <MaxPixelPort>48</MaxPixelPort>
      <MaxSerialPort>1</MaxSerialPort>
      <MaxPixelPortChannels>2112</MaxPixelPortChannels>
      <v4BoardMode>10</v4BoardMode>
      <SupportsRemotes/>
      <SupportsSmartRemotes>6</SupportsSmartRemotes>
    </Variant>
    <Variant Name="4 + 4 Smart Receiver Chains" Base="Falcon:BaseV4FalconSettings">
      <MaxPixelPort>32</MaxPixelPort>
      <MaxSerialPort>1</MaxSerialPort>
      <MaxPixelPortChannels>3072</MaxPixelPortChannels>
      <v4BoardMode>11</v4BoardMode>
      <SupportsRemotes/>
      <SupportsSmartRemotes>6</SupportsSmartRemotes>
    </Variant>
  </Controller>
  <Controller Name="PiCap V2">
        <Variant Name="" ID="PiCap-v2" Base="FPP:FPPStringDPIPiHat">
            <MaxPixelPort>4</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fppSerialPort1>ttyAMA0</fppSerialPort1>
            <SupportsVirtualMatrix/>
            <SupportsAutoLayout/>
        </Variant>
  </Controller>
  <Controller Name="F-Prop">
	    <Variant Name="">
			<MaxPixelPort>2</MaxPixelPort>
			<MaxPixelPortChannels>3072</MaxPixelPortChannels>
            <MaxSerialPort>0</MaxSerialPort>
			<SupportsAutoLayout/>
			<FPS40Pixels>680</FPS40Pixels>
			<PixelProtocols>
				<Protocol>ws2811</Protocol>
			</PixelProtocols>
			<ConfigDriver>Falcon</ConfigDriver>
            <InputProtocols>
                <Protocol>ddp</Protocol>
            </InputProtocols>
            <PreferredInputProtocol>DDP</PreferredInputProtocol>
		</Variant>
  </Controller>
</Vendor>
