﻿<?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>1651 0815</Id>
      <Version>1.0.0.0</Version>
    </DeviceIdentification>
    <DeviceInfo>
      <Name name="local:ModelName">MKSI2cConnector</Name>
      <Description name="local:DeviceDescription">MKSI2cConnector Description</Description>
      <Vendor name="local:VendorName">Mikelsoft</Vendor>
      <OrderNumber>-</OrderNumber>
    </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="true">
        <RequiredLib libname="MKSI2cConnector" vendor="Mikelsoft" version="1.0.0.0" identifier="deviceLib">
          <FBInstance basename="$(DeviceName)_Instance" fbname="MKSI2cConnector">
            <Initialize methodName="Initialize" />
          </FBInstance>
        </RequiredLib>
      </DriverInfo>
      <HostParameterSet>
        <Parameter ParameterId="1" type="std:USINT">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>4	</Default>
          <Name name="local:Id393218">Hardware address</Name>
          <Description name="local:Id393218.Desc">Hardware address of the device</Description>
        </Parameter>
        <!-- obsolete       <Parameter ParameterId="100" type="std:USINT">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:SPI_channel">SPI master number</Name>
          <Description name="local:Id393218.Desc">SPI controlling device name /dev/spidev0.X</Description>
        </Parameter>  -->
        <Parameter ParameterId="2000" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out1">O Digital</Name>
        </Parameter>
        <Parameter ParameterId="2001" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out2">O Analog 1 Pin 0</Name>
        </Parameter>
        <Parameter ParameterId="2002" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out3">O Analog 2 Pin 1</Name>
        </Parameter>
        <Parameter ParameterId="2003" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out4">O Analog 3 Pin 2</Name>
        </Parameter>
        <Parameter ParameterId="2004" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out5">O Analog 4 Pin 3</Name>
        </Parameter>
        <Parameter ParameterId="2005" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out6">O Analog 5 Pin 4</Name>
        </Parameter>
        <Parameter ParameterId="2006" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out7">O Analog 6 Pin 5</Name>
        </Parameter>
        <Parameter ParameterId="2007" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out8">O Analog 7 Pin 6</Name>
        </Parameter>
        <Parameter ParameterId="2008" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out9">O Analog 8 Pin 7</Name>
        </Parameter>
        <Parameter ParameterId="2009" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out10">O Analog 9 Pin 8</Name>
        </Parameter>
        <Parameter ParameterId="2010" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out11">O Analog 10 Pin 9</Name>
        </Parameter>
        <Parameter ParameterId="2011" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out12">O Analog 11 Pin 10</Name>
        </Parameter>
        <Parameter ParameterId="2012" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out13">O Analog 12 Pin 11</Name>
        </Parameter>
        <Parameter ParameterId="2013" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out14">O Analog 13 Pin 12</Name>
        </Parameter>
        <Parameter ParameterId="2014" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out15">O reserved 1</Name>
        </Parameter>
        <Parameter ParameterId="2015" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out16">O reserved 2</Name>
        </Parameter>
        <Parameter ParameterId="2016" type="std:WORD">
          <Attributes channel="output" />
          <Default>0</Default>
          <Name name="local:out17">O reserved 3</Name>
        </Parameter>
        <!-- obsolete       <Parameter ParameterId="1000" type="std:USINT">
          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
          <Default>0</Default>
          <Name name="local:SPI_channel">SPI master number</Name>
          <Description name="local:Id393218.Desc">SPI controlling device name /dev/spidev0.X</Description>
        </Parameter>  -->
        
	<Parameter ParameterId="1000" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in1">I Digital</Name>
        </Parameter>

	<Parameter ParameterId="1001" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in2">I Analog 1 Pin A0</Name>
        </Parameter>

	<Parameter ParameterId="1002" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in3">I Analog 2 Pin A1</Name>
        </Parameter>

	<Parameter ParameterId="1003" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in4">I Analog 3 Pin A2</Name>
        </Parameter>

	<Parameter ParameterId="1004" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in5">I Analog 4 Pin A3</Name>
        </Parameter>

	<Parameter ParameterId="1005" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in6">I Analog 5 Pin A4</Name>
        </Parameter>

	<Parameter ParameterId="1006" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in7">I Analog 6 Pin A5</Name>
        </Parameter>

	<Parameter ParameterId="1007" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in8">I Analog 7 Pin A6</Name>
        </Parameter>

	<Parameter ParameterId="1008" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in9">I Analog 8 Pin A7</Name>
        </Parameter>

	<Parameter ParameterId="1009" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in10">I Analog 9 Pin A8</Name>
        </Parameter>

	<Parameter ParameterId="1010" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in11">I Analog 10 Pin A9</Name>
        </Parameter>

	<Parameter ParameterId="1011" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in12">I Analog 11 Pin A10</Name>
        </Parameter>

	<Parameter ParameterId="1012" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in13">I Analog 12 Pin A11</Name>
        </Parameter>

	<Parameter ParameterId="1013" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in14">I Analog 13 Pin A12</Name>
        </Parameter>

	<Parameter ParameterId="1014" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in15">I state</Name>
        </Parameter>

	<Parameter ParameterId="1015" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in16">I reserved 1</Name>
        </Parameter>

	<Parameter ParameterId="1016" type="std:WORD">
          <Attributes channel="input" />
          <Name name="local:in17">I reserved 2</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>