37 lines
1.5 KiB
C#
37 lines
1.5 KiB
C#
using RobotNet.RobotShares.Dtos;
|
|
using RobotNet.RobotShares.VDA5050.Factsheet;
|
|
using RobotNet.RobotShares.VDA5050.FactsheetExtend;
|
|
using RobotNet.RobotShares.VDA5050.State;
|
|
using RobotNet.RobotShares.VDA5050.Visualization;
|
|
using RobotNet.Shares;
|
|
|
|
namespace RobotNet.RobotManager.Services;
|
|
|
|
public interface IRobotController
|
|
{
|
|
string SerialNumber { get; }
|
|
bool IsOnline { get; set; }
|
|
bool IsWorking { get; }
|
|
string State { get; }
|
|
RobotOrderDto OrderState { get; }
|
|
RobotActionDto[] ActionStates { get; }
|
|
AutoResetEvent RobotUpdated { get; set; }
|
|
StateMsg StateMsg { get; set; }
|
|
VisualizationMsg VisualizationMsg { get; set; }
|
|
FactSheetMsg FactSheetMsg { get; set; }
|
|
FactsheetExtendMsg FactsheetExtendMsg { get; set; }
|
|
NavigationPathEdge[] BasePath { get; }
|
|
NavigationPathEdge[] FullPath { get; }
|
|
string[] CurrentZones { get; }
|
|
void Log(string message, LogLevel level = LogLevel.Information);
|
|
Task<MessageResult<string>> InstantAction(RobotNet.RobotShares.VDA5050.InstantAction.Action action, bool waittingFisished);
|
|
Task<MessageResult> MoveToNode(string goalName, IDictionary<string, IEnumerable<RobotShares.VDA5050.InstantAction.Action>>? actions = null, double? lastAngle = null);
|
|
Task<MessageResult> MoveRandom(List<string> nodes);
|
|
Task<MessageResult> CancelOrder();
|
|
Task<MessageResult> CancelAction();
|
|
void Initialize(double x, double y, double theta);
|
|
MessageResult Rotate(double angle);
|
|
MessageResult MoveStraight(double x, double y);
|
|
void Dispose();
|
|
}
|