<?xml version="1.0" encoding="UTF-8"?>
<ModeConfig version="1">
  <Enabled>1</Enabled>
  <DaughterboardModel>1</DaughterboardModel>
  <LocalDigitalInputCount>1</LocalDigitalInputCount>
  <NetworkDigitalInputCount>4</NetworkDigitalInputCount>
  <HasExternalTempProbe>0</HasExternalTempProbe>
  <MainTempProbe>1</MainTempProbe>
  <ErrorRecoveryEnabled>1</ErrorRecoveryEnabled>
  <LightPowerSaverTimeout>300000000</LightPowerSaverTimeout>
  <LightPowerSaverThreshold>20</LightPowerSaverThreshold>
  <EventManagers>
    <EventManager>
      <Type>1</Type>
      <Enabled>0</Enabled>
      <Control>1</Control>
      <ControlId>0</ControlId>
      <Domain>1</Domain>
      <EncoderMode>4</EncoderMode>
      <Offset>0</Offset>
      <Count>1</Count>
      <Period>204800000</Period>
      <AutoPeriodEnabled>0</AutoPeriodEnabled>
      <GateEnabled>0</GateEnabled>
    </EventManager>
    <EventManager>
      <Type>2</Type>
      <Enabled>0</Enabled>
      <Control>2</Control>
      <ControlId>0</ControlId>
      <Domain>1</Domain>
      <EncoderMode>4</EncoderMode>
      <Offset>0</Offset>
      <Count>1</Count>
      <Period>204800000</Period>
      <AutoPeriodEnabled>0</AutoPeriodEnabled>
      <GateEnabled>0</GateEnabled>
    </EventManager>
    <EventManager>
      <Type>2</Type>
      <Enabled>0</Enabled>
      <Control>2</Control>
      <ControlId>0</ControlId>
      <Domain>1</Domain>
      <EncoderMode>4</EncoderMode>
      <Offset>0</Offset>
      <Count>1</Count>
      <Period>204800000</Period>
      <AutoPeriodEnabled>0</AutoPeriodEnabled>
      <GateEnabled>0</GateEnabled>
    </EventManager>
  </EventManagers>
  <Cameras>
    <Camera>
      <Model>7</Model>
      <Capabilities>
        <RamImage>1</RamImage>
        <Prnu>0</Prnu>
        <Fpn>0</Fpn>
        <SpotSort>1</SpotSort>
        <RangeLut8k>1</RangeLut8k>
        <RangeLut16k>1</RangeLut16k>
      </Capabilities>
      <PixelClockFrequency>245760000</PixelClockFrequency>
      <PlPipeCount>2</PlPipeCount>
      <Algorithm>8</Algorithm>
      <Enabled>0</Enabled>
      <IsConnected>1</IsConnected>
      <Control>1</Control>
      <ControlId>0</ControlId>
      <InputCounterSource>1</InputCounterSource>
      <InputCounterSourceId>0</InputCounterSourceId>
      <ReadoutMode>2</ReadoutMode>
      <RamImageEnabled>0</RamImageEnabled>
      <PrnuEnabled>0</PrnuEnabled>
      <FpnEnabled>0</FpnEnabled>
      <Extensions />
      <States>
        <State>
          <Left>0</Left>
          <Top>0</Top>
          <Width>1984</Width>
          <Height>1264</Height>
          <XSubsampling>1</XSubsampling>
          <XSubsamplingMode>1</XSubsamplingMode>
          <YSubsampling>1</YSubsampling>
          <YSubsamplingMode>1</YSubsamplingMode>
          <InvertX>0</InvertX>
          <InvertY>0</InvertY>
          <AutoBlackEnabled>1</AutoBlackEnabled>
          <BlackLevel>0</BlackLevel>
          <GainRed>0</GainRed>
          <GainGreen0>0</GainGreen0>
          <GainGreen1>0</GainGreen1>
          <GainBlue>0</GainBlue>
          <GainAnalog>0</GainAnalog>
          <GainDigital>128</GainDigital>
          <KneePoints />
          <ExposureMode>1</ExposureMode>
          <MaxBatchSize>0</MaxBatchSize>
          <Delay>2250</Delay>
          <Exposure>102400000</Exposure>
          <Gap>43625</Gap>
          <AutoGapEnabled>1</AutoGapEnabled>
          <AlgorithmEnabled>0</AlgorithmEnabled>
          <Algorithm type="8">
            <Threshold1>10</Threshold1>
            <WidthThreshold>0</WidthThreshold>
            <MinWidth>0</MinWidth>
            <MaxWidth>31</MaxWidth>
            <MinSum>0</MinSum>
            <MaxFound>128</MaxFound>
            <EdgeWindow>5</EdgeWindow>
            <OutputStage>0</OutputStage>
            <SpotSortInvert>0</SpotSortInvert>
            <SpotSortType>0</SpotSortType>
          </Algorithm>
          <RamImageCount>1</RamImageCount>
        </State>
      </States>
    </Camera>
  </Cameras>
  <Lights>
    <Light>
      <Enabled>0</Enabled>
      <Control>1</Control>
      <ControlId>0</ControlId>
      <EnablePowerSaver>0</EnablePowerSaver>
      <Extensions />
      <States>
        <State>
          <Delay>0</Delay>
          <Exposure>102400000</Exposure>
          <Gap>0</Gap>
        </State>
      </States>
    </Light>
  </Lights>
  <Projectors />
  <AnalogOutputs>
    <Analog>
      <Enabled>0</Enabled>
      <Control>1</Control>
      <ControlId>0</ControlId>
      <CalA0>0</CalA0>
      <CalA1>1</CalA1>
      <AnalogOutModel>1</AnalogOutModel>
    </Analog>
  </AnalogOutputs>
  <DigitalOutputs>
    <Digital>
      <Enabled>0</Enabled>
      <Control>1</Control>
      <ControlId>0</ControlId>
      <Polarity>1</Polarity>
      <Delay>0</Delay>
      <Exposure>102400000</Exposure>
      <Gap>0</Gap>
    </Digital>
    <Digital>
      <Enabled>0</Enabled>
      <Control>1</Control>
      <ControlId>0</ControlId>
      <Polarity>1</Polarity>
      <Delay>0</Delay>
      <Exposure>102400000</Exposure>
      <Gap>0</Gap>
    </Digital>
  </DigitalOutputs>
  <SerialOutputs>
    <Serial>
      <Enabled>0</Enabled>
      <Control>2</Control>
      <ControlId>0</ControlId>
      <Mode>1</Mode>
      <BitRate>115200</BitRate>
    </Serial>
  </SerialOutputs>
  <GpioBanks>
    <GpioBank>
      <Pins />
    </GpioBank>
    <GpioBank>
      <Pins>
        <Pin type="1" events="0" />
      </Pins>
    </GpioBank>
  </GpioBanks>
  <Encoder>
    <SnapshotSource>4</SnapshotSource>
    <SnapshotSourceId>0</SnapshotSourceId>
  </Encoder>
  <Pipe>
    <Engine>1</Engine>
    <ThreadCount>1</ThreadCount>
    <QueueCapacity>8388608</QueueCapacity>
    <MaxQueueSize>8388608</MaxQueueSize>
    <MaxQueueCount>4096</MaxQueueCount>
    <UserBlockTypes>
      <Type>
        <Name>kInvertBlock</Name>
        <Description>Optionallly inverts the pixels in an input message (kMsg&lt;kImage&gt;).</Description>
      </Type>
      <Type>
        <Name>kForwardBlock</Name>
        <Description>Forwards messages from input port N to output port N.</Description>
      </Type>
      <Type>
        <Name>kBinCSum4Block</Name>
        <Description>Provides a software implementation of the BinCSum4 camera algorithm. Accepts kMsg&lt;kImage&gt; as input and produces kBinCsumMsg as output.</Description>
      </Type>
      <Type>
        <Name>kL3dDetectionBlock</Name>
        <Description>Accumulates live range data into an evenly resampled height map</Description>
      </Type>
      <Type>
        <Name>kL3dLineCalBlock</Name>
        <Description>Assembles spot data from multiple lines and views into a single formatted 2D array</Description>
      </Type>
      <Type>
        <Name>kL3dLineSamplerBlock</Name>
        <Description>Resamples input point cloud range data from one or multiple views to an even X step</Description>
      </Type>
      <Type>
        <Name>kL3dRangesBlock</Name>
        <Description>Translates spots data into ranges</Description>
      </Type>
      <Type>
        <Name>kL3dSpotsBlock</Name>
        <Description>Translates Image, FpgaSpot, FpgaCG and FpgaCG2 to kSpot</Description>
      </Type>
      <Type>
        <Name>kMp3dTracheidBlock</Name>
        <Description>Converts spots centroid values into image moments and ranges</Description>
      </Type>
      <Type>
        <Name>kS3dStripeBlock</Name>
        <Description>Stripe stereo profiling block</Description>
      </Type>
      <Type>
        <Name>kVsPrnuBlock</Name>
        <Description>Performs pixel-by-pixel correction</Description>
      </Type>
      <Type>
        <Name>kVsRateLimitBlock</Name>
        <Description>Limits message rate by only passing 1 in divisor messages</Description>
      </Type>
      <Type>
        <Name>kVsImageNoiseBlock</Name>
        <Description>Performs spatial and temporal image characterization</Description>
      </Type>
      <Type>
        <Name>kS3dImageLoaderBlock</Name>
        <Description>Stripe image sequence loading block</Description>
      </Type>
      <Type>
        <Name>kL3dSegmentSortBlock</Name>
        <Description>Segments and filters list of spots (kSpot, kFpgaSpot, kFpgaSpotWide) by continuity</Description>
      </Type>
      <Type>
        <Name>kP3dSpotCropBlock</Name>
        <Description>Finds the largest blob in the image, returns the region rect and crops the subsequent images to that region</Description>
      </Type>
      <Type>
        <Name>kS3dVolumeCheckBlock</Name>
        <Description>Combustion chamber volume</Description>
      </Type>
      <Type>
        <Name>kS3dVolumeCheckInputBlock</Name>
        <Description>Input height map</Description>
      </Type>
    </UserBlockTypes>
    <UserBlocks />
    <Routes />
  </Pipe>
  <Actions>
    <ActionTypes>
      <Type>
        <Name>kStartAction</Name>
        <Description>Starts the local node or the entire system of nodes.</Description>
      </Type>
      <Type>
        <Name>kHwCameraLogAction</Name>
        <Description>Diagnostic helper class; logs detailed camera driver information on demand.</Description>
      </Type>
      <Type>
        <Name>kEthernetTestStartAction</Name>
        <Description>Start Ethernet test</Description>
      </Type>
      <Type>
        <Name>kEthernetTestStopAction</Name>
        <Description>Stop Ethernet test</Description>
      </Type>
      <Type>
        <Name>kSerialOutTestStartAction</Name>
        <Description>Start kSerialOut test</Description>
      </Type>
      <Type>
        <Name>kSerialOutTestStopAction</Name>
        <Description>Stop kSerialOut test</Description>
      </Type>
      <Type>
        <Name>kL3dLutAction</Name>
        <Description>Write FPGA lut using L3d calibration file.</Description>
      </Type>
      <Type>
        <Name>kVsFpnAction</Name>
        <Description>Write FPN using FPN calibration file.</Description>
      </Type>
      <Type>
        <Name>kP3dLutAction</Name>
        <Description>Write FPGA lut using P3d calibration file.</Description>
      </Type>
      <Type>
        <Name>kVsPrnuAction</Name>
        <Description>Perform pixel - by - pixel correction using PRNU calibration file.</Description>
      </Type>
      <Type>
        <Name>kVaHealthHistoryFlushAction</Name>
        <Description>Flush the health history.</Description>
      </Type>
    </ActionTypes>
    <Actions />
  </Actions>
  <Net>
    <DataOut>
      <PortCount>1</PortCount>
      <QueueCapacity>8388608</QueueCapacity>
      <MaxQueueSize>8388608</MaxQueueSize>
      <MaxQueueCount>4096</MaxQueueCount>
    </DataOut>
    <DataIn>
      <Ports />
    </DataIn>
    <Health />
  </Net>
</ModeConfig>
