﻿<?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">
  </Types>
  <Strings namespace="local">
    <Language lang="en">
    </Language>
  </Strings>
<!--  <Files namespace="local">
    <Language lang="en">
      <File fileref="local" identifier="JoystickIcon">
        <LocalFile>Joystick.ico</LocalFile>
      </File>
    </Language>
  </Files>-->
  <Device hideInCatalogue="false">
    <DeviceIdentification>
      <Type>500</Type>
      <Id>0000 0004</Id>
      <Version>1.0.0.0</Version>
    </DeviceIdentification>
    <DeviceInfo>
      <Name name="local:ModelName">Adafruit PWM</Name>
      <Description name="local:DeviceDescription">Adafruit PWM</Description>
      <Vendor name="local:VendorName">3S - Smart Software Solutions GmbH</Vendor>
      <OrderNumber>-</OrderNumber>
<!--      <Icon name="local:JoystickIcon">Joystick.ico</Icon> -->
    </DeviceInfo>
    <Connector moduleType="500" interface="Raspberry.I2C" role="child" explicit="false" connectorId="1" hostpath="-1">
      <InterfaceName name="local:PCI">I²C-Bus</InterfaceName>
      <Slot count="1" allowEmpty="false">
      </Slot>
      <DriverInfo needsBusCycle="false">
        <RequiredLib libname="Raspberry I2C AdafruitPWM" vendor="3S - Smart Software Solutions GmbH" version="1.0.0.0" identifier="deviceLib">
          <FBInstance basename="$(DeviceName)" fbname="AdafruitPwm">
            <Initialize methodName="Initialize" />
            <CyclicCall methodname="BeforeWriteOutputs" task="#buscycletask" whentocall="beforeWriteOutputs" />
          </FBInstance>
        </RequiredLib>
      </DriverInfo>
      <HostParameterSet>
        <Parameter ParameterId="1" type="std:USINT">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:Id393218">I²C address</Name>
          <Description name="local:Id393218.Desc">Address of the device</Description>
        </Parameter>
        <Parameter ParameterId="2" type="std:UINT">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>50</Default>
          <Name name="local:Id393218">Frequency [Hz]</Name>
          <Description name="local:Id393218.Desc">Number of periods (HIGH-LOW-cycles) per second</Description>
        </Parameter>
        <Parameter ParameterId="3" type="std:USINT">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>4</Default>
          <Name name="local:Id393218">Number of active outputs</Name>
          <Description name="local:Id393218.Desc">Number of outputs that are used and need to be controlled</Description>
        </Parameter>
      </HostParameterSet>
    </Connector>
  </Device>
</DeviceDescription>