aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs')
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs740
1 files changed, 281 insertions, 459 deletions
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
index cd320e023..5f8361256 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
@@ -174,26 +174,6 @@ namespace Tango.Integration.Operation
public event EventHandler<CartridgeValidationEventArgs> CartridgeValidationRequestReceived;
/// <summary>
- /// Occurs when a request has been sent.
- /// </summary>
- public event EventHandler<IMessage> RequestSent;
-
- /// <summary>
- /// Occurs when a response has been sent.
- /// </summary>
- public event EventHandler<IMessage> ResponseSent;
-
- /// <summary>
- /// Occurs when a request has timed out.
- /// </summary>
- public event EventHandler<RequestFailedEventArgs> RequestFailed;
-
- /// <summary>
- /// Occurs when a request response has been received.
- /// </summary>
- public event EventHandler<IMessage> ResponseReceived;
-
- /// <summary>
/// Reports about the job printing preparation progress.
/// </summary>
public event EventHandler<PreparingJobProgressEventArgs> PreparingJobProgress;
@@ -582,13 +562,12 @@ namespace Tango.Integration.Operation
bool responseLogged = false;
_diagnosticsSent = true;
- SendContinuousRequest<StartDiagnosticsRequest, StartDiagnosticsResponse>(request).ObserveOn(new NewThreadScheduler()).Subscribe(
+ SendContinuousRequest<StartDiagnosticsRequest, StartDiagnosticsResponse>(request, new TransportContinuousRequestConfig() { ShouldLog = true }).ObserveOn(new NewThreadScheduler()).Subscribe(
(response) =>
{
if (!responseLogged)
{
_diagnosticsTime = DateTime.Now;
- LogResponseReceived(response.Message);
responseLogged = true;
}
else
@@ -603,19 +582,12 @@ namespace Tango.Integration.Operation
(ex) =>
{
_diagnosticsSent = false;
-
- if (!(ex is ContinuousResponseAbortedException) && !(ex is TransporterDisconnectedException))
- {
- LogRequestFailed(request, ex);
- }
},
() =>
{
_diagnosticsSent = false;
LogManager.Log("Diagnostics response completed!?", LogCategory.Warning);
});
-
- LogRequestSent(request);
}
else if (_diagnosticsSent)
{
@@ -627,14 +599,9 @@ namespace Tango.Integration.Operation
try
{
- LogRequestSent(req);
- var res = await SendRequest<StopDiagnosticsRequest, StopDiagnosticsResponse>(req);
- LogResponseReceived(res.Message);
- }
- catch (Exception ex)
- {
- LogRequestFailed(req, ex);
+ var res = await SendRequest<StopDiagnosticsRequest, StopDiagnosticsResponse>(req, new TransportRequestConfig() { ShouldLog = true });
}
+ catch { }
}
}
}
@@ -652,33 +619,25 @@ namespace Tango.Integration.Operation
bool responseLogged = false;
_eventsSent = true;
- SendContinuousRequest<StartEventsNotificationRequest, StartEventsNotificationResponse>(request).ObserveOn(new NewThreadScheduler()).Subscribe(
+ SendContinuousRequest<StartEventsNotificationRequest, StartEventsNotificationResponse>(request, new TransportContinuousRequestConfig() { ShouldLog = true }).ObserveOn(new NewThreadScheduler()).Subscribe(
(response) =>
{
OnEventsNotification(response);
if (!responseLogged)
{
- LogResponseReceived(response.Message);
responseLogged = true;
}
},
(ex) =>
{
_eventsSent = false;
-
- if (!(ex is ContinuousResponseAbortedException) && !(ex is TransporterDisconnectedException))
- {
- LogRequestFailed(request, ex);
- }
},
() =>
{
_eventsSent = false;
LogManager.Log("Events Notification response completed!?", LogCategory.Warning);
});
-
- LogRequestSent(request);
}
else if (_eventsSent)
{
@@ -690,14 +649,9 @@ namespace Tango.Integration.Operation
try
{
- LogRequestSent(req);
- var res = await SendRequest<StopEventsNotificationRequest, StopEventsNotificationResponse>(req);
- LogResponseReceived(res.Message);
- }
- catch (Exception ex)
- {
- LogRequestFailed(req, ex);
+ var res = await SendRequest<StopEventsNotificationRequest, StopEventsNotificationResponse>(req, new TransportRequestConfig() { ShouldLog = true });
}
+ catch { }
}
}
}
@@ -715,14 +669,13 @@ namespace Tango.Integration.Operation
bool responseLogged = false;
_debugSent = true;
- SendContinuousRequest<StartDebugLogRequest, StartDebugLogResponse>(request).ObserveOn(new NewThreadScheduler())
+ SendContinuousRequest<StartDebugLogRequest, StartDebugLogResponse>(request, new TransportContinuousRequestConfig() { ShouldLog = true }).ObserveOn(new NewThreadScheduler())
.Subscribe
(
(response) =>
{
if (!responseLogged)
{
- LogResponseReceived(response.Message);
responseLogged = true;
}
@@ -731,18 +684,11 @@ namespace Tango.Integration.Operation
(ex) =>
{
_debugSent = false;
-
- if (!(ex is ContinuousResponseAbortedException) && !(ex is TransporterDisconnectedException))
- {
- LogRequestFailed(request, ex);
- }
},
() =>
{
_debugSent = false;
});
-
- LogRequestSent(request);
}
else if (_debugSent)
{
@@ -754,14 +700,9 @@ namespace Tango.Integration.Operation
try
{
- LogRequestSent(req);
- var res = await SendRequest<StopDebugLogRequest, StopDebugLogResponse>(req);
- LogResponseReceived(res.Message);
- }
- catch (Exception ex)
- {
- LogRequestFailed(req, ex);
+ var res = await SendRequest<StopDebugLogRequest, StopDebugLogResponse>(req, new TransportRequestConfig() { ShouldLog = true });
}
+ catch { }
}
}
}
@@ -779,33 +720,25 @@ namespace Tango.Integration.Operation
bool responseLogged = false;
_machineStatusSent = true;
- SendContinuousRequest<StartMachineStatusUpdateRequest, StartMachineStatusUpdateResponse>(request).ObserveOn(new NewThreadScheduler()).Subscribe(
+ SendContinuousRequest<StartMachineStatusUpdateRequest, StartMachineStatusUpdateResponse>(request, new TransportContinuousRequestConfig() { ShouldLog = true }).ObserveOn(new NewThreadScheduler()).Subscribe(
(response) =>
{
OnMachineStatusChanged(response);
if (!responseLogged)
{
- LogResponseReceived(response.Message);
responseLogged = true;
}
},
(ex) =>
{
_machineStatusSent = false;
-
- if (!(ex is ContinuousResponseAbortedException) && !(ex is TransporterDisconnectedException))
- {
- LogRequestFailed(request, ex);
- }
},
() =>
{
_machineStatusSent = false;
LogManager.Log("Machine status update response completed!?", LogCategory.Warning);
});
-
- LogRequestSent(request);
}
else if (_machineStatusSent)
{
@@ -817,14 +750,9 @@ namespace Tango.Integration.Operation
try
{
- LogRequestSent(req);
- var res = await SendRequest<StopMachineStatusUpdateRequest, StopMachineStatusUpdateResponse>(req);
- LogResponseReceived(res.Message);
- }
- catch (Exception ex)
- {
- LogRequestFailed(req, ex);
+ var res = await SendRequest<StopMachineStatusUpdateRequest, StopMachineStatusUpdateResponse>(req, new TransportRequestConfig() { ShouldLog = true });
}
+ catch { }
}
}
}
@@ -842,33 +770,25 @@ namespace Tango.Integration.Operation
bool responseLogged = false;
_threadLoadingSent = true;
- SendContinuousRequest<StartThreadLoadingRequest, StartThreadLoadingResponse>(request).ObserveOn(new NewThreadScheduler()).Subscribe(
+ SendContinuousRequest<StartThreadLoadingRequest, StartThreadLoadingResponse>(request, new TransportContinuousRequestConfig() { ShouldLog = true }).ObserveOn(new NewThreadScheduler()).Subscribe(
(response) =>
{
OnThreadLoadingStatusChanged(response);
if (!responseLogged)
{
- LogResponseReceived(response.Message);
responseLogged = true;
}
},
(ex) =>
{
_threadLoadingSent = false;
-
- if (!(ex is ContinuousResponseAbortedException) && !(ex is TransporterDisconnectedException))
- {
- LogRequestFailed(request, ex);
- }
},
() =>
{
_threadLoadingSent = false;
LogManager.Log("Thread loading response completed!?", LogCategory.Warning);
});
-
- LogRequestSent(request);
}
else if (_threadLoadingSent)
{
@@ -880,14 +800,9 @@ namespace Tango.Integration.Operation
try
{
- LogRequestSent(req);
- var res = await SendRequest<StopThreadLoadingRequest, StopThreadLoadingResponse>(req);
- LogResponseReceived(res.Message);
- }
- catch (Exception ex)
- {
- LogRequestFailed(req, ex);
+ var res = await SendRequest<StopThreadLoadingRequest, StopThreadLoadingResponse>(req, new TransportRequestConfig() { ShouldLog = true });
}
+ catch { }
}
}
}
@@ -1019,7 +934,7 @@ namespace Tango.Integration.Operation
var r = SendRequest<ContinueThreadLoadingRequest, ContinueThreadLoadingResponse>(new ContinueThreadLoadingRequest()
{
ProcessParameters = process,
- }).Result;
+ }, new TransportRequestConfig() { ShouldLog = true }).Result;
}
catch (Exception ex)
{
@@ -1041,24 +956,6 @@ namespace Tango.Integration.Operation
}
/// <summary>
- /// Called when the request has been sent
- /// </summary>
- /// <param name="response">The request.</param>
- protected virtual void OnRequestSent(IMessage request)
- {
- RequestSent?.Invoke(this, request);
- }
-
- /// <summary>
- /// Called when the response has been received
- /// </summary>
- /// <param name="response">The response.</param>
- protected virtual void OnResponseReceived(IMessage response)
- {
- ResponseReceived?.Invoke(this, response);
- }
-
- /// <summary>
/// Called when a new request has been received.
/// </summary>
/// <param name="container">The request.</param>
@@ -1077,24 +974,6 @@ namespace Tango.Integration.Operation
}
/// <summary>
- /// Called when the response has been sent
- /// </summary>
- /// <param name="response">The response.</param>
- protected virtual void OnResponseSent(IMessage response)
- {
- ResponseSent?.Invoke(this, response);
- }
-
- /// <summary>
- /// Called when the request has been failed
- /// </summary>
- /// <param name="request">The request.</param>
- protected virtual void OnRequestFailed(IMessage request, Exception exception)
- {
- RequestFailed?.Invoke(this, new RequestFailedEventArgs(request, exception));
- }
-
- /// <summary>
/// Called when the machine status has been changed
/// </summary>
/// <param name="status">The status.</param>
@@ -1279,19 +1158,14 @@ namespace Tango.Integration.Operation
if (State == TransportComponentState.Connected)
{
DisconnectRequest request = new DisconnectRequest();
- LogRequestSent(request);
try
{
- var response = await SendRequest<DisconnectRequest, DisconnectResponse>(request);
- LogResponseReceived(response.Message);
+ var response = await SendRequest<DisconnectRequest, DisconnectResponse>(request, new TransportRequestConfig() { ShouldLog = true });
Status = MachineStatuses.Disconnected;
}
- catch (Exception ex)
- {
- LogRequestFailed(request, ex);
- }
+ catch { }
}
if (MachineEventsStateProvider != null)
@@ -1323,16 +1197,13 @@ namespace Tango.Integration.Operation
Password = "1234",
UnixTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
};
- LogRequestSent(request);
try
{
- var response = await SendRequest<ConnectRequest, ConnectResponse>(request);
+ var response = await SendRequest<ConnectRequest, ConnectResponse>(request, new TransportRequestConfig() { ShouldLog = true });
SessionLogger.CreateSession();
- LogResponseReceived(response.Message);
-
_isPowerDownRequestInProgress = false;
if (Status != MachineStatuses.Upgrading)
@@ -1365,7 +1236,6 @@ namespace Tango.Integration.Operation
}
catch (Exception ex)
{
- LogRequestFailed(request, ex);
await base.Disconnect();
throw ex;
}
@@ -1386,7 +1256,7 @@ namespace Tango.Integration.Operation
try
{
- var res = await SendRequest<CurrentJobRequest, CurrentJobResponse>(new CurrentJobRequest());
+ var res = await SendRequest<CurrentJobRequest, CurrentJobResponse>(new CurrentJobRequest(), new TransportRequestConfig() { ShouldLog = true });
if (res.Message.IsJobInProgress)
{
@@ -1418,7 +1288,7 @@ namespace Tango.Integration.Operation
try
{
handler.CanCancel = false;
- var result = await SendRequest<AbortJobRequest, AbortJobResponse>(new AbortJobRequest());
+ var result = await SendRequest<AbortJobRequest, AbortJobResponse>(new AbortJobRequest(), new TransportRequestConfig() { ShouldLog = true });
handler.IsCanceled = true;
OnPrintingAborted(handler, originalJob);
handler.RaiseCanceled();
@@ -1435,91 +1305,88 @@ namespace Tango.Integration.Operation
RunningJobStatus = s;
};
- LogRequestSent(request);
bool responseLogged = false;
Thread.Sleep(500); //Just wait maybe Shlomo is getting this message to fast after restart ?
bool completed = false;
- SendContinuousRequest<ResumeCurrentJobRequest, ResumeCurrentJobResponse>(request, null, ContinuousRequestTimeout).Subscribe((response) =>
- {
- if (!completed)
- {
- if (!responseLogged)
- {
- if (_last_job_status != null)
- {
- _last_job_status.IsCanceled = false;
- _last_job_status.IsCompleted = false;
- _last_job_status.IsFailed = false;
- handler.Status = _last_job_status;
- }
- }
+ SendContinuousRequest<ResumeCurrentJobRequest, ResumeCurrentJobResponse>(request, new TransportContinuousRequestConfig() { ContinuousTimeout = ContinuousRequestTimeout, ShouldLog = true }).Subscribe((response) =>
+ {
+ if (!completed)
+ {
+ if (!responseLogged)
+ {
+ if (_last_job_status != null)
+ {
+ _last_job_status.IsCanceled = false;
+ _last_job_status.IsCompleted = false;
+ _last_job_status.IsFailed = false;
+ handler.Status = _last_job_status;
+ }
+ }
- handler.RaiseStatusReceived(response.Message.Status);
+ handler.RaiseStatusReceived(response.Message.Status);
- if (!responseLogged)
- {
- Status = MachineStatuses.GettingReady;
- responseLogged = true;
- RunningJob = originalJob;
- OnPrintingStarted(handler, originalJob);
- LogResponseReceived(response.Message);
- }
+ if (!responseLogged)
+ {
+ Status = MachineStatuses.GettingReady;
+ responseLogged = true;
+ RunningJob = originalJob;
+ OnPrintingStarted(handler, originalJob);
+ }
- if (JobHandlingMode == JobHandlerModes.SettingUp)
- {
- if (response.Message.Status.Progress > processParameters.DryerBufferLengthMeters)
- {
- if (!completed)
- {
- Status = MachineStatuses.Printing;
- }
- }
- }
- else
- {
- if (response.Message.Status.Progress > 0)
- {
- if (!completed)
- {
- Status = MachineStatuses.Printing;
- }
- }
- }
- }
- }, (ex) =>
- {
- if (!completed)
- {
- completed = true;
- if (!(ex is ContinuousResponseAbortedException))
- {
- Status = MachineStatuses.ReadyToDye;
+ if (JobHandlingMode == JobHandlerModes.SettingUp)
+ {
+ if (response.Message.Status.Progress > processParameters.DryerBufferLengthMeters)
+ {
+ if (!completed)
+ {
+ Status = MachineStatuses.Printing;
+ }
+ }
+ }
+ else
+ {
+ if (response.Message.Status.Progress > 0)
+ {
+ if (!completed)
+ {
+ Status = MachineStatuses.Printing;
+ }
+ }
+ }
+ }
+ }, (ex) =>
+ {
+ if (!completed)
+ {
+ completed = true;
+ if (!(ex is ContinuousResponseAbortedException))
+ {
+ Status = MachineStatuses.ReadyToDye;
- if (!handler.IsCanceled)
- {
- OnPrintingFailed(handler, originalJob, ex);
- handler.RaiseFailed(ex);
- LogRequestFailed(request, ex);
- }
- }
- else
- {
- Status = MachineStatuses.ReadyToDye;
- }
- }
- }, () =>
- {
- if (!completed)
- {
- completed = true;
- Status = MachineStatuses.ReadyToDye;
- OnPrintingCompleted(handler, originalJob);
- handler.RaiseCompleted();
- }
- });
+ if (!handler.IsCanceled)
+ {
+ OnPrintingFailed(handler, originalJob, ex);
+ handler.RaiseFailed(ex);
+ }
+ }
+ else
+ {
+ Status = MachineStatuses.ReadyToDye;
+ }
+ }
+ }, () =>
+ {
+ if (!completed)
+ {
+ completed = true;
+ Status = MachineStatuses.ReadyToDye;
+ OnPrintingCompleted(handler, originalJob);
+ handler.RaiseCompleted();
+ }
+ });
return handler;
});
@@ -1538,37 +1405,37 @@ namespace Tango.Integration.Operation
/// Logs the request sent.
/// </summary>
/// <param name="message">The message.</param>
- protected void LogRequestSent(IMessage message)
- {
- if (!(message is FileChunkUploadRequest) && !(message is FileDownloadRequest))
- {
- LogManager.Log($"{GetExtendedComponentName()}: Sending request '{message.GetType().Name}'...\n{message.ToJsonString()}");
- OnRequestSent(message);
- }
- }
+ //protected void LogRequestSent(IMessage message)
+ //{
+ // if (!(message is FileChunkUploadRequest) && !(message is FileDownloadRequest))
+ // {
+ // //LogManager.Log($"{GetExtendedComponentName()}: Sending request '{message.GetType().Name}'...\n{message.ToJsonString()}");
+ // OnRequestSent(message);
+ // }
+ //}
/// <summary>
/// Logs the request failed.
/// </summary>
/// <param name="message">The message.</param>
- protected void LogRequestFailed(IMessage message, Exception ex)
- {
- LogManager.Log($"{GetExtendedComponentName()}: Request failed '{message.GetType().Name}'...\n{message.ToJsonString()}\n{ex.ToString()}", LogCategory.Error);
- OnRequestFailed(message, ex);
- }
+ //protected void LogRequestFailed(IMessage message, Exception ex)
+ //{
+ // //LogManager.Log($"{GetExtendedComponentName()}: Request failed '{message.GetType().Name}'...\n{message.ToJsonString()}\n{ex.ToString()}", LogCategory.Error);
+ // OnRequestFailed(message, ex);
+ //}
/// <summary>
/// Logs the response received.
/// </summary>
/// <param name="message">The message.</param>
- protected void LogResponseReceived(IMessage message)
- {
- if (!(message is FileChunkUploadResponse) && !(message is FileDownloadResponse))
- {
- LogManager.Log($"{GetExtendedComponentName()}: Response received '{message.GetType().Name}'...\n{message.ToJsonString()}");
- OnResponseReceived(message);
- }
- }
+ //protected void LogResponseReceived(IMessage message)
+ //{
+ // if (!(message is FileChunkUploadResponse) && !(message is FileDownloadResponse))
+ // {
+ // //LogManager.Log($"{GetExtendedComponentName()}: Response received '{message.GetType().Name}'...\n{message.ToJsonString()}");
+ // OnResponseReceived(message);
+ // }
+ //}
/// <summary>
/// Creates a PMR job segment.
@@ -1668,12 +1535,11 @@ namespace Tango.Integration.Operation
request.JobTicket = ticket;
- LogRequestSent(request);
bool responseLogged = false;
var previous_segments_length = job.Segments.Where(x => x.SegmentIndex < segment.SegmentIndex).Sum(x => x.Length);
- SendContinuousRequest<JobRequest, JobResponse>(request, null, ContinuousRequestTimeout).Subscribe((response) =>
+ SendContinuousRequest<JobRequest, JobResponse>(request, new TransportContinuousRequestConfig() { ContinuousTimeout = ContinuousRequestTimeout, ShouldLog = true }).Subscribe((response) =>
{
response.Message.Status.Progress += previous_segments_length;
@@ -1685,7 +1551,6 @@ namespace Tango.Integration.Operation
Status = MachineStatuses.Printing;
RunningJob = handler.Job;
OnPrintingStarted(handler, handler.Job);
- LogResponseReceived(response.Message);
}
}, (ex) =>
@@ -1698,7 +1563,6 @@ namespace Tango.Integration.Operation
{
OnPrintingFailed(handler, handler.Job, ex);
handler.RaiseFailed(ex);
- LogRequestFailed(request, ex);
}
}
else
@@ -2413,12 +2277,13 @@ namespace Tango.Integration.Operation
if (handler.CanCancel)
{
handler.CanCancel = false;
-
+ LogManager.Log("Aborting current job...");
LogManager.Log($"Aborting current gradient generation...");
GradientGenerationConfiguration.AbortCurrentGeneration();
if (fileUploadHandler != null)
{
+ LogManager.Log("Job is currently uploading. Aborting file upload...");
await fileUploadHandler.Cancel();
fileUploadHandler = null;
LogManager.Log("Job upload canceled.");
@@ -2433,7 +2298,7 @@ namespace Tango.Integration.Operation
{
if (requestSent)
{
- var result = await SendRequest<AbortJobRequest, AbortJobResponse>(new AbortJobRequest());
+ var result = await SendRequest<AbortJobRequest, AbortJobResponse>(new AbortJobRequest(), new TransportRequestConfig() { ShouldLog = true });
handler.IsCanceled = true;
}
@@ -2646,7 +2511,6 @@ namespace Tango.Integration.Operation
Status = MachineStatuses.ReadyToDye;
OnPrintingFailed(handler, clonedJob, ex);
handler.RaiseFailed(ex);
- LogRequestFailed(request, ex);
return;
}
}
@@ -2664,106 +2528,103 @@ namespace Tango.Integration.Operation
_machineStatusBeforeJobStart = MachineStatus.Clone();
- LogRequestSent(request);
bool responseLogged = false;
bool completed = false; //Use this in case Shlomo is sending progress after completion.
_jobHeatingStartDate = DateTime.UtcNow;
- SendContinuousRequest<JobRequest, JobResponse>(request, null, ContinuousRequestTimeout.Add(TimeSpan.FromSeconds(3))).Subscribe((response) =>
- {
- if (!completed)
- {
- handler.RaiseStatusReceived(response.Message.Status);
- _last_job_status = handler.Status;
+ SendContinuousRequest<JobRequest, JobResponse>(request, new TransportContinuousRequestConfig() { ContinuousTimeout = ContinuousRequestTimeout.Add(TimeSpan.FromSeconds(3)), ShouldLog = true }).Subscribe((response) =>
+ {
+ if (!completed)
+ {
+ handler.RaiseStatusReceived(response.Message.Status);
+ _last_job_status = handler.Status;
- if (response.Message.Status.Progress > 0)
- {
- if (oldKeepAlive != UseKeepAlive)
- {
- UseKeepAlive = oldKeepAlive;
- }
+ if (response.Message.Status.Progress > 0)
+ {
+ if (oldKeepAlive != UseKeepAlive)
+ {
+ UseKeepAlive = oldKeepAlive;
+ }
- if (_jobActualStartDate == null)
- {
- _jobActualStartDate = DateTime.UtcNow;
- }
- }
+ if (_jobActualStartDate == null)
+ {
+ _jobActualStartDate = DateTime.UtcNow;
+ }
+ }
- if (!responseLogged)
- {
- requestSent = true;
- responseLogged = true;
- LogResponseReceived(response.Message);
- }
+ if (!responseLogged)
+ {
+ requestSent = true;
+ responseLogged = true;
+ }
- if (JobHandlingMode == JobHandlerModes.SettingUp)
- {
- if (response.Message.Status.Progress > processParameters.DryerBufferLengthMeters)
- {
- if (!completed)
- {
- Status = MachineStatuses.Printing;
- }
- }
- }
- else
- {
- if (response.Message.Status.Progress > 0)
- {
- if (!completed)
- {
- Status = MachineStatuses.Printing;
- }
- }
- }
- }
+ if (JobHandlingMode == JobHandlerModes.SettingUp)
+ {
+ if (response.Message.Status.Progress > processParameters.DryerBufferLengthMeters)
+ {
+ if (!completed)
+ {
+ Status = MachineStatuses.Printing;
+ }
+ }
+ }
+ else
+ {
+ if (response.Message.Status.Progress > 0)
+ {
+ if (!completed)
+ {
+ Status = MachineStatuses.Printing;
+ }
+ }
+ }
+ }
- }, (ex) =>
- {
- if (!completed)
- {
- completed = true;
+ }, (ex) =>
+ {
+ if (!completed)
+ {
+ completed = true;
- UseKeepAlive = oldKeepAlive;
+ UseKeepAlive = oldKeepAlive;
- if (!(ex is ContinuousResponseAbortedException))
- {
- if (Status != MachineStatuses.Disconnected)
- {
- Status = MachineStatuses.ReadyToDye;
- }
+ if (!(ex is ContinuousResponseAbortedException))
+ {
+ if (Status != MachineStatuses.Disconnected)
+ {
+ Status = MachineStatuses.ReadyToDye;
+ }
- if (!handler.IsCanceled)
- {
- SaveLastJobLiquidQuantities(originalJob, originalJob.Machine.Configuration, processParameters, handler);
- OnPrintingFailed(handler, originalJob, ex);
- handler.RaiseFailed(ex);
- LogRequestFailed(request, ex);
- }
- }
- else
- {
- if (Status != MachineStatuses.Disconnected)
- {
- Status = MachineStatuses.ReadyToDye;
- }
- }
- }
- }, () =>
- {
- if (!completed)
- {
- completed = true;
+ if (!handler.IsCanceled)
+ {
+ SaveLastJobLiquidQuantities(originalJob, originalJob.Machine.Configuration, processParameters, handler);
+ OnPrintingFailed(handler, originalJob, ex);
+ handler.RaiseFailed(ex);
+ }
+ }
+ else
+ {
+ if (Status != MachineStatuses.Disconnected)
+ {
+ Status = MachineStatuses.ReadyToDye;
+ }
+ }
+ }
+ }, () =>
+ {
+ if (!completed)
+ {
+ completed = true;
- UseKeepAlive = oldKeepAlive;
+ UseKeepAlive = oldKeepAlive;
- Status = MachineStatuses.ReadyToDye;
- SaveLastJobLiquidQuantities(clonedJob, originalJob.Machine.Configuration, processParameters, handler);
- OnPrintingCompleted(handler, clonedJob);
- handler.RaiseCompleted();
- }
- });
+ Status = MachineStatuses.ReadyToDye;
+ SaveLastJobLiquidQuantities(clonedJob, originalJob.Machine.Configuration, processParameters, handler);
+ OnPrintingCompleted(handler, clonedJob);
+ handler.RaiseCompleted();
+ }
+ });
});
return handler;
@@ -2935,7 +2796,7 @@ namespace Tango.Integration.Operation
{
try
{
- var result = await SendRequest<StubAbortJobRequest, StubAbortJobResponse>(new StubAbortJobRequest());
+ var result = await SendRequest<StubAbortJobRequest, StubAbortJobResponse>(new StubAbortJobRequest(), new TransportRequestConfig() { ShouldLog = true });
OnPrintingAborted(handler, originalJob);
handler.RaiseCanceled();
}
@@ -2950,44 +2811,41 @@ namespace Tango.Integration.Operation
RunningJobStatus = s;
};
- LogRequestSent(request);
bool responseLogged = false;
- SendContinuousRequest<StubJobRequest, StubJobResponse>(request, null, ContinuousRequestTimeout).Subscribe((response) =>
- {
- handler.RaiseStatusReceived(response.Message.Status);
+ SendContinuousRequest<StubJobRequest, StubJobResponse>(request, new TransportContinuousRequestConfig() { ContinuousTimeout = ContinuousRequestTimeout, ShouldLog = true }).Subscribe((response) =>
+ {
+ handler.RaiseStatusReceived(response.Message.Status);
- if (!responseLogged)
- {
- responseLogged = true;
- Status = MachineStatuses.Printing;
- RunningJob = originalJob;
- OnPrintingStarted(handler, originalJob);
- LogResponseReceived(response.Message);
- }
- }, (ex) =>
- {
- if (!(ex is ContinuousResponseAbortedException))
- {
- Status = MachineStatuses.ReadyToDye;
+ if (!responseLogged)
+ {
+ responseLogged = true;
+ Status = MachineStatuses.Printing;
+ RunningJob = originalJob;
+ OnPrintingStarted(handler, originalJob);
+ }
+ }, (ex) =>
+ {
+ if (!(ex is ContinuousResponseAbortedException))
+ {
+ Status = MachineStatuses.ReadyToDye;
- if (!handler.IsCanceled)
- {
- OnPrintingFailed(handler, originalJob, ex);
- handler.RaiseFailed(ex);
- LogRequestFailed(request, ex);
- }
- }
- else
- {
- Status = MachineStatuses.ReadyToDye;
- }
- }, () =>
- {
- Status = MachineStatuses.ReadyToDye;
- OnPrintingCompleted(handler, originalJob);
- handler.RaiseCompleted();
- });
+ if (!handler.IsCanceled)
+ {
+ OnPrintingFailed(handler, originalJob, ex);
+ handler.RaiseFailed(ex);
+ }
+ }
+ else
+ {
+ Status = MachineStatuses.ReadyToDye;
+ }
+ }, () =>
+ {
+ Status = MachineStatuses.ReadyToDye;
+ OnPrintingCompleted(handler, originalJob);
+ handler.RaiseCompleted();
+ });
return handler;
@@ -3010,13 +2868,10 @@ namespace Tango.Integration.Operation
try
{
CurrentProcessParameters = processParameters;
- LogRequestSent(request);
- response = await SendRequest<UploadProcessParametersRequest, UploadProcessParametersResponse>(request);
- LogResponseReceived(response);
+ response = await SendRequest<UploadProcessParametersRequest, UploadProcessParametersResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
catch (Exception ex)
{
- LogRequestFailed(request, ex);
throw ex;
}
@@ -3116,13 +2971,10 @@ namespace Tango.Integration.Operation
try
{
CurrentHardwareConfiguration = hardwareConfiguration;
- LogRequestSent(request);
- response = await SendRequest<UploadHardwareConfigurationRequest, UploadHardwareConfigurationResponse>(request);
- LogResponseReceived(response);
+ response = await SendRequest<UploadHardwareConfigurationRequest, UploadHardwareConfigurationResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
catch (Exception ex)
{
- LogRequestFailed(request, ex);
throw ex;
}
@@ -3140,13 +2992,10 @@ namespace Tango.Integration.Operation
try
{
- LogRequestSent(request);
- response = await SendRequest<MotorJoggingRequest, MotorJoggingResponse>(request);
- LogResponseReceived(response);
+ response = await SendRequest<MotorJoggingRequest, MotorJoggingResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
catch (Exception ex)
{
- LogRequestFailed(request, ex);
throw ex;
}
@@ -3160,8 +3009,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public async Task<MotorAbortJoggingResponse> StopMotorJogging(MotorAbortJoggingRequest request)
{
- LogRequestSent(request);
- return await SendRequest<MotorAbortJoggingRequest, MotorAbortJoggingResponse>(request);
+ return await SendRequest<MotorAbortJoggingRequest, MotorAbortJoggingResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
/// <summary>
@@ -3171,8 +3019,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public IObservable<MotorHomingResponse> StartMotorHoming(MotorHomingRequest request)
{
- LogRequestSent(request);
- return SendContinuousRequest<MotorHomingRequest, MotorHomingResponse>(request, null, ContinuousRequestTimeout).Select(x => x.Message);
+ return SendContinuousRequest<MotorHomingRequest, MotorHomingResponse>(request, new TransportContinuousRequestConfig() { ContinuousTimeout = ContinuousRequestTimeout, ShouldLog = true }).Select(x => x.Message);
}
/// <summary>
@@ -3182,8 +3029,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public async Task<MotorAbortHomingResponse> StopMotorHoming(MotorAbortHomingRequest request)
{
- LogRequestSent(request);
- return await SendRequest<MotorAbortHomingRequest, MotorAbortHomingResponse>(request);
+ return await SendRequest<MotorAbortHomingRequest, MotorAbortHomingResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
/// <summary>
@@ -3193,8 +3039,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public async Task<DispenserJoggingResponse> StartDispenserJogging(DispenserJoggingRequest request)
{
- LogRequestSent(request);
- return await SendRequest<DispenserJoggingRequest, DispenserJoggingResponse>(request);
+ return await SendRequest<DispenserJoggingRequest, DispenserJoggingResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
/// <summary>
@@ -3204,8 +3049,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public async Task<DispenserAbortJoggingResponse> StopDispenserJogging(DispenserAbortJoggingRequest request)
{
- LogRequestSent(request);
- return await SendRequest<DispenserAbortJoggingRequest, DispenserAbortJoggingResponse>(request);
+ return await SendRequest<DispenserAbortJoggingRequest, DispenserAbortJoggingResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
/// <summary>
@@ -3215,8 +3059,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public IObservable<DispenserHomingResponse> StartDispenserHoming(DispenserHomingRequest request)
{
- LogRequestSent(request);
- return SendContinuousRequest<DispenserHomingRequest, DispenserHomingResponse>(request, null, ContinuousRequestTimeout).Select(x => x.Message);
+ return SendContinuousRequest<DispenserHomingRequest, DispenserHomingResponse>(request, new TransportContinuousRequestConfig() { ContinuousTimeout = ContinuousRequestTimeout, ShouldLog = true }).Select(x => x.Message);
}
/// <summary>
@@ -3226,8 +3069,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public async Task<DispenserAbortHomingResponse> StopDispenserHoming(DispenserAbortHomingRequest request)
{
- LogRequestSent(request);
- return await SendRequest<DispenserAbortHomingRequest, DispenserAbortHomingResponse>(request);
+ return await SendRequest<DispenserAbortHomingRequest, DispenserAbortHomingResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
/// <summary>
@@ -3237,8 +3079,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public async Task<SetDigitalOutResponse> SetDigitalOut(SetDigitalOutRequest request)
{
- LogRequestSent(request);
- return await SendRequest<SetDigitalOutRequest, SetDigitalOutResponse>(request);
+ return await SendRequest<SetDigitalOutRequest, SetDigitalOutResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
/// <summary>
@@ -3248,8 +3089,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public async Task<ThreadJoggingResponse> StartThreadJogging(ThreadJoggingRequest request)
{
- LogRequestSent(request);
- return await SendRequest<ThreadJoggingRequest, ThreadJoggingResponse>(request);
+ return await SendRequest<ThreadJoggingRequest, ThreadJoggingResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
/// <summary>
@@ -3259,8 +3099,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public async Task<ThreadAbortJoggingResponse> StopThreadJogging(ThreadAbortJoggingRequest request)
{
- LogRequestSent(request);
- return await SendRequest<ThreadAbortJoggingRequest, ThreadAbortJoggingResponse>(request);
+ return await SendRequest<ThreadAbortJoggingRequest, ThreadAbortJoggingResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
/// <summary>
@@ -3270,8 +3109,7 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public async Task<SetComponentValueResponse> SetComponentValue(SetComponentValueRequest request)
{
- LogRequestSent(request);
- return await SendRequest<SetComponentValueRequest, SetComponentValueResponse>(request);
+ return await SendRequest<SetComponentValueRequest, SetComponentValueResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
/// <summary>
@@ -3292,13 +3130,10 @@ namespace Tango.Integration.Operation
try
{
- LogRequestSent(request);
- response = await SendRequest<SetHeaterStateRequest, SetHeaterStateResponse>(request);
- LogResponseReceived(response);
+ response = await SendRequest<SetHeaterStateRequest, SetHeaterStateResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
catch (Exception ex)
{
- LogRequestFailed(request, ex);
throw ex;
}
@@ -3324,13 +3159,10 @@ namespace Tango.Integration.Operation
try
{
- LogRequestSent(request);
- response = await SendRequest<SetBlowerStateRequest, SetBlowerStateResponse>(request);
- LogResponseReceived(response);
+ response = await SendRequest<SetBlowerStateRequest, SetBlowerStateResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
catch (Exception ex)
{
- LogRequestFailed(request, ex);
throw ex;
}
@@ -3354,13 +3186,10 @@ namespace Tango.Integration.Operation
try
{
- LogRequestSent(request);
- response = await SendRequest<SetValveStateRequest, SetValveStateResponse>(request);
- LogResponseReceived(response);
+ response = await SendRequest<SetValveStateRequest, SetValveStateResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
catch (Exception ex)
{
- LogRequestFailed(request, ex);
throw ex;
}
@@ -3375,8 +3204,7 @@ namespace Tango.Integration.Operation
public async Task<ResolveEventResponse> ResolveEvent(PMR.Diagnostics.EventType eventType)
{
ResolveEventRequest request = new ResolveEventRequest() { Type = eventType };
- LogRequestSent(request);
- return await SendRequest<ResolveEventRequest, ResolveEventResponse>(request);
+ return await SendRequest<ResolveEventRequest, ResolveEventResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
/// <summary>
@@ -3396,13 +3224,10 @@ namespace Tango.Integration.Operation
Value = 0x0
};
- LogRequestSent(request);
- response = await SendRequest<StubFpgaWriteRegRequest, StubFpgaWriteRegResponse>(request);
- LogResponseReceived(response);
+ response = await SendRequest<StubFpgaWriteRegRequest, StubFpgaWriteRegResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
catch (Exception ex)
{
- LogRequestFailed(request, ex);
throw ex;
}
@@ -3416,13 +3241,10 @@ namespace Tango.Integration.Operation
Value = 0x1
};
- LogRequestSent(request);
- response = await SendRequest<StubFpgaWriteRegRequest, StubFpgaWriteRegResponse>(request);
- LogResponseReceived(response);
+ response = await SendRequest<StubFpgaWriteRegRequest, StubFpgaWriteRegResponse>(request, new TransportRequestConfig() { ShouldLog = true });
}
catch (Exception ex)
{
- LogRequestFailed(request, ex);
throw ex;
}
@@ -3707,7 +3529,7 @@ namespace Tango.Integration.Operation
upgradeHandler.RaiseProgress(upgradeHandler.Total, FirmwareUpgradeStatus.Validating, "Validating version...");
var validateRequest = new ValidateVersionRequest();
validateRequest.Path = package_folder;
- var validateResponse = SendRequest<ValidateVersionRequest, ValidateVersionResponse>(validateRequest, TimeSpan.FromSeconds(10)).Result;
+ var validateResponse = SendRequest<ValidateVersionRequest, ValidateVersionResponse>(validateRequest, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(10), ShouldLog = true }).Result;
activate();
}
catch (Exception ex)
@@ -3724,7 +3546,7 @@ namespace Tango.Integration.Operation
upgradeHandler.RaiseProgress(upgradeHandler.Total, FirmwareUpgradeStatus.Activating, "Activating version...");
var activateRequest = new ActivateVersionRequest();
activateRequest.Path = package_folder;
- var activateResponse = SendRequest<ActivateVersionRequest, ActivateVersionResponse>(activateRequest, TimeSpan.FromSeconds(10)).Result;
+ var activateResponse = SendRequest<ActivateVersionRequest, ActivateVersionResponse>(activateRequest, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(10), ShouldLog = true }).Result;
postActivation();
}
catch (Exception ex)
@@ -3788,7 +3610,7 @@ namespace Tango.Integration.Operation
{
var validateRequest = new ValidateVersionRequest();
validateRequest.Path = path;
- await SendRequest<ValidateVersionRequest, ValidateVersionResponse>(validateRequest, TimeSpan.FromSeconds(10));
+ await SendRequest<ValidateVersionRequest, ValidateVersionResponse>(validateRequest, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(10), ShouldLog = true });
}
/// <summary>
@@ -3799,7 +3621,7 @@ namespace Tango.Integration.Operation
{
var activateRequest = new ActivateVersionRequest();
activateRequest.Path = path;
- await SendRequest<ActivateVersionRequest, ActivateVersionResponse>(activateRequest, TimeSpan.FromSeconds(10));
+ await SendRequest<ActivateVersionRequest, ActivateVersionResponse>(activateRequest, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(10), ShouldLog = true });
}
/// <summary>
@@ -3819,7 +3641,7 @@ namespace Tango.Integration.Operation
{
_isPowerDownRequestInProgress = false;
Thread.Sleep(2000);
- var r = SendRequest<AbortPowerDownRequest, AbortPowerDownResponse>(new AbortPowerDownRequest()).Result;
+ var r = SendRequest<AbortPowerDownRequest, AbortPowerDownResponse>(new AbortPowerDownRequest(), new TransportRequestConfig() { ShouldLog = true }).Result;
}));
Task.Factory.StartNew(() =>
@@ -3828,31 +3650,31 @@ namespace Tango.Integration.Operation
bool firstResponse = true;
- SendContinuousRequest<StartPowerDownRequest, StartPowerDownResponse>(new StartPowerDownRequest(), RequestTimeout, TimeSpan.FromSeconds(5)).ObserveOn(new NewThreadScheduler()).Subscribe((response) =>
- {
- if (firstResponse)
- {
- firstResponse = false;
- Status = MachineStatuses.ShuttingDown;
- }
+ SendContinuousRequest<StartPowerDownRequest, StartPowerDownResponse>(new StartPowerDownRequest(), new TransportContinuousRequestConfig() { ContinuousTimeout = TimeSpan.FromSeconds(2), ShouldLog = true }).ObserveOn(new NewThreadScheduler()).Subscribe((response) =>
+ {
+ if (firstResponse)
+ {
+ firstResponse = false;
+ Status = MachineStatuses.ShuttingDown;
+ }
- handler.RaiseStatusChanged(response);
- }, (ex) =>
- {
- if (_isPowerDownRequestInProgress)
- {
- _isPowerDownRequestInProgress = false;
- LogManager.Log(ex, "Power down error.");
- handler.RaiseFailed(ex);
- }
- }, () =>
- {
- if (_isPowerDownRequestInProgress)
- {
- _isPowerDownRequestInProgress = false;
- handler.RaiseCompleted();
- }
- });
+ handler.RaiseStatusChanged(response);
+ }, (ex) =>
+ {
+ if (_isPowerDownRequestInProgress)
+ {
+ _isPowerDownRequestInProgress = false;
+ LogManager.Log(ex, "Power down error.");
+ handler.RaiseFailed(ex);
+ }
+ }, () =>
+ {
+ if (_isPowerDownRequestInProgress)
+ {
+ _isPowerDownRequestInProgress = false;
+ handler.RaiseCompleted();
+ }
+ });
});
PowerDownStarted?.Invoke(this, new PowerDownStartedEventArgs()