diff options
Diffstat (limited to 'Software/Visual_Studio')
10 files changed, 91 insertions, 13 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs index c9483b9a2..fec02529b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs @@ -1034,6 +1034,11 @@ namespace Tango.MachineStudio.Developer.ViewModels { var percent = (e.Progress / e.Total * 100d); + if (_preparingTaskItem != null) + { + _preparingTaskItem.Message = $"Preparing job for printing {(e.Progress / e.Total * 100d).ToString("0.0")}%..."; + } + if (_preparingTaskItem == null && percent == 0) { _preparingTaskItem = _notification.PushTaskItem("Preparing job for printing..."); @@ -1043,13 +1048,6 @@ namespace Tango.MachineStudio.Developer.ViewModels _preparingTaskItem.Pop(); _preparingTaskItem = null; } - else - { - if (_preparingTaskItem != null) - { - _preparingTaskItem.Message = $"Preparing job for printing {(e.Progress / e.Total * 100d).ToString("0.0")}%..."; - } - } } private void MachineOperator_ResumingJob(object sender, ResumingJobEventArgs e) diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml index 3bda86036..e1bbad6a7 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml @@ -1187,6 +1187,41 @@ <Setter Property="Content"> <Setter.Value> <TextBlock> + <Run Text="{Binding PulsePerSecondFull,Mode=OneWay,StringFormat='0.0'}"></Run> + <Run Text="(pulse)" FontSize="9" Foreground="{StaticResource GrayBrush250}"></Run> + </TextBlock> + </Setter.Value> + </Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding DispenserStepDivision}" Value="{x:Static dispensing:DispenserStepDivisions.Auto}"> + <Setter Property="Content" Value="Auto"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding DispenserStepDivision,Converter={StaticResource IsNotConverter},ConverterParameter={x:Static dispensing:DispenserStepDivisions.Auto}}" Value="True"> + <Setter Property="Content"> + <Setter.Value> + <TextBlock> + <Run Text="{Binding PulsePerSecondFull,Mode=OneWay,StringFormat='0.0'}"></Run> + <Run Text="(pulse)" FontSize="9" Foreground="{StaticResource GrayBrush250}"></Run> + </TextBlock> + </Setter.Value> + </Setter> + </DataTrigger> + </Style.Triggers> + </Style> + </Label.Style> + </Label> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Header="PULSE / SEC (full step)"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <Label VerticalAlignment="Center"> + <Label.Style> + <Style TargetType="Label"> + <Setter Property="Content"> + <Setter.Value> + <TextBlock> <Run Text="{Binding PulsePerSecond,Mode=OneWay,StringFormat='0.0'}"></Run> <Run Text="(pulse)" FontSize="9" Foreground="{StaticResource GrayBrush250}"></Run> </TextBlock> diff --git a/Software/Visual_Studio/Resources/Twine Software Items (version 1).xlsb.xlsx b/Software/Visual_Studio/Resources/Twine Software Items (version 1).xlsb.xlsx Binary files differindex 3a107258a..221518a5c 100644 --- a/Software/Visual_Studio/Resources/Twine Software Items (version 1).xlsb.xlsx +++ b/Software/Visual_Studio/Resources/Twine Software Items (version 1).xlsb.xlsx diff --git a/Software/Visual_Studio/Tango.BL/Dispensing/DispensingCalcBase.cs b/Software/Visual_Studio/Tango.BL/Dispensing/DispensingCalcBase.cs index e0f16d4d4..dcca5817c 100644 --- a/Software/Visual_Studio/Tango.BL/Dispensing/DispensingCalcBase.cs +++ b/Software/Visual_Studio/Tango.BL/Dispensing/DispensingCalcBase.cs @@ -57,6 +57,16 @@ namespace Tango.BL.Dispensing } /// <summary> + /// Calculates the required full pulses per second. + /// </summary> + /// <param name="liquidVolume">The liquid volume.</param> + /// <returns></returns> + public double CalculatePulsePerSecondFull(LiquidVolume liquidVolume) + { + return CalculateNanoliterPerSecond(liquidVolume) / liquidVolume.NanoliterPerStep; + } + + /// <summary> /// Coerces the specified liquid volume. /// </summary> /// <param name="liquidVolume">The liquid volume.</param> diff --git a/Software/Visual_Studio/Tango.BL/Dispensing/DispensingCalcService.cs b/Software/Visual_Studio/Tango.BL/Dispensing/DispensingCalcService.cs index a41eb1040..3dd38fb10 100644 --- a/Software/Visual_Studio/Tango.BL/Dispensing/DispensingCalcService.cs +++ b/Software/Visual_Studio/Tango.BL/Dispensing/DispensingCalcService.cs @@ -45,6 +45,17 @@ namespace Tango.BL.Dispensing } /// <summary> + /// Calculates the full pulse per second. + /// </summary> + /// <param name="liquidVolume">The liquid volume.</param> + /// <returns></returns> + public static double CalculatePulsePerSecondFull(LiquidVolume liquidVolume) + { + IDispensingCalc formula = DispensingCalcResolver.Resolve(liquidVolume); + return formula.CalculatePulsePerSecondFull(liquidVolume); + } + + /// <summary> /// Coerces the volume. /// </summary> /// <param name="liquidVolume">The liquid volume.</param> diff --git a/Software/Visual_Studio/Tango.BL/Dispensing/IDispensingCalc.cs b/Software/Visual_Studio/Tango.BL/Dispensing/IDispensingCalc.cs index 7c5928bf6..7ec715a88 100644 --- a/Software/Visual_Studio/Tango.BL/Dispensing/IDispensingCalc.cs +++ b/Software/Visual_Studio/Tango.BL/Dispensing/IDispensingCalc.cs @@ -29,6 +29,13 @@ namespace Tango.BL.Dispensing double CalculatePulsePerSecond(LiquidVolume liquidVolume); /// <summary> + /// Calculates the required full pulses per second. + /// </summary> + /// <param name="liquidVolume">The liquid volume.</param> + /// <returns></returns> + double CalculatePulsePerSecondFull(LiquidVolume liquidVolume); + + /// <summary> /// Coerces the specified liquid volume. /// </summary> /// <param name="liquidVolume">The liquid volume.</param> diff --git a/Software/Visual_Studio/Tango.BL/Dispensing/TransparentLiquidDispensingCalc.cs b/Software/Visual_Studio/Tango.BL/Dispensing/TransparentLiquidDispensingCalc.cs index 15e9b69d9..40a716c13 100644 --- a/Software/Visual_Studio/Tango.BL/Dispensing/TransparentLiquidDispensingCalc.cs +++ b/Software/Visual_Studio/Tango.BL/Dispensing/TransparentLiquidDispensingCalc.cs @@ -45,9 +45,9 @@ namespace Tango.BL.Dispensing { if (liquidVolume.ProcessParametersTable != null) { - double nlPcmSum = liquidVolume.BrushStop.LiquidVolumes.Where(x => (IdsPackFormulas)x.IdsPack.IdsPackFormula.Code == IdsPackFormulas.StandardColor).Sum(x => x.NanoliterPerCentimeter); - double minInkUptake = liquidVolume.ProcessParametersTable.MinInkUptake; - double volume = ((liquidVolume.LiquidMaxNanoliterPerCentimeter - nlPcmSum) / liquidVolume.LiquidMaxNanoliterPerCentimeter) * 100d; + //double nlPcmSum = liquidVolume.BrushStop.LiquidVolumes.Where(x => (IdsPackFormulas)x.IdsPack.IdsPackFormula.Code == IdsPackFormulas.StandardColor).Sum(x => x.NanoliterPerCentimeter); + //double minInkUptake = liquidVolume.ProcessParametersTable.MinInkUptake; + //double volume = ((liquidVolume.LiquidMaxNanoliterPerCentimeter - nlPcmSum) / liquidVolume.LiquidMaxNanoliterPerCentimeter) * 100d; return Math.Max(100d - liquidVolume.BrushStop.LiquidVolumes.Where(x => (IdsPackFormulas)x.IdsPack.IdsPackFormula.Code == IdsPackFormulas.StandardColor).Sum(x => x.Volume), 0); } else diff --git a/Software/Visual_Studio/Tango.BL/LiquidVolume.cs b/Software/Visual_Studio/Tango.BL/LiquidVolume.cs index 69499905a..723356ef6 100644 --- a/Software/Visual_Studio/Tango.BL/LiquidVolume.cs +++ b/Software/Visual_Studio/Tango.BL/LiquidVolume.cs @@ -70,7 +70,7 @@ namespace Tango.BL public DispenserStepDivisions DispenserStepDivision { get { return (DispenserStepDivisions)BrushStop.GetDispensingDivision(IdsPack.PackIndex); } - set { BrushStop.SetDispensingDivision(IdsPack.PackIndex, (int)value); RaisePropertyChangedAuto(); RaisePropertyChanged(nameof(PulsePerSecond)); RaisePropertyChanged(nameof(NanoliterPerStep)); } + set { BrushStop.SetDispensingDivision(IdsPack.PackIndex, (int)value); RaisePropertyChangedAuto(); RaisePropertyChanged(nameof(PulsePerSecond)); RaisePropertyChanged(nameof(NanoliterPerStep)); RaisePropertyChanged(nameof(PulsePerSecondFull)); } } public void Invalidate() @@ -96,6 +96,7 @@ namespace Tango.BL RaisePropertyChanged(nameof(LiquidMaxNanoliterPerCentimeter)); RaisePropertyChanged(nameof(NanoliterPerSecond)); RaisePropertyChanged(nameof(PulsePerSecond)); + RaisePropertyChanged(nameof(PulsePerSecondFull)); RaisePropertyChanged(nameof(NanoliterPerCentimeter)); RaisePropertyChanged(nameof(Volume)); RaisePropertyChanged(nameof(NanoliterPerStep)); @@ -178,6 +179,15 @@ namespace Tango.BL } [JsonIgnore] + public double PulsePerSecondFull + { + get + { + return DispensingCalcService.CalculatePulsePerSecondFull(this); + } + } + + [JsonIgnore] public double NanoliterPerStep { get diff --git a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs index ad3b242f4..74eb3cab1 100644 --- a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs +++ b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs @@ -660,7 +660,7 @@ namespace Tango.Emulations.Emulators double progress = 0; _cancelJob = false; bool message_sent = false; - double length = job.Segments.Sum(x => x.Length) * (Math.Max(job.NumberOfUnits, 1)); + double length = job.Length; Task.Factory.StartNew(() => { diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs index 6963b90d4..ea1b0a0e3 100644 --- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs +++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs @@ -1272,6 +1272,13 @@ namespace Tango.Integration.Operation PreparingJobProgress?.Invoke(this, e); }); LogManager.Log($"Gradient generated."); + + PreparingJobProgress?.Invoke(this, new PreparingJobProgressEventArgs() + { + Job = job, + Total = job.Segments.Sum(x => x.Length), + Progress = job.Segments.Sum(x => x.Length), + }); } foreach (var stop in stops) @@ -1784,7 +1791,7 @@ namespace Tango.Integration.Operation if (JobUnitsMethod == JobUnitsMethods.Device) { - ticket.NumberOfUnits = (uint)job.NumberOfUnits; + ticket.NumberOfUnits = (uint)Math.Max(job.NumberOfUnits, 1); } ticket.Spool = new JobSpool(); |
