diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-02-17 11:46:27 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-02-17 11:46:27 +0200 |
| commit | 0cd0b590f62b31a8874ea21f225ba75c7a37053c (patch) | |
| tree | 7cfda9f863eb827b5c3ea14eeddf638e73841ffd /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI | |
| parent | 7d7d28fdeab29f74d064e50f19a4985c763ee813 (diff) | |
| download | Tango-0cd0b590f62b31a8874ea21f225ba75c7a37053c.tar.gz Tango-0cd0b590f62b31a8874ea21f225ba75c7a37053c.zip | |
Improved firmware upgrade..
Added firmware upgrade type selection to machine studio.
Made upload hw config async when connecting.
Removed success message for hw upload after connect.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI')
3 files changed, 62 insertions, 13 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/FirmwareUpgradeViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/FirmwareUpgradeViewVM.cs index 14b9d0d8e..e3726f1dd 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/FirmwareUpgradeViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/FirmwareUpgradeViewVM.cs @@ -50,6 +50,35 @@ namespace Tango.MachineStudio.UI.ViewModels set { upgradeError = value; RaisePropertyChangedAuto(); } } + private bool _dfu; + public bool DFU + { + get { return _dfu; } + set + { + _dfu = value; RaisePropertyChangedAuto(); + + if (_dfu) + { + UploadTFP = false; + } + } + } + + private bool _uploadTFP; + public bool UploadTFP + { + get { return _uploadTFP; } + set + { + _uploadTFP = value; RaisePropertyChangedAuto(); + + if (_uploadTFP) + { + DFU = false; + } + } + } public RelayCommand SelectCommand { get; set; } @@ -59,6 +88,8 @@ namespace Tango.MachineStudio.UI.ViewModels public FirmwareUpgradeViewVM(IMachineOperator machineOperator, INotificationProvider notificationProvider) : base() { + DFU = true; + UploadTFP = true; _notification = notificationProvider; _operator = machineOperator; SelectCommand = new RelayCommand(BrowseForFile); @@ -101,7 +132,14 @@ namespace Tango.MachineStudio.UI.ViewModels { IsFree = false; - _operator.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU; + if (UploadTFP) + { + _operator.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU | FirmwareUpgradeModes.TFP_PACKAGE; + } + else + { + _operator.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU; + } _stream = new FileStream(SelectedFile, FileMode.Open); Handler = await _operator.UpgradeFirmware(_stream); 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 573e56fff..1d03dd389 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs @@ -11,6 +11,7 @@ using System.Windows; using System.Windows.Controls; using System.Windows.Media; using Tango.BL; +using Tango.BL.Builders; using Tango.BL.Entities; using Tango.Core.Commands; using Tango.Core.DI; @@ -483,7 +484,7 @@ namespace Tango.MachineStudio.UI.ViewModels if (x.UploadHardwareConfiguration) { - UploadHardwareConfiguration(); + UploadHardwareConfiguration(false); } } @@ -525,7 +526,7 @@ namespace Tango.MachineStudio.UI.ViewModels if (x.UploadHardwareConfiguration) { - UploadHardwareConfiguration(); + UploadHardwareConfiguration(false); } } catch (Exception ex) @@ -615,18 +616,21 @@ namespace Tango.MachineStudio.UI.ViewModels InvalidateRelayCommands(); } - private async void UploadHardwareConfiguration() + private async void UploadHardwareConfiguration(bool showSuccessMessage = true) { try { using (ObservablesContext db = ObservablesContext.CreateDefault()) { - var config = db.Adapter.GetConfiguration(s => s.Guid == ApplicationManager.Machine.ConfigurationGuid); - var hw = db.Adapter.GetHardwareVersionByMachine(ApplicationManager.Machine.Guid); + var config = (await new ConfigurationBuilder(db).Set(ApplicationManager.Machine.ConfigurationGuid).WithIdsPacks().WithHardwareVersion().BuildAsync()); - await ApplicationManager.ConnectedMachine.UploadHardwareConfiguration(hw, config); + await ApplicationManager.ConnectedMachine.UploadHardwareConfiguration(config.HardwareVersion, config); + } + + if (showSuccessMessage) + { + NotificationProvider.ShowInfo("Hardware configuration uploaded successfully."); } - NotificationProvider.ShowInfo("Hardware configuration uploaded successfully."); } catch (Exception ex) { diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/FirmwareUpgradeView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/FirmwareUpgradeView.xaml index 4de64db12..9acd0386a 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/FirmwareUpgradeView.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/FirmwareUpgradeView.xaml @@ -25,7 +25,7 @@ </Style.Triggers> </Style> </UserControl.Style> - + <Grid> <Grid Margin="10"> <Grid.RowDefinitions> @@ -58,10 +58,17 @@ <LineBreak/> <Run>Press 'SELECT' to browse for an .tfp file (Tango Firmware Package).</Run> </TextBlock> - <DockPanel Margin="0 30 0 0" Width="600" HorizontalAlignment="Left"> - <Button DockPanel.Dock="Right" Margin="10 0 0 0" Command="{Binding SelectCommand}">SELECT</Button> - <TextBox Style="{x:Null}" VerticalContentAlignment="Center" BorderBrush="{StaticResource AccentColorBrush}" Padding="5 0" Foreground="DimGray" IsReadOnly="True" Text="{Binding SelectedFile,Mode=OneWay}"></TextBox> - </DockPanel> + <StackPanel> + <DockPanel Margin="0 30 0 0" Width="600" HorizontalAlignment="Left"> + <Button DockPanel.Dock="Right" Margin="10 0 0 0" Command="{Binding SelectCommand}">SELECT</Button> + <TextBox Style="{x:Null}" VerticalContentAlignment="Center" BorderBrush="{StaticResource AccentColorBrush}" Padding="5 0" Foreground="DimGray" IsReadOnly="True" Text="{Binding SelectedFile,Mode=OneWay}"></TextBox> + </DockPanel> + + <StackPanel Orientation="Horizontal" Margin="0 5 0 0"> + <RadioButton IsChecked="{Binding DFU,Mode=TwoWay}">DFU</RadioButton> + <RadioButton IsChecked="{Binding UploadTFP,Mode=TwoWay}" Margin="20 0 0 0">DFU & Package</RadioButton> + </StackPanel> + </StackPanel> </StackPanel> <Grid Height="60" Grid.Row="1"> |
