blob: e17f515ccb3f8b31180d6288e303995f38e08859 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.PMR.Diagnostics;
using Tango.PMR.Printing;
using Tango.Transport;
using System.Reactive;
using Tango.PMR;
using System.Reactive.Linq;
using Tango.PMR.Debugging;
using Tango.PMR.Hardware;
using Tango.BL.Entities;
namespace Tango.Integration.Operation
{
/// <summary>
/// Represents a Tango machine operator.
/// </summary>
/// <seealso cref="Tango.Transport.ITransporter" />
public interface IMachineOperator : ITransporter
{
/// <summary>
/// Occurs when there is new diagnostics data available.
/// </summary>
event EventHandler<PushDiagnosticsResponse> DiagnosticsDataAvailable;
/// <summary>
/// Occurs when a new debug log is available.
/// </summary>
event EventHandler<DebugLogResponse> DebugLogAvailable;
/// <summary>
/// Gets or sets a value indicating whether direct the embedded device to send diagnostics messages.
/// </summary>
bool EnableDiagnostics { get; set; }
/// <summary>
/// Gets or sets a value indicating whether to allow incoming debugging messages.
/// </summary>
bool EnableEmbeddedDebugging { get; set; }
/// <summary>
/// Prints the specified job using the specified job parameters.
/// </summary>
/// <param name="job">The job.</param>
/// <param name="processParameters">Process parameters table</param>
/// <returns></returns>
JobHandler Print(Job job, ProcessParametersTable processParameters);
/// <summary>
/// Uploads the specified process parameters to the embedded device.
/// </summary>
/// <param name="processParameters">The process parameters.</param>
/// <returns></returns>
Task<UploadProcessParametersResponse> UploadProcessParameters(ProcessParametersTable processParameters);
/// <summary>
/// Uploads the specified hardware configuration to the embedded device.
/// </summary>
/// <param name="hardwareConfiguration">The hardware configuration.</param>
/// <returns></returns>
Task<UploadHardwareConfigurationResponse> UploadHardwareConfiguration(HardwareConfiguration hardwareConfiguration);
/// <summary>
/// Starts jogging the specified motor.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
Task<MotorJoggingResponse> StartMotorJogging(MotorJoggingRequest request);
/// <summary>
/// Stops jogging the specified motor.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
Task<MotorAbortJoggingResponse> StopMotorJogging(MotorAbortJoggingRequest request);
/// <summary>
/// Starts homing the specified motor.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
IObservable<MotorHomingResponse> StartMotorHoming(MotorHomingRequest request);
/// <summary>
/// Stops homing the specified motor.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
Task<MotorAbortHomingResponse> StopMotorHoming(MotorAbortHomingRequest request);
/// <summary>
/// Starts jogging the specified dispenser.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
Task<DispenserJoggingResponse> StartDispenserJogging(DispenserJoggingRequest request);
/// <summary>
/// Stops jogging the specified dispenser.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
Task<DispenserAbortJoggingResponse> StopDispenserJogging(DispenserAbortJoggingRequest request);
/// <summary>
/// Starts homing the specified dispenser.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
IObservable<DispenserHomingResponse> StartDispenserHoming(DispenserHomingRequest request);
/// <summary>
/// Stops homing the specified dispenser.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
Task<DispenserAbortHomingResponse> StopDispenserHoming(DispenserAbortHomingRequest request);
/// <summary>
/// Turn on/off the specified digital output pin.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
Task<SetDigitalOutResponse> SetDigitalOut(SetDigitalOutRequest request);
/// <summary>
/// Starts jogging the thread motion system.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
Task<ThreadJoggingResponse> StartThreadJogging(ThreadJoggingRequest request);
/// <summary>
/// Stops jogging the thread motion system.
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
Task<ThreadAbortJoggingResponse> StopThreadJogging(ThreadAbortJoggingRequest request);
}
}
|