EssyBusBLDCMotorController 1.1.0
dotnet add package EssyBusBLDCMotorController --version 1.1.0
NuGet\Install-Package EssyBusBLDCMotorController -Version 1.1.0
<PackageReference Include="EssyBusBLDCMotorController" Version="1.1.0" />
<PackageVersion Include="EssyBusBLDCMotorController" Version="1.1.0" />
<PackageReference Include="EssyBusBLDCMotorController" />
paket add EssyBusBLDCMotorController --version 1.1.0
#r "nuget: EssyBusBLDCMotorController, 1.1.0"
#:package EssyBusBLDCMotorController@1.1.0
#addin nuget:?package=EssyBusBLDCMotorController&version=1.1.0
#tool nuget:?package=EssyBusBLDCMotorController&version=1.1.0
EssyBusBLDCMotorController NuGet Package
Description
EssyBusBLDCMotorController
is a .NET library for controlling brushless DC (BLDC) motors via the EssyBus protocol. It exposes a high‑level C# API for movement, stops, interrupts, and configuration of motor parameters such as PID gains, acceleration, speed, and safety features like over‑temperature and over‑current shutdown.
Features
- Initialize and power motors on/off
- Move clockwise/counter‑clockwise with configurable acceleration, speed, and deceleration
- Move to absolute positions (blocking and non‑blocking)
- Temporary overrides: early arrival delta, stop channels
- Built‑in interrupt handling and stall protection
- PID tuning (P, I, D, Jerk) with smart caching to minimize bus traffic
- Read motor temperature and configure safety shutdown thresholds
- Events for motor stalled and movement completion
Installation
Install via the .NET CLI:
dotnet add package EssyBusBLDCMotorController
Or via the Package Manager Console:
Install-Package EssyBusBLDCMotorController
Quick Start
using System;
using Essy.EssyBusBLDCMotorController;
class Program
{
static void Main()
{
// Create and power on controller
var controller = new EssyBusBLDCMotorController();
controller.Powered = true;
// Configure PID gains
controller.P = 500;
controller.I = 10;
controller.D = 50;
controller.Jerk = 1.5f;
// Move to position 1000 steps at speed 800 steps/sec
controller.MoveToPosition(1000, acceleration: 200, speed: 800, deceleration: 200);
// Read final position and power off
Console.WriteLine($"Stopped at: {controller.Position}");
controller.Powered = false;
}
}
API Reference
EssyBusBLDCMotorController
Properties
bool Powered { set; }
– Enable/disable H‑bridge.int Position { get; set; }
– Read or set current motor position.float Jerk { get; set; }
– Jerk parameter (with smart caching).int P, PIdle, I, D { set; }
– PID gains (cached updates).float MotorTemperature { get; }
– Read current motor temperature (°C).bool EnableOverTemperatureShutdown { set; }
bool EnableOverCurrentShutdown { set; }
byte OverTemperatureTripPoint { set; }
Methods
MoveClockWise(int acceleration, ushort speed)
MoveCounterClockWise(int acceleration, ushort speed)
MoveToPosition(int position, int acceleration, ushort speed, int deceleration)
MoveToPositionWithCapture(...)
– capture actual stop positionMoveClockWiseUntilStopChannel(...)
,MoveCounterClockWiseUntilStopChannel(...)
Stop(int deceleration)
ResetDevice()
,ApplySettings()
Events
event EventHandler MotorStalledAndStopped
– Raised when stall protection stops the motor.
Enums
InterruptReason
– none, DestinationReached, StopChannel1Happened, … Stall.StopChannelPullupState
– NoPullUps, ChannelOnePullUp, ChannelTwoPullUp, BothChannelsPullUp.
License
This project is licensed under the MIT License - see the LICENSE file for details.
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 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
- Essy.EssyBus (>= 1.3.0.10)
- MotionControlBase (>= 1.3.0)
-
.NETStandard 2.0
- Essy.EssyBus (>= 1.3.0.10)
- MotionControlBase (>= 1.3.0)
-
net8.0
- Essy.EssyBus (>= 1.3.0.10)
- MotionControlBase (>= 1.3.0)
-
net9.0
- Essy.EssyBus (>= 1.3.0.10)
- MotionControlBase (>= 1.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
added missing methods