MotionControlBase 1.3.0
dotnet add package MotionControlBase --version 1.3.0
NuGet\Install-Package MotionControlBase -Version 1.3.0
<PackageReference Include="MotionControlBase" Version="1.3.0" />
<PackageVersion Include="MotionControlBase" Version="1.3.0" />
<PackageReference Include="MotionControlBase" />
paket add MotionControlBase --version 1.3.0
#r "nuget: MotionControlBase, 1.3.0"
#:package MotionControlBase@1.3.0
#addin nuget:?package=MotionControlBase&version=1.3.0
#tool nuget:?package=MotionControlBase&version=1.3.0
MotionControlBase
MotionControlBase is a .NET library providing core abstractions and helpers for motion control devices—such as linear actuators, gantries, peristaltic pumps, and syringe pumps.
Features
Interfaces for:
- Linear movement (
ILinearMovement,HGantryimplementations) - Pump control (
IPump,ISyringe) - Peristaltic pump (
PeristalticPump) - Motor abstraction (
IMotor,IStoppableMotor)
- Linear movement (
Unit conversion helpers (mm ↔ motor steps, µL ↔ steps)
Stop‑channel support with configurable modes
Motion profiling: acceleration, speed, deceleration, trapezoidal/triangular profiles
Cross‑platform: usable in .NET 8, .NET 9, .NET 10, .NET Framework 4.8, and .NET Standard 2.0
Installation
Install via NuGet:
dotnet add package MotionControlBase
Or via the Package Manager Console:
Install-Package MotionControlBase
Quick Start
using Essy.LinearMovements;
using Essy.Motor;
// 1. Create your motor (IMotor or IStoppableMotor)
IStoppableMotor motor = new MyStepperMotor();
// 2. Instantiate a LinearMovement (e.g. gantry or slide)
var gantry = new HGantry(motorA: motor, motorB: motor, distancePerRotation: 5.0);
gantry.Powered = true;
gantry.SetPosition(0, 0);
gantry.MoveToPosition(x: 10, y: 20, acceleration: 50, speed: 100, deceleration: 50);
Console.WriteLine($"Current position: ({gantry.XPos:F2}, {gantry.YPos:F2}) mm");
using Essy.Pump;
using Essy.PeristalticPump;
IMotor pumpMotor = new MyPumpMotor();
var pump = new PeristalticPump(pumpMotor, volumePerRotation: 100.0);
pump.StartAspirating(volume: 200.0, speed: 50.0);
pump.WaitForPumpActionToComplete();
Console.WriteLine("Aspirated 200 µL");
API Overview
Essy.Motor
IMotor,IStoppableMotorinterfacesMotorStopChannel,MotorStopChannelMode, exceptions
Essy.LinearMovements
ILinearMovement,HGantry,LinearMovementLinearStopChannel
Essy.Pump
IPump,ISyringe
Essy.PeristalticPump
PeristalticPump,PeristalticPumpException
Essy.CrankedSyringe
CrankedSyringe
License
This project is licensed under the MIT License. See LICENSE for details.
Happy motion controlling!
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.8
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on MotionControlBase:
| Package | Downloads |
|---|---|
|
EssyBusBLDCMotorController
An IMotor implementation for a BLDC motor attached to the EssyBus |
|
|
EssyBusStepperMotorController
An IMotor implementation for a Stepper motor attached to the EssyBus |
GitHub repositories
This package is not used by any popular GitHub repositories.
added missing class