MotionControlBase 1.1.0
See the version list below for details.
dotnet add package MotionControlBase --version 1.1.0
NuGet\Install-Package MotionControlBase -Version 1.1.0
<PackageReference Include="MotionControlBase" Version="1.1.0" />
<PackageVersion Include="MotionControlBase" Version="1.1.0" />
<PackageReference Include="MotionControlBase" />
paket add MotionControlBase --version 1.1.0
#r "nuget: MotionControlBase, 1.1.0"
#:package MotionControlBase@1.1.0
#addin nuget:?package=MotionControlBase&version=1.1.0
#tool nuget:?package=MotionControlBase&version=1.1.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—across multiple .NET targets (net8.0, net48, netstandard2.0).
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 Framework 4.8, and .NET Standard 2.0
Installation
Install via NuGet:
dotnet add package MotionControlBase --version 1.1.0
Or via the Package Manager Console:
Install-Package MotionControlBase -Version 1.1.0
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
For detailed API docs, see docs/ or IntelliSense.
Contributing
- Fork the repository on GitHub
- Create a feature branch:
git checkout -b feat/my-feature - Commit your changes:
git commit -m "Add my feature" - Push to your fork:
git push origin feat/my-feature - Open a Pull Request
Please follow the existing code style and include unit tests where applicable.
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 was computed. 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 was computed. 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.
-
net8.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.