From 7b5a8bd0e4dbe8f1955a06c720380760ccb67ebd Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 15 Jan 2020 14:39:41 +0200 Subject: Working on diagnostics synchronization.. --- .../ViewModels/MachineTechViewVM.cs | 24 ++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs index f6b8a35df..7cb680527 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs @@ -79,6 +79,9 @@ namespace Tango.MachineStudio.Technician.ViewModels private DateTime _last_time = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0); private Machine _machine; private List _packsColors; + private int _diagnostics_index = 0; + private DateTime _diagnosticsStartTime; + private DateTime _diagnosticsNowTime; #region Properties @@ -411,7 +414,7 @@ namespace Tango.MachineStudio.Technician.ViewModels PackColor pc = new PackColor(); pc.Index = pack.PackIndex; pc.Name = pack.LiquidType.Name; - + if (pack.LiquidType.LiquidTypeColor == Colors.Black) { pc.Color = Colors.Gray; @@ -458,11 +461,28 @@ namespace Tango.MachineStudio.Technician.ViewModels { if (data.Monitors == null) return; + _diagnostics_index++; + uint interval = _machineOperator.DeviceInformation.DiagnosticsInterval; + TimeSpan delta_base = DateTime.Now - _start_time; TimeSpan delta = (DateTime.Now - _last_time); - double delta_mili = delta.TotalMilliseconds; _last_time = DateTime.Now; + if (interval > 0) + { + _diagnosticsNowTime = DateTime.ParseExact(data.DateTime, "MM/dd/yyyy HH:mm:ss.fff", null); //_diagnosticsNowTime.Add(TimeSpan.FromMilliseconds(data.ElapsedMilli)); + //var now = _diagnosticsStartTime.Add(TimeSpan.FromMilliseconds(interval * _diagnostics_index)); + Debug.WriteLine("DeltaBase Before: " + delta_base); + delta_base = _diagnosticsNowTime - _start_time; + Debug.WriteLine("DeltaBase After: " + delta_base); + + Debug.WriteLine("Delta Before: " + delta); + delta = TimeSpan.FromMilliseconds(data.ElapsedMilli); + Debug.WriteLine("Delta After: " + delta); + } + + double delta_mili = delta.TotalMilliseconds; + if (DateTime.Now > _lastDiagnosticsResponseUpdate.AddMilliseconds(MIN_DIAGNOSTICS_UPDATE_MILI)) { CurrentDiagnosticsResponse = data; -- cgit v1.3.1 From 8d1933f305e8fb4aa4cc7633fa02c419d77766ff Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Wed, 15 Jan 2020 21:13:45 +0200 Subject: External bridge improvements. --- .../ViewModels/MachineTechViewVM.cs | 2 +- .../Images/external-bridge-signalr.png | Bin 0 -> 3238 bytes .../Tango.MachineStudio.UI.csproj | 3 +- .../Views/ConnectedMachineView.xaml | 48 +++++++++++++++ .../Views/MachineConnectionView.xaml | 4 +- .../ViewModels/ExternalBridgeViewVM.cs | 8 +-- .../PPC/Tango.PPC.UI/Views/ExternalBridgeView.xaml | 4 +- .../PPC/Tango.PPC.UI/Views/MainView.xaml | 2 +- .../ExternalBridge/ExternalBridgeReceiver.cs | 2 +- .../ExternalBridge/ExternalBridgeScanner.cs | 21 +++++-- .../ExternalBridge/ExternalBridgeService.cs | 38 ++++++++---- .../ExternalBridge/ExternalBridgeSignalRClient.cs | 6 +- .../ExternalBridge/ExternalBridgeTcpClient.cs | 11 +++- .../ExternalBridge/IExternalBridgeService.cs | 30 +++++----- .../Adapters/SignalRTransportAdapter.cs | 39 ++++++++++--- .../Tango.MachineService/Hubs/ExternalBridgeHub.cs | 65 +++++++++++++++------ 16 files changed, 212 insertions(+), 71 deletions(-) create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-signalr.png (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs index 7cb680527..139d85493 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs @@ -459,7 +459,7 @@ namespace Tango.MachineStudio.Technician.ViewModels /// The data. private void PopulateDiagnosticsData(StartDiagnosticsResponse data) { - if (data.Monitors == null) return; + if (data.Monitors == null || _machineOperator == null || _machineOperator.DeviceInformation == null) return; _diagnostics_index++; uint interval = _machineOperator.DeviceInformation.DiagnosticsInterval; diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-signalr.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-signalr.png new file mode 100644 index 000000000..dc9b06e72 Binary files /dev/null and b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-signalr.png differ diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj index 1762205ad..565489f0b 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj @@ -363,6 +363,7 @@ TCC\template.bmp Always + @@ -675,7 +676,7 @@ if $(ConfigurationName) == Release RD /S /Q "$(TargetDir)Roslyn\" - + \ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml index e69ac516e..a5283f346 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml @@ -32,6 +32,10 @@ + + + + @@ -65,6 +69,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MachineConnectionView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MachineConnectionView.xaml index 0ef498420..58ff03107 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MachineConnectionView.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MachineConnectionView.xaml @@ -58,13 +58,13 @@ - + S/N: - IP Address: + Hub: Organization: diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/ExternalBridgeViewVM.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/ExternalBridgeViewVM.cs index f1127ebfe..66b982ffe 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/ExternalBridgeViewVM.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/ExternalBridgeViewVM.cs @@ -79,7 +79,7 @@ namespace Tango.PPC.UI.ViewModels LogManager.Log("Disconnecting current external bridge session."); _disconnecting = true; InvalidateRelayCommands(); - ExternalBridgeService.DisconnectSession(); + ExternalBridgeService.DisconnectFullControlSession(); } #endregion @@ -103,7 +103,7 @@ namespace Tango.PPC.UI.ViewModels public override void OnApplicationStarted() { ExternalBridgeService.ConnectionRequest += ExternalBridgeService_ConnectionRequest; - ExternalBridgeService.ClientDisconnected += ExternalBridgeService_ClientDisconnected; + ExternalBridgeService.FullControlSessionDisconnected += ExternalBridgeService_FullControlSessionDisconnected; } #endregion @@ -111,11 +111,11 @@ namespace Tango.PPC.UI.ViewModels #region Event Handlers /// - /// Handles the event. + /// Handles the event. /// /// The sender. /// The instance containing the event data. - private void ExternalBridgeService_ClientDisconnected(object sender, EventArgs e) + private void ExternalBridgeService_FullControlSessionDisconnected(object sender, EventArgs e) { if (IsVisible) { diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/ExternalBridgeView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/ExternalBridgeView.xaml index 4de00120f..377d1b531 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/ExternalBridgeView.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/ExternalBridgeView.xaml @@ -23,7 +23,7 @@