--- a
+++ b/trunk/package/Component/DeviceDescription/SM3_Drive_RaspiStepper_Direct.devdesc.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE DeviceDescription [
+<!ENTITY standardparameters SYSTEM "StandardParameters.xml">
+]>
+<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by Hilmar Panzer (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" xsi:schemaLocation="http://www.3s-software.com/schemas/DeviceDescription-1.0.xsd D:\CoDeSys\Documentation\DOCUME~2.)\PRODUC~1\CODESY~1.0\DEVELO~1\FEATUR~1\DeviceDescription-1.0.xsd">
+	<Types namespace="localTypes"></Types>
+	<Strings namespace="localStrings">
+	</Strings>
+	<Files namespace="local">
+		<Language lang="en">
+			<File fileref="local" identifier="DriveIcon">
+				<LocalFile>SoftMotion_Raspi_Stepper.ico</LocalFile>
+			</File>
+		</Language>
+	</Files>
+	<Device>
+		<DeviceIdentification>
+			<Type>1025</Type>
+			<Id>FFFF 0001</Id>
+			<Version>0.0.0.5</Version>
+		</DeviceIdentification>
+		<CompatibleVersions>
+		</CompatibleVersions>
+		<DeviceInfo>
+			<Name name="localStrings:TypeName">SM_Drive_RaspiStepper_Direct</Name>
+			<Description name="localStrings:TypeDescription">SoftMotion axis for direct stepper control on Raspberry Pi GPIOs directly (powered by a L298N or similar) switching the motor coils</Description>
+			<Vendor name="localStrings:_3S">3S - Smart Software Solutions GmbH</Vendor>
+			<OrderNumber>1805</OrderNumber>
+			<Icon name="local:DriveIcon">SoftMotion_Raspi_Stepper.ico</Icon>
+		</DeviceInfo>
+		<Connector connectorId="1" moduleType="1248" interface="Common.SoftMotion.Logical" role="parent" explicit="false" hostpath="0" initialStatusFlag="241">
+			<InterfaceName name="local:InterfaceName">SM_Drive_Logical:</InterfaceName>
+			<Var />
+		</Connector>
+		<Connector role="child" connectorId="0" interface="Common.SoftMotion.General" moduleType="1029" explicit="false">
+			<InterfaceName name="localStrings:InterfaceName">SM_Drive_RaspiStepper:</InterfaceName>
+			<Slot count="1" allowEmpty="false" />
+			<Var />
+
+			<HostParameterSet>
+        &standardparameters;
+				<ParameterSection>
+					<Name name="local:AXIS_REF">AXIS_REF: Scalings</Name>
+					<Parameter ParameterId="1051" type="std:DWORD">
+						<Attributes download="true" functional="false" />
+						<Default>1</Default>
+						<Name name="localStrings:AXIS_REF.dwRatioTechUnitsDenom">dwRatioTechUnitsDenom</Name>
+						<Description name="localStrings:AXIS_REF.dwRatioTechUnitsDenom.Desc">conversion inc./tech.units denominator</Description>
+						<Custom />
+					</Parameter>
+					<Parameter ParameterId="1052" type="std:DINT">
+						<Attributes download="true" functional="false" />
+						<Default>1</Default>
+						<Name name="localStrings:AXIS_REF.iRatioTechUnitsNum">iRatioTechUnitsNum</Name>
+						<Description name="localStrings:AXIS_REF.iRatioTechUnitsNum.Desc">conversion inc./tech.units numerator</Description>
+						<Custom />
+					</Parameter>
+					<Parameter ParameterId="5000" type="std:DINT">
+						<Default>1</Default>
+						<Name name="localStrings:ScalingIncs">ScalingIncs</Name>
+						<download>false</download>
+					</Parameter>
+					<Parameter ParameterId="5001" type="std:DINT">
+						<Default>1</Default>
+						<Name name="localStrings:ScalingMotorTurns1">ScalingMotorTurns1</Name>
+						<download>false</download>
+					</Parameter>
+					<Parameter ParameterId="5002" type="std:DINT">
+						<Default>1</Default>
+						<Name name="localStrings:ScalingMotorTurns2">ScalingMotorTurns2</Name>
+						<download>false</download>
+					</Parameter>
+					<Parameter ParameterId="5003" type="std:DINT">
+						<Default>1</Default>
+						<Name name="localStrings:ScalingGearOutput1">ScalingGearOutput1</Name>
+						<download>false</download>
+					</Parameter>
+					<Parameter ParameterId="5004" type="std:DINT">
+						<Default>1</Default>
+						<Name name="localStrings:ScalingGearOutput2">ScalingGearOutput2</Name>
+						<download>false</download>
+					</Parameter>
+					<Parameter ParameterId="5005" type="std:DINT">
+						<Default>1</Default>
+						<Name name="localStrings:ScalingUnits">ScalingUnits</Name>
+						<download>false</download>
+					</Parameter>
+					<Parameter ParameterId="5006" type="std:BOOL">
+						<Default>FALSE</Default>
+						<Name name="localStrings:InvertDirection">InvertDirection</Name>
+						<download>false</download>
+					</Parameter>
+				</ParameterSection>
+				<ParameterSection>
+					<Name name="local:AXIS_REF">AXIS_REF: Motorsettings</Name>
+					<Parameter ParameterId="10300" type="std:DWORD">
+						<Default>6</Default>
+						<Name name="localStrings:A">A</Name>
+						<Description name="localStrings:ADesc">MotorPin A</Description>
+					</Parameter>
+					<Parameter ParameterId="10301" type="std:DWORD">
+						<Default>13</Default>
+						<Name name="localStrings:A-">A-</Name>
+						<Description name="localStrings:A-Desc">MotorPin A-</Description>
+					</Parameter>
+					<Parameter ParameterId="10302" type="std:DWORD">
+						<Default>19</Default>
+						<Name name="localStrings:B">B</Name>
+						<Description name="localStrings:BDesc">MotorPin B</Description>
+					</Parameter>
+					<Parameter ParameterId="10303" type="std:DWORD">
+						<Default>26</Default>
+						<Name name="localStrings:B-">B-</Name>
+						<Description name="localStrings:B-Desc">MotorPin B-</Description>
+					</Parameter>
+					<Parameter ParameterId="10304" type="std:LREAL">
+						<Default>1.0</Default>
+						<Name name="localStrings:MotorPowerTime">MotorPowerTime</Name>
+						<Description name="localStrings:MotorPowerTimeDesc">fraction of the cycle ]0..1], where outputs are set High (determines the power of the motor)</Description>
+					</Parameter>
+					<Parameter ParameterId="10305" type="std:BOOL">
+						<Default>FALSE</Default>
+						<Name name="localStrings:HalfStep">HalfStep</Name>
+						<Description name="localStrings:HalfSetp">Motor takes half steps instead of full steps</Description>
+					</Parameter>
+					<Parameter ParameterId="10306" type="std:LREAL">
+						<Default>0</Default>
+						<Name name="localStrings:MaxFrequency">MaxFrequency</Name>
+						<Description name="localStrings:MaxFrequence-Desc">maximum frequency (steps per second) that the motor can follow. 0: not supervized</Description>
+					</Parameter>
+					<Parameter ParameterId="10307" type="std:STRING">
+						<Default>'IEC-Tasks'</Default>
+						<Name name="localStrings:TaskGroup">TaskGroup</Name>
+						<Description name="localStrings:TaskGroup-Desc">name of the task group, in which the step generation will be done (relevant only on multi core systems)</Description>
+					</Parameter>
+				</ParameterSection>
+			</HostParameterSet>
+			<DriverInfo needsBusCycle="false">
+				<RequiredLib libname="SM3_Drive_RaspiStepper" vendor="3S - Smart Software Solutions GmbH" version="0.0.0.5" identifier="deviceLib">
+					<FBInstance basename="$(DeviceName)" fbname="AXIS_REF_RASPISTEPPER" fbnamediag="AXIS_REF_RASPISTEPPER">
+						<Initialize methodName="Initialize" />
+						<CyclicCall methodname="BeforeReadInputs" task="#buscycletask" whentocall="beforeReadInputs" />
+						<CyclicCall methodname="AfterReadInputs" task="#buscycletask" whentocall="afterReadInputs" />
+						<CyclicCall methodname="BeforeWriteOutputs" task="#buscycletask" whentocall="beforeWriteOutputs" />
+						<CyclicCall methodname="AfterWriteOutputs" task="#buscycletask" whentocall="afterWriteOutputs" />
+					</FBInstance>
+				</RequiredLib>
+			</DriverInfo>
+		</Connector>
+	</Device>
+</DeviceDescription>