Definition Type: Element
Name: mode
Containing Schema: BFML-CL.xsd
MinOccurs 1
MaxOccurs unbounded
Abstract
Collapse XSD Schema Diagram:
Drilldown into timing_sequencer_aux Drilldown into timing_sequencer Drilldown into serial_com Drilldown into device_commands Drilldown into bitflow_regs Drilldown into io Drilldown into mode_roi Drilldown into comments Drilldown into nameXSD Diagram of mode
Collapse XSD Schema Code:
<xs:element name="mode" minOccurs="1" maxOccurs="unbounded">
    <xs:complexType>
        <xs:all>
            <xs:element name="comments" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>This should be a short description of the mode. The mode comment is displayed in some application.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="mode_roi" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>If this mode acquires a smaller resolution image than the camera puts out, this section can be used to specify the ROI.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:all>
                        <xs:element name="format" type="xs:string" minOccurs="0" maxOccurs="1">
                            <xs:annotation>
                                <xs:documentation>This node describes the Camera Link output tap format for this mode. This node should be in the standard CL tap format syntax:

[ZoneX]X[TapX][ExtX]-[ZoneY]Y[TapY][ExtY]

Optionally this node can be set to "Custom", in which case the node "manual_taps" must be filled out.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="xsize" type="xs:unsignedInt" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>Width of the ROI in pixels.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="ysize" type="xs:unsignedInt" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>Height of this ROI in lines.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="xoffset" type="xs:unsignedInt" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>X-Offset from the first pixel in the frame. Units are pixels.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="yoffset" type="xs:unsignedInt" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>Y-Offset from the first line in the image. Units are lines.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="bitdepth" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>This can be used to specify the pixel bit depth if this mode uses a different depth than the default.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:simpleContent>
                                    <xs:extension base="xs:unsignedByte">
                                        <xs:attribute name="packed" use="optional">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:enumeration value="no" />
                                                    <xs:enumeration value="yes" />
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:attribute>
                                        <xs:attribute name="bitdepth_option" use="optional">
                                            <xs:annotation>
                                                <xs:documentation>Normal - Normal
RGBSwap - for RGB color cameras, pixels are DMAed BGR
FormatIgnore - Use when the tap format refers to bytes and not pixels
FormatIgnoreRGBSwap - combindation of the the two above</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:enumeration value="Normal" />
                                                    <xs:enumeration value="RGBSwap" />
                                                    <xs:enumeration value="FormatIgnore" />
                                                    <xs:enumeration value="FormatIgnoreRGBSwap" />
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:attribute>
                                    </xs:extension>
                                </xs:simpleContent>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="manual_taps" minOccurs="0" maxOccurs="1">
                            <xs:annotation>
                                <xs:documentation>This can be use to manually program the CL front end for unusual tap formats.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="tap" minOccurs="1" maxOccurs="10">
                                        <xs:complexType>
                                            <xs:sequence>
                                                <xs:element name="start" type="xs:string" minOccurs="1" maxOccurs="1">
                                                    <xs:annotation>
                                                        <xs:documentation>Tap number (0 - 10) to acquire.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:element>
                                                <xs:element name="step" type="xs:string" minOccurs="1" maxOccurs="1">
                                                    <xs:annotation>
                                                        <xs:documentation>Step to next sequence.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:element>
                                            </xs:sequence>
                                        </xs:complexType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="cam_line_width" minOccurs="0" maxOccurs="1">
                            <xs:annotation>
                                <xs:documentation>Used when: 1. camera line width is not a multiple of 16-bytes, 2. subwindowing segmented camera, 3. modes where there are vertical taps (e.g. 2XE-2YE)</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:simpleContent>
                                    <xs:extension base="xs:unsignedInt">
                                        <xs:attribute name="use" use="optional">
                                            <xs:annotation>
                                                <xs:documentation>Set to PixelRouterAndAcquisitionEngine if the board should program the Acquisition Engine with cam_line_width (instead of x_size). This is mainly used with tap formats that have more than one vertical tap.</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:enumeration value="PixelRouter" />
                                                    <xs:enumeration value="PixelRouterAndAcquisitionEngine" />
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:attribute>
                                    </xs:extension>
                                </xs:simpleContent>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="cam_frame_height" minOccurs="0" maxOccurs="1">
                            <xs:annotation>
                                <xs:documentation>Used when where there are vertical taps (e.g. 2XE-2YE)</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:simpleContent>
                                    <xs:extension base="xs:unsignedInt">
                                        <xs:attribute name="use" use="optional">
                                            <xs:annotation>
                                                <xs:documentation>Set to PixelRouterAndAcquisitionEngine if the board should program the Acquisition Engine with cam_line_width (instead of x_size). This is mainly used with tap formats that have more than one vertical tap.</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:enumeration value="PixelRouter" />
                                                    <xs:enumeration value="PixelRouterAndAcquisitionEngine" />
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:attribute>
                                    </xs:extension>
                                </xs:simpleContent>
                            </xs:complexType>
                        </xs:element>
                    </xs:all>
                </xs:complexType>
            </xs:element>
            <xs:element name="io" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>This section can be use to specify the I/O routing.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:all>
                        <xs:element name="trigger_src" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>This node selects the source of the internal trigger signal. The internal trigger signal can be routed to a number of different cicuits.

</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attribute name="source" use="optional">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="None" />
                                            <xs:enumeration value="Low" />
                                            <xs:enumeration value="High" />
                                            <xs:enumeration value="Diff" />
                                            <xs:enumeration value="TTL" />
                                            <xs:enumeration value="VFG0Trig" />
                                            <xs:enumeration value="TSCT0" />
                                            <xs:enumeration value="Button" />
                                            <xs:enumeration value="CXPTrig" />
                                            <xs:enumeration value="SoftwareTrig" />
                                            <xs:enumeration value="ScanStep" />
                                            <xs:enumeration value="VFG0TSCT0" />
                                            <xs:enumeration value="BoxInTTL0" />
                                            <xs:enumeration value="BoxInTTL1" />
                                            <xs:enumeration value="BoxInTTL2" />
                                            <xs:enumeration value="BoxInTTL3" />
                                            <xs:enumeration value="BoxInTTL4" />
                                            <xs:enumeration value="BoxInTTL5" />
                                            <xs:enumeration value="BoxInTTL6" />
                                            <xs:enumeration value="BoxInTTL7" />
                                            <xs:enumeration value="BoxInTTL8" />
                                            <xs:enumeration value="BoxInTTL9" />
                                            <xs:enumeration value="BoxInTTL10" />
                                            <xs:enumeration value="BoxInTTL11" />
                                            <xs:enumeration value="BoxInDiff0" />
                                            <xs:enumeration value="BoxInDiff1" />
                                            <xs:enumeration value="BoxInDiff2" />
                                            <xs:enumeration value="BoxInDiff3" />
                                            <xs:enumeration value="BoxInDiff4" />
                                            <xs:enumeration value="BoxInDiff5" />
                                            <xs:enumeration value="BoxInDiff6" />
                                            <xs:enumeration value="BoxInDiff7" />
                                            <xs:enumeration value="BoxInDiff8" />
                                            <xs:enumeration value="BoxInDiff9" />
                                            <xs:enumeration value="BoxInDiff10" />
                                            <xs:enumeration value="BoxInDiff11" />
                                            <xs:enumeration value="BoxInOpto0" />
                                            <xs:enumeration value="BoxInOpto1" />
                                            <xs:enumeration value="BoxInOpto2" />
                                            <xs:enumeration value="BoxInOpto3" />
                                            <xs:enumeration value="BoxInOpto4" />
                                            <xs:enumeration value="BoxInOpto5" />
                                            <xs:enumeration value="BoxInOpto6" />
                                            <xs:enumeration value="BoxInOpto7" />
                                            <xs:enumeration value="BoxIn24V0" />
                                            <xs:enumeration value="BoxIn24V1" />
                                            <xs:enumeration value="BoxIn24V2" />
                                            <xs:enumeration value="BoxIn24V3" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="encoder_a_src" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>This node selects the source of the internal encoder A signal. The internal encoder A signal can be routed to a number of different cicuits.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attribute name="source" use="optional">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="None" />
                                            <xs:enumeration value="Low" />
                                            <xs:enumeration value="High" />
                                            <xs:enumeration value="Diff" />
                                            <xs:enumeration value="TTL" />
                                            <xs:enumeration value="VFG0EncA" />
                                            <xs:enumeration value="TSCT0" />
                                            <xs:enumeration value="Button" />
                                            <xs:enumeration value="CXPTrig" />
                                            <xs:enumeration value="SoftwareEncA" />
                                            <xs:enumeration value="VFG0TSCT0" />
                                            <xs:enumeration value="BoxInTTL0" />
                                            <xs:enumeration value="BoxInTTL1" />
                                            <xs:enumeration value="BoxInTTL2" />
                                            <xs:enumeration value="BoxInTTL3" />
                                            <xs:enumeration value="BoxInTTL4" />
                                            <xs:enumeration value="BoxInTTL5" />
                                            <xs:enumeration value="BoxInTTL6" />
                                            <xs:enumeration value="BoxInTTL7" />
                                            <xs:enumeration value="BoxInTTL8" />
                                            <xs:enumeration value="BoxInTTL9" />
                                            <xs:enumeration value="BoxInTTL10" />
                                            <xs:enumeration value="BoxInTTL11" />
                                            <xs:enumeration value="BoxInDiff0" />
                                            <xs:enumeration value="BoxInDiff1" />
                                            <xs:enumeration value="BoxInDiff2" />
                                            <xs:enumeration value="BoxInDiff3" />
                                            <xs:enumeration value="BoxInDiff4" />
                                            <xs:enumeration value="BoxInDiff5" />
                                            <xs:enumeration value="BoxInDiff6" />
                                            <xs:enumeration value="BoxInDiff7" />
                                            <xs:enumeration value="BoxInDiff8" />
                                            <xs:enumeration value="BoxInDiff9" />
                                            <xs:enumeration value="BoxInDiff10" />
                                            <xs:enumeration value="BoxInDiff11" />
                                            <xs:enumeration value="BoxInOpto0" />
                                            <xs:enumeration value="BoxInOpto1" />
                                            <xs:enumeration value="BoxInOpto2" />
                                            <xs:enumeration value="BoxInOpto3" />
                                            <xs:enumeration value="BoxInOpto4" />
                                            <xs:enumeration value="BoxInOpto5" />
                                            <xs:enumeration value="BoxInOpto6" />
                                            <xs:enumeration value="BoxInOpto7" />
                                            <xs:enumeration value="BoxIn24V0" />
                                            <xs:enumeration value="BoxIn24V1" />
                                            <xs:enumeration value="BoxIn24V2" />
                                            <xs:enumeration value="BoxIn24V3" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="encoder_b_src" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>This node selects the source of the internal encoder B signal. The internal encoder B signal can be routed to a number of different cicuits.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attribute name="source" use="optional">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="None" />
                                            <xs:enumeration value="Low" />
                                            <xs:enumeration value="High" />
                                            <xs:enumeration value="Diff" />
                                            <xs:enumeration value="TTL" />
                                            <xs:enumeration value="VFG0EncB" />
                                            <xs:enumeration value="TSCT0" />
                                            <xs:enumeration value="Button" />
                                            <xs:enumeration value="CXPTrig" />
                                            <xs:enumeration value="SoftwareEncB" />
                                            <xs:enumeration value="VFG0TSCT0" />
                                            <xs:enumeration value="BoxInTTL0" />
                                            <xs:enumeration value="BoxInTTL1" />
                                            <xs:enumeration value="BoxInTTL2" />
                                            <xs:enumeration value="BoxInTTL3" />
                                            <xs:enumeration value="BoxInTTL4" />
                                            <xs:enumeration value="BoxInTTL5" />
                                            <xs:enumeration value="BoxInTTL6" />
                                            <xs:enumeration value="BoxInTTL7" />
                                            <xs:enumeration value="BoxInTTL8" />
                                            <xs:enumeration value="BoxInTTL9" />
                                            <xs:enumeration value="BoxInTTL10" />
                                            <xs:enumeration value="BoxInTTL11" />
                                            <xs:enumeration value="BoxInDiff0" />
                                            <xs:enumeration value="BoxInDiff1" />
                                            <xs:enumeration value="BoxInDiff2" />
                                            <xs:enumeration value="BoxInDiff3" />
                                            <xs:enumeration value="BoxInDiff4" />
                                            <xs:enumeration value="BoxInDiff5" />
                                            <xs:enumeration value="BoxInDiff6" />
                                            <xs:enumeration value="BoxInDiff7" />
                                            <xs:enumeration value="BoxInDiff8" />
                                            <xs:enumeration value="BoxInDiff9" />
                                            <xs:enumeration value="BoxInDiff10" />
                                            <xs:enumeration value="BoxInDiff11" />
                                            <xs:enumeration value="BoxInOpto0" />
                                            <xs:enumeration value="BoxInOpto1" />
                                            <xs:enumeration value="BoxInOpto2" />
                                            <xs:enumeration value="BoxInOpto3" />
                                            <xs:enumeration value="BoxInOpto4" />
                                            <xs:enumeration value="BoxInOpto5" />
                                            <xs:enumeration value="BoxInOpto6" />
                                            <xs:enumeration value="BoxInOpto7" />
                                            <xs:enumeration value="BoxIn24V0" />
                                            <xs:enumeration value="BoxIn24V1" />
                                            <xs:enumeration value="BoxIn24V2" />
                                            <xs:enumeration value="BoxIn24V3" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="cc1_src" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>This node selects the source of the output signal CC1.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attribute name="source" use="optional">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="None" />
                                            <xs:enumeration value="Low" />
                                            <xs:enumeration value="High" />
                                            <xs:enumeration value="CT0" />
                                            <xs:enumeration value="CT1" />
                                            <xs:enumeration value="CT2" />
                                            <xs:enumeration value="CT3" />
                                            <xs:enumeration value="TrigSel" />
                                            <xs:enumeration value="EncASel" />
                                            <xs:enumeration value="EncBSel" />
                                            <xs:enumeration value="VFG0CT0" />
                                            <xs:enumeration value="VFG0CT1" />
                                            <xs:enumeration value="VFG0CT2" />
                                            <xs:enumeration value="VFG0CT3" />
                                            <xs:enumeration value="EncoderDivider" />
                                            <xs:enumeration value="EncoderQuadrature" />
                                            <xs:enumeration value="AuxCT0" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="cc2_src" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>This node selects the source of the output signal CC2.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attribute name="source" use="optional">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="None" />
                                            <xs:enumeration value="Low" />
                                            <xs:enumeration value="High" />
                                            <xs:enumeration value="CT0" />
                                            <xs:enumeration value="CT1" />
                                            <xs:enumeration value="CT2" />
                                            <xs:enumeration value="CT3" />
                                            <xs:enumeration value="TrigSel" />
                                            <xs:enumeration value="EncASel" />
                                            <xs:enumeration value="EncBSel" />
                                            <xs:enumeration value="VFG0CT0" />
                                            <xs:enumeration value="VFG0CT1" />
                                            <xs:enumeration value="VFG0CT2" />
                                            <xs:enumeration value="VFG0CT3" />
                                            <xs:enumeration value="EncoderDivider" />
                                            <xs:enumeration value="EncoderQuadrature" />
                                            <xs:enumeration value="AuxCT0" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="cc3_src" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>This node selects the source of the output signal CC3.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attribute name="source" use="optional">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Low" />
                                            <xs:enumeration value="High" />
                                            <xs:enumeration value="CT0" />
                                            <xs:enumeration value="CT1" />
                                            <xs:enumeration value="CT2" />
                                            <xs:enumeration value="CT3" />
                                            <xs:enumeration value="TrigSel" />
                                            <xs:enumeration value="EncASel" />
                                            <xs:enumeration value="EncBSel" />
                                            <xs:enumeration value="VFG0CT0" />
                                            <xs:enumeration value="VFG0CT1" />
                                            <xs:enumeration value="VFG0CT2" />
                                            <xs:enumeration value="VFG0CT3" />
                                            <xs:enumeration value="EncoderDivider" />
                                            <xs:enumeration value="EncoderQuadrature" />
                                            <xs:enumeration value="AuxCT0" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="cc4_src" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>This node selects the source of the output signal CC4.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attribute name="source" use="optional">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Low" />
                                            <xs:enumeration value="High" />
                                            <xs:enumeration value="CT0" />
                                            <xs:enumeration value="CT1" />
                                            <xs:enumeration value="CT2" />
                                            <xs:enumeration value="CT3" />
                                            <xs:enumeration value="TrigSel" />
                                            <xs:enumeration value="EncASel" />
                                            <xs:enumeration value="EncBSel" />
                                            <xs:enumeration value="VFG0CT0" />
                                            <xs:enumeration value="VFG0CT1" />
                                            <xs:enumeration value="VFG0CT2" />
                                            <xs:enumeration value="VFG0CT3" />
                                            <xs:enumeration value="EncoderDivider" />
                                            <xs:enumeration value="EncoderQuadrature" />
                                            <xs:enumeration value="AuxCT0" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="acquisition_timeout" type="xs:string" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>This node can be use to set the acquisition timeout for this mode.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="bitbox" minOccurs="0" maxOccurs="1">
                            <xs:annotation>
                                <xs:documentation>Contains BitBox routing instructions</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="bbx_out_route" minOccurs="1" maxOccurs="72">
                                        <xs:annotation>
                                            <xs:documentation>One routing instruction with a source and a destination</xs:documentation>
                                        </xs:annotation>
                                        <xs:complexType>
                                            <xs:attribute name="source">
                                                <xs:annotation>
                                                    <xs:documentation>Source for the routing instruction</xs:documentation>
                                                </xs:annotation>
                                                <xs:simpleType>
                                                    <xs:restriction base="xs:string">
                                                        <xs:enumeration value="Low" />
                                                        <xs:enumeration value="High" />
                                                        <xs:enumeration value="VFG0CC1" />
                                                        <xs:enumeration value="VFG0CC2" />
                                                        <xs:enumeration value="VFG0CC3" />
                                                        <xs:enumeration value="VFG0CC4" />
                                                        <xs:enumeration value="VFG1CC1" />
                                                        <xs:enumeration value="VFG1CC2" />
                                                        <xs:enumeration value="VFG1CC3" />
                                                        <xs:enumeration value="VFG1CC4" />
                                                        <xs:enumeration value="VFG2CC1" />
                                                        <xs:enumeration value="VFG2CC2" />
                                                        <xs:enumeration value="VFG2CC3" />
                                                        <xs:enumeration value="VFG2CC4" />
                                                        <xs:enumeration value="VFG3CC1" />
                                                        <xs:enumeration value="VFG3CC2" />
                                                        <xs:enumeration value="VFG3CC3" />
                                                        <xs:enumeration value="VFG3CC4" />
                                                        <xs:enumeration value="VFG0ATSCT0" />
                                                        <xs:enumeration value="VFG0ATSCT1" />
                                                        <xs:enumeration value="VFG0ATSCT2" />
                                                        <xs:enumeration value="VFG0ATSCT3" />
                                                    </xs:restriction>
                                                </xs:simpleType>
                                            </xs:attribute>
                                            <xs:attribute name="destination">
                                                <xs:annotation>
                                                    <xs:documentation>Destination for the routing instruction</xs:documentation>
                                                </xs:annotation>
                                                <xs:simpleType>
                                                    <xs:restriction base="xs:string">
                                                        <xs:enumeration value="BoxOutTTL0" />
                                                        <xs:enumeration value="BoxOutTTL1" />
                                                        <xs:enumeration value="BoxOutTTL2" />
                                                        <xs:enumeration value="BoxOutTTL3" />
                                                        <xs:enumeration value="BoxOutTTL4" />
                                                        <xs:enumeration value="BoxOutTTL5" />
                                                        <xs:enumeration value="BoxOutTTL6" />
                                                        <xs:enumeration value="BoxOutTTL7" />
                                                        <xs:enumeration value="BoxOutTTL8" />
                                                        <xs:enumeration value="BoxOutTTL9" />
                                                        <xs:enumeration value="BoxOutTTL10" />
                                                        <xs:enumeration value="BoxOutTTL11" />
                                                        <xs:enumeration value="BoxOutDiff0" />
                                                        <xs:enumeration value="BoxOutDiff1" />
                                                        <xs:enumeration value="BoxOutDiff2" />
                                                        <xs:enumeration value="BoxOutDiff3" />
                                                        <xs:enumeration value="BoxOutDiff4" />
                                                        <xs:enumeration value="BoxOutDiff5" />
                                                        <xs:enumeration value="BoxOutDiff6" />
                                                        <xs:enumeration value="BoxOutDiff7" />
                                                        <xs:enumeration value="BoxOutDiff8" />
                                                        <xs:enumeration value="BoxOutDiff9" />
                                                        <xs:enumeration value="BoxOutDiff10" />
                                                        <xs:enumeration value="BoxOutDiff11" />
                                                        <xs:enumeration value="BoxOutOpto0" />
                                                        <xs:enumeration value="BoxOutOpto1" />
                                                        <xs:enumeration value="BoxOutOpto2" />
                                                        <xs:enumeration value="BoxOutOpto3" />
                                                        <xs:enumeration value="BoxOutOpto4" />
                                                        <xs:enumeration value="BoxOutOpto5" />
                                                        <xs:enumeration value="BoxOutOpto6" />
                                                        <xs:enumeration value="BoxOutOpto7" />
                                                        <xs:enumeration value="BoxOutOC0" />
                                                        <xs:enumeration value="BoxOutOC1" />
                                                        <xs:enumeration value="BoxOutOC2" />
                                                        <xs:enumeration value="BoxOutOC3" />
                                                    </xs:restriction>
                                                </xs:simpleType>
                                            </xs:attribute>
                                        </xs:complexType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:all>
                </xs:complexType>
            </xs:element>
            <xs:element name="bitflow_regs" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>This sections lists registers on the frame grabber that need to be set different than the default. These registers are written after the board is initialized.</xs:documentation>
                </xs:annotation>
                <xs:complexType mixed="true">
                    <xs:sequence minOccurs="0">
                        <xs:element name="reg" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="address" type="xs:string" minOccurs="1" maxOccurs="1">
                                        <xs:annotation>
                                            <xs:documentation>This should be the name (e.g. CL_CHAN_EN) of the register in the frame grabber that you wish to modify.
The "data" field will be written to this is address.
Note that this can also be the word "delay", in which case the "data" field will be a delay in milliseconds.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="data" type="xs:string" minOccurs="1" maxOccurs="1">
                                        <xs:annotation>
                                            <xs:documentation>This contains the value that will be written to the "address" field above.
If the address field is set to "delay" this this field contains the number of milliseconds to wait.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                </xs:sequence>
                                <xs:attribute name="comment" type="xs:string" use="optional" />
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="device_commands" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>An ordered list of commands</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="command" minOccurs="1" maxOccurs="unbounded">
                            <xs:annotation>
                                <xs:documentation>Entry defining a single command operation</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:all>
                                    <xs:element name="feature" type="xs:string" minOccurs="1" maxOccurs="1">
                                        <xs:annotation>
                                            <xs:documentation>Name or address to be set</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="value" type="xs:string" minOccurs="1" maxOccurs="1">
                                        <xs:annotation>
                                            <xs:documentation>Value to set</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="1">
                                        <xs:annotation>
                                            <xs:documentation>An arbitrary description of the command</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                </xs:all>
                                <xs:attribute name="interface">
                                    <xs:annotation>
                                        <xs:documentation>The target or device on which the command operates</xs:documentation>
                                        <xs:appinfo>order:0</xs:appinfo>
                                    </xs:annotation>
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="camera_gentl" />
                                            <xs:enumeration value="bitflow_reg" />
                                            <xs:enumeration value="bitflow_control" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                                <xs:attribute name="invoke">
                                    <xs:annotation>
                                        <xs:documentation>Specifies when the command will be invoked</xs:documentation>
                                        <xs:appinfo>order:1</xs:appinfo>
                                    </xs:annotation>
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="after_setup" />
                                            <xs:enumeration value="before_setup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="serial_com" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Can be used to send serial commands to the camera when board is initialized with this mode.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="command" minOccurs="1" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="send" type="xs:string" minOccurs="1">
                                        <xs:annotation>
                                            <xs:documentation>Message to send to camera. Format dependes on protocol setting.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="receive" type="xs:string" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>Acknowledgment expected back from camera, protocol should be same as used for send message. Next message is not sent until acknowledgement is received back from camera. Timeout is fixed at 100 msec.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                </xs:sequence>
                                <xs:attribute name="comment" type="xs:string" use="optional" />
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute name="protocol">
                        <xs:annotation>
                            <xs:documentation>Communications mode:
ascii - characters in the send/received node are interpreted as ASCII. The 8-bit value of the ASCII character is send to the camera. Example: "CL_MODE 15"
ascii+cr  - characters in the send/received node are interpreted as ASCII. A Carriage Return is automatically send after the message. Example: "CL_MODE 15"
hex - characters are interpreted as hex values (00 to FF), they should be separated by commas, do not add "0x". Example: "A0, F2, 42, 33, FF, 1A"
dec - characters are interpreted as decimal (0 to 255). Example: "23, 23, 127, 0, 0"
delay - </xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="ascii" />
                                <xs:enumeration value="ascii+cr" />
                                <xs:enumeration value="hex" />
                                <xs:enumeration value="dec" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="baud">
                        <xs:annotation>
                            <xs:documentation>Baud rate use for commnications. "8-N-1" is assumed.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="9600" />
                                <xs:enumeration value="19200" />
                                <xs:enumeration value="38400" />
                                <xs:enumeration value="57600" />
                                <xs:enumeration value="115200" />
                                <xs:enumeration value="230400" />
                                <xs:enumeration value="460800" />
                                <xs:enumeration value="921600" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="timing_sequencer" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>This section is used to program the timing sequencer for this mode. The timing sequencer is made up of a sequence of segments.
Each segments lasts for a fixed period of time, set by the ts_period. Each segment sets the state of one of the internal control signals.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="ts_segment" minOccurs="0" maxOccurs="unbounded">
                            <xs:annotation>
                                <xs:documentation>This holds the parameters for one segment. Each segment can be triggered or not.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="ts_period" type="xs:decimal" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>This is the duration of this segment in milliseconds.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="ts_ct0_state" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>The is the state of the CT0 output. It must be 0 (low) or 1 (high). </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:unsignedByte">
                                                <xs:enumeration value="0" />
                                                <xs:enumeration value="1" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="ts_ct1_state" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>The is the state of the CT1 output. It must be 0 (low) or 1 (high). </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:unsignedByte">
                                                <xs:enumeration value="0" />
                                                <xs:enumeration value="1" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="ts_ct2_state" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>The is the state of the CT2 output. It must be 0 (low) or 1 (high). </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:unsignedByte">
                                                <xs:enumeration value="0" />
                                                <xs:enumeration value="1" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="ts_ct3_state" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>The is the state of the CT3 output. It must be 0 (low) or 1 (high). </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:unsignedByte">
                                                <xs:enumeration value="0" />
                                                <xs:enumeration value="1" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                </xs:sequence>
                                <xs:attribute name="trigger" use="optional">
                                    <xs:annotation>
                                        <xs:documentation>What part of the trigger signal will cause this segment to execute. Use "NoWait" if you want this segment to automatically execute.</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NoWait" />
                                            <xs:enumeration value="RisingEdge" />
                                            <xs:enumeration value="FallingEdge" />
                                            <xs:enumeration value="High" />
                                            <xs:enumeration value="Low" />
                                            <xs:enumeration value="EitherEdge" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute name="trigger_source" use="optional">
                        <xs:annotation>
                            <xs:documentation>The source of the trigger to the timing sequencer.</xs:documentation>
                            <xs:appinfo>order:0</xs:appinfo>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="TrigSel" />
                                <xs:enumeration value="EncASel" />
                                <xs:enumeration value="EncBSel" />
                                <xs:enumeration value="EncoderQuadrature" />
                                <xs:enumeration value="GatedTrigger" />
                                <xs:enumeration value="EncoderDivider" />
                                <xs:enumeration value="StartOfFrame" />
                                <xs:enumeration value="EndOfFrame" />
                                <xs:enumeration value="StartOfLine" />
                                <xs:enumeration value="EndOfLine" />
                                <xs:enumeration value="FVALRisingEdge" />
                                <xs:enumeration value="FVALFallingEdge" />
                                <xs:enumeration value="LVALRisingEdge" />
                                <xs:enumeration value="LVALFallingEdge" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="timing_sequencer_aux" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>This section is used to program the auxiliary timing sequencer for this mode. The timing sequencer is made up of a sequence of segments.
Each segments lasts for a fixed period of time, set by the ts_period. Each segment sets the state of one of the internal control signals.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="ts_segment" minOccurs="0" maxOccurs="unbounded">
                            <xs:annotation>
                                <xs:documentation>This holds the parameters for one segment. Each segment can be triggered or not.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="ts_period" type="xs:decimal" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>This is the duration of this segment in milliseconds.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="ts_ct0_state" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>The is the state of the CT0 output. It must be 0 (low) or 1 (high). </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:unsignedByte">
                                                <xs:enumeration value="0" />
                                                <xs:enumeration value="1" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="ts_ct1_state" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>The is the state of the CT1 output. It must be 0 (low) or 1 (high). </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:unsignedByte">
                                                <xs:enumeration value="0" />
                                                <xs:enumeration value="1" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="ts_ct2_state" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>The is the state of the CT2 output. It must be 0 (low) or 1 (high). </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:unsignedByte">
                                                <xs:enumeration value="0" />
                                                <xs:enumeration value="1" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="ts_ct3_state" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>The is the state of the CT3 output. It must be 0 (low) or 1 (high). </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:unsignedByte">
                                                <xs:enumeration value="0" />
                                                <xs:enumeration value="1" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                </xs:sequence>
                                <xs:attribute name="trigger" use="optional">
                                    <xs:annotation>
                                        <xs:documentation>What part of the trigger signal will cause this segment to execute. Use "NoWait" if you want this segment to automatically execute.</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NoWait" />
                                            <xs:enumeration value="RisingEdge" />
                                            <xs:enumeration value="FallingEdge" />
                                            <xs:enumeration value="High" />
                                            <xs:enumeration value="Low" />
                                            <xs:enumeration value="EitherEdge" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute name="trigger_source" use="optional">
                        <xs:annotation>
                            <xs:documentation>The source of the trigger to the timing sequencer.</xs:documentation>
                            <xs:appinfo>order:0</xs:appinfo>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="TrigSel" />
                                <xs:enumeration value="EncASel" />
                                <xs:enumeration value="EncBSel" />
                                <xs:enumeration value="EncoderQuadrature" />
                                <xs:enumeration value="GatedTrigger" />
                                <xs:enumeration value="EncoderDivider" />
                                <xs:enumeration value="StartOfFrame" />
                                <xs:enumeration value="EndOfFrame" />
                                <xs:enumeration value="StartOfLine" />
                                <xs:enumeration value="EndOfLine" />
                                <xs:enumeration value="FVALRisingEdge" />
                                <xs:enumeration value="FVALFallingEdge" />
                                <xs:enumeration value="LVALRisingEdge" />
                                <xs:enumeration value="LVALFallingEdge" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:all>
        <xs:attribute name="name" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation>This should be a short name for the mode.
Note: spaces are not allowed.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
</xs:element>
Collapse Child Elements:
Name Type Min Occurs Max Occurs
comments comments 0 (1)
mode_roi mode_roi 0 (1)
io io 0 (1)
bitflow_regs bitflow_regs 0 (1)
device_commands device_commands 0 1
serial_com serial_com 0 1
timing_sequencer timing_sequencer 0 (1)
timing_sequencer_aux timing_sequencer_aux 0 (1)
Collapse Child Attributes:
Name Type Default Value Use
name name Optional