From b294fd44000766de11ce6c0e2d82d2fae81c82b9 Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Wed, 13 Nov 2019 11:59:51 +0200 Subject: Restored job liquid quantity validation to start of procedure. --- .../Dialogs/InsufficientLiquidQuantityView.xaml | 78 ---------------------- .../Dialogs/InsufficientLiquidQuantityView.xaml.cs | 54 --------------- .../Dialogs/InsufficientLiquidQuantityViewVM.cs | 20 ------ .../Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj | 10 +-- .../Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs | 17 ----- .../Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs | 4 ++ 6 files changed, 5 insertions(+), 178 deletions(-) delete mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityView.xaml delete mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityView.xaml.cs delete mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityViewVM.cs (limited to 'Software/Visual_Studio/PPC/Modules') diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityView.xaml deleted file mode 100644 index 90492ce9f..000000000 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityView.xaml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - CLOSE - - - - Insufficient Ink Level - - There seems to be an insufficient ink levels in one or more of the following dispensers. - The job cannot be completed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityView.xaml.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityView.xaml.cs deleted file mode 100644 index eabff89b4..000000000 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityView.xaml.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Navigation; -using System.Windows.Shapes; -using Tango.Integration.Operation; -using static Tango.Integration.Operation.InsufficientLiquidQuantityException; - -namespace Tango.PPC.Jobs.Dialogs -{ - /// - /// Interaction logic for InsufficientLiquidQuantityView.xaml - /// - public partial class InsufficientLiquidQuantityView : UserControl - { - public InsufficientLiquidQuantityView() - { - InitializeComponent(); - } - - private void IdsPackLoaded(object sender, RoutedEventArgs e) - { - Border border = sender as Border; - Grid parent = border.Parent as Grid; - IDSPackLevel packLevel = border.DataContext as IDSPackLevel; - - border.Height = ((double)packLevel.Current / (double)MachineOperator.MAX_DISPENSER_NANOLITER) * parent.ActualHeight; - } - - private void Limit_Loaded(object sender, RoutedEventArgs e) - { - Rectangle rect = sender as Rectangle; - Grid parent = rect.Parent as Grid; - IDSPackLevel packLevel = rect.DataContext as IDSPackLevel; - - var top = ((double)packLevel.Required / (double)MachineOperator.MAX_DISPENSER_NANOLITER) * parent.ActualHeight; - rect.Margin = new Thickness(0, 0, 0, top); - - if (packLevel.IsValid) - { - rect.Visibility = Visibility.Hidden; - } - } - } -} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityViewVM.cs deleted file mode 100644 index e8cd8df85..000000000 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Dialogs/InsufficientLiquidQuantityViewVM.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Tango.Integration.Operation; -using Tango.SharedUI; - -namespace Tango.PPC.Jobs.Dialogs -{ - public class InsufficientLiquidQuantityViewVM : DialogViewVM - { - public InsufficientLiquidQuantityException Exception { get; set; } - - public InsufficientLiquidQuantityViewVM(InsufficientLiquidQuantityException ex) - { - Exception = ex; - } - } -} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj index 65d8ecba3..3092b60c1 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj @@ -116,10 +116,6 @@ MSBuild:Compile Designer - - MSBuild:Compile - Designer - Designer MSBuild:Compile @@ -215,10 +211,6 @@ CatalogSelectionView.xaml - - InsufficientLiquidQuantityView.xaml - - JobCreationView.xaml @@ -496,7 +488,7 @@ - + \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs index b98cde7dd..58aa1e841 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs @@ -144,27 +144,10 @@ namespace Tango.PPC.Jobs.ViewModels e.JobHandler.StatusChanged += JobHandler_StatusChanged; e.JobHandler.SpoolChangeRequired += JobHandler_SpoolChangeRequired; e.JobHandler.Stopped += JobHandler_Stopped; - e.JobHandler.Failed += JobHandler_Failed; _stop_job_btn.Push(); } - private void JobHandler_Failed(object sender, Exception ex) - { - if (ex is InsufficientLiquidQuantityException) - { - InvokeUI(async () => - { - await NotificationProvider.ShowDialog(new InsufficientLiquidQuantityViewVM(ex as InsufficientLiquidQuantityException)); - - if (IsVisible) - { - await NavigationManager.NavigateBack(); - } - }); - } - } - /// /// Handles the SpoolChangeRequired event of the JobHandler. /// diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs index ebdd18aeb..a4cf491ba 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs @@ -651,6 +651,10 @@ namespace Tango.PPC.Jobs.ViewModels var handler = await PrintingManager.Print(Job, _db); await NavigationManager.NavigateTo(nameof(JobProgressView)); } + catch (InsufficientLiquidQuantityException) + { + //Ignore.. + } catch (Exception ex) { LogManager.Log(ex, "Could not start the current job."); -- cgit v1.3.1 From 5727b7e6d821f3ba965ceea382da2d839257bb47 Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Thu, 14 Nov 2019 16:07:42 +0200 Subject: Refactored InsufficientLiquidQuantityView on PPC. --- .../Tango.PPC.Jobs/Images/cartridge_validation.png | Bin 44260 -> 0 bytes .../Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj | 5 +- .../Dialogs/InsufficientLiquidQuantityView.xaml | 60 +++++++++++++++++---- .../Dialogs/InsufficientLiquidQuantityView.xaml.cs | 6 +-- .../Tango.PPC.UI/Images/cartridge_validation.png | Bin 0 -> 44260 bytes .../PPC/Tango.PPC.UI/Tango.PPC.UI.csproj | 3 +- .../Tango.Integration/Operation/MachineOperator.cs | 15 ++++-- 7 files changed, 68 insertions(+), 21 deletions(-) delete mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Images/cartridge_validation.png create mode 100644 Software/Visual_Studio/PPC/Tango.PPC.UI/Images/cartridge_validation.png (limited to 'Software/Visual_Studio/PPC/Modules') diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Images/cartridge_validation.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Images/cartridge_validation.png deleted file mode 100644 index 373cb78c1..000000000 Binary files a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Images/cartridge_validation.png and /dev/null differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj index 3092b60c1..fb27ff031 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj @@ -482,13 +482,10 @@ - - - - + \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/InsufficientLiquidQuantityView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/InsufficientLiquidQuantityView.xaml index 8b8983fa5..ad1c2ece3 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/InsufficientLiquidQuantityView.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/InsufficientLiquidQuantityView.xaml @@ -20,28 +20,59 @@ The job cannot be completed. - + - + - - - + + + + + + + + + + + + + - + - - + + - + + + + + + + + + - + + diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/InsufficientLiquidQuantityView.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/InsufficientLiquidQuantityView.xaml.cs index 9ec1eec0e..9a17f4f22 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/InsufficientLiquidQuantityView.xaml.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/InsufficientLiquidQuantityView.xaml.cs @@ -33,7 +33,7 @@ namespace Tango.PPC.UI.Dialogs Grid parent = border.Parent as Grid; IDSPackLevel packLevel = border.DataContext as IDSPackLevel; - border.Height = ((double)packLevel.Current / (double)MachineOperator.MAX_DISPENSER_NANOLITER) * parent.ActualHeight; + border.Width = ((double)packLevel.Current / (double)MachineOperator.MAX_DISPENSER_NANOLITER) * parent.ActualWidth; } private void Limit_Loaded(object sender, RoutedEventArgs e) @@ -42,8 +42,8 @@ namespace Tango.PPC.UI.Dialogs Grid parent = rect.Parent as Grid; IDSPackLevel packLevel = rect.DataContext as IDSPackLevel; - var top = ((double)packLevel.Required / (double)MachineOperator.MAX_DISPENSER_NANOLITER) * parent.ActualHeight; - rect.Margin = new Thickness(0, 0, 0, top); + var left = ((double)packLevel.Required / (double)MachineOperator.MAX_DISPENSER_NANOLITER) * parent.ActualWidth; + rect.Margin = new Thickness(left, 0, 0, 0); if (packLevel.IsValid) { diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/cartridge_validation.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/cartridge_validation.png new file mode 100644 index 000000000..373cb78c1 Binary files /dev/null and b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/cartridge_validation.png differ diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj index 1cabc959d..b8bbc781c 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj @@ -347,6 +347,7 @@ Tango.ColorLib_v3.dll PreserveNewest + @@ -587,7 +588,7 @@ if $(ConfigurationName) == Release del *.xml - + \ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs index 9a5c7ff9b..6b90ef393 100644 --- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs +++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs @@ -1485,12 +1485,12 @@ namespace Tango.Integration.Operation if (idsLevel.Required > idsLevel.Current) { shouldThrow = true; - string display_value = (((double)(idsLevel.Required - idsLevel.Current)/ 1000000000)).ToString("N2", CultureInfo.InvariantCulture); + string display_value = (((double)(idsLevel.Required - idsLevel.Current) / 1000000000)).ToString("N2", CultureInfo.InvariantCulture); idsLevel.Message = $"Missing {display_value} liters to complete the job."; if (idsLevel.Required > idsLevel.Maximum) { - display_value = (((double)(idsLevel.Required - idsLevel.Maximum))/ 1000000000).ToString("N2", CultureInfo.InvariantCulture); + display_value = (((double)(idsLevel.Required - idsLevel.Maximum)) / 1000000000).ToString("N2", CultureInfo.InvariantCulture); idsLevel.Message = $"Required ink exceeds the maximum capacity of the dispenser by {display_value} liters. Please reduce the segment length."; } } @@ -1634,7 +1634,16 @@ namespace Tango.Integration.Operation throw new NullReferenceException("Could not locate an active process parameters tables group for RML " + job.Rml.Name); } - var processParameters = converter.GetRecommendedProcessParameters(job); + ProcessParametersTable processParameters = null; + + try + { + processParameters = converter.GetRecommendedProcessParameters(job); + } + catch (Exception ex) + { + throw LogManager.Log(new InvalidOperationException($"An error occurred while trying to resolve the recommended process parameters.\n{ex.Message}")); + } if (processParameters == null) { -- cgit v1.3.1 From 0632bac5980a9214876a2ec8412390123843bd85 Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Thu, 14 Nov 2019 16:58:15 +0200 Subject: Implemented job outline for PPC. --- .../Tango.PPC.Jobs/Controls/JobOutlineControl.cs | 291 +++++++++++++++++++++ .../Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj | 3 +- .../Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs | 60 ++++- .../Tango.PPC.Jobs/Views/JobProgressView.xaml | 18 ++ .../Tango.Emulations/Emulators/MachineEmulator.cs | 2 +- .../Tango.Touch/Controls/TouchIcon.cs | 2 +- Software/Visual_Studio/Tango.sln | 12 +- 7 files changed, 374 insertions(+), 14 deletions(-) create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Controls/JobOutlineControl.cs (limited to 'Software/Visual_Studio/PPC/Modules') diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Controls/JobOutlineControl.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Controls/JobOutlineControl.cs new file mode 100644 index 000000000..8d57df139 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Controls/JobOutlineControl.cs @@ -0,0 +1,291 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Media; +using System.Windows.Shapes; +using Tango.PMR.Printing; +using Tango.Touch.Controls; + +namespace Tango.PPC.Jobs +{ + public class JobOutlineControl : Control + { + #region Members + + private Size _sizeControl = new Size(0, 0); + ScrollViewer _parentScrollViewer = null; + public struct LevelOffset + { + public const double level_0 = 0.0; + public const double level_1 = 10.0; + public const double level_2 = 20.0; + public const double level_3 = 37.0; + public const double level_4 = 50.0; + public const double level_5 = 60.0; + public const double level_6 = 77.0; + public const double level_7 = 90.0; + public const double level_8 = 100.0; + } + private double _verticalOffset = 0; + private double _viewportHeight = 0; + private const double HEADER_FONT_HEIGHT = 35; + private const double TITLE_FONT_HEIGHT = 22; + private const double SUB_TITLE_FONT_HEIGHT = 19; + private const double NORMAL_FONT_HEIGHT = 17; + private const double WIDTH = 330; + + #endregion members + + public JobOutlineControl() : base() + { + Unloaded += JobOutlineControl_Unloaded; + DataContextChanged += JobOutlineControl_DataContextChanged; + Width = WIDTH; + } + + private void JobOutlineControl_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) + { + if (DataContext == null) + { + return; + } + + if (_parentScrollViewer != null) + { + _parentScrollViewer.ScrollToTop(); + } + + InvalidateVisual(); + } + + #region events + private void JobOutlineControl_Unloaded(object sender, RoutedEventArgs e) + { + if (_parentScrollViewer == null) + { + _parentScrollViewer.ScrollChanged -= ScrollViewer_ScrollChanged; + } + } + + private void ScrollViewer_ScrollChanged(object sender, ScrollChangedEventArgs e) + { + if (e.VerticalChange == 0.0) + return; + + _verticalOffset = _parentScrollViewer.VerticalOffset; + _viewportHeight = _parentScrollViewer.ViewportHeight; + InvalidateVisual(); + } + #endregion events + + #region render + protected override void OnRender(DrawingContext drawingContext) + { + base.OnRender(drawingContext); + + if (!(DataContext is JobTicket job)) return; + if (_parentScrollViewer == null) + { + _parentScrollViewer = this.FindAncestor(); + _parentScrollViewer.ScrollChanged += ScrollViewer_ScrollChanged; + } + else if (_viewportHeight == 0) + { + _viewportHeight = _parentScrollViewer.ActualHeight; + } + _sizeControl = new Size(); + _sizeControl.Height += 10; + DrawHeaderText(drawingContext, "JOB OUTLINE", 30, LevelOffset.level_0); + _sizeControl.Height += HEADER_FONT_HEIGHT; + + _sizeControl.Height += 20; + DrawHeaderText(drawingContext, "BASIC", 17, LevelOffset.level_0); + _sizeControl.Height += TITLE_FONT_HEIGHT; + _sizeControl.Height += 5.0; + var basicProps = GetNameValueList(job); + foreach (var prop in basicProps) + { + DrawNameValueText(drawingContext, prop, LevelOffset.level_1, TouchIconKind.Pencil); + _sizeControl.Height += NORMAL_FONT_HEIGHT; + } + //JobTicket.Spool + if (job.Spool != null) + { + _sizeControl.Height += 20; + DrawHeaderText(drawingContext, "SPOOL", 17, LevelOffset.level_0); + _sizeControl.Height += TITLE_FONT_HEIGHT; + _sizeControl.Height += 5.0; + basicProps = GetNameValueList(job.Spool); + foreach (var prop in basicProps) + { + DrawNameValueText(drawingContext, prop, LevelOffset.level_1, TouchIconKind.Pencil); + _sizeControl.Height += NORMAL_FONT_HEIGHT; + } + } + //JobTicket.ProcessParameters + if (job.ProcessParameters != null) + { + _sizeControl.Height += 20; + DrawHeaderText(drawingContext, "PROCESS PARAMETERS", 17, LevelOffset.level_0); + _sizeControl.Height += TITLE_FONT_HEIGHT; + _sizeControl.Height += 5.0; + basicProps = GetNameValueList(job.ProcessParameters); + foreach (var prop in basicProps) + { + DrawNameValueText(drawingContext, prop, LevelOffset.level_1, TouchIconKind.Settings); + _sizeControl.Height += NORMAL_FONT_HEIGHT; + } + } + //JobTicket.Segments + if (job.Segments != null) + { + _sizeControl.Height += 20; + DrawHeaderText(drawingContext, "SEGMENTS", 17, LevelOffset.level_0); + _sizeControl.Height += TITLE_FONT_HEIGHT; + _sizeControl.Height += 10.0; + int index = 0; + foreach (JobSegment seg in job.Segments) + { + DrawHeaderText(drawingContext, string.Format("#{0} SEGMENT", ++index), 14, LevelOffset.level_1); + _sizeControl.Height += SUB_TITLE_FONT_HEIGHT; + basicProps = GetNameValueList(seg); + foreach (var prop in basicProps) + { + DrawNameValueText(drawingContext, prop, LevelOffset.level_2, TouchIconKind.Pencil); + _sizeControl.Height += NORMAL_FONT_HEIGHT; + } + //BrushStops + DrawHeaderText(drawingContext, "BRUSH STOPS", 12, LevelOffset.level_3); + _sizeControl.Height += NORMAL_FONT_HEIGHT; + int indexBrush = 0; + foreach (JobBrushStop brushstop in seg.BrushStops) + { + _sizeControl.Height += 5.0; + DrawHeaderText(drawingContext, string.Format("#{0} STOP", ++indexBrush), 11, LevelOffset.level_4); + _sizeControl.Height += NORMAL_FONT_HEIGHT; + var brushStops = GetNameValueList(brushstop); + foreach (var brushstopprop in brushStops) + { + DrawNameValueText(drawingContext, brushstopprop, LevelOffset.level_5, TouchIconKind.Pencil); + _sizeControl.Height += NORMAL_FONT_HEIGHT; + } + DrawHeaderText(drawingContext, "DISPENSERS", 12, LevelOffset.level_6); + _sizeControl.Height += NORMAL_FONT_HEIGHT; + _sizeControl.Height += 5.0; + int indexDispenser = 0; + foreach (JobDispenser disp in brushstop.Dispensers) + { + DrawHeaderText(drawingContext, string.Format("#{0} DISPENSER", ++indexDispenser), 11, LevelOffset.level_6); + _sizeControl.Height += NORMAL_FONT_HEIGHT; + var dispProperties = GetNameValueList(disp); + foreach (var dispprop in dispProperties) + { + DrawNameValueText(drawingContext, dispprop, LevelOffset.level_7, TouchIconKind.ArrowRightBoldCircle); + _sizeControl.Height += NORMAL_FONT_HEIGHT; + } + } + } + } + } + + if (Height != _sizeControl.Height) + { + Height = _sizeControl.Height; + } + } + public IEnumerable> GetNameValueList(object value) + { + if (value != null) + { + var properties = value.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(x => (!x.PropertyType.IsClass && !typeof(IEnumerable).IsAssignableFrom(x.PropertyType)) || x.PropertyType == typeof(String)).ToList(); + return properties.Select(x => new Tuple(x.Name, x.GetValue(value).ToString())); + } + else + { + return null; + } + } + #endregion render + + #region drawing + protected void DrawNameValueText(DrawingContext drawingContext, Tuple text, double levelOfOffset, TouchIconKind? icon) + { + if (IsInViewPort()) + { + FormattedText formattedName = new FormattedText(text.Item1 + ": ", System.Globalization.CultureInfo.InvariantCulture, System.Windows.FlowDirection.LeftToRight, new Typeface(this.FontFamily, FontStyles.Normal, FontWeights.Normal, FontStretches.Normal), + 12, Foreground); + DrawIconTextIfVisible(drawingContext, levelOfOffset, formattedName, icon); + double widthOfNameText = formattedName.WidthIncludingTrailingWhitespace + 17 + levelOfOffset;//17 pix for draw icon before text + + FormattedText formattedValue = new FormattedText(text.Item2, System.Globalization.CultureInfo.InvariantCulture, System.Windows.FlowDirection.LeftToRight, new Typeface(this.FontFamily, FontStyles.Normal, FontWeights.SemiBold, FontStretches.Normal), + 12, Foreground); + DrawIconTextIfVisible(drawingContext, widthOfNameText, formattedValue); + _sizeControl.Width = Math.Max(_sizeControl.Width, (widthOfNameText + formattedValue.WidthIncludingTrailingWhitespace)); + } + } + + private bool IsInViewPort() + { + return (_sizeControl.Height >= _verticalOffset && _sizeControl.Height <= (_verticalOffset + _viewportHeight + 5)); + } + + protected void DrawHeaderText(DrawingContext drawingContext, string text, int fontSize, double levelOfOffset) + { + if (IsInViewPort()) + { + FormattedText formattedtext = new FormattedText(text, System.Globalization.CultureInfo.InvariantCulture, System.Windows.FlowDirection.LeftToRight, new Typeface(this.FontFamily, FontStyles.Normal, FontWeights.SemiBold, FontStretches.Normal), + fontSize, Foreground); + DrawIconTextIfVisible(drawingContext, levelOfOffset, formattedtext); + _sizeControl.Width = Math.Max(_sizeControl.Width, (formattedtext.Width + levelOfOffset)); + } + } + + private void DrawIconTextIfVisible(DrawingContext drawingContext, double levelOfOffset, FormattedText formattedText, TouchIconKind? icon = null) + { + if (icon is TouchIconKind) + { + DrawIcon(drawingContext, (TouchIconKind)icon, new Point(levelOfOffset, _sizeControl.Height)); + levelOfOffset += 17; + } + drawingContext.DrawText(formattedText, new Point(levelOfOffset, _sizeControl.Height)); + } + private void DrawIcon(DrawingContext drawingContext, TouchIconKind kind, Point point) + { + GeometryGroup group = GetGeometryByIcon(kind); + SetGeometryPosition(group, point); + drawingContext.DrawGeometry(Foreground, new Pen(Brushes.White, 1), group); + + } + private GeometryGroup GetGeometryByIcon(TouchIconKind kind) + { + Geometry geometry = Geometry.Parse(TouchIcon.Icons[kind]); + GeometryGroup group = new GeometryGroup(); + group.Children.Add(geometry); + + TransformGroup tg = new TransformGroup(); + tg.Children.Add(new ScaleTransform() + { + ScaleX = 10d / geometry.Bounds.Width, + ScaleY = 10d / geometry.Bounds.Height, + }); + tg.Children.Add(new TranslateTransform() { }); + + group.Transform = tg; + return group; + } + private void SetGeometryPosition(GeometryGroup group, Point point) + { + TransformGroup tg = group.Transform as TransformGroup; + (tg.Children[1] as TranslateTransform).X = point.X; + (tg.Children[1] as TranslateTransform).Y = point.Y + 1; + } + #endregion drawing + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj index fb27ff031..50cd99b01 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj @@ -163,6 +163,7 @@ + RunningJobViewer.xaml @@ -485,7 +486,7 @@ - + \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs index 58aa1e841..e49be7166 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs @@ -6,6 +6,7 @@ using System.Threading.Tasks; using Tango.BL.Entities; using Tango.Core.Commands; using Tango.Integration.Operation; +using Tango.PMR.Printing; using Tango.PPC.Common; using Tango.PPC.Common.Navigation; using Tango.PPC.Jobs.AppBarItems; @@ -47,6 +48,26 @@ namespace Tango.PPC.Jobs.ViewModels set { _runningJobStatus = value; RaisePropertyChangedAuto(); } } + private bool _isDisplayJobOutline; + /// + /// Gets or sets a value indicating whether to display the job outline. + /// + public bool IsDisplayJobOutline + { + get { return _isDisplayJobOutline; } + set { _isDisplayJobOutline = value; RaisePropertyChangedAuto(); } + } + + private JobTicket _jobOutlineTicket; + /// + /// Gets or sets the job outline ticket. + /// + public JobTicket JobOutlineTicket + { + get { return _jobOutlineTicket; } + set { _jobOutlineTicket = value; RaisePropertyChangedAuto(); } + } + #endregion #region Commands @@ -59,6 +80,16 @@ namespace Tango.PPC.Jobs.ViewModels /// public RelayCommand GoToJobCommand { get; set; } + /// + /// Gets or sets the display job outline command. + /// + public RelayCommand DisplayJobOutlineCommand { get; set; } + + /// + /// Gets or sets the hide job outline command. + /// + public RelayCommand HideJobOutlineCommand { get; set; } + #endregion public JobProgressViewVM() @@ -67,14 +98,21 @@ namespace Tango.PPC.Jobs.ViewModels _stop_job_btn.Pressed += _stop_job_btn_Pressed; GoToJobCommand = new RelayCommand(GoToJob); + DisplayJobOutlineCommand = new RelayCommand(DisplayJobOutline); + HideJobOutlineCommand = new RelayCommand(HideJobOutline); } - private void _stop_job_btn_Pressed() + #region Private Methods + + private void HideJobOutline() { - if (_handler != null) - { - _handler.Cancel(); - } + IsDisplayJobOutline = false; + } + + private void DisplayJobOutline() + { + JobOutlineTicket = _handler.JobTicket; + IsDisplayJobOutline = true; } private void GoToJob() @@ -83,6 +121,8 @@ namespace Tango.PPC.Jobs.ViewModels NavigationManager.ClearHistoryExcept(); } + #endregion + #region Override Methods /// @@ -117,6 +157,8 @@ namespace Tango.PPC.Jobs.ViewModels { base.OnNavigatedTo(); + IsDisplayJobOutline = false; + if (NotificationProvider.HasAppBarItem && NotificationProvider.CurrentAppBarItem is JobProgressAppBarItem) { NotificationProvider.CurrentAppBarItem.Close(); @@ -132,6 +174,14 @@ namespace Tango.PPC.Jobs.ViewModels #region Event Handlers + private void _stop_job_btn_Pressed() + { + if (_handler != null) + { + _handler.Cancel(); + } + } + /// /// Handles the PrintingStarted event of the MachineOperator. /// diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobProgressView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobProgressView.xaml index 3b92581bc..b16aa1877 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobProgressView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobProgressView.xaml @@ -214,5 +214,23 @@ Go to job + + + Display Job Outline + + + + + + + + + + + + + Hide Job Outline + + diff --git a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs index 5b15f3094..9cd9e985b 100644 --- a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs +++ b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs @@ -1134,7 +1134,7 @@ namespace Tango.Emulations.Emulators { Capacity = d.TotalSize, FreeSpace = d.TotalFreeSpace, - Root = "/" + Root = "C:\\EmulatorStorage" }, request.Container.Token); } diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchIcon.cs b/Software/Visual_Studio/Tango.Touch/Controls/TouchIcon.cs index a41a56748..de5b8e90e 100644 --- a/Software/Visual_Studio/Tango.Touch/Controls/TouchIcon.cs +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchIcon.cs @@ -19,7 +19,7 @@ namespace Tango.Touch.Controls { private static IDictionary _icons; - internal static IDictionary Icons + public static IDictionary Icons { get { diff --git a/Software/Visual_Studio/Tango.sln b/Software/Visual_Studio/Tango.sln index 2e44863f0..1fae1ae3a 100644 --- a/Software/Visual_Studio/Tango.sln +++ b/Software/Visual_Studio/Tango.sln @@ -5667,12 +5667,12 @@ Global {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A} = {7181F9DE-0760-46B7-AD8F-BDBCAEDEF1B7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {7986F7F4-A86A-4994-B1B6-0988D7F057B6} - BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear - BuildVersion_UpdateAssemblyVersion = True - BuildVersion_UpdateFileVersion = False - BuildVersion_StartDate = 2000/1/1 - BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs BuildVersion_UseGlobalSettings = False + BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs + BuildVersion_StartDate = 2000/1/1 + BuildVersion_UpdateFileVersion = False + BuildVersion_UpdateAssemblyVersion = True + BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear + SolutionGuid = {7986F7F4-A86A-4994-B1B6-0988D7F057B6} EndGlobalSection EndGlobal -- cgit v1.3.1 From d2edfc56a8154c01a7ca9cfc47adccc8a07c3d94 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Thu, 14 Nov 2019 17:25:49 +0200 Subject: Implemented job outline on PPC. --- .../PPC/Modules/Tango.PPC.Jobs/Views/JobProgressView.xaml | 6 +++--- .../Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'Software/Visual_Studio/PPC/Modules') diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobProgressView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobProgressView.xaml index b16aa1877..94210ec7d 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobProgressView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobProgressView.xaml @@ -221,10 +221,10 @@ - + - - + + diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs index c7351aa4a..ed5ea2629 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs @@ -93,10 +93,15 @@ namespace Tango.PPC.UI.PPCApplication /// public bool IsShuttingDown { get; private set; } + private bool _isInTechnicianMode; /// /// Gets a value indicating whether the application is in technician mode. /// - public bool IsInTechnicianMode { get; private set; } + public bool IsInTechnicianMode + { + get { return _isInTechnicianMode; } + set { _isInTechnicianMode = value; RaisePropertyChangedAuto(); } + } /// /// Gets the application version. -- cgit v1.3.1 From 6fd3b26aa1644246cb5c6b509d8fb9b6ff8687b0 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Sun, 17 Nov 2019 14:55:55 +0200 Subject: Improved technician module. --- .../Mobile/System Screen Icons/circuit-board.png | Bin 0 -> 2492 bytes .../Mobile/System Screen Icons/conveyor.png | Bin 0 -> 4349 bytes .../Graphics/Mobile/System Screen Icons/exit.png | Bin 0 -> 1784 bytes .../Mobile/System Screen Icons/mobile-phone.png | Bin 0 -> 4438 bytes .../Mobile/System Screen Icons/shutdown.png | Bin 0 -> 3703 bytes .../Tango.PPC.Jobs/Controls/JobOutlineControl.cs | 2 +- .../Tango.PPC.Technician/Images/circuit-board.png | Bin 0 -> 2492 bytes .../Tango.PPC.Technician/Images/conveyor.png | Bin 0 -> 4349 bytes .../Modules/Tango.PPC.Technician/Images/exit.png | Bin 0 -> 1784 bytes .../Tango.PPC.Technician/Images/mobile-phone.png | Bin 0 -> 4438 bytes .../Tango.PPC.Technician/Images/shutdown.png | Bin 0 -> 3703 bytes .../Tango.PPC.Technician.csproj | 7 + .../ViewModels/SystemViewVM.cs | 48 +++- .../Tango.PPC.Technician/Views/CatalogView.xaml | 71 ++++-- .../Tango.PPC.Technician/Views/SystemView.xaml | 248 +++++++++++++++++---- 15 files changed, 306 insertions(+), 70 deletions(-) create mode 100644 Software/Graphics/Mobile/System Screen Icons/circuit-board.png create mode 100644 Software/Graphics/Mobile/System Screen Icons/conveyor.png create mode 100644 Software/Graphics/Mobile/System Screen Icons/exit.png create mode 100644 Software/Graphics/Mobile/System Screen Icons/mobile-phone.png create mode 100644 Software/Graphics/Mobile/System Screen Icons/shutdown.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/circuit-board.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/conveyor.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/exit.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/mobile-phone.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/shutdown.png (limited to 'Software/Visual_Studio/PPC/Modules') diff --git a/Software/Graphics/Mobile/System Screen Icons/circuit-board.png b/Software/Graphics/Mobile/System Screen Icons/circuit-board.png new file mode 100644 index 000000000..28b535f54 Binary files /dev/null and b/Software/Graphics/Mobile/System Screen Icons/circuit-board.png differ diff --git a/Software/Graphics/Mobile/System Screen Icons/conveyor.png b/Software/Graphics/Mobile/System Screen Icons/conveyor.png new file mode 100644 index 000000000..1cd649a88 Binary files /dev/null and b/Software/Graphics/Mobile/System Screen Icons/conveyor.png differ diff --git a/Software/Graphics/Mobile/System Screen Icons/exit.png b/Software/Graphics/Mobile/System Screen Icons/exit.png new file mode 100644 index 000000000..e05db36d4 Binary files /dev/null and b/Software/Graphics/Mobile/System Screen Icons/exit.png differ diff --git a/Software/Graphics/Mobile/System Screen Icons/mobile-phone.png b/Software/Graphics/Mobile/System Screen Icons/mobile-phone.png new file mode 100644 index 000000000..ea4e685dc Binary files /dev/null and b/Software/Graphics/Mobile/System Screen Icons/mobile-phone.png differ diff --git a/Software/Graphics/Mobile/System Screen Icons/shutdown.png b/Software/Graphics/Mobile/System Screen Icons/shutdown.png new file mode 100644 index 000000000..abc4d1a1a Binary files /dev/null and b/Software/Graphics/Mobile/System Screen Icons/shutdown.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Controls/JobOutlineControl.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Controls/JobOutlineControl.cs index 8d57df139..e6f090fdd 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Controls/JobOutlineControl.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Controls/JobOutlineControl.cs @@ -68,7 +68,7 @@ namespace Tango.PPC.Jobs #region events private void JobOutlineControl_Unloaded(object sender, RoutedEventArgs e) { - if (_parentScrollViewer == null) + if (_parentScrollViewer != null) { _parentScrollViewer.ScrollChanged -= ScrollViewer_ScrollChanged; } diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/circuit-board.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/circuit-board.png new file mode 100644 index 000000000..28b535f54 Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/circuit-board.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/conveyor.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/conveyor.png new file mode 100644 index 000000000..1cd649a88 Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/conveyor.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/exit.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/exit.png new file mode 100644 index 000000000..e05db36d4 Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/exit.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/mobile-phone.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/mobile-phone.png new file mode 100644 index 000000000..ea4e685dc Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/mobile-phone.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/shutdown.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/shutdown.png new file mode 100644 index 000000000..abc4d1a1a Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Images/shutdown.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Tango.PPC.Technician.csproj b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Tango.PPC.Technician.csproj index d135142c4..4a5fc1e0c 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Tango.PPC.Technician.csproj +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Tango.PPC.Technician.csproj @@ -208,5 +208,12 @@ + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/SystemViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/SystemViewVM.cs index 444c1d09e..9ce3e11d9 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/SystemViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/SystemViewVM.cs @@ -8,10 +8,12 @@ using System.Net.Sockets; using System.Text; using System.Threading.Tasks; using System.Timers; +using Tango.BL; using Tango.Core.Commands; using Tango.PPC.Common; using Tango.PPC.Common.OS; using Tango.Settings; +using System.Data.Entity; namespace Tango.PPC.Technician.ViewModels { @@ -56,6 +58,20 @@ namespace Tango.PPC.Technician.ViewModels set { _ipAddress = value; RaisePropertyChangedAuto(); } } + private String _totalDyeTime; + public String TotalDyeTime + { + get { return _totalDyeTime; } + set { _totalDyeTime = value; RaisePropertyChangedAuto(); } + } + + private String _totalDyeMeters; + public String TotalDyeMeters + { + get { return _totalDyeMeters; } + set { _totalDyeMeters = value; RaisePropertyChangedAuto(); } + } + public RelayCommand ResetDeviceCommand { get; set; } public RelayCommand RestartCommand { get; set; } @@ -148,12 +164,6 @@ namespace Tango.PPC.Technician.ViewModels _statsTimer.Start(); } - public override void OnApplicationReady() - { - base.OnApplicationReady(); - IPAddress = GetIpv4Address(); - } - private void _statsTimer_Elapsed(object sender, ElapsedEventArgs e) { if (IsVisible) @@ -244,5 +254,31 @@ namespace Tango.PPC.Technician.ViewModels return "N/A"; } } + + public async override void OnNavigatedTo() + { + base.OnNavigatedTo(); + + IPAddress = GetIpv4Address(); + + try + { + using (ObservablesContext db = ObservablesContext.CreateDefault()) + { + var jobs = await db.Jobs.Include(x => x.JobRuns).Where(x => x.MachineGuid == MachineProvider.Machine.Guid).ToListAsync(); + + TotalDyeTime = TimeSpan.FromHours(jobs.SelectMany(x => x.JobRuns).Select(x => x.EndDate - x.StartDate).Sum(x => x.TotalHours)).ToString(@"hh\:mm\:ss"); + + int meters = (int)jobs.SelectMany(x => x.JobRuns).Select(x => x.EndPosition).Sum(); + TotalDyeMeters = $"{meters.ToString("N0")} meters"; + } + } + catch (Exception ex) + { + LogManager.Log(ex, "Error loading machine counters."); + TotalDyeTime = "error!"; + TotalDyeMeters = "error!"; + } + } } } diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/CatalogView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/CatalogView.xaml index 58c88324f..dfde0865f 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/CatalogView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/CatalogView.xaml @@ -20,32 +20,67 @@ - Technician Mode + Technician - - - - Logging - - + + + + + + + + The technician module enables additional diagnostic tools. + + + + + + Logging + + Display and investigate issues using application and embedded device logs. + + + - - - System - - + + + + + System + + Display system properties, perform system actions, reset, shutdown etc... + + + - - - Dispensers - - + + + + + Dispensers + + Perform manual dispensers homing priming. + + + - + diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/SystemView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/SystemView.xaml index f2bfcdf7d..462c4cedd 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/SystemView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/SystemView.xaml @@ -8,9 +8,10 @@ xmlns:vm="clr-namespace:Tango.PPC.Technician.ViewModels" xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI" xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch" + xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI" xmlns:global="clr-namespace:Tango.PPC.Technician" mc:Ignorable="d" - d:DesignHeight="1280" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:SystemViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.SystemViewVM}" x:Name="view"> + d:DesignHeight="1260" d:DesignWidth="600" d:DataContext="{d:DesignInstance Type=vm:SystemViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.SystemViewVM}" x:Name="view"> @@ -32,51 +33,208 @@ - - - CPU: - % - - - - RAM: - - - - - TEMP: - - - - - - - - - UP TIME: - - - - - IP ADDRESS: - - - - - - - - + + + + + + + Reset Embedded Device + + Resets the embedded device using the DFU channel. + + + + + + + + + + Restart Panel PC + + Restarts the panel PC operation system. + + + + + + + + + Shutdown Panel PC + + Turns off the panel PC (requires turning on from reset button). + + + + + + + + + Factory Reset + + Removes all data associated with this machine and installs the latest version. + + + + + + + + + Exit To Shell + + Closes the PPC application and opens the windows shell. + + + + + + + + + + + - - - Restart Device - Shutdown Device - Factory Reset - Exit To Shell - - + + + + + + + + + + + + + + CPU: + + + + + + + + % + + + + + + + + + RAM: + + + + + + + + + + + + + + Temperature: + + + + + + + + + + + + + + Up Time: + + + + + + + + + + + + + + IP Address: + + + + + + + + + + + + + + Total Dye Time: + + + + + + + + + + + + + + Total Dye Meters: + + + + + + + + + + +
+
+
-- cgit v1.3.1 From fb9d511b7ec52f2343a1f16e8bba4ff8a757e7e4 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Mon, 18 Nov 2019 09:26:54 +0200 Subject: Added firmware info to PPC system view. --- .../Tango.PPC.Technician/Views/SystemView.xaml | 72 +++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) (limited to 'Software/Visual_Studio/PPC/Modules') diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/SystemView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/SystemView.xaml index 462c4cedd..910bd2fc9 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/SystemView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/SystemView.xaml @@ -121,7 +121,7 @@ @@ -131,6 +131,76 @@ + + + + Application Version: + + + + + + + + + + + + + + Firmware Version: + + + + + + + + + + + + + + FPGA 1: + + + + + + + + + + + + + + FPGA 2: + + + + + + + + + + + + + + FPGA 3: + + + + + + + + + + -- cgit v1.3.1 From d50797ddb8c3d886d38a56a09dfe34540512e331 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Mon, 18 Nov 2019 15:13:33 +0200 Subject: Working on PPC Maintenance screen. --- Software/Graphics/Mobile/action.png | Bin 0 -> 1152 bytes Software/Graphics/Mobile/action@2x.png | Bin 0 -> 2364 bytes Software/Graphics/Mobile/action@3x.png | Bin 0 -> 3523 bytes Software/Graphics/Mobile/guides.png | Bin 0 -> 2099 bytes Software/Graphics/Mobile/guides@2x.png | Bin 0 -> 4126 bytes Software/Graphics/Mobile/guides@3x.png | Bin 0 -> 6254 bytes .../Mobile/handling-the-waste-cartridges.png | Bin 0 -> 2174 bytes .../Mobile/handling-the-waste-cartridges@2x.png | Bin 0 -> 4456 bytes .../Mobile/handling-the-waste-cartridges@3x.png | Bin 0 -> 6701 bytes Software/Graphics/Mobile/inks.png | Bin 0 -> 2075 bytes Software/Graphics/Mobile/inks@2x.png | Bin 0 -> 3809 bytes Software/Graphics/Mobile/inks@3x.png | Bin 0 -> 5646 bytes .../Graphics/Mobile/loading-an-ink-cartridge.png | Bin 0 -> 2266 bytes .../Mobile/loading-an-ink-cartridge@2x.png | Bin 0 -> 4724 bytes .../Mobile/loading-an-ink-cartridge@3x.png | Bin 0 -> 7168 bytes Software/Graphics/Mobile/loading-new-thread.png | Bin 0 -> 2228 bytes Software/Graphics/Mobile/loading-new-thread@2x.png | Bin 0 -> 4690 bytes Software/Graphics/Mobile/loading-new-thread@3x.png | Bin 0 -> 7209 bytes Software/Graphics/Mobile/maintenance.png | Bin 0 -> 686 bytes Software/Graphics/Mobile/maintenance@2x.png | Bin 0 -> 1276 bytes Software/Graphics/Mobile/maintenance@3x.png | Bin 0 -> 1938 bytes .../Graphics/Mobile/replacing-the-air-filter.png | Bin 0 -> 2269 bytes .../Mobile/replacing-the-air-filter@2x.png | Bin 0 -> 4619 bytes .../Mobile/replacing-the-air-filter@3x.png | Bin 0 -> 6898 bytes Software/Graphics/Mobile/replacing-the-thread.png | Bin 0 -> 2175 bytes .../Graphics/Mobile/replacing-the-thread@2x.png | Bin 0 -> 4516 bytes .../Graphics/Mobile/replacing-the-thread@3x.png | Bin 0 -> 6825 bytes Software/Graphics/Mobile/status.png | Bin 0 -> 1663 bytes Software/Graphics/Mobile/status@2x.png | Bin 0 -> 3481 bytes Software/Graphics/Mobile/status@3x.png | Bin 0 -> 5077 bytes Software/Graphics/Mobile/temperature-green.png | Bin 0 -> 959 bytes Software/Graphics/Mobile/temperature-green@2x.png | Bin 0 -> 1725 bytes Software/Graphics/Mobile/temperature-green@3x.png | Bin 0 -> 2474 bytes .../PMR/Messages/MachineStatus/IDSPackLevel.proto | 2 +- .../Tango.PPC.BugReporting/BugReportingModule.cs | 2 +- .../MachineSettingsModule.cs | 2 +- .../PPC/Modules/Tango.PPC.Maintenance/App.xaml | 11 ++ .../PPC/Modules/Tango.PPC.Maintenance/GuideBase.cs | 35 ++++ .../PPC/Modules/Tango.PPC.Maintenance/GuideStep.cs | 21 ++ .../Guides/HandleWasteCartridgeGuide.cs | 19 ++ .../Guides/LoadInkCartridgeGuide.cs | 19 ++ .../Guides/LoadNewThreadGuide.cs | 19 ++ .../Guides/ReplaceAirFilterGuide.cs | 19 ++ .../Guides/ReplaceThreadGuide.cs | 19 ++ .../Tango.PPC.Maintenance/Helpers/GuideHelper.cs | 33 ++++ .../Guides/handling-the-waste-cartridges.png | Bin 0 -> 2174 bytes .../Images/Guides/loading-an-ink-cartridge.png | Bin 0 -> 2266 bytes .../Images/Guides/loading-new-thread.png | Bin 0 -> 2228 bytes .../Images/Guides/machine-image.png | Bin 0 -> 138220 bytes .../Images/Guides/replacing-the-air-filter.png | Bin 0 -> 2269 bytes .../Images/Guides/replacing-the-thread.png | Bin 0 -> 2175 bytes .../Tango.PPC.Maintenance/Images/action.png | Bin 0 -> 1152 bytes .../Tango.PPC.Maintenance/Images/guides.png | Bin 0 -> 2099 bytes .../Modules/Tango.PPC.Maintenance/Images/inks.png | Bin 0 -> 2075 bytes .../Tango.PPC.Maintenance/Images/maintenance.png | Bin 0 -> 686 bytes .../Tango.PPC.Maintenance/Images/status.png | Bin 0 -> 1663 bytes .../Images/temperature-green.png | Bin 0 -> 959 bytes .../Tango.PPC.Maintenance/MaintenanceModule.cs | 84 ++++++++ .../Properties/AssemblyInfo.cs | 20 ++ .../Properties/Resources.Designer.cs | 63 ++++++ .../Properties/Resources.resx | 117 +++++++++++ .../Properties/Settings.Designer.cs | 26 +++ .../Properties/Settings.settings | 7 + .../Tango.PPC.Maintenance/Resources/Guides.xaml | 60 ++++++ .../Tango.PPC.Maintenance.csproj | 219 +++++++++++++++++++++ .../Tango.PPC.Maintenance/ViewModelLocator.cs | 56 ++++++ .../ViewModels/GeneralGuideViewVM.cs | 33 ++++ .../Tango.PPC.Maintenance/ViewModels/MainViewVM.cs | 31 +++ .../ViewModels/MaintenanceViewVM.cs | 37 ++++ .../Views/GeneralGuideView.xaml | 55 ++++++ .../Views/GeneralGuideView.xaml.cs | 33 ++++ .../Tango.PPC.Maintenance/Views/MainView.xaml | 22 +++ .../Tango.PPC.Maintenance/Views/MainView.xaml.cs | 28 +++ .../Views/MaintenanceView.xaml | 127 ++++++++++++ .../Views/MaintenanceView.xaml.cs | 28 +++ .../PPC/Modules/Tango.PPC.Maintenance/app.config | 61 ++++++ .../Modules/Tango.PPC.Maintenance/packages.config | 7 + .../PPC/Modules/Tango.PPC.Storage/StorageModule.cs | 2 +- .../Tango.PPC.Technician/ViewModels/MainViewVM.cs | 4 +- .../PPC/Tango.PPC.UI/Tango.PPC.UI.csproj | 4 + .../Tango.PMR/MachineStatus/IDSPackLevel.cs | 24 +-- Software/Visual_Studio/Tango.sln | 55 +++++- 82 files changed, 1380 insertions(+), 24 deletions(-) create mode 100644 Software/Graphics/Mobile/action.png create mode 100644 Software/Graphics/Mobile/action@2x.png create mode 100644 Software/Graphics/Mobile/action@3x.png create mode 100644 Software/Graphics/Mobile/guides.png create mode 100644 Software/Graphics/Mobile/guides@2x.png create mode 100644 Software/Graphics/Mobile/guides@3x.png create mode 100644 Software/Graphics/Mobile/handling-the-waste-cartridges.png create mode 100644 Software/Graphics/Mobile/handling-the-waste-cartridges@2x.png create mode 100644 Software/Graphics/Mobile/handling-the-waste-cartridges@3x.png create mode 100644 Software/Graphics/Mobile/inks.png create mode 100644 Software/Graphics/Mobile/inks@2x.png create mode 100644 Software/Graphics/Mobile/inks@3x.png create mode 100644 Software/Graphics/Mobile/loading-an-ink-cartridge.png create mode 100644 Software/Graphics/Mobile/loading-an-ink-cartridge@2x.png create mode 100644 Software/Graphics/Mobile/loading-an-ink-cartridge@3x.png create mode 100644 Software/Graphics/Mobile/loading-new-thread.png create mode 100644 Software/Graphics/Mobile/loading-new-thread@2x.png create mode 100644 Software/Graphics/Mobile/loading-new-thread@3x.png create mode 100644 Software/Graphics/Mobile/maintenance.png create mode 100644 Software/Graphics/Mobile/maintenance@2x.png create mode 100644 Software/Graphics/Mobile/maintenance@3x.png create mode 100644 Software/Graphics/Mobile/replacing-the-air-filter.png create mode 100644 Software/Graphics/Mobile/replacing-the-air-filter@2x.png create mode 100644 Software/Graphics/Mobile/replacing-the-air-filter@3x.png create mode 100644 Software/Graphics/Mobile/replacing-the-thread.png create mode 100644 Software/Graphics/Mobile/replacing-the-thread@2x.png create mode 100644 Software/Graphics/Mobile/replacing-the-thread@3x.png create mode 100644 Software/Graphics/Mobile/status.png create mode 100644 Software/Graphics/Mobile/status@2x.png create mode 100644 Software/Graphics/Mobile/status@3x.png create mode 100644 Software/Graphics/Mobile/temperature-green.png create mode 100644 Software/Graphics/Mobile/temperature-green@2x.png create mode 100644 Software/Graphics/Mobile/temperature-green@3x.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/App.xaml create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/GuideBase.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/GuideStep.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/HandleWasteCartridgeGuide.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/LoadInkCartridgeGuide.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/LoadNewThreadGuide.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/ReplaceAirFilterGuide.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/ReplaceThreadGuide.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Helpers/GuideHelper.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/handling-the-waste-cartridges.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/loading-an-ink-cartridge.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/loading-new-thread.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/machine-image.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/replacing-the-air-filter.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/replacing-the-thread.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/action.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/guides.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/inks.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/maintenance.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/status.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-green.png create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/MaintenanceModule.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/AssemblyInfo.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Resources.Designer.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Resources.resx create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Settings.Designer.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Settings.settings create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Resources/Guides.xaml create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Tango.PPC.Maintenance.csproj create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModelLocator.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/GeneralGuideViewVM.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MainViewVM.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MaintenanceViewVM.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/GeneralGuideView.xaml create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/GeneralGuideView.xaml.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MainView.xaml create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MainView.xaml.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml.cs create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/app.config create mode 100644 Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/packages.config (limited to 'Software/Visual_Studio/PPC/Modules') diff --git a/Software/Graphics/Mobile/action.png b/Software/Graphics/Mobile/action.png new file mode 100644 index 000000000..6d14ec5dc Binary files /dev/null and b/Software/Graphics/Mobile/action.png differ diff --git a/Software/Graphics/Mobile/action@2x.png b/Software/Graphics/Mobile/action@2x.png new file mode 100644 index 000000000..e0ca6b30b Binary files /dev/null and b/Software/Graphics/Mobile/action@2x.png differ diff --git a/Software/Graphics/Mobile/action@3x.png b/Software/Graphics/Mobile/action@3x.png new file mode 100644 index 000000000..0649a9e2f Binary files /dev/null and b/Software/Graphics/Mobile/action@3x.png differ diff --git a/Software/Graphics/Mobile/guides.png b/Software/Graphics/Mobile/guides.png new file mode 100644 index 000000000..13b9013d7 Binary files /dev/null and b/Software/Graphics/Mobile/guides.png differ diff --git a/Software/Graphics/Mobile/guides@2x.png b/Software/Graphics/Mobile/guides@2x.png new file mode 100644 index 000000000..fef7684f0 Binary files /dev/null and b/Software/Graphics/Mobile/guides@2x.png differ diff --git a/Software/Graphics/Mobile/guides@3x.png b/Software/Graphics/Mobile/guides@3x.png new file mode 100644 index 000000000..011a041ca Binary files /dev/null and b/Software/Graphics/Mobile/guides@3x.png differ diff --git a/Software/Graphics/Mobile/handling-the-waste-cartridges.png b/Software/Graphics/Mobile/handling-the-waste-cartridges.png new file mode 100644 index 000000000..188e881bb Binary files /dev/null and b/Software/Graphics/Mobile/handling-the-waste-cartridges.png differ diff --git a/Software/Graphics/Mobile/handling-the-waste-cartridges@2x.png b/Software/Graphics/Mobile/handling-the-waste-cartridges@2x.png new file mode 100644 index 000000000..b5a4956fe Binary files /dev/null and b/Software/Graphics/Mobile/handling-the-waste-cartridges@2x.png differ diff --git a/Software/Graphics/Mobile/handling-the-waste-cartridges@3x.png b/Software/Graphics/Mobile/handling-the-waste-cartridges@3x.png new file mode 100644 index 000000000..f39a6f94d Binary files /dev/null and b/Software/Graphics/Mobile/handling-the-waste-cartridges@3x.png differ diff --git a/Software/Graphics/Mobile/inks.png b/Software/Graphics/Mobile/inks.png new file mode 100644 index 000000000..3872a77e4 Binary files /dev/null and b/Software/Graphics/Mobile/inks.png differ diff --git a/Software/Graphics/Mobile/inks@2x.png b/Software/Graphics/Mobile/inks@2x.png new file mode 100644 index 000000000..f918cb6c9 Binary files /dev/null and b/Software/Graphics/Mobile/inks@2x.png differ diff --git a/Software/Graphics/Mobile/inks@3x.png b/Software/Graphics/Mobile/inks@3x.png new file mode 100644 index 000000000..75979e223 Binary files /dev/null and b/Software/Graphics/Mobile/inks@3x.png differ diff --git a/Software/Graphics/Mobile/loading-an-ink-cartridge.png b/Software/Graphics/Mobile/loading-an-ink-cartridge.png new file mode 100644 index 000000000..4f4dfc375 Binary files /dev/null and b/Software/Graphics/Mobile/loading-an-ink-cartridge.png differ diff --git a/Software/Graphics/Mobile/loading-an-ink-cartridge@2x.png b/Software/Graphics/Mobile/loading-an-ink-cartridge@2x.png new file mode 100644 index 000000000..e144f7442 Binary files /dev/null and b/Software/Graphics/Mobile/loading-an-ink-cartridge@2x.png differ diff --git a/Software/Graphics/Mobile/loading-an-ink-cartridge@3x.png b/Software/Graphics/Mobile/loading-an-ink-cartridge@3x.png new file mode 100644 index 000000000..5e72209be Binary files /dev/null and b/Software/Graphics/Mobile/loading-an-ink-cartridge@3x.png differ diff --git a/Software/Graphics/Mobile/loading-new-thread.png b/Software/Graphics/Mobile/loading-new-thread.png new file mode 100644 index 000000000..1f508261b Binary files /dev/null and b/Software/Graphics/Mobile/loading-new-thread.png differ diff --git a/Software/Graphics/Mobile/loading-new-thread@2x.png b/Software/Graphics/Mobile/loading-new-thread@2x.png new file mode 100644 index 000000000..d54bff3e7 Binary files /dev/null and b/Software/Graphics/Mobile/loading-new-thread@2x.png differ diff --git a/Software/Graphics/Mobile/loading-new-thread@3x.png b/Software/Graphics/Mobile/loading-new-thread@3x.png new file mode 100644 index 000000000..5d536e7ae Binary files /dev/null and b/Software/Graphics/Mobile/loading-new-thread@3x.png differ diff --git a/Software/Graphics/Mobile/maintenance.png b/Software/Graphics/Mobile/maintenance.png new file mode 100644 index 000000000..526284750 Binary files /dev/null and b/Software/Graphics/Mobile/maintenance.png differ diff --git a/Software/Graphics/Mobile/maintenance@2x.png b/Software/Graphics/Mobile/maintenance@2x.png new file mode 100644 index 000000000..4f72839ee Binary files /dev/null and b/Software/Graphics/Mobile/maintenance@2x.png differ diff --git a/Software/Graphics/Mobile/maintenance@3x.png b/Software/Graphics/Mobile/maintenance@3x.png new file mode 100644 index 000000000..b455924a8 Binary files /dev/null and b/Software/Graphics/Mobile/maintenance@3x.png differ diff --git a/Software/Graphics/Mobile/replacing-the-air-filter.png b/Software/Graphics/Mobile/replacing-the-air-filter.png new file mode 100644 index 000000000..eb8f518a3 Binary files /dev/null and b/Software/Graphics/Mobile/replacing-the-air-filter.png differ diff --git a/Software/Graphics/Mobile/replacing-the-air-filter@2x.png b/Software/Graphics/Mobile/replacing-the-air-filter@2x.png new file mode 100644 index 000000000..99fb571f0 Binary files /dev/null and b/Software/Graphics/Mobile/replacing-the-air-filter@2x.png differ diff --git a/Software/Graphics/Mobile/replacing-the-air-filter@3x.png b/Software/Graphics/Mobile/replacing-the-air-filter@3x.png new file mode 100644 index 000000000..65f023d79 Binary files /dev/null and b/Software/Graphics/Mobile/replacing-the-air-filter@3x.png differ diff --git a/Software/Graphics/Mobile/replacing-the-thread.png b/Software/Graphics/Mobile/replacing-the-thread.png new file mode 100644 index 000000000..e858c3075 Binary files /dev/null and b/Software/Graphics/Mobile/replacing-the-thread.png differ diff --git a/Software/Graphics/Mobile/replacing-the-thread@2x.png b/Software/Graphics/Mobile/replacing-the-thread@2x.png new file mode 100644 index 000000000..f16f8341b Binary files /dev/null and b/Software/Graphics/Mobile/replacing-the-thread@2x.png differ diff --git a/Software/Graphics/Mobile/replacing-the-thread@3x.png b/Software/Graphics/Mobile/replacing-the-thread@3x.png new file mode 100644 index 000000000..90a469b03 Binary files /dev/null and b/Software/Graphics/Mobile/replacing-the-thread@3x.png differ diff --git a/Software/Graphics/Mobile/status.png b/Software/Graphics/Mobile/status.png new file mode 100644 index 000000000..0cc205a6c Binary files /dev/null and b/Software/Graphics/Mobile/status.png differ diff --git a/Software/Graphics/Mobile/status@2x.png b/Software/Graphics/Mobile/status@2x.png new file mode 100644 index 000000000..2aa50e611 Binary files /dev/null and b/Software/Graphics/Mobile/status@2x.png differ diff --git a/Software/Graphics/Mobile/status@3x.png b/Software/Graphics/Mobile/status@3x.png new file mode 100644 index 000000000..728a767ec Binary files /dev/null and b/Software/Graphics/Mobile/status@3x.png differ diff --git a/Software/Graphics/Mobile/temperature-green.png b/Software/Graphics/Mobile/temperature-green.png new file mode 100644 index 000000000..cdea8ff8b Binary files /dev/null and b/Software/Graphics/Mobile/temperature-green.png differ diff --git a/Software/Graphics/Mobile/temperature-green@2x.png b/Software/Graphics/Mobile/temperature-green@2x.png new file mode 100644 index 000000000..f7e7143eb Binary files /dev/null and b/Software/Graphics/Mobile/temperature-green@2x.png differ diff --git a/Software/Graphics/Mobile/temperature-green@3x.png b/Software/Graphics/Mobile/temperature-green@3x.png new file mode 100644 index 000000000..be95be97e Binary files /dev/null and b/Software/Graphics/Mobile/temperature-green@3x.png differ diff --git a/Software/PMR/Messages/MachineStatus/IDSPackLevel.proto b/Software/PMR/Messages/MachineStatus/IDSPackLevel.proto index 1ebed9a51..d4bda8f95 100644 --- a/Software/PMR/Messages/MachineStatus/IDSPackLevel.proto +++ b/Software/PMR/Messages/MachineStatus/IDSPackLevel.proto @@ -7,5 +7,5 @@ message IDSPackLevel { int32 Index = 1; int32 DispenserLevel = 2; - int32 MidTankLevel = 3; + double MidTankLevel = 3; } \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.BugReporting/BugReportingModule.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.BugReporting/BugReportingModule.cs index e65b44698..659ffe732 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.BugReporting/BugReportingModule.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.BugReporting/BugReportingModule.cs @@ -17,7 +17,7 @@ namespace Tango.PPC.BugReporting /// Represents a PPC . ///
/// - [PPCModule(5)] + [PPCModule(6)] public class BugReportingModule : PPCModuleBase { /// diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/MachineSettingsModule.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/MachineSettingsModule.cs index 477340357..807a70b10 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/MachineSettingsModule.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/MachineSettingsModule.cs @@ -15,7 +15,7 @@ namespace Tango.PPC.MachineSettings /// Represents a PPC . /// /// - [PPCModule(2)] + [PPCModule(4)] public class MachineSettingsModule : PPCModuleBase { /// diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/App.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/App.xaml new file mode 100644 index 000000000..cb7592abd --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/App.xaml @@ -0,0 +1,11 @@ + + + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/GuideBase.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/GuideBase.cs new file mode 100644 index 000000000..f016182d8 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/GuideBase.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media.Imaging; + +namespace Tango.PPC.Maintenance +{ + public abstract class GuideBase + { + public abstract String Name { get; } + public abstract BitmapSource Icon { get; } + public abstract BitmapSource Image { get; } + public abstract List Steps { get; } + + protected virtual List GetStepsFromResource(String key) + { + List list = new List(); + + var arr = (Application.Current.Resources[key] as Array); + + foreach (var item in arr) + { + list.Add(new GuideStep() + { + Text = item + }); + } + + return list; + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/GuideStep.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/GuideStep.cs new file mode 100644 index 000000000..71a70d9db --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/GuideStep.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core; + +namespace Tango.PPC.Maintenance +{ + public class GuideStep : ExtendedObject + { + public Object Text { get; set; } + + private bool _isChecked; + public bool IsChecked + { + get { return _isChecked; } + set { _isChecked = value; RaisePropertyChangedAuto(); } + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/HandleWasteCartridgeGuide.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/HandleWasteCartridgeGuide.cs new file mode 100644 index 000000000..0904728fb --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/HandleWasteCartridgeGuide.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media.Imaging; +using Tango.SharedUI.Helpers; + +namespace Tango.PPC.Maintenance.Guides +{ + public class HandleWasteCartridgeGuide : GuideBase + { + public override string Name => "Handling the Waste Cartridges"; + public override BitmapSource Icon => ResourceHelper.GetImageFromResources("Images/Guides/handling-the-waste-cartridges.png"); + public override BitmapSource Image => ResourceHelper.GetImageFromResources("Images/Guides/machine-image.png"); + public override List Steps => GetStepsFromResource("HandleWasteCartridge"); + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/LoadInkCartridgeGuide.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/LoadInkCartridgeGuide.cs new file mode 100644 index 000000000..d100b25a0 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/LoadInkCartridgeGuide.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media.Imaging; +using Tango.SharedUI.Helpers; + +namespace Tango.PPC.Maintenance.Guides +{ + public class LoadInkCartridgeGuide : GuideBase + { + public override string Name => "Loading an Ink Cartridge"; + public override BitmapSource Icon => ResourceHelper.GetImageFromResources("Images/Guides/loading-an-ink-cartridge.png"); + public override BitmapSource Image => ResourceHelper.GetImageFromResources("Images/Guides/machine-image.png"); + public override List Steps => GetStepsFromResource("LoadInkCartridge"); + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/LoadNewThreadGuide.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/LoadNewThreadGuide.cs new file mode 100644 index 000000000..b32be18cd --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/LoadNewThreadGuide.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media.Imaging; +using Tango.SharedUI.Helpers; + +namespace Tango.PPC.Maintenance.Guides +{ + public class LoadNewThreadGuide : GuideBase + { + public override string Name => "Loading New Thread"; + public override BitmapSource Icon => ResourceHelper.GetImageFromResources("Images/Guides/loading-new-thread.png"); + public override BitmapSource Image => ResourceHelper.GetImageFromResources("Images/Guides/machine-image.png"); + public override List Steps => GetStepsFromResource("LoadNewThread"); + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/ReplaceAirFilterGuide.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/ReplaceAirFilterGuide.cs new file mode 100644 index 000000000..57f60fd79 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/ReplaceAirFilterGuide.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media.Imaging; +using Tango.SharedUI.Helpers; + +namespace Tango.PPC.Maintenance.Guides +{ + public class ReplaceAirFilterGuide : GuideBase + { + public override string Name => "Replacing the Air Filter"; + public override BitmapSource Icon => ResourceHelper.GetImageFromResources("Images/Guides/replacing-the-air-filter.png"); + public override BitmapSource Image => ResourceHelper.GetImageFromResources("Images/Guides/machine-image.png"); + public override List Steps => GetStepsFromResource("ReplaceAirFilter"); + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/ReplaceThreadGuide.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/ReplaceThreadGuide.cs new file mode 100644 index 000000000..781f3351a --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Guides/ReplaceThreadGuide.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media.Imaging; +using Tango.SharedUI.Helpers; + +namespace Tango.PPC.Maintenance.Guides +{ + public class ReplaceThreadGuide : GuideBase + { + public override string Name => "Replacing the Thread"; + public override BitmapSource Icon => ResourceHelper.GetImageFromResources("Images/Guides/replacing-the-thread.png"); + public override BitmapSource Image => ResourceHelper.GetImageFromResources("Images/Guides/machine-image.png"); + public override List Steps => GetStepsFromResource("ReplaceThread"); + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Helpers/GuideHelper.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Helpers/GuideHelper.cs new file mode 100644 index 000000000..32518974d --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Helpers/GuideHelper.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace Tango.PPC.Maintenance.Helpers +{ + public static class GuideHelper + { + public static List CreateAllGuides() + { + var resource = new ResourceDictionary + { + Source = new Uri("/Tango.PPC.Maintenance;component/Resources/Guides.xaml", UriKind.RelativeOrAbsolute) + }; + + Application.Current.Resources.MergedDictionaries.Add(resource); + + List guides = new List(); + + var callingAssembly = typeof(GuideHelper).Assembly; + + foreach (var guideType in callingAssembly.DefinedTypes.Where(x => x.Namespace == "Tango.PPC.Maintenance.Guides")) + { + guides.Add(Activator.CreateInstance(guideType) as GuideBase); + } + + return guides; + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/handling-the-waste-cartridges.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/handling-the-waste-cartridges.png new file mode 100644 index 000000000..188e881bb Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/handling-the-waste-cartridges.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/loading-an-ink-cartridge.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/loading-an-ink-cartridge.png new file mode 100644 index 000000000..4f4dfc375 Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/loading-an-ink-cartridge.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/loading-new-thread.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/loading-new-thread.png new file mode 100644 index 000000000..1f508261b Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/loading-new-thread.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/machine-image.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/machine-image.png new file mode 100644 index 000000000..277599070 Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/machine-image.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/replacing-the-air-filter.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/replacing-the-air-filter.png new file mode 100644 index 000000000..eb8f518a3 Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/replacing-the-air-filter.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/replacing-the-thread.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/replacing-the-thread.png new file mode 100644 index 000000000..e858c3075 Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/Guides/replacing-the-thread.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/action.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/action.png new file mode 100644 index 000000000..6d14ec5dc Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/action.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/guides.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/guides.png new file mode 100644 index 000000000..13b9013d7 Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/guides.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/inks.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/inks.png new file mode 100644 index 000000000..3872a77e4 Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/inks.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/maintenance.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/maintenance.png new file mode 100644 index 000000000..526284750 Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/maintenance.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/status.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/status.png new file mode 100644 index 000000000..0cc205a6c Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/status.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-green.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-green.png new file mode 100644 index 000000000..cdea8ff8b Binary files /dev/null and b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-green.png differ diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/MaintenanceModule.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/MaintenanceModule.cs new file mode 100644 index 000000000..18871ac78 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/MaintenanceModule.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Media.Imaging; +using Tango.BL.Enumerations; +using Tango.PPC.Common; +using Tango.PPC.Maintenance.Views; +using Tango.SharedUI.Helpers; + +namespace Tango.PPC.Maintenance +{ + /// + /// Represents a PPC . + /// + /// + [PPCModule(3)] + public class MaintenanceModule : PPCModuleBase + { + /// + /// Gets the module name. + /// + public override string Name + { + get + { + return "Maintenance"; + } + } + + /// + /// Gets the module description. + /// + public override string Description + { + get + { + return "PPC maintenance module."; + } + } + + /// + /// Gets the module cover image. + /// + public override BitmapSource Image + { + get + { + return ResourceHelper.GetImageFromResources("Images/maintenance.png"); + } + } + + /// + /// Gets the module entry point view type. + /// + public override Type MainViewType + { + get + { + return typeof(MainView); + } + } + + /// + /// Gets the permission required to see and load this module. + /// + public override Permissions Permission + { + get + { + return Permissions.RunPPC; + } + } + + /// + /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + /// + public override void Dispose() + { + //Dispose module here... + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/AssemblyInfo.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..52774bee8 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Tango Module")] +[assembly: AssemblyVersion("2.0.1.1407")] + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Resources.Designer.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Resources.Designer.cs new file mode 100644 index 000000000..003dc17e5 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Tango.PPC.Maintenance.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Tango.PPC.Maintenance.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Resources.resx b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Resources.resx new file mode 100644 index 000000000..af7dbebba --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Settings.Designer.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Settings.Designer.cs new file mode 100644 index 000000000..7b549e7b7 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Tango.PPC.Maintenance.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.8.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Settings.settings b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Settings.settings new file mode 100644 index 000000000..033d7a5e9 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Resources/Guides.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Resources/Guides.xaml new file mode 100644 index 000000000..24e1e0d71 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Resources/Guides.xaml @@ -0,0 +1,60 @@ + + + + 1. Loading New Thread + 2. Wait for a message indicating the system is ready to load the thread + 3. Place a cone with un-dyed thread into the thread feeding unit + 4. Feed the thread along the thread groove to the winder + 5. Place an empty collecting cone into the thread winder + 6. Insert the end of the thread into the empty collecting cone + 7. On the TS-1800 panel, press LOAD again + + + + 1. On the TS-1800 panel, press LOAD + 2. Wait for a message indicating the system is ready to load the thread + 3. Place a cone with un-dyed thread into the thread feeding unit + 4. Feed the tread along the feeding path up to the top cover + 5. Feed the thread along the thread groove to the winder + 6. Place an empty collecting cone into the thread winder + 7. Insert the end of the thread into the empty collecting cone + 8. On the TS-1800 panel, press LOAD again + + + + 1. Cut the current thread just after the feeding cone + 2. Remove the current feeding cone + 3. Place the new feeding cone into the thread feeding unit + 4. Tie the new thread to the current thread + 5. Cut off the ends of the thread leaving a small knot + 6. On the TS-1800 panel, press and hold the JOG button + 7. Hold the JOG button until the knot appears at the collecting cone + 8. Cut the thread at the collecting cone after the knot + 9. Remove the collecting cone + 10. Place an empty collecting cone into the winder + 11. Insert the end of the new thread into the empty collecting cone + + + + 1. Open the air filter cover + 2. Remove the old air filter + 3. Insert a new air filter + 4. Close the air filter cover + + + + 1. Open the cartridge cover + 2. Insert a full ink cartridge into the ink-loading slot + 3. Close the cartridge cover + 4. When ink loading is complete, open the cartridge cover + 5. Remove the empty ink cartridge + 6. Remove the stopper from the residue-filling opening + 7. Place the stopper into its allocated position on the top side of the empty ink cartridge + 8. Put the empty ink cartridge into storage. Optional: if an empty recycling slot is available + 9. Insert the empty ink cartridge into the slot for ink recycling + + + \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Tango.PPC.Maintenance.csproj b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Tango.PPC.Maintenance.csproj new file mode 100644 index 000000000..b342b5a87 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Tango.PPC.Maintenance.csproj @@ -0,0 +1,219 @@ + + + + + Debug + AnyCPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84} + library + Tango.PPC.Maintenance + Tango.PPC.Maintenance + v4.6.1 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + + + + true + full + false + ..\..\..\Build\PPC\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + ..\..\..\Build\PPC\Release\ + TRACE + prompt + 4 + + + + ..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.dll + True + + + ..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.SqlServer.dll + + + ..\..\..\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll + + + ..\..\..\packages\Google.Protobuf.3.4.1\lib\net45\Google.Protobuf.dll + + + + + + ..\..\..\packages\Expression.Blend.Sdk.1.0.2\lib\net45\System.Windows.Interactivity.dll + + + + + + + + + 4.0 + + + + + + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + + + GlobalVersionInfo.cs + + + + + + + + + + + + Code + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + + GeneralGuideView.xaml + + + MaintenanceView.xaml + + + MainView.xaml + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + {f441feee-322a-4943-b566-110e12fd3b72} + Tango.BL + + + {a34ee0f0-649d-41c8-8489-b6f1cc6924ee} + Tango.Core + + + {b112d89a-a106-41ae-a0c1-4abc84c477f5} + Tango.DragAndDrop + + + {bc932dbd-7cdb-488c-99e4-f02cf441f55e} + Tango.Logging + + + {e4927038-348d-4295-aaf4-861c58cb3943} + Tango.PMR + + + {d8f1ad85-526a-4f50-b6dc-d437af63d8d8} + Tango.Settings + + + {8491d07b-c1f6-4b62-a412-41b9fd2d6538} + Tango.SharedUI + + + {fd86424c-6e84-491b-8df9-3d0f5c236a2a} + Tango.Touch + + + {74e700b0-1156-4126-be40-ee450d3c3026} + Tango.Transport + + + {0be74eee-22cb-4dba-b896-793b9e1a3ac0} + Tango.PPC.Common + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModelLocator.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModelLocator.cs new file mode 100644 index 000000000..1db63a9e4 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModelLocator.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core.DI; +using Tango.PPC.Maintenance.ViewModels; + +namespace Tango.PPC.Maintenance +{ + public static class ViewModelLocator + { + /// + /// Initializes a new instance of the ViewModelLocator class. + /// + static ViewModelLocator() + { + TangoIOC.Default.Register(); + TangoIOC.Default.Register(); + TangoIOC.Default.Register(); + } + + /// + /// Gets the main view VM. + /// + public static MainViewVM MainViewVM + { + get + { + return TangoIOC.Default.GetInstance(); + } + } + + /// + /// Gets the maintenance view VM. + /// + public static MaintenanceViewVM MaintenanceViewVM + { + get + { + return TangoIOC.Default.GetInstance(); + } + } + + /// + /// Gets the general guide view VM. + /// + public static GeneralGuideViewVM GeneralGuideViewVM + { + get + { + return TangoIOC.Default.GetInstance(); + } + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/GeneralGuideViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/GeneralGuideViewVM.cs new file mode 100644 index 000000000..1149da103 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/GeneralGuideViewVM.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.PPC.Common; +using Tango.PPC.Common.Navigation; + +namespace Tango.PPC.Maintenance.ViewModels +{ + public class GeneralGuideViewVM : PPCViewModel, INavigationObjectReceiver + { + private GuideBase _guide; + public GuideBase Guide + { + get { return _guide; } + set { _guide = value; RaisePropertyChangedAuto(); } + } + + + public override void OnApplicationStarted() + { + + } + + public void OnNavigatedToWithObject(GuideBase guide) + { + guide.Steps.ForEach(x => x.IsChecked = false); + + Guide = guide; + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MainViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MainViewVM.cs new file mode 100644 index 000000000..a614f7be2 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MainViewVM.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.PPC.Common; +using Tango.PPC.Maintenance.Views; + +namespace Tango.PPC.Maintenance.ViewModels +{ + /// + /// Represents the main view VM and entry point for . + /// + /// + public class MainViewVM : PPCViewModel + { + /// + /// Called when the application has been started + /// + public override void OnApplicationStarted() + { + //Start initializing here rather then in the constructor. + } + + public override void OnNavigatedTo() + { + base.OnNavigatedTo(); + NavigationManager.NavigateTo(nameof(MaintenanceView), false); + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MaintenanceViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MaintenanceViewVM.cs new file mode 100644 index 000000000..ffd388093 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MaintenanceViewVM.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core.Commands; +using Tango.PPC.Common; +using Tango.PPC.Maintenance.Helpers; +using Tango.PPC.Maintenance.Views; + +namespace Tango.PPC.Maintenance.ViewModels +{ + public class MaintenanceViewVM : PPCViewModel + { + public ObservableCollection Guides { get; set; } + + public RelayCommand OpenGuideCommand { get; set; } + + public MaintenanceViewVM() + { + Guides = new ObservableCollection(GuideHelper.CreateAllGuides()); + + OpenGuideCommand = new RelayCommand(OpenGuide); + } + + public override void OnApplicationStarted() + { + + } + + public async void OpenGuide(GuideBase guide) + { + await NavigationManager.NavigateWithObject(guide); + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/GeneralGuideView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/GeneralGuideView.xaml new file mode 100644 index 000000000..9d57952c5 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/GeneralGuideView.xaml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/GeneralGuideView.xaml.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/GeneralGuideView.xaml.cs new file mode 100644 index 000000000..10b5337ce --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/GeneralGuideView.xaml.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.PPC.Maintenance.Views +{ + /// + /// Interaction logic for GeneralGuideView.xaml + /// + public partial class GeneralGuideView : UserControl + { + public GeneralGuideView() + { + InitializeComponent(); + } + + private void TouchCheckBox_Loaded(object sender, RoutedEventArgs e) + { + + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MainView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MainView.xaml new file mode 100644 index 000000000..be6161952 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MainView.xaml @@ -0,0 +1,22 @@ + + + + + + + + + + diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MainView.xaml.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MainView.xaml.cs new file mode 100644 index 000000000..f859c9524 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MainView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.PPC.Maintenance.Views +{ + /// + /// Interaction logic for MainView.xaml + /// + public partial class MainView : UserControl + { + public MainView() + { + InitializeComponent(); + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml new file mode 100644 index 000000000..c26025d92 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + Maintenance + + + + + + + + + + + + Current Status + + + + + + + + + + + + + + + + + + + + + + + Temperature + Inks + + + + + + + + + + + Actions + + + + + RUN HEAD CLEANING + + RUN HEAD CLEANING + + RUN HEAD CLEANING + + + + + + + + + + + Guides + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml.cs new file mode 100644 index 000000000..bc9d5e6ae --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.PPC.Maintenance.Views +{ + /// + /// Interaction logic for MainView.xaml + /// + public partial class MaintenanceView : UserControl + { + public MaintenanceView() + { + InitializeComponent(); + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/app.config b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/app.config new file mode 100644 index 000000000..1e22e6a88 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/app.config @@ -0,0 +1,61 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/packages.config b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/packages.config new file mode 100644 index 000000000..80367fdd2 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Storage/StorageModule.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Storage/StorageModule.cs index b3553e666..8bbeb4fe2 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Storage/StorageModule.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Storage/StorageModule.cs @@ -15,7 +15,7 @@ namespace Tango.PPC.Storage /// Represents a PPC . ///
/// - [PPCModule(3)] + [PPCModule(5)] public class StorageModule : PPCModuleBase { /// diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/MainViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/MainViewVM.cs index d63a89f3b..4f8aba952 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/MainViewVM.cs @@ -12,13 +12,13 @@ namespace Tango.PPC.Technician.ViewModels { public override void OnApplicationStarted() { - + } public override void OnNavigatedTo() { base.OnNavigatedTo(); - NavigationManager.NavigateTo(nameof(CatalogView)); + NavigationManager.NavigateTo(nameof(CatalogView), false); } } } diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj index 38cc93b71..b279f1a92 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj @@ -449,6 +449,10 @@ {91b70e9b-66a7-4873-ae10-400e71cf404f} Tango.PPC.MachineSettings + + {011470ac-6bd6-4366-b5f2-c82c065d4a84} + Tango.PPC.Maintenance + {04febb02-f782-4b96-b47d-f6902afa43be} Tango.PPC.Storage diff --git a/Software/Visual_Studio/Tango.PMR/MachineStatus/IDSPackLevel.cs b/Software/Visual_Studio/Tango.PMR/MachineStatus/IDSPackLevel.cs index 007a72214..18024c6d7 100644 --- a/Software/Visual_Studio/Tango.PMR/MachineStatus/IDSPackLevel.cs +++ b/Software/Visual_Studio/Tango.PMR/MachineStatus/IDSPackLevel.cs @@ -24,7 +24,7 @@ namespace Tango.PMR.MachineStatus { string.Concat( "ChJJRFNQYWNrTGV2ZWwucHJvdG8SF1RhbmdvLlBNUi5NYWNoaW5lU3RhdHVz", "IksKDElEU1BhY2tMZXZlbBINCgVJbmRleBgBIAEoBRIWCg5EaXNwZW5zZXJM", - "ZXZlbBgCIAEoBRIUCgxNaWRUYW5rTGV2ZWwYAyABKAVCIwohY29tLnR3aW5l", + "ZXZlbBgCIAEoBRIUCgxNaWRUYW5rTGV2ZWwYAyABKAFCIwohY29tLnR3aW5l", "LnRhbmdvLnBtci5tYWNoaW5lc3RhdHVzYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, @@ -94,9 +94,9 @@ namespace Tango.PMR.MachineStatus { /// Field number for the "MidTankLevel" field. public const int MidTankLevelFieldNumber = 3; - private int midTankLevel_; + private double midTankLevel_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int MidTankLevel { + public double MidTankLevel { get { return midTankLevel_; } set { midTankLevel_ = value; @@ -127,7 +127,7 @@ namespace Tango.PMR.MachineStatus { int hash = 1; if (Index != 0) hash ^= Index.GetHashCode(); if (DispenserLevel != 0) hash ^= DispenserLevel.GetHashCode(); - if (MidTankLevel != 0) hash ^= MidTankLevel.GetHashCode(); + if (MidTankLevel != 0D) hash ^= MidTankLevel.GetHashCode(); return hash; } @@ -146,9 +146,9 @@ namespace Tango.PMR.MachineStatus { output.WriteRawTag(16); output.WriteInt32(DispenserLevel); } - if (MidTankLevel != 0) { - output.WriteRawTag(24); - output.WriteInt32(MidTankLevel); + if (MidTankLevel != 0D) { + output.WriteRawTag(25); + output.WriteDouble(MidTankLevel); } } @@ -161,8 +161,8 @@ namespace Tango.PMR.MachineStatus { if (DispenserLevel != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(DispenserLevel); } - if (MidTankLevel != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(MidTankLevel); + if (MidTankLevel != 0D) { + size += 1 + 8; } return size; } @@ -178,7 +178,7 @@ namespace Tango.PMR.MachineStatus { if (other.DispenserLevel != 0) { DispenserLevel = other.DispenserLevel; } - if (other.MidTankLevel != 0) { + if (other.MidTankLevel != 0D) { MidTankLevel = other.MidTankLevel; } } @@ -199,8 +199,8 @@ namespace Tango.PMR.MachineStatus { DispenserLevel = input.ReadInt32(); break; } - case 24: { - MidTankLevel = input.ReadInt32(); + case 25: { + MidTankLevel = input.ReadDouble(); break; } } diff --git a/Software/Visual_Studio/Tango.sln b/Software/Visual_Studio/Tango.sln index 1fae1ae3a..c2dc16150 100644 --- a/Software/Visual_Studio/Tango.sln +++ b/Software/Visual_Studio/Tango.sln @@ -313,6 +313,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tango.ColorLib_v2", "ColorL EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tango.ColorLib_v3", "ColorLib\Tango.ColorLib_v3\Tango.ColorLib_v3.vcxproj", "{A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.PPC.Maintenance", "PPC\Modules\Tango.PPC.Maintenance\Tango.PPC.Maintenance.csproj", "{011470AC-6BD6-4366-B5F2-C82C065D4A84}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution AppVeyor|Any CPU = AppVeyor|Any CPU @@ -5564,6 +5566,46 @@ Global {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release|x64.Build.0 = Release|x64 {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release|x86.ActiveCfg = Release|Win32 {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release|x86.Build.0 = Release|Win32 + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.AppVeyor|Any CPU.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.AppVeyor|Any CPU.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.AppVeyor|ARM.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.AppVeyor|ARM.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.AppVeyor|ARM64.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.AppVeyor|ARM64.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.AppVeyor|x64.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.AppVeyor|x64.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.AppVeyor|x86.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.AppVeyor|x86.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Debug|Any CPU.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Debug|ARM.ActiveCfg = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Debug|ARM.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Debug|ARM64.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Debug|x64.ActiveCfg = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Debug|x64.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Debug|x86.ActiveCfg = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Debug|x86.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|Any CPU.ActiveCfg = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|Any CPU.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|ARM.ActiveCfg = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|ARM.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|ARM64.ActiveCfg = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|ARM64.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|x64.ActiveCfg = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|x64.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|Any CPU.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|Any CPU.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|ARM.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|ARM.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|ARM64.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|ARM64.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|x64.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|x64.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|x86.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -5665,14 +5707,15 @@ Global {CF4C66B0-CD13-4D31-8133-339A01E7E6F2} = {7181F9DE-0760-46B7-AD8F-BDBCAEDEF1B7} {1A3FC7FB-403C-4B3D-B705-28FCE11317DD} = {7181F9DE-0760-46B7-AD8F-BDBCAEDEF1B7} {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A} = {7181F9DE-0760-46B7-AD8F-BDBCAEDEF1B7} + {011470AC-6BD6-4366-B5F2-C82C065D4A84} = {0048447D-1D94-4E60-9DAD-7349C777CB4E} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - BuildVersion_UseGlobalSettings = False - BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs - BuildVersion_StartDate = 2000/1/1 - BuildVersion_UpdateFileVersion = False - BuildVersion_UpdateAssemblyVersion = True - BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear SolutionGuid = {7986F7F4-A86A-4994-B1B6-0988D7F057B6} + BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear + BuildVersion_UpdateAssemblyVersion = True + BuildVersion_UpdateFileVersion = False + BuildVersion_StartDate = 2000/1/1 + BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs + BuildVersion_UseGlobalSettings = False EndGlobalSection EndGlobal -- cgit v1.3.1