diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-04-09 12:11:08 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-04-09 12:11:08 +0300 |
| commit | 1059d820ce5f6f83ce2b5a619487e7f8120c7949 (patch) | |
| tree | b3ca27408a96c998d948fae503cab9edc0c29e8a | |
| parent | a0e25846735104f09a18647220db59804977e73a (diff) | |
| download | Tango-1059d820ce5f6f83ce2b5a619487e7f8120c7949.tar.gz Tango-1059d820ce5f6f83ce2b5a619487e7f8120c7949.zip | |
Implemented baud rate for USB Serial Adapter.
Added baud rate to stubs UI.
| -rw-r--r-- | Software/DB/Tango.mdf | bin | 75497472 -> 75497472 bytes | |||
| -rw-r--r-- | Software/DB/Tango_log.ldf | bin | 1572864 -> 1572864 bytes | |||
| -rw-r--r-- | Software/Visual_Studio/Tango.Settings/StubsUI.cs | 6 | ||||
| -rw-r--r-- | Software/Visual_Studio/Tango.Transport/Adapters/UsbSerialBaudRates.cs | 22 | ||||
| -rw-r--r-- | Software/Visual_Studio/Tango.Transport/Adapters/UsbTransportAdapter.cs | 7 | ||||
| -rw-r--r-- | Software/Visual_Studio/Tango.Transport/Tango.Transport.csproj | 1 | ||||
| -rw-r--r-- | Software/Visual_Studio/Utilities/Tango.Stubs.UI/ViewModels/MainViewVM.cs | 13 | ||||
| -rw-r--r-- | Software/Visual_Studio/Utilities/Tango.Stubs.UI/Views/MainView.xaml | 18 |
8 files changed, 67 insertions, 0 deletions
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf Binary files differindex dff82fd11..005dde878 100644 --- a/Software/DB/Tango.mdf +++ b/Software/DB/Tango.mdf diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf Binary files differindex b6a391fd4..22bf5f3c5 100644 --- a/Software/DB/Tango_log.ldf +++ b/Software/DB/Tango_log.ldf 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> |
