aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Telemetry/Telemetries/TelemetryJobRun.cs
blob: 1c52fb2c4893599baf5356f274978ad00c50119e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.BL.Enumerations;
using Tango.BL.FineTuning;
using Tango.Integration.JobRuns;
using Tango.PMR.Printing;

namespace Tango.Telemetry.Telemetries
{
    [TelemetryName("JobRun", 1)]
    public class TelemetryJobRun : TelemetryBase
    {
        public class TelemetryJobRunSegment
        {
            public int Index { get; set; }
            public double Length { get; set; }

            public List<TelemetryJobRunBrushStop> Stops { get; set; }

            public TelemetryJobRunSegment()
            {
                Stops = new List<TelemetryJobRunBrushStop>();
            }
        }

        public class TelemetryJobRunBrushStop
        {
            public int Index { get; set; }
            public double OffsetPercent { get; set; }

            public String ColorSpace { get; set; }

            public int Red { get; set; }
            public int Green { get; set; }
            public int Blue { get; set; }

            public double L { get; set; }
            public double A { get; set; }
            public double B { get; set; }

            public String Catalog { get; set; }
            public String CatalogItem { get; set; }

            public int BestMatchR { get; set; }
            public int BestMatchG { get; set; }
            public int BestMatchB { get; set; }

            public List<TelemetryJobRunBrushStopLiquidVolume> InputVolumes { get; set; }
            public List<TelemetryJobRunBrushStopLiquidVolume> OutputVolumes { get; set; }

            public TelemetryJobRunBrushStop()
            {
                InputVolumes = new List<TelemetryJobRunBrushStopLiquidVolume>();
                OutputVolumes = new List<TelemetryJobRunBrushStopLiquidVolume>();
            }
        }

        public class TelemetryJobRunBrushStopLiquidVolume
        {
            public String LiquidType { get; set; }
            public double Volume { get; set; }
        }

        public String JobName { get; set; }
        public String Kind { get; set; }
        public String Thread { get; set; }
        public int NumberOfUnits { get; set; } // Minimum 1.
        public int InterSegmentLength { get; set; }
        public bool LubricationEnabled { get; set; }
        public int SpoolTypeDistribution { get; set; }
        public int NumberOfSpools { get; set; }

        //What the user entered including white gaps leaving out and number of units and number of spools.
        public double LogicalLength { get; set; }

        //What the user entered, taking into account white gaps and number of units, all multiplied by the number of spools.
        public double ActualLength { get; set; }

        //The actual length the machine had ran, including white gaps, number of units and dryer buffer length, all multiplied by the number of spools.
        public double TotalLength { get; set; }

        //The position where the job started relative to the ActualLength (This will greater than zero only if we are resuming a jobrun that had stopped in the middle).
        public double StartPosition { get; set; }

        //The position where the job stopped relative to the ActualLength.
        public double EndPosition { get; set; }

        //EndPosition - StartPosition
        public double Distance { get; set; }

        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }

        //EndTime - StartTime
        public TimeSpan Duration { get; set; }

        //The time it took from the moment the user executed the job to the time it actually started dyeing.
        public TimeSpan HeatingDuration { get; set; }

        //Completed/Failed,Aborted (By the user)
        public String Status { get; set; }

        //Total quantities of ink dispensed during this run in nanoliters (better to display as cubic liter maybe).
        public long OutputCyan { get; set; }
        public long OutputMagenta { get; set; }
        public long OutputYellow { get; set; }
        public long OutputBlack { get; set; }
        public long OutputLightCyan { get; set; }
        public long OutputLightMagenta { get; set; }
        public long OutputLightYellow { get; set; }
        public long OutputBlue { get; set; }
        public long OutputLightBlue { get; set; }
        public long OutputOrange { get; set; }
        public long OutputLightOrange { get; set; }
        public long OutputRubine { get; set; }
        public long OutputLightRubine { get; set; }
        public long OutputNavy { get; set; }
        public long OutputViolet { get; set; }
        public long OutputTransparent { get; set; }
        public long OutputLubricant { get; set; }

        public long OutputTwTransparentInk { get; set; }
        public long OutputC1Ti { get; set; }
        public long OutputTwCyan { get; set; }
        public long OutputTwLightCyan { get; set; }
        public long OutputTwMagenta { get; set; }
        public long OutputTwLightMagenta { get; set; }
        public long OutputTwYellow { get; set; }
        public long OutputTwLightYellow { get; set; }
        public long OutputC1Yellow { get; set; }
        public long OutputC1LightYellow { get; set; }
        public long OutputTwBlack { get; set; }
        public long OutputTwViolet { get; set; }
        public long OutputTwLightViolet { get; set; }
        public long OutputCtBlue { get; set; }
        public long OutputCtLightBlue { get; set; }
        public long OutputCtRubine { get; set; }
        public long OutputCtLightRubine { get; set; }
        public long OutputCtOrange { get; set; }
        public long OutputCtLightOrange { get; set; }
        public long OutputCtNavy { get; set; }
        public long OutputHdBlue { get; set; }
        public long OutputHdLightBlue { get; set; }
        public long OutputHdRubine { get; set; }
        public long OutputHdLightRubine { get; set; }
        public long OutputHdOrange { get; set; }
        public long OutputHdLightOrange { get; set; }
        public long OutputHdNavy { get; set; }
        public long OutputHdLightNavy { get; set; }
        public long OutputAmBlue { get; set; }
        public long OutputAmLightBlue { get; set; }
        public long OutputAmRed { get; set; }
        public long OutputAmLightRed { get; set; }
        public long OutputAmOrange { get; set; }
        public long OutputAmLightOrange { get; set; }
        public long OutputAmYellow { get; set; }
        public long OutputAmLightYellow { get; set; }
        public long OutputAmBlack { get; set; }



        //The error that has occurred when Status = "Failed"
        public String FailureReason { get; set; }

        public String ApplicationVersion { get; set; }
        public String FirmwareVersion { get; set; }

        public List<TelemetryJobRunSegment> Segments { get; set; } //Dynamic

        public VectorFineTuningRunModel FineTuning { get; set; } //Dynamic

        //ProcessParamaters.DyeingSpeed = The speed in which the machine is dyeing the thread in centimeters per second.
        public ProcessParameters ProcessParameters { get; set; }

        public TelemetryJobRun() : base()
        {
            Segments = new List<TelemetryJobRunSegment>();
        }
    }
}