diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-10-17 13:00:31 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-10-17 13:00:31 +0300 |
| commit | 997eee30e7bf9d9a91d8c3c65e2d3206e83a7b2d (patch) | |
| tree | 545a338ca5741c480b07f6203eab452c2971c22b /Software/Visual_Studio/MachineStudio | |
| parent | 41d9ff70aa37ee31fcd99803ba87cb638d3f26f7 (diff) | |
| download | Tango-997eee30e7bf9d9a91d8c3c65e2d3206e83a7b2d.tar.gz Tango-997eee30e7bf9d9a91d8c3c65e2d3206e83a7b2d.zip | |
Implemented partial hw config upload in techboard.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio')
3 files changed, 83 insertions, 1 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs index 46d745139..b0dac90f1 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs @@ -277,6 +277,10 @@ namespace Tango.MachineStudio.Technician.ViewModels /// </value> public RelayCommand ImportProjectTabsCommand { get; set; } + /// <summary> + /// Gets or sets the upload partial hardware configuration command. + /// </summary> + public RelayCommand UploadPartialHardwareConfigurationCommand { get; set; } #endregion #region Constructors @@ -351,6 +355,7 @@ namespace Tango.MachineStudio.Technician.ViewModels NewProjectCommand = new RelayCommand(CreateNewProject); RenameTabCommand = new RelayCommand(RenameTab); ImportProjectTabsCommand = new RelayCommand(ImportProjectTabs); + UploadPartialHardwareConfigurationCommand = new RelayCommand(UploadPartialHardwareConfiguration); } #endregion @@ -2278,6 +2283,76 @@ namespace Tango.MachineStudio.Technician.ViewModels } } + private async void UploadPartialHardwareConfiguration() + { + if (MachineOperator != null) + { + if (_notification.ShowQuestion("This will upload only visible elements across all tabs as a hardware configuration package. Are you sure?")) + { + using (_notification.PushTaskItem("Uploading partial hardware configuration...")) + { + try + { + HardwareVersion hw = new HardwareVersion(); + hw.Name = "Partial HW Configuration"; + hw.Version = 1; + + Configuration config = null; + + foreach (var element in Tabs.SelectMany(x => x.Elements).ToList()) + { + var item = element.HostedElement as TechItem; + + if (item is MotorItem) + { + hw.HardwareMotors.Add((item as MotorItem).HardwareMotor); + } + else if (item is DancerItem) + { + hw.HardwareDancers.Add((item as DancerItem).HardwareDancer); + } + else if (item is PidItem) + { + hw.HardwarePidControls.Add((item as PidItem).HardwarePid); + } + else if (item is BlowerItem) + { + hw.HardwareBlowers.Add((item as BlowerItem).HardwareBlower); + } + else if (item is BreakSensorItem) + { + hw.HardwareBreakSensors.Add((item as BreakSensorItem).HardwareBreakSensor); + } + else if (item is SpeedSensorItem) + { + hw.HardwareSpeedSensors.Add((item as SpeedSensorItem).HardwareSpeedSensor); + } + else if (item is WinderItem) + { + hw.HardwareWinders.Add((item as WinderItem).HardwareWinder); + } + } + + await Task.Factory.StartNew(() => + { + using (ObservablesContext db = ObservablesContext.CreateDefault()) + { + config = db.Adapter.GetConfiguration(x => x.Guid == ApplicationManager.Machine.ConfigurationGuid).Clone(); + } + }); + + await MachineOperator.UploadHardwareConfiguration(hw, config); + } + catch (Exception ex) + { + LogManager.Log(ex, "Error uploading partial hardware configuration."); + _notification.ShowError("An error occurred while trying to upload the partial hardware configuration." + Environment.NewLine + ex.Message); + } + } + } + } + } + private async void ResetHardwareConfiguration(bool showMessage = true) { if (MachineOperator != null) diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Views/MachineTechView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Views/MachineTechView.xaml index 0b2cad073..3072ea98c 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Views/MachineTechView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Views/MachineTechView.xaml @@ -228,6 +228,13 @@ </MenuItem.Icon> </MenuItem> </MenuItem> + <MenuItem Header="Tools"> + <MenuItem Header="Upload partial hardware configuration" Command="{Binding UploadPartialHardwareConfigurationCommand}"> + <MenuItem.Icon> + <fa:ImageAwesome Icon="Upload" Width="16" /> + </MenuItem.Icon> + </MenuItem> + </MenuItem> <MenuItem Header="Components"> <MenuItem.ItemContainerStyle> <Style TargetType="MenuItem" BasedOn="{x:Null}"> diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs index ae5dbc5fa..b9d9fdcc8 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs @@ -4,5 +4,5 @@ using System.Runtime.InteropServices; [assembly: System.Windows.ThemeInfo(System.Windows.ResourceDictionaryLocation.None, System.Windows.ResourceDictionaryLocation.SourceAssembly)] [assembly: AssemblyTitle("Tango - Machine Studio")] -[assembly: AssemblyVersion("3.5.48.18238")] +[assembly: AssemblyVersion("3.5.49.18238")] [assembly: ComVisible(false)]
\ No newline at end of file |
