From 5ed883227020212c8c9faac1f43bc22b9be7dd30 Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 23 Nov 2022 23:12:46 +0200 Subject: Working on ExternalBridge TCP Firmware. --- .../ViewModels/MachineConnectionViewVM.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels') diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs index c7c8335f0..1b09e5735 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs @@ -21,6 +21,8 @@ namespace Tango.MachineStudio.UI.ViewModels /// public class MachineConnectionViewVM : DialogViewVM { + private ExternalBridgeTcpFirmwareClient _firmwareTcpClient; + private static ExternalBridgeScanner _scanner; public ExternalBridgeScanner Scanner { @@ -107,7 +109,7 @@ namespace Tango.MachineStudio.UI.ViewModels /// /// Called when the dialog has been shown. /// - public override void OnShow() + public async override void OnShow() { base.OnShow(); @@ -123,9 +125,17 @@ namespace Tango.MachineStudio.UI.ViewModels _emulator.Disconnect(); } _emulator = new EmulatorExternalBridge(); + _scanner.AvailableMachines.Add(_emulator); + } + + if (_firmwareTcpClient != null) + { + await _firmwareTcpClient.Disconnect(); + + _firmwareTcpClient = new ExternalBridgeTcpFirmwareClient(); + _scanner.AvailableMachines.Add(_firmwareTcpClient); } - _scanner.AvailableMachines.Add(_emulator); _scanner.Start(); } catch (Exception ex) -- cgit v1.3.1 From daf4d915f4eb60ac54a6c9b2a680e8cf0b1f948a Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 5 Jan 2023 03:50:24 +0200 Subject: Implemented TCP Firmware Client. --- .../Images/external-bridge-lan.png | Bin 0 -> 6200 bytes .../Tango.MachineStudio.UI.csproj | 1 + .../ViewModels/MachineConnectionViewVM.cs | 9 +---- .../ViewModels/MainViewVM.cs | 3 +- .../Views/ConnectedMachineView.xaml | 45 +++++++++++++++++++++ .../Views/MachineConnectionView.xaml | 12 ++++++ .../Tango.MachineEM.UI/ViewModels/MainViewVM.cs | 15 +++++-- 7 files changed, 72 insertions(+), 13 deletions(-) create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-lan.png (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels') diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-lan.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-lan.png new file mode 100644 index 000000000..461b29b75 Binary files /dev/null and b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-lan.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 eca12dfef..4dbcbf600 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 @@ -360,6 +360,7 @@ TCC\template.bmp Always + diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs index 1b09e5735..511733984 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs @@ -128,13 +128,8 @@ namespace Tango.MachineStudio.UI.ViewModels _scanner.AvailableMachines.Add(_emulator); } - if (_firmwareTcpClient != null) - { - await _firmwareTcpClient.Disconnect(); - - _firmwareTcpClient = new ExternalBridgeTcpFirmwareClient(); - _scanner.AvailableMachines.Add(_firmwareTcpClient); - } + _firmwareTcpClient = new ExternalBridgeTcpFirmwareClient(); + _scanner.AvailableMachines.Add(_firmwareTcpClient); _scanner.Start(); } diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs index 0550383fb..70888564b 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs @@ -478,13 +478,12 @@ namespace Tango.MachineStudio.UI.ViewModels x.SelectedMachine.JobUnitsMethod = _settings.JobUnitsMethod; x.SelectedMachine.JobRunsLogger.JobSource = BL.Enumerations.JobSource.Remote; - if (x.SelectedMachine is ExternalBridgeTcpClient) + if (x.SelectedMachine is ExternalBridgeTcpClient && x.SelectedMachine.GetType() != typeof(ExternalBridgeTcpFirmwareClient)) { x.SelectedMachine.As().EnableApplicationLogs = x.EnableApplicationLogs; x.SelectedMachine.RequestTimeout = _settings.ExternalBridgeRequestTimeout; x.SelectedMachine.ContinuousRequestTimeout = _settings.ExternalBridgeContinuousRequestTimeout; } - if (x.SelectedMachine.Adapter is TcpTransportAdapter) { (x.SelectedMachine.Adapter as TcpTransportAdapter).WriteMode = _settings.TcpTransportAdapterWriteMode; 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 600104095..f7eb512ce 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml @@ -49,6 +49,10 @@ + + + + @@ -222,6 +226,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 78557a42e..37af16efe 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MachineConnectionView.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MachineConnectionView.xaml @@ -106,6 +106,18 @@ + + + + + + + IP Address: + + + + + diff --git a/Software/Visual_Studio/Utilities/Tango.MachineEM.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/Utilities/Tango.MachineEM.UI/ViewModels/MainViewVM.cs index c993be2d7..be77ee217 100644 --- a/Software/Visual_Studio/Utilities/Tango.MachineEM.UI/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/Utilities/Tango.MachineEM.UI/ViewModels/MainViewVM.cs @@ -210,9 +210,12 @@ namespace Tango.MachineEM.UI.ViewModels /// /// The source of the event. /// The instance containing the event data. - private void TcpServer_ClientConnected(object sender, ClientConnectedEventArgs e) + private async void TcpServer_ClientConnected(object sender, ClientConnectedEventArgs e) { - Emulator.Transporter.Adapter = new TcpTransportAdapter(e.Socket); + Emulator.Transporter = new BasicTransporter(new TcpTransportAdapter(e.Socket)); + await Emulator.Transporter.Connect(); + + InvalidateRelayCommands(); } #endregion @@ -224,17 +227,21 @@ namespace Tango.MachineEM.UI.ViewModels /// private async void Start() { + var settings = SettingsManager.Default.GetOrCreate(); + if (SelectedPort == Ports.First()) { - TcpServer = new TcpServer(9999); + TcpServer = new TcpServer(settings.FirmwarePort); TcpServer.ClientConnected += TcpServer_ClientConnected; TcpServer.Start(); + await Emulator.Start(); } else { Emulator.Transporter.Adapter = new UsbTransportAdapter(SelectedPort); + await Emulator.Start(); } - await Emulator.Start(); + InvalidateRelayCommands(); } -- cgit v1.3.1 From 059d15ea2de2f5ca5bf3ebde9d3e5223f9e84211 Mon Sep 17 00:00:00 2001 From: Roy Date: Tue, 14 Mar 2023 16:15:16 +0200 Subject: MS Eureka Connection on USB. --- .../MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs | 1 + 1 file changed, 1 insertion(+) (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels') diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs index 70888564b..293cccec4 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs @@ -580,6 +580,7 @@ namespace Tango.MachineStudio.UI.ViewModels { _reconnectionMachine = client; + client.MachineType = machine.Type; //In case trying to connect to Eureka on USB. await client.Connect(); client.SerialNumber = machine.SerialNumber; ApplicationManager.SetConnectedMachine(client); -- cgit v1.3.1