Initial commit
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
namespace RobotNet10.RobotApp.Modules;
|
||||
|
||||
/// <summary>
|
||||
/// Interface cho Lift Module - Module điều khiển nâng hạ
|
||||
/// </summary>
|
||||
public interface ILiftModule
|
||||
{
|
||||
/// <summary>
|
||||
/// Nâng lên (lift up)
|
||||
/// </summary>
|
||||
Task LiftUpAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Hạ xuống (lift down)
|
||||
/// </summary>
|
||||
Task LiftDownAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Dừng nâng/hạ ngay lập tức (khi đang di chuyển)
|
||||
/// </summary>
|
||||
Task LiftStopAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Di chuyển đến vị trí cụ thể
|
||||
/// </summary>
|
||||
/// <param name="position">Vị trí target (encoder counts)</param>
|
||||
Task LiftToPositionAsync(int position, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Lấy vị trí hiện tại
|
||||
/// </summary>
|
||||
Task<int> GetCurrentPositionAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Kiểm tra module đã homed chưa
|
||||
/// </summary>
|
||||
Task<bool> IsHomedAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Thực hiện homing thủ công (nếu cần gọi lại sau khi fault hoặc thay đổi cơ khí)
|
||||
/// </summary>
|
||||
Task HomeAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Chuyển chiều cao (m) sang vị trí encoder. Dùng cho action liftCameraByHeight.
|
||||
/// </summary>
|
||||
/// <param name="heightM">Chiều cao theo mét (trong khoảng MinHeightM..MaxHeightM từ config)</param>
|
||||
/// <returns>Vị trí encoder tương ứng</returns>
|
||||
int GetPositionFromHeightM(double heightM);
|
||||
|
||||
bool Enable { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Kiểm tra module đã sẵn sàng chưa (initialized và homed)
|
||||
/// </summary>
|
||||
bool IsReady { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Lấy trạng thái hiện tại của module
|
||||
/// </summary>
|
||||
LiftModuleState State { get; }
|
||||
|
||||
LiftPosition Position { get; }
|
||||
}
|
||||
|
||||
public enum LiftPosition
|
||||
{
|
||||
Bottom,
|
||||
Middle,
|
||||
Top,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Trạng thái của Lift Module
|
||||
/// </summary>
|
||||
public enum LiftModuleState
|
||||
{
|
||||
Uninitialized,
|
||||
Initializing,
|
||||
Homing,
|
||||
Ready,
|
||||
Moving,
|
||||
Error
|
||||
}
|
||||
Reference in New Issue
Block a user