﻿<?xml version="1.0" encoding="utf-8"?>
<!--created with CoDeSys 3.0 (http://www.3s-software.com) by DeviceDescriptionBuilder (3S-Smart Software Solutions GmbH)-->
<DeviceDescription xmlns="http://www.3s-software.com/schemas/DeviceDescription-1.0.xsd" xmlns:ts="http://www.3s-software.com/schemas/TargetSettings-0.1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Types namespace="local">
    <EnumType basetype="std:BYTE" name="GPIOTypeCLK">
      <Enum identifier="unconfigured">
        <Value>255</Value>
        <VisibleName name="local:">not used</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#000</Value>
        <VisibleName name="local:">Input</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#001</Value>
        <VisibleName name="local:">Output</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#100</Value>
        <VisibleName name="local:">CLK</VisibleName>
      </Enum>
    </EnumType>
    <EnumType basetype="std:BYTE" name="GPIOTypePWM">
      <Enum identifier="unconfigured">
        <Value>255</Value>
        <VisibleName name="local:">not used</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#000</Value>
        <VisibleName name="local:">Input</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#001</Value>
        <VisibleName name="local:">Output</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#010</Value>
        <VisibleName name="local:">PWM</VisibleName>
      </Enum>
    </EnumType>
    <EnumType basetype="std:BYTE" name="GPIOType">
      <Enum identifier="unconfigured">
        <Value>255</Value>
        <VisibleName name="local:">not used</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#000</Value>
        <VisibleName name="local:">Input</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#001</Value>
        <VisibleName name="local:">Output</VisibleName>
      </Enum>
      <!--
      <Enum identifier="Input">
        <Value>2#100</Value>
        <VisibleName name="local:">ALT0</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#101</Value>
        <VisibleName name="local:">ALT1</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#110</Value>
        <VisibleName name="local:">ALT2</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#111</Value>
        <VisibleName name="local:">ALT3</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#011</Value>
        <VisibleName name="local:">ALT4</VisibleName>
      </Enum>
      <Enum identifier="Input">
        <Value>2#010</Value>
        <VisibleName name="local:">ALT5</VisibleName>
      </Enum> -->
    </EnumType>
  </Types>
  <Strings namespace="local">
    <Language lang="en">
    </Language>
  </Strings>
  <Files namespace="local">
    <Language lang="en">
      <File fileref="local" identifier="GPIO">
        <LocalFile>GPIO.ico</LocalFile>
      </File>
    </Language>
  </Files>
  <Device hideInCatalogue="false">
    <DeviceIdentification>
      <Type>504</Type>
      <Id>0000 0001</Id>
      <Version>1.1.1.10</Version>
    </DeviceIdentification>
    <CompatibleVersions>
      <Version>1.1.1.*</Version>
    </CompatibleVersions>
    <DeviceInfo>
      <Name name="local:ModelName">GPIOs B+/Pi2</Name>
      <Description name="local:DeviceDescription">Raspberry GPIOs of model B+ and Pi2</Description>
      <Vendor name="local:VendorName">3S - Smart Software Solutions GmbH</Vendor>
      <OrderNumber>-</OrderNumber>
      <Icon name="local:GPIO">GPIO.ico</Icon>
    </DeviceInfo>
    <Connector moduleType="504" interface="Raspberry.GPIOs" role="child" explicit="false" connectorId="1" hostpath="-1" alwaysmapping="true">
      <InterfaceName name="local:PCI">GPIOs</InterfaceName>
      <Slot count="1" allowEmpty="false">
      </Slot>
      <DriverInfo needsBusCycle="true">
        <RequiredLib libname="IoDrvGPIO" vendor="3S - Smart Software Solutions GmbH" version="1.0.1.12" identifier="IoDrvPiFace">
          <FBInstance basename="GPIOs_Instance" fbname="IoDrvGPIO">
            <Initialize methodName="Initialize" />
          </FBInstance>
        </RequiredLib>
      </DriverInfo>
      <HostParameterSet>
        <Parameter ParameterId="4" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO4</Name>
          <Description name="local:">configuration of GPIO4</Description>
        </Parameter>
        <Parameter ParameterId="5" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO5</Name>
          <Description name="local:">configuration of GPIO5</Description>
        </Parameter>
        <Parameter ParameterId="6" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO6</Name>
          <Description name="local:">configuration of GPIO6</Description>
        </Parameter>
        <Parameter ParameterId="12" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO12</Name>
          <Description name="local:">configuration of GPIO12</Description>
        </Parameter>
        <Parameter ParameterId="13" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO13</Name>
          <Description name="local:">configuration of GPIO13</Description>
        </Parameter>
        <Parameter ParameterId="16" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO16</Name>
          <Description name="local:">configuration of GPIO16</Description>
        </Parameter>
        <Parameter ParameterId="17" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO17</Name>
          <Description name="local:">configuration of GPIO17</Description>
        </Parameter>
        <Parameter ParameterId="18" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO18</Name>
          <Description name="local:">configuration of GPIO18</Description>
        </Parameter>
        <Parameter ParameterId="19" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO19</Name>
          <Description name="local:">configuration of GPIO19</Description>
        </Parameter>
        <Parameter ParameterId="20" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO20</Name>
          <Description name="local:">configuration of GPIO20</Description>
        </Parameter>
        <Parameter ParameterId="21" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO21</Name>
          <Description name="local:">configuration of GPIO21</Description>
        </Parameter>
        <Parameter ParameterId="22" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO22</Name>
          <Description name="local:">configuration of GPIO22</Description>
        </Parameter>
        <Parameter ParameterId="23" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO23</Name>
          <Description name="local:">configuration of GPIO23</Description>
        </Parameter>
        <Parameter ParameterId="24" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO24</Name>
          <Description name="local:">configuration of GPIO24</Description>
        </Parameter>
        <Parameter ParameterId="25" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO25</Name>
          <Description name="local:">configuration of GPIO25</Description>
        </Parameter>
        <Parameter ParameterId="26" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO26</Name>
          <Description name="local:">configuration of GPIO26</Description>
        </Parameter>
        <Parameter ParameterId="27" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO27</Name>
          <Description name="local:">configuration of GPIO27</Description>
        </Parameter>
        <Parameter ParameterId="28" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO28</Name>
          <Description name="local:">configuration of GPIO28</Description>
        </Parameter>
        <Parameter ParameterId="28" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO28</Name>
          <Description name="local:">configuration of GPIO28</Description>
        </Parameter>
        <Parameter ParameterId="29" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO29</Name>
          <Description name="local:">configuration of GPIO29</Description>
        </Parameter>
        <Parameter ParameterId="30" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO30</Name>
          <Description name="local:">configuration of GPIO30</Description>
        </Parameter>
        <Parameter ParameterId="31" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO31</Name>
          <Description name="local:">configuration of GPIO31</Description>
        </Parameter>
        <Parameter ParameterId="32" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO32</Name>
          <Description name="local:">configuration of GPIO32</Description>
        </Parameter>
        <Parameter ParameterId="33" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO33</Name>
          <Description name="local:">configuration of GPIO33</Description>
        </Parameter>
        <Parameter ParameterId="34" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO34</Name>
          <Description name="local:">configuration of GPIO34</Description>
        </Parameter>
        <Parameter ParameterId="35" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO35</Name>
          <Description name="local:">configuration of GPIO35</Description>
        </Parameter>
        <Parameter ParameterId="36" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO36</Name>
          <Description name="local:">configuration of GPIO36</Description>
        </Parameter>
        <Parameter ParameterId="37" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO37</Name>
          <Description name="local:">configuration of GPIO37</Description>
        </Parameter>
        <Parameter ParameterId="38" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO38</Name>
          <Description name="local:">configuration of GPIO38</Description>
        </Parameter>
        <Parameter ParameterId="39" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO39</Name>
          <Description name="local:">configuration of GPIO39</Description>
        </Parameter>
        <Parameter ParameterId="1000" type="std:DWORD">
          <Attributes channel="input" />
          <Name name="local:in1">digital inputs (GPIO0..GPIO31)</Name>
        </Parameter>
        <Parameter ParameterId="2000" type="std:DWORD">
          <Attributes channel="output" />
          <Name name="local:out1">digital outputs (GPIO0..GPIO31)</Name>
        </Parameter>
        <!--        <Parameter ParameterId="2100" type="std:UDINT">
          <Attributes channel="output"/>
          <Name name="local:out1">PWM: frequency [Hz]</Name>
        </Parameter>
        <Parameter ParameterId="2101" type="std:UINT">
          <Attributes channel="output"/>
          <Name name="local:out1">PWM:duty cycle [], ON signal (0: always OFF; 16#FFFF: always ON)</Name>
        </Parameter>
        <Parameter ParameterId="2200" type="std:UDINT">
          <Attributes channel="output"/>
          <Name name="local:out1">CLK: frequency [Hz]</Name>
        </Parameter> -->
      </HostParameterSet>
    </Connector>
    <ExtendedSettings>
      <ts:TargetSettings>
        <ts:section name="deviceconfiguration">
          <ts:setting name="createBitChannels" type="boolean" access="visible">
            <ts:value>1</ts:value>
          </ts:setting>
        </ts:section>
      </ts:TargetSettings>
    </ExtendedSettings>
  </Device>
</DeviceDescription>