aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-11-07 17:39:00 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-11-07 17:39:00 +0200
commit1c9bea6d04dcfbfd1fbf0e1c437c110bc7dafa3e (patch)
tree4f421cf42471e353df9a26f2b9ac33ffe245b0bc /Software/Visual_Studio
parent984687c7b622e74228445b00f3a467d9b65b1641 (diff)
downloadTango-1c9bea6d04dcfbfd1fbf0e1c437c110bc7dafa3e.tar.gz
Tango-1c9bea6d04dcfbfd1fbf0e1c437c110bc7dafa3e.zip
Fixed issue with job completion on emulator.
Added liquid volumes grid full step. Added full step to dispensing calculations. Fixed issue with gradient generation progress on MS. Worked on software items doc.
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs12
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml35
-rw-r--r--Software/Visual_Studio/Resources/Twine Software Items (version 1).xlsb.xlsxbin18776 -> 20410 bytes
-rw-r--r--Software/Visual_Studio/Tango.BL/Dispensing/DispensingCalcBase.cs10
-rw-r--r--Software/Visual_Studio/Tango.BL/Dispensing/DispensingCalcService.cs11
-rw-r--r--Software/Visual_Studio/Tango.BL/Dispensing/IDispensingCalc.cs7
-rw-r--r--Software/Visual_Studio/Tango.BL/Dispensing/TransparentLiquidDispensingCalc.cs6
-rw-r--r--Software/Visual_Studio/Tango.BL/LiquidVolume.cs12
-rw-r--r--Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs2
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs9
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
index 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
Binary files differ
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();