<Vendor Name="KulpLights">
	<Controller Name="F32-B">
		<Variant Name="4 Serial" ID="F32-B-44" Base="FPP:FPPStringCape">
			<MaxPixelPort>44</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
		</Variant>
		<Variant Name="8 Serial" ID="F32-B" Base="FPP:FPPStringCape">
			<MaxPixelPort>40</MaxPixelPort>
			<MaxSerialPort>8</MaxSerialPort>
		</Variant>
		<Variant Name="No Serial" ID="F32-B-48" Base="FPP:FPPStringCape">
			<MaxPixelPort>48</MaxPixelPort>
			<MaxSerialPort>0</MaxSerialPort>
			<MaxSerialPortChannels>0</MaxSerialPortChannels>
		</Variant>
	</Controller>
	<Controller Name="F40D-PB">
		<Variant Name="4 Serial" ID="F40D-PB-36" Base="FPP:FPPStringCape">
			<MaxPixelPort>36</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
		</Variant>
		<Variant Name="8 Serial" ID="F40D-PB" Base="FPP:FPPStringCape">
			<MaxPixelPort>32</MaxPixelPort>
			<MaxSerialPort>8</MaxSerialPort>
		</Variant>
		<Variant Name="No Serial" ID="F40D-PB-40" Base="FPP:FPPStringCape">
			<MaxPixelPort>40</MaxPixelPort>
			<MaxSerialPort>0</MaxSerialPort>
			<MaxSerialPortChannels>0</MaxSerialPortChannels>
			<fpp>1</fpp>
			<fpp1>13,16</fpp1>
		</Variant>
	</Controller>
	<Controller Name="F8-B">
		<Variant Name="4 Serial" ID="F8-B-16" Base="FPP:FPPStringCape">
			<MaxPixelPort>16</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
		</Variant>
		<Variant Name="8 Serial" ID="F8-B" Base="FPP:FPPStringCape">
			<MaxPixelPort>12</MaxPixelPort>
			<MaxSerialPort>8</MaxSerialPort>
		</Variant>
		<Variant Name="No Serial" ID="F8-B-20" Base="FPP:FPPStringCape">
			<MaxPixelPort>20</MaxPixelPort>
			<MaxSerialPort>0</MaxSerialPort>
			<MaxSerialPortChannels>0</MaxSerialPortChannels>
		</Variant>
		<Variant Name="4 Serial w/Expansion" ID="F8-B-EXP-32" Base="FPP:FPPStringCape">
			<MaxPixelPort>32</MaxPixelPort>
			<MaxSerialPort>4</MaxSerialPort>
			<fpp>1</fpp>
			<fpp1>17,16</fpp1>
		</Variant>
		<Variant Name="8 Serial w/Expansion" ID="F8-B-EXP" Base="FPP:FPPStringCape">
			<MaxPixelPort>28</MaxPixelPort>
			<MaxSerialPort>8</MaxSerialPort>
			<fpp>1</fpp>
			<fpp1>13,16</fpp1>
		</Variant>
		<Variant Name="No Serial w/ Expansion" ID="F8-B-EXP-36" Base="FPP:FPPStringCape">
			<MaxPixelPort>36</MaxPixelPort>
			<MaxSerialPort>0</MaxSerialPort>
			<MaxSerialPortChannels>0</MaxSerialPortChannels>
			<fpp>1</fpp>
			<fpp1>21,16</fpp1>
		</Variant>
	</Controller>
    <Controller Name="K8">
        <Variant Name="K8-Max" ID="K8-Max" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>24</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fppSerialPort1>DMX</fppSerialPort1>
        </Variant>
        <Variant Name="K8-Pro" ID="K8-Pro" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>24</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fppSerialPort1>DMX</fppSerialPort1>
        </Variant>
        <Variant Name="K8" ID="K8" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>16</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fppSerialPort1>DMX</fppSerialPort1>
        </Variant>
        <Variant Name="K8-B" ID="K8-B" Base="FPP:FPPStringCapeTTYs">
            <MaxPixelPort>20</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fpp>1</fpp>
            <fpp1>21,-1</fpp1>
            <fppSerialPort1>ttyS1</fppSerialPort1>
            <fppSerialPort2>ttyS2</fppSerialPort2>
            <SupportsMultipleSimultaneousOutputProtocols/>
        </Variant>
        <Variant Name="K8-B w/Expansion" ID="K8-B" Base="FPP:FPPStringCapeTTYs">
            <MaxPixelPort>36</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fpp>1</fpp>
            <fpp1>21,16</fpp1>
            <fppSerialPort1>ttyS1</fppSerialPort1>
            <fppSerialPort2>ttyS2</fppSerialPort2>
            <SupportsMultipleSimultaneousOutputProtocols/>
        </Variant>
        <Variant Name="K8-PB" ID="K8-PB" Base="FPP:FPPStringCapeTTYs">
            <MaxPixelPort>20</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fpp>1</fpp>
            <fpp1>21,-1</fpp1>
            <fppSerialPort1>ttyS2</fppSerialPort1>
        </Variant>
        <Variant Name="K8-PB w/Expansion" ID="K8-PB" Base="FPP:FPPStringCapeTTYs">
            <MaxPixelPort>36</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fpp>1</fpp>
            <fpp1>21,16</fpp1>
            <fppSerialPort1>ttyS2</fppSerialPort1>
        </Variant>
        <Variant Name="K8-B-Scroller" ID="K8-B-Scroller" Base="FPP:FPPStringCapeTTYs">
            <MaxPixelPort>12</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fppSerialPort1>ttyS1</fppSerialPort1>
            <fppSerialPort2>ttyS2</fppSerialPort2>
            <SupportsLEDPanelMatrix/>
            <SupportsMultipleSimultaneousOutputProtocols/>
        </Variant>
        <Variant Name="K8-Pi" ID="K8-Pi" Base="FPP:FPPStringDPIPiHat">
            <MaxPixelPort>20</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fppSerialPort1>ttyAMA0</fppSerialPort1>
            <SupportsVirtualMatrix/>
            <SupportsLEDPanelMatrix/>
            <SupportsAutoLayout/>
            <fpp>1</fpp>
            <fpp1>21,-1</fpp1>
        </Variant>
        <Variant Name="K8-Pi w/Expansion" ID="K8-Pi" Base="FPP:FPPStringDPIPiHat">
            <MaxPixelPort>36</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fppSerialPort1>ttyAMA0</fppSerialPort1>
            <SupportsVirtualMatrix/>
            <SupportsLEDPanelMatrix/>
            <SupportsAutoLayout/>
            <NumberOfBanks>2</NumberOfBanks>
            <BankSize>16</BankSize>
            <fpp>1</fpp>
            <fpp1>21,16</fpp1>
        </Variant>
    </Controller>
    <Controller Name="K16">
        <Variant Name="K16A-B" ID="K16A-B" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>32</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fpp>1</fpp>
            <fpp1>33,-1</fpp1>
            <fppSerialPort1>ttyS1</fppSerialPort1>
            <fppSerialPort2>ttyS2</fppSerialPort2>
        </Variant>
        <Variant Name="K16A-B w/ Expansion" ID="K16A-B" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>48</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fpp>1</fpp>
            <fpp1>33,16</fpp1>
            <fppSerialPort1>ttyS1</fppSerialPort1>
            <fppSerialPort2>ttyS2</fppSerialPort2>
        </Variant>
        <Variant Name="K16-Max" ID="K16-Max" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>48</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fppSerialPort1>DMX1</fppSerialPort1>
            <fppSerialPort2>DMX2</fppSerialPort2>
            <SupportsMultipleSimultaneousOutputProtocols/>
        </Variant>
        <Variant Name="K16-Pro" ID="K16-Pro" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>48</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fppSerialPort1>DMX1</fppSerialPort1>
            <fppSerialPort2>DMX2</fppSerialPort2>
            <SupportsMultipleSimultaneousOutputProtocols/>
        </Variant>
        <Variant Name="K16" ID="K16" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>32</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fppSerialPort1>DMX</fppSerialPort1>
        </Variant>
    </Controller>
    <Controller Name="K32">
        <Variant Name="K32A-B" ID="K32A-B" Base="FPP:FPPStringCapeTTYs">
            <MaxPixelPort>48</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fppSerialPort1>ttyS1</fppSerialPort1>
            <fppSerialPort2>ttyS2</fppSerialPort2>
            <SupportsMultipleSimultaneousOutputProtocols/>
        </Variant>
        <Variant Name="K32-Max" ID="K32-Max" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>64</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fppSerialPort1>DMX1</fppSerialPort1>
            <fppSerialPort2>DMX2</fppSerialPort2>
            <SupportsMultipleSimultaneousOutputProtocols/>
        </Variant>
        <Variant Name="K32-Pro" ID="K32-Pro" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>64</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fppSerialPort1>DMX1</fppSerialPort1>
            <fppSerialPort2>DMX2</fppSerialPort2>
            <SupportsMultipleSimultaneousOutputProtocols/>
        </Variant>
        <Variant Name="K32" ID="K32" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>48</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fppSerialPort1>DMX</fppSerialPort1>
        </Variant>
    </Controller>
    <Controller Name="K4-PB">
        <Variant Name="" ID="K4-PB" Base="FPP:FPPStringCapeTTYs">
            <MaxPixelPort>4</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fppSerialPort1>ttyS4</fppSerialPort1>
        </Variant>
    </Controller>
    <Controller Name="K40D-PB">
        <Variant Name="" ID="K40D-PB" Base="FPP:FPPStringCapeTTYs">
            <MaxPixelPort>40</MaxPixelPort>
            <MaxSerialPort>1</MaxSerialPort>
            <fppSerialPort1>ttyS4</fppSerialPort1>
        </Variant>
    </Controller>
    <Controller Name="K64D-B">
        <Variant Name="" ID="K64D-B" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>64</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fppSerialPort1>ttyS1</fppSerialPort1>
            <fppSerialPort2>ttyS2</fppSerialPort2>
        </Variant>
    </Controller>
    <Controller Name="K128D-B">
        <Variant Name="" ID="K128D-B" Base="FPP:FPPShiftStringCape">
            <MaxPixelPort>128</MaxPixelPort>
            <MaxSerialPort>2</MaxSerialPort>
            <fppSerialPort1>ttyS1</fppSerialPort1>
            <fppSerialPort2>ttyS2</fppSerialPort2>
        </Variant>
    </Controller>

    <Controller Name="K2-Pi0">
        <Variant Name="No Expansion" ID="K2-Pi0" Base="FPP:FPPStringDPIPiHat">
            <MaxPixelPort>2</MaxPixelPort>
            <MaxSerialPort>0</MaxSerialPort>
            <SupportsVirtualMatrix/>
            <SupportsLEDPanelMatrix/>
            <SupportsAutoLayout/>
        </Variant>
    </Controller>
    <Controller Name="K2-Pi-Servo">
        <Variant Name="No Expansion" ID="K2-Pi-Servo" Base="FPP:FPPStringDPIPiHat">
            <MaxPixelPort>2</MaxPixelPort>
            <MaxSerialPort>0</MaxSerialPort>
            <MaxPWMPort>16</MaxPWMPort>
            <SupportsVirtualMatrix/>
            <SupportsLEDPanelMatrix/>
            <SupportsAutoLayout/>
            <SupportsPWM/>
            <ExtraProperties>
                <Property name="PWMFrequency" label="PWM Frequency">
                    <Tip></Tip>
                    <Type>Enum</Type>
                    <Default>50hz</Default>
                    <Values>
                        <Value>50hz</Value>
                        <Value>80hz</Value>
                        <Value>100hz</Value>
                        <Value>120hz</Value>
                        <Value>150hz</Value>
                        <Value>200hz</Value>
                        <Value>240hz</Value>
                        <Value>250hz</Value>
                    </Values>
                </Property>
            </ExtraProperties>
        </Variant>
    </Controller>

    <Controller Name="OctoPlus">
        <Variant Name="" ID="OctoPlus" Base="FPP:BaseFPPSettings">
            <MaxPixelPort>0</MaxPixelPort>
            <MaxSerialPort>0</MaxSerialPort>
            <MaxSerialPortChannels>0</MaxSerialPortChannels>
            <MaxPixelPortChannels>0</MaxPixelPortChannels>
            <SupportsLEDPanelMatrix/>
            <SupportsAutoLayout/>
            <PixelProtocols>
            </PixelProtocols>
            <SerialProtocols>
            </SerialProtocols>
        </Variant>
    </Controller>
    <Controller Name="PocketScroller">
        <Variant Name="" ID="PocketScroller" Base="FPP:BaseFPPSettings">
            <MaxPixelPort>0</MaxPixelPort>
            <MaxSerialPort>0</MaxSerialPort>
            <MaxSerialPortChannels>0</MaxSerialPortChannels>
            <MaxPixelPortChannels>0</MaxPixelPortChannels>
            <SupportsLEDPanelMatrix/>
            <SupportsAutoLayout/>
            <PixelProtocols>
            </PixelProtocols>
            <SerialProtocols>
            </SerialProtocols>
        </Variant>
    </Controller>
</Vendor>
