added config stylesheet and example config
This commit is contained in:
parent
9c3fb298e5
commit
40ab1b3676
24
config.xml
Normal file
24
config.xml
Normal file
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<DeviceList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="config.xsd">
|
||||
<Device name="example">
|
||||
<Value type="boolean"/>
|
||||
<Protocol type="DI">
|
||||
<Port>
|
||||
<Pin>GPIO_2</Pin>
|
||||
</Port>
|
||||
</Protocol>
|
||||
</Device>
|
||||
<Device name="example2">
|
||||
<Value type="int" unit="°C">
|
||||
<Conversion type="Offset" value="1.2" />
|
||||
<Conversion type="Factor" value="2.5" />
|
||||
</Value>
|
||||
<Protocol type="AI">
|
||||
<Port>
|
||||
<Pin>GPIO_3</Pin>
|
||||
</Port>
|
||||
</Protocol>
|
||||
</Device>
|
||||
|
||||
</DeviceList>
|
122
config.xsd
Normal file
122
config.xsd
Normal file
@ -0,0 +1,122 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<!-- available protocols types -->
|
||||
<xs:simpleType name="ProtocolType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DI"/>
|
||||
<xs:enumeration value="DO"/>
|
||||
<xs:enumeration value="AI"/>
|
||||
<xs:enumeration value="AO"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- available value types -->
|
||||
<xs:simpleType name="ValueType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="int"/>
|
||||
<xs:enumeration value="float"/>
|
||||
<xs:enumeration value="boolean"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- available conversion types -->
|
||||
<xs:simpleType name="ConversionType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Factor"/>
|
||||
<xs:enumeration value="Offset"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- available Pins -->
|
||||
<xs:simpleType name="Pin">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="GPIO_2"/>
|
||||
<xs:enumeration value="GPIO_3"/>
|
||||
<xs:enumeration value="GPIO_4"/>
|
||||
<xs:enumeration value="GPIO_5"/>
|
||||
<xs:enumeration value="GPIO_6"/>
|
||||
<xs:enumeration value="GPIO_7"/>
|
||||
<xs:enumeration value="GPIO_8"/>
|
||||
<xs:enumeration value="GPIO_9"/>
|
||||
<xs:enumeration value="GPIO_10"/>
|
||||
<xs:enumeration value="GPIO_11"/>
|
||||
<xs:enumeration value="GPIO_12"/>
|
||||
<xs:enumeration value="GPIO_13"/>
|
||||
<xs:enumeration value="GPIO_14"/>
|
||||
<xs:enumeration value="GPIO_15"/>
|
||||
<xs:enumeration value="GPIO_16"/>
|
||||
<xs:enumeration value="GPIO_17"/>
|
||||
<xs:enumeration value="GPIO_18"/>
|
||||
<xs:enumeration value="GPIO_19"/>
|
||||
<xs:enumeration value="GPIO_20"/>
|
||||
<xs:enumeration value="GPIO_21"/>
|
||||
<xs:enumeration value="GPIO_22"/>
|
||||
<xs:enumeration value="GPIO_23"/>
|
||||
<xs:enumeration value="GPIO_24"/>
|
||||
<xs:enumeration value="GPIO_25"/>
|
||||
<xs:enumeration value="GPIO_26"/>
|
||||
<xs:enumeration value="GPIO_27"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="DeviceList">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Device" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:unique name="UniqueDevice">
|
||||
<xs:selector xpath="Device"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:unique>
|
||||
<xs:unique name="UniquePin">
|
||||
<xs:selector xpath="Device"/>
|
||||
<xs:field xpath="Protocol/Port/Pin"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Device">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Value" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element ref="Protocol" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Protocol">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Port" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="type" type="ProtocolType" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Value">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Conversion" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="type" type="ValueType" use="required"/>
|
||||
<xs:attribute name="unit" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Conversion">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="type" type="ConversionType" use="required"/>
|
||||
<xs:attribute name="value" type="xs:float" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Port">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Pin" type="Pin" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
Loading…
x
Reference in New Issue
Block a user