aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-04-09 12:11:08 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-04-09 12:11:08 +0300
commit1059d820ce5f6f83ce2b5a619487e7f8120c7949 (patch)
treeb3ca27408a96c998d948fae503cab9edc0c29e8a /Software
parenta0e25846735104f09a18647220db59804977e73a (diff)
downloadTango-1059d820ce5f6f83ce2b5a619487e7f8120c7949.tar.gz
Tango-1059d820ce5f6f83ce2b5a619487e7f8120c7949.zip
Implemented baud rate for USB Serial Adapter.
Added baud rate to stubs UI.
Diffstat (limited to 'Software')
-rw-r--r--Software/DB/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/Tango_log.ldfbin1572864 -> 1572864 bytes
-rw-r--r--Software/Visual_Studio/Tango.Settings/StubsUI.cs6
-rw-r--r--Software/Visual_Studio/Tango.Transport/Adapters/UsbSerialBaudRates.cs22
-rw-r--r--Software/Visual_Studio/Tango.Transport/Adapters/UsbTransportAdapter.cs7
-rw-r--r--Software/Visual_Studio/Tango.Transport/Tango.Transport.csproj1
-rw-r--r--Software/Visual_Studio/Utilities/Tango.Stubs.UI/ViewModels/MainViewVM.cs13
-rw-r--r--Software/Visual_Studio/Utilities/Tango.Stubs.UI/Views/MainView.xaml18
8 files changed, 67 insertions, 0 deletions
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf
index dff82fd11..005dde878 100644
--- a/Software/DB/Tango.mdf
+++ b/Software/DB/Tango.mdf
Binary files differ
diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf
index b6a391fd4..22bf5f3c5 100644
--- a/Software/DB/Tango_log.ldf
+++ b/Software/DB/Tango_log.ldf
Binary files differ
diff --git a/Software/Visual_Studio/Tango.Settings/StubsUI.cs b/Software/Visual_Studio/Tango.Settings/StubsUI.cs
index c0dea54ba..9944ffc11 100644
--- a/Software/Visual_Studio/Tango.Settings/StubsUI.cs
+++ b/Software/Visual_Studio/Tango.Settings/StubsUI.cs
@@ -17,6 +17,11 @@ namespace Tango.Settings
public String SelectedPort { get; set; }
/// <summary>
+ /// Gets or sets the baud rate.
+ /// </summary>
+ public int BaudRate { get; set; }
+
+ /// <summary>
/// Gets or sets the last tabs.
/// </summary>
public List<String> LastTabs { get; set; }
@@ -31,6 +36,7 @@ namespace Tango.Settings
/// </summary>
public StubsUI()
{
+ BaudRate = 9600;
LastTabs = new List<string>();
}
}
diff --git a/Software/Visual_Studio/Tango.Transport/Adapters/UsbSerialBaudRates.cs b/Software/Visual_Studio/Tango.Transport/Adapters/UsbSerialBaudRates.cs
new file mode 100644
index 000000000..eade1deb6
--- /dev/null
+++ b/Software/Visual_Studio/Tango.Transport/Adapters/UsbSerialBaudRates.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.Transport.Adapters
+{
+ /// <summary>
+ /// Represents standard USB serial baud rates.
+ /// </summary>
+ public enum UsbSerialBaudRates
+ {
+ [Description("9600")]
+ BR_9600 = 9600,
+ [Description("19200")]
+ BR_19200 = 19200,
+ [Description("115200")]
+ BR_115200 = 115200,
+ }
+}
diff --git a/Software/Visual_Studio/Tango.Transport/Adapters/UsbTransportAdapter.cs b/Software/Visual_Studio/Tango.Transport/Adapters/UsbTransportAdapter.cs
index 99c6a7a49..06d0d5d31 100644
--- a/Software/Visual_Studio/Tango.Transport/Adapters/UsbTransportAdapter.cs
+++ b/Software/Visual_Studio/Tango.Transport/Adapters/UsbTransportAdapter.cs
@@ -19,10 +19,16 @@ namespace Tango.Transport.Adapters
private LogManager LogManager = LogManager.Default;
/// <summary>
+ /// Gets or sets the baud rate.
+ /// </summary>
+ public UsbSerialBaudRates BaudRate { get; set; }
+
+ /// <summary>
/// Initializes a new instance of the <see cref="UsbTransportAdapter"/> class.
/// </summary>
public UsbTransportAdapter() : base()
{
+ BaudRate = UsbSerialBaudRates.BR_9600;
AdapterMode = TransportAdapterMode.PREPEND_HEADER;
Address = "COM1";
}
@@ -58,6 +64,7 @@ namespace Tango.Transport.Adapters
}
_serialPort = new SerialPort();
+ _serialPort.BaudRate = BaudRate.ToInt32();
_serialPort.DataReceived += OnSerialPortDataReceived;
_serialPort.PortName = Address;
_serialPort.ReadBufferSize = MAX_BUFFER_SIZE;
diff --git a/Software/Visual_Studio/Tango.Transport/Tango.Transport.csproj b/Software/Visual_Studio/Tango.Transport/Tango.Transport.csproj
index 6db8faf4e..a1dd5e0d0 100644
--- a/Software/Visual_Studio/Tango.Transport/Tango.Transport.csproj
+++ b/Software/Visual_Studio/Tango.Transport/Tango.Transport.csproj
@@ -65,6 +65,7 @@
<Compile Include="..\Versioning\GlobalVersionInfo.cs">
<Link>GlobalVersionInfo.cs</Link>
</Compile>
+ <Compile Include="Adapters\UsbSerialBaudRates.cs" />
<Compile Include="Adapters\UsbTransportAdapter.cs" />
<Compile Include="Encoders\ProtoEncoder.cs" />
<Compile Include="ITransportComponent.cs" />
diff --git a/Software/Visual_Studio/Utilities/Tango.Stubs.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/Utilities/Tango.Stubs.UI/ViewModels/MainViewVM.cs
index e28408777..e849e6101 100644
--- a/Software/Visual_Studio/Utilities/Tango.Stubs.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/Utilities/Tango.Stubs.UI/ViewModels/MainViewVM.cs
@@ -137,6 +137,16 @@ namespace Tango.Stubs.UI.ViewModels
set { _appendLogAuto = value; RaisePropertyChangedAuto(); }
}
+ private UsbSerialBaudRates _baudRate;
+ /// <summary>
+ /// Gets or sets the baud rate.
+ /// </summary>
+ public UsbSerialBaudRates BaudRate
+ {
+ get { return _baudRate; }
+ set { _baudRate = value; RaisePropertyChangedAuto(); }
+ }
+
#endregion
#region Commands
@@ -309,6 +319,7 @@ namespace Tango.Stubs.UI.ViewModels
};
SelectedPort = SettingsManager.Default.StubsUI.SelectedPort != null ? SettingsManager.Default.StubsUI.SelectedPort : Ports.First();
+ BaudRate = (UsbSerialBaudRates)SettingsManager.Default.StubsUI.BaudRate;
AppendLogAuto = SettingsManager.Default.StubsUI.AutoLogResponse;
Status = "Ready";
@@ -540,6 +551,7 @@ namespace Tango.Stubs.UI.ViewModels
if (!IsConnected)
{
_adapter = new UsbTransportAdapter(SelectedPort);
+ _adapter.BaudRate = BaudRate;
_adapter.Connect().Wait();
IsConnected = true;
}
@@ -696,6 +708,7 @@ namespace Tango.Stubs.UI.ViewModels
{
SettingsManager.Default.StubsUI.AutoLogResponse = AppendLogAuto;
SettingsManager.Default.StubsUI.SelectedPort = SelectedPort;
+ SettingsManager.Default.StubsUI.BaudRate = BaudRate.ToInt32();
SettingsManager.Default.StubsUI.LastTabs = CodeTabs.Select(x => x.File).ToList();
SettingsManager.SaveDefaultSettings();
}
diff --git a/Software/Visual_Studio/Utilities/Tango.Stubs.UI/Views/MainView.xaml b/Software/Visual_Studio/Utilities/Tango.Stubs.UI/Views/MainView.xaml
index 69e31cac0..e30f051c6 100644
--- a/Software/Visual_Studio/Utilities/Tango.Stubs.UI/Views/MainView.xaml
+++ b/Software/Visual_Studio/Utilities/Tango.Stubs.UI/Views/MainView.xaml
@@ -8,13 +8,24 @@
xmlns:fa="http://schemas.fontawesome.io/icons/"
xmlns:local="clr-namespace:Tango.Stubs.UI.Views"
xmlns:vm="clr-namespace:Tango.Stubs.UI.ViewModels"
+ xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
+ xmlns:transport="clr-namespace:Tango.Transport.Adapters;assembly=Tango.Transport"
mc:Ignorable="d"
d:DesignHeight="720" d:DesignWidth="1280">
<UserControl.Resources>
+
+ <ObjectDataProvider x:Key="baudRates" MethodName="GetValues"
+ ObjectType="{x:Type System:Enum}">
+ <ObjectDataProvider.MethodParameters>
+ <x:Type TypeName="transport:UsbSerialBaudRates"/>
+ </ObjectDataProvider.MethodParameters>
+ </ObjectDataProvider>
+
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"></BooleanToVisibilityConverter>
+ <converters:EnumToDescriptionConverter x:Key="EnumToDescriptionConverter" />
<Style BasedOn="{StaticResource MetroTabItem}" TargetType="{x:Type TabItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=IsSelected}" Value="True">
@@ -226,6 +237,13 @@
<GroupBox Header="COMMUNICATION PORT" VerticalAlignment="Top" DockPanel.Dock="Top" Margin="0 2 0 0">
<StackPanel>
<ComboBox Margin="0 10 0 0" BorderThickness="0" ItemsSource="{Binding Ports}" Height="35" SelectedItem="{Binding SelectedPort}"></ComboBox>
+ <ComboBox Margin="0 10 0 0" BorderThickness="0" ItemsSource="{Binding Source={StaticResource baudRates}}" Height="35" SelectedItem="{Binding BaudRate}" SelectedIndex="0">
+ <ComboBox.ItemTemplate>
+ <DataTemplate>
+ <TextBlock Text="{Binding Path=.,Converter={StaticResource EnumToDescriptionConverter}}" />
+ </DataTemplate>
+ </ComboBox.ItemTemplate>
+ </ComboBox>
</StackPanel>
</GroupBox>