aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
authorRoy <Roy.mail.net@gmail.com>2023-01-05 03:50:24 +0200
committerRoy <Roy.mail.net@gmail.com>2023-02-16 23:47:49 +0200
commitdaf4d915f4eb60ac54a6c9b2a680e8cf0b1f948a (patch)
treea820b23783c8b0207d5a5da78d9719bbb6b35b08 /Software/Visual_Studio
parent5ed883227020212c8c9faac1f43bc22b9be7dd30 (diff)
downloadTango-daf4d915f4eb60ac54a6c9b2a680e8cf0b1f948a.tar.gz
Tango-daf4d915f4eb60ac54a6c9b2a680e8cf0b1f948a.zip
Implemented TCP Firmware Client.
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-lan.pngbin0 -> 6200 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj1
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs9
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs3
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml45
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MachineConnectionView.xaml12
-rw-r--r--Software/Visual_Studio/Utilities/Tango.MachineEM.UI/ViewModels/MainViewVM.cs15
7 files changed, 72 insertions, 13 deletions
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
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-lan.png
Binary files 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 @@
<Link>TCC\template.bmp</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
+ <Resource Include="Images\external-bridge-lan.png" />
<Resource Include="Images\login_white.png" />
<Resource Include="Images\login.png" />
<Resource Include="Images\active_directory.png" />
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<ExternalBridgeTcpClient>().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 @@
<DataTemplate DataType="{x:Type emulations:EmulatorExternalBridge}">
<Image Source="/Images/external-bridge-emulator.png" Width="48" Height="48" RenderOptions.BitmapScalingMode="Fant"></Image>
</DataTemplate>
+
+ <DataTemplate DataType="{x:Type integration:ExternalBridgeTcpFirmwareClient}">
+ <Image Source="/Images/external-bridge-lan.png" Width="48" Height="48" RenderOptions.BitmapScalingMode="Fant"></Image>
+ </DataTemplate>
</ContentControl.Resources>
</ContentControl>
@@ -222,6 +226,47 @@
</controls:TableGrid>
</DataTemplate>
+ <DataTemplate DataType="{x:Type integration:ExternalBridgeTcpFirmwareClient}">
+ <controls:TableGrid RowHeight="22">
+ <TextBlock FontWeight="SemiBold" Text="Serial Number:" />
+ <TextBlock Text="{Binding SerialNumber}" />
+ <TextBlock FontWeight="SemiBold" Text="Name:" />
+ <TextBlock Text="{Binding Machine.Name}" />
+ <TextBlock FontWeight="SemiBold" Text="Organization:" />
+ <TextBlock Text="{Binding Machine.Organization.Name}" />
+ <TextBlock FontWeight="SemiBold" Text="Total Dye Time:" />
+ <TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.TotalMachineWorkTime}" />
+ <TextBlock FontWeight="SemiBold" Text="Total Dye Meters:" />
+ <TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.TotalMachineMeters}" />
+ <TextBlock FontWeight="SemiBold" Text="Embedded Software Version:" />
+ <TextBlock Text="{Binding DeviceInformation.Version}" />
+ <TextBlock FontWeight="SemiBold" Text="IP Address:" />
+ <TextBlock Text="{Binding IPAddress}" />
+ <TextBlock FontWeight="SemiBold" Text="Total Bytes Sent:" />
+ <TextBlock Text="{Binding Adapter.TotalBytesSent,Converter={StaticResource ByteArrayToFileSizeConverter},Mode=OneWay}" />
+ <TextBlock FontWeight="SemiBold" Text="Total Bytes Received:" />
+ <TextBlock Text="{Binding Adapter.TotalBytesReceived,Converter={StaticResource ByteArrayToFileSizeConverter},Mode=OneWay}" />
+ <TextBlock FontWeight="SemiBold" Text="Transfer Rate:" />
+ <TextBlock>
+ <Run Text="{Binding Adapter.TransferRate,Converter={StaticResource ByteArrayToFileSizeConverter},Mode=OneWay}"></Run>
+ <Run Text="/ sec"></Run>
+ </TextBlock>
+ <TextBlock FontWeight="SemiBold" Text="Diagnostics Frame Rate:" />
+ <TextBlock>
+ <Run Text="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.DiagnosticsFrameProvider.FrameRate,Mode=OneWay,IsAsync=True}"></Run>
+ <Run Text="/ sec"></Run>
+ </TextBlock>
+ <TextBlock FontWeight="SemiBold" Text="Enable Diagnostics:" />
+ <ToggleButton IsChecked="{Binding EnableDiagnostics}" HorizontalAlignment="Left"></ToggleButton>
+ <TextBlock FontWeight="SemiBold" Text="Enable Embedded Debug Logs:" />
+ <ToggleButton IsChecked="{Binding EnableEmbeddedDebugging}" HorizontalAlignment="Left"></ToggleButton>
+ <TextBlock FontWeight="SemiBold" Text="Enable KeepAlive:" />
+ <ToggleButton IsChecked="{Binding UseKeepAlive}" HorizontalAlignment="Left"></ToggleButton>
+ <TextBlock FontWeight="SemiBold" Text="Enable Events:" />
+ <ToggleButton IsChecked="{Binding EnableEventsNotification}" HorizontalAlignment="Left"></ToggleButton>
+ </controls:TableGrid>
+ </DataTemplate>
+
<DataTemplate DataType="{x:Type emulations:EmulatorExternalBridge}">
<controls:TableGrid RowHeight="22">
<TextBlock FontWeight="SemiBold" Text="Address:" />
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 @@
</StackPanel>
</DockPanel>
</DataTemplate>
+ <DataTemplate DataType="{x:Type integration:ExternalBridgeTcpFirmwareClient}">
+ <DockPanel>
+ <StackPanel Orientation="Horizontal">
+ <Image Source="/Images/external-bridge-lan.png" Height="45" RenderOptions.BitmapScalingMode="Fant"></Image>
+ <StackPanel Margin="10 0 0 0">
+ <TextBlock FontSize="11">
+ <Run FontWeight="Bold">IP Address:</Run> <Run Text="{Binding IPAddress,Mode=OneWay}"></Run>
+ </TextBlock>
+ </StackPanel>
+ </StackPanel>
+ </DockPanel>
+ </DataTemplate>
<DataTemplate DataType="{x:Type emulations:EmulatorExternalBridge}">
<DockPanel>
<StackPanel Orientation="Horizontal">
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
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="ClientConnectedEventArgs"/> instance containing the event data.</param>
- 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
/// </summary>
private async void Start()
{
+ var settings = SettingsManager.Default.GetOrCreate<Integration.IntegrationSettings>();
+
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();
}