using RobotNet10.RobotApp.Interfaces; using RobotNet10.Shared.Sensor; namespace RobotNet10.RobotApp.Devices; /// /// Interface cho thiết bị RF Handle (Remote Control Handle) - tay điều khiển RF với joystick /// public interface IRfHandle { /// /// Event được trigger khi dữ liệu được cập nhật /// event Action? Updated; // ====================== STATES =========================== DateTime LastUpdateTime { get; } int Heartbeat { get; } bool RemoteReady { get; } bool EStop { get; } bool LiftUp { get; } bool LiftDown { get; } bool RotateLeft { get; } bool RotateRight { get; } bool ModeSelect { get; } bool Enable { get; } int Speed { get; } double Linear { get; } double Angular { get; } /// /// Current RF Handle mode (Default, Maintenance, Override, None) /// RFMode Mode { get; } /// /// Joy state hiện tại được cache (thread-safe) /// Joy? CurrentJoyState { get; } /// /// Đọc joy state từ thiết bị /// Task ReadJoyStateAsync(CancellationToken cancellationToken = default); }