Skip to content
Snippets Groups Projects
Select Git revision
  • bb31cfcd1ff718b3da5a309f1646ff307adafa33
  • master default protected
  • julius-bsc
  • operator-schur
  • 17-release-container-give-wrong-results-at-least-has-a-nonmatching-error-cal-routine
  • develop
  • manuel
  • 1.5
  • 1.4
  • 1.3
  • 1.2
  • v1.1
  • v1.0
  • v0.5
  • v0.4
  • v0.3
  • v0.1
  • v0.2
18 results

conf.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    board.xsd 8.12 KiB
    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
        elementFormDefault="qualified">
        
        
        <xs:group name="components">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element name="led" type="led"/>
                    <xs:element name="button" type="button"/>
                    <xs:element name="lcd" type="lcd"/>
                    <xs:element name="sram" type="sram"/>
                </xs:choice>
            </xs:sequence>
        </xs:group>
        
        <xs:element name="board">
            <xs:complexType>
                <xs:sequence>
                    <xs:group ref="components"/>
                    <xs:element name="gui" type="layout" minOccurs="0"/>
                    <xs:group ref="components"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        
        <xs:complexType name="component">
            <xs:attribute name="id" type="xs:ID"/>
        </xs:complexType>
        
        <xs:complexType name="led">
            <xs:complexContent>
                <xs:extension base="component">
                    <xs:all>
                        <xs:element name="in" type="irq"/>
                    </xs:all>
                    <xs:attribute name="highOn" type="xs:boolean" default="false"/>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
        
        <xs:complexType name="button">
            <xs:complexContent>
                <xs:extension base="component">
                    <xs:all>
                        <xs:element name="out" type="irq"/>
                        <xs:element name="key" type="glfwKey" minOccurs="0"/>
                    </xs:all>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
        
        <xs:complexType name="lcd">
            <xs:complexContent>
                <xs:extension base="component">
                    <xs:all>
                        <xs:element name="d4" type="irq"/>
                        <xs:element name="d5" type="irq"/>
                        <xs:element name="d6" type="irq"/>
                        <xs:element name="d7" type="irq"/>
                        <xs:element name="rs" type="irq"/>
                        <xs:element name="en" type="irq"/>
                        <xs:element name="rw" type="irq"/>
                        <xs:element name="optional" type="lcdIRQsSecondNibble" minOccurs="0"/>
                    </xs:all>
                    <xs:attribute name="width" type="xs:integer" use="required"/>
                    <xs:attribute name="height" type="xs:integer" use="required"/>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
        <xs:complexType name="lcdIRQsSecondNibble">
            <xs:all>
                <xs:element name="d0" type="irq"/>
                <xs:element name="d1" type="irq"/>
                <xs:element name="d2" type="irq"/>
                <xs:element name="d3" type="irq"/>
            </xs:all>
        </xs:complexType>
        
        <xs:complexType name="sram">
            <xs:complexContent>
                <xs:extension base="component">
                    <xs:all>
                        <xs:element name="cs" type="irq"/>
                        <xs:element name="mosi" type="irq"/>
                        <xs:element name="miso" type="irq"/>
                    </xs:all>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
        
        
        
        <xs:complexType name="irq">
            <xs:choice>
                <xs:element name="ioport" type="ioport"/>
                <xs:element name="spi" type="spi"/>
            </xs:choice>
        </xs:complexType>
        
        <xs:complexType name="ioport">
            <xs:attribute name="name" type="char" use="required"/>
            <xs:attribute name="index" type="pinNumber" use="required"/>
        </xs:complexType>
        <xs:complexType name="spi">
            <xs:attribute name="name" type="char" use="required"/>
            <xs:attribute name="type" type="spiType" use="required"/>
        </xs:complexType>
    
        
        <xs:complexType name="glfwKey">
            <xs:attribute name="code" type="xs:integer" use="required"/>
        </xs:complexType>
        
        
        <xs:simpleType name="char">
            <xs:union>
                <xs:simpleType>
                    <xs:restriction base="unsignedHexByte"/>
                </xs:simpleType>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:length value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:union>
        </xs:simpleType>
        
        <xs:simpleType name="pinNumber">
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="0"/>
                <xs:maxExclusive value="8"/>
            </xs:restriction>
        </xs:simpleType>
        
        <xs:simpleType name="spiType">
            <xs:restriction base="xs:string">
                <xs:enumeration value="input"/>
                <xs:enumeration value="output"/>
            </xs:restriction>
        </xs:simpleType>
        
        
        
        
        <xs:complexType name="layout">
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="vertical" type="layout"/>
                <xs:element name="horizontal" type="layout"/>
                <xs:element name="spacer">
                    <xs:complexType>
                        <xs:attribute name="size" type="xs:float" default="2.0"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="lcd">
                    <xs:complexType>
                        <xs:attribute name="id" type="xs:IDREF" use="required"/>
                        <xs:attribute name="theme" type="lcdTheme" default="green"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="led">
                    <xs:complexType>
                        <xs:attribute name="id" type="xs:IDREF" use="required"/>
                        <xs:attribute name="color" type="color" default="#FFFFFFFF"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="memory">
                    <xs:complexType>
                        <xs:attribute name="type" type="memoryType" use="required"/>
                        <xs:attribute name="id" type="xs:IDREF"/>
                        <xs:attribute name="colors" type="memoryColors" default="grad_spectrum"/>
                        <xs:attribute name="size" type="unsignedHexInt"/>
                        <xs:attribute name="cols" type="xs:unsignedInt" default="256"/>
                        <xs:attribute name="cellWidth" type="xs:float" default="0.39"/>
                        <xs:attribute name="cellHeight" type="xs:float" default="0.35"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="stats"/>
            </xs:choice>
    <!--        <xs:attribute name="font" type="font" default="monospace"/>-->
    <!--        <xs:attribute name="fontSize" type="xs:float" default="1.5"/>-->
        </xs:complexType>
        
        
        <xs:simpleType name="lcdTheme">
            <xs:restriction base="xs:string">
                <xs:enumeration value="green"/>
                <xs:enumeration value="blue"/>
                <xs:enumeration value="darkWhite"/>
                <xs:enumeration value="darkRed"/>
                <xs:enumeration value="darkGreen"/>
            </xs:restriction>
        </xs:simpleType>
        
        <xs:simpleType name="memoryType">
            <xs:restriction base="xs:string">
                <xs:enumeration value="internal"/>
                <xs:enumeration value="sram"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="memoryColors">
            <xs:restriction base="xs:string">
                <xs:enumeration value="grad_bw"/>
                <xs:enumeration value="grad_spectrum"/>
            </xs:restriction>
        </xs:simpleType>
        
        
        <xs:simpleType name="color">
            <xs:restriction base="xs:string">
                <xs:pattern value="#[0-9A-Fa-f]{8}"/>
            </xs:restriction>
        </xs:simpleType>
        
        <xs:simpleType name="font">
            <xs:restriction base="xs:string">
                <xs:enumeration value="monospace"/>
            </xs:restriction>
        </xs:simpleType>
    
    
        <xs:simpleType name="unsignedHexInt">
            <xs:restriction base="xs:string">
                <xs:pattern value="0[Xx][0-9A-Fa-f]+"/>
            </xs:restriction>
        </xs:simpleType>
    
    
        <xs:simpleType name="unsignedHexByte">
            <xs:restriction base="xs:string">
                <xs:pattern value="0[Xx][0-9A-Fa-f]{1,2}"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:schema>