using System.ComponentModel;
using Bodk.Device.Storage.EventArgs;
namespace Bodk.Device.Storage.Modules;
public interface IModule
{
string Name { get; }
string Descirption { get; }
///
/// 模块ID
///
int Id { get; }
///
/// 当前位置
///
float? CurrentPosition { get; }
///
/// 手动速度
///
float? ManualSpeed { get; set; }
///
/// 自动速度
///
float? AutoSpeed { get; set; }
//加减速
float? AccDec { get; set; }
///
/// 回原高速
///
float? GotoOriginHighSpeed { get; set; }
///
/// 回原低速
///
float? GotoOriginLowSpeed { get; set; }
///
/// 运动超时报警
///
event EventHandler MotionTimeoutAlarmEvent;
///
/// 报警
///
event EventHandler AlarmEvent;
bool MotionTimeoutAlarm { get; }
bool Alarm { get; }
///
/// 是否使能
///
bool IsEnabled { get; }
///
/// 使能
///
///
///
Task EnableAsync(bool enable);
///
/// 复位
///
///
Task ResetAsync();
///
/// 清零
///
///
Task CleanAsync();
///
/// 回原
///
///
Task GotoOriginAsync();
///
/// 正转
///
///
///
Task ForwardAsync(bool open);
///
/// 反转
///
///
///
Task BackwardAsync(bool open);
///
/// 相对位置移动
///
/// 距离
///
Task RelativeMoveAsync(float destination);
///
/// 绝对位置移动
///
///
///
Task AbsoluteMoveAsync(float destination);
}