37 lines
2.0 KiB
C#
37 lines
2.0 KiB
C#
namespace RobotNet10.RobotApp.Modules;
|
|
|
|
/// <summary>
|
|
/// No-op lift module used when hardware lift module is not enabled.
|
|
/// </summary>
|
|
public sealed class NoOpLiftModule : ILiftModule
|
|
{
|
|
public bool Enable => false;
|
|
public bool IsReady => false;
|
|
public LiftModuleState State => LiftModuleState.Uninitialized;
|
|
public LiftPosition Position => LiftPosition.Bottom;
|
|
|
|
public Task LiftUpAsync(CancellationToken cancellationToken = default) => Task.CompletedTask;
|
|
public Task LiftDownAsync(CancellationToken cancellationToken = default) => Task.CompletedTask;
|
|
public Task LiftStopAsync(CancellationToken cancellationToken = default) => Task.CompletedTask;
|
|
public Task LiftToPositionAsync(int position, CancellationToken cancellationToken = default) => Task.CompletedTask;
|
|
public Task<int> GetCurrentPositionAsync(CancellationToken cancellationToken = default) => Task.FromResult(0);
|
|
public Task<bool> IsHomedAsync(CancellationToken cancellationToken = default) => Task.FromResult(false);
|
|
public Task HomeAsync(CancellationToken cancellationToken = default) => Task.CompletedTask;
|
|
public int GetPositionFromHeightM(double heightM) => 0;
|
|
}
|
|
|
|
/// <summary>
|
|
/// No-op rotation module used when hardware rotation module is not enabled.
|
|
/// </summary>
|
|
public sealed class NoOpRotationModule : IRotationModule
|
|
{
|
|
public bool Enable => false;
|
|
public bool IsReady => false;
|
|
public RotationModuleState State => RotationModuleState.Uninitialized;
|
|
|
|
public Task RotateToAngleAsync(double angleDegrees, CancellationToken cancellationToken = default) => Task.CompletedTask;
|
|
public Task RotateOffsetAsync(double angleOffsetDegrees, CancellationToken cancellationToken = default) => Task.CompletedTask;
|
|
public Task<double> GetCurrentAngleAsync(CancellationToken cancellationToken = default) => Task.FromResult(0.0);
|
|
public Task<bool> IsHomedAsync(CancellationToken cancellationToken = default) => Task.FromResult(false);
|
|
}
|