215 lines
6.3 KiB
XML
215 lines
6.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema
|
|
elementFormDefault="qualified"
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
|
|
<xs:complexType name="STM32GPIOv2PortType">
|
|
|
|
<xs:sequence>
|
|
<xs:element
|
|
name="pin0"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin1"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin2"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin3"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin4"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin5"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin6"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin7"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin8"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin9"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin10"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin11"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin12"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin13"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin14"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
<xs:element
|
|
name="pin15"
|
|
type="STM32GPIOv2PinType"
|
|
maxOccurs="1"
|
|
minOccurs="1"></xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="STM32GPIOv2PinType">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Object representing an STM32 pin for the GPIOv2
|
|
peripheral.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute
|
|
name="ID"
|
|
use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Pin identifier, used to generate a #define with the
|
|
pin name.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="\w?[\w\d_]*"></xs:pattern>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute
|
|
name="Mode"
|
|
use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Pin mode, as defined for MODER register.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Input"></xs:enumeration>
|
|
<xs:enumeration value="Output"></xs:enumeration>
|
|
<xs:enumeration value="Alternate"></xs:enumeration>
|
|
<xs:enumeration value="Analog"></xs:enumeration>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute
|
|
name="Level"
|
|
use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Logic level for the ODR register.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="High"></xs:enumeration>
|
|
<xs:enumeration value="Low"></xs:enumeration>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute
|
|
name="Speed"
|
|
use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Pin speed as defined in SPEEDR register.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Minimum"></xs:enumeration>
|
|
<xs:enumeration value="Low"></xs:enumeration>
|
|
<xs:enumeration value="High"></xs:enumeration>
|
|
<xs:enumeration value="Maximum"></xs:enumeration>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute
|
|
name="Type"
|
|
use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Pin type as defined in TYPER register.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PushPull"></xs:enumeration>
|
|
<xs:enumeration value="OpenDrain"></xs:enumeration>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute
|
|
name="Resistor"
|
|
use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Pin pull-up/down resistor as defined in PUDR register.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Floating"></xs:enumeration>
|
|
<xs:enumeration value="PullUp"></xs:enumeration>
|
|
<xs:enumeration value="PullDown"></xs:enumeration>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute
|
|
name="Alternate"
|
|
use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Pin alternate function number, only valid if
|
|
"Alternate" is selected
|
|
in the Mode attribute.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="0"></xs:minInclusive>
|
|
<xs:maxInclusive value="15"></xs:maxInclusive>
|
|
<xs:whiteSpace value="collapse"></xs:whiteSpace>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:schema>
|