aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
Diffstat (limited to 'Software')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c2
-rw-r--r--Software/Stubs Collection/stubs/ChangePidDuringRun.cs48
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/Write Arc head eeprom.cs146
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV4
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test3.cs229
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs26
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR1.cs72
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV24910
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_ssi.cs48
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs75
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write Flate head eeprom.cs146
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch1.cs208
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position.cs62
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position1.cs104
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position2.cs145
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/Test_Loading_TFU.cs155
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/DO_NOT_WORK_New_Calibrate_Midtank_pressure_sensors.cs488
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Motor Frequency.csv19
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Pressure.csv55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Motor Frequency.csv19
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Pressure.csv55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Motor Frequency.csv19
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Pressure.csv55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Feeder Motor.csv55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_Valves_test.cs65
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs158
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors1.cs423
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors2.cs447
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Poller Motor.csv55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Right Dancer.csv541
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Screw Motor.csv1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams1.cs151
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsxbin0 -> 9351 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Copy of Book4.xlsxbin0 -> 9880 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Logger data.xlsxbin0 -> 9874 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs230
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs90
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature.cs26
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature_1.cs35
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/whs control loop disable.cs26
-rw-r--r--Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs54
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/DispenserEEpromRead.cs26
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/DispenserEEpromWrite.cs59
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig.cs12
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig1.cs455
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER1.cs978
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs4
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig1.cs590
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs4
-rw-r--r--Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs30
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Read Dispensers Serial Num.cs27
-rw-r--r--Software/Stubs Collection/stubs/Scripts/eepromati2.c458
-rw-r--r--Software/Stubs Collection/stubs/Scripts/eepromati3.c272
-rw-r--r--Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild.cs61
-rw-r--r--Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs (renamed from Software/Stubs Collection/stubs/temp/embeddedparametersbuild.cs)79
-rw-r--r--Software/Stubs Collection/stubs/technician view files/teach board 2.tpf323
-rw-r--r--Software/Stubs Collection/stubs/temp/EmbParam.cfgbin252 -> 0 bytes
59 files changed, 3579 insertions, 29248 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
index cd2c9589b..585170666 100644
--- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
+++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
@@ -20,7 +20,7 @@ typedef struct
} TangoVersion_t;
-TangoVersion_t _gTangoVersion = {1,5,0,2};
+TangoVersion_t _gTangoVersion = {1,5,0,3};
#define BUILD_DATE __DATE__
char Dat[50] = BUILD_DATE;
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
index f03ca5b4b..449078cc8 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
@@ -409,7 +409,7 @@ uint32_t EmbeddedParametersInit(void)
}
if (EmbeddedParameters->n_generalparameters >= 12)
{
- setWastePrepareValues(EmbeddedParameters->generalparameters[11],EmbeddedParameters->generalparameters[11]);
+ setWastePrepareValues(EmbeddedParameters->generalparameters[10],EmbeddedParameters->generalparameters[11]);
}
PowerIdleSetParameters(EmbeddedParameters->switchtoidletimeinseconds,EmbeddedParameters->idledriertemperature,EmbeddedParameters->idleheadtemperature,EmbeddedParameters->idlemixertemperature);
diff --git a/Software/Stubs Collection/stubs/ChangePidDuringRun.cs b/Software/Stubs Collection/stubs/ChangePidDuringRun.cs
new file mode 100644
index 000000000..4d07cac71
--- /dev/null
+++ b/Software/Stubs Collection/stubs/ChangePidDuringRun.cs
@@ -0,0 +1,48 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+
+stubHeatingTestRequest.DryerZone1Temp = 0;
+stubHeatingTestRequest.DryerZone2Temp = 0;
+
+HardwarePidControl hardwarePidControl = new HardwarePidControl();
+hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.FeederMotor;
+hardwarePidControl.OutputProportionalPowerLimit = 0.5; //Maximal additional power
+hardwarePidControl.OutputProportionalBand = 5;
+hardwarePidControl.IntegralTime = 7000; //Ki
+hardwarePidControl.DerivativeTime = 0; //Kd
+hardwarePidControl.SensorCorrectionAdjustment = 0;
+hardwarePidControl.SensorMinValue = 0;
+hardwarePidControl.SensorMaxValue = 0;
+hardwarePidControl.SetPointRampRateorSoftStartRamp = 100; //Ki divider
+hardwarePidControl.SetPointControlOutputRate = 0;
+hardwarePidControl.ControlOutputType = 0.001; ////Dt
+hardwarePidControl.SsrControlOutputType = 0;
+hardwarePidControl.OutputOnOffHysteresisValue = 100; //Kp divider
+hardwarePidControl.ProcessVariableSamplingRate = 0;
+hardwarePidControl.PvInputFilterFactorMode = 6; //averaging the readouts / number of samples
+hardwarePidControl.OutputProportionalCycleTime = 0;
+hardwarePidControl.AcHeatersHalfCycleTime = 0;
+hardwarePidControl.ProportionalGain = 5000; //Kp
+hardwarePidControl.PidActive = false;
+hardwarePidControl.Epsilon = 0;
+
+stubHeatingTestRequest.HardwarePidControl1 = hardwarePidControl1;
+
+StubHeatingTestPollRequest stubHeatingTestPollRequest = new StubHeatingTestPollRequest();
+
+var response = stubManager.Run<StubHeatingTestResponse>(stubHeatingTestRequest);
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/Write Arc head eeprom.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/Write Arc head eeprom.cs
new file mode 100644
index 000000000..8d0056de2
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/Write Arc head eeprom.cs
@@ -0,0 +1,146 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+//----------------------
+const Int32 I2C_ID = 3; //MCU_I2C3
+const Int32 TCA9548A_address = 0xE2;
+const Int32 I2C_Slave_Add = 0xA0; // //eeprom address - 32kByte
+int Head_Mux_Channel_ID = 4; //Head MUX channel
+//----------------------
+
+const Int32 SerialNum = 0x01;
+
+
+int enable_channel(int Channel_ID)
+{
+ uint Const_temp = 0x01;
+
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;
+
+ Const_temp = Const_temp << Channel_ID;
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+}
+
+
+int WriteFlatEpprom(uint I2C_Slave_Add)
+{
+ uint Page=0;
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
+ //--------------------------------------------------------------
+
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x33); //header
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0xcc);
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0xaa);
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x55);
+
+ //stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_STAPLE_SPUN
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+ Thread.Sleep(100);
+
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(92);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
+ //--------------------------------------------------------------
+
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x20); //flat
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
+
+ //stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_STAPLE_SPUN
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+ Thread.Sleep(100);
+
+
+
+
+
+ return 1;
+}
+
+int adc_set_for_read_ch(uint I2C_Slave_Add, uint Page)
+{
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+}
+
+int adc_read_ch(uint I2C_Slave_Add)
+{
+ StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
+ stubI2CReadBytesRequest.I2CId = I2C_ID;
+ stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1;
+ stubI2CReadBytesRequest.NumberOfBytesToRead = 10; // Number of bytes to read
+
+ var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
+ uint temph=0;
+
+ for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
+ {
+ temph=response1.ReadBytes[i];
+ stubManager.WriteHex(temph,2);
+ }
+
+ return 1;
+}
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+ //enable_all_channel();
+ enable_channel(Head_Mux_Channel_ID); // Chanel 0-7 => Disp0enser 0-7
+
+ for (int i = 0; i<1; i++)
+ {
+
+ WriteFlatEpprom(I2C_Slave_Add);
+ Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
+
+ stubManager.Write("\nPage 0x00 #");
+ stubManager.Write(i);
+ stubManager.Write("\t- The Buffer is: ");
+ adc_set_for_read_ch(I2C_Slave_Add, 0x00);
+ //Thread.Sleep(1); //Sleep for 10 milli.
+ adc_read_ch(I2C_Slave_Add);
+
+ Thread.Sleep(1000);
+
+ }
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV
index c6461ea3e..c91b21308 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV
@@ -1,2 +1,4 @@
,RPM
-0,2688
+0,2675
+1,2688
+2,2688
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test3.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test3.cs
new file mode 100644
index 000000000..7a7542ab7
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test3.cs
@@ -0,0 +1,229 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+Int32 position_32bit=0;
+Int32 last_14bit_position;
+
+const Int32 HomeStart=2048;
+const Int32 DrierLoadingArm_Motor = 5;
+const Int32 NM_ROUND =30;
+public void OnExecute(StubManager stubManager)
+{
+ Test_Load_Arm();
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 1);
+
+
+}
+
+bool Encoder_Dryer_Exist()
+{
+ Int32 temp;
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
+
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
+ var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
+
+ temp = Convert.ToInt32 (response.Value & 0x0300);
+ if (temp==0)
+ return true;
+ else
+ return false;
+}
+
+
+
+void ReadEncoder_Dryer()
+{
+ Int32 temp;
+ Int32 temp1;
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
+
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
+ var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
+
+ temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
+ if (temp>last_14bit_position)
+ {
+ temp1=temp-last_14bit_position;
+ position_32bit=position_32bit+temp1;
+ if (temp1>0x2000)
+ position_32bit=position_32bit-0x4000;
+ }
+ else if (temp<last_14bit_position)
+
+ {
+ temp1=last_14bit_position-temp;
+ position_32bit=position_32bit-temp1;
+ if (temp1>0x2000)
+ position_32bit=position_32bit+0x4000;
+ }
+
+ last_14bit_position=temp;
+
+ return ;
+}
+
+int Test_Load_Arm()
+{
+ int Loop_Nm = 1;
+
+ Int32 temp3=0;
+ Int32 j=0;
+ Int32 i=0;
+
+ if (!Encoder_Dryer_Exist())
+ {
+
+ stubManager.Write("Encoder of Dryer Fail \n");
+ return 0;
+
+ }
+
+ var response = stubManager.ShowResponseWindow("Enter Loop Number for Dryer.", "");
+ //stubManager.WriteLine(response);
+ Loop_Nm = int.Parse(response);
+
+ ReadEncoder_Dryer();
+ position_32bit=0;
+ ReadEncoder_Dryer();
+ Int32 temp=position_32bit;
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 100);//40
+ Thread.Sleep(50);
+// temp=ReadEncoder_Dryer();
+ while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
+ {
+ i++;
+ Thread.Sleep(30);
+ ReadEncoder_Dryer();
+// stubManager.Write("position_32bit " + position_32bit +"\t");
+
+ if (Math.Abs(position_32bit)> (50*0x4000))
+ temp3=3;
+ if ((position_32bit-temp)>20)
+ temp3++;
+// stubManager.Write("Temp " + temp +"\n");
+ temp=position_32bit;
+// stubManager.Write("Temp3 " + temp3 +"\n");
+ }
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
+
+ DialogResult result1 = MessageBox.Show("Arm Motor rotate ?", "Warning",MessageBoxButtons.YesNo);
+ if(result1 == DialogResult.No)
+ {
+
+ stubManager.Write("Arm Motor Not rotate\n");
+ return 0;
+ }
+
+ DialogResult result2 = MessageBox.Show("Did Arm Motor arrive to mechanical stopper?", "Warning",MessageBoxButtons.YesNo);
+ if(result2 == DialogResult.No)
+ {
+
+ stubManager.Write("Arm Motor Not arrive to mecahnicl stopper \n");
+ return 0;
+ }
+
+ Thread.Sleep(1000);
+ stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,5, true, 50);
+ Thread.Sleep(1000);
+
+ ReadEncoder_Dryer();
+ position_32bit=0;
+ ReadEncoder_Dryer();
+ position_32bit=0;
+for (int loop=0;loop<Loop_Nm;loop++)
+
+ {
+ stubManager.Write("Loop Nm " + (loop+1) +" strat up posision \n");
+ temp=position_32bit;
+ stubManager.Write("position_32bit = " + position_32bit +"\n");
+
+// stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, true, 200);
+ stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,5, true, 7680 * NM_ROUND);
+
+// Thread.Sleep(50);
+ i=0;
+ temp3=-2;
+
+
+ while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
+ {
+ Thread.Sleep(30);
+ i++;
+ ReadEncoder_Dryer();
+
+// if (Math.Abs(position_32bit)> (NM_ROUND*0x4000))
+// temp3=3;
+ if (temp==position_32bit)
+ temp3++;
+ temp=position_32bit;
+
+// stubManager.Write("position_32bit = " +position_32bit +"\ttemp3 = " + temp3 +"\n");
+
+
+
+ }
+ Thread.Sleep(1000);
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 1);
+
+ if (Math.Abs(position_32bit - NM_ROUND*0x4000 )> 500)
+
+ {
+ stubManager.Write("Arm Motor not make 30 rounds\n");
+ return 0;
+ }
+
+
+ Thread.Sleep(1000);
+ stubManager.Write("Loop Nm " + (loop+1) +" strat down posision \n");
+ stubManager.Write("position_32bit = " + position_32bit +"\n");
+
+// stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 200);
+ stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,5, false, 7680 * NM_ROUND);
+ i=0;
+ temp3=-2;
+ temp=position_32bit;
+
+ while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
+ {
+ Thread.Sleep(50);
+ i++;
+ ReadEncoder_Dryer();
+
+ // if (Math.Abs(position_32bit)< HomeStart)
+ // temp3=3;
+ if (position_32bit==temp)
+ temp3++;
+ temp=position_32bit;
+// stubManager.Write("position_32bit = " +position_32bit +"\ttemp3 = " + temp3 +"\n");
+
+
+ }
+ Thread.Sleep(1000);
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 1);
+
+
+ if (Math.Abs(position_32bit )> 500)
+
+ {
+ stubManager.Write("Arm Motor not make 30 rounds\n");
+ return 0;
+ }
+
+ Thread.Sleep(1000);
+
+
+
+
+ }
+ return 0;
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
index b092d6a20..d0ecd2125 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
@@ -26,16 +26,23 @@ float temp1=4096*95*5;
stubManager.WriteHex(response.TemperatureCMultBy100,4);
SetBit (FPGA2, F2_CTRL, 10, 1);
stubManager.Write("\tTesting SSR no. 1\t");
- Thread.Sleep(10000);
+ Thread.Sleep(3000);
var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,16);
temp=Convert.ToUInt32 (response1.SamplingInBits);
- temp=temp*2400*60*100;
+ stubManager.Write("Current = "+ temp*100/6 + "mA/n");
+
+ temp=temp*800*3*100;
temp=temp/(4096*95*50);
- stubManager.Write("Voltage = "+ temp + "Volt/n");
- stubManager.Write("Current = "+ temp*100/6 + "mA/n");
+ stubManager.Write("Current = "+ temp + "A\t");
+ stubManager.Write("Voltage = "+ (temp*60) + "V\n");
+
+// temp=temp*2400*60*100;
+// temp=temp/(4096*95*50);
+// stubManager.Write("Voltage = "+ temp + "Volt/n");
+// stubManager.Write("Current = "+ temp*100/6 + "mA/n");
SetBit (FPGA2, F2_CTRL, 10, 0);
@@ -49,16 +56,19 @@ var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest"
stubManager.WriteHex(response.TemperatureCMultBy100,4);
SetBit (FPGA2, F2_CTRL, 9, 1);
stubManager.Write("\tTesting SSR no. 2\t");
- Thread.Sleep(10000);
+ Thread.Sleep(3000);
response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,17);
temp=Convert.ToUInt32 (response1.SamplingInBits);
- temp=temp*2400*1000;
- temp=temp/(4096*95*100);
- stubManager.Write("Current = "+ temp*100/6 + "mA/n");
+// temp=temp*2400*1000;
+// temp=temp/(4096*95*100);
+// stubManager.Write("Current = "+ temp*100/6 + "mA/n");
+ temp=temp*800*3*100;
+ temp=temp/(4096*95*100);
+ stubManager.Write("Current = "+ temp + "A\n");
SetBit (FPGA2, F2_CTRL, 9, 0);
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR1.cs
deleted file mode 100644
index b059a170f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR1.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-include "..\..\Defines\Tango_Defines_Basic.cs"
-include "Tango_Defines_SSR.cs"
-//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\Software\Stub_scripts\Tango_Defines_Basic.cs"
-//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\Software\Stub_scripts\Interfaces\Tango_Defines_SSR.cs"
-
-
-public void OnExecute(StubManager stubManager)
-{
-float temp=0;
-float temp1=4096*95*5;
-
- //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //
- stubManager.WriteHex(response.TemperatureCMultBy100,4);
- SetBit (FPGA2, F2_CTRL, 10, 1);
- stubManager.Write("\tTesting SSR no. 1\t");
- Thread.Sleep(1000);
-
-
-var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,16);
-
- temp=Convert.ToUInt32 (response1.SamplingInBits);
- temp=temp*800*3*100;
- temp=temp/(4096*95*50);
- stubManager.Write("Current = "+ temp + "A\n");
- temp=temp*60;
- stubManager.Write("Voltage = "+ temp + " Volt\n");
-
-
- SetBit (FPGA2, F2_CTRL, 10, 0);
- response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //
- stubManager.WriteHex(response.TemperatureCMultBy100,4);
- stubManager.Write("\n");
-
-
- //Write GPO_DRYER_SSR2_CTRL SSR/SSR no. 2
- response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,7); //
- stubManager.WriteHex(response.TemperatureCMultBy100,4);
- SetBit (FPGA2, F2_CTRL, 9, 1);
- stubManager.Write("\tTesting SSR no. 2\t");
- Thread.Sleep(1000);
-
-response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,17);
-
- temp=Convert.ToUInt32 (response1.SamplingInBits);
- stubManager.WriteLine(temp);
- temp=temp*800*3*100;
- temp=temp/(4096*95*120);
- stubManager.Write("Current = "+ temp + "A\n");
- temp=temp*120;
- stubManager.Write("Voltage = "+ temp + " Volt\n");
-
-
- SetBit (FPGA2, F2_CTRL, 9, 0);
- response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,7); //
- stubManager.WriteHex(response.TemperatureCMultBy100,4);
- stubManager.Write("\n");
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV
index de439d914..3b00533c7 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV
@@ -1,22 +1,18 @@
-03/09/2020 22:34:12
+01/10/2020 13:37:37
Heating to 190
-03/09/2020 22:34:12
+01/10/2020 13:37:37
+ 55
+ 55
+ 56
+ 56
+ 57
+ 57
+ 57
+ 58
+ 58
59
59
59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 60
60
60
60
@@ -25,7573 +21,72 @@ Heating to 190
61
62
62
+ 62
63
63
64
64
+ 64
+ 65
65
65
66
66
+ 66
+ 67
67
67
68
68
- 69
- 69
- 70
- 71
- 71
- 72
- 72
- 73
- 73
- 74
- 74
- 75
- 75
- 76
- 76
- 77
- 78
- 78
- 79
- 80
- 80
- 81
- 81
- 82
- 82
- 83
- 83
- 84
- 84
- 85
- 85
- 86
- 86
- 87
- 87
- 88
- 88
- 89
- 89
- 89
- 90
- 90
- 91
- 91
- 92
- 92
- 93
- 93
- 93
- 94
- 94
- 95
- 95
- 96
- 96
- 97
- 97
- 98
- 98
- 98
- 99
- 99
- 99
- 100
- 101
- 101
- 101
- 102
- 102
- 102
- 103
- 103
- 103
- 104
- 104
- 105
- 105
- 105
- 106
- 106
- 106
- 107
- 107
- 107
- 108
- 108
- 108
- 109
- 109
- 109
- 110
- 110
- 110
- 111
- 111
- 111
- 112
- 112
- 112
- 112
- 113
- 113
- 113
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 116
- 116
- 117
- 117
- 117
- 117
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 120
- 120
- 120
- 120
- 121
- 121
- 121
- 122
- 122
- 122
- 122
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 134
- 135
- 135
- 135
- 135
- 136
- 136
- 136
- 136
- 137
- 137
- 137
- 137
- 137
- 138
- 138
- 138
- 138
- 138
- 139
- 139
- 139
- 139
- 139
- 140
- 140
- 140
- 140
- 140
- 141
- 141
- 141
- 141
- 142
- 142
- 142
- 142
- 142
- 143
- 143
- 143
- 143
- 143
- 144
- 144
- 144
- 144
- 144
- 145
- 145
- 145
- 145
- 145
- 145
- 146
- 146
- 146
- 146
- 147
- 147
- 147
- 147
- 147
- 147
- 148
- 148
- 148
- 148
- 148
- 149
- 149
- 149
- 149
- 149
- 149
- 150
- 150
- 150
- 150
- 150
- 151
- 151
- 151
- 151
- 151
- 152
- 152
- 152
- 152
- 152
- 152
- 153
- 153
- 153
- 153
- 153
- 153
- 154
- 154
- 154
- 154
- 154
- 155
- 155
- 155
- 155
- 155
- 155
- 156
- 156
- 156
- 156
- 156
- 157
- 157
- 157
- 157
- 157
- 157
- 158
- 158
- 158
- 158
- 158
- 158
- 159
- 159
- 159
- 159
- 159
- 159
- 160
- 160
- 160
- 160
- 160
- 160
- 161
- 161
- 161
- 161
- 161
- 161
- 162
- 162
- 162
- 162
- 162
- 162
- 163
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 165
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 169
- 169
- 169
- 169
- 169
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 173
- 173
- 173
- 173
- 173
- 173
- 174
- 174
- 174
- 174
- 174
- 174
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-03/09/2020 22:43:52
-cooling down
-03/09/2020 22:45:53
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 189
- 189
- 189
- 189
- 189
- 189
- 189
- 188
- 188
- 188
- 188
- 187
- 187
- 187
- 187
- 186
- 186
- 186
- 186
- 185
- 185
- 185
- 184
- 184
- 183
- 183
- 183
- 182
- 182
- 182
- 181
- 181
- 181
- 180
- 180
- 180
- 179
- 179
- 179
- 178
- 178
- 177
- 177
- 177
- 176
- 176
- 175
- 175
- 175
- 174
- 174
- 174
- 173
- 173
- 173
- 173
- 172
- 172
- 172
- 171
- 171
- 171
- 170
- 170
- 170
- 169
- 169
- 169
- 168
- 168
- 168
- 167
- 167
- 167
- 167
- 166
- 166
- 166
- 165
- 165
- 165
- 165
- 164
- 164
- 164
- 163
- 163
- 163
- 163
- 162
- 162
- 162
- 162
- 161
- 161
- 161
- 161
- 160
- 160
- 160
- 160
- 160
- 159
- 159
- 159
- 159
- 158
- 158
- 158
- 158
- 157
- 157
- 157
- 157
- 157
- 156
- 156
- 156
- 156
- 156
- 155
- 155
- 155
- 155
- 155
- 154
- 154
- 154
- 154
- 154
- 153
- 153
- 153
- 153
- 153
- 152
- 152
- 152
- 152
- 152
- 152
- 151
- 151
- 151
- 151
- 151
- 151
- 150
- 150
- 150
- 150
- 150
- 150
- 149
- 149
- 149
- 149
- 149
- 149
- 149
- 148
- 148
- 148
- 148
- 148
- 148
- 148
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
+ 68
69
69
69
69
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 59
-04/09/2020 0:00:34
-Heating to 190
-04/09/2020 0:00:34
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 61
- 61
- 61
- 61
- 62
- 62
- 62
- 63
- 63
- 64
- 64
- 65
- 65
- 65
- 66
- 66
- 67
- 67
- 68
- 69
- 69
70
70
+ 70
+ 71
71
71
72
72
+ 72
73
73
+ 73
+ 74
74
+ 74
+ 74
+ 75
75
75
76
76
+ 76
+ 76
77
77
78
78
+ 78
+ 78
+ 79
79
79
80
80
+ 80
+ 80
+ 81
+ 81
81
81
82
82
- 83
- 83
- 84
- 84
- 85
- 85
- 86
- 87
- 87
- 88
- 88
- 89
- 89
- 90
- 90
- 91
- 91
- 92
- 92
- 92
- 93
- 93
- 94
- 94
- 95
- 95
- 96
- 96
- 97
- 97
- 97
- 98
- 98
- 99
- 99
- 99
- 100
- 100
- 101
- 101
- 101
- 102
- 102
- 103
- 103
- 103
- 104
- 104
- 105
- 105
- 105
- 106
- 106
- 106
- 107
- 107
- 107
- 108
- 108
- 108
- 109
- 109
- 110
- 110
- 110
- 111
- 111
- 111
- 112
- 112
- 112
- 113
- 113
- 113
- 114
- 114
- 114
- 114
- 115
- 115
- 116
- 116
- 116
- 116
- 117
- 117
- 117
- 118
- 118
- 118
- 118
- 119
- 119
- 119
- 120
- 120
- 120
- 120
- 121
- 121
- 121
- 121
- 122
- 122
- 122
- 123
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 134
- 135
- 135
- 135
- 135
- 136
- 136
- 136
- 136
- 137
- 137
- 137
- 137
- 137
- 138
- 138
- 138
- 138
- 138
- 139
- 139
- 139
- 139
- 140
- 140
- 140
- 140
- 140
- 141
- 141
- 141
- 141
- 142
- 142
- 142
- 142
- 142
- 143
- 143
- 143
- 143
- 143
- 144
- 144
- 144
- 144
- 144
- 145
- 145
- 145
- 145
- 146
- 146
- 146
- 146
- 146
- 147
- 147
- 147
- 147
- 147
- 147
- 148
- 148
- 148
- 148
- 148
- 149
- 149
- 149
- 149
- 150
- 150
- 150
- 150
- 150
- 150
- 151
- 151
- 151
- 151
- 151
- 151
- 152
- 152
- 152
- 152
- 152
- 152
- 153
- 153
- 153
- 153
- 153
- 154
- 154
- 154
- 154
- 154
- 154
- 155
- 155
- 155
- 155
- 155
- 155
- 156
- 156
- 156
- 156
- 156
- 156
- 157
- 157
- 157
- 157
- 157
- 158
- 158
- 158
- 158
- 158
- 158
- 159
- 159
- 159
- 159
- 159
- 159
- 160
- 160
- 160
- 160
- 160
- 160
- 161
- 161
- 161
- 161
- 161
- 161
- 162
- 162
- 162
- 162
- 162
- 162
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 166
- 166
- 166
- 166
- 166
- 166
- 167
- 167
- 167
- 167
- 167
- 167
- 168
- 168
- 168
- 168
- 168
- 168
- 169
- 169
- 169
- 169
- 169
- 169
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 173
- 173
- 173
- 173
- 173
- 173
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-04/09/2020 0:10:05
-cooling down
-04/09/2020 0:12:05
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 189
- 189
- 189
- 189
- 189
- 189
- 189
- 188
- 188
- 188
- 188
- 187
- 187
- 187
- 187
- 186
- 186
- 186
- 185
- 185
- 185
- 184
- 184
- 184
- 183
- 183
- 183
- 182
- 182
- 181
- 181
- 181
- 180
- 180
- 180
- 179
- 179
- 179
- 178
- 178
- 178
- 177
- 177
- 177
- 176
- 176
- 175
- 175
- 175
- 174
- 174
- 174
- 173
- 173
- 173
- 172
- 172
- 172
- 171
- 171
- 171
- 170
- 170
- 169
- 169
- 169
- 169
- 168
- 168
- 168
- 167
- 167
- 167
- 167
- 166
- 166
- 166
- 165
- 165
- 165
- 165
- 164
- 164
- 164
- 163
- 163
- 163
- 163
- 162
- 162
- 162
- 162
- 161
- 161
- 161
- 161
- 160
- 160
- 160
- 160
- 160
- 159
- 159
- 159
- 158
- 158
- 158
- 158
- 158
- 157
- 157
- 157
- 157
- 157
- 156
- 156
- 156
- 156
- 156
- 155
- 155
- 155
- 155
- 154
- 154
- 154
- 154
- 154
- 154
- 153
- 153
- 153
- 153
- 153
- 152
- 152
- 152
- 152
- 152
- 151
- 151
- 151
- 151
- 151
- 151
- 150
- 150
- 150
- 150
- 150
- 150
- 150
- 149
- 149
- 149
- 149
- 149
- 149
- 148
- 148
- 148
- 148
- 148
- 148
- 148
- 147
- 147
- 147
- 147
- 147
- 147
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
+ 82
+ 82
83
83
83
@@ -7607,9175 +102,103 @@ cooling down
82
82
82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
81
81
81
81
81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
80
80
80
80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
79
79
79
79
79
79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
78
78
78
78
78
78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 59
-04/09/2020 1:27:04
-Heating to 190
-04/09/2020 1:27:04
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 61
- 61
- 61
- 62
- 62
- 63
- 63
- 63
- 64
- 64
- 65
- 65
- 66
- 66
- 67
- 67
- 68
- 68
- 69
- 69
- 70
- 70
- 71
- 71
- 72
- 72
- 73
- 74
- 74
- 75
- 75
- 76
- 76
- 77
- 77
- 78
- 78
- 79
- 80
- 80
- 81
- 81
- 82
- 82
- 83
- 83
- 84
- 84
- 85
- 85
- 86
- 86
- 87
- 87
- 88
- 88
- 89
- 89
- 89
- 90
- 90
- 91
- 91
- 92
- 92
- 93
- 93
- 94
- 94
- 94
- 95
- 95
- 96
- 96
- 96
- 97
- 97
- 98
- 98
- 98
- 99
- 99
- 100
- 100
- 100
- 101
- 101
- 102
- 102
- 102
- 103
- 103
- 104
- 104
- 104
- 105
- 105
- 105
- 106
- 106
- 106
- 107
- 107
- 107
- 108
- 108
- 108
- 109
- 109
- 109
- 110
- 110
- 110
- 111
- 111
- 111
- 112
- 112
- 112
- 113
- 113
- 113
- 114
- 114
- 114
- 114
- 115
- 115
- 115
- 116
- 116
- 117
- 117
- 117
- 117
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 120
- 120
- 120
- 121
- 121
- 121
- 121
- 122
- 122
- 122
- 122
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 135
- 135
- 135
- 135
- 135
- 136
- 136
- 136
- 136
- 137
- 137
- 137
- 137
- 137
- 138
- 138
- 138
- 138
- 138
- 139
- 139
- 139
- 139
- 140
- 140
- 140
- 140
- 140
- 141
- 141
- 141
- 141
- 141
- 142
- 142
- 142
- 142
- 142
- 143
- 143
- 143
- 143
- 143
- 144
- 144
- 144
- 144
- 144
- 145
- 145
- 145
- 145
- 145
- 146
- 146
- 146
- 146
- 147
- 147
- 147
- 147
- 147
- 148
- 148
- 148
- 148
- 148
- 148
- 149
- 149
- 149
- 149
- 149
- 150
- 150
- 150
- 150
- 150
- 150
- 151
- 151
- 151
- 151
- 151
- 152
- 152
- 152
- 152
- 152
- 153
- 153
- 153
- 153
- 153
- 153
- 154
- 154
- 154
- 154
- 154
- 155
- 155
- 155
- 155
- 155
- 155
- 156
- 156
- 156
- 156
- 156
- 156
- 157
- 157
- 157
- 157
- 157
- 157
- 158
- 158
- 158
- 158
- 158
- 158
- 159
- 159
- 159
- 159
- 159
- 159
- 160
- 160
- 160
- 160
- 160
- 160
- 161
- 161
- 161
- 161
- 161
- 161
- 162
- 162
- 162
- 162
- 162
- 162
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 165
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 167
- 167
- 167
- 167
- 167
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 170
- 170
- 170
- 170
- 170
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-04/09/2020 1:36:30
-cooling down
-04/09/2020 1:38:30
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 189
- 189
- 189
- 189
- 189
- 189
- 189
- 188
- 188
- 188
- 188
- 188
- 187
- 187
- 187
- 187
- 186
- 186
- 186
- 185
- 185
- 185
- 184
- 184
- 184
- 183
- 183
- 183
- 182
- 182
- 182
- 181
- 181
- 181
- 180
- 180
- 180
- 179
- 179
- 179
- 178
- 178
- 178
- 177
- 177
- 177
- 176
- 176
- 176
- 175
- 175
- 175
- 174
- 174
- 174
- 173
- 173
- 173
- 172
- 172
- 172
- 171
- 171
- 171
- 170
- 170
- 169
- 169
- 169
- 169
- 168
- 168
- 168
- 167
- 167
- 167
- 167
- 166
- 166
- 166
- 165
- 165
- 165
- 165
- 164
- 164
- 164
- 164
- 163
- 163
- 163
- 163
- 162
- 162
- 162
- 162
- 161
- 161
- 161
- 161
- 160
- 160
- 160
- 160
- 160
- 159
- 159
- 159
- 159
- 158
- 158
- 158
- 158
- 158
- 157
- 157
- 157
- 157
- 157
- 156
- 156
- 156
- 156
- 156
- 155
- 155
- 155
- 155
- 155
- 154
- 154
- 154
- 154
- 154
- 153
- 153
- 153
- 153
- 153
- 153
- 152
- 152
- 152
- 152
- 152
- 151
- 151
- 151
- 151
- 151
- 151
- 150
- 150
- 150
- 150
- 150
- 150
- 149
- 149
- 149
- 149
- 149
- 149
- 149
- 148
- 148
- 148
- 148
- 148
- 148
- 148
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
79
79
79
79
79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 59
-04/09/2020 2:53:13
-Heating to 190
-04/09/2020 2:53:13
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 61
- 61
- 61
- 61
- 62
- 62
- 63
- 63
- 63
- 64
- 64
- 65
- 65
- 66
- 66
- 67
- 67
- 68
- 68
- 69
- 69
- 70
- 70
- 71
- 71
- 72
- 72
- 73
- 73
- 74
- 75
- 75
- 76
- 76
- 77
- 78
- 78
- 79
- 79
80
80
+ 80
+ 80
+ 81
+ 81
81
81
82
82
+ 82
+ 82
+ 83
83
83
+ 83
+ 84
84
84
85
85
+ 85
+ 86
+ 86
86
86
87
87
+ 87
+ 87
+ 88
88
88
+ 88
+ 89
89
89
+ 89
+ 90
90
90
90
91
91
+ 91
+ 91
+ 92
92
92
+ 92
+ 93
93
93
93
94
94
+ 94
+ 94
+ 95
+ 95
95
95
96
96
96
+ 96
+ 96
+ 97
+ 97
97
97
- 98
- 98
- 98
- 99
- 99
- 99
- 100
- 100
- 101
- 101
- 101
- 102
- 102
- 102
- 103
- 103
- 103
- 104
- 104
- 105
- 105
- 105
- 106
- 106
- 106
- 107
- 107
- 107
- 108
- 108
- 108
- 109
- 109
- 109
- 109
- 110
- 110
- 110
- 111
- 111
- 111
- 112
- 112
- 112
- 113
- 113
- 113
- 113
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 116
- 116
- 116
- 117
- 117
- 117
- 117
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 120
- 120
- 120
- 121
- 121
- 121
- 121
- 122
- 122
- 122
- 122
- 123
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 134
- 135
- 135
- 135
- 135
- 135
- 136
- 136
- 136
- 136
- 136
- 137
- 137
- 137
- 137
- 138
- 138
- 138
- 138
- 138
- 139
- 139
- 139
- 139
- 139
- 140
- 140
- 140
- 140
- 140
- 141
- 141
- 141
- 141
- 141
- 142
- 142
- 142
- 142
- 142
- 142
- 143
- 143
- 143
- 143
- 143
- 144
- 144
- 144
- 144
- 144
- 145
- 145
- 145
- 145
- 145
- 146
- 146
- 146
- 146
- 146
- 147
- 147
- 147
- 147
- 147
- 147
- 148
- 148
- 148
- 148
- 148
- 149
- 149
- 149
- 149
- 149
- 149
- 150
- 150
- 150
- 150
- 150
- 151
- 151
- 151
- 151
- 151
- 151
- 152
- 152
- 152
- 152
- 152
- 152
- 153
- 153
- 153
- 153
- 153
- 153
- 154
- 154
- 154
- 154
- 154
- 154
- 155
- 155
- 155
- 155
- 155
- 155
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 157
- 157
- 157
- 157
- 157
- 157
- 158
- 158
- 158
- 158
- 158
- 158
- 159
- 159
- 159
- 159
- 159
- 159
- 160
- 160
- 160
- 160
- 160
- 160
- 161
- 161
- 161
- 161
- 161
- 161
- 161
- 162
- 162
- 162
- 162
- 162
- 162
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 166
- 166
- 166
- 166
- 166
- 166
- 167
- 167
- 167
- 167
- 167
- 167
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-04/09/2020 3:02:59
-cooling down
-04/09/2020 3:04:59
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 189
- 189
- 189
- 189
- 189
- 189
- 189
- 188
- 188
- 188
- 188
- 187
- 187
- 187
- 187
- 186
- 186
- 186
- 186
- 185
- 185
- 185
- 184
- 184
- 184
- 183
- 183
- 183
- 182
- 182
- 182
- 181
- 181
- 181
- 180
- 180
- 180
- 179
- 179
- 179
- 178
- 178
- 178
- 177
- 177
- 177
- 176
- 176
- 176
- 175
- 175
- 175
- 174
- 174
- 174
- 173
- 173
- 173
- 172
- 172
- 172
- 171
- 171
- 170
- 170
- 170
- 170
- 169
- 169
- 169
- 168
- 168
- 168
- 167
- 167
- 167
- 167
- 166
- 166
- 166
- 166
- 165
- 165
- 165
- 165
- 164
- 164
- 164
- 163
- 163
- 163
- 163
- 162
- 162
- 162
- 162
- 162
- 161
- 161
- 161
- 161
- 160
- 160
- 160
- 160
- 159
- 159
- 159
- 159
- 159
- 158
- 158
- 158
- 158
- 158
- 157
- 157
- 157
- 157
- 157
- 156
- 156
- 156
- 156
- 156
- 155
- 155
- 155
- 155
- 155
- 154
- 154
- 154
- 154
- 154
- 154
- 153
- 153
- 153
- 153
- 153
- 152
- 152
- 152
- 152
- 152
- 151
- 151
- 151
- 151
- 151
- 151
- 151
- 150
- 150
- 150
- 150
- 150
- 150
- 149
- 149
- 149
- 149
- 149
- 149
- 149
- 148
- 148
- 148
- 148
- 148
- 148
- 148
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
98
98
98
@@ -16786,587 +209,36 @@ cooling down
97
97
97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 96
- 96
96
96
96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 95
- 95
95
95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
94
94
94
- 94
- 94
- 94
- 94
- 94
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
93
93
93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
92
92
92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
91
91
91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
90
90
90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
89
89
89
- 89
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
88
88
88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
87
87
87
87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
86
86
86
@@ -17376,2680 +248,110 @@ cooling down
86
86
86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 59
-04/09/2020 4:20:17
-Heating to 190
-04/09/2020 4:20:17
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 61
- 61
- 61
- 61
- 62
- 62
- 62
- 63
- 63
- 64
- 64
- 64
- 65
- 65
- 66
- 66
- 67
- 67
- 68
- 68
- 69
- 69
- 70
- 70
- 71
- 71
- 72
- 72
- 73
- 74
- 74
- 75
- 75
- 76
- 76
- 77
- 77
- 78
- 78
- 79
- 79
- 80
- 80
- 81
- 81
- 82
- 82
- 83
- 83
- 84
- 84
- 85
- 85
- 86
- 86
87
87
+ 87
+ 87
+ 88
88
88
89
89
89
+ 89
+ 90
90
90
+ 90
+ 91
91
91
92
92
+ 92
+ 92
+ 93
93
93
93
94
94
+ 94
+ 95
95
95
95
96
96
+ 96
+ 96
+ 97
97
97
97
98
98
+ 98
+ 98
+ 99
99
99
99
100
100
100
+ 100
+ 101
+ 101
101
101
+ 101
+ 102
102
102
102
103
103
103
+ 103
+ 104
+ 104
104
104
104
105
105
105
+ 105
+ 106
+ 106
106
106
+ 106
+ 107
107
107
107
108
108
108
+ 108
+ 109
+ 109
109
109
109
110
110
110
+ 110
+ 110
+ 111
111
111
111
+ 111
+ 112
112
112
112
@@ -20057,9 +359,14 @@ Heating to 190
113
113
113
+ 113
+ 113
+ 114
114
114
114
+ 114
+ 115
115
115
115
@@ -20067,6 +374,9 @@ Heating to 190
116
116
116
+ 116
+ 116
+ 117
117
117
117
@@ -20075,13 +385,20 @@ Heating to 190
118
118
118
+ 118
+ 119
+ 119
119
119
119
+ 119
+ 120
120
120
120
120
+ 120
+ 121
121
121
121
@@ -20090,6 +407,9 @@ Heating to 190
122
122
122
+ 122
+ 122
+ 123
123
123
123
@@ -20098,6 +418,10 @@ Heating to 190
124
124
124
+ 124
+ 124
+ 125
+ 125
125
125
125
@@ -20106,6 +430,8 @@ Heating to 190
126
126
126
+ 126
+ 126
127
127
127
@@ -20115,10 +441,15 @@ Heating to 190
128
128
128
+ 128
+ 128
+ 129
129
129
129
129
+ 129
+ 130
130
130
130
@@ -20128,6 +459,10 @@ Heating to 190
131
131
131
+ 131
+ 131
+ 132
+ 132
132
132
132
@@ -20138,692 +473,7 @@ Heating to 190
133
133
133
- 134
- 134
- 134
- 134
- 134
- 135
- 135
- 135
- 135
- 136
- 136
- 136
- 136
- 136
- 137
- 137
- 137
- 137
- 137
- 138
- 138
- 138
- 138
- 138
- 139
- 139
- 139
- 139
- 139
- 140
- 140
- 140
- 140
- 140
- 141
- 141
- 141
- 141
- 142
- 142
- 142
- 142
- 142
- 142
- 143
- 143
- 143
- 143
- 143
- 144
- 144
- 144
- 144
- 144
- 144
- 145
- 145
- 145
- 145
- 145
- 146
- 146
- 146
- 146
- 146
- 146
- 147
- 147
- 147
- 147
- 147
- 148
- 148
- 148
- 148
- 148
- 148
- 149
- 149
- 149
- 149
- 149
- 149
- 150
- 150
- 150
- 150
- 150
- 150
- 151
- 151
- 151
- 151
- 151
- 152
- 152
- 152
- 152
- 152
- 152
- 153
- 153
- 153
- 153
- 153
- 153
- 154
- 154
- 154
- 154
- 154
- 154
- 155
- 155
- 155
- 155
- 155
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 157
- 157
- 157
- 157
- 157
- 157
- 158
- 158
- 158
- 158
- 158
- 158
- 158
- 159
- 159
- 159
- 159
- 159
- 159
- 160
- 160
- 160
- 160
- 160
- 160
- 160
- 161
- 161
- 161
- 161
- 161
- 161
- 161
- 162
- 162
- 162
- 162
- 162
- 162
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-04/09/2020 4:30:11
-cooling down
-04/09/2020 4:32:11
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 189
- 189
- 189
- 189
- 189
- 189
- 189
- 188
- 188
- 188
- 188
- 187
- 187
- 187
- 187
- 186
- 186
- 186
- 186
- 185
- 185
- 185
- 184
- 184
- 184
- 183
- 183
- 183
- 182
- 182
- 182
- 181
- 181
- 181
- 180
- 180
- 180
- 179
- 179
- 179
- 178
- 178
- 178
- 177
- 177
- 177
- 176
- 176
- 176
- 175
- 175
- 175
- 174
- 174
- 174
- 173
- 173
- 173
- 172
- 172
- 172
- 171
- 171
- 171
- 171
- 170
- 170
- 170
- 169
- 169
- 169
- 168
- 168
- 168
- 168
- 167
- 167
- 167
- 166
- 166
- 166
- 165
- 165
- 165
- 165
- 164
- 164
- 164
- 164
- 163
- 163
- 163
- 163
- 162
- 162
- 162
- 162
- 161
- 161
- 161
- 161
- 161
- 160
- 160
- 160
- 160
- 159
- 159
- 159
- 159
- 159
- 158
- 158
- 158
- 158
- 157
- 157
- 157
- 157
- 157
- 156
- 156
- 156
- 156
- 156
- 156
- 155
- 155
- 155
- 155
- 155
- 154
- 154
- 154
- 154
- 154
- 154
- 153
- 153
- 153
- 153
- 153
- 153
- 152
- 152
- 152
- 152
- 152
- 152
- 151
- 151
- 151
- 151
- 151
- 151
- 150
- 150
- 150
- 150
- 150
- 150
- 150
- 149
- 149
- 149
- 149
- 149
- 148
- 148
- 148
- 148
- 148
- 148
- 148
- 148
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 134
+ 133
134
134
134
@@ -20837,4291 +487,13 @@ cooling down
134
133
133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 132
- 132
- 132
132
132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
131
131
- 131
- 131
- 131
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
130
130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 129
- 129
- 129
129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
128
128
- 128
- 128
- 128
- 128
- 128
- 128
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
127
- 127
- 127
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 59
-04/09/2020 5:47:35
-Heating to 190
-04/09/2020 5:47:35
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 61
- 61
- 61
- 62
- 62
- 62
- 63
- 63
- 63
- 64
- 64
- 65
- 65
- 66
- 66
- 67
- 67
- 68
- 68
- 69
- 69
- 70
- 70
- 71
- 71
- 72
- 72
- 73
- 73
- 74
- 75
- 75
- 76
- 76
- 77
- 77
- 78
- 78
- 79
- 79
- 80
- 80
- 81
- 81
- 82
- 82
- 83
- 83
- 84
- 84
- 85
- 85
- 86
- 86
- 87
- 87
- 88
- 88
- 88
- 89
- 90
- 90
- 91
- 91
- 92
- 92
- 92
- 93
- 93
- 94
- 94
- 94
- 95
- 95
- 96
- 96
- 96
- 97
- 97
- 98
- 98
- 98
- 99
- 99
- 100
- 100
- 100
- 101
- 101
- 101
- 102
- 102
- 102
- 103
- 103
- 104
- 104
- 104
- 105
- 105
- 105
- 106
- 106
- 106
- 107
- 107
- 107
- 108
- 108
- 108
- 109
- 109
- 109
- 109
- 110
- 110
- 110
- 111
- 111
- 111
- 112
- 112
- 112
- 113
- 113
- 113
- 113
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 116
- 116
- 116
- 117
- 117
- 117
- 117
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_ssi.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_ssi.cs
deleted file mode 100644
index 0e6c5c7f0..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_ssi.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-include "..\..\Defines\Tango_Defines_Basic.cs"
-include "Tango_Defines_SSI.cs"
-//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_Basic.cs"
-//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_SSI.cs"
-
-
-public void OnExecute(StubManager stubManager)
-{
- int k = 0;
- Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg1, 0);
- Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg2, 0);
-
- //Set output clock frequency to about 200 kHz
- Fpga_Write_Reg(FPGA1, F1_Prescaler1_reg1, 0x0024, 0);
- Fpga_Write_Reg(FPGA1, F1_Prescaler1_reg2, 0x0024, 0);
-
- Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg1, 0);
- Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg2, 0);
-
- for (int i = 0; i < 1000; i++)
- {
-
- SSI_Read_Write(FPGA1, F1_LSPARE_ROTENC_MSB, F1_LSPARE_ROTENC_LSB, F1_LSPARE_ROTENC_TX);
-// SSI_Read_Write(FPGA1, F1_LDANCER2_ROTENC_MSB, F1_LDANCER2_ROTENC_LSB, F1_LDANCER2_ROTENC_TX);
- stubManager.Write("\n");
- k++;
- if ( (k & 0x8) == 0x08 ) {
- k = 0;
- stubManager.Write(" LDANCER1 LDANCER2 \n");
- }
-
- Thread.Sleep(10);
- }
-
-
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs
index 1df44f0d0..3d06c1e79 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs
@@ -11,17 +11,39 @@ using Tango.PMR.Printing;
using Tango.Stubs;
using Tango.PMR.Stubs;
-
+//const string File_Name = @"P:\Scripts\Assemblies\Dryer\Dryer_Tset.CSV"; //3 hour
+string File_Name;
+const string Path=@"P:\Operations\Log\Dryer\";
public void OnExecute(StubManager stubManager)
{
+
+
+ var response8 = stubManager.ShowResponseWindow("Enter Serial number of Dryer ", "");
+
+ File_Name =Path +"SN_" + response8 + "DryerHeaterTest_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv" ;
+
+ //stubManager.WriteLine(response);
+// stubManager.Write("\n");
+// midtankno = int.Parse(response);
+
+
int j;
+
+ stubManager.WriteToFile(File_Name,DateTime.Now +" " );
+
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3,true, 2200);
+
for (int i=0;i<10;i++)
{
stubManager.WriteLine("--------------------loop number " + i +" ---------------------" );
- Blower_180();
- stubManager.WriteLine("Heating to 180 " );
+ Blower_190();
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E7, /*Head_Q=*/5);
+ stubManager.WriteLine("Heating to 190 " );
+ stubManager.AppendToFile(File_Name,"Heating to 190 " );
+
+ stubManager.AppendToFile(File_Name,DateTime.Now +" " );
j=0;
@@ -29,52 +51,51 @@ public void OnExecute(StubManager stubManager)
{
var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //read air temp
-// stubManager.WriteLine(response.TemperatureCMultBy100);
-// stubManager.Write("\n");
- if (response.TemperatureCMultBy100>(17900)) //17900
+ stubManager.WriteLine(response.TemperatureCMultBy100/100);
+ stubManager.AppendToFile(File_Name," " + response.TemperatureCMultBy100/100);
+ stubManager.Write("\n");
+ if (response.TemperatureCMultBy100>(18900)) //18900
j=1;
Thread.Sleep(1000);
}
- stubManager.WriteLine("start motor " );
+// stubManager.WriteLine("start motor " );
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3, true, 2200); //rotate Dryer Motor.
+// stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3, true, 2200); //rotate Dryer Motor.
// Thread.Sleep(1000*20);//
- Thread.Sleep(1000*60*20);//
+ stubManager.AppendToFile(File_Name,DateTime.Now +" " );
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,3,3); //stop motor
- stubManager.WriteLine("stop motor " );
+ Thread.Sleep(1000*60*2);//2 minits
+// stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,3,3); //stop motor
+// stubManager.WriteLine("stop motor " );
Blower_0();
stubManager.WriteLine("cooling down " );
+ stubManager.AppendToFile(File_Name,"cooling down " );
+ stubManager.AppendToFile(File_Name,DateTime.Now +" ");
j=0;
while (j==0)
{
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //read air temp
-// stubManager.WriteLine(response.TemperatureCMultBy100);
-// stubManager.Write("\n");
- if (response.TemperatureCMultBy100<6000)//
+ var response1 = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //read air temp
+ stubManager.WriteLine(response1.TemperatureCMultBy100/100);
+ stubManager.AppendToFile(File_Name, " " + (response1.TemperatureCMultBy100/100));
+stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E7, /*Head_Q=*/5);
+ stubManager.Write("\n");
+ if (response1.TemperatureCMultBy100<6000)//
j=1;
Thread.Sleep(1000);
}
-
-
-
-
-
+ stubManager.AppendToFile(File_Name,DateTime.Now +" " );
}
-
-
-
}
-void Blower_180()
+void Blower_190()
{
UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
@@ -93,8 +114,8 @@ processParameters.HeadZone3Temp = 0;
processParameters.HeadZone4Temp = 0;
processParameters.HeadZone5Temp = 0;
processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 0;
-processParameters.DryerZone1Temp = 180;
+processParameters.DryerAirFlow = 5;
+processParameters.DryerZone1Temp = 190;
processParameters.DryerZone2Temp = 0;
processParameters.DryerZone3Temp = 0;
processParameters.DryerBufferLength = 0;
@@ -138,7 +159,7 @@ processParameters.HeadZone3Temp = 0;
processParameters.HeadZone4Temp = 0;
processParameters.HeadZone5Temp = 0;
processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 0;
+processParameters.DryerAirFlow = 5;
processParameters.DryerZone1Temp = 00;
processParameters.DryerZone2Temp = 0;
processParameters.DryerZone3Temp = 0;
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write Flate head eeprom.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write Flate head eeprom.cs
new file mode 100644
index 000000000..0d01c7dbe
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write Flate head eeprom.cs
@@ -0,0 +1,146 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+//----------------------
+const Int32 I2C_ID = 3; //MCU_I2C3
+const Int32 TCA9548A_address = 0xE2;
+const Int32 I2C_Slave_Add = 0xA0; // //eeprom address - 32kByte
+int Head_Mux_Channel_ID = 4; //Head MUX channel
+//----------------------
+
+const Int32 SerialNum = 0x01;
+
+
+int enable_channel(int Channel_ID)
+{
+ uint Const_temp = 0x01;
+
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;
+
+ Const_temp = Const_temp << Channel_ID;
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+}
+
+
+int WriteFlatEpprom(uint I2C_Slave_Add)
+{
+ uint Page=0;
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
+ //--------------------------------------------------------------
+
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x33); //header
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0xcc);
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0xaa);
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x55);
+
+ //stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_STAPLE_SPUN
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+ Thread.Sleep(100);
+
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(92);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
+ //--------------------------------------------------------------
+
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x10); //flat
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
+
+ //stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_STAPLE_SPUN
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+ Thread.Sleep(100);
+
+
+
+
+
+ return 1;
+}
+
+int adc_set_for_read_ch(uint I2C_Slave_Add, uint Page)
+{
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+}
+
+int adc_read_ch(uint I2C_Slave_Add)
+{
+ StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
+ stubI2CReadBytesRequest.I2CId = I2C_ID;
+ stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1;
+ stubI2CReadBytesRequest.NumberOfBytesToRead = 10; // Number of bytes to read
+
+ var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
+ uint temph=0;
+
+ for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
+ {
+ temph=response1.ReadBytes[i];
+ stubManager.WriteHex(temph,2);
+ }
+
+ return 1;
+}
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+ //enable_all_channel();
+ enable_channel(Head_Mux_Channel_ID); // Chanel 0-7 => Disp0enser 0-7
+
+ for (int i = 0; i<1; i++)
+ {
+
+ WriteFlatEpprom(I2C_Slave_Add);
+ Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
+
+ stubManager.Write("\nPage 0x00 #");
+ stubManager.Write(i);
+ stubManager.Write("\t- The Buffer is: ");
+ adc_set_for_read_ch(I2C_Slave_Add, 0x00);
+ //Thread.Sleep(1); //Sleep for 10 milli.
+ adc_read_ch(I2C_Slave_Add);
+
+ Thread.Sleep(1000);
+
+ }
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch1.cs
deleted file mode 100644
index 9955e0e5d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch1.cs
+++ /dev/null
@@ -1,208 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Diagnostics;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-
-include "..\..\Defines\Tango_Defines_Basic.cs"
-include "Tango_Defines_Motors.cs"
-include "Tango_Defines_LimitSwitch.cs"
-
-//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_Basic.cs"
-//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_Motors.cs"
-
-
-
-public void OnExecute(StubManager stubManager)
-{
-Int32 Bit = 1;
- stubManager.Write("\n*** LTFU Motor + limit switch Test ***");
- SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 0, 1);
- SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 1, 1);
- SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 2, 1);
- SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 4, 1);
-
- stubManager.Write("\n*** Moving motor F1_MOTO_LLOADING back and for");
- Bit = 1;
-
- var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,19,true , 500);
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_02_Direct,8);
- Thread.Sleep(10);
- }
- Thread.Sleep(100);
- stubManager.Write("\n--------1--------");
-
-
-response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,19, false, 500);
- Bit = 1;
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_02_Direct,9);
- Thread.Sleep(10);
- }
- stubManager.Write("\n--------2--------");
- response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,19, false, 0);
-
- Thread.Sleep(100);
- var response1 = stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,19, false, 5000);
- Thread.Sleep(1000);
- Motor_HighZ(FPGA1, F1_MOTO_LLOADING_TX1, F1_MOTO_LLOADING_TX0);
- stubManager.Write("\n*** Stopped motor F1_MOTO_LLOADING");
-
-
- //mov ldriving -
- stubManager.Write("\n*** Running motor F1_MOTO_LDRIVING for 4 seconds... ");
- Motor_Run(FPGA1, F1_MOTO_LDRIVING_TX1, F1_MOTO_LDRIVING_TX0, 0xffff, 0x1);
- Thread.Sleep(4000);
- Motor_HighZ(FPGA1, F1_MOTO_LDRIVING_TX1, F1_MOTO_LDRIVING_TX0);
-
-
-
-
-
-
-
-
- stubManager.Write("\n\n*** Moving motor F1_MOTO_LDANCER1 back and for ...");
-
- Bit = 1;
- response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16,false ,500);
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_02_Direct,12);
- Thread.Sleep(10);
- }
- Thread.Sleep(100);
- stubManager.Write("\n--------1--------");
-
-
-response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16, true, 500);
- Bit = 1;
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_02_Direct,13);
- Thread.Sleep(10);
- }
-
- Thread.Sleep(1000);
- Motor_HighZ(FPGA1, F1_MOTO_LDANCER1_TX1, F1_MOTO_LDANCER1_TX0);
-
-
-
-
-
-/*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- //mov LLOAD - up
- stubManager.Write("\n*** Moving motor F1_MOTO_LLOADING back and for");
- MotorHomingRequest motorHomingRequest = new MotorHomingRequest();
- motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 19;
- motorHomingRequest.Speed = 500;
- motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Forward; //Forward
- stubManager.Run(motorHomingRequest);
- Thread.Sleep(6000);
- //mov lLOAD - dn
- motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 19;
- motorHomingRequest.Speed = 500;
- motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Backward; //Forward
- stubManager.Run(motorHomingRequest);
- Thread.Sleep(5000);
- var response = stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,19, false, 1000);
- Thread.Sleep(1000);
-
-
- //mov ldriving -
- stubManager.Write("\n*** Running motor F1_MOTO_LDRIVING for 4 seconds... ");
- Motor_Run(FPGA1, F1_MOTO_LDRIVING_TX1, F1_MOTO_LDRIVING_TX0, 0xffff, 0x1);
-// Thread.Sleep(4000);
- Motor_HighZ(FPGA1, F1_MOTO_LDRIVING_TX1, F1_MOTO_LDRIVING_TX0);
-
-
- //mov Ldancer -
- stubManager.Write("\n*** F1_MOTO_LDANCER1 is moving back and forth ");
- motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 16;
- motorHomingRequest.Speed = 500;
- motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Forward; //Forward
- stubManager.Run(motorHomingRequest);
- Thread.Sleep(20000);
- motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 16;
- motorHomingRequest.Speed = 500;
- motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Backward; //Backard
- stubManager.Run(motorHomingRequest);
- Thread.Sleep(20000);
-
-
-
- //mov Lpivot -
- stubManager.Write("\n*** F1_MOTO_LPIVOT1 is moving back and forth ");
- motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 20;
- motorHomingRequest.Speed = 500;
- motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Forward; //Forward
- stubManager.Run(motorHomingRequest);
- Thread.Sleep(20000);
- motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 20;
- motorHomingRequest.Speed = 500;
- motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Backward; //Backard
- stubManager.Run(motorHomingRequest);
- Thread.Sleep(20000);
-
-
-
-
-
-
-
-
-
- stubManager.Write("\n*** F1_MOTO_RDANCER is moving back and forth ");
- motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 21;
- motorHomingRequest.Speed = 10;
-// motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Forward; //Forward
-// stubManager.Run(motorHomingRequest);
-// Thread.Sleep(5000);
- motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 21;
- motorHomingRequest.Speed = 10;
-// motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Backward; //Backard
-// stubManager.Run(motorHomingRequest);
-// Thread.Sleep(4000);
-
- stubManager.Write("\n\n*** RTFU Motor Test Ended ***");
- */
-
-
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position.cs
index 6730fe86c..ebd2cf414 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position.cs
@@ -43,6 +43,7 @@ const Int32 x_GET_PARAM = 0x20;
//-------------------------------
const Int32 F1_LS_02_Direct = 0x60000030 ;
const Int32 F1_LS_LSPARE2 = 0x0004; //up
+const Int32 F1_LS_LDANCER1_UP = 0x1000;
@@ -64,9 +65,18 @@ public void OnExecute(StubManager stubManager)
var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
response.RecivedData=response.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response.RecivedData,4);
+ stubManager.WriteHex(response.RecivedData,8);
stubManager.Write("\n");
-
+
+ var response3 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
+ response3.RecivedData=response3.RecivedData & 0x00007;
+
+ stubManager.WriteHex(response3.RecivedData,4);
+ stubManager.Write("\nNober uStep is - ");
+ if (response3.RecivedData>4)
+ response3.RecivedData=4;
+ stubManager.WriteLine(Math.Pow(2,response3.RecivedData));
+
//----------------------------------------- check F1_LS_LDANCER2_UP -------------------------------------------------
stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,17,false,100); //move Lloading up
@@ -76,17 +86,59 @@ public void OnExecute(StubManager stubManager)
counter = counter + 1;
var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE2 is up then move down
if ((response1.Value & F1_LS_LSPARE2) != F1_LS_LSPARE2 )
- counter=350;
+ counter=900;
Thread.Sleep(100);
}
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,17, 3); //hold Ldancer high z
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
+var response2 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
+ response2.RecivedData=response2.RecivedData & 0x00ffffff;
+ stubManager.WriteHex(response2.RecivedData,8);
+ stubManager.Write("\n");
+
+ stubManager.Write("Motor Puller positon is - "+ (response2.RecivedData-response.RecivedData)/(Math.Pow(2,response3.RecivedData)));
+//---------------------------------------------------------------------------------------------------------------------
+
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,16, 3); //hold Ldancer high z
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,16, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
response.RecivedData=response.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response.RecivedData,4);
+ stubManager.WriteHex(response.RecivedData,8);
+ stubManager.Write("\n");
+
+ response3 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,16, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
+ response3.RecivedData=response3.RecivedData & 0x00007;
+
+ stubManager.WriteHex(response3.RecivedData,4);
+ stubManager.Write("\nNober uStep is - ");
+ if (response3.RecivedData>4)
+ response3.RecivedData=4;
+ stubManager.WriteLine(Math.Pow(2,response3.RecivedData));
+
+
+//----------------------------------------- check F1_LS_LDANCER2_UP -------------------------------------------------
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16,false,100); //move Lloading up
+ counter =0;
+ while ( counter < 800)
+ {
+ counter = counter + 1;
+ var response8 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE2 is up then move up
+ if ((response8.Value & F1_LS_LDANCER1_UP) !=F1_LS_LDANCER1_UP ) //if F1_LS_LDANCER1_UP is up then error
+ counter=900;
+
+ Thread.Sleep(100);
+ }
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,16, 3); //hold Ldancer high z
+
+ response2 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,16, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
+ response2.RecivedData=response2.RecivedData & 0x00ffffff;
+ stubManager.WriteHex(response2.RecivedData,8);
stubManager.Write("\n");
+ stubManager.Write("Motor Winder positon is - "+ (response2.RecivedData-response.RecivedData)/(Math.Pow(2,response3.RecivedData)));
+
+
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position1.cs
deleted file mode 100644
index c578c8152..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position1.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-
-
-
-const Int32 x_ABS_POS = 0x01;
-const Int32 x_EL_POS = 0x02;
-const Int32 x_MARK = 0x03;
-const Int32 x_SPEED = 0x04;
-const Int32 x_ACC = 0x05;
-const Int32 x_DEC = 0x06;
-const Int32 x_MAX_SPEED = 0x07;
-const Int32 x_MIN_SPEED = 0x08;
-const Int32 x_FS_SPD = 0x15;
-const Int32 x_KVAL_HOLD = 0x09;
-const Int32 x_KVAL_RUN = 0x0A;
-const Int32 x_KVAL_ACC = 0x0B;
-const Int32 x_KVAL_DEC = 0x0C;
-const Int32 x_INT_SPD = 0x0D;
-const Int32 x_ST_SLP = 0x0E;
-const Int32 x_FN_SLP_ACC = 0x0F;
-const Int32 x_FN_SLP_DEC = 0x10;
-const Int32 x_K_THERM = 0x11;
-const Int32 x_ADC_OUT = 0x12;
-const Int32 x_OCD_TH = 0x13;
-const Int32 x_STALL_TH = 0x14;
-const Int32 x_STEP_MODE = 0x16;
-const Int32 x_ALARM_EN = 0x17;
-const Int32 x_CONFIG = 0x18;
-const Int32 x_STATUS = 0x19;
-//-------------------------------
-const Int32 x_GET_PARAM = 0x20;
-//-------------------------------
-const Int32 F1_LS_02_Direct = 0x60000030 ;
-const Int32 F1_LS_LSPARE2 = 0x0004; //up
-
-
-
-
-
-
-
-
-
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
- int counter;
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,17, 3); //hold Ldancer high z
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- response.RecivedData=response.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response.RecivedData,8);
- stubManager.Write("\n");
-
- var response3 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- response3.RecivedData=response3.RecivedData & 0x00007;
-
- stubManager.WriteHex(response3.RecivedData,4);
- stubManager.Write("\nNober uStep is - ");
- if (response3.RecivedData>4)
- response3.RecivedData=4;
- stubManager.WriteLine(Math.Pow(2,response3.RecivedData));
-
-
-//----------------------------------------- check F1_LS_LDANCER2_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,17,false,100); //move Lloading up
- counter =0;
- while ( counter < 800)
- {
- counter = counter + 1;
-var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE2 is up then move down
- if ((response1.Value & F1_LS_LSPARE2) != F1_LS_LSPARE2 )
- counter=900;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,17, 3); //hold Ldancer high z
-
-var response2 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- response2.RecivedData=response2.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response2.RecivedData,8);
- stubManager.Write("\n");
-
- stubManager.Write("Motor positon is - "+ (response2.RecivedData-response.RecivedData)/(Math.Pow(2,response3.RecivedData)));
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position2.cs
deleted file mode 100644
index ebd2cf414..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position2.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-
-
-
-const Int32 x_ABS_POS = 0x01;
-const Int32 x_EL_POS = 0x02;
-const Int32 x_MARK = 0x03;
-const Int32 x_SPEED = 0x04;
-const Int32 x_ACC = 0x05;
-const Int32 x_DEC = 0x06;
-const Int32 x_MAX_SPEED = 0x07;
-const Int32 x_MIN_SPEED = 0x08;
-const Int32 x_FS_SPD = 0x15;
-const Int32 x_KVAL_HOLD = 0x09;
-const Int32 x_KVAL_RUN = 0x0A;
-const Int32 x_KVAL_ACC = 0x0B;
-const Int32 x_KVAL_DEC = 0x0C;
-const Int32 x_INT_SPD = 0x0D;
-const Int32 x_ST_SLP = 0x0E;
-const Int32 x_FN_SLP_ACC = 0x0F;
-const Int32 x_FN_SLP_DEC = 0x10;
-const Int32 x_K_THERM = 0x11;
-const Int32 x_ADC_OUT = 0x12;
-const Int32 x_OCD_TH = 0x13;
-const Int32 x_STALL_TH = 0x14;
-const Int32 x_STEP_MODE = 0x16;
-const Int32 x_ALARM_EN = 0x17;
-const Int32 x_CONFIG = 0x18;
-const Int32 x_STATUS = 0x19;
-//-------------------------------
-const Int32 x_GET_PARAM = 0x20;
-//-------------------------------
-const Int32 F1_LS_02_Direct = 0x60000030 ;
-const Int32 F1_LS_LSPARE2 = 0x0004; //up
-const Int32 F1_LS_LDANCER1_UP = 0x1000;
-
-
-
-
-
-
-
-
-
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
- int counter;
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,17, 3); //hold Ldancer high z
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- response.RecivedData=response.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response.RecivedData,8);
- stubManager.Write("\n");
-
- var response3 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- response3.RecivedData=response3.RecivedData & 0x00007;
-
- stubManager.WriteHex(response3.RecivedData,4);
- stubManager.Write("\nNober uStep is - ");
- if (response3.RecivedData>4)
- response3.RecivedData=4;
- stubManager.WriteLine(Math.Pow(2,response3.RecivedData));
-
-
-//----------------------------------------- check F1_LS_LDANCER2_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,17,false,100); //move Lloading up
- counter =0;
- while ( counter < 800)
- {
- counter = counter + 1;
-var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE2 is up then move down
- if ((response1.Value & F1_LS_LSPARE2) != F1_LS_LSPARE2 )
- counter=900;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,17, 3); //hold Ldancer high z
-
-var response2 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- response2.RecivedData=response2.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response2.RecivedData,8);
- stubManager.Write("\n");
-
- stubManager.Write("Motor Puller positon is - "+ (response2.RecivedData-response.RecivedData)/(Math.Pow(2,response3.RecivedData)));
-//---------------------------------------------------------------------------------------------------------------------
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,16, 3); //hold Ldancer high z
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,16, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- response.RecivedData=response.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response.RecivedData,8);
- stubManager.Write("\n");
-
- response3 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,16, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- response3.RecivedData=response3.RecivedData & 0x00007;
-
- stubManager.WriteHex(response3.RecivedData,4);
- stubManager.Write("\nNober uStep is - ");
- if (response3.RecivedData>4)
- response3.RecivedData=4;
- stubManager.WriteLine(Math.Pow(2,response3.RecivedData));
-
-
-//----------------------------------------- check F1_LS_LDANCER2_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16,false,100); //move Lloading up
- counter =0;
- while ( counter < 800)
- {
- counter = counter + 1;
- var response8 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE2 is up then move up
- if ((response8.Value & F1_LS_LDANCER1_UP) !=F1_LS_LDANCER1_UP ) //if F1_LS_LDANCER1_UP is up then error
- counter=900;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,16, 3); //hold Ldancer high z
-
- response2 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,16, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- response2.RecivedData=response2.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response2.RecivedData,8);
- stubManager.Write("\n");
-
- stubManager.Write("Motor Winder positon is - "+ (response2.RecivedData-response.RecivedData)/(Math.Pow(2,response3.RecivedData)));
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/Test_Loading_TFU.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/Test_Loading_TFU.cs
new file mode 100644
index 000000000..de14d455f
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/Test_Loading_TFU.cs
@@ -0,0 +1,155 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+
+
+
+//-------------------DEFINE Motors------------------
+//const Int32 LDANCER_Motor = 16;
+//const Int32 LDRIVING_Motor = 18;
+//const Int32 LLOADING_Motor = 19;
+//const Int32 LDANCER_Motor = 16;
+//const Int32 LDRIVING_Motor = 18;
+//const Int32 LLOADING_Motor = 19;
+
+const Int32 LDANCER1_Motor = 16;
+const Int32 LDANCER2_Motor = 17;
+const Int32 LDRIVING_Motor = 18;
+const Int32 LLOADING_Motor = 19;
+
+const Int32 RDANCER_Motor = 21;
+//const Int32 RDRIVING_Motor = 22;
+//const Int32 MAGNET_Driver = 23; //replace RLOADARM
+const Int32 RLOADING_Motor = 24;
+
+//-------------------DEFINE Motors Parameters------------------
+
+const Int32 F1_MOTO_LLOADING_TX1 = 0x60000232;
+const Int32 F1_MOTO_LLOADING_TX0 = 0x60000230;
+const Int32 F1_MOTO_RLOADING_TX1 = 0x60000202;
+const Int32 F1_MOTO_RLOADING_TX0 = 0x60000200;
+
+
+//-------------------DEFINE Limit Switch---------------
+const Int32 F1_LS_02_Direct =0x60000030;
+const Int32 F1_LS_03_Direct =0x60000040;
+const Int32 F1_LS_RLOADMOTOR_UP = 0x0040 ;
+const Int32 F1_LS_RLOADMOTOR_DN = 0x0080 ;
+
+const Int32 F1_LS_LLOADMOTOR_UP = 0x0100 ;
+const Int32 F1_LS_LLOADMOTOR_DN = 0x0200 ;
+const Int32 F1_LS_LDANCER1_UP = 0x1000;
+const Int32 F1_LS_LDANCER1_DN = 0x2000;
+const Int32 F1_LS_LDANCER2_UP = 0x0400;
+const Int32 F1_LS_LDANCER2_DN = 0x0800;
+const Int32 F1_LS_LLOADRAM_LF = 0x0080;
+const Int32 F1_LS_LLOADRAM_RT = 0x0040;
+const Int32 F1_LS_LSPARE2 = 0x0004; //up
+//const Int32 F1_LS_LLOADMOTOR_UP = 0x0100 ;
+const Int32 F1_LS_RDANCER_DN = 0x0200;
+const Int32 F1_LS_RLOADRAM_DN = 0x0020;
+const Int32 F1_LS_LSPARE1 = 0x0008; //dn
+
+//include "..\..\Defines\Tango_Defines_Basic.cs"
+//include "Tango_Defines_LimitSwitch.cs"
+//include "Tango_Defines_Motors.cs"
+//include "Tango_Defines_SSI.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_Basic.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_SSI.cs"
+
+
+void OnExecute(StubManager stubManager)
+{
+ for (int i=0;i<1;i++)
+ {
+
+ Move_Motor(LDANCER1_Motor,false,F1_LS_02_Direct,F1_LS_LDANCER1_UP,450);
+
+ Move_Motor(LDANCER2_Motor,false,F1_LS_02_Direct,F1_LS_LSPARE2,450);
+
+ Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x0a000000); //set kval ran to 0x2c- 0.9A
+ Thread.Sleep(200);
+ Move_Motor(LLOADING_Motor,true,F1_LS_02_Direct,F1_LS_LLOADMOTOR_UP,300);
+ Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x07000000); //set kval ran to 0x2c- 0.6A
+ Thread.Sleep(200);
+
+ Move_Motor(RDANCER_Motor,true,F1_LS_03_Direct,F1_LS_RLOADRAM_DN,10);
+
+ Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x0a000000); //set kval ran to 0x14,0.65A
+ Thread.Sleep(200);
+ Move_Motor(RLOADING_Motor,false,F1_LS_03_Direct,F1_LS_RLOADMOTOR_UP,200);
+ Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x07000000); //set kval ran to 0x14,0.65A
+ Thread.Sleep(200);
+
+
+
+ Thread.Sleep(2000);
+
+ Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x0a000000); //set kval ran to 0x14,0.65A
+ Thread.Sleep(200);
+ Move_Motor(RLOADING_Motor,true,F1_LS_03_Direct,F1_LS_RLOADMOTOR_DN,200);
+ Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x07000000); //set kval ran to 0x14,0.65A
+ Thread.Sleep(200);
+
+ Move_Motor(RDANCER_Motor,false,F1_LS_03_Direct,F1_LS_RDANCER_DN,10);
+
+ Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x0a000000); //set kval ran to 0x2c- 0.9A
+ Thread.Sleep(200);
+ Move_Motor(LLOADING_Motor,false,F1_LS_02_Direct,F1_LS_LLOADMOTOR_DN,300);
+ Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x0a000000); //set kval ran to 0x2c- 0.9A
+ Thread.Sleep(200);
+
+ Move_Motor(LDANCER2_Motor,true,F1_LS_02_Direct,F1_LS_LSPARE1,450);
+
+ Move_Motor(LDANCER1_Motor,true,F1_LS_02_Direct,F1_LS_LDANCER1_DN,450);
+
+ Thread.Sleep(2000);
+ }
+
+
+
+}
+
+ void Move_Motor(UInt32 MotorID, bool Direction, UInt32 Register , UInt32 Bits, Double speed)
+{
+int counter ;
+
+
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,MotorID,Direction,speed); //move Lloading up
+ counter =0;
+ while ( counter < 1500)
+ {
+ counter = counter + 1;
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Register); //if LS_LLOADMOTOR_UP is up then move down
+ if ((response.Value & Bits) != Bits )
+ counter=1650;
+
+ Thread.Sleep(20);
+
+ }
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,MotorID, 1); //hold motor
+
+
+}
+
+ int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
+{
+
+ Int32 Temp = 0;
+ Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
+
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
+ Temp = ((Int32)ParaData1 >> 8) & 0xffff;
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
+
+ return 1;
+}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs
index 7c0243c49..7c0243c49 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/DO_NOT_WORK_New_Calibrate_Midtank_pressure_sensors.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/DO_NOT_WORK_New_Calibrate_Midtank_pressure_sensors.cs
deleted file mode 100644
index 2acbe7d71..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/DO_NOT_WORK_New_Calibrate_Midtank_pressure_sensors.cs
+++ /dev/null
@@ -1,488 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.EmbeddedParameters;
-using Tango.Stubs;
-
-//----------------------
-const double Slop=0.92;
-const double MIN_SLOP=0.7;
-const double MAX_SLOP=1.4;
-const double ERROR_SLOP=-1;
-const double MIN_50cc_on_volt=2.3;
-const double MAX_50cc_on_volt=3.2;
-const double ERROR_50cc_on_volt=-1;
-
-int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};
-uint [,] ADC_Add_Chnl = new uint [8,2] {
- {0x44,0x20},
- {0x44,0x08},
- {0x46,0x80},
- {0x46,0x20},
- {0x44,0x10},
- {0x44,0x04},
- {0x46,0x40},
- {0x46,0x10},
- };
-
-
-const Int32 F3_VALVE_OUT = 0x600008E2 ;
-string Machine_SN ;
-private const string FILE_PATH = @"C:\MidTankLog\";
-string File_name;
-double [,] voltage_array = new double[9,9];
-string [] Parameter = new string[5] {"\t","Empty [V]","100cc [V]","800cc [V]"," b [L/V] "};
- double Full_Cartridge=1; // 1 litter less 100 cc
-
-//----------------------
-const Int32 I2C_ID = 2;
-//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
-//----------------------
-
-
-
-
-
-
-
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
- Int32 midtankno = 0;
- double Full_Point=0; //on Voltage
- double resualt;
- double Sum=0 ;
- double Old_Sum=0 ;
-
-
- if (!Directory.Exists(FILE_PATH))
- {
- Directory.CreateDirectory(FILE_PATH);
- }
-
-
-
- var response = stubManager.ShowResponseWindow("Enter Midtank S/N: ", "");
- stubManager.Write("\n");
- Machine_SN = response;
- stubManager.WriteLine(Machine_SN);
- File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv";
- stubManager.Write(File_name);
- stubManager.WriteToFile(File_name,"MidTank S/N:," + Machine_SN);
-
-// voltage_array[1,0]=1;
-// voltage_array[2,0]=2;
-// voltage_array[3,0]=3;
-// voltage_array[4,0]=4;
-// voltage_array[5,0]=5;
-// voltage_array[6,0]=6;
-// voltage_array[7,0]=7;
-// voltage_array[8,0]=8;
-
-
-
- var response1 = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
- stubManager.WriteLine(response1);
- midtankno = Int32.Parse(response1);
- stubManager.AppendToFile(File_name,"MidTank Number:\t" + response1);
-
-
-
-
- string box_msg = "Please Insert cartridge with 1000cc except Lubbricant add 500cc only ";
-// string box_title = "Midatnk empty";
-// MessageBox.Show(box_msg, box_title);
- MessageBox.Show(box_msg);
-
- open_valve(midtankno,1,1) ; //open Air valve
- open_valve(midtankno,0,1) ; //open Ink valve
- Int32 i=0;
- while (i<60*15) //check for 15 minitus
- {
- Sum=0;
- for (Int32 j=0;j<30;j++)
- {
- resualt=read_pressure_sensor(midtankno);
- stubManager.AppendToFile(File_name,resualt+",mV");
- Sum=Sum+resualt;
- Thread.Sleep(1000);
- }
- i=i+1;
- if (Sum>Old_Sum)
- Old_Sum=Sum-Old_Sum;
- else
- Old_Sum=Old_Sum-Sum;
-
- if ( Old_Sum <0.02)
- i=60*15; //end
- Old_Sum=Sum;
- }
- Full_Point=Sum/30;
-
- box_msg = "Send file" + File_name +"to Mati";
- MessageBox.Show(box_msg);
-
-
- // stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x000f); // open all valve air of midtank and close all ink of midtank
- // Thread.Sleep(500);
- // stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x00ff); // open all valve air of midtank and close all ink of midtank
- // Thread.Sleep(500);
- // stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x0fff); // open all valve air of midtank and close all ink of midtank
- // Thread.Sleep(500);
- // stubManager.Run<StubFpgaWriteRegResponse>("stubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0xffff); // open all valve air and ink of midtank
- //
- // Thread.Sleep(2500);
-
- // Thread.Sleep(1000);
-
- // read_pressure_sensor(1);
-
- // box_msg ="Insert 100cc of appropriate ink/lube to each midtank\n\t1.black ink\n\t2. Magenta ink\n\t3. Transparent ink\n\t4. Cleaner\n\t5. Cyan ink\n\t6. Yellow ink\n\t7. Spot color\n\t8. Lubricant/n";
- // MessageBox.Show(box_msg);
-//
- // read_pressure_sensor(2);
-
- // voltage_array[3,2]=2.5;
-
-// box_msg = "Add another 700cc for ink and TI \nFor Lubbricant add 500cc only.";
-// MessageBox.Show(box_msg);
-// read_pressure_sensor(3);
-// stubManager.Run<StubFpgaWriteRegResponse>("stubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x0000); // close all valve air and ink of midtank
- // voltage_array[3,3]=4.5;
- close_valve(midtankno,1,1) ; //close Air valve
- close_valve(midtankno,0,1) ; //close Ink valve
-
-// calc_slop();
-// print_table();
-
-// insert_slop_t_eeprom(Full_Point, midtankno);
- insert_slop_t_eeprom(Full_Point, midtankno);
- box_msg ="Turn Power Off and On to finish the calibration.";
- MessageBox.Show(box_msg);
-
- }
-
-int calc_slop()
- {
- stubManager.Write("\n ");
-
- double delta;
- for (uint i=1;i<9;i++)
- {
- delta=voltage_array[i,3]-voltage_array[i,2];
-
- stubManager.Write("\nMidtank No:"+i +"="+delta);
- if (i==8)
- delta=0.5/delta; //0.5 litter on lubricant
- else
- delta=0.7/delta; //0.7 litter
-
- if ((delta<MIN_SLOP) || (delta >MAX_SLOP))
- {
- voltage_array[i,4]=ERROR_SLOP;
- // stubManager.Write("123");
- }
- else if ((voltage_array[i,2]<MIN_50cc_on_volt) || (voltage_array[i,2]>MAX_50cc_on_volt ))
- voltage_array[i,4]=ERROR_SLOP;
- else
- voltage_array[i,4]=delta;
- }
- return 1;
- }
-
-
- int insert_slop_t_eeprom( double FullPoint,Int32 midtankno)
-{
-// stubManager.Write("\n ");
-
- MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
-
-// for (uint i=1;i<9;i++)
-// {
-// if (voltage_array[i,4]!= ERROR_SLOP)
-// {
- MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = Convert.ToUInt32 (midtankno-1);
- midTankData.InitialOffsetA =FullPoint - (Full_Cartridge-0.1)/Slop;
- midTankData.SlopeB = Slop;
-
- stubManager.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge-0.1)/Slop)+"\tSlop="+ Slop);
- stubManager.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge-0.1)/Slop)+"\tSlop="+ Slop);
-
-
- midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-
- // }
-var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
-
-
-
- //}
-
-
-return 1;
-}
-
-//
-//
-//int print_table()
-// {
-//
-// for (uint i=0;i<5;i++)
-// {
-// stubManager.AppendToFile(File_name,Parameter[i]+"\t"+voltage_array[1,i]+"\t"+voltage_array[2,i]+"\t"+voltage_array[3,i]+"\t"+voltage_array[4,i]+"\t"+voltage_array[5,i]+"\t"+voltage_array[6,i]+"\t"+voltage_array[7,i]+"\t"+voltage_array[8,i]) ;
-// }
-//
-//
-// return 1;
-//
-// }
-
-//start mat
-
-int adc_configuration(uint I2C_Slave_Add,uint channel )
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-
-
-int adc_set_for_read_ch(uint I2C_Slave_Add)
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-
-
-
-
-double adc_read_ch(uint I2C_Slave_Add)
- {
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- uint templ=0;
- uint temp;
- double calc;
- double calc1;
- double calc2;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
-
- calc = (double)temp *2.5 / 4096.0;
-// stubManager.Write("ADC [volts]:\t");
-// stubManager.Write(calc+"\t");
-
- calc1 = (1.96- calc) * 4.64 + 1.96;
- stubManager.Write("Vsensor [volts]:\t");
- stubManager.Write(calc1 + "\n");
-
- // voltage_array[table_index_x,table_index_y]=calc1;
-
- return calc1;
- }
-
-double read_pressure_sensor(Int32 i )
- {
-double resualt =0 ;
- switch (i)
- {
- case 1:
- adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 2:
- adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 3:
- adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 4:
- adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 5:
- adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 6:
- adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 7:
- adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 8:
- adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- default:
- stubManager.Write("Error");
-
- break;
- }
-
- return resualt;
- }
-
-
-//--------------------------------
-int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak
-{
- int temp1=Convert_Midtank_No[valve_nm-1] ;
-
- string temp;
- SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);
-
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tOpen\n");
- return 1;
- }
-
- }
- return 1;
-
-}
-//--------------------------------
-int close_valve (int valve_nm,int valve_type,int check_valve)
-{
- int temp1=Convert_Midtank_No[valve_nm-1];
-
- string temp;
- SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tclose\n");
- return 1;
- }
- }
- return 1;
-
-}
-
-public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
-{
- Int32 BitMask;
- var RetVal = Fpga_Read_Reg(Adr);
- Int32 RV = (Int32) RetVal.Value;
-
- if (Bit == 0x1)
- {
- BitMask = 0x1 << BitNo;
- RV = RV | BitMask;
- Fpga_Write_Reg( Adr, RV );
- }
- else if (Bit == 0x0)
- {
- BitMask = ~(0x1 << BitNo);
- RV = RV & BitMask;
- Fpga_Write_Reg(Adr, RV );
- }
- return 1;
-}
-
-int Fpga_Write_Reg(Int32 Addr, Int32 Data)
-{
- var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data);
-
- return 1;
-}
-
-
-
-StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Addr)
-{
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr);
- response.Value = response.Value & 0xffff;
-
- return response;
-}
-
-
-
-
-//end mati \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Motor Frequency.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Motor Frequency.csv
new file mode 100644
index 000000000..4b9e73f00
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Motor Frequency.csv
@@ -0,0 +1,19 @@
+Time,Dispenser 1 Motor Frequency
+13:39:54.945,0
+13:39:55.245,0
+13:39:55.545,0
+13:39:55.845,0
+13:39:56.145,0
+13:39:56.445,0
+13:39:56.745,0
+13:39:57.045,0
+13:39:57.345,0
+13:39:57.645,0
+13:39:57.945,0
+13:39:58.245,0
+13:39:58.545,0
+13:39:58.845,0
+13:39:59.145,0
+13:39:59.445,0
+13:39:59.745,0
+13:40:00.045,0
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Pressure.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Pressure.csv
new file mode 100644
index 000000000..2ff983a1b
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Pressure.csv
@@ -0,0 +1,55 @@
+Time,Dispenser 1 Pressure
+13:39:54.945,0.0458705425262451
+13:39:55.045,0.0317853689193726
+13:39:55.145,0.0388279557228088
+13:39:55.245,0.0353068113327026
+13:39:55.345,0.0353068113327026
+13:39:55.445,0.0353068113327026
+13:39:55.545,0.0353068113327026
+13:39:55.645,0.0282642245292664
+13:39:55.745,0.0353068113327026
+13:39:55.845,0.0353068113327026
+13:39:55.945,0.0353068113327026
+13:39:56.045,0.0388279557228088
+13:39:56.145,0.0388279557228088
+13:39:56.245,0.0317853689193726
+13:39:56.345,0.0353068113327026
+13:39:56.445,0.0353068113327026
+13:39:56.545,0.0353068113327026
+13:39:56.645,0.0388279557228088
+13:39:56.745,0.0388279557228088
+13:39:56.845,0.0353068113327026
+13:39:56.945,0.0388279557228088
+13:39:57.045,0.0388279557228088
+13:39:57.145,0.0317853689193726
+13:39:57.245,0.0388279557228088
+13:39:57.345,0.0388279557228088
+13:39:57.445,0.0282642245292664
+13:39:57.545,0.0353068113327026
+13:39:57.645,0.0388279557228088
+13:39:57.745,0.0353068113327026
+13:39:57.845,0.0388279557228088
+13:39:57.945,0.0317853689193726
+13:39:58.045,0.0388279557228088
+13:39:58.145,0.0353068113327026
+13:39:58.245,0.0317853689193726
+13:39:58.345,0.0423493981361389
+13:39:58.445,0.0317853689193726
+13:39:58.545,0.0423493981361389
+13:39:58.645,0.0353068113327026
+13:39:58.745,0.0353068113327026
+13:39:58.845,0.0282642245292664
+13:39:58.945,0.0353068113327026
+13:39:59.045,0.0317853689193726
+13:39:59.145,0.0317853689193726
+13:39:59.245,0.0353068113327026
+13:39:59.345,0.0388279557228088
+13:39:59.445,0.0388279557228088
+13:39:59.545,0.0458705425262451
+13:39:59.645,0.0353068113327026
+13:39:59.745,0.0353068113327026
+13:39:59.845,0.0317853689193726
+13:39:59.945,0.0317853689193726
+13:40:00.045,0.0353068113327026
+13:40:00.145,0.0388279557228088
+13:40:00.245,0.0388279557228088
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Motor Frequency.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Motor Frequency.csv
new file mode 100644
index 000000000..1bf9584f3
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Motor Frequency.csv
@@ -0,0 +1,19 @@
+Time,Dispenser 2 Motor Frequency
+13:39:54.945,0
+13:39:55.245,0
+13:39:55.545,0
+13:39:55.845,0
+13:39:56.145,0
+13:39:56.445,0
+13:39:56.745,0
+13:39:57.045,0
+13:39:57.345,0
+13:39:57.645,0
+13:39:57.945,0
+13:39:58.245,0
+13:39:58.545,0
+13:39:58.845,0
+13:39:59.145,0
+13:39:59.445,0
+13:39:59.745,0
+13:40:00.045,0
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Pressure.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Pressure.csv
new file mode 100644
index 000000000..88c664efe
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Pressure.csv
@@ -0,0 +1,55 @@
+Time,Dispenser 2 Pressure
+13:39:54.945,0.119816958904266
+13:39:55.045,0.11277437210083
+13:39:55.145,0.119816958904266
+13:39:55.245,0.11629581451416
+13:39:55.345,0.11277437210083
+13:39:55.445,0.119816958904266
+13:39:55.545,0.119816958904266
+13:39:55.645,0.119816958904266
+13:39:55.745,0.11629581451416
+13:39:55.845,0.11629581451416
+13:39:55.945,0.11629581451416
+13:39:56.045,0.126859545707703
+13:39:56.145,0.119816958904266
+13:39:56.245,0.119816958904266
+13:39:56.345,0.11629581451416
+13:39:56.445,0.11629581451416
+13:39:56.545,0.119816958904266
+13:39:56.645,0.11629581451416
+13:39:56.745,0.119816958904266
+13:39:56.845,0.11277437210083
+13:39:56.945,0.119816958904266
+13:39:57.045,0.123338103294373
+13:39:57.145,0.11629581451416
+13:39:57.245,0.11277437210083
+13:39:57.345,0.119816958904266
+13:39:57.445,0.123338103294373
+13:39:57.545,0.119816958904266
+13:39:57.645,0.11629581451416
+13:39:57.745,0.123338103294373
+13:39:57.845,0.11629581451416
+13:39:57.945,0.11629581451416
+13:39:58.045,0.119816958904266
+13:39:58.145,0.11277437210083
+13:39:58.245,0.123338103294373
+13:39:58.345,0.119816958904266
+13:39:58.445,0.119816958904266
+13:39:58.545,0.119816958904266
+13:39:58.645,0.11629581451416
+13:39:58.745,0.119816958904266
+13:39:58.845,0.109253227710724
+13:39:58.945,0.123338103294373
+13:39:59.045,0.123338103294373
+13:39:59.145,0.123338103294373
+13:39:59.245,0.11629581451416
+13:39:59.345,0.119816958904266
+13:39:59.445,0.123338103294373
+13:39:59.545,0.109253227710724
+13:39:59.645,0.119816958904266
+13:39:59.745,0.119816958904266
+13:39:59.845,0.11277437210083
+13:39:59.945,0.11629581451416
+13:40:00.045,0.11629581451416
+13:40:00.145,0.119816958904266
+13:40:00.245,0.11277437210083
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Motor Frequency.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Motor Frequency.csv
new file mode 100644
index 000000000..bdc3c7c8d
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Motor Frequency.csv
@@ -0,0 +1,19 @@
+Time,Dispenser 3 Motor Frequency
+13:39:54.945,0
+13:39:55.245,0
+13:39:55.545,0
+13:39:55.845,0
+13:39:56.145,0
+13:39:56.445,0
+13:39:56.745,0
+13:39:57.045,0
+13:39:57.345,0
+13:39:57.645,0
+13:39:57.945,0
+13:39:58.245,0
+13:39:58.545,0
+13:39:58.845,0
+13:39:59.145,0
+13:39:59.445,0
+13:39:59.745,0
+13:40:00.045,0
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Pressure.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Pressure.csv
new file mode 100644
index 000000000..8f0a93237
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Pressure.csv
@@ -0,0 +1,55 @@
+Time,Dispenser 3 Pressure
+13:39:54.945,-0.00342711806297302
+13:39:55.045,-0.00342711806297302
+13:39:55.145,-0.00342711806297302
+13:39:55.245,-0.00342711806297302
+13:39:55.345,-0.00342711806297302
+13:39:55.445,-0.00342711806297302
+13:39:55.545,-0.00342711806297302
+13:39:55.645,-0.00342711806297302
+13:39:55.745,-0.00342711806297302
+13:39:55.845,-0.00342711806297302
+13:39:55.945,-0.00342711806297302
+13:39:56.045,-0.00342711806297302
+13:39:56.145,-0.00342711806297302
+13:39:56.245,-0.00342711806297302
+13:39:56.345,-0.00342711806297302
+13:39:56.445,-0.00342711806297302
+13:39:56.545,-0.00342711806297302
+13:39:56.645,-0.00342711806297302
+13:39:56.745,-0.00342711806297302
+13:39:56.845,-0.00342711806297302
+13:39:56.945,-0.00342711806297302
+13:39:57.045,-0.00342711806297302
+13:39:57.145,-0.00342711806297302
+13:39:57.245,-0.00342711806297302
+13:39:57.345,-0.00342711806297302
+13:39:57.445,-0.00342711806297302
+13:39:57.545,-0.00342711806297302
+13:39:57.645,-0.00342711806297302
+13:39:57.745,-0.00342711806297302
+13:39:57.845,-0.00342711806297302
+13:39:57.945,-0.00342711806297302
+13:39:58.045,-0.00342711806297302
+13:39:58.145,-0.00342711806297302
+13:39:58.245,-0.00342711806297302
+13:39:58.345,-0.00342711806297302
+13:39:58.445,-0.00342711806297302
+13:39:58.545,-0.00342711806297302
+13:39:58.645,-0.00342711806297302
+13:39:58.745,-0.00342711806297302
+13:39:58.845,-0.00342711806297302
+13:39:58.945,-0.00342711806297302
+13:39:59.045,-0.00342711806297302
+13:39:59.145,-0.00342711806297302
+13:39:59.245,-0.00342711806297302
+13:39:59.345,-0.00342711806297302
+13:39:59.445,-0.00342711806297302
+13:39:59.545,-0.00342711806297302
+13:39:59.645,-0.00342711806297302
+13:39:59.745,-0.00342711806297302
+13:39:59.845,-0.00342711806297302
+13:39:59.945,-0.00342711806297302
+13:40:00.045,-0.00342711806297302
+13:40:00.145,-0.00342711806297302
+13:40:00.245,-0.00342711806297302
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Feeder Motor.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Feeder Motor.csv
new file mode 100644
index 000000000..5080effe1
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Feeder Motor.csv
@@ -0,0 +1,55 @@
+Time,Feeder Motor
+13:39:54.945,0
+13:39:55.045,0
+13:39:55.145,0
+13:39:55.245,0
+13:39:55.345,0
+13:39:55.445,0
+13:39:55.545,0
+13:39:55.645,0
+13:39:55.745,0
+13:39:55.845,0
+13:39:55.945,0
+13:39:56.045,0
+13:39:56.145,0
+13:39:56.245,0
+13:39:56.345,0
+13:39:56.445,0
+13:39:56.545,0
+13:39:56.645,0
+13:39:56.745,0
+13:39:56.845,0
+13:39:56.945,0
+13:39:57.045,0
+13:39:57.145,0
+13:39:57.245,0
+13:39:57.345,0
+13:39:57.445,0
+13:39:57.545,0
+13:39:57.645,0
+13:39:57.745,0
+13:39:57.845,0
+13:39:57.945,0
+13:39:58.045,0
+13:39:58.145,0
+13:39:58.245,0
+13:39:58.345,0
+13:39:58.445,0
+13:39:58.545,0
+13:39:58.645,0
+13:39:58.745,0
+13:39:58.845,0
+13:39:58.945,0
+13:39:59.045,0
+13:39:59.145,0
+13:39:59.245,0
+13:39:59.345,0
+13:39:59.445,0
+13:39:59.545,0
+13:39:59.645,0
+13:39:59.745,0
+13:39:59.845,0
+13:39:59.945,0
+13:40:00.045,0
+13:40:00.145,0
+13:40:00.245,0
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_Valves_test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_Valves_test.cs
new file mode 100644
index 000000000..bacbfdcc1
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_Valves_test.cs
@@ -0,0 +1,65 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "..\Defines\Tango_Defines_GPO.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_Basic.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_GPO.cs"
+
+
+public void OnExecute(StubManager stubManager)
+{
+int i=0;
+int midtankno = 0;
+while(midtankno!=99)
+ {
+ var response = stubManager.ShowResponseWindow("Enter 1-16 to open Midtank, 101-116 to close , 0 - open all midtank ,100-close all midtank: press 99 to quit ", "");
+ //stubManager.WriteLine(response);
+ stubManager.Write("\n");
+ midtankno = int.Parse(response);
+
+
+ if(midtankno==0 )
+ {
+ for (i=0;i<16;i++)
+ {
+ SetBit (FPGA3, F3_VALVE_OUT,15-i, 1);
+ stubManager.Write("Setting GPO F3_VALVE_OUT, bit " + (15-i) + " On\n");
+ Thread.Sleep(1000);
+ }
+ }
+ else if(midtankno==100 )
+ {
+ for (i=0;i<16;i++)
+ {
+ SetBit (FPGA3, F3_VALVE_OUT,15- i, 0);
+ stubManager.Write("Setting GPO F3_VALVE_OUT, bit " + (15-i) + " Off\n");
+ Thread.Sleep(1000);
+ }
+ }
+
+ else if(midtankno<17 )
+ {
+ midtankno=midtankno-1; //start from 0 to 15
+ SetBit (FPGA3, F3_VALVE_OUT,15- i, 1);
+ stubManager.Write("Setting GPO F3_VALVE_OUT, bit " + (15-i) + " On\n");
+ }
+
+ else if(midtankno>100 )
+ {
+ midtankno=midtankno-101; //start from 0 to 15
+ SetBit (FPGA3, F3_VALVE_OUT,15- i, 0);
+ stubManager.Write("Setting GPO F3_VALVE_OUT, bit " + (15-i) + " Off\n");
+ }
+ }
+
+}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs
index 62d0e017f..00ca4e8eb 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs
@@ -39,7 +39,6 @@ private const string FILE_PATH = @"C:\MidTankLog\";
string File_name;
double Full_Cartridge=1000; // on CC
double Slop=0.92;
-
//----------------------
const Int32 I2C_ID = 2;
//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
@@ -48,11 +47,14 @@ const Int32 I2C_ID = 2;
public void OnExecute(StubManager stubManager)
{
+ Int32 Timout ;
+ Int32 Interval;
Int32 midtankno = 0;
double Full_Point=0; //on Voltage
double resualt;
double Sum=0 ;
double Old_Sum=0 ;
+ double Start_Point=0;
if (!Directory.Exists(FILE_PATH))
@@ -76,10 +78,18 @@ public void OnExecute(StubManager stubManager)
midtankno = Int32.Parse(response1);
stubManager.AppendToFile(File_name,"MidTank Number:\t" + response1);
if (midtankno==8)
+ {
Slop=1;
+ Timout=60; //60 minutes
+ Interval=60; //60 second
+ }
else
+ {
Slop=0.92;
+ Timout=10*2; //10 minutes
+ Interval=30; //30 second
+ }
var response10 = stubManager.ShowResponseWindow("Enter Cartridge Valume on CC (500-1500):", "");
stubManager.WriteLine(response10);
Full_Cartridge = double.Parse(response10);
@@ -87,76 +97,113 @@ public void OnExecute(StubManager stubManager)
stubManager.AppendToFile(File_name,"Slop value:\t" + Slop);
- DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + " with "+ Full_Cartridge +" CC" , "Warning",MessageBoxButtons.YesNo);
+ DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + " with "+ Full_Cartridge +" CC" , "Warning",MessageBoxButtons.YesNo);
if(result == DialogResult.Yes)
- {
+ {
- string box_msg = "Please Insert cartridge ";
+ string box_msg = "Please Insert cartridge ";
- MessageBox.Show(box_msg);
-
- open_valve(midtankno,1,1) ; //open Air valve
- open_valve(midtankno,0,1) ; //open Ink valve
- Int32 i=0;
- while (i<60*15) //check for 15 minitus
- {
- Sum=0;
- for (Int32 j=0;j<30;j++)
+ MessageBox.Show(box_msg);
+
+ open_valve(midtankno,1,1) ; //open Air valve
+ open_valve(midtankno,0,1) ; //open Ink valve
+ Int32 i=0;
+ while (i<Timout) //check for 15 minitus
{
- resualt=read_pressure_sensor(midtankno);
- stubManager.AppendToFile(File_name,resualt+",V");
- Sum=Sum+resualt;
- Thread.Sleep(1000);
- }
- i=i+1;
- if (Sum>Old_Sum)
- Old_Sum=Sum-Old_Sum;
- else
- Old_Sum=Old_Sum-Sum;
+ Sum=0;
+ for (Int32 j=0;j<Interval;j++)
+ {
+ resualt=read_pressure_sensor(midtankno);
+ stubManager.AppendToFile(File_name,resualt+",V");
+ Sum=Sum+resualt;
+ Thread.Sleep(1000);
+ }
- if ( Old_Sum <0.02)
- i=60*15; //end
- Old_Sum=Sum;
- }
- Full_Point=Sum/30;
-
+
+ if (i==0)
+ Start_Point=Sum/Interval;
+
+ if (Sum>Old_Sum)
+ Old_Sum=Sum-Old_Sum;
+ else
+ Old_Sum=Old_Sum-Sum;
+
+
+ if ((check_valve(midtankno,1) != 0) && (check_valve(midtankno,0) != 0))
+ {
+ i++;
+ if ( Old_Sum <0.02)
+ i=Timout+1; //end
+ Old_Sum=Sum;
+ }
+ else
+ {
+ open_valve(midtankno,1,0) ; //open Air valve
+ open_valve(midtankno,0,0) ; //open Ink valve
+ Old_Sum=0;
+
+ }
+ }
+ Full_Point=Sum/Interval;
+
- close_valve(midtankno,1,1) ; //close Air valve
- close_valve(midtankno,0,1) ; //close Ink valve
+ close_valve(midtankno,1,1) ; //close Air valve
+ close_valve(midtankno,0,1) ; //close Ink valve
-
- insert_slop_t_eeprom(Full_Point, midtankno);
- box_msg ="Turn Power Off and On to finish the calibration.";
- MessageBox.Show(box_msg);
+
+ if (insert_slop_t_eeprom(Full_Point, midtankno,Start_Point)==0)
+ {
+ box_msg ="Turn Power Off and On to finish the calibration.";
+ MessageBox.Show(box_msg);
+ }
+ else
+ {
+ box_msg ="Calibration error";
+ MessageBox.Show(box_msg);
+
+ }
}
-
}
- int insert_slop_t_eeprom( double FullPoint,Int32 midtankno)
+ int insert_slop_t_eeprom( double FullPoint,Int32 midtankno, double StartPoint)
{
-// stubManager.Write("\n ");
+ stubManager.Write("\n StartPoint = "+ StartPoint +" \n");
+ stubManager.Write("\n FullPoint = "+ FullPoint +" \n");
- MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
+ StartPoint=FullPoint-StartPoint;
+ StartPoint=1000*StartPoint/Full_Cartridge;
+
+ stubManager.Write("\n slop = "+ StartPoint +" \n");
- MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = Convert.ToUInt32 (midtankno-1);
- midTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;
- midTankData.SlopeB = Slop;
-
- stubManager.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
- stubManager.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
+ if ((StartPoint>0.7 ) && (StartPoint<1.6 ))
+ {
+ MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
+
+ MidTankData midTankData = new MidTankData();
+ midTankData.MidTankId = Convert.ToUInt32 (midtankno-1);
+ midTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;
+ midTankData.SlopeB = Slop;
+
+ stubManager.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
+ stubManager.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
+
+ midTankDataSetupRequest.MidTankInfo.Add(midTankData);
- midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-
-var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
+ var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
-return 1;
+ return 0;
+ }
+ else
+ stubManager.Write("\nError");
+ stubManager.AppendToFile(File_name,"\n Slop Error");
+ return 1;
+
}
@@ -378,6 +425,17 @@ int Fpga_Write_Reg(Int32 Addr, Int32 Data)
}
+Int32 check_valve (Int32 valve_nm,int valve_type)
+{
+ Int32 temp1=Convert_Midtank_No[valve_nm-1];
+
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_VALVE_OUT);
+ Int32 RV =(Int32) response.Value & 0xffff ;
+ RV = RV & ( 0x1 << (((valve_type+1)*8)- temp1));
+ return RV;
+
+}
+
StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Addr)
{
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors1.cs
deleted file mode 100644
index 9edb49e03..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors1.cs
+++ /dev/null
@@ -1,423 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.EmbeddedParameters;
-using Tango.Stubs;
-
-//----------------------
-const double MIN_SLOP=0.7;
-const double MAX_SLOP=1.4;
-const double ERROR_SLOP=-1;
-const double MIN_50cc_on_volt=2.3;
-const double MAX_50cc_on_volt=3.2;
-const double ERROR_50cc_on_volt=-1;
-
-int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};
-uint [,] ADC_Add_Chnl = new uint [8,2] {
- {0x44,0x20},
- {0x44,0x08},
- {0x46,0x80},
- {0x46,0x20},
- {0x44,0x10},
- {0x44,0x04},
- {0x46,0x40},
- {0x46,0x10},
- };
-
-
-const Int32 F3_VALVE_OUT = 0x600008E2 ;
-string Machine_SN ;
-private const string FILE_PATH = @"C:\MidTankLog\";
-string File_name;
-double Full_Cartridge=1000; // on CC
-double Slop=0.92;
-
-//----------------------
-const Int32 I2C_ID = 2;
-//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
-//----------------------
-
-
-public void OnExecute(StubManager stubManager)
-{
- Int32 Timout ;
- Int32 Interval;
- Int32 midtankno = 0;
- double Full_Point=0; //on Voltage
- double resualt;
- double Sum=0 ;
- double Old_Sum=0 ;
-
-
- if (!Directory.Exists(FILE_PATH))
- {
- Directory.CreateDirectory(FILE_PATH);
- }
-
-
-
- var response = stubManager.ShowResponseWindow("Enter Midtank S/N: ", "");
- stubManager.Write("\n");
- Machine_SN = response;
- stubManager.WriteLine(Machine_SN);
- File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv";
- stubManager.Write(File_name);
- stubManager.WriteToFile(File_name,"MidTank S/N:," + Machine_SN);
-
-
- var response1 = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
- stubManager.WriteLine(response1);
- midtankno = Int32.Parse(response1);
- stubManager.AppendToFile(File_name,"MidTank Number:\t" + response1);
- if (midtankno==8)
- {
- Slop=1;
- Timout=60; //60 minutes
- Interval=60; //60 second
- }
- else
- {
- Slop=0.92;
- Timout=10*2; //10 minutes
- Interval=30; //30 second
-
- }
- var response10 = stubManager.ShowResponseWindow("Enter Cartridge Valume on CC (500-1500):", "");
- stubManager.WriteLine(response10);
- Full_Cartridge = double.Parse(response10);
- stubManager.AppendToFile(File_name,"Cartridge Valume:\t" + response10);
- stubManager.AppendToFile(File_name,"Slop value:\t" + Slop);
-
-
- DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + " with "+ Full_Cartridge +" CC" , "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
-
-
-
- string box_msg = "Please Insert cartridge ";
-
- MessageBox.Show(box_msg);
-
- open_valve(midtankno,1,1) ; //open Air valve
- open_valve(midtankno,0,1) ; //open Ink valve
- Int32 i=0;
- while (i<Timout) //check for 15 minitus
- {
- Sum=0;
- for (Int32 j=0;j<Interval;j++)
- {
- resualt=read_pressure_sensor(midtankno);
- stubManager.AppendToFile(File_name,resualt+",V");
- Sum=Sum+resualt;
- Thread.Sleep(1000);
- }
- if (Sum>Old_Sum)
- Old_Sum=Sum-Old_Sum;
- else
- Old_Sum=Old_Sum-Sum;
-
- if ((check_valve(midtankno,1) == 0) && (check_valve(midtankno,0) == 0))
- {
- i++;
- if ( Old_Sum <0.02)
- i=Timout; //end
- Old_Sum=Sum;
- }
- else
- {
- open_valve(midtankno,1,0) ; //open Air valve
- open_valve(midtankno,0,0) ; //open Ink valve
- Old_Sum=0;
- }
- }
- Full_Point=Sum/Interval;
-
-
- close_valve(midtankno,1,1) ; //close Air valve
- close_valve(midtankno,0,1) ; //close Ink valve
-
-
- insert_slop_t_eeprom(Full_Point, midtankno);
- box_msg ="Turn Power Off and On to finish the calibration.";
- MessageBox.Show(box_msg);
- }
-
-
-}
-
-
- int insert_slop_t_eeprom( double FullPoint,Int32 midtankno)
-{
-// stubManager.Write("\n ");
-
- MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
- MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = Convert.ToUInt32 (midtankno-1);
- midTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;
- midTankData.SlopeB = Slop;
-
- stubManager.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
- stubManager.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
-
-
- midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-
-
-var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
-
-return 1;
-}
-
-
-int adc_configuration(uint I2C_Slave_Add,uint channel )
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-
-
-int adc_set_for_read_ch(uint I2C_Slave_Add)
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-
-
-
-
-double adc_read_ch(uint I2C_Slave_Add)
- {
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- uint templ=0;
- uint temp;
- double calc;
- double calc1;
- double calc2;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
-
- calc = (double)temp *2.5 / 4096.0;
-
- calc1 = (1.96- calc) * 4.64 + 1.96;
- stubManager.Write("Vsensor [volts]:\t");
- stubManager.Write(calc1 + "\n");
-
-
- return calc1;
- }
-
-double read_pressure_sensor(Int32 i )
- {
-double resualt =0 ;
- switch (i)
- {
- case 1:
- adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 2:
- adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 3:
- adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 4:
- adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 5:
- adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 6:
- adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 7:
- adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 8:
- adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- default:
- stubManager.Write("Error");
-
- break;
- }
-
- return resualt;
- }
-
-
-//--------------------------------
-int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak
-{
- int temp1=Convert_Midtank_No[valve_nm-1] ;
-
- string temp;
- SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);
-
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tOpen\n");
- return 1;
- }
-
- }
- return 1;
-
-}
-//--------------------------------
-int close_valve (int valve_nm,int valve_type,int check_valve)
-{
- int temp1=Convert_Midtank_No[valve_nm-1];
-
- string temp;
- SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tclose\n");
- return 1;
- }
- }
- return 1;
-
-}
-
-public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
-{
- Int32 BitMask;
- var RetVal = Fpga_Read_Reg(Adr);
- Int32 RV = (Int32) RetVal.Value;
-
- if (Bit == 0x1)
- {
- BitMask = 0x1 << BitNo;
- RV = RV | BitMask;
- Fpga_Write_Reg( Adr, RV );
- }
- else if (Bit == 0x0)
- {
- BitMask = ~(0x1 << BitNo);
- RV = RV & BitMask;
- Fpga_Write_Reg(Adr, RV );
- }
- return 1;
-}
-
-int Fpga_Write_Reg(Int32 Addr, Int32 Data)
-{
- var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data);
-
- return 1;
-}
-
-
-Int32 check_valve (Int32 valve_nm,int valve_type)
-{
- Int32 temp1=Convert_Midtank_No[valve_nm-1];
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_VALVE_OUT);
- Int32 RV =(Int32) response.Value & 0xffff ;
- RV = RV & ( 0x1 << (((valve_type+1)*8)- temp1));
- return RV;
-
-}
-
-
-StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Addr)
-{
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr);
- response.Value = response.Value & 0xffff;
-
- return response;
-}
-
-
-
-
-//end mati \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors2.cs
deleted file mode 100644
index 403d0b818..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors2.cs
+++ /dev/null
@@ -1,447 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.EmbeddedParameters;
-using Tango.Stubs;
-
-//----------------------
-const double MIN_SLOP=0.7;
-const double MAX_SLOP=1.4;
-const double ERROR_SLOP=-1;
-const double MIN_50cc_on_volt=2.3;
-const double MAX_50cc_on_volt=3.2;
-const double ERROR_50cc_on_volt=-1;
-
-int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};
-uint [,] ADC_Add_Chnl = new uint [8,2] {
- {0x44,0x20},
- {0x44,0x08},
- {0x46,0x80},
- {0x46,0x20},
- {0x44,0x10},
- {0x44,0x04},
- {0x46,0x40},
- {0x46,0x10},
- };
-
-
-const Int32 F3_VALVE_OUT = 0x600008E2 ;
-string Machine_SN ;
-private const string FILE_PATH = @"C:\MidTankLog\";
-string File_name;
-double Full_Cartridge=1000; // on CC
-double Slop=0.92;
-//----------------------
-const Int32 I2C_ID = 2;
-//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
-//----------------------
-
-
-public void OnExecute(StubManager stubManager)
-{
- Int32 Timout ;
- Int32 Interval;
- Int32 midtankno = 0;
- double Full_Point=0; //on Voltage
- double resualt;
- double Sum=0 ;
- double Old_Sum=0 ;
- double Start_Point=0;
-
-
- if (!Directory.Exists(FILE_PATH))
- {
- Directory.CreateDirectory(FILE_PATH);
- }
-
-
-
- var response = stubManager.ShowResponseWindow("Enter Midtank S/N: ", "");
- stubManager.Write("\n");
- Machine_SN = response;
- stubManager.WriteLine(Machine_SN);
- File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv";
- stubManager.Write(File_name);
- stubManager.WriteToFile(File_name,"MidTank S/N:," + Machine_SN);
-
-
- var response1 = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
- stubManager.WriteLine(response1);
- midtankno = Int32.Parse(response1);
- stubManager.AppendToFile(File_name,"MidTank Number:\t" + response1);
- if (midtankno==8)
- {
- Slop=1;
- Timout=60; //60 minutes
- Interval=60; //60 second
- }
- else
- {
- Slop=0.92;
- Timout=10*2; //10 minutes
- Interval=30; //30 second
-
- }
- var response10 = stubManager.ShowResponseWindow("Enter Cartridge Valume on CC (500-1500):", "");
- stubManager.WriteLine(response10);
- Full_Cartridge = double.Parse(response10);
- stubManager.AppendToFile(File_name,"Cartridge Valume:\t" + response10);
- stubManager.AppendToFile(File_name,"Slop value:\t" + Slop);
-
-
- DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + " with "+ Full_Cartridge +" CC" , "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
-
-
-
- string box_msg = "Please Insert cartridge ";
-
- MessageBox.Show(box_msg);
-
- open_valve(midtankno,1,1) ; //open Air valve
- open_valve(midtankno,0,1) ; //open Ink valve
- Int32 i=0;
- while (i<Timout) //check for 15 minitus
- {
- Sum=0;
- for (Int32 j=0;j<Interval;j++)
- {
- resualt=read_pressure_sensor(midtankno);
- stubManager.AppendToFile(File_name,resualt+",V");
- Sum=Sum+resualt;
- Thread.Sleep(1000);
- }
-
-
- if (i==0)
- Start_Point=Sum/Interval;
-
- if (Sum>Old_Sum)
- Old_Sum=Sum-Old_Sum;
- else
- Old_Sum=Old_Sum-Sum;
-
-
- if ((check_valve(midtankno,1) != 0) && (check_valve(midtankno,0) != 0))
- {
- i++;
- if ( Old_Sum <0.02)
- i=Timout+1; //end
- Old_Sum=Sum;
- }
- else
- {
- open_valve(midtankno,1,0) ; //open Air valve
- open_valve(midtankno,0,0) ; //open Ink valve
- Old_Sum=0;
-
- }
- }
- Full_Point=Sum/Interval;
-
-
- close_valve(midtankno,1,1) ; //close Air valve
- close_valve(midtankno,0,1) ; //close Ink valve
-
-
- if (insert_slop_t_eeprom(Full_Point, midtankno,Start_Point)==0)
- {
- box_msg ="Turn Power Off and On to finish the calibration.";
- MessageBox.Show(box_msg);
- }
- else
- {
- box_msg ="Calibration error";
- MessageBox.Show(box_msg);
-
- }
- }
-
-}
-
-
- int insert_slop_t_eeprom( double FullPoint,Int32 midtankno, double StartPoint)
-{
-// stubManager.Write("\n ");
-
- StartPoint=FullPoint-StartPoint;
- StartPoint=StartPoint/Full_Cartridge;
- if ((StartPoint>0.7 ) && (StartPoint>1.3 ))
- {
- MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
- MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = Convert.ToUInt32 (midtankno-1);
- midTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;
- midTankData.SlopeB = Slop;
-
- stubManager.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
- stubManager.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
-
-
- midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-
-
- var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
-
- return 0;
- }
- else
- stubManager.Write("\nError");
- stubManager.AppendToFile(File_name,"\n Slop Error");
- return 1;
-
-}
-
-
-int adc_configuration(uint I2C_Slave_Add,uint channel )
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-
-
-int adc_set_for_read_ch(uint I2C_Slave_Add)
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-
-
-
-
-double adc_read_ch(uint I2C_Slave_Add)
- {
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- uint templ=0;
- uint temp;
- double calc;
- double calc1;
- double calc2;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
-
- calc = (double)temp *2.5 / 4096.0;
-
- calc1 = (1.96- calc) * 4.64 + 1.96;
- stubManager.Write("Vsensor [volts]:\t");
- stubManager.Write(calc1 + "\n");
-
-
- return calc1;
- }
-
-double read_pressure_sensor(Int32 i )
- {
-double resualt =0 ;
- switch (i)
- {
- case 1:
- adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 2:
- adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 3:
- adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 4:
- adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 5:
- adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 6:
- adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 7:
- adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 8:
- adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- default:
- stubManager.Write("Error");
-
- break;
- }
-
- return resualt;
- }
-
-
-//--------------------------------
-int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak
-{
- int temp1=Convert_Midtank_No[valve_nm-1] ;
-
- string temp;
- SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);
-
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tOpen\n");
- return 1;
- }
-
- }
- return 1;
-
-}
-//--------------------------------
-int close_valve (int valve_nm,int valve_type,int check_valve)
-{
- int temp1=Convert_Midtank_No[valve_nm-1];
-
- string temp;
- SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tclose\n");
- return 1;
- }
- }
- return 1;
-
-}
-
-public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
-{
- Int32 BitMask;
- var RetVal = Fpga_Read_Reg(Adr);
- Int32 RV = (Int32) RetVal.Value;
-
- if (Bit == 0x1)
- {
- BitMask = 0x1 << BitNo;
- RV = RV | BitMask;
- Fpga_Write_Reg( Adr, RV );
- }
- else if (Bit == 0x0)
- {
- BitMask = ~(0x1 << BitNo);
- RV = RV & BitMask;
- Fpga_Write_Reg(Adr, RV );
- }
- return 1;
-}
-
-int Fpga_Write_Reg(Int32 Addr, Int32 Data)
-{
- var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data);
-
- return 1;
-}
-
-
-Int32 check_valve (Int32 valve_nm,int valve_type)
-{
- Int32 temp1=Convert_Midtank_No[valve_nm-1];
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_VALVE_OUT);
- Int32 RV =(Int32) response.Value & 0xffff ;
- RV = RV & ( 0x1 << (((valve_type+1)*8)- temp1));
- return RV;
-
-}
-
-
-StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Addr)
-{
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr);
- response.Value = response.Value & 0xffff;
-
- return response;
-}
-
-
-
-
-//end mati \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Poller Motor.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Poller Motor.csv
new file mode 100644
index 000000000..e42f3c309
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Poller Motor.csv
@@ -0,0 +1,55 @@
+Time,Poller Motor
+13:39:54.945,0
+13:39:55.045,0
+13:39:55.145,0
+13:39:55.245,0
+13:39:55.345,0
+13:39:55.445,0
+13:39:55.545,0
+13:39:55.645,0
+13:39:55.745,0
+13:39:55.845,0
+13:39:55.945,0
+13:39:56.045,0
+13:39:56.145,0
+13:39:56.245,0
+13:39:56.345,0
+13:39:56.445,0
+13:39:56.545,0
+13:39:56.645,0
+13:39:56.745,0
+13:39:56.845,0
+13:39:56.945,0
+13:39:57.045,0
+13:39:57.145,0
+13:39:57.245,0
+13:39:57.345,0
+13:39:57.445,0
+13:39:57.545,0
+13:39:57.645,0
+13:39:57.745,0
+13:39:57.845,0
+13:39:57.945,0
+13:39:58.045,0
+13:39:58.145,0
+13:39:58.245,0
+13:39:58.345,0
+13:39:58.445,0
+13:39:58.545,0
+13:39:58.645,0
+13:39:58.745,0
+13:39:58.845,0
+13:39:58.945,0
+13:39:59.045,0
+13:39:59.145,0
+13:39:59.245,0
+13:39:59.345,0
+13:39:59.445,0
+13:39:59.545,0
+13:39:59.645,0
+13:39:59.745,0
+13:39:59.845,0
+13:39:59.945,0
+13:40:00.045,0
+13:40:00.145,0
+13:40:00.245,0
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Right Dancer.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Right Dancer.csv
new file mode 100644
index 000000000..9efc47b7e
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Right Dancer.csv
@@ -0,0 +1,541 @@
+Time,Right Dancer
+13:39:54.945,12900
+13:39:54.955,12900
+13:39:54.965,12900
+13:39:54.975,12900
+13:39:54.985,12900
+13:39:54.995,12900
+13:39:55.005,12900
+13:39:55.015,12900
+13:39:55.025,12900
+13:39:55.035,12900
+13:39:55.045,12900
+13:39:55.055,12900
+13:39:55.065,12900
+13:39:55.075,12900
+13:39:55.085,12900
+13:39:55.095,12900
+13:39:55.105,12900
+13:39:55.115,12900
+13:39:55.125,12900
+13:39:55.135,12900
+13:39:55.145,12900
+13:39:55.155,12900
+13:39:55.165,12900
+13:39:55.175,12900
+13:39:55.185,12900
+13:39:55.195,12900
+13:39:55.205,12900
+13:39:55.215,12900
+13:39:55.225,12900
+13:39:55.235,12900
+13:39:55.245,12900
+13:39:55.255,12900
+13:39:55.265,12900
+13:39:55.275,12900
+13:39:55.285,12900
+13:39:55.295,12900
+13:39:55.305,12900
+13:39:55.315,12900
+13:39:55.325,12900
+13:39:55.335,12900
+13:39:55.345,12900
+13:39:55.355,12900
+13:39:55.365,12900
+13:39:55.375,12900
+13:39:55.385,12900
+13:39:55.395,12900
+13:39:55.405,12900
+13:39:55.415,12900
+13:39:55.425,12900
+13:39:55.435,12900
+13:39:55.445,12900
+13:39:55.455,12900
+13:39:55.465,12900
+13:39:55.475,12900
+13:39:55.485,12900
+13:39:55.495,12900
+13:39:55.505,12900
+13:39:55.515,12900
+13:39:55.525,12900
+13:39:55.535,12900
+13:39:55.545,12900
+13:39:55.555,12900
+13:39:55.565,12900
+13:39:55.575,12900
+13:39:55.585,12900
+13:39:55.595,12900
+13:39:55.605,12900
+13:39:55.615,12900
+13:39:55.625,12900
+13:39:55.635,12900
+13:39:55.645,12900
+13:39:55.655,12900
+13:39:55.665,12900
+13:39:55.675,12900
+13:39:55.685,12900
+13:39:55.695,12900
+13:39:55.705,12900
+13:39:55.715,12900
+13:39:55.725,12900
+13:39:55.735,12900
+13:39:55.745,12900
+13:39:55.755,12900
+13:39:55.765,12900
+13:39:55.775,12900
+13:39:55.785,12900
+13:39:55.795,12900
+13:39:55.805,12900
+13:39:55.815,12900
+13:39:55.825,12900
+13:39:55.835,12900
+13:39:55.845,12900
+13:39:55.855,12900
+13:39:55.865,12900
+13:39:55.875,12900
+13:39:55.885,12900
+13:39:55.895,12900
+13:39:55.905,12900
+13:39:55.915,12900
+13:39:55.925,12900
+13:39:55.935,12900
+13:39:55.945,12900
+13:39:55.955,12900
+13:39:55.965,12900
+13:39:55.975,12900
+13:39:55.985,12900
+13:39:55.995,12900
+13:39:56.005,12900
+13:39:56.015,12900
+13:39:56.025,12900
+13:39:56.035,12900
+13:39:56.045,12900
+13:39:56.055,12900
+13:39:56.065,12900
+13:39:56.075,12900
+13:39:56.085,12900
+13:39:56.095,12900
+13:39:56.105,12900
+13:39:56.115,12900
+13:39:56.125,12900
+13:39:56.135,12900
+13:39:56.145,12900
+13:39:56.155,12900
+13:39:56.165,12900
+13:39:56.175,12900
+13:39:56.185,12900
+13:39:56.195,12900
+13:39:56.205,12900
+13:39:56.215,12900
+13:39:56.225,12900
+13:39:56.235,12900
+13:39:56.245,12900
+13:39:56.255,12900
+13:39:56.265,12900
+13:39:56.275,12900
+13:39:56.285,12900
+13:39:56.295,12900
+13:39:56.305,12900
+13:39:56.315,12900
+13:39:56.325,12900
+13:39:56.335,12900
+13:39:56.345,12900
+13:39:56.355,12900
+13:39:56.365,12900
+13:39:56.375,12900
+13:39:56.385,12900
+13:39:56.395,12900
+13:39:56.405,12900
+13:39:56.415,12900
+13:39:56.425,12900
+13:39:56.435,12900
+13:39:56.445,12900
+13:39:56.455,12900
+13:39:56.465,12900
+13:39:56.475,12900
+13:39:56.485,12900
+13:39:56.495,12900
+13:39:56.505,12900
+13:39:56.515,12900
+13:39:56.525,12900
+13:39:56.535,12900
+13:39:56.545,12900
+13:39:56.555,12900
+13:39:56.565,12900
+13:39:56.575,12900
+13:39:56.585,12900
+13:39:56.595,12900
+13:39:56.605,12900
+13:39:56.615,12900
+13:39:56.625,12900
+13:39:56.635,12900
+13:39:56.645,12900
+13:39:56.655,12900
+13:39:56.665,12900
+13:39:56.675,12900
+13:39:56.685,12900
+13:39:56.695,12900
+13:39:56.705,12900
+13:39:56.715,12900
+13:39:56.725,12900
+13:39:56.735,12900
+13:39:56.745,12900
+13:39:56.755,12900
+13:39:56.765,12900
+13:39:56.775,12900
+13:39:56.785,12900
+13:39:56.795,12900
+13:39:56.805,12900
+13:39:56.815,12900
+13:39:56.825,12900
+13:39:56.835,12900
+13:39:56.845,12900
+13:39:56.855,12900
+13:39:56.865,12900
+13:39:56.875,12900
+13:39:56.885,12900
+13:39:56.895,12900
+13:39:56.905,12900
+13:39:56.915,12900
+13:39:56.925,12900
+13:39:56.935,12900
+13:39:56.945,12900
+13:39:56.955,12900
+13:39:56.965,12900
+13:39:56.975,12900
+13:39:56.985,12900
+13:39:56.995,12900
+13:39:57.005,12900
+13:39:57.015,12900
+13:39:57.025,12900
+13:39:57.035,12900
+13:39:57.045,12900
+13:39:57.055,12900
+13:39:57.065,12900
+13:39:57.075,12900
+13:39:57.085,12900
+13:39:57.095,12900
+13:39:57.105,12900
+13:39:57.115,12900
+13:39:57.125,12900
+13:39:57.135,12900
+13:39:57.145,12900
+13:39:57.155,12900
+13:39:57.165,12900
+13:39:57.175,12900
+13:39:57.185,12900
+13:39:57.195,12900
+13:39:57.205,12900
+13:39:57.215,12900
+13:39:57.225,12900
+13:39:57.235,12900
+13:39:57.245,12900
+13:39:57.255,12900
+13:39:57.265,12900
+13:39:57.275,12900
+13:39:57.285,12900
+13:39:57.295,12900
+13:39:57.305,12900
+13:39:57.315,12900
+13:39:57.325,12900
+13:39:57.335,12900
+13:39:57.345,12900
+13:39:57.355,12900
+13:39:57.365,12900
+13:39:57.375,12900
+13:39:57.385,12900
+13:39:57.395,12900
+13:39:57.405,12900
+13:39:57.415,12900
+13:39:57.425,12900
+13:39:57.435,12900
+13:39:57.445,12900
+13:39:57.455,12900
+13:39:57.465,12900
+13:39:57.475,12900
+13:39:57.485,12900
+13:39:57.495,12900
+13:39:57.505,12900
+13:39:57.515,12900
+13:39:57.525,12900
+13:39:57.535,12900
+13:39:57.545,12900
+13:39:57.555,12900
+13:39:57.565,12900
+13:39:57.575,12900
+13:39:57.585,12900
+13:39:57.595,12900
+13:39:57.605,12900
+13:39:57.615,12900
+13:39:57.625,12900
+13:39:57.635,12900
+13:39:57.645,12900
+13:39:57.655,12900
+13:39:57.665,12900
+13:39:57.675,12900
+13:39:57.685,12900
+13:39:57.695,12900
+13:39:57.705,12900
+13:39:57.715,12900
+13:39:57.725,12900
+13:39:57.735,12900
+13:39:57.745,12900
+13:39:57.755,12900
+13:39:57.765,12900
+13:39:57.775,12900
+13:39:57.785,12900
+13:39:57.795,12900
+13:39:57.805,12900
+13:39:57.815,12900
+13:39:57.825,12900
+13:39:57.835,12900
+13:39:57.845,12900
+13:39:57.855,12900
+13:39:57.865,12900
+13:39:57.875,12900
+13:39:57.885,12900
+13:39:57.895,12900
+13:39:57.905,12900
+13:39:57.915,12900
+13:39:57.925,12900
+13:39:57.935,12900
+13:39:57.945,12900
+13:39:57.955,12900
+13:39:57.965,12900
+13:39:57.975,12900
+13:39:57.985,12900
+13:39:57.995,12900
+13:39:58.005,12900
+13:39:58.015,12900
+13:39:58.025,12900
+13:39:58.035,12900
+13:39:58.045,12900
+13:39:58.055,12900
+13:39:58.065,12900
+13:39:58.075,12900
+13:39:58.085,12900
+13:39:58.095,12900
+13:39:58.105,12900
+13:39:58.115,12900
+13:39:58.125,12900
+13:39:58.135,12900
+13:39:58.145,12900
+13:39:58.155,12900
+13:39:58.165,12900
+13:39:58.175,12900
+13:39:58.185,12900
+13:39:58.195,12900
+13:39:58.205,12900
+13:39:58.215,12900
+13:39:58.225,12900
+13:39:58.235,12900
+13:39:58.245,12900
+13:39:58.255,12900
+13:39:58.265,12900
+13:39:58.275,12900
+13:39:58.285,12900
+13:39:58.295,12900
+13:39:58.305,12900
+13:39:58.315,12900
+13:39:58.325,12900
+13:39:58.335,12900
+13:39:58.345,12900
+13:39:58.355,12900
+13:39:58.365,12900
+13:39:58.375,12900
+13:39:58.385,12900
+13:39:58.395,12900
+13:39:58.405,12900
+13:39:58.415,12900
+13:39:58.425,12900
+13:39:58.435,12900
+13:39:58.445,12900
+13:39:58.455,12900
+13:39:58.465,12900
+13:39:58.475,12900
+13:39:58.485,12900
+13:39:58.495,12900
+13:39:58.505,12900
+13:39:58.515,12900
+13:39:58.525,12900
+13:39:58.535,12900
+13:39:58.545,12900
+13:39:58.555,12900
+13:39:58.565,12900
+13:39:58.575,12900
+13:39:58.585,12900
+13:39:58.595,12900
+13:39:58.605,12900
+13:39:58.615,12900
+13:39:58.625,12900
+13:39:58.635,12900
+13:39:58.645,12900
+13:39:58.655,12900
+13:39:58.665,12900
+13:39:58.675,12900
+13:39:58.685,12900
+13:39:58.695,12900
+13:39:58.705,12900
+13:39:58.715,12900
+13:39:58.725,12900
+13:39:58.735,12900
+13:39:58.745,12900
+13:39:58.755,12900
+13:39:58.765,12900
+13:39:58.775,12900
+13:39:58.785,12900
+13:39:58.795,12900
+13:39:58.805,12900
+13:39:58.815,12900
+13:39:58.825,12900
+13:39:58.835,12900
+13:39:58.845,12900
+13:39:58.855,12900
+13:39:58.865,12900
+13:39:58.875,12900
+13:39:58.885,12900
+13:39:58.895,12900
+13:39:58.905,12900
+13:39:58.915,12900
+13:39:58.925,12900
+13:39:58.935,12900
+13:39:58.945,12900
+13:39:58.955,12900
+13:39:58.965,12900
+13:39:58.975,12900
+13:39:58.985,12900
+13:39:58.995,12900
+13:39:59.005,12900
+13:39:59.015,12900
+13:39:59.025,12900
+13:39:59.035,12900
+13:39:59.045,12900
+13:39:59.055,12900
+13:39:59.065,12900
+13:39:59.075,12900
+13:39:59.085,12900
+13:39:59.095,12900
+13:39:59.105,12900
+13:39:59.115,12900
+13:39:59.125,12900
+13:39:59.135,12900
+13:39:59.145,12900
+13:39:59.155,12900
+13:39:59.165,12900
+13:39:59.175,12900
+13:39:59.185,12900
+13:39:59.195,12900
+13:39:59.205,12900
+13:39:59.215,12900
+13:39:59.225,12900
+13:39:59.235,12900
+13:39:59.245,12900
+13:39:59.255,12900
+13:39:59.265,12900
+13:39:59.275,12900
+13:39:59.285,12900
+13:39:59.295,12900
+13:39:59.305,12900
+13:39:59.315,12900
+13:39:59.325,12900
+13:39:59.335,12900
+13:39:59.345,12900
+13:39:59.355,12900
+13:39:59.365,12900
+13:39:59.375,12900
+13:39:59.385,12900
+13:39:59.395,12900
+13:39:59.405,12900
+13:39:59.415,12900
+13:39:59.425,12900
+13:39:59.435,12900
+13:39:59.445,12900
+13:39:59.455,12900
+13:39:59.465,12900
+13:39:59.475,12900
+13:39:59.485,12900
+13:39:59.495,12900
+13:39:59.505,12900
+13:39:59.515,12900
+13:39:59.525,12900
+13:39:59.535,12900
+13:39:59.545,12900
+13:39:59.555,12900
+13:39:59.565,12900
+13:39:59.575,12900
+13:39:59.585,12900
+13:39:59.595,12900
+13:39:59.605,12900
+13:39:59.615,12900
+13:39:59.625,12900
+13:39:59.635,12900
+13:39:59.645,12900
+13:39:59.655,12900
+13:39:59.665,12900
+13:39:59.675,12900
+13:39:59.685,12900
+13:39:59.695,12900
+13:39:59.705,12900
+13:39:59.715,12900
+13:39:59.725,12900
+13:39:59.735,12900
+13:39:59.745,12900
+13:39:59.755,12900
+13:39:59.765,12900
+13:39:59.775,12900
+13:39:59.785,12900
+13:39:59.795,12900
+13:39:59.805,12900
+13:39:59.815,12900
+13:39:59.825,12900
+13:39:59.835,12900
+13:39:59.845,12900
+13:39:59.855,12900
+13:39:59.865,12900
+13:39:59.875,12900
+13:39:59.885,12900
+13:39:59.895,12900
+13:39:59.905,12900
+13:39:59.915,12900
+13:39:59.925,12900
+13:39:59.935,12900
+13:39:59.945,12900
+13:39:59.955,12900
+13:39:59.965,12900
+13:39:59.975,12900
+13:39:59.985,12900
+13:39:59.995,12900
+13:40:00.005,12900
+13:40:00.015,12900
+13:40:00.025,12900
+13:40:00.035,12900
+13:40:00.045,12900
+13:40:00.055,12900
+13:40:00.065,12900
+13:40:00.075,12900
+13:40:00.085,12900
+13:40:00.095,12900
+13:40:00.105,12900
+13:40:00.115,12900
+13:40:00.125,12900
+13:40:00.135,12900
+13:40:00.145,12900
+13:40:00.155,12900
+13:40:00.165,12900
+13:40:00.175,12900
+13:40:00.185,12900
+13:40:00.195,12900
+13:40:00.205,12900
+13:40:00.215,12900
+13:40:00.225,12900
+13:40:00.235,12900
+13:40:00.245,12900
+13:40:00.255,12900
+13:40:00.265,12900
+13:40:00.275,12900
+13:40:00.285,12900
+13:40:00.295,12900
+13:40:00.305,12900
+13:40:00.315,12900
+13:40:00.325,12900
+13:40:00.335,12900
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Screw Motor.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Screw Motor.csv
new file mode 100644
index 000000000..ac6f709b1
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Screw Motor.csv
@@ -0,0 +1 @@
+Time,Screw Motor
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams1.cs
deleted file mode 100644
index d3aa81e83..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams1.cs
+++ /dev/null
@@ -1,151 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-using Tango.PMR.EmbeddedParameters;
-
-public void OnExecute(StubManager stubManager)
-{
- uint midtankno = 0;
- double Slop;
- double Zero_Point;
-
-MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
- var response = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
- //stubManager.WriteLine(response);
- stubManager.Write("\n");
- midtankno = uint.Parse(response);
-
- var response1 = stubManager.ShowResponseWindow("Enter Midtank Slop ", "");
- //stubManager.WriteLine(response);
- stubManager.Write("\n");
- Slop = double.Parse(response1);
-
- var response2= stubManager.ShowResponseWindow("Enter Zero point (100cc)", "");
- //stubManager.WriteLine(response);
- stubManager.Write("\n");
- Zero_Point = double.Parse(response2);
-
- DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + "with Slop "+ Slop +" and Zero_Point " + Zero_Point , "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = midtankno-1;
- midTankData.InitialOffsetA = Zero_Point;
- midTankData.SlopeB = Slop;
- midTankDataSetupRequest.MidTankInfo.Add(midTankData);
- var response3 = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
- string box_msg ="Turn Power Off and On to finish the calibration.";
- MessageBox.Show(box_msg);
-
- }
-
-}
-
-
-
-//MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
-//50cc [V] 1.93242734375 1.94375546875 1.9295953125 1.935259375 1.92109921875 2.8245171875 1.92676328125 1.92676328125
- //b [mL/V] -1 -1 -1 -1 -1 0.885922630082808 -1 -1
-/*
-MidTankData midTankData = new MidTankData();
-midTankData.MidTankId = 0;
-midTankData.InitialOffsetA = 2.64273428916931;
-midTankData.SlopeB = 0.899999976158142;
-
-MidTankData midTankData1 = new MidTankData();
-midTankData1.MidTankId = 1;
-midTankData1.InitialOffsetA = 2.63755464553833;
-midTankData1.SlopeB = 0.899999976158142;
-
-MidTankData midTankData2 = new MidTankData();
-midTankData2.MidTankId = 2;
-midTankData2.InitialOffsetA = 2.63525938987732;
-midTankData2.SlopeB = 0.899999976158142;
-
-MidTankData midTankData3 = new MidTankData();
-midTankData3.MidTankId = 3;
-midTankData3.InitialOffsetA = 1.4276158142;
-midTankData3.SlopeB = 0.899999976158142;
-
-
-MidTankData midTankData4 = new MidTankData();
-midTankData4.MidTankId = 4;
-midTankData4.InitialOffsetA = 2.61099219322205;
-midTankData4.SlopeB = 0.899999976158142;
-
-
-MidTankData midTankData5 = new MidTankData();
-midTankData5.MidTankId = 5;
-midTankData5.InitialOffsetA = 2.62451720237732;
-midTankData5.SlopeB = 0.899999976158142;
-
-
-MidTankData midTankData6 = new MidTankData();
-midTankData6.MidTankId = 6;
-midTankData6.InitialOffsetA = 2.62676334381104;
-midTankData6.SlopeB = 0.899999976158142;
-
-MidTankData midTankData7 = new MidTankData();
-midTankData7.MidTankId = 7;
-midTankData7.InitialOffsetA = 2.62676334381104;
-midTankData7.SlopeB = 0.899999976158142;
-
-
-
-midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData1);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData2);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData3);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData4);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData5);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData6);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData7);
-
-
-var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
- */
-
-//}
-
-/*
- int insert_slop_t_eeprom()
-{
- stubManager.Write("\n ");
-
- MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
-
- for (uint i=1;i<9;i++)
- {
- if (voltage_array[i,4]!= ERROR_SLOP)
- {
- MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = i-1;
- midTankData.InitialOffsetA = voltage_array[i,2];
- midTankData.SlopeB = voltage_array[i,4];
-
- stubManager.Write("\nMidtank No:" + i+ "=\tA="+voltage_array[i,2]+"\tSlop="+voltage_array[i,4]);
-
-
- midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-
- }
-var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
-
-
-
- }
-}
-
-*/
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsx b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsx
new file mode 100644
index 000000000..ef3a94e64
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsx
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Copy of Book4.xlsx b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Copy of Book4.xlsx
new file mode 100644
index 000000000..6ea3df3ad
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Copy of Book4.xlsx
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Logger data.xlsx b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Logger data.xlsx
new file mode 100644
index 000000000..0d4bd4d8a
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Logger data.xlsx
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs
new file mode 100644
index 000000000..9571deb9e
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs
@@ -0,0 +1,230 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+//unmark Auto logging !
+
+const Int32 x_POWERSTEP01_CONFIG = 0x1A;
+const Int32 x_POWERSTEP01_STATUS = 0x1B;
+const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
+const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
+
+const Int32 x_ABS_POS = 0x01;
+const Int32 x_EL_POS = 0x02;
+const Int32 x_MARK = 0x03;
+const Int32 x_SPEED = 0x04;
+const Int32 x_ACC = 0x05;
+const Int32 x_DEC = 0x06;
+const Int32 x_MAX_SPEED = 0x07;
+const Int32 x_MIN_SPEED = 0x08;
+const Int32 x_FS_SPD = 0x15;
+const Int32 x_KVAL_HOLD = 0x09;
+const Int32 x_KVAL_RUN = 0x0A;
+const Int32 x_KVAL_ACC = 0x0B;
+const Int32 x_KVAL_DEC = 0x0C;
+const Int32 x_INT_SPD = 0x0D;
+const Int32 x_ST_SLP = 0x0E;
+const Int32 x_FN_SLP_ACC = 0x0F;
+const Int32 x_FN_SLP_DEC = 0x10;
+const Int32 x_K_THERM = 0x11;
+const Int32 x_ADC_OUT = 0x12;
+const Int32 x_OCD_TH = 0x13;
+const Int32 x_STALL_TH = 0x14;
+const Int32 x_STEP_MODE = 0x16;
+const Int32 x_ALARM_EN = 0x17;
+const Int32 x_CONFIG = 0x18;
+const Int32 x_STATUS = 0x19;
+//-------------------------------
+const Int32 x_GET_PARAM = 0x20;
+const Int32 x_SET_PARAM = 0x00;
+
+//-------------------------------
+const Int32 Max_Motor_ID = 25;
+
+string[] Motor_ID = new string[30];
+
+
+Motor_ID[0] ="DH_CLEANHEAD ";
+Motor_ID[1] ="DH_CLEANMECH ";
+Motor_ID[2] ="DH_LID ";
+Motor_ID[3] ="DRYER_DRIVING";
+Motor_ID[4] ="DRYER_LID ";
+Motor_ID[5] ="DRYER_LOADARM";
+Motor_ID[6] ="DISPENCER_1 ";
+Motor_ID[7] ="DISPENCER_2 ";
+Motor_ID[8] ="DISPENCER_3 ";
+Motor_ID[9] ="DISPENCER_4 ";
+Motor_ID[10]="DISPENCER_5 ";
+Motor_ID[11]="DISPENCER_6 ";
+Motor_ID[12]="DISPENCER_7 ";
+Motor_ID[13]="DISPENCER_8 ";
+Motor_ID[14]="SCREW ";
+Motor_ID[15]="WINDER ";
+Motor_ID[16]="LDANCER1 ";
+Motor_ID[17]="LDANCER2 ";
+Motor_ID[18]="LDRIVING ";
+Motor_ID[19]="LLODING ";
+Motor_ID[20]="LPIVOT ";
+Motor_ID[21]="RDANCER ";
+Motor_ID[22]="RDRIVING ";
+Motor_ID[23]="RLOADARM ";
+Motor_ID[24]="RLODING ";
+Motor_ID[25]="SPARE1_1 ";
+Motor_ID[26]="SPARE1_2 ";
+Motor_ID[27]="SPARE2_1 ";
+Motor_ID[28]="SPARE2_2 ";
+Motor_ID[29]="SPARE3 ";
+
+public void OnExecute(StubManager stubManager)
+{
+
+ var i = stubManager.ShowResponseWindow("Please Enter Motor ID:");
+
+ stubManager.Write("Motor_ID:\t\t ");
+ stubManager.Write(i);
+ stubManager.Write("\n");
+/*
+ stubManager.Write("ABS_POS:\t\t");
+ var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("EL_POS:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("MARK:\t\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<24, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("SPEED:\t\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<24, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("ACC:\t\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("DEC:\t\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("MAX_SPEED:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("MIN_SPEED:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("FS_SPD:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("KVAL\\TVAL_HOLD:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8+0x5, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+*/
+ stubManager.Write("KVAL\\TVAL_RUN:\t");
+ var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8+0x20 , 0, 0) ; //3v
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("KVAL\\TVAL_ACC:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8+0x20 , 0, 0); //3v
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("KVAL\\TVAL_DEC:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8+0x20 , 0, 0); //3v
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+/*
+ stubManager.Write("INT_SPEED:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+*/
+ stubManager.Write("ST_SLP\\T_FAST:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0); //0
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("FN_SLP_ACC\\TON_MIN:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0); //0
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("FN_SLP_DEC\\TOFF_MIN:");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0); //00
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+/*
+ stubManager.Write("K_THERM:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("ADC_OUT:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("OCD_TH:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("STALL_TH:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+*/
+ stubManager.Write("STEP_MODE:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8+0x07, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+/*
+ stubManager.Write("ALARM_EN:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("GATECFG1:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("GATECFG2:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("CONFIG:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("STATUS:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+ */
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs
new file mode 100644
index 000000000..46894812c
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs
@@ -0,0 +1,90 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+const Int32 FPGA1 = 0x60000000;
+const Int32 FPGA2 = 0x60000400;
+const Int32 FPGA3 = 0x60000800;
+const Int32 F1_LS_03_Direct = 0x040 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F1_SW_SPOOL_EXISTS F1_SW_SPARE F1_LS_RDANCER_DOWN F1_LS_RDANCER_UP F1_LS_RLOADMOTOR_DOWN F1_LS_RLOADMOTOR_UP F1_LS_RLOADRAM_DOWN F1_LS_RLOADRAM_UP F1_LS_RSPARE1 F1_LS_RSPARE2 F1_LS_SCREW_LEFT F1_LS_SCREW_RIGHT
+
+//include "..\..\Defines\Tango_Defines_Basic.cs"
+//include "Tango_Defines_Motors.cs"
+
+
+public void OnExecute(StubManager stubManager)
+{
+ Int32 position=30;
+ UInt32 temp ;
+ Int32 Bit = 1;
+
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, false, 250); //rotate screw Motor out.
+ Thread.Sleep(2000);
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,3); //stop motor
+ Thread.Sleep(1000);
+
+
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, true, 50);
+ stubManager.Write("\nMove screw in ");
+
+ Bit = 1;
+ int i=0;
+ while ((Bit != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
+ {
+ Bit = GetBit(FPGA1, F1_LS_03_Direct,0);
+ Thread.Sleep(10);
+ i++;
+ }
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,3); //stop motor
+ Thread.Sleep(1000);
+
+
+ stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,14, true, position );
+ Thread.Sleep(1000);
+
+
+}
+
+
+
+
+Int32 GetBit(Int32 Fpga, Int32 Adr, Int32 BitNo)
+{
+ Int32 BitMask;
+ var RetVal = Fpga_Read_Reg(Fpga, Adr, 0);
+ BitMask = 0x1 << BitNo;
+ if ( ( (Int32) RetVal.Value & BitMask) == BitMask )
+ {
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
+
+}
+
+StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Fpga, Int32 Addr, Int32 Verbose)
+{
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" , Fpga + Addr);
+ response.Value = response.Value & 0xffff;
+
+ if (Verbose == 1) {
+ stubManager.Write("FPGA Reg. Read (FPGA Base, Addr, Data): (");
+ stubManager.WriteHex(Fpga,4);
+ stubManager.Write(", ");
+ stubManager.WriteHex(Addr,4);
+ stubManager.Write(", ");
+ stubManager.WriteHex(response.Value,4);
+ stubManager.Write(")");
+ }
+
+ return response;
+}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature.cs
new file mode 100644
index 000000000..fc769f125
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+ //read temerature value
+ var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 1);
+ var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 3);
+ stubManager.Write("\nShinko temerature value: ");
+ stubManager.WriteLine(response1.Progress);
+ //read setting temerature
+ var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 2);
+ var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 4);
+ stubManager.Write("\nShinko setting temerature : ");
+ stubManager.WriteLine(response3.Progress);
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature_1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature_1.cs
new file mode 100644
index 000000000..235c1baa4
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature_1.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+ var response0 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 0);
+ if(response0.Progress == 0)
+ stubManager.Write("\nShinko Init Passed ");
+
+ //read temerature value
+ var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 1);
+ if(response.Progress == 0)
+ stubManager.Write("\nShinko recieve ACQ for reading request of the temerature value");
+ var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 3);
+ stubManager.Write("\nShinko temerature value: ");
+ stubManager.WriteLine(response1.Progress);
+
+ //read setting temerature
+ var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 2);
+ if(response2.Progress == 0)
+ stubManager.Write("\nShinko recieve ACQ for reading request of the setting temerature");
+ var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 4);
+ stubManager.Write("\nShinko setting temerature : ");
+ stubManager.WriteLine(response3.Progress);
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/whs control loop disable.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/whs control loop disable.cs
new file mode 100644
index 000000000..01bd67d0a
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/whs control loop disable.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+//Loading Arm Calibration - this command writes the arm position to a non-volatile memory
+
+int ControlLoopEnable = 0x1000;
+int ControlLoopDisable = 0x0000;
+
+ProgressRequest progressRequest = new ProgressRequest();
+progressRequest.Amount = 0x3e8;
+progressRequest.Delay = ControlLoopDisable+2700;
+
+ var response = stubManager.Run<ProgressResponse>(progressRequest);
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs b/Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs
new file mode 100644
index 000000000..c199b9c29
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+
+
+public void OnExecute(StubManager stubManager)
+{
+ //see online Floating Point to Hex Converter (with Swap endianness) :https://gregstoll.com/~gregstoll/floattohex/
+ // ----------------- option 1 -------------------------------
+ stubManager.WriteLine("--- option 1 ---");
+ float value = 5.2F;
+ byte [] byteArray1 = new byte[4];// a single float is 4 bytes/32 bits
+ byteArray1 = BitConverter.GetBytes(value);
+
+ //print
+ for(int i =0;i<4;i++)
+ {
+ stubManager.WriteHex(byteArray1[i],2);
+ stubManager.Write(" ");
+ }
+ stubManager.WriteLine("");
+ stubManager.WriteLine("");
+
+ // ----------------- option 2 for buffer -------------------------------
+ stubManager.WriteLine("--- option 2 ---");
+ var floatArray1 = new float[] {5.2f, 1.2f, 3.7f};
+
+
+ // create a byte array and copy the floats into it...
+ var byteArray = new byte[floatArray1.Length * 4];// a single float is 4 bytes/32 bits
+ Buffer.BlockCopy(floatArray1, 0, byteArray, 0, byteArray.Length);
+
+ //print
+ for(int j =0;j<floatArray1.Length;j++)
+ {
+ for(int i =0;i<4;i++)
+ {
+ stubManager.WriteHex(byteArray[j+i],2);
+ stubManager.Write(" ");
+ }
+ stubManager.WriteLine("");
+ }
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DispenserEEpromRead.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DispenserEEpromRead.cs
deleted file mode 100644
index 902ac5843..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DispenserEEpromRead.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Diagnostics;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-
-DispenserEEpromRequest dispenserEEpromRequest = new DispenserEEpromRequest();
-dispenserEEpromRequest.DispenserId = 4;
-dispenserEEpromRequest.BurnRequest = false;
-
-
-dispenserEEpromRequest.DispenserEEprom = dispenserEEprom;
-
-
- var response = stubManager.Run<DispenserEEpromResponse>(dispenserEEpromRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DispenserEEpromWrite.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DispenserEEpromWrite.cs
deleted file mode 100644
index a1830796b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DispenserEEpromWrite.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Diagnostics;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-
-DispenserEEpromRequest dispenserEEpromRequest = new DispenserEEpromRequest();
-dispenserEEpromRequest.DispenserId = 4;
-dispenserEEpromRequest.BurnRequest = true;
-
-DispenserEEprom dispenserEEprom = new DispenserEEprom();
-dispenserEEprom.Header = 0;
-dispenserEEprom.TableLength = 0;
-dispenserEEprom.Tableversion = 0;
-dispenserEEprom.DispenserPN = null;
-dispenserEEprom.PCBSN = null;
-dispenserEEprom.PCBPartNumber = null;
-dispenserEEprom.DispenserSN = null;
-dispenserEEprom.MinimalPressure = 0;
-dispenserEEprom.MaximalPressure = 0;
-dispenserEEprom.MinimalMV = 0;
-dispenserEEprom.MaximalMV = 0;
-dispenserEEprom.TotalCycles = 0;
-dispenserEEprom.BubbleSize = 0;
-dispenserEEprom.AVGNlStepValue14 = 0;
-dispenserEEprom.AVGNlStepValue24 = 0;
-dispenserEEprom.AVGNlStepValue34 = 0;
-dispenserEEprom.AVGNlStepValue44 = 0;
-dispenserEEprom.SWReserve = 0;
-dispenserEEprom.Spare1Pressure = 0;
-dispenserEEprom.Spare2Pressure = 0;
-dispenserEEprom.MotorPulsesPerCycle = 0;
-dispenserEEprom.Color = 0;
-dispenserEEprom.PressureSlope = 0;
-dispenserEEprom.ProductionDate = null;
-dispenserEEprom.ATSlocation = 0;
-dispenserEEprom.Spare1 = 0;
-dispenserEEprom.Spare2 = 0;
-dispenserEEprom.ATSChannel = 0;
-dispenserEEprom.UnitEmpty = false;
-dispenserEEprom.DryRunPassFail = false;
-dispenserEEprom.FlowPassFail = false;
-dispenserEEprom.CheckSum = false;
-
-dispenserEEpromRequest.DispenserEEprom = dispenserEEprom;
-
-
- var response = stubManager.Run<DispenserEEpromResponse>(dispenserEEpromRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig.cs
index 5f5c970c1..91b8944ca 100644
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig.cs
@@ -211,7 +211,7 @@ int Test_motor_driving ()
{
MessageBox.Show("Open Dryer Door and add CHEATER to Door. ", "Warning");
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DryerMain_Motor, true, 500); //rotate Dryer Motor.
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DryerMain_Motor, true, 2200); //rotate Dryer Motor.
stubManager.Write("Dryer Motor rotate \n ");
DialogResult result = MessageBox.Show("Are Dryer Motor rotate smoothly ?", "Warning",MessageBoxButtons.YesNo);
if(result == DialogResult.No)
@@ -401,17 +401,17 @@ int Test_LId ()
delay(50);
i++;
}
- stubManager.Write("\n--------1-Lid Open--------");
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
+ if((result1 == DialogResult.No) || (i==200) )
{
Units_status[1,1]="Fail";
stubManager.Write("LS_Lid_Open Not calibrate\n");
return 0;
}
Units_status[1,1]="Pass";
+ stubManager.Write("\n--------1-Lid Open--------");
stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DryerLid_Motor, false, 0x800000+2*(1-PowerStep_driver)); //mov Dryer Lid motor down
@@ -423,16 +423,18 @@ int Test_LId ()
delay(50);
i++;
}
- stubManager.Write("\n--------2-Lid Close--------");
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
+ if((result2 == DialogResult.No) || (i==200))
{
Units_status[2,1]="Fail";
stubManager.Write("LS_Lid_Close Not calibrate\n");
return 0;
}
+
+ stubManager.Write("\n--------2-Lid Close--------");
+
Units_status[2,1]="Pass";
Units_status[0,1]="Pass";
return 1;
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig1.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig1.cs
deleted file mode 100644
index d1f0efa94..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig1.cs
+++ /dev/null
@@ -1,455 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-
-
-const int Dryer_UNDER_TEST=12;
-//--------------------------------------------------------------------------------
-//---------------------------
-Int32 last_14bit_position;
-Int32 position_32bit=0;
-float [] DryerTemp = new float[20] ;
-
-
-string [,] Units_status_Dryer = new string[Dryer_UNDER_TEST,2] {
- {"Lid_Motor","Not Test"}, //0
- {"LS_Lid_Open","Not Test"}, //1
- {"LS_Lid_Close","Not Test"}, //2
- {"DRIVING_Motor","Not Test"}, //3
- {"SSI_Encoder","Not Test"}, //4
- {"LoadArm_Motor","Not Test"}, //5
- {"Blower_test","Not Test"}, //6
- {"Air_PT100_test","Not Test"}, //7
- {"Main_PT100_test","Not Test"}, //8
- {"Sec.PT100","Not Test"}, //9
- {"SSR1_heater","Not Test"}, //10
- {"SSR2_heater","Not Test"}, //11
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-
-public Task<decimal> Dryer_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location )
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (Dryer_UNDER_TEST,Units_status_Dryer);
-
- settext("Test Dryer LId");
- Test_LId();
-
- settext("Test Dryer motor Driving");
- Test_motor_driving();
-
- settext("Test Dryer Load Arm");
- Test_Load_Arm ();
-
- settext("Test Dryer Blower heaters pt100");
- Test_Blower_heaters_pt100();
-
- Status=write_to_file(SN,Location,Dryer_UNDER_TEST,"Dryer");
-
- settext("End Test");
-
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-//------------------------------------------
-int Test_Blower_heaters_pt100()
-{
-
- float ftemp=0;
- float ftemp1=0;
-
- SetBit(F1_gpo_01,5,1); //turn off Blower
- delay(500);
-
- var RetVal=Fpga_Read_Reg(F1_Tacho_reg8);
-
- DialogResult result = MessageBox.Show("Close Dryer Door", "Warning");
-
- SetBit(F1_gpo_01,4,1); //Dir
- SetBit(F1_gpo_01,3,1); //Torqer High
- SetBit(F1_gpo_01,5,0); //turn on Blower
-
- const int LOW = 70;//0 - 100%
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F2_Prescaler1_reg11, 0xFF);//Freq 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F2_BLOWER_PWM_LOW, LOW+1);//Low 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F2_BLOWER_PWM_HIGH, 101 - LOW);//High 8 bit
-
- delay(1000);
- RetVal=Fpga_Read_Reg(F1_Tacho_reg8);
- stubManager.Write("blower Speed- " + RetVal.Value + "\n");
- if ((RetVal.Value<150)||(RetVal.Value>250) )
- {
- Units_status[6,1]="Fail";
- stubManager.Write("Error,Fan rotate\n");
- return 0;
- }
- Units_status[6,1]="Pass";
-
- stubManager.Write("Temp Befor heating \n");
- if (test_pt100_dryer()!=0)
- return 0;
-
-float temp=0;
-float temp1=4096*95*5;
-
- //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
- SetBit (F2_CTRL, 10, 1); //turn SSR1 on
- stubManager.Write("\tTesting SSR no. 1\t");
- delay(1000);
-var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,16);
- temp=Convert.ToUInt32 (response1.SamplingInBits);
- temp=temp*800*3*100;
- temp=temp/(4096*95*50);
- stubManager.Write("Current = "+ temp + "A\n");
- if ((temp>6) || (temp<3))
- Units_status[10,1]="Fail";
- else
- Units_status[10,1]="Pass";
-
- //Write GPO_DRYER_SSR2_CTRL SSR/SSR no. 2
- SetBit (F2_CTRL, 9, 1);
- stubManager.Write("\tTesting SSR no. 2\t");
- delay(1000);
- response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,17);
- temp=Convert.ToUInt32 (response1.SamplingInBits);
- temp=temp*800*3*100;
- temp=temp/(4096*95*100);
- stubManager.Write("Current = "+ temp + "A\n");
- if ((temp>3) || (temp<1))
- Units_status[11,1]="Fail";
- else
- Units_status[11,1]="Pass";
-
- delay(50000);
-
-//check air temp
- ftemp=Read_pt100(6);
- stubManager.Write("After heating air temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[6];
- if ((ftemp<5)||(ftemp>40))
- Units_status[7,1]="Fail";
- else
- Units_status[7,1]="Pass";
-
-
-
-//check Main temp
- ftemp=Read_pt100(7);
- stubManager.Write("After heating Main temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[7];
- if ((ftemp<5)||(ftemp>60))
- Units_status[8,1]="Fail";
- else
- Units_status[8,1]="Pass";
-
-//check Sec. temp
- ftemp=Read_pt100(8);
- stubManager.Write("After heating Sec. temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[8];
- if ((ftemp<5)||(ftemp>60))
- Units_status[9,1]="Fail";
- else
- Units_status[9,1]="Pass";
-
- SetBit (F2_CTRL, 10, 0); //turn SSR1 off
- SetBit (F2_CTRL, 9, 0); //turn SSR2 off
-
- SetBit(F1_gpo_01,5,1); //turn off Blower
- return 1;
-
-}
-
- int test_pt100_dryer()
- {
- float ftemp=0;
- int temp=0;
- int j=0;
- for (int i = 6; i < 9; i++)
- {
- DryerTemp[i]=Read_pt100(i);
-
- ftemp=DryerTemp[i];
- if ((ftemp>140)|| (ftemp<10))
- {
- Units_status[i+1,1]="Fail";
- }
- else
- {
- Units_status[i+1,1]="Pass";
- }
- stubManager.Write(Units_status[i+1,0] +"\t"+ ftemp.ToString("F2"));
- stubManager.Write("°C \t" + Units_status[i+1,1] + " \n");
-
- }
- return 0;
- }
-//------------------------------------------
-int Test_motor_driving ()
-
-{
- MessageBox.Show("Open Dryer Door and add CHEATER to Door. ", "Warning");
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DryerMain_Motor, true, 500); //rotate Dryer Motor.
- stubManager.Write("Dryer Motor rotate \n ");
- DialogResult result = MessageBox.Show("Are Dryer Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("Dryer Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("Dryer Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerMain_Motor,3); //stop motor
-
- return 0;
-}
-//----------------------------------
-int Test_Load_Arm()
-{
-
- Int32 temp3=0;
- Int32 j=0;
- Int32 i=0;
-
- if (!Encoder_Dryer_Exist())
- {
- Units_status[4,1]="Fail";
- stubManager.Write("Encoder of Dryer Fail \n");
- return 0;
-
- }
-// position_32bit=0;
-//last_14bit_position
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- Int32 temp=position_32bit;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 100);//40
- delay(50);
-// temp=ReadEncoder_Dryer();
- while ((temp3>1)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- i++;
- delay(50);
- ReadEncoder_Dryer();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (50*0x4000))
- temp3=3;
- if ((position_32bit-temp)>20)
- temp3++;
-// stubManager.Write("Temp " + temp +"\n");
- temp=position_32bit;
-// stubManager.Write("Temp3 " + temp3 +"\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result1 = MessageBox.Show("Arm Motor rotate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("Arm Motor Not rotate\n");
- return 0;
- }
- Units_status[5,1]="Pass";
-
- DialogResult result2 = MessageBox.Show("Did Arm Motor arrive to mecahnicl stopper ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("Arm Motor Not arrive to mecahnicl stopper \n");
- return 0;
- }
-
- position_32bit=0;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, true, 100);
- delay(50);
- i=0;
- temp3=0;
-
-
- while ((temp3>1)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
-
-
-// while ((Math.Abs(ReadEncoder_Dryer())< (30*0x4000))&& (i<12000))
-//
-// {
- delay(50);
- i++;
-// stubManager.Write("position_32bit " + position_32bit +"\t" + i + "\n" );
- ReadEncoder_Dryer();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (50*0x4000))
- temp3=3;
- if ((temp-position_32bit)>20)
- temp3++;
-// stubManager.Write("Temp " + temp +"\n");
- temp=position_32bit;
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result3 = MessageBox.Show("Did Arm Motor make 30 rounds?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- return 1;
-}
-bool Encoder_Dryer_Exist()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (response.Value & 0x0300);
- if (temp==0)
- return true;
- else
- return false;
-}
-
-
-
-void ReadEncoder_Dryer()
-{
- Int32 temp;
- Int32 temp1;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- if (temp>last_14bit_position)
- {
- temp1=temp-last_14bit_position;
- position_32bit=position_32bit+temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit-0x4000;
- }
- else if (temp<last_14bit_position)
-
- {
- temp1=last_14bit_position-temp;
- position_32bit=position_32bit-temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit+0x4000;
- }
-
- last_14bit_position=temp;
-
- return ;
-}
-//-----------------------------------
-int Test_LId ()
-{
- Int32 Bit = 1;
- int i = 0;
-
- UInt32 PowerStep_driver=0;
-
- if (Get_Driver_Type(4)>0x14)
- PowerStep_driver=1;
-
-
-
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DryerLid_Motor, false, 0x800000+2*(1-PowerStep_driver)); //mov Dryer Lid motor down
- delay(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
- delay(1000);
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DryerLid_Motor, false, 0x800000+2*PowerStep_driver); //mov Dryer Lid motor up
-
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_01_Direct,4);
- delay(50);
- i++;
- }
- stubManager.Write("\n--------1-Lid Open--------");
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_Lid_Open Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DryerLid_Motor, false, 0x800000+2*(1-PowerStep_driver)); //mov Dryer Lid motor down
-
- Bit = 1;
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_01_Direct,5);
- delay(50);
- i++;
- }
- stubManager.Write("\n--------2-Lid Close--------");
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LS_Lid_Close Not calibrate\n");
- return 0;
- }
- Units_status[2,1]="Pass";
- Units_status[0,1]="Pass";
- return 1;
-
-}
-
-UInt32 Get_Driver_Type(UInt32 i)
-{
- Int32 x_GET_PARAM = 0x20;
- Int32 x_ADC_OUT = 0x12;
- UInt32 ADC_out ;
-
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
-
- ADC_out= (response.RecivedData) & 0x001F;
- stubManager.WriteHex(ADC_out,2) ;
- return ADC_out ;
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER1.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER1.cs
deleted file mode 100644
index c484fc39f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER1.cs
+++ /dev/null
@@ -1,978 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-include "Tango_define.cs"
-include "MidTank_Jig.cs"
-include "DyeHead_Jig.cs"
-include "LTFU_Jig.cs"
-include "RTFU_Jig.cs"
-include "Winder_Jig.cs"
-include "Dryer_Jig.cs"
-include "Mixer_Jig.cs"
-include "Location.cs"
-include "New_DyeHead_Jig.cs"
-include "New_Mixer_Jig.cs"
-
-//bool _click = false;
-System.Timers.Timer timer;
-
-
-string [,] Units_status = new string[50,2];
-
-string File_Name1 ;
-string Status;
-
-
-const int Winder =0 ;
-const int LTFU =1 ;
-
-string path;
-string path1="C:\\Jig_Log\\";;
-
-bool BlinkOn = false;
-bool timer_started = false;
-CancellationTokenSource _cancellationTokenSource;
-
-int UNIT_UNDER_TEST ;
-
-
-public void OnExecute(StubManager stubManager)
-{
- Label Run_text = new Label ()
- {
- Width = 110,
- Height =35,
- Text = "",
- BackColor = Color.White
- };
-
- System.Windows.Forms.Label _calc_text= new Label()
- {
- Width = 350,
- Height = 125,
- Text = ""
- };
- void setLabel1TextSafe(string txt)
- {
- if (_calc_text.InvokeRequired)
- _calc_text.Invoke(new Action(() => _calc_text.Text = txt));
- else
- _calc_text.Text = txt;
- }
-
- void timer_Tick(object sender, EventArgs e)
- {
- if (BlinkOn)
- {
- Run_text.ForeColor = Color.Green;
- Run_text.BackColor = Color.White;
- }
- else
- {
- Run_text.ForeColor = Color.Red;
- Run_text.BackColor = Color.Black;
-
- }
- BlinkOn = !BlinkOn;
- }
-
- timer = new System.Timers.Timer();
- timer.Elapsed += timer_Tick;
- timer.Interval = new TimeSpan(0, 0, 0, 0, 500).TotalMilliseconds;
- //stubManager.WriteLine("OK!");
- Form form1 = new Form();
-// Set the caption bar text of the form.
- //form1.TopMost = true;
- form1.Text = "Tests";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
- form1.BackColor = Color.FromArgb(233, 245, 255);
-//start mat
-// Create buttons to Winder.
- Button Winder_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- Winder_btm.Text = "Winder";
- Winder_btm.Location = new Point (4, 70);
- Winder_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(Winder_btm);
-
-// Create buttons to LTFU.
- Button LTFU_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- LTFU_btm.Text = "LTFU";
- LTFU_btm.Location = new Point (94, 70);
- LTFU_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(LTFU_btm);
-
-// Create buttons to Dryer.
- Button Dryer_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- Dryer_btm.Text = "Dryer";
- Dryer_btm.Location = new Point (184, 70);
- Dryer_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(Dryer_btm);
-
-// Create buttons to Dye head.
- Button DyeHead_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- DyeHead_btm.Text = "Dye head";
- DyeHead_btm.Location = new Point (4, 114);
- DyeHead_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(DyeHead_btm);
-
-// Create buttons to RTFU.
- Button RTFU_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- RTFU_btm.Text = "RTFU";
- RTFU_btm.Location = new Point (94, 114);
- RTFU_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(RTFU_btm);
-
-// Create buttons to Mid Tank.
- Button MidTank_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- MidTank_btm.Text = "Mid Tank";
- MidTank_btm.Location = new Point (184, 114);
- MidTank_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(MidTank_btm);
-
-// Create buttons to WHS.
- Button WHS_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- WHS_btm.Text = "WHS";
- WHS_btm.Location = new Point (94, 158);
- WHS_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(WHS_btm);
-
-// Create buttons to Mixer.
- Button Mixer_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- Mixer_btm.Text = "Mixer";
- Mixer_btm.Location = new Point (4, 158) ;
- Mixer_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(Mixer_btm);
-
-// Create buttons to New Mixer .
- Button NewMixer_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- NewMixer_btm.Text = "New Mixer";
- NewMixer_btm.Location = new Point (4, 202);
- NewMixer_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(NewMixer_btm);
-
-// Create buttons to NewDyeHead.
- Button NewDyeHead_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- NewDyeHead_btm.Text = "New Dye head";
- NewDyeHead_btm.Location = new Point (184, 158);
- NewDyeHead_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(NewDyeHead_btm);
-
-//-----Create Lable to Serial Number -----------
-
- Label SN_lbl = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" S/N"
- };
- SN_lbl.Location = new Point (40, 10);
- form1.Controls.Add(SN_lbl);
- TextBox SN_TexstBox = new TextBox ()
- {
- Width = 150,
- Height = 20,
- Text =""
- };
- SN_TexstBox.Location = new Point (40, 40);
- form1.Controls.Add(SN_TexstBox);
- //-----Create Lable to Part Number -----------
-
- Label PN_lbl = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" P/N"
- };
- PN_lbl.Location = new Point (190, 10);
- form1.Controls.Add(PN_lbl);
- TextBox PN_TexstBox = new TextBox ()
- {
- Width = 150,
- Height = 20,
- Text =""
- };
- PN_TexstBox.Location = new Point (190, 40);
- form1.Controls.Add(PN_TexstBox);
- //----------Create Lable to LOCATION----------
- Label Location_lbl = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
- Location_lbl.Location = new Point (440, 10);
- form1.Controls.Add(Location_lbl);
-
- TextBox Location_TexstBox = new TextBox ()
- {
- Width = 150,
- Height = 20,
- Text =Location_str
- };
- Location_TexstBox.Location = new Point (440, 40);
- form1.Controls.Add(Location_TexstBox);
-
- Run_text.Location = new System.Drawing.Point(300, 100);
- Run_text.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
- Run_text.Name = "blink_Text";
- Run_text.Font = new Font("Areal", 16, System.Drawing.FontStyle.Bold);
- form1.Controls.Add(Run_text);
-//--------------------------------------------------------------------------------
- Button Stop_btm = new Button()
- {
- Width = 260,
- Height = 40,
- };
- Stop_btm.Text = "Stop process";
- Stop_btm.BackColor = System.Drawing.Color.Red;
- Stop_btm.Location = new System.Drawing.Point(4, 286);
- Stop_btm.Enabled= false;
- Stop_btm.Click += (_, __) =>
- {
- timer.Stop();
- timer_started = false;
- _cancellationTokenSource.Cancel();
- stubManager.WriteLine("stop ");
-
- };
-
- form1.Controls.Add(Stop_btm);
- disable_test();
- void disable_test()
- {
- Winder_btm.Enabled = false;
- LTFU_btm.Enabled = false;
- RTFU_btm.Enabled = false;
- Dryer_btm.Enabled = false;
- MidTank_btm.Enabled= false;
- DyeHead_btm.Enabled= false;
- WHS_btm.Enabled= false;
- Mixer_btm.Enabled= false;
- NewMixer_btm.Enabled= false;
- NewDyeHead_btm.Enabled= false;
- Stop_btm.Enabled= false;
- }
-
-// void enable_test()
-// {
-// Winder_btm.Enabled = true;
-// LTFU_btm.Enabled = true;
-// RTFU_btm.Enabled = true;
-// Dryer_btm.Enabled = true;
-// MidTank_btm.Enabled= true;
-// DyeHead_btm.Enabled= true;
-// WHS_btm.Enabled= true;
-// Mixer_btm.Enabled= true;
-// NewMixer_btm.Enabled= true;
-// NewDyeHead_btm.Enabled= true;
-// Stop_btm.Enabled= false;
-// }
- void Timer_en()
- {
- if (timer_started == false)
- {
- timer.Start();
- timer_started = true;
- }
- }
- void Timer_dis()
- {
- if (timer_started == true)
- {
- timer.Stop();
- timer_started = false;
- }
- }
- void end_test()
- { disable_test();
- //enable_test();
-
- Timer_dis();
-
- Run_text.Text = Status;
- if (Status=="Pass")
- {
- Run_text.ForeColor = Color.White;;
- Run_text.BackColor = Color.Green;
- }
- else
- {
- Run_text.ForeColor = Color.Black;
- Run_text.BackColor = Color.Red;
-
- }
- }
-
-PN_TexstBox.TextChanged += (_,__)=>
-
- {
- string temp;
-
- if (SN_TexstBox.Text.Length!=15)
- return;
-
-
- if (PN_TexstBox.Text.Contains("-"))
-
- {
- temp=PN_TexstBox.Text.Substring(0, PN_TexstBox.Text.IndexOf("-"));
- disable_test();
- if (SN_TexstBox.Text.Length!=15)
- return;
- switch (temp)
- {
- case "AM00315": //DyeHead
- NewDyeHead_btm.Enabled= true;
- break;
- case "AM00103": //Winder
- Winder_btm.Enabled = true;
- break;
- case "AM00087": //MidTank
- MidTank_btm.Enabled = true;
- break;
- case "AM00031": //LTFU
- LTFU_btm.Enabled = true;
- break;
- case "AM00007": //Dryer
- Dryer_btm.Enabled = true;
- break;
- case "AM00030": //RTFU
- RTFU_btm.Enabled = true;
- break;
- case "AM00286": //New Mixer
- NewMixer_btm.Enabled= true;
- break;
-// case "AM00281": // Mixer
-// Mixer_btm.Enabled= true;
-// break;
- }
-
- }
-
- };
- SN_TexstBox.TextChanged += (_,__)=>
-
- {
- string temp;
- if (SN_TexstBox.Text.Length!=15)
- return;
- if (PN_TexstBox.Text.Contains("-"))
- {
-
- temp=PN_TexstBox.Text.Substring(0, PN_TexstBox.Text.IndexOf("-"));
- disable_test();
- switch (temp)
- {
- case "AM00315": //DyeHead
- NewDyeHead_btm.Enabled= true;
- break;
- case "AM00103": //Winder
- Winder_btm.Enabled = true;
- break;
- case "AM00087": //MidTank
- MidTank_btm.Enabled = true;
- break;
- case "AM00031": //LTFU
- LTFU_btm.Enabled = true;
- break;
- case "AM00007": //Dryer
- Dryer_btm.Enabled = true;
- break;
- case "AM00030": //RTFU
- RTFU_btm.Enabled = true;
- break;
- case "AM00286": //New Mixer
- NewMixer_btm.Enabled= true;
- break;
-// case "AM00281": // Mixer
-// Mixer_btm.Enabled= true;
-// break;
-
- }
- }
- };
-//-----------------------------------------
- Winder_btm.Click += async(_,__) =>
- {
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- Winder ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Winder\\" ;
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- // disable_test();
- Winder_btm.Enabled = false;
- Stop_btm.Enabled= true;
- var longRunningTask = await Winder_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,WINDER_Motor,3); //stop motor
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- LTFU_btm.Click += async(_,__) =>
- {
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- LTFU ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\LTFU\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- LTFU_btm.Enabled = false;
- Stop_btm.Enabled= true;
- var longRunningTask = await LTFU_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold LRoading high z
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER1_Motor, 3); //hold Lloading high z
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDRIVING_Motor,3); //stop motor
-
- Thread.Sleep(100);
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- Dryer_btm.Click += async(_,__) =>
- {
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- Dryer ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Dryer\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- Dryer_btm.Enabled = false;
- Stop_btm.Enabled= true;
- var longRunningTask = await Dryer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
-
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerMain_Motor,3); //stop motor
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
- SetBit (F2_CTRL, 10, 0); //turn SSR1 off
- SetBit (F2_CTRL, 9, 0); //turn SSR2 off
-
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- DyeHead_btm.Click += async(_,__) =>
- {
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- DyeHead ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\DyeHead\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- DyeHead_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await DyeHead_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,MAGNET_Driver,3); //stop magnet
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- SetBit (F2_CTRL, 3, 0);
- SetBit (F2_CTRL, 4, 0);
- SetBit (F2_CTRL, 5, 0);
- SetBit (F2_CTRL, 6, 0);
- SetBit (F1_gpo_01, 2, 0);
- SetBit (F3_GPO_01_bus, 4, 0);
-
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- NewDyeHead_btm.Click += async(_,__) =>
- {
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- New DyeHead ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\NewDyeHead\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- NewDyeHead_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await NewDyeHead_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,MAGNET_Driver,3); //stop magnet
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
-
- for (Int32 i = 0; i < 12; i++) //???MF
- {
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x40F000 + i*0x100); // turn all heaters OFF
- Thread.Sleep(10);
- }
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- RTFU_btm.Click += async(_,__) =>
- {
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- RTFU ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\RTFU\\" ;
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- RTFU_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await RTFU_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(100);
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor,3); //stop motor
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- MidTank_btm.Click += async(_,__) =>
- {
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- MidTank ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\MidTank\\" ;
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- MidTank_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await MidTank_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0); //close all valve
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//---------------------------Mixer--------------
- Mixer_btm.Click += async(_,__) =>
- {
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- Mixer ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Mixer\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- Mixer_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await Mixer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- SetBit (F1_gpo_01, 7, 0); //clear bit F1_VALVE_MIXCHIP_WASTECH
- SetBit (F2_CTRL, 7, 0); //clear bit mixer SSR
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//---------------------------new Mixer--------------
- NewMixer_btm.Click += async(_,__) =>
- {
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- New Mixer ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Mixer\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- NewMixer_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await New_Mixer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- // SetBit (F1_gpo_01, 7, 0); ????????????//clear bit F1_VALVE_MIXCHIP_WASTECH
- // SetBit (F2_CTRL, 7, 0); //????????????clear bit mixer SSR
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-
-//---------------------------WHS--------------
-
-//----------------------------------------
- _calc_text.Location = new System.Drawing.Point(300, 150);
- _calc_text.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
- _calc_text.Name = "";
- _calc_text.Font = new Font("Areal", 16, System.Drawing.FontStyle.Bold);
- form1.Controls.Add(_calc_text);
-// stubManager.WriteLine("Start dialog!");
- form1.ShowDialog();
- return ;
-
-
-}
- //---------------------------------------------------------------------------------------------------------------------
-string write_to_file(string s_n,string loocation,int unit_nm,string DUT)
-
-{
-string Stemp="Pass";
-string Stemp1="P";
-
-int i;
-
- for ( i=0;i<unit_nm;i++)
- {
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- { Stemp="Fail";
- Stemp1="F";
- }
- }
-
-if (!Directory.Exists(path))
- {
- if (!Directory.Exists(path1))
- Directory.CreateDirectory(path1);
- path=path1;
- }
-
-
-
-string File_Name2=Environment.ExpandEnvironmentVariables(path +Stemp1+"_"+ s_n +"_"+DUT +"_"+ DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" );
-
-stubManager.Write(File_Name2 +"\n");
-
-stubManager.WriteToFile(File_Name2,DateTime.Now +" " );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name2,DUT + " Test Report" );
-stubManager.Write(DUT + " Test Report\n" );
-
-stubManager.AppendToFile(File_Name2,DUT + " S/N: \t" + s_n );
-stubManager.Write(DUT + " S/N: \t" + s_n+"\n" );
-
-
-stubManager.AppendToFile(File_Name2,"Location:\t" + loocation +"\n" );
-stubManager.Write("Location:" + loocation+"\n\n" );
-
- for ( i=0;i<unit_nm;i++)
- {
- stubManager.AppendToFile(File_Name2,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name2,"-------------"+DUT+ " Fail ------------ ");
- stubManager.Write("-------------"+DUT+ " Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name2,"-------------"+DUT+ " Pass ------------ ");
- stubManager.Write("-------------"+DUT+ " Pass ------------ ");
- }
- return Stemp;
-}
-
-//-------------------------------------------------------------------------------------
-void copy_table(int testing_nm,string [,]Units_status_DUT)
-{
- for (int i=0;i<testing_nm;i++)
- {
-/// Units_status[i,0]=Units_status_Winder[i,0];
-// Units_status[i,1]=Units_status_Winder[i,1];
- Units_status[i,0]=Units_status_DUT[i,0];
- Units_status[i,1]=Units_status_DUT[i,1];
-
- }
-}
-
-public int delay(Int32 ms_delay)
- {
-int i;
- for (i=0 ;i<ms_delay;i=i+10)
- {
- Thread.Sleep(10);
- if (_cancellationTokenSource.Token.IsCancellationRequested)
- {
- _cancellationTokenSource.Token.ThrowIfCancellationRequested();
- throw new TaskCanceledException();
- return 0;
- }
- }
- return 0;
-
- }
-
-
-Int32 GetBit(Int32 Adr, Int32 BitNo)
-{
- Int32 BitMask;
- var RetVal = Fpga_Read_Reg(Adr);
- BitMask = 0x1 << BitNo;
- if ( ( (Int32) RetVal.Value & BitMask) == BitMask )
- {
- return 1;
- }
- else
- {
- return 0;
- }
-
-}
-
-public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
-{
- Int32 BitMask;
- var RetVal = Fpga_Read_Reg(Adr);
- Int32 RV = (Int32) RetVal.Value;
-
- if (Bit == 0x1)
- {
- BitMask = 0x1 << BitNo;
- RV = RV | BitMask;
- Fpga_Write_Reg( Adr, RV );
- }
- else if (Bit == 0x0)
- {
- BitMask = ~(0x1 << BitNo);
- RV = RV & BitMask;
- Fpga_Write_Reg(Adr, RV );
- }
- return 1;
-}
-
-
-int Fpga_Write_Reg(Int32 Addr, Int32 Data)
-{
- var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data);
-
- return 1;
-}
-
-
-
-StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Addr)
-{
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr);
- response.Value = response.Value & 0xffff;
-
- return response;
-}
-
-float Read_pt100(int i)
-{
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,i); //
-
- float ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
- return (ftemp);
-}
-int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
-{
-
- Int32 Temp = 0;
- Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
- Temp = ((Int32)ParaData1 >> 8) & 0xffff;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
-
- return 1;
-}
-
-//--------------------------------
-int adc_configuration(uint I2C_Slave_Add,uint channel )
-{
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID2;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-//--------------------------------
-int adc_set_for_read_ch(uint I2C_Slave_Add)
-{
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID2;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-//--------------------------------
-
-uint adc_read_ch(uint I2C_Slave_Add)
-{
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID2;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- uint templ=0;
- uint temp;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
-
- return temp;
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs
index ba072b955..7d954e8b1 100644
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs
@@ -52,7 +52,7 @@ public Task<decimal> LTFU_test( Action<string> settext, CancellationToken cancel
Test_LLOADING_LTFU();
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold LRoading high z
delay(100);
-// Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
+ Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
settext("Test LDRIVING LTFU");
Test_LDRIVING_LTFU();
@@ -80,7 +80,7 @@ int Test_LLOADING_LTFU()
int temp=1;
int counter;
-// Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x2c- 1.3A
+ Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x2c- 1.3A
delay(100);
stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Rloading down
delay(3000);
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig1.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig1.cs
deleted file mode 100644
index 801326136..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig1.cs
+++ /dev/null
@@ -1,590 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-const int New_DyeHead_UNDER_TEST=48;
-
-const Int32 MGNET_OPEN=0x42F801;
-const Int32 MGNET_EN=0x42F701;
-const Int32 MGNET_CLOSE=0x42F800;
-const Int32 MGNET_DIS=0x42F700;
-
-const Int32 LS_FRONT=0X460110;
-const Int32 LS_REAR=0X460120;
-const Int32 LS_UPPER=0X460140;
-const Int32 LS_SPARE=0X460180;
-
-
-string EEPROM_Header="Header_1 "; //16 characters
-
-int Head_Mux_Channel_ID = 4; //Head MUX channel
- char[] characters = new char[16];
-
-
-//float [] DyeHeadTemp = new float[6] ;
-
-string [,] Units_status_New_DyeHead = new string[New_DyeHead_UNDER_TEST,2] {
- {"Pt100_Zone_1","Pass"}, //0
- {"Pt100_Zone_2","Pass"}, //1
- {"Pt100_Zone_3","Pass"}, //2
- {"Pt100_Zone_4","Pass"}, //3
- {"Pt100_Zone_5","Pass"}, //4
- {"Pt100_Zone_6","Pass"}, //5
- {"Pt100_Zone_7","Pass"}, //6
- {"Pt100_Zone_8","Pass"}, //7
- {"Pt100_Zone_9","Pass"}, //8
- {"Pt100_Zone_10","Pass"}, //9
- {"Pt100_Zone_11","Pass"}, //10
- {"Pt100_Zone_12","Pass"}, //11
-
- {"Current_Zone_1","Pass"}, //12
- {"Current_Zone_2","Pass"}, //13
- {"Current_Zone_3","Pass"}, //14
- {"Current_Zone_4","Pass"}, //15
- {"Current_Zone_5","Pass"}, //16
- {"Current_Zone_6","Pass"}, //17
- {"Current_Zone_7","Pass"}, //18
- {"Current_Zone_8","Pass"}, //19
- {"Current_Zone_9","Pass"}, //20
- {"Current_Zone_10","Pass"}, //21
- {"Current_Zone_11","Pass"}, //22
- {"Current_Zone_12","Pass"}, //23
-
- {"Break_Zone_1","Pass"}, //24
- {"Break_Zone_2","Pass"}, //25
- {"Break_Zone_3","Pass"}, //26
- {"Break_Zone_4","Pass"}, //27
- {"Break_Zone_5","Pass"}, //28
- {"Break_Zone_6","Pass"}, //29
- {"Break_Zone_7","Pass"}, //30
- {"Break_Zone_8","Pass"}, //31
- {"Break_Zone_9","Pass"}, //32
- {"Break_Zone_10","Pass"}, //33
- {"Break_Zone_11","Pass"}, //34
- {"Break_Zone_12","Pass"}, //35
-
- {"Magnet ","Not Test"}, //36
- {"LS_REAR","Not Test"}, //37
- {"LS_FRONT","Not Test"}, //38
- {"DH_LID_Motor","Not Test"}, //39
-
- {"EEPROM ","Pass"}, //40
-
- {"ACTUATOR_IN","Not Test"}, //41
- {"LS_IN_UP","Not Test"}, //42
- {"LS_IN_DN","Not Test"}, //43
- {"ACTUATOR_OUT","Not Test"}, //44
- {"LS_OUT_UP","Not Test"}, //45
- {"LS_OUT_DN","Not Test"}, //46
-
- {"LS_UPPER_DN","Not Test"}, //47
-
-
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> NewDyeHead_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (New_DyeHead_UNDER_TEST,Units_status_New_DyeHead);
- DialogResult result1 = MessageBox.Show("Make shure, Dyehead is not hot", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- stubManager.AppendToFile(File_Name1,"Dyehead is too hot \tFail");
- stubManager.Write("Dyehead is too hot \tFail\n");
- return 0 ;
- }
- else
- {
-
-//------------------------------- start test -----------
- settext("Test Magnet Motor LS");
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC3,0); // disable i2c
- Test_Magnet_Motor_LS_New_DyeHead();
- delay(2000);
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC3,1); // enable i2c
- delay(2000);
-
-
- settext("Test heaters &pt100");
- Test_new_heaters_pt100 ();
- settext("Test Head EEPROM");
- Test_Head_EEPROM(SN); //pass
- settext("Test Actuator In");
- Test_Actuator_in(); //pass
- settext("Test Actuator Out");
- Test_Actuator_out(); //pass
- Status=write_to_file(SN,Location,New_DyeHead_UNDER_TEST,"Dyehead");
-
- settext("End Test");
- }
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//-------------------------------------------------------------
- int Test_Actuator_in()
-{
- Int32 temp;
- int i=0;
-
- DialogResult result = MessageBox.Show("Is ACTUATOR-IN on Upper Limit Swtich?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down
-
- delay(2000);
- DialogResult result2 = MessageBox.Show("Is ACTUATOR-IN Move to Lower Limit Switch?", "Warning",MessageBoxButtons.YesNo);
- if(result2 != DialogResult.Yes)
- {
- Units_status[43,1]="Fail";
- return 0;
- }
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf001); //mov ACTUATOR-IN up
- delay(2000);
- DialogResult result3 = MessageBox.Show("Is ACTUATOR-IN Move to Upper Limit Switch?", "Warning",MessageBoxButtons.YesNo);
- if(result3 != DialogResult.Yes)
- {
- Units_status[42,1]="Fail";
- return 0;
- }
- Units_status[41,1]="Pass";
- Units_status[42,1]="Pass";
- Units_status[43,1]="Pass";
- return 0;
- }
- else
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf001); //mov ACTUATOR-IN up
- delay(2000);
- DialogResult result4 = MessageBox.Show("Is ACTUATOR-IN Move to Upper Limit Switch ?", "Warning",MessageBoxButtons.YesNo);
- if(result4 != DialogResult.Yes)
- {
- Units_status[42,1]="Fail";
- return 0;
- }
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down
- delay(2000);
- DialogResult result6 = MessageBox.Show("Is ACTUATOR-IN Move to Lower Limit Switch?", "Warning",MessageBoxButtons.YesNo);
- if(result6 != DialogResult.Yes)
- {
- Units_status[43,1]="Fail";
- return 0;
- }
- Units_status[41,1]="Pass";
- Units_status[42,1]="Pass";
- Units_status[43,1]="Pass";
- return 0;
-}
-
-
-
-//-------------------------------------------------------------
- int Test_Actuator_out()
-{
- Int32 temp;
- int i=0;
-
- DialogResult result = MessageBox.Show("Is ACTUATOR-OUT on Upper Limit swtich?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100);
-
-
- delay(2000);
- DialogResult result1 = MessageBox.Show("Is ACTUATOR-OUT Move to Lower Limit Switch?", "Warning",MessageBoxButtons.YesNo);
- if(result1 != DialogResult.Yes)
- {
- Units_status[46,1]="Fail";
- return 0;
- }
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
- delay(2000);
- DialogResult result3 = MessageBox.Show("Is ACTUATOR-OUT Move to Upper Limit Switch?", "Warning",MessageBoxButtons.YesNo);
- if(result3 != DialogResult.Yes)
- {
- Units_status[45,1]="Fail";
- return 0;
- }
- Units_status[44,1]="Pass";
- Units_status[45,1]="Pass";
- Units_status[46,1]="Pass";
- return 0;
- }
- else
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
- delay(2000);
- DialogResult result4 = MessageBox.Show("Is ACTUATOR-OUT Move to Upper Limit Switch?", "Warning",MessageBoxButtons.YesNo);
- if(result4 != DialogResult.Yes)
- {
- Units_status[45,1]="Fail";
- return 0;
- }
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUT down
- delay(2000);
- DialogResult result6 = MessageBox.Show("Is ACTUATOR-OUT Move to Lower Limit Switch?", "Warning",MessageBoxButtons.YesNo);
- if(result6 != DialogResult.Yes)
- {
- Units_status[46,1]="Fail";
- return 0;
- }
- Units_status[44,1]="Pass";
- Units_status[45,1]="Pass";
- Units_status[46,1]="Pass";
- return 0;
- }
-
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_New_DyeHead()
-{
- Int32 temp;
- int i=0;
-
-//---------------------- open Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_OPEN); // turn magnet on
- delay(100);
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_EN); // magnet enable
- delay(100);
-
- stubManager.Write("Magnet is Open\n");
- delay(1000);
-//---------------------- chekc Magnet is open ----------------------------
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp != 0)
- {
- Units_status[47,1]="Fail";
- stubManager.Write("LS_UPPER of Magnet is close\n");
- }
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is close\n");
- return 0;
- }
-//---------------------- Move DyeingHead Lid Motor rear----------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, 250);
- stubManager.Write("*** Open Lid Head ********* \n");
-
- temp = 0;
- i=0;
- while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (LS_REAR); // read LS_REAR
- delay(50);
-
- i++;
- }
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
-// if(i == 200)
-// {
-// Units_status[37,1]="Fail";
-// Units_status[39,1]="Fail";
-// stubManager.Write("LS_REAR Not calibrate\n");
-// return 0;
-// }
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No || i==200)
- {
- Units_status[37,1]="Fail";
- // Units_status[39,1]="Fail";
- stubManager.Write("LS_REAR Not calibrate\n");
- return 0;
- }
- else
- Units_status[37,1]="Pass";
-//---------------------- Move DyeingHead Lid Motor front----------------------------
- stubManager.Write("*** Close Lid Head \n");
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, 250);
- temp = 0;
- i=0;
- while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (LS_FRONT); // read LS_FRONT
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
-// if(i == 200)
-// {
-// Units_status[38,1]="Fail";
-// stubManager.Write("LS_FRONT Not calibrate\n");
-// return 0;
-// }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No || i==200)
- {
- Units_status[38,1]="Fail";
- stubManager.Write("LS_FRONT Not calibrate\n");
-// return 0;
- }
- else
- Units_status[39,1]="Pass";
- Units_status[38,1]="Pass";
-
-//---------------------- Close Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_CLOSE); // turn magnet off
- delay(2000);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_DIS); // magnet Disable
-
- stubManager.Write("Magnet is Close\n");
- delay(1000);
-//---------------------- chekc Magnet is close ----------------------------
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp == 0)
- {
- Units_status[47,1]="Fail";
- stubManager.Write("LS_UPPER of Magnet is open\n");
- return 0;
- }
- DialogResult result4 = MessageBox.Show("Make shure, Magnet is close", "Warning",MessageBoxButtons.OKCancel);
- if(result4 == DialogResult.Cancel)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is open\n");
- return 0;
- }
- Units_status[36,1]="Pass";
- stubManager.Write("Magnet is close\n");
- return 0;
-}
-
-
-//------------------------------------
-public int Test_new_heaters_pt100()
-{
-
-// uint utemp=0;
- Int32 temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
- Double current_sense;
-
- for (Int32 i = 0; i < 12; i++) //12
- {
- Int32 tdly=10000;
-//---------------------- get tempurature of heaters----------------------------
- temp= 12+i/2+(i%2)*8; //HZone_1=12
- //HZone_2=20
- //HZone_3=13
- //HZone_4=21
- //HZone_5=14
- //HZone_6=22
- //HZone_7=15
- //HZone_8=23
- //HZone_9=16
- //HZone_10=24
- //HZone_11=17
- //HZone_11=25
-
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , temp); //get temperature from the buffer
- ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
-
- if ((ftemp>50)|| (ftemp<15))
- {
- Units_status[i,1]="Fail";
- tdly=2000;
-
- }
- stubManager.Write("Zone-"+(i+1)+ "-\t" + ftemp.ToString("F2")+"°C\n");
-//---------------------- get current of heaters ----------------------------
- var response1 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + i); // get current
- current_sense=response1.Pressure;
- if (current_sense>0.1)
- {
- Units_status[i+12,1]="Fail";
- }
- stubManager.Write("current zone -" +(i+1)+ " is \t-" + current_sense +"\n");
-//---------------------- get Break of heaters ----------------------------
- var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x440000 +(i/8)*0x100+(1<<(i&7))); // read break
- temp = (Int32) (response2.Progress);
- if ((temp & (1<<(i&7))) ==0) //if break ok
- {
- Units_status[i+24,1]="Fail";
- stubManager.Write("Break Zone "+(i+1)+ "\t is on\n");
- }
- else
- {
- stubManager.Write("Break Zone "+(i+1)+ "\t is Off\n");
- }
-//---------------------- turn heater on ----------------------------
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x400200 +(i/8)*0x100+(1<<(i&7))); // turn heater on
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x40F001 + i*0x100); // turn heater on
-
- stubManager.Write("Heater- "+(i+1)+ "\t is On\n");
- delay(tdly); //delay 10 second
-//---------------------- get current of heaters ----------------------------
- var response3 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + i); // get current
- current_sense=response3.Pressure;
- if ((current_sense<1.0) ||(current_sense>1.5) ) //if current not 1.25A
- {
- Units_status[i+12,1]="Fail";
- }
- stubManager.Write("current zone -" +(i+1)+ " is \t-" + current_sense +"\n");
-//---------------------- get Break of heaters ----------------------------
- var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x440000 +(i/8)*0x100+(1<<(i&7))); // read break
- temp = (Int32) (response4.Progress);
- if ((temp & (1<<(i&7))) ==0) //if break ok
- {
- stubManager.Write("Break Zone "+(i+1)+ "\t is On\n");
- Units_status[i+24,1]="Fail";
- }
- else
- {
- stubManager.Write("Break Zone "+(i+1)+ "\t is Off\n");
-
- }
- temp= 12+i/2+(i%2)*8;
- var response5 = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , temp); //get temperature from the buffer
- ftemp1 = (float)response5.TemperatureCMultBy100;
- ftemp1 = ftemp1 / 100;
-
- if (((ftemp1-ftemp)<5)|| ((ftemp1-ftemp)>35))
- {
- Units_status[i,1]="Fail";
- }
- stubManager.Write("Zone-"+(i+1)+ " after heating is \t" + ftemp1.ToString("F2")+"°C\n");
-//---------------------- turn heater off ----------------------------
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x400200 +(i/8)*0x100); // turn heater off
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x40F000 + i*0x100); // turn heater OFF
-
- stubManager.Write("Heater - "+(i+1)+ "\t is Off\n");
-
- }
- return 0;
-}
-
-Int32 read_pio(Int32 i2c_input)
-{
- Int32 temp=0;
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,i2c_input); // read break
-
- temp = (Int32) (response.Progress);
- temp =temp & (i2c_input& 0xff); //if break ok
-
- return temp;
-}
-//end mati
-
- //enable_all_channel();
-public int Test_Head_EEPROM(string s_n)
-{
-
- enable_channel(Head_Mux_Channel_ID); // Chanel 0-7 => Disp0enser 0-7
-
- Write_EEPROM(0xA0,s_n);
- delay(200); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
-//------------ go to address 0 on eeprom --------------
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID3;
- stubI2CWriteBytesRequest.SlaveAddress = 0xA0;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
- stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- //Thread.Sleep(1); //Sleep for 10 milli.
- Read_EEPROM(0xA0);
-
- delay(20); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
- return 0;
-
-}
-
-int enable_channel(int Channel_ID)
-{
- uint Const_temp = 0x01;
-
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID3;
- stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;
-
- Const_temp = Const_temp << Channel_ID;
- stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-int Write_EEPROM (uint I2C_Slave_Add,string s_n )
-{
-
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID3;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
-
- //--------------------------------------------------------------
- characters = EEPROM_Header.ToCharArray();
-
- for (int i=0;i<16;i++)
- {
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add header
- // characters[i]=0x20;
- }
- characters = s_n.ToCharArray();
-
- for (int i=0;i<characters.Length ;i++)
- {
-
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add s/n
-
- }
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-int Read_EEPROM(uint I2C_Slave_Add)
-{
- char temp;
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID3;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 16; // Number of header bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- char[] characters = EEPROM_Header.ToCharArray();
- for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
- {
- temp = Convert.ToChar(response1.ReadBytes[i]);
-
-
- }
-
- return 1;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs
index 4f47a1cd0..4e1223328 100644
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs
@@ -48,7 +48,7 @@ public Task<decimal> RTFU_test( Action<string> settext, CancellationToken cancel
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
delay(100);
-// Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
+ Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
settext("Test RDRIVING RTFU");
Test_RDRIVING_RTFU();
@@ -76,7 +76,7 @@ int Test_RLOADING_RTFU()
int temp=1;
int counter;
-// Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x40- 1.9A
+ Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x40- 1.9A
delay(100);
stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
delay(3000);
diff --git a/Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs b/Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs
new file mode 100644
index 000000000..f0c8cb1af
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+ DialogResult d;
+ d=MessageBox.Show("Is it what you need?","Example for Mati", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
+ if(d==DialogResult.Yes)
+ {
+ stubManager.WriteLine("Yes");
+ }
+ else
+ {
+ stubManager.WriteLine("No");
+ }
+/*
+see https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.messagebox.show?view=netcore-3.1
+*/
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Read Dispensers Serial Num.cs b/Software/Stubs Collection/stubs/Scripts/Read Dispensers Serial Num.cs
new file mode 100644
index 000000000..934371725
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Read Dispensers Serial Num.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+ uint i;
+ string serialnum;
+
+ StubDispenserEEpromRequest dispenserEEpromRequest = new StubDispenserEEpromRequest();
+ for (i = 0; i<8;i++)
+ {
+ dispenserEEpromRequest.DispenserId = i;
+ dispenserEEpromRequest.BurnRequest = false;
+ var response = stubManager.Run<StubDispenserEEpromResponse>(dispenserEEpromRequest);
+ stubManager.Write("Dispenser Serial # read \t"+ (i+1) + " serial number "+ response.DispenserEEprom.DispenserSN +"\n");
+ }
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/eepromati2.c b/Software/Stubs Collection/stubs/Scripts/eepromati2.c
new file mode 100644
index 000000000..bd0e44674
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/eepromati2.c
@@ -0,0 +1,458 @@
+Read_Head_EEPROM union <unnamed> {bytes={Header=1437256755,TableLength=260,TableVersion=0,DyeHead_PN=[65 'A',77 'M',...,HeadPCB_SN=...,Buf=... 0x2002BB68
+ bytes struct <unnamed> {Header=0x55AACC33,TableLength=0x00000104,TableVersion=0x00000000,DyeHead_PN=[0x41 'A',...,HeadPCB_SN=... (Hex) 0x2002BB68
+ Header unsigned int 0x55AACC33 (Hex) 0x2002BB68
+ TableLength unsigned int 0x00000104 (Hex) 0x2002BB6C
+ TableVersion unsigned int 0x00000000 (Hex) 0x2002BB70
+ DyeHead_PN unsigned char[20] [0x41 'A',0x4D 'M',0x30 '0',0x30 '0',0x32 '2'...] (Hex) 0x2002BB74
+ [0] unsigned char 0x41 'A' (Hex) 0x2002BB74
+ [1] unsigned char 0x4D 'M' (Hex) 0x2002BB75
+ [2] unsigned char 0x30 '0' (Hex) 0x2002BB76
+ [3] unsigned char 0x30 '0' (Hex) 0x2002BB77
+ [4] unsigned char 0x32 '2' (Hex) 0x2002BB78
+ [5] unsigned char 0x32 '2' (Hex) 0x2002BB79
+ [6] unsigned char 0x32 '2' (Hex) 0x2002BB7A
+ [7] unsigned char 0x33 '3' (Hex) 0x2002BB7B
+ [8] unsigned char 0x2D '-' (Hex) 0x2002BB7C
+ [9] unsigned char 0x30 '0' (Hex) 0x2002BB7D
+ [10] unsigned char 0x30 '0' (Hex) 0x2002BB7E
+ [11] unsigned char 0x00 '\x00' (Hex) 0x2002BB7F
+ [12] unsigned char 0x00 '\x00' (Hex) 0x2002BB80
+ [13] unsigned char 0x00 '\x00' (Hex) 0x2002BB81
+ [14] unsigned char 0x00 '\x00' (Hex) 0x2002BB82
+ [15] unsigned char 0x00 '\x00' (Hex) 0x2002BB83
+ [16] unsigned char 0x00 '\x00' (Hex) 0x2002BB84
+ [17] unsigned char 0x00 '\x00' (Hex) 0x2002BB85
+ [18] unsigned char 0x00 '\x00' (Hex) 0x2002BB86
+ [19] unsigned char 0x00 '\x00' (Hex) 0x2002BB87
+ HeadPCB_SN unsigned char[20] [0x41 'A',0x50 'P',0x30 '0',0x30 '0',0x30 '0'...] (Hex) 0x2002BB88
+ [0] unsigned char 0x41 'A' (Hex) 0x2002BB88
+ [1] unsigned char 0x50 'P' (Hex) 0x2002BB89
+ [2] unsigned char 0x30 '0' (Hex) 0x2002BB8A
+ [3] unsigned char 0x30 '0' (Hex) 0x2002BB8B
+ [4] unsigned char 0x30 '0' (Hex) 0x2002BB8C
+ [5] unsigned char 0x39 '9' (Hex) 0x2002BB8D
+ [6] unsigned char 0x33 '3' (Hex) 0x2002BB8E
+ [7] unsigned char 0x31 '1' (Hex) 0x2002BB8F
+ [8] unsigned char 0x00 '\x00' (Hex) 0x2002BB90
+ [9] unsigned char 0x00 '\x00' (Hex) 0x2002BB91
+ [10] unsigned char 0x00 '\x00' (Hex) 0x2002BB92
+ [11] unsigned char 0x00 '\x00' (Hex) 0x2002BB93
+ [12] unsigned char 0x00 '\x00' (Hex) 0x2002BB94
+ [13] unsigned char 0x00 '\x00' (Hex) 0x2002BB95
+ [14] unsigned char 0x00 '\x00' (Hex) 0x2002BB96
+ [15] unsigned char 0x00 '\x00' (Hex) 0x2002BB97
+ [16] unsigned char 0x00 '\x00' (Hex) 0x2002BB98
+ [17] unsigned char 0x00 '\x00' (Hex) 0x2002BB99
+ [18] unsigned char 0x00 '\x00' (Hex) 0x2002BB9A
+ [19] unsigned char 0x00 '\x00' (Hex) 0x2002BB9B
+ HeadPCB_PN unsigned char[20] [0x41 'A',0x50 'P',0x30 '0',0x30 '0',0x30 '0'...] (Hex) 0x2002BB9C
+ [0] unsigned char 0x41 'A' (Hex) 0x2002BB9C
+ [1] unsigned char 0x50 'P' (Hex) 0x2002BB9D
+ [2] unsigned char 0x30 '0' (Hex) 0x2002BB9E
+ [3] unsigned char 0x30 '0' (Hex) 0x2002BB9F
+ [4] unsigned char 0x30 '0' (Hex) 0x2002BBA0
+ [5] unsigned char 0x39 '9' (Hex) 0x2002BBA1
+ [6] unsigned char 0x33 '3' (Hex) 0x2002BBA2
+ [7] unsigned char 0x31 '1' (Hex) 0x2002BBA3
+ [8] unsigned char 0x00 '\x00' (Hex) 0x2002BBA4
+ [9] unsigned char 0x00 '\x00' (Hex) 0x2002BBA5
+ [10] unsigned char 0x00 '\x00' (Hex) 0x2002BBA6
+ [11] unsigned char 0x00 '\x00' (Hex) 0x2002BBA7
+ [12] unsigned char 0x00 '\x00' (Hex) 0x2002BBA8
+ [13] unsigned char 0x00 '\x00' (Hex) 0x2002BBA9
+ [14] unsigned char 0x00 '\x00' (Hex) 0x2002BBAA
+ [15] unsigned char 0x00 '\x00' (Hex) 0x2002BBAB
+ [16] unsigned char 0x00 '\x00' (Hex) 0x2002BBAC
+ [17] unsigned char 0x00 '\x00' (Hex) 0x2002BBAD
+ [18] unsigned char 0x00 '\x00' (Hex) 0x2002BBAE
+ [19] unsigned char 0x00 '\x00' (Hex) 0x2002BBAF
+ DyeHead_SN unsigned char[20] [0x31 '1',0x32 '2',0x33 '3',0x34 '4',0x35 '5'...] (Hex) 0x2002BBB0
+ [0] unsigned char 0x31 '1' (Hex) 0x2002BBB0
+ [1] unsigned char 0x32 '2' (Hex) 0x2002BBB1
+ [2] unsigned char 0x33 '3' (Hex) 0x2002BBB2
+ [3] unsigned char 0x34 '4' (Hex) 0x2002BBB3
+ [4] unsigned char 0x35 '5' (Hex) 0x2002BBB4
+ [5] unsigned char 0x36 '6' (Hex) 0x2002BBB5
+ [6] unsigned char 0x37 '7' (Hex) 0x2002BBB6
+ [7] unsigned char 0x38 '8' (Hex) 0x2002BBB7
+ [8] unsigned char 0x39 '9' (Hex) 0x2002BBB8
+ [9] unsigned char 0x30 '0' (Hex) 0x2002BBB9
+ [10] unsigned char 0x31 '1' (Hex) 0x2002BBBA
+ [11] unsigned char 0x32 '2' (Hex) 0x2002BBBB
+ [12] unsigned char 0x33 '3' (Hex) 0x2002BBBC
+ [13] unsigned char 0x34 '4' (Hex) 0x2002BBBD
+ [14] unsigned char 0x35 '5' (Hex) 0x2002BBBE
+ [15] unsigned char 0x00 '\x00' (Hex) 0x2002BBBF
+ [16] unsigned char 0x00 '\x00' (Hex) 0x2002BBC0
+ [17] unsigned char 0x00 '\x00' (Hex) 0x2002BBC1
+ [18] unsigned char 0x00 '\x00' (Hex) 0x2002BBC2
+ [19] unsigned char 0x00 '\x00' (Hex) 0x2002BBC3
+ HeadType unsigned int 0x00000020 (Hex) 0x2002BBC4
+ BlowerRunHours1 unsigned int 0x00000000 (Hex) 0x2002BBC8
+ BlowerRunHours2 unsigned int 0x00000000 (Hex) 0x2002BBCC
+ FanFilterMaxLifecycle unsigned int 0x0000FFFF (Hex) 0x2002BBD0
+ FansFilterUsageHours unsigned int 0x00000000 (Hex) 0x2002BBD4
+ FilterSpare1 unsigned int 0x00000000 (Hex) 0x2002BBD8
+ FilterSpare2 unsigned int 0x00000000 (Hex) 0x2002BBDC
+ BenchTestD unsigned int 0x00000000 (Hex) 0x2002BBE0
+ Spare1 unsigned int 0x00000000 (Hex) 0x2002BBE4
+ Spare2 unsigned int 0x00000000 (Hex) 0x2002BBE8
+ ProductionTestDate unsigned char[8] [0x32 '2',0x31 '1',0x2F '/',0x31 '1',0x30 '0'...] (Hex) 0x2002BBEC
+ [0] unsigned char 0x32 '2' (Hex) 0x2002BBEC
+ [1] unsigned char 0x31 '1' (Hex) 0x2002BBED
+ [2] unsigned char 0x2F '/' (Hex) 0x2002BBEE
+ [3] unsigned char 0x31 '1' (Hex) 0x2002BBEF
+ [4] unsigned char 0x30 '0' (Hex) 0x2002BBF0
+ [5] unsigned char 0x2F '/' (Hex) 0x2002BBF1
+ [6] unsigned char 0x32 '2' (Hex) 0x2002BBF2
+ [7] unsigned char 0x30 '0' (Hex) 0x2002BBF3
+ FuncTestStatus unsigned int 0x00000046 (Hex) 0x2002BBF4
+ PresSensPCB_SN unsigned char[20] [0x30 '0',0x30 '0',0x30 '0',0x31 '1',0x00 '\x00'...] (Hex) 0x2002BBF8
+ [0] unsigned char 0x30 '0' (Hex) 0x2002BBF8
+ [1] unsigned char 0x30 '0' (Hex) 0x2002BBF9
+ [2] unsigned char 0x30 '0' (Hex) 0x2002BBFA
+ [3] unsigned char 0x31 '1' (Hex) 0x2002BBFB
+ [4] unsigned char 0x00 '\x00' (Hex) 0x2002BBFC
+ [5] unsigned char 0x00 '\x00' (Hex) 0x2002BBFD
+ [6] unsigned char 0x00 '\x00' (Hex) 0x2002BBFE
+ [7] unsigned char 0x00 '\x00' (Hex) 0x2002BBFF
+ [8] unsigned char 0x00 '\x00' (Hex) 0x2002BC00
+ [9] unsigned char 0x00 '\x00' (Hex) 0x2002BC01
+ [10] unsigned char 0x00 '\x00' (Hex) 0x2002BC02
+ [11] unsigned char 0x00 '\x00' (Hex) 0x2002BC03
+ [12] unsigned char 0x00 '\x00' (Hex) 0x2002BC04
+ [13] unsigned char 0x00 '\x00' (Hex) 0x2002BC05
+ [14] unsigned char 0x00 '\x00' (Hex) 0x2002BC06
+ [15] unsigned char 0x00 '\x00' (Hex) 0x2002BC07
+ [16] unsigned char 0x00 '\x00' (Hex) 0x2002BC08
+ [17] unsigned char 0x00 '\x00' (Hex) 0x2002BC09
+ [18] unsigned char 0x00 '\x00' (Hex) 0x2002BC0A
+ [19] unsigned char 0x00 '\x00' (Hex) 0x2002BC0B
+ PresSensPCB_PN unsigned char[20] [0x41 'A',0x50 'P',0x30 '0',0x30 '0',0x32 '2'...] (Hex) 0x2002BC0C
+ [0] unsigned char 0x41 'A' (Hex) 0x2002BC0C
+ [1] unsigned char 0x50 'P' (Hex) 0x2002BC0D
+ [2] unsigned char 0x30 '0' (Hex) 0x2002BC0E
+ [3] unsigned char 0x30 '0' (Hex) 0x2002BC0F
+ [4] unsigned char 0x32 '2' (Hex) 0x2002BC10
+ [5] unsigned char 0x32 '2' (Hex) 0x2002BC11
+ [6] unsigned char 0x33 '3' (Hex) 0x2002BC12
+ [7] unsigned char 0x31 '1' (Hex) 0x2002BC13
+ [8] unsigned char 0x00 '\x00' (Hex) 0x2002BC14
+ [9] unsigned char 0x00 '\x00' (Hex) 0x2002BC15
+ [10] unsigned char 0x00 '\x00' (Hex) 0x2002BC16
+ [11] unsigned char 0x00 '\x00' (Hex) 0x2002BC17
+ [12] unsigned char 0x00 '\x00' (Hex) 0x2002BC18
+ [13] unsigned char 0x00 '\x00' (Hex) 0x2002BC19
+ [14] unsigned char 0x00 '\x00' (Hex) 0x2002BC1A
+ [15] unsigned char 0x00 '\x00' (Hex) 0x2002BC1B
+ [16] unsigned char 0x00 '\x00' (Hex) 0x2002BC1C
+ [17] unsigned char 0x00 '\x00' (Hex) 0x2002BC1D
+ [18] unsigned char 0x00 '\x00' (Hex) 0x2002BC1E
+ [19] unsigned char 0x00 '\x00' (Hex) 0x2002BC1F
+ PressCalibDate1 unsigned char[8] [0xFF '\xff',0xFF '\xff',0xFF '\xff',0xFF '\xff',0xFF '\xff'...] (Hex) 0x2002BC20
+ [0] unsigned char 0xFF '\xff' (Hex) 0x2002BC20
+ [1] unsigned char 0xFF '\xff' (Hex) 0x2002BC21
+ [2] unsigned char 0xFF '\xff' (Hex) 0x2002BC22
+ [3] unsigned char 0xFF '\xff' (Hex) 0x2002BC23
+ [4] unsigned char 0xFF '\xff' (Hex) 0x2002BC24
+ [5] unsigned char 0xFF '\xff' (Hex) 0x2002BC25
+ [6] unsigned char 0xFF '\xff' (Hex) 0x2002BC26
+ [7] unsigned char 0xFF '\xff' (Hex) 0x2002BC27
+ PressWithoutBlower_mV1 unsigned int 0x00000002 (Hex) 0x2002BC28
+ PressWithMinBlower_mV1 unsigned int 0x00000003 (Hex) 0x2002BC2C
+ PressMaxPress_mV1 unsigned int 0x00000F50 (Hex) 0x2002BC30
+ PressCalibDate2 unsigned char[8] [0x32 '2',0x31 '1',0x2F '/',0x31 '1',0x30 '0'...] (Hex) 0x2002BC34
+ [0] unsigned char 0x32 '2' (Hex) 0x2002BC34
+ [1] unsigned char 0x31 '1' (Hex) 0x2002BC35
+ [2] unsigned char 0x2F '/' (Hex) 0x2002BC36
+ [3] unsigned char 0x31 '1' (Hex) 0x2002BC37
+ [4] unsigned char 0x30 '0' (Hex) 0x2002BC38
+ [5] unsigned char 0x2F '/' (Hex) 0x2002BC39
+ [6] unsigned char 0x32 '2' (Hex) 0x2002BC3A
+ [7] unsigned char 0x30 '0' (Hex) 0x2002BC3B
+ PressWithoutBlower_mV2 unsigned int 0x00000000 (Hex) 0x2002BC3C
+ PressWithMinBlower_mV2 unsigned int 0x00000005 (Hex) 0x2002BC40
+ PressMaxPress_mV2 unsigned int 0x00000F50 (Hex) 0x2002BC44
+ FansMinPWM unsigned int 0x00000000 (Hex) 0x2002BC48
+ FansMinRPM unsigned int 0x00000CE4 (Hex) 0x2002BC4C
+ FansMaxPWM unsigned int 0x00000064 (Hex) 0x2002BC50
+ FansMaxRPM unsigned int 0x0000044C (Hex) 0x2002BC54
+ FansNomPWM unsigned int 0x00000046 (Hex) 0x2002BC58
+ FansNomRPM unsigned int 0x00001F40 (Hex) 0x2002BC5C
+ FansLimitRPM unsigned int 0x00001388 (Hex) 0x2002BC60
+ FansTachoPPR unsigned int 0x00000002 (Hex) 0x2002BC64
+ FansSpare1 unsigned int 0x00000000 (Hex) 0x2002BC68
+ FansSpare2 unsigned int 0x00000000 (Hex) 0x2002BC6C
+ CheckSum unsigned int 0x00002257 (Hex) 0x2002BC70
+ Buf unsigned char[268] [51 '3',204 '\xcc',170 '\xaa',85 'U',4 '\x04'...] 0x2002BB68
+ [0 ... 99]
+ [0] unsigned char 51 '3' 0x2002BB68
+ [1] unsigned char 204 '\xcc' 0x2002BB69
+ [2] unsigned char 170 '\xaa' 0x2002BB6A
+ [3] unsigned char 85 'U' 0x2002BB6B
+ [4] unsigned char 4 '\x04' 0x2002BB6C
+ [5] unsigned char 1 '\x01' 0x2002BB6D
+ [6] unsigned char 0 '\x00' 0x2002BB6E
+ [7] unsigned char 0 '\x00' 0x2002BB6F
+ [8] unsigned char 0 '\x00' 0x2002BB70
+ [9] unsigned char 0 '\x00' 0x2002BB71
+ [10] unsigned char 0 '\x00' 0x2002BB72
+ [11] unsigned char 0 '\x00' 0x2002BB73
+ [12] unsigned char 65 'A' 0x2002BB74
+ [13] unsigned char 77 'M' 0x2002BB75
+ [14] unsigned char 48 '0' 0x2002BB76
+ [15] unsigned char 48 '0' 0x2002BB77
+ [16] unsigned char 50 '2' 0x2002BB78
+ [17] unsigned char 50 '2' 0x2002BB79
+ [18] unsigned char 50 '2' 0x2002BB7A
+ [19] unsigned char 51 '3' 0x2002BB7B
+ [20] unsigned char 45 '-' 0x2002BB7C
+ [21] unsigned char 48 '0' 0x2002BB7D
+ [22] unsigned char 48 '0' 0x2002BB7E
+ [23] unsigned char 0 '\x00' 0x2002BB7F
+ [24] unsigned char 0 '\x00' 0x2002BB80
+ [25] unsigned char 0 '\x00' 0x2002BB81
+ [26] unsigned char 0 '\x00' 0x2002BB82
+ [27] unsigned char 0 '\x00' 0x2002BB83
+ [28] unsigned char 0 '\x00' 0x2002BB84
+ [29] unsigned char 0 '\x00' 0x2002BB85
+ [30] unsigned char 0 '\x00' 0x2002BB86
+ [31] unsigned char 0 '\x00' 0x2002BB87
+ [32] unsigned char 65 'A' 0x2002BB88
+ [33] unsigned char 80 'P' 0x2002BB89
+ [34] unsigned char 48 '0' 0x2002BB8A
+ [35] unsigned char 48 '0' 0x2002BB8B
+ [36] unsigned char 48 '0' 0x2002BB8C
+ [37] unsigned char 57 '9' 0x2002BB8D
+ [38] unsigned char 51 '3' 0x2002BB8E
+ [39] unsigned char 49 '1' 0x2002BB8F
+ [40] unsigned char 0 '\x00' 0x2002BB90
+ [41] unsigned char 0 '\x00' 0x2002BB91
+ [42] unsigned char 0 '\x00' 0x2002BB92
+ [43] unsigned char 0 '\x00' 0x2002BB93
+ [44] unsigned char 0 '\x00' 0x2002BB94
+ [45] unsigned char 0 '\x00' 0x2002BB95
+ [46] unsigned char 0 '\x00' 0x2002BB96
+ [47] unsigned char 0 '\x00' 0x2002BB97
+ [48] unsigned char 0 '\x00' 0x2002BB98
+ [49] unsigned char 0 '\x00' 0x2002BB99
+ [50] unsigned char 0 '\x00' 0x2002BB9A
+ [51] unsigned char 0 '\x00' 0x2002BB9B
+ [52] unsigned char 65 'A' 0x2002BB9C
+ [53] unsigned char 80 'P' 0x2002BB9D
+ [54] unsigned char 48 '0' 0x2002BB9E
+ [55] unsigned char 48 '0' 0x2002BB9F
+ [56] unsigned char 48 '0' 0x2002BBA0
+ [57] unsigned char 57 '9' 0x2002BBA1
+ [58] unsigned char 51 '3' 0x2002BBA2
+ [59] unsigned char 49 '1' 0x2002BBA3
+ [60] unsigned char 0 '\x00' 0x2002BBA4
+ [61] unsigned char 0 '\x00' 0x2002BBA5
+ [62] unsigned char 0 '\x00' 0x2002BBA6
+ [63] unsigned char 0 '\x00' 0x2002BBA7
+ [64] unsigned char 0 '\x00' 0x2002BBA8
+ [65] unsigned char 0 '\x00' 0x2002BBA9
+ [66] unsigned char 0 '\x00' 0x2002BBAA
+ [67] unsigned char 0 '\x00' 0x2002BBAB
+ [68] unsigned char 0 '\x00' 0x2002BBAC
+ [69] unsigned char 0 '\x00' 0x2002BBAD
+ [70] unsigned char 0 '\x00' 0x2002BBAE
+ [71] unsigned char 0 '\x00' 0x2002BBAF
+ [72] unsigned char 49 '1' 0x2002BBB0
+ [73] unsigned char 50 '2' 0x2002BBB1
+ [74] unsigned char 51 '3' 0x2002BBB2
+ [75] unsigned char 52 '4' 0x2002BBB3
+ [76] unsigned char 53 '5' 0x2002BBB4
+ [77] unsigned char 54 '6' 0x2002BBB5
+ [78] unsigned char 55 '7' 0x2002BBB6
+ [79] unsigned char 56 '8' 0x2002BBB7
+ [80] unsigned char 57 '9' 0x2002BBB8
+ [81] unsigned char 48 '0' 0x2002BBB9
+ [82] unsigned char 49 '1' 0x2002BBBA
+ [83] unsigned char 50 '2' 0x2002BBBB
+ [84] unsigned char 51 '3' 0x2002BBBC
+ [85] unsigned char 52 '4' 0x2002BBBD
+ [86] unsigned char 53 '5' 0x2002BBBE
+ [87] unsigned char 0 '\x00' 0x2002BBBF
+ [88] unsigned char 0 '\x00' 0x2002BBC0
+ [89] unsigned char 0 '\x00' 0x2002BBC1
+ [90] unsigned char 0 '\x00' 0x2002BBC2
+ [91] unsigned char 0 '\x00' 0x2002BBC3
+ [92] unsigned char 32 ' ' 0x2002BBC4
+ [93] unsigned char 0 '\x00' 0x2002BBC5
+ [94] unsigned char 0 '\x00' 0x2002BBC6
+ [95] unsigned char 0 '\x00' 0x2002BBC7
+ [96] unsigned char 0 '\x00' 0x2002BBC8
+ [97] unsigned char 0 '\x00' 0x2002BBC9
+ [98] unsigned char 0 '\x00' 0x2002BBCA
+ [99] unsigned char 0 '\x00' 0x2002BBCB
+ [100 ... 199]
+ [100] unsigned char 0 '\x00' 0x2002BBCC
+ [101] unsigned char 0 '\x00' 0x2002BBCD
+ [102] unsigned char 0 '\x00' 0x2002BBCE
+ [103] unsigned char 0 '\x00' 0x2002BBCF
+ [104] unsigned char 255 '\xff' 0x2002BBD0
+ [105] unsigned char 255 '\xff' 0x2002BBD1
+ [106] unsigned char 0 '\x00' 0x2002BBD2
+ [107] unsigned char 0 '\x00' 0x2002BBD3
+ [108] unsigned char 0 '\x00' 0x2002BBD4
+ [109] unsigned char 0 '\x00' 0x2002BBD5
+ [110] unsigned char 0 '\x00' 0x2002BBD6
+ [111] unsigned char 0 '\x00' 0x2002BBD7
+ [112] unsigned char 0 '\x00' 0x2002BBD8
+ [113] unsigned char 0 '\x00' 0x2002BBD9
+ [114] unsigned char 0 '\x00' 0x2002BBDA
+ [115] unsigned char 0 '\x00' 0x2002BBDB
+ [116] unsigned char 0 '\x00' 0x2002BBDC
+ [117] unsigned char 0 '\x00' 0x2002BBDD
+ [118] unsigned char 0 '\x00' 0x2002BBDE
+ [119] unsigned char 0 '\x00' 0x2002BBDF
+ [120] unsigned char 0 '\x00' 0x2002BBE0
+ [121] unsigned char 0 '\x00' 0x2002BBE1
+ [122] unsigned char 0 '\x00' 0x2002BBE2
+ [123] unsigned char 0 '\x00' 0x2002BBE3
+ [124] unsigned char 0 '\x00' 0x2002BBE4
+ [125] unsigned char 0 '\x00' 0x2002BBE5
+ [126] unsigned char 0 '\x00' 0x2002BBE6
+ [127] unsigned char 0 '\x00' 0x2002BBE7
+ [128] unsigned char 0 '\x00' 0x2002BBE8
+ [129] unsigned char 0 '\x00' 0x2002BBE9
+ [130] unsigned char 0 '\x00' 0x2002BBEA
+ [131] unsigned char 0 '\x00' 0x2002BBEB
+ [132] unsigned char 50 '2' 0x2002BBEC
+ [133] unsigned char 49 '1' 0x2002BBED
+ [134] unsigned char 47 '/' 0x2002BBEE
+ [135] unsigned char 49 '1' 0x2002BBEF
+ [136] unsigned char 48 '0' 0x2002BBF0
+ [137] unsigned char 47 '/' 0x2002BBF1
+ [138] unsigned char 50 '2' 0x2002BBF2
+ [139] unsigned char 48 '0' 0x2002BBF3
+ [140] unsigned char 70 'F' 0x2002BBF4
+ [141] unsigned char 0 '\x00' 0x2002BBF5
+ [142] unsigned char 0 '\x00' 0x2002BBF6
+ [143] unsigned char 0 '\x00' 0x2002BBF7
+ [144] unsigned char 48 '0' 0x2002BBF8
+ [145] unsigned char 48 '0' 0x2002BBF9
+ [146] unsigned char 48 '0' 0x2002BBFA
+ [147] unsigned char 49 '1' 0x2002BBFB
+ [148] unsigned char 0 '\x00' 0x2002BBFC
+ [149] unsigned char 0 '\x00' 0x2002BBFD
+ [150] unsigned char 0 '\x00' 0x2002BBFE
+ [151] unsigned char 0 '\x00' 0x2002BBFF
+ [152] unsigned char 0 '\x00' 0x2002BC00
+ [153] unsigned char 0 '\x00' 0x2002BC01
+ [154] unsigned char 0 '\x00' 0x2002BC02
+ [155] unsigned char 0 '\x00' 0x2002BC03
+ [156] unsigned char 0 '\x00' 0x2002BC04
+ [157] unsigned char 0 '\x00' 0x2002BC05
+ [158] unsigned char 0 '\x00' 0x2002BC06
+ [159] unsigned char 0 '\x00' 0x2002BC07
+ [160] unsigned char 0 '\x00' 0x2002BC08
+ [161] unsigned char 0 '\x00' 0x2002BC09
+ [162] unsigned char 0 '\x00' 0x2002BC0A
+ [163] unsigned char 0 '\x00' 0x2002BC0B
+ [164] unsigned char 65 'A' 0x2002BC0C
+ [165] unsigned char 80 'P' 0x2002BC0D
+ [166] unsigned char 48 '0' 0x2002BC0E
+ [167] unsigned char 48 '0' 0x2002BC0F
+ [168] unsigned char 50 '2' 0x2002BC10
+ [169] unsigned char 50 '2' 0x2002BC11
+ [170] unsigned char 51 '3' 0x2002BC12
+ [171] unsigned char 49 '1' 0x2002BC13
+ [172] unsigned char 0 '\x00' 0x2002BC14
+ [173] unsigned char 0 '\x00' 0x2002BC15
+ [174] unsigned char 0 '\x00' 0x2002BC16
+ [175] unsigned char 0 '\x00' 0x2002BC17
+ [176] unsigned char 0 '\x00' 0x2002BC18
+ [177] unsigned char 0 '\x00' 0x2002BC19
+ [178] unsigned char 0 '\x00' 0x2002BC1A
+ [179] unsigned char 0 '\x00' 0x2002BC1B
+ [180] unsigned char 0 '\x00' 0x2002BC1C
+ [181] unsigned char 0 '\x00' 0x2002BC1D
+ [182] unsigned char 0 '\x00' 0x2002BC1E
+ [183] unsigned char 0 '\x00' 0x2002BC1F
+ [184] unsigned char 255 '\xff' 0x2002BC20
+ [185] unsigned char 255 '\xff' 0x2002BC21
+ [186] unsigned char 255 '\xff' 0x2002BC22
+ [187] unsigned char 255 '\xff' 0x2002BC23
+ [188] unsigned char 255 '\xff' 0x2002BC24
+ [189] unsigned char 255 '\xff' 0x2002BC25
+ [190] unsigned char 255 '\xff' 0x2002BC26
+ [191] unsigned char 255 '\xff' 0x2002BC27
+ [192] unsigned char 2 '\x02' 0x2002BC28
+ [193] unsigned char 0 '\x00' 0x2002BC29
+ [194] unsigned char 0 '\x00' 0x2002BC2A
+ [195] unsigned char 0 '\x00' 0x2002BC2B
+ [196] unsigned char 3 '\x03' 0x2002BC2C
+ [197] unsigned char 0 '\x00' 0x2002BC2D
+ [198] unsigned char 0 '\x00' 0x2002BC2E
+ [199] unsigned char 0 '\x00' 0x2002BC2F
+ [200 ... 267]
+ [200] unsigned char 80 'P' 0x2002BC30
+ [201] unsigned char 15 '\x0f' 0x2002BC31
+ [202] unsigned char 0 '\x00' 0x2002BC32
+ [203] unsigned char 0 '\x00' 0x2002BC33
+ [204] unsigned char 50 '2' 0x2002BC34
+ [205] unsigned char 49 '1' 0x2002BC35
+ [206] unsigned char 47 '/' 0x2002BC36
+ [207] unsigned char 49 '1' 0x2002BC37
+ [208] unsigned char 48 '0' 0x2002BC38
+ [209] unsigned char 47 '/' 0x2002BC39
+ [210] unsigned char 50 '2' 0x2002BC3A
+ [211] unsigned char 48 '0' 0x2002BC3B
+ [212] unsigned char 0 '\x00' 0x2002BC3C
+ [213] unsigned char 0 '\x00' 0x2002BC3D
+ [214] unsigned char 0 '\x00' 0x2002BC3E
+ [215] unsigned char 0 '\x00' 0x2002BC3F
+ [216] unsigned char 5 '\x05' 0x2002BC40
+ [217] unsigned char 0 '\x00' 0x2002BC41
+ [218] unsigned char 0 '\x00' 0x2002BC42
+ [219] unsigned char 0 '\x00' 0x2002BC43
+ [220] unsigned char 80 'P' 0x2002BC44
+ [221] unsigned char 15 '\x0f' 0x2002BC45
+ [222] unsigned char 0 '\x00' 0x2002BC46
+ [223] unsigned char 0 '\x00' 0x2002BC47
+ [224] unsigned char 0 '\x00' 0x2002BC48
+ [225] unsigned char 0 '\x00' 0x2002BC49
+ [226] unsigned char 0 '\x00' 0x2002BC4A
+ [227] unsigned char 0 '\x00' 0x2002BC4B
+ [228] unsigned char 228 '\xe4' 0x2002BC4C
+ [229] unsigned char 12 '\x0c' 0x2002BC4D
+ [230] unsigned char 0 '\x00' 0x2002BC4E
+ [231] unsigned char 0 '\x00' 0x2002BC4F
+ [232] unsigned char 100 'd' 0x2002BC50
+ [233] unsigned char 0 '\x00' 0x2002BC51
+ [234] unsigned char 0 '\x00' 0x2002BC52
+ [235] unsigned char 0 '\x00' 0x2002BC53
+ [236] unsigned char 76 'L' 0x2002BC54
+ [237] unsigned char 4 '\x04' 0x2002BC55
+ [238] unsigned char 0 '\x00' 0x2002BC56
+ [239] unsigned char 0 '\x00' 0x2002BC57
+ [240] unsigned char 70 'F' 0x2002BC58
+ [241] unsigned char 0 '\x00' 0x2002BC59
+ [242] unsigned char 0 '\x00' 0x2002BC5A
+ [243] unsigned char 0 '\x00' 0x2002BC5B
+ [244] unsigned char 64 '@' 0x2002BC5C
+ [245] unsigned char 31 '\x1f' 0x2002BC5D
+ [246] unsigned char 0 '\x00' 0x2002BC5E
+ [247] unsigned char 0 '\x00' 0x2002BC5F
+ [248] unsigned char 136 '\x88' 0x2002BC60
+ [249] unsigned char 19 '\x13' 0x2002BC61
+ [250] unsigned char 0 '\x00' 0x2002BC62
+ [251] unsigned char 0 '\x00' 0x2002BC63
+ [252] unsigned char 2 '\x02' 0x2002BC64
+ [253] unsigned char 0 '\x00' 0x2002BC65
+ [254] unsigned char 0 '\x00' 0x2002BC66
+ [255] unsigned char 0 '\x00' 0x2002BC67
+ [256] unsigned char 0 '\x00' 0x2002BC68
+ [257] unsigned char 0 '\x00' 0x2002BC69
+ [258] unsigned char 0 '\x00' 0x2002BC6A
+ [259] unsigned char 0 '\x00' 0x2002BC6B
+ [260] unsigned char 0 '\x00' 0x2002BC6C
+ [261] unsigned char 0 '\x00' 0x2002BC6D
+ [262] unsigned char 0 '\x00' 0x2002BC6E
+ [263] unsigned char 0 '\x00' 0x2002BC6F
+ [264] unsigned char 87 'W' 0x2002BC70
+ [265] unsigned char 34 '"' 0x2002BC71
+ [266] unsigned char 0 '\x00' 0x2002BC72
+ [267] unsigned char 0 '\x00' 0x2002BC73
diff --git a/Software/Stubs Collection/stubs/Scripts/eepromati3.c b/Software/Stubs Collection/stubs/Scripts/eepromati3.c
new file mode 100644
index 000000000..dfba43764
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/eepromati3.c
@@ -0,0 +1,272 @@
+Buf unsigned char[268] [51 '3',204 '\xcc',170 '\xaa',85 'U',4 '\x04'...] 0x2002BB68
+ [0 ... 99]
+ [0] unsigned char 51 '3' 0x2002BB68
+ [1] unsigned char 204 '\xcc' 0x2002BB69
+ [2] unsigned char 170 '\xaa' 0x2002BB6A
+ [3] unsigned char 85 'U' 0x2002BB6B
+ [4] unsigned char 4 '\x04' 0x2002BB6C
+ [5] unsigned char 1 '\x01' 0x2002BB6D
+ [6] unsigned char 0 '\x00' 0x2002BB6E
+ [7] unsigned char 0 '\x00' 0x2002BB6F
+ [8] unsigned char 0 '\x00' 0x2002BB70
+ [9] unsigned char 0 '\x00' 0x2002BB71
+ [10] unsigned char 0 '\x00' 0x2002BB72
+ [11] unsigned char 0 '\x00' 0x2002BB73
+ [12] unsigned char 65 'A' 0x2002BB74
+ [13] unsigned char 77 'M' 0x2002BB75
+ [14] unsigned char 48 '0' 0x2002BB76
+ [15] unsigned char 48 '0' 0x2002BB77
+ [16] unsigned char 50 '2' 0x2002BB78
+ [17] unsigned char 50 '2' 0x2002BB79
+ [18] unsigned char 50 '2' 0x2002BB7A
+ [19] unsigned char 51 '3' 0x2002BB7B
+ [20] unsigned char 45 '-' 0x2002BB7C
+ [21] unsigned char 49 '1' 0x2002BB7D
+ [22] unsigned char 0 '\x00' 0x2002BB7E
+ [23] unsigned char 0 '\x00' 0x2002BB7F
+ [24] unsigned char 0 '\x00' 0x2002BB80
+ [25] unsigned char 0 '\x00' 0x2002BB81
+ [26] unsigned char 0 '\x00' 0x2002BB82
+ [27] unsigned char 0 '\x00' 0x2002BB83
+ [28] unsigned char 0 '\x00' 0x2002BB84
+ [29] unsigned char 0 '\x00' 0x2002BB85
+ [30] unsigned char 0 '\x00' 0x2002BB86
+ [31] unsigned char 0 '\x00' 0x2002BB87
+ [32] unsigned char 65 'A' 0x2002BB88
+ [33] unsigned char 80 'P' 0x2002BB89
+ [34] unsigned char 48 '0' 0x2002BB8A
+ [35] unsigned char 48 '0' 0x2002BB8B
+ [36] unsigned char 48 '0' 0x2002BB8C
+ [37] unsigned char 57 '9' 0x2002BB8D
+ [38] unsigned char 51 '3' 0x2002BB8E
+ [39] unsigned char 49 '1' 0x2002BB8F
+ [40] unsigned char 0 '\x00' 0x2002BB90
+ [41] unsigned char 0 '\x00' 0x2002BB91
+ [42] unsigned char 0 '\x00' 0x2002BB92
+ [43] unsigned char 0 '\x00' 0x2002BB93
+ [44] unsigned char 0 '\x00' 0x2002BB94
+ [45] unsigned char 0 '\x00' 0x2002BB95
+ [46] unsigned char 0 '\x00' 0x2002BB96
+ [47] unsigned char 0 '\x00' 0x2002BB97
+ [48] unsigned char 0 '\x00' 0x2002BB98
+ [49] unsigned char 0 '\x00' 0x2002BB99
+ [50] unsigned char 0 '\x00' 0x2002BB9A
+ [51] unsigned char 0 '\x00' 0x2002BB9B
+ [52] unsigned char 65 'A' 0x2002BB9C
+ [53] unsigned char 80 'P' 0x2002BB9D
+ [54] unsigned char 48 '0' 0x2002BB9E
+ [55] unsigned char 48 '0' 0x2002BB9F
+ [56] unsigned char 48 '0' 0x2002BBA0
+ [57] unsigned char 57 '9' 0x2002BBA1
+ [58] unsigned char 51 '3' 0x2002BBA2
+ [59] unsigned char 49 '1' 0x2002BBA3
+ [60] unsigned char 0 '\x00' 0x2002BBA4
+ [61] unsigned char 0 '\x00' 0x2002BBA5
+ [62] unsigned char 0 '\x00' 0x2002BBA6
+ [63] unsigned char 0 '\x00' 0x2002BBA7
+ [64] unsigned char 0 '\x00' 0x2002BBA8
+ [65] unsigned char 0 '\x00' 0x2002BBA9
+ [66] unsigned char 0 '\x00' 0x2002BBAA
+ [67] unsigned char 0 '\x00' 0x2002BBAB
+ [68] unsigned char 0 '\x00' 0x2002BBAC
+ [69] unsigned char 0 '\x00' 0x2002BBAD
+ [70] unsigned char 0 '\x00' 0x2002BBAE
+ [71] unsigned char 0 '\x00' 0x2002BBAF
+ [72] unsigned char 49 '1' 0x2002BBB0
+ [73] unsigned char 50 '2' 0x2002BBB1
+ [74] unsigned char 51 '3' 0x2002BBB2
+ [75] unsigned char 52 '4' 0x2002BBB3
+ [76] unsigned char 53 '5' 0x2002BBB4
+ [77] unsigned char 54 '6' 0x2002BBB5
+ [78] unsigned char 55 '7' 0x2002BBB6
+ [79] unsigned char 56 '8' 0x2002BBB7
+ [80] unsigned char 57 '9' 0x2002BBB8
+ [81] unsigned char 48 '0' 0x2002BBB9
+ [82] unsigned char 49 '1' 0x2002BBBA
+ [83] unsigned char 50 '2' 0x2002BBBB
+ [84] unsigned char 51 '3' 0x2002BBBC
+ [85] unsigned char 52 '4' 0x2002BBBD
+ [86] unsigned char 53 '5' 0x2002BBBE
+ [87] unsigned char 0 '\x00' 0x2002BBBF
+ [88] unsigned char 0 '\x00' 0x2002BBC0
+ [89] unsigned char 0 '\x00' 0x2002BBC1
+ [90] unsigned char 0 '\x00' 0x2002BBC2
+ [91] unsigned char 0 '\x00' 0x2002BBC3
+ [92] unsigned char 32 ' ' 0x2002BBC4
+ [93] unsigned char 0 '\x00' 0x2002BBC5
+ [94] unsigned char 0 '\x00' 0x2002BBC6
+ [95] unsigned char 0 '\x00' 0x2002BBC7
+ [96] unsigned char 0 '\x00' 0x2002BBC8
+ [97] unsigned char 0 '\x00' 0x2002BBC9
+ [98] unsigned char 0 '\x00' 0x2002BBCA
+ [99] unsigned char 0 '\x00' 0x2002BBCB
+ [100 ... 199]
+ [100] unsigned char 0 '\x00' 0x2002BBCC
+ [101] unsigned char 0 '\x00' 0x2002BBCD
+ [102] unsigned char 0 '\x00' 0x2002BBCE
+ [103] unsigned char 0 '\x00' 0x2002BBCF
+ [104] unsigned char 255 '\xff' 0x2002BBD0
+ [105] unsigned char 255 '\xff' 0x2002BBD1
+ [106] unsigned char 0 '\x00' 0x2002BBD2
+ [107] unsigned char 0 '\x00' 0x2002BBD3
+ [108] unsigned char 0 '\x00' 0x2002BBD4
+ [109] unsigned char 0 '\x00' 0x2002BBD5
+ [110] unsigned char 0 '\x00' 0x2002BBD6
+ [111] unsigned char 0 '\x00' 0x2002BBD7
+ [112] unsigned char 0 '\x00' 0x2002BBD8
+ [113] unsigned char 0 '\x00' 0x2002BBD9
+ [114] unsigned char 0 '\x00' 0x2002BBDA
+ [115] unsigned char 0 '\x00' 0x2002BBDB
+ [116] unsigned char 0 '\x00' 0x2002BBDC
+ [117] unsigned char 0 '\x00' 0x2002BBDD
+ [118] unsigned char 0 '\x00' 0x2002BBDE
+ [119] unsigned char 0 '\x00' 0x2002BBDF
+ [120] unsigned char 0 '\x00' 0x2002BBE0
+ [121] unsigned char 0 '\x00' 0x2002BBE1
+ [122] unsigned char 0 '\x00' 0x2002BBE2
+ [123] unsigned char 0 '\x00' 0x2002BBE3
+ [124] unsigned char 0 '\x00' 0x2002BBE4
+ [125] unsigned char 0 '\x00' 0x2002BBE5
+ [126] unsigned char 0 '\x00' 0x2002BBE6
+ [127] unsigned char 0 '\x00' 0x2002BBE7
+ [128] unsigned char 0 '\x00' 0x2002BBE8
+ [129] unsigned char 0 '\x00' 0x2002BBE9
+ [130] unsigned char 0 '\x00' 0x2002BBEA
+ [131] unsigned char 0 '\x00' 0x2002BBEB
+ [132] unsigned char 50 '2' 0x2002BBEC
+ [133] unsigned char 49 '1' 0x2002BBED
+ [134] unsigned char 47 '/' 0x2002BBEE
+ [135] unsigned char 49 '1' 0x2002BBEF
+ [136] unsigned char 48 '0' 0x2002BBF0
+ [137] unsigned char 47 '/' 0x2002BBF1
+ [138] unsigned char 50 '2' 0x2002BBF2
+ [139] unsigned char 48 '0' 0x2002BBF3
+ [140] unsigned char 70 'F' 0x2002BBF4
+ [141] unsigned char 0 '\x00' 0x2002BBF5
+ [142] unsigned char 0 '\x00' 0x2002BBF6
+ [143] unsigned char 0 '\x00' 0x2002BBF7
+ [144] unsigned char 0 '\x00' 0x2002BBF8
+ [145] unsigned char 0 '\x00' 0x2002BBF9
+ [146] unsigned char 0 '\x00' 0x2002BBFA
+ [147] unsigned char 0 '\x00' 0x2002BBFB
+ [148] unsigned char 0 '\x00' 0x2002BBFC
+ [149] unsigned char 0 '\x00' 0x2002BBFD
+ [150] unsigned char 0 '\x00' 0x2002BBFE
+ [151] unsigned char 0 '\x00' 0x2002BBFF
+ [152] unsigned char 0 '\x00' 0x2002BC00
+ [153] unsigned char 0 '\x00' 0x2002BC01
+ [154] unsigned char 0 '\x00' 0x2002BC02
+ [155] unsigned char 0 '\x00' 0x2002BC03
+ [156] unsigned char 0 '\x00' 0x2002BC04
+ [157] unsigned char 0 '\x00' 0x2002BC05
+ [158] unsigned char 0 '\x00' 0x2002BC06
+ [159] unsigned char 0 '\x00' 0x2002BC07
+ [160] unsigned char 0 '\x00' 0x2002BC08
+ [161] unsigned char 0 '\x00' 0x2002BC09
+ [162] unsigned char 0 '\x00' 0x2002BC0A
+ [163] unsigned char 0 '\x00' 0x2002BC0B
+ [164] unsigned char 65 'A' 0x2002BC0C
+ [165] unsigned char 80 'P' 0x2002BC0D
+ [166] unsigned char 48 '0' 0x2002BC0E
+ [167] unsigned char 48 '0' 0x2002BC0F
+ [168] unsigned char 50 '2' 0x2002BC10
+ [169] unsigned char 50 '2' 0x2002BC11
+ [170] unsigned char 51 '3' 0x2002BC12
+ [171] unsigned char 49 '1' 0x2002BC13
+ [172] unsigned char 0 '\x00' 0x2002BC14
+ [173] unsigned char 0 '\x00' 0x2002BC15
+ [174] unsigned char 0 '\x00' 0x2002BC16
+ [175] unsigned char 0 '\x00' 0x2002BC17
+ [176] unsigned char 0 '\x00' 0x2002BC18
+ [177] unsigned char 0 '\x00' 0x2002BC19
+ [178] unsigned char 0 '\x00' 0x2002BC1A
+ [179] unsigned char 0 '\x00' 0x2002BC1B
+ [180] unsigned char 0 '\x00' 0x2002BC1C
+ [181] unsigned char 0 '\x00' 0x2002BC1D
+ [182] unsigned char 0 '\x00' 0x2002BC1E
+ [183] unsigned char 0 '\x00' 0x2002BC1F
+ [184] unsigned char 50 '2' 0x2002BC20
+ [185] unsigned char 49 '1' 0x2002BC21
+ [186] unsigned char 47 '/' 0x2002BC22
+ [187] unsigned char 49 '1' 0x2002BC23
+ [188] unsigned char 48 '0' 0x2002BC24
+ [189] unsigned char 47 '/' 0x2002BC25
+ [190] unsigned char 50 '2' 0x2002BC26
+ [191] unsigned char 48 '0' 0x2002BC27
+ [192] unsigned char 2 '\x02' 0x2002BC28
+ [193] unsigned char 0 '\x00' 0x2002BC29
+ [194] unsigned char 0 '\x00' 0x2002BC2A
+ [195] unsigned char 0 '\x00' 0x2002BC2B
+ [196] unsigned char 3 '\x03' 0x2002BC2C
+ [197] unsigned char 0 '\x00' 0x2002BC2D
+ [198] unsigned char 0 '\x00' 0x2002BC2E
+ [199] unsigned char 0 '\x00' 0x2002BC2F
+ [200 ... 267]
+ [200] unsigned char 80 'P' 0x2002BC30
+ [201] unsigned char 15 '\x0f' 0x2002BC31
+ [202] unsigned char 0 '\x00' 0x2002BC32
+ [203] unsigned char 0 '\x00' 0x2002BC33
+ [204] unsigned char 50 '2' 0x2002BC34
+ [205] unsigned char 49 '1' 0x2002BC35
+ [206] unsigned char 47 '/' 0x2002BC36
+ [207] unsigned char 49 '1' 0x2002BC37
+ [208] unsigned char 48 '0' 0x2002BC38
+ [209] unsigned char 47 '/' 0x2002BC39
+ [210] unsigned char 50 '2' 0x2002BC3A
+ [211] unsigned char 48 '0' 0x2002BC3B
+ [212] unsigned char 4 '\x04' 0x2002BC3C
+ [213] unsigned char 0 '\x00' 0x2002BC3D
+ [214] unsigned char 0 '\x00' 0x2002BC3E
+ [215] unsigned char 0 '\x00' 0x2002BC3F
+ [216] unsigned char 5 '\x05' 0x2002BC40
+ [217] unsigned char 0 '\x00' 0x2002BC41
+ [218] unsigned char 0 '\x00' 0x2002BC42
+ [219] unsigned char 0 '\x00' 0x2002BC43
+ [220] unsigned char 80 'P' 0x2002BC44
+ [221] unsigned char 15 '\x0f' 0x2002BC45
+ [222] unsigned char 0 '\x00' 0x2002BC46
+ [223] unsigned char 0 '\x00' 0x2002BC47
+ [224] unsigned char 0 '\x00' 0x2002BC48
+ [225] unsigned char 0 '\x00' 0x2002BC49
+ [226] unsigned char 0 '\x00' 0x2002BC4A
+ [227] unsigned char 0 '\x00' 0x2002BC4B
+ [228] unsigned char 228 '\xe4' 0x2002BC4C
+ [229] unsigned char 12 '\x0c' 0x2002BC4D
+ [230] unsigned char 0 '\x00' 0x2002BC4E
+ [231] unsigned char 0 '\x00' 0x2002BC4F
+ [232] unsigned char 100 'd' 0x2002BC50
+ [233] unsigned char 0 '\x00' 0x2002BC51
+ [234] unsigned char 0 '\x00' 0x2002BC52
+ [235] unsigned char 0 '\x00' 0x2002BC53
+ [236] unsigned char 76 'L' 0x2002BC54
+ [237] unsigned char 4 '\x04' 0x2002BC55
+ [238] unsigned char 0 '\x00' 0x2002BC56
+ [239] unsigned char 0 '\x00' 0x2002BC57
+ [240] unsigned char 70 'F' 0x2002BC58
+ [241] unsigned char 0 '\x00' 0x2002BC59
+ [242] unsigned char 0 '\x00' 0x2002BC5A
+ [243] unsigned char 0 '\x00' 0x2002BC5B
+ [244] unsigned char 64 '@' 0x2002BC5C
+ [245] unsigned char 31 '\x1f' 0x2002BC5D
+ [246] unsigned char 0 '\x00' 0x2002BC5E
+ [247] unsigned char 0 '\x00' 0x2002BC5F
+ [248] unsigned char 136 '\x88' 0x2002BC60
+ [249] unsigned char 19 '\x13' 0x2002BC61
+ [250] unsigned char 0 '\x00' 0x2002BC62
+ [251] unsigned char 0 '\x00' 0x2002BC63
+ [252] unsigned char 2 '\x02' 0x2002BC64
+ [253] unsigned char 0 '\x00' 0x2002BC65
+ [254] unsigned char 0 '\x00' 0x2002BC66
+ [255] unsigned char 0 '\x00' 0x2002BC67
+ [256] unsigned char 0 '\x00' 0x2002BC68
+ [257] unsigned char 0 '\x00' 0x2002BC69
+ [258] unsigned char 0 '\x00' 0x2002BC6A
+ [259] unsigned char 0 '\x00' 0x2002BC6B
+ [260] unsigned char 0 '\x00' 0x2002BC6C
+ [261] unsigned char 0 '\x00' 0x2002BC6D
+ [262] unsigned char 0 '\x00' 0x2002BC6E
+ [263] unsigned char 0 '\x00' 0x2002BC6F
+ [264] unsigned char 247 '\xf7' 0x2002BC70
+ [265] unsigned char 26 '\x1a' 0x2002BC71
+ [266] unsigned char 0 '\x00' 0x2002BC72
+ [267] unsigned char 0 '\x00' 0x2002BC73
diff --git a/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild.cs b/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild.cs
index 6d52c774f..5092e6b6f 100644
--- a/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild.cs
+++ b/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild.cs
@@ -17,7 +17,7 @@ using Tango.PMR.IO;
public void OnExecute(StubManager stubManager)
{
-
+// parameters version for PRODUCTION 1.4.6.44
ConfigurationParameters configurationParameters = new ConfigurationParameters();
@@ -31,19 +31,19 @@ configurationParameters.OverHeatCountLimit = 3;
configurationParameters.UnderHeatCountLimit = 3;
// time of motor activity before opening the valve or after closing the valve, in milliseconds
-configurationParameters.CloseValveTimeout = 22;
-configurationParameters.OpenValveTimeout = 22;
+configurationParameters.CloseValveTimeout = 20;
+configurationParameters.OpenValveTimeout = 20;
//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters)
-configurationParameters.InitialDispenserPressure = 0.25;
-configurationParameters.InitialDispenserTimeout = 60000; //20 seconds
+configurationParameters.InitialDispenserPressure = 3.85; //used for initial pre-run maximal pressure
+configurationParameters.InitialDispenserTimeout = 120000; ////used for initial pre-run target number of steps
configurationParameters.InitialDispenserTimeLag = 100;
//job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed
-configurationParameters.DispenserBuildPressureSpeed = 952; //no more than 1000
-configurationParameters.DispenserBuildPressureLimit = 0.8;
-configurationParameters.DispenserBuildPressureTimeout = 180000;
-configurationParameters.DispenserBuildPressureLag = 50;
+configurationParameters.DispenserBuildPressureSpeed = 950; //no more than 1000
+configurationParameters.DispenserBuildPressureLimit = 0.85;
+configurationParameters.DispenserBuildPressureTimeout = 420000; // 7 minutes - long prepare for 5 cycles build
+configurationParameters.DispenserBuildPressureLag = 100;
//temperature band 1000 = 100% - thresholds for job start around target temprature - AC
configurationParameters.ACHeatersLowerOperationLimit = 995;
@@ -59,7 +59,7 @@ configurationParameters.MidTankPressureCorrection = 0.0;
//waste factor for intersegment pressure building
configurationParameters.DispenserPresegmentWFCF = 40;
//how much time to start the WFCF process (pressure buildup) before segment start
-configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 30000;
+configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 12000;
//flag: start heaters according to saved process parameters upon init?
configurationParameters.StartHeatingOnInitSequence = true;
@@ -76,8 +76,15 @@ configurationParameters.IDSCleaningSpeed = 800;
configurationParameters.IDSCleaningStopBeforeSegmentTime = 10000; //end of presegemnt
configurationParameters.IDSCleaningStartSprayPreSegmentTime =2000; //beginning of presegment
-configurationParameters.IDSLeftCleaningMotorSpeed = 49;
-configurationParameters.IDSRightCleaningMotorSpeed = 49;
+int Tup = 10,Tdelay1 = 98,Tdelay2 = 198; //350nsec up, 1 second delay, 2 seconds before up again
+// Tup = LeftRockerSpeed/100;
+// Tdelay1 = LeftRockerSpeed%100;
+// Tdelay2 = RightRockerSpeed;
+int LeftRockerSpeed = Tup*100+Tdelay1;
+int RightRockerSpeed = Tdelay2;
+
+configurationParameters.IDSLeftCleaningMotorSpeed = LeftRockerSpeed;
+configurationParameters.IDSRightCleaningMotorSpeed = RightRockerSpeed;
configurationParameters.SwitchToIdleTimeinSeconds = 3600;
configurationParameters.IdleDrierTemperature = 80;
@@ -95,7 +102,7 @@ configurationParameters.GeneralParameters.Add(checkHardLimitAlarms);
/*2*/
Double checkCurrentAlarms = new Double();
-checkCurrentAlarms = 1.0;
+checkCurrentAlarms = 0.0;
configurationParameters.GeneralParameters.Add(checkCurrentAlarms);
//check the tamper alarms
@@ -125,9 +132,9 @@ SetDiagnosticMode = 3.0;
configurationParameters.GeneralParameters.Add(SetDiagnosticMode);
/*8*/
-Double SetAutoFillMode = new Double();
-SetAutoFillMode = 0.0;
-configurationParameters.GeneralParameters.Add(SetAutoFillMode);
+Double SetAutoFill = new Double();
+SetAutoFill = 3.0;
+configurationParameters.GeneralParameters.Add(SetAutoFill);
File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes());
@@ -136,8 +143,10 @@ byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg");
var config = ConfigurationParameters.Parser.ParseFrom(fileBytes);
- stubManager.Write( config);
- Thread.Sleep(1000);
+stubManager.Write( config);
+Thread.Sleep(1000);
+
+
stubManager.Write("\n\n Deleting old file");
DeleteRequest deleteRequest = new DeleteRequest();
@@ -145,14 +154,15 @@ deleteRequest.Path = "SYSINFO//EmbParam.cfg";
deleteRequest.Attribute = Tango.PMR.IO.FileAttribute.Unspecified;
DeleteResponse response5 = stubManager.Run<DeleteResponse>(deleteRequest);
- Thread.Sleep(1000);
+
+Thread.Sleep(1000);
stubManager.Write("\n\n Loading new file file");
- FileUploadRequest fileUploadRequest = new FileUploadRequest();
+FileUploadRequest fileUploadRequest = new FileUploadRequest();
fileUploadRequest.Path = "SYSINFO//EmbParam.cfg";
fileUploadRequest.Length = (int)fileBytes.Length;
FileUploadResponse response2 = stubManager.Run<FileUploadResponse>(fileUploadRequest);
- Thread.Sleep(1000);
+Thread.Sleep(1000);
long chunk_size = response2.MaxChunkLength;
FileStream fs = new FileStream("C:/temp/EmbParam.cfg",FileMode.Open);
@@ -169,7 +179,14 @@ while (fs.Position < fs.Length)
Thread.Sleep(2000);
}
-
+
+// activating the new file
+ProgressRequest progressRequest = new ProgressRequest();
+progressRequest.Amount = 0xCD;
+progressRequest.Delay = 0xCD;
+var response1 = stubManager.Run<ProgressResponse>(progressRequest);
+
+
/*
13:46:42.38: Executing script 'embeddedparametersbuild.cs'...
{ "BreakSensorLimit": 10, "DiagnosticCollectionLimit": 1, "OverHeatCountLimit": 3, "UnderHeatCountLimit": 3, "CloseValveTimeout": 255, "OpenValveTimeout": 255, "InitialDispenserPressure": 1.5, "InitialDispenserTimeout": 60000, "InitialDispenserTimeLag": 100, "DispenserBuildPressureSpeed": 800, "DispenserBuildPressureLimit": 0.9, "DispenserBuildPressureTimeout": 80000, "DispenserBuildPressureLag": 50, "ACHeatersLowerOperationLimit": 995, "ACHeatersUpperOperationLimit": 1005, "DCHeatersLowerOperationLimit": 978, "DCHeatersUpperOperationLimit": 1005, "DispenserPresegmentWFCF": 80, "StartHeatingOnInitSequence": true, "GeneralParameters": [ 1, 1, 1, 1, 800, 1000 ], "CurrentAlarmLowLimit": 0.8, "CurrentAlarmHighLimit": 1.07, "IDSSegmentRefillTimeout": 5000, "IDSPreSegmentBuildupTime": 5000, "IDSCleaningSpeed": 50, "IDSCleaningStopBeforeSegmentTime": 3000, "IDSCleaningStartSprayPreSegmentTime": 1000, "IDSLeftCleaningMotorSpeed": 30, "IDSRightCleaningMotorSpeed": 23, "SwitchToIdleTimeinSeconds": 3600, "IdleDrierTemperature": 80, "IdleHeadTemperature": 80, "PowerOffTemperatureLimit": 50, "IDSPreSegmentWFCFTimeBeforeSegment": 1500 } */
diff --git a/Software/Stubs Collection/stubs/temp/embeddedparametersbuild.cs b/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs
index c49e44582..5aaa33a56 100644
--- a/Software/Stubs Collection/stubs/temp/embeddedparametersbuild.cs
+++ b/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs
@@ -17,7 +17,7 @@ using Tango.PMR.IO;
public void OnExecute(StubManager stubManager)
{
-
+// parameters version for TESTING 1.5.0.2
ConfigurationParameters configurationParameters = new ConfigurationParameters();
@@ -31,19 +31,19 @@ configurationParameters.OverHeatCountLimit = 3;
configurationParameters.UnderHeatCountLimit = 3;
// time of motor activity before opening the valve or after closing the valve, in milliseconds
-configurationParameters.CloseValveTimeout = 49;
-configurationParameters.OpenValveTimeout = 49;
+configurationParameters.CloseValveTimeout = 20;
+configurationParameters.OpenValveTimeout = 20;
//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters)
-configurationParameters.InitialDispenserPressure = 0.25;
-configurationParameters.InitialDispenserTimeout = 60000; //20 seconds
+configurationParameters.InitialDispenserPressure = 3.85; //used for initial pre-run maximal pressure
+configurationParameters.InitialDispenserTimeout = 120000; ////used for initial pre-run target number of steps
configurationParameters.InitialDispenserTimeLag = 100;
//job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed
configurationParameters.DispenserBuildPressureSpeed = 950; //no more than 1000
-configurationParameters.DispenserBuildPressureLimit = 1.0;
-configurationParameters.DispenserBuildPressureTimeout = 180000;
-configurationParameters.DispenserBuildPressureLag = 50;
+configurationParameters.DispenserBuildPressureLimit = 0.85;
+configurationParameters.DispenserBuildPressureTimeout = 420000; // 7 minutes - long prepare for 5 cycles build
+configurationParameters.DispenserBuildPressureLag = 100;
//temperature band 1000 = 100% - thresholds for job start around target temprature - AC
configurationParameters.ACHeatersLowerOperationLimit = 995;
@@ -59,7 +59,7 @@ configurationParameters.MidTankPressureCorrection = 0.0;
//waste factor for intersegment pressure building
configurationParameters.DispenserPresegmentWFCF = 40;
//how much time to start the WFCF process (pressure buildup) before segment start
-configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 30000;
+configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 12000;
//flag: start heaters according to saved process parameters upon init?
configurationParameters.StartHeatingOnInitSequence = true;
@@ -71,19 +71,26 @@ configurationParameters.CurrentAlarmHighLimit = 1.07;
//currently not in use
configurationParameters.IDSSegmentRefillTimeout = 5000;
configurationParameters.IDSPreSegmentBuildupTime = 5000;
-//
+//cleaning!!!!!!!!!!
configurationParameters.IDSCleaningSpeed = 800;
configurationParameters.IDSCleaningStopBeforeSegmentTime = 10000; //end of presegemnt
configurationParameters.IDSCleaningStartSprayPreSegmentTime =2000; //beginning of presegment
-configurationParameters.IDSLeftCleaningMotorSpeed = 49;
-configurationParameters.IDSRightCleaningMotorSpeed = 49;
+int Tup = 10,Tdelay1 = 98,Tdelay2 = 198; //350nsec up, 1 second delay, 2 seconds before up again
+// Tup = LeftRockerSpeed/100;
+// Tdelay1 = LeftRockerSpeed%100;
+// Tdelay2 = RightRockerSpeed;
+int LeftRockerSpeed = Tup*100+Tdelay1;
+int RightRockerSpeed = Tdelay2;
+
+configurationParameters.IDSLeftCleaningMotorSpeed = LeftRockerSpeed;
+configurationParameters.IDSRightCleaningMotorSpeed = RightRockerSpeed;
configurationParameters.SwitchToIdleTimeinSeconds = 3600;
configurationParameters.IdleDrierTemperature = 80;
configurationParameters.IdleHeadTemperature = 80;
configurationParameters.IdleMixerTemperature = 0;
-configurationParameters.PowerOffTemperatureLimit = 50;
+configurationParameters.PowerOffTemperatureLimit = 100;
//general parameters, ORDER MUST BE PRESERVED!!!!
//check the dispensers hard limit alarms
@@ -111,17 +118,17 @@ configurationParameters.GeneralParameters.Add(checkMotorAlarms);
/*5*/
Double WinderBackToBaseTime = new Double();
-WinderBackToBaseTime = 800.0;
+WinderBackToBaseTime = 820.0;
configurationParameters.GeneralParameters.Add(WinderBackToBaseTime);
/*6*/
Double DispenserInitialPressureSpeed = new Double();
-DispenserInitialPressureSpeed = 1150.0;
+DispenserInitialPressureSpeed = 1050.0;
configurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed);
/*7*/
Double SetDiagnosticMode = new Double();
-SetDiagnosticMode = 1.0;
+SetDiagnosticMode = 3.0;
configurationParameters.GeneralParameters.Add(SetDiagnosticMode);
/*8*/
@@ -129,6 +136,24 @@ Double SetAutoFill = new Double();
SetAutoFill = 3.0;
configurationParameters.GeneralParameters.Add(SetAutoFill);
+double PowerOffDisableCleaning = new Double();
+PowerOffDisableCleaning = 0.0
+configurationParameters.GeneralParameters.Add(PowerOffDisableCleaning);
+
+double SublimationBlowTime = new Double();
+SublimationBlowTime = 30.0
+configurationParameters.GeneralParameters.Add(SublimationBlowTime);
+
+double AllowedRangeForHeadBlowerDeviation = new Double();
+AllowedRangeForHeadBlowerDeviation = 7;
+configurationParameters.GeneralParameters.Add(AllowedRangeForHeadBlowerDeviation);
+
+double AllowedRangeForWasteBlowerDeviation = new Double();
+AllowedRangeForWasteBlowerDeviation = 20;
+configurationParameters.GeneralParameters.Add(AllowedRangeForWasteBlowerDeviation);
+
+
+
File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes());
byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg");
@@ -136,8 +161,10 @@ byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg");
var config = ConfigurationParameters.Parser.ParseFrom(fileBytes);
- stubManager.Write( config);
- Thread.Sleep(1000);
+stubManager.Write( config);
+Thread.Sleep(1000);
+
+
stubManager.Write("\n\n Deleting old file");
DeleteRequest deleteRequest = new DeleteRequest();
@@ -145,14 +172,15 @@ deleteRequest.Path = "SYSINFO//EmbParam.cfg";
deleteRequest.Attribute = Tango.PMR.IO.FileAttribute.Unspecified;
DeleteResponse response5 = stubManager.Run<DeleteResponse>(deleteRequest);
- Thread.Sleep(1000);
+
+Thread.Sleep(1000);
stubManager.Write("\n\n Loading new file file");
- FileUploadRequest fileUploadRequest = new FileUploadRequest();
+FileUploadRequest fileUploadRequest = new FileUploadRequest();
fileUploadRequest.Path = "SYSINFO//EmbParam.cfg";
fileUploadRequest.Length = (int)fileBytes.Length;
FileUploadResponse response2 = stubManager.Run<FileUploadResponse>(fileUploadRequest);
- Thread.Sleep(1000);
+Thread.Sleep(1000);
long chunk_size = response2.MaxChunkLength;
FileStream fs = new FileStream("C:/temp/EmbParam.cfg",FileMode.Open);
@@ -169,7 +197,14 @@ while (fs.Position < fs.Length)
Thread.Sleep(2000);
}
-
+
+// activating the new file
+ProgressRequest progressRequest = new ProgressRequest();
+progressRequest.Amount = 0xCD;
+progressRequest.Delay = 0xCD;
+var response1 = stubManager.Run<ProgressResponse>(progressRequest);
+
+
/*
13:46:42.38: Executing script 'embeddedparametersbuild.cs'...
{ "BreakSensorLimit": 10, "DiagnosticCollectionLimit": 1, "OverHeatCountLimit": 3, "UnderHeatCountLimit": 3, "CloseValveTimeout": 255, "OpenValveTimeout": 255, "InitialDispenserPressure": 1.5, "InitialDispenserTimeout": 60000, "InitialDispenserTimeLag": 100, "DispenserBuildPressureSpeed": 800, "DispenserBuildPressureLimit": 0.9, "DispenserBuildPressureTimeout": 80000, "DispenserBuildPressureLag": 50, "ACHeatersLowerOperationLimit": 995, "ACHeatersUpperOperationLimit": 1005, "DCHeatersLowerOperationLimit": 978, "DCHeatersUpperOperationLimit": 1005, "DispenserPresegmentWFCF": 80, "StartHeatingOnInitSequence": true, "GeneralParameters": [ 1, 1, 1, 1, 800, 1000 ], "CurrentAlarmLowLimit": 0.8, "CurrentAlarmHighLimit": 1.07, "IDSSegmentRefillTimeout": 5000, "IDSPreSegmentBuildupTime": 5000, "IDSCleaningSpeed": 50, "IDSCleaningStopBeforeSegmentTime": 3000, "IDSCleaningStartSprayPreSegmentTime": 1000, "IDSLeftCleaningMotorSpeed": 30, "IDSRightCleaningMotorSpeed": 23, "SwitchToIdleTimeinSeconds": 3600, "IdleDrierTemperature": 80, "IdleHeadTemperature": 80, "PowerOffTemperatureLimit": 50, "IDSPreSegmentWFCFTimeBeforeSegment": 1500 } */
diff --git a/Software/Stubs Collection/stubs/technician view files/teach board 2.tpf b/Software/Stubs Collection/stubs/technician view files/teach board 2.tpf
index ae2a5fcbc..f3580a1b0 100644
--- a/Software/Stubs Collection/stubs/technician view files/teach board 2.tpf
+++ b/Software/Stubs Collection/stubs/technician view files/teach board 2.tpf
@@ -27,7 +27,7 @@
<HeaterState>
<HeaterType>DryerAirHeater</HeaterType>
<SetPoint>180</SetPoint>
- <CurrentValue>158.38</CurrentValue>
+ <CurrentValue>120.07</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>true</IsRampingUp>
<IsInSetPoint>false</IsInSetPoint>
@@ -46,7 +46,7 @@
<HeaterState>
<HeaterType>DryerMainHeater</HeaterType>
<SetPoint>100</SetPoint>
- <CurrentValue>168.01</CurrentValue>
+ <CurrentValue>139.38</CurrentValue>
<IsActive>true</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -65,7 +65,7 @@
<HeaterState>
<HeaterType>DryerSecondaryHeater</HeaterType>
<SetPoint>100</SetPoint>
- <CurrentValue>170.76</CurrentValue>
+ <CurrentValue>145.96</CurrentValue>
<IsActive>true</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -74,8 +74,8 @@
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>fd2bb3a3-a411-470d-bde7-0beaf84da059</ID>
- <Left>931</Left>
- <Top>83.08407079646031</Top>
+ <Left>924</Left>
+ <Top>112.5486725663713</Top>
<Width>186</Width>
<Height>195.56194690265494</Height>
<Angle>0</Angle>
@@ -84,17 +84,17 @@
<HeaterState>
<HeaterType>HeaterZone3</HeaterType>
<SetPoint>120</SetPoint>
- <CurrentValue>81.48</CurrentValue>
+ <CurrentValue>119.94</CurrentValue>
<IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>120</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>7e8dd386-cca6-4d07-8a3e-af5403756002</ID>
- <Left>1106</Left>
- <Top>88.1504424778762</Top>
+ <Left>1103</Left>
+ <Top>115.97787610619525</Top>
<Width>200</Width>
<Height>187.45575221238937</Height>
<Angle>0</Angle>
@@ -103,17 +103,17 @@
<HeaterState>
<HeaterType>HeaterZone2</HeaterType>
<SetPoint>100</SetPoint>
- <CurrentValue>69.44</CurrentValue>
+ <CurrentValue>100.11</CurrentValue>
<IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>100</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>32a91e5f-27c8-490d-b187-8e39b6626a13</ID>
- <Left>1311</Left>
- <Top>89.163716814159329</Top>
+ <Left>1302</Left>
+ <Top>109.1592920353977</Top>
<Width>157</Width>
<Height>194.54867256637175</Height>
<Angle>0</Angle>
@@ -122,10 +122,10 @@
<HeaterState>
<HeaterType>HeaterZone1</HeaterType>
<SetPoint>80</SetPoint>
- <CurrentValue>65.46</CurrentValue>
+ <CurrentValue>80.13</CurrentValue>
<IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>80</SetPoint>
</TechItem>
@@ -141,17 +141,17 @@
<HeaterState>
<HeaterType>MixerHeater</HeaterType>
<SetPoint>80</SetPoint>
- <CurrentValue>75.83</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
+ <CurrentValue>79.66</CurrentValue>
+ <IsActive>false</IsActive>
+ <IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>80</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>45b121b5-cf7c-41f7-8089-6d4d6b1ed2c8</ID>
- <Left>751</Left>
- <Top>80.420353982302458</Top>
+ <Left>743</Left>
+ <Top>113.36725663717004</Top>
<Width>169</Width>
<Height>197.27876106194645</Height>
<Angle>0</Angle>
@@ -160,17 +160,17 @@
<HeaterState>
<HeaterType>HeaterZone4</HeaterType>
<SetPoint>120</SetPoint>
- <CurrentValue>90.85</CurrentValue>
+ <CurrentValue>120.07</CurrentValue>
<IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>120</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>e6b3eb18-482b-450e-b8a8-d2ac6bba4fd4</ID>
- <Left>547</Left>
- <Top>85.482300884952679</Top>
+ <Left>542</Left>
+ <Top>109.74336283185721</Top>
<Width>186</Width>
<Height>195.56194690265494</Height>
<Angle>0</Angle>
@@ -179,17 +179,17 @@
<HeaterState>
<HeaterType>HeaterZone5</HeaterType>
<SetPoint>135</SetPoint>
- <CurrentValue>94.97</CurrentValue>
+ <CurrentValue>135.02</CurrentValue>
<IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>135</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>efff2e67-e3a3-4667-9208-4704707d7cda</ID>
<Left>353</Left>
- <Top>86.69911504424698</Top>
+ <Top>108.93805309734404</Top>
<Width>186</Width>
<Height>195.56194690265494</Height>
<Angle>0</Angle>
@@ -197,13 +197,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone6</HeaterType>
- <SetPoint>140</SetPoint>
- <CurrentValue>100.64999999999999</CurrentValue>
+ <SetPoint>135</SetPoint>
+ <CurrentValue>135.11</CurrentValue>
<IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>140</SetPoint>
+ <SetPoint>135</SetPoint>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>f9936dba-cef8-41e3-a715-eb629dca1870</ID>
@@ -288,13 +288,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone7</HeaterType>
- <SetPoint>140</SetPoint>
- <CurrentValue>102.00999999999999</CurrentValue>
+ <SetPoint>135</SetPoint>
+ <CurrentValue>135.13</CurrentValue>
<IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>140</SetPoint>
+ <SetPoint>135</SetPoint>
</TechItem>
<TechItem xsi:type="TextItem">
<ID>f129ea0d-9abb-437f-928e-1cd1f569db2a</ID>
@@ -328,10 +328,10 @@
<HeaterState>
<HeaterType>HeaterZone8</HeaterType>
<SetPoint>140</SetPoint>
- <CurrentValue>98.399999999999991</CurrentValue>
+ <CurrentValue>139.92</CurrentValue>
<IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>140</SetPoint>
</TechItem>
@@ -347,10 +347,10 @@
<HeaterState>
<HeaterType>HeaterZone9</HeaterType>
<SetPoint>140</SetPoint>
- <CurrentValue>99.46</CurrentValue>
+ <CurrentValue>140</CurrentValue>
<IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>140</SetPoint>
</TechItem>
@@ -366,10 +366,10 @@
<HeaterState>
<HeaterType>HeaterZone12</HeaterType>
<SetPoint>145</SetPoint>
- <CurrentValue>80.37</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <CurrentValue>145.06</CurrentValue>
+ <IsActive>false</IsActive>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>145</SetPoint>
</TechItem>
@@ -385,10 +385,10 @@
<HeaterState>
<HeaterType>HeaterZone11</HeaterType>
<SetPoint>140</SetPoint>
- <CurrentValue>93.11999999999999</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <CurrentValue>140.2</CurrentValue>
+ <IsActive>false</IsActive>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>140</SetPoint>
</TechItem>
@@ -404,10 +404,10 @@
<HeaterState>
<HeaterType>HeaterZone10</HeaterType>
<SetPoint>140</SetPoint>
- <CurrentValue>98.38</CurrentValue>
+ <CurrentValue>140.04</CurrentValue>
<IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>true</IsInSetPoint>
</HeaterState>
<SetPoint>140</SetPoint>
</TechItem>
@@ -549,8 +549,8 @@
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>e502555c-95b0-4688-b5e3-8becb30fc62c</ID>
- <Left>1458.875</Left>
- <Top>91.7821782178217</Top>
+ <Left>1463.875</Left>
+ <Top>114.15828441251023</Top>
<Width>200</Width>
<Height>187.45575221238937</Height>
<Angle>0</Angle>
@@ -621,10 +621,10 @@
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>cb7b89a1-cdb4-408e-acc8-40e8dcb8d6ac</ID>
- <Left>7</Left>
- <Top>5.995575221238937</Top>
- <Width>142</Width>
- <Height>84.101769911504391</Height>
+ <Left>146</Left>
+ <Top>4.8628318584048884</Top>
+ <Width>172</Width>
+ <Height>77.336283185840216</Height>
<Angle>0</Angle>
<ItemGuid>9F98B9D3-F989-4D03-90E8-721671835E0B</ItemGuid>
<ColorNumber>-1</ColorNumber>
@@ -633,10 +633,10 @@
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>6be6ca7d-3ca6-4206-9c67-415174b71ace</ID>
- <Left>168</Left>
- <Top>7.3893805309738809</Top>
- <Width>146</Width>
- <Height>83.088495575221259</Height>
+ <Left>340</Left>
+ <Top>7.4336283185855336</Top>
+ <Width>180</Width>
+ <Height>72.305309734513685</Height>
<Angle>0</Angle>
<ItemGuid>D59EFB38-79D9-446C-BCB5-92D8FDA900E4</ItemGuid>
<ColorNumber>-1</ColorNumber>
@@ -959,10 +959,10 @@
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>11f4748e-ed30-48d6-a08a-afeaa0277e2e</ID>
- <Left>330</Left>
- <Top>12.154867256637203</Top>
- <Width>205</Width>
- <Height>90.181415929203524</Height>
+ <Left>548</Left>
+ <Top>7.0132743362775614</Top>
+ <Width>185</Width>
+ <Height>69.3451327433653</Height>
<Angle>0</Angle>
<ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC02</ItemGuid>
<ColorNumber>-1</ColorNumber>
@@ -980,14 +980,14 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>1275</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>85d4727d-4be2-4854-8584-5fcb0a1bb19f</ID>
- <Left>545</Left>
- <Top>12.154867256637203</Top>
+ <Left>759</Left>
+ <Top>8.9778761061942873</Top>
<Width>164</Width>
<Height>70.929203539822993</Height>
<Angle>0</Angle>
@@ -998,8 +998,8 @@
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>09b1e471-50a5-41e4-9dea-d16518fb3b59</ID>
- <Left>754</Left>
- <Top>12.154867256637203</Top>
+ <Left>1330</Left>
+ <Top>581.61504424778764</Top>
<Width>178</Width>
<Height>70.929203539822993</Height>
<Angle>0</Angle>
@@ -1008,6 +1008,30 @@
<UpdateInterval>10</UpdateInterval>
<DecimalPoints>3</DecimalPoints>
</TechItem>
+ <TechItem xsi:type="MonitorItem">
+ <ID>fa6e2e6b-d807-415a-a04a-ca5877cf1838</ID>
+ <Left>948</Left>
+ <Top>9.3185840707968737</Top>
+ <Width>182</Width>
+ <Height>72.783185840710189</Height>
+ <Angle>0</Angle>
+ <ItemGuid>F1DF490B-0577-4FA7-ACA1-0EEF4F934100</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ <UpdateInterval>10</UpdateInterval>
+ <DecimalPoints>2</DecimalPoints>
+ </TechItem>
+ <TechItem xsi:type="MonitorItem">
+ <ID>13640918-ad09-4aa8-8d5b-f3da45179831</ID>
+ <Left>1157</Left>
+ <Top>5.8185840707953389</Top>
+ <Width>173</Width>
+ <Height>81.265486725664175</Height>
+ <Angle>0</Angle>
+ <ItemGuid>79AD6611-82A2-4B4C-AB5E-A11A33E1243D</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ <UpdateInterval>10</UpdateInterval>
+ <DecimalPoints>2</DecimalPoints>
+ </TechItem>
</Items>
</MachineTechViewProjectTab>
<MachineTechViewProjectTab>
@@ -1072,9 +1096,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1460</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>984b4126-3dda-4624-a79f-0646eb0e1358</ID>
@@ -1087,9 +1111,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1516</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>8ebc3ab7-a02d-4b12-93b3-2563443831d7</ID>
@@ -1102,9 +1126,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1398</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>acafb268-5e97-4277-8dc8-173250a9e3f8</ID>
@@ -1117,9 +1141,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1273</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>be4cb8d9-b516-4604-a6a5-1638cbc50251</ID>
@@ -1132,9 +1156,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>514</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100000</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>75b99507-4eba-4b11-b52e-26732d4c5479</ID>
@@ -1147,14 +1171,14 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>4</DecimalPlaces>
<Duration>1398</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>a30e48de-be76-4230-92d0-d27d6f37b940</ID>
- <Left>474</Left>
- <Top>320.03097345132551</Top>
+ <Left>478</Left>
+ <Top>328.89823008849282</Top>
<Width>429</Width>
<Height>193.26548672566258</Height>
<Angle>0</Angle>
@@ -1162,9 +1186,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>4</DecimalPlaces>
<Duration>1398</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>5ac4b368-093a-4192-98d4-e9d24f229b13</ID>
@@ -1177,9 +1201,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>4</DecimalPlaces>
<Duration>1398</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="MonitorRecorderItem">
<ID>9c34dc69-cfaa-48b4-9d02-8f0d9bba79dd</ID>
@@ -1246,7 +1270,7 @@
<Width>159</Width>
<Height>215.8274336283186</Height>
<Angle>0</Angle>
- <ItemGuid>C8D8FE90-0375-44A2-A6D1-E997789E065C</ItemGuid>
+ <ItemGuid>2CC8E461-E91F-4D4C-A402-922477F06C87</ItemGuid>
<ColorNumber>-16724737</ColorNumber>
<Speed>1200</Speed>
<DisplayName>Dispenser 2</DisplayName>
@@ -1448,9 +1472,9 @@
<Angle>0</Angle>
<ItemGuid>78482AA4-3DF6-421F-944C-64328D3C3EF2</ItemGuid>
<ColorNumber>-14774017</ColorNumber>
+ <UpdateInterval>10</UpdateInterval>
<OptimalRangeMinimum>0</OptimalRangeMinimum>
<OptimalRangeMaximum>70</OptimalRangeMaximum>
- <UpdateInterval>10</UpdateInterval>
<IsSetToDefault>true</IsSetToDefault>
</TechItem>
<TechItem xsi:type="DigitalOutItem">
@@ -1465,10 +1489,10 @@
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>935dddd0-0c6f-4766-8173-f9118006a12b</ID>
- <Left>1303</Left>
- <Top>475.87168141593065</Top>
- <Width>160</Width>
- <Height>124.6504424778754</Height>
+ <Left>1325</Left>
+ <Top>482.17699115044343</Top>
+ <Width>135</Width>
+ <Height>112.47787610619827</Height>
<Angle>0</Angle>
<ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
<ColorNumber>-15856114</ColorNumber>
@@ -1484,16 +1508,16 @@
<Angle>0</Angle>
<ItemGuid>D023F15D-3555-48E9-A9E9-5DF99F60D791</ItemGuid>
<ColorNumber>0</ColorNumber>
- <DecimalPlaces>2</DecimalPlaces>
<Duration>1956</Duration>
<Min>0</Min>
<Max>100</Max>
<UseAutoRange>true</UseAutoRange>
+ <DecimalPlaces>2</DecimalPlaces>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>46bdfce3-1c69-45dd-bbe9-582d1ac1e6f2</ID>
- <Left>1128</Left>
- <Top>482.80530973451141</Top>
+ <Left>1149</Left>
+ <Top>481.79203539822822</Top>
<Width>140</Width>
<Height>117.32300884955743</Height>
<Angle>0</Angle>
@@ -1641,7 +1665,7 @@
<Width>327</Width>
<Height>108.53097345133028</Height>
<Angle>0</Angle>
- <ItemGuid>8B1FCBC3-FEEA-4F87-B56F-CE5D28B7ACA4</ItemGuid>
+ <ItemGuid>E8E103A6-85F3-465C-98BD-998FBA26AEC6</ItemGuid>
<ColorNumber>-1</ColorNumber>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
@@ -1655,9 +1679,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>1426</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>cc99a514-1498-4b93-a4eb-4e0a2a2e9de6</ID>
@@ -1670,9 +1694,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1282</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="ValveItem">
<ID>cdddd48e-422d-48f4-8397-5032c3705fdb</ID>
@@ -1795,9 +1819,9 @@
<Width>228</Width>
<Height>175.0353982300901</Height>
<Angle>0</Angle>
- <ItemGuid>7b6d0a93-5a91-4e1f-af47-353afd8b5ea6</ItemGuid>
+ <ItemGuid>54695c85-b4a5-4e9d-95b1-b9e55844cde2</ItemGuid>
<ColorNumber>-1</ColorNumber>
- <Speed>20</Speed>
+ <Speed>500</Speed>
</TechItem>
<TechItem xsi:type="MotorItem">
<ID>2052a2d3-843c-4a1c-87fd-acd0832fd1b9</ID>
@@ -1844,8 +1868,8 @@
</TechItem>
<TechItem xsi:type="MotorItem">
<ID>7ccff69d-50f9-4e9b-a997-72a67917df5e</ID>
- <Left>803</Left>
- <Top>569.80530973451619</Top>
+ <Left>758</Left>
+ <Top>616.02212389380963</Top>
<Width>227</Width>
<Height>145.08849557522183</Height>
<Angle>0</Angle>
@@ -1874,6 +1898,27 @@
<ItemGuid>8a65badb-3d7d-4b7b-8dcd-783e443b0689</ItemGuid>
<ColorNumber>-1</ColorNumber>
</TechItem>
+ <TechItem xsi:type="DigitalOutItem">
+ <ID>c74a22d7-136b-4ec5-8f84-ab54842453e8</ID>
+ <Left>849</Left>
+ <Top>425.59734513274515</Top>
+ <Width>240</Width>
+ <Height>116.10176991150968</Height>
+ <Angle>0</Angle>
+ <ItemGuid>6f48e18c-d472-425a-ba7e-633630605e11</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ </TechItem>
+ <TechItem xsi:type="MotorItem">
+ <ID>4562bd70-4bd7-4f9b-b5fe-899b344295bf</ID>
+ <Left>996</Left>
+ <Top>62.097345132743214</Top>
+ <Width>155</Width>
+ <Height>101.4690265486671</Height>
+ <Angle>0</Angle>
+ <ItemGuid>b7c1aea4-32c1-41cb-bca3-4aa665529b49</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ <Speed>300</Speed>
+ </TechItem>
</Items>
</MachineTechViewProjectTab>
<MachineTechViewProjectTab>
@@ -1890,9 +1935,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>81b78212-14d8-4a66-bf3a-eeea9900e0d6</ID>
@@ -1934,9 +1979,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>064bd571-4250-4ea3-8ed5-96f1ddc8fe6b</ID>
@@ -1978,9 +2023,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>85e9ecc2-3bce-4055-89a9-1712752898a9</ID>
@@ -2022,9 +2067,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>5ed86083-bdd6-4648-b7ca-f17fa97f034a</ID>
@@ -2066,9 +2111,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>e8130372-e0ee-4c1c-a43d-4ab15ff57bd8</ID>
@@ -2110,9 +2155,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>e7935033-56c6-42a4-a2b3-f5eedb0a11e7</ID>
@@ -2154,9 +2199,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>b3826c8e-1d82-4f4f-ad9f-d88f257dffb2</ID>
@@ -2198,9 +2243,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>233f0076-7595-4ecb-8496-41eeb7b457ea</ID>
@@ -2242,9 +2287,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>72d7192b-dd27-4064-9f5f-90062388a81c</ID>
@@ -2286,9 +2331,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>5f451443-fab2-4bf6-8f21-5e038ca2c726</ID>
@@ -2330,9 +2375,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>665593d6-e689-459e-94f9-2cdcce6150ac</ID>
@@ -2374,9 +2419,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>b53a74f3-8e91-40ce-b980-c5b237baeee9</ID>
@@ -2418,9 +2463,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>584c7f29-49cc-4845-a7ab-09239bd3a986</ID>
@@ -2462,9 +2507,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>c1f48bf1-9cb3-475a-b152-e8b9a211b694</ID>
@@ -2602,8 +2647,8 @@
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>a79322a7-fbb8-469b-a4d9-a0ffb3c17a5d</ID>
- <Left>639</Left>
- <Top>358.69469026548683</Top>
+ <Left>858</Left>
+ <Top>394.15929203539821</Top>
<Width>134</Width>
<Height>99.300884955752167</Height>
<Angle>0</Angle>
@@ -2635,9 +2680,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>419</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>8aa4b451-71d6-429c-94e4-2581e3c62a7a</ID>
@@ -2650,14 +2695,14 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>419</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="BlowerItem">
<ID>1f85047c-0b3e-49c6-a80a-c2585de00a81</ID>
- <Left>288</Left>
- <Top>366.80088495575222</Top>
+ <Left>1217</Left>
+ <Top>395.17256637168151</Top>
<Width>217</Width>
<Height>97.2743362831859</Height>
<Angle>0</Angle>
@@ -2666,10 +2711,10 @@
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>c296a84d-7af4-4a26-9a35-0b82d378edce</ID>
- <Left>41</Left>
- <Top>351.6017699115045</Top>
+ <Left>575</Left>
+ <Top>354.64159292035436</Top>
<Width>209</Width>
- <Height>120.57964601769913</Height>
+ <Height>123.61946902654859</Height>
<Angle>0</Angle>
<ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid>
<ColorNumber>-1</ColorNumber>
@@ -2697,16 +2742,16 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>419</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>034716b2-eb98-4a27-a32e-2a1217f0a6b1</ID>
- <Left>1304.2423551681657</Left>
- <Top>356.67599371577739</Top>
- <Width>209</Width>
- <Height>104.08978580509745</Height>
+ <Left>150.24235516816566</Left>
+ <Top>341.47687867152945</Top>
+ <Width>310</Width>
+ <Height>140.56766191129225</Height>
<Angle>0</Angle>
<ItemGuid>79AD6611-82A2-4B4C-AB5E-A11A33E1243D</ItemGuid>
<ColorNumber>-1</ColorNumber>
@@ -2729,9 +2774,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>aae29286-81b3-476a-9f58-c0fd246cae96</ID>
@@ -2744,9 +2789,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="TextItem">
<ID>7d94c7c4-1288-4f9d-b0e6-a06794829642</ID>
@@ -2838,9 +2883,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="TextItem">
<ID>1c254a92-c075-453f-9667-cdcc91cf8e6a</ID>
@@ -2875,9 +2920,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="TextItem">
<ID>0bef6e9d-6da0-4f06-9e1a-c00142bde4c1</ID>
@@ -2912,9 +2957,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>39f6a02c-c4d9-47d0-b92d-bdea0ed5d3ce</ID>
@@ -3068,9 +3113,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1942</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="ValveItem">
<ID>604e031b-89c3-4c9d-90ef-7b861a77e5e0</ID>
@@ -3095,5 +3140,5 @@
</Items>
</MachineTechViewProjectTab>
</Tabs>
- <SelectedTabIndex>5</SelectedTabIndex>
+ <SelectedTabIndex>0</SelectedTabIndex>
</MachineTechViewProject> \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/temp/EmbParam.cfg b/Software/Stubs Collection/stubs/temp/EmbParam.cfg
deleted file mode 100644
index 00a9e0549..000000000
--- a/Software/Stubs Collection/stubs/temp/EmbParam.cfg
+++ /dev/null
Binary files differ