﻿<?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.0.2</Version>
    </DeviceIdentification>
    <DeviceInfo>
      <Name name="local:ModelName">ALL_GPIOs Pin-Coding</Name>
      <Description name="local:DeviceDescription">Raspberry GPIOs</Description>
      <Vendor name="local:VendorName">privat</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.0.0" identifier="IoDrvPiFace">
          <FBInstance basename="$(DeviceName)_Instance" fbname="IoDrvGPIO">
            <Initialize methodName="Initialize"/>
          </FBInstance>
        </RequiredLib>
      </DriverInfo>
      <HostParameterSet>
        <Parameter ParameterId="2" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO02</Name>
          <Description name="local:">Pin 3 (SDA1 I2C)</Description>
        </Parameter>
        <Parameter ParameterId="3" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO03</Name>
          <Description name="local:">Pin 5 (SCL I2C)</Description>
        </Parameter>
        <Parameter ParameterId="4" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO04</Name>
          <Description name="local:">Pin 7</Description>
        </Parameter>
        <Parameter ParameterId="7" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO07</Name>
          <Description name="local:">Pin 26 (SPI0_CN1_N)</Description>
        </Parameter>
        <Parameter ParameterId="8" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO08</Name>
          <Description name="local:">Pin 24 (SPI0_CE0_N)</Description>
        </Parameter>
        <Parameter ParameterId="9" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO09</Name>
          <Description name="local:">Pin 21 (SPI0_MISO)</Description>
        </Parameter>
        <Parameter ParameterId="10" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO10</Name>
          <Description name="local:">Pin 19 (SPI0_MOSI)</Description>
        </Parameter>
        <Parameter ParameterId="11" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO11</Name>
          <Description name="local:">Pin 23 (SPI0_SCLK)</Description>
        </Parameter>
        <Parameter ParameterId="14" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO14</Name>
          <Description name="local:">Pin 8 (UART0_TxD)</Description>
        </Parameter>
        <Parameter ParameterId="15" type="local:GPIOType">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>255</Default>
          <Name name="local:">GPIO15</Name>
          <Description name="local:">Pin 10 (UART_RxD)</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:">Pin 11</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:">Pin 12 (PCM_CLK)</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:">Pin 15</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:">Pin 16</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:">Pin 18</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:">Pin 22</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:">Pin 13</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>