commit
b611213384
|
@ -0,0 +1,5 @@
|
|||
bin/
|
||||
obj/
|
||||
/packages/
|
||||
riderModule.iml
|
||||
/_ReSharper.Caches/
|
|
@ -0,0 +1,13 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Rider ignored files
|
||||
/modules.xml
|
||||
/projectSettingsUpdater.xml
|
||||
/.idea.ln.motion.interfaces.iml
|
||||
/contentModel.xml
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
|
||||
</project>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="UserContentModel">
|
||||
<attachedFolders />
|
||||
<explicitIncludes />
|
||||
<explicitExcludes />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"templates": [
|
||||
"dotnet"
|
||||
],
|
||||
"env": {
|
||||
"NUGET_SOURCE": "https://nexus.niclas-thobaben.de/repository/l--n.de/",
|
||||
"CONFIGURATION": "Release"
|
||||
},
|
||||
"stages": [
|
||||
{
|
||||
"name": "prepare",
|
||||
"commands": [
|
||||
"dotnet prepare */*.csproj"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ln.motion.interfaces", "ln.motion.interfaces\ln.motion.interfaces.csproj", "{A4A61C31-9EF4-4D4E-BFF1-E17C54AEF30C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{A4A61C31-9EF4-4D4E-BFF1-E17C54AEF30C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A4A61C31-9EF4-4D4E-BFF1-E17C54AEF30C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A4A61C31-9EF4-4D4E-BFF1-E17C54AEF30C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A4A61C31-9EF4-4D4E-BFF1-E17C54AEF30C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,25 @@
|
|||
namespace ln.motion.interfaces
|
||||
{
|
||||
public abstract class Ax
|
||||
{
|
||||
public virtual float CurrentSpeed { get; }
|
||||
public virtual float CurrentPosition { get; }
|
||||
public virtual AxValues CurrentValues => new AxValues() {Speed = CurrentSpeed, Position = CurrentPosition};
|
||||
|
||||
public virtual float TargetSpeed { get; set; }
|
||||
public virtual float TargetPosition { get; set; }
|
||||
|
||||
public virtual AxValues TargetValues
|
||||
{
|
||||
get => new AxValues() {Speed = TargetSpeed, Position = TargetPosition};
|
||||
set
|
||||
{
|
||||
TargetPosition = value.Position;
|
||||
TargetSpeed = value.Speed;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool IsEnabled { get; }
|
||||
public virtual bool IsFaulted { get; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace ln.motion.interfaces
|
||||
{
|
||||
public struct AxValues
|
||||
{
|
||||
public float Speed;
|
||||
public float Position;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
namespace ln.motion.interfaces
|
||||
{
|
||||
public abstract class DrivesInterface
|
||||
{
|
||||
public abstract void Initialize();
|
||||
|
||||
public abstract bool IsOnline { get; }
|
||||
|
||||
public abstract bool GetAxCurrentValues(out AxValues[] axValuesArray);
|
||||
public abstract bool GetAxTargetValues(out AxValues[] axValuesArray);
|
||||
public abstract bool SetAxTargetValues(AxValues[] axValuesArray);
|
||||
|
||||
public virtual bool SetAxTargetValues(int ax, AxValues axValues)
|
||||
{
|
||||
if (GetAxTargetValues(out AxValues[] axValuesArray))
|
||||
{
|
||||
axValuesArray[ax] = axValues;
|
||||
return SetAxTargetValues(axValuesArray);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using System.Numerics;
|
||||
|
||||
namespace ln.motion.interfaces
|
||||
{
|
||||
public abstract class Kinematic
|
||||
{
|
||||
public Kinematic()
|
||||
{
|
||||
}
|
||||
public abstract bool Direct(AxValues[] axValuesArray, out Matrix4x4 position);
|
||||
public abstract bool Inverse(Matrix4x4 position, AxValues[] axValues);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net5.0</TargetFramework>
|
||||
<PackageVersion>0.1.0</PackageVersion>
|
||||
<Authors>harald@l--n.de</Authors>
|
||||
<Company>l--n.de</Company>
|
||||
<AssemblyVersion>0.1.0</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
Loading…
Reference in New Issue