aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection/stubs/Scripts
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Stubs Collection/stubs/Scripts')
-rw-r--r--Software/Stubs Collection/stubs/Scripts/11.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/12345.cs63
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/Write Arc head eeprom.cs146
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/clean_motor_ls.cs278
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from loewer safety.cs46
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from upper safety.cs46
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_LimitSwitch.cs2
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_PressureSensor.cs2
-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_Test.cs204
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test1.cs217
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test2.cs227
-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_Jig.cs542
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_LimitSwitch.cs39
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs63
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV499
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV1600
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV29654
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_motor_test.cs29
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_ssi.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Encoder.cs)27
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/GPO_Blower_PWM.cs36
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Load_Dryer_Arm.cs224
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Loading_arm_center_calibration.cs22
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs62
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.csv1795
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.cs78
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.csv345
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test12.csv283
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test13.csv290
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test14.csv224
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test15.csv181
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test16.csv231
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test2.csv271
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test3.csv127
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs174
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs186
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_Test.cs34
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs34
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_test.cs32
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig.cs548
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig1.cs575
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Jig/DyeHeadJig.cs384
-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/Dye head/Write SYLKO to head eeprom.cs118
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch1.cs75
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs100
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/1.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/1.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR_CURRENT_SENSE.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR_CURRENT_SENSE.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/header_LimitSwitch.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/header_LimitSwitch.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_motor_limit_switch.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_ssr.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magner_ssr.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_JIG.cs574
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch.cs103
-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.cs145
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_SSI.cs64
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/Test_Loading_TFU.cs155
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/test.cs (renamed from Software/Stubs Collection/stubs/Scripts/auto shutt off.cs)21
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs347
-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_JIG.cs480
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_Valves_test.cs65
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_pressure_sensors.cs64
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs451
-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/midtanksetparams.cs151
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/read_midtank_calibration.cs37
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs145
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs97
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs94
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.cs72
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs38
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs227
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsxbin9351 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Copy of Book4.xlsxbin9880 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Logger data.xlsxbin9874 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev2.cs292
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs237
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs230
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG.cs537
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG1.cs552
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_SSI1.cs93
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/WHS_waste_Tank_Calibration_Save_V0.cs90
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs29
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/pump2.cs32
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Screw_Encoder.cs44
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Jig.cs370
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs90
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_spoll_exist.cs65
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower.cs21
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower_Data.cs28
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_speed.cs36
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_test.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Rehostat.cs31
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Set_Blower_Get_Q_Qavarege_Volt.cs64
-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/fan.cs34
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/get_A2D_MAX11614.cs48
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/pump.cs29
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/set_gas_get_A2D_MAX11614.cs52
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Blower.cs60
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Fan_speed.cs59
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_blower_and_ORF3.cs48
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs90
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs47
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs40
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump.cs47
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump_Blower.cs27
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv1.cs33
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv2.cs34
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/whs control loop disable.cs26
-rw-r--r--Software/Stubs Collection/stubs/Scripts/CalculateContinuous.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/ChangePidDuringRun.cs52
-rw-r--r--Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs54
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Defines/Blowe_RMO_LOG.CSV47
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Dispenser_setup.cs1415
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Head_EEPROM.cs135
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Head_Type_Indification.cs25
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs25
-rw-r--r--Software/Stubs Collection/stubs/Scripts/I2C_RW_Dispenser_EEPROM.cs134
-rw-r--r--Software/Stubs Collection/stubs/Scripts/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs98
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig.cs457
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/DyeHead_Jig.cs344
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs1032
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docxbin2159500 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docxbin3989402 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs496
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs201
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Mixer_Jig.cs131
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig.cs583
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_Mixer_Jig.cs170
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs367
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Tango_define.cs124
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Winder_Jig.cs189
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/location.cs1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/span.cs615
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/stapele_span.cs631
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs24
-rw-r--r--Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Moshe Copy Files.exebin342016 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs118
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing1.cs118
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing2.cs233
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing3.cs261
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing4.cs265
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01.cs266
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01_rev10.cs266
-rw-r--r--Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs45
-rw-r--r--Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs30
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Priming.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Priming1.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Read Dancer new.cs138
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Read Dancer.cs32
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Read Dispensers Serial Num.cs27
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Read_Version.cs17
-rw-r--r--Software/Stubs Collection/stubs/Scripts/SS Head Sensor board.cs22
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Set loading arm center.cs22
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Tango_Main_PCB_ATP_sn_xxxxxxx.xlsxbin14591 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/TestForVika.cs126
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test12.docxbin14324142 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test13.docxbin13730535 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/WHS_Test_EEPROM.cs135
-rw-r--r--Software/Stubs Collection/stubs/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/blower_Q.cs29
-rw-r--r--Software/Stubs Collection/stubs/Scripts/change sublimation time.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/check_kval_load_arm.cs80
-rw-r--r--Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs118
-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.cs195
-rw-r--r--Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs215
-rw-r--r--Software/Stubs Collection/stubs/Scripts/load parameters from machine.cs59
-rw-r--r--Software/Stubs Collection/stubs/Scripts/magnet_new_head.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/motormov.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs90
-rw-r--r--Software/Stubs Collection/stubs/Scripts/process parameters.cs57
-rw-r--r--Software/Stubs Collection/stubs/Scripts/progress_test.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/read and store main card data.cs83
-rw-r--r--Software/Stubs Collection/stubs/Scripts/read write main eeprom fixed.cs45
-rw-r--r--Software/Stubs Collection/stubs/Scripts/read write main eeprom.cs45
-rw-r--r--Software/Stubs Collection/stubs/Scripts/read_cpu_eeprom.cs29
-rw-r--r--Software/Stubs Collection/stubs/Scripts/single temperature.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/temp.cs492
-rw-r--r--Software/Stubs Collection/stubs/Scripts/test halt.cs24
-rw-r--r--Software/Stubs Collection/stubs/Scripts/test.cs76
-rw-r--r--Software/Stubs Collection/stubs/Scripts/waste level.cs71
-rw-r--r--Software/Stubs Collection/stubs/Scripts/waste_level2.cs85
-rw-r--r--Software/Stubs Collection/stubs/Scripts/wd_enable.cs25
-rw-r--r--Software/Stubs Collection/stubs/Scripts/whs eeprom temporary 2.cs31
-rw-r--r--Software/Stubs Collection/stubs/Scripts/whs eeprom temporary.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/whs fans stop.cs28
204 files changed, 336 insertions, 60552 deletions
diff --git a/Software/Stubs Collection/stubs/Scripts/11.cs b/Software/Stubs Collection/stubs/Scripts/11.cs
deleted file mode 100644
index 9b7b1097e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/11.cs
+++ /dev/null
@@ -1,42 +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_GET_PARAM = 0x20;
-const Int32 x_MOVE_PARAM = 0x40;
-
-const Int32 F1_MOTO_DRYER_LOADARM_A1_TX_00 = 0x60000240 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_TX_01 = 0x60000242 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_RX_00 = 0x60000244 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_RX_01 = 0x60000246 ;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_01,0X4100);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_00,32000);
-
-
-
-
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/12345.cs b/Software/Stubs Collection/stubs/Scripts/12345.cs
deleted file mode 100644
index 354c349cc..000000000
--- a/Software/Stubs Collection/stubs/Scripts/12345.cs
+++ /dev/null
@@ -1,63 +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;
-
-
-/*** Dryer Motors ***/
-const Int32 F1_MOTO_DRYER_LOADARM_A1_TX_00 = 0x60000240 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_TX_01 = 0x60000242 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_RX_00 = 0x60000244 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_RX_01 = 0x60000246 ;
-
-
-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_GET_PARAM = 0x20;
-const Int32 x_MOVE_PARAM = 0x40;
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-// Request ----
-// UInt32 : Address
-// UInt32 : Value
-
-// Response ----
-// String : Status
-// UInt32 : StatusWord
-
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_01,0);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_00,(x_GET_PARAM | x_ABS_POS)<<8);
-
-
-
-var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_00);
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_01);
-
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_01,0);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_00,0);
-
-
-
-response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_00);
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_01);
-
-
-
-
-
-
-} \ 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
deleted file mode 100644
index 8d0056de2..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/Write Arc head eeprom.cs
+++ /dev/null
@@ -1,146 +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 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/ArcHead/clean_motor_ls.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/clean_motor_ls.cs
deleted file mode 100644
index 2a0fc12cf..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/clean_motor_ls.cs
+++ /dev/null
@@ -1,278 +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 LS_FRONT=0X460110;
-const Int32 LS_REAR=0X460120;
-const Int32 LS_UPPER=0X460140;
-const Int32 LS_SPARE=0X460180;
-
-const Int32 DyeingHeadLid_Motor = 2;
-
-const Int32 F1_MOTO_DH_LID_A1_TX_00 = 0x600002F0 ;
-const Int32 F1_MOTO_DH_LID_A1_TX_01 = 0x600002F2 ;
-const Int32 F1_MOTO_DH_LID_A1_RX_00 = 0x600002F4 ;
-const Int32 F1_MOTO_DH_LID_A1_RX_01 = 0x600002F6 ;
-
-//---------------------Start Command ----------------
-const Int32 CMD_RUN = 0; //Run on Pulse Per Secound .positive run Up and negative run Down
-const Int32 CMD_STOP= 1; //0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz
-const Int32 CMD_HOME= 2; //Run until home .positive run Up and negative run Down
-const Int32 CMD_DLY = 3; //delay in Seconds .
-const Int32 CMD_MOVE= 4; //Move step. positive move Up and negative move Down
-const Int32 CMD_MAX_SPEED = 5; //set Maximum speed.motor will stop before that command
-
-const Int32 CMD_LOOP_NM=6; //NUMBER OF counter
-const Int32 CMD_LOOP= 7; //jump up(+) or down(-) command u
-const Int32 CMD_END = 13; //end loop .
-
-
-const Int32 x_STEP_MODE = 0x16;
-const Int32 x_STATUS = 0x19;
-const Int32 x_GET_PARAM = 0x20;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-
-
-//-------------------------------------------- Flow Test Double PBU ------------------------------------------------
-
-Int32[] Start_Table = new int []
-{
- CMD_RUN,-40,
- CMD_DLY,200,
- CMD_STOP,0,
- CMD_DLY,10,
- CMD_HOME,40,
- CMD_END,3,
-};
-
-////////////////////////////////////
-
-public void OnExecute(StubManager stubManager)
-{
-Int32 COMMAND=0;
-Int32 Data=0;
-Int32 Index=0;
-Int32 speed=0;
-Int32 Loop_cnt=1;
-Int32 j=0;
-
-
-
- var stopwatch = new Stopwatch();
- stopwatch.Start();
-
- long elapsed_time = stopwatch.ElapsedMilliseconds;
- stubManager.WriteLine(elapsed_time);
-
- while (j!=-1)
- {
- {
- COMMAND=Start_Table[j];
- Data=Start_Table[j+1];
-
- switch (COMMAND)
- {
- case CMD_RUN:
- stubManager.WriteLine("CMD_RUN");
- Motor_Run(Data);
- break;
-
- case CMD_STOP:
- stubManager.WriteLine("CMD_stop");
- Motor_Stop(Data);
- break;
-
- case CMD_DLY:
- stubManager.WriteLine("CMD_delay");
-
- for (;Data>0;Data--)
- {
- Thread.Sleep(100); //100msec delay
- stubManager.WriteLine("CMD_delay " + Data );
- }
- break;
-
-
- case CMD_MOVE:
- stubManager.WriteLine("CMD_move");
-
- Motor_Move(Data);
- break;
-
- case CMD_END:
- stubManager.WriteLine("CMD_end");
-
- j=-3;
- break;
-
- case CMD_MAX_SPEED:
- stubManager.WriteLine("CMD_MAX_SPEED");
-
- Motor_Max_speed(Data);
- break;
-
- case CMD_HOME:
- stubManager.WriteLine("CMD_home");
-
- Move_Home(Data);
- break;
-
-
- case CMD_LOOP_NM:
- stubManager.WriteLine("LOOP_NM" + Data );
-
- Loop_cnt=Data-1;
- break;
-
- case CMD_LOOP:
- stubManager.WriteLine("CMD_loop");
-
- if (Loop_cnt!=0)
- {
- j = j+2*Data;
- Loop_cnt-- ;
- }
- break;
-
- default:
- break;
-
- }
-
- j = j + 2;
-
-
- }
-
- }
-
-}
-Int32 Motor_Max_speed(Int32 speed)
-{
- UInt32 i=Convert.ToUInt32((speed *4/61)*256*256 ) ;
- stubManager.WriteHex(i,8);
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,0); //hold motor
-
-
- Motor_SetParam(F1_MOTO_DH_LID_A1_TX_01,F1_MOTO_DH_LID_A1_TX_00,0x07,i); //set max speed
-
- return 1;
-}
-
-
-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;
-}
-
-Int32 Move_Home(Int32 speed)
-{
- Int32 Bit = 1;
- if (speed <0 )
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, (-speed) );
- else
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, speed);
- int i=0;
- while ((Bit != 0x0)&& (i<20000) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit=read_pio (LS_FRONT); // read LS_FRONT
- Thread.Sleep(20);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,0); //hold motor
- 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);
- stubManager.WriteHex(temp, 4);
- stubManager.WriteLine(" ");
- temp =temp & (i2c_input& 0xff); //if break ok
-
- return temp;
-}
-
-
-
-//////////////////////////////////////////////////////////////
-Int32 Motor_Move (Int32 position)
-
- {
- Int32 x=16;
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,DyeingHeadLid_Motor, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
-
- response.RecivedData=response.RecivedData & 0x0007;
- if (response.RecivedData == 0)
- x=1;
- if (response.RecivedData == 1)
- x=2;
- if (response.RecivedData == 2)
- x=4;
- if (response.RecivedData == 3)
- x=8;
-
-
- int i=0;
- if (position<0 )
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DyeingHeadLid_Motor, false, (-position * x) );
- else
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DyeingHeadLid_Motor, true, position * x);
-
- Thread.Sleep(100); //100msec delay
-
- while (i==0)
- {
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,DyeingHeadLid_Motor, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
-
- stubManager.WriteHex(response.RecivedData,4);
- response.RecivedData=response.RecivedData & 0x0002;
- if (response.RecivedData==0x0002)
- i=1;
- Thread.Sleep(100); //100msec delay
-
-
- }
- return 0;
- }
-
-//////////////////////////////////////////////////////////////
-Int32 Motor_Run (Int32 speed)
-
- {
- if (speed<0 )
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, (-speed) );
- else
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, speed);
- return 0;
- }
-
-//---------------------------------------
-
- Int32 Motor_Stop(Int32 Stop_Value )
-{
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor, Stop_Value);
- return 1;
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from loewer safety.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from loewer safety.cs
deleted file mode 100644
index 34dce79fe..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from loewer safety.cs
+++ /dev/null
@@ -1,46 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- UInt32 Dispenser_ID = 3; //Software Dispensers 0..7, BP Dispensers 1..8 (4 for bp disp 5)
-
- stubManager.Write("ByPass + TestRelay + read inputs ");
- stubManager.WriteLine("");
- var response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,Dispenser_ID, true, false, 0, 0);//ByPass + read inputs
- stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
- stubManager.WriteHex((response.DispenserPosition),4);
- stubManager.WriteLine("");
- stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
- stubManager.WriteHex((response.InkWorningLevel),4);
- stubManager.WriteLine("");
- stubManager.WriteLine("----");
- stubManager.WriteLine("");
-
- stubManager.Run("StubMotorRunRequest" ,(Dispenser_ID + 6), true, 1200 );//Dispenser ID -> motor ID
-
- Thread.Sleep(30000); //Sleep
- stubManager.Run("StubMotorStopRequest" ,15, 3);
-
- stubManager.Write("Remove ByPass ( + read inputs) ");
- stubManager.WriteLine("");
- response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,Dispenser_ID, false, false, 0, 0);// read inputs
- stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
- stubManager.WriteHex((response.DispenserPosition),4);
- stubManager.WriteLine("");
- stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
- stubManager.WriteHex((response.InkWorningLevel),4);
- stubManager.WriteLine("");
- stubManager.WriteLine("----");
- stubManager.WriteLine("");
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from upper safety.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from upper safety.cs
deleted file mode 100644
index 1887d433c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from upper safety.cs
+++ /dev/null
@@ -1,46 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- UInt32 Dispenser_ID = 1; //Software Dispensers 0..7, BP Dispensers 1..8 (4 for bp disp 5)
-
- stubManager.Write("ByPass + TestRelay + read inputs ");
- stubManager.WriteLine("");
- var response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,Dispenser_ID, true, false, 0, 0);//ByPass + read inputs
- stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
- stubManager.WriteHex((response.DispenserPosition),4);
- stubManager.WriteLine("");
- stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
- stubManager.WriteHex((response.InkWorningLevel),4);
- stubManager.WriteLine("");
- stubManager.WriteLine("----");
- stubManager.WriteLine("");
-
- stubManager.Run("StubMotorRunRequest" ,(Dispenser_ID + 6), false, 1200 );//Dispenser ID -> motor ID
-
- Thread.Sleep(30000); //Sleep
- stubManager.Run("StubMotorStopRequest" ,15, 3);
-
- stubManager.Write("Remove ByPass ( + read inputs) ");
- stubManager.WriteLine("");
- response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,Dispenser_ID, false, false, 0, 0);// read inputs
- stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
- stubManager.WriteHex((response.DispenserPosition),4);
- stubManager.WriteLine("");
- stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
- stubManager.WriteHex((response.InkWorningLevel),4);
- stubManager.WriteLine("");
- stubManager.WriteLine("----");
- stubManager.WriteLine("");
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_LimitSwitch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_LimitSwitch.cs
index 7eb048556..90ad540f9 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_LimitSwitch.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_LimitSwitch.cs
@@ -37,8 +37,6 @@ int LimitSW_Dispenser(Int32 Fpga, Int32 Adr, int DispenserNo)
counter = counter + 1;
}
Thread.Sleep(100);
- Temp = RetVal.Value;
-
}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_PressureSensor.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_PressureSensor.cs
index 342d2fdb2..11a419576 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_PressureSensor.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_PressureSensor.cs
@@ -27,7 +27,7 @@ public void OnExecute(StubManager stubManager)
for (int i=2; i<10; i++)
{
- Thread.Sleep(100);
+ Thread.Sleep(1000);
var response = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,i);
stubManager.Write("\nADC VALUE, DISPENSER "); stubManager.Write(i-1); stubManager.Write("\t"); stubManager.WriteHex(response.SamplingInBits, 4); stubManager.Write("\t"); stubManager.Write(response.VoltageSamplingMv); stubManager.Write(" mV");
}
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
deleted file mode 100644
index c91b21308..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV
+++ /dev/null
@@ -1,4 +0,0 @@
-,RPM
-0,2675
-1,2688
-2,2688
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test.cs
deleted file mode 100644
index c88a17313..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test.cs
+++ /dev/null
@@ -1,204 +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;
-
-Int32 position_32bit=0;
-Int32 last_14bit_position;
-
-const Int32 HomeStart=1024;
-const Int32 DrierLoadingArm_Motor = 5;
-const Int32 NM_ROUND =30;
-public void OnExecute(StubManager stubManager)
-{
- Test_Load_Arm();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
-
-}
-
-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(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)
- {
-
- 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;
- }
- position_32bit=0;
-
-for (int loop=0;i<Loop_Nm;i++)
-
- {
- stubManager.Write("Loop Nm " + (loop+1) +" strat up posision \n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, true, 200);
-// Thread.Sleep(50);
- i=0;
- temp3=0;
-
-
- while ((temp3<3)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- Thread.Sleep(50);
- i++;
- ReadEncoder_Dryer();
-
- if (Math.Abs(position_32bit)> (NM_ROUND*0x4000))
- temp3=3;
- if ((temp-position_32bit)>20)
- temp3++;
- temp=position_32bit;
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result5 = MessageBox.Show("Did Arm Motor make 30 rounds? See picture on document", "Warning",MessageBoxButtons.YesNo);
- if(temp3 >2 )
- {
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
-
- Thread.Sleep(50);
- stubManager.Write("Loop Nm " + (loop+1) +" strat down posision \n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 200);
- i=0;
- temp3=0;
-
- while ((temp3<3)&& (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)>20)
- temp3++;
- temp=position_32bit;
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result3 = MessageBox.Show("Did Arm Motor make 30 rounds? See picture on document", "Warning",MessageBoxButtons.YesNo);
- if(temp3 >2 )
- {
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
- Thread.Sleep(50);
-
-
-
-
- }
- return 0;
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test1.cs
deleted file mode 100644
index c4c3f13f4..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test1.cs
+++ /dev/null
@@ -1,217 +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;
-
-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, 3);
-
-
-}
-
-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);
-
- 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);
-// 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)>20)
- temp3++;
- temp=position_32bit;
-
-// stubManager.Write("position_32bit = " +position_32bit +"\ttemp3 = " + temp3 +"\n");
-
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 0);
-
- if(temp3 !=3 )
- {
- 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);
- 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)>20)
- temp3++;
- temp=position_32bit;
-// stubManager.Write("position_32bit = " +position_32bit +"\ttemp3 = " + temp3 +"\n");
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 0);
-
- if(temp3 !=3 )
- {
- 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_Arm_Test2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test2.cs
deleted file mode 100644
index 7670a8708..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test2.cs
+++ /dev/null
@@ -1,227 +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;
-
-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, 3);
-
-
-}
-
-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");
-
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- 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");
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
-
- 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_Arm_Test3.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test3.cs
deleted file mode 100644
index 7a7542ab7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test3.cs
+++ /dev/null
@@ -1,229 +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;
-
-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_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Jig.cs
deleted file mode 100644
index 42f35b8ef..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Jig.cs
+++ /dev/null
@@ -1,542 +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;
-
-
-include "..\..\Defines\Tango_Defines_Basic.cs"
-include "Tango_Defines_LimitSwitch.cs"
-include "Tango_Defines_SSR.cs"
-include "Tango_Defines_Tacho.cs"
-
-
-const int UNIT_UNDER_TEST=3+1+2+6;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\Dryer\\DryerLog\\";
-string path2="C:\\DryerLog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-Int32 last_14bit_position;
-Int32 position_32bit=0;
-float [] DryerTemp = new float[3] ;
-
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"Lid_Motor","Not Test"},
- {"LS_Lid_Open","Not Test"},
- {"LS_Lid_Close","Not Test"},
- {"DRIVING_Motor","Not Test"},
- {"SSI_Encoder","Not Test"},
- {"LoadArm_Motor","Not Test"},
- {"Blower_test","Not Test"},
- {"Air_PT100_test","Not Test"},
- {"Main_PT100_test","Not Test"},
- {"Sec.PT100","Not Test"},
- {"SSR1_heater","Not Test"},
- {"SSR2_heater","Not Test"},
- };
-
-
-
-//-----------------------------------------------------
-string Dryer_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "Dryer Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----Dryer Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" Dryer S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
-else
-path=path1;
-
-
-File_Name1=path + TextBox1.Text +"_Dryer_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
-stubManager.Write(File_Name1 +"\n");
-stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name1,"Dryer Test Report" );
-stubManager.Write("Dryer Test Report\n" );
-
-stubManager.AppendToFile(File_Name1,"Dryer S/N: \t" + TextBox1.Text );
-stubManager.Write("Dryer S/N:" + TextBox1.Text +"\n" );
-
-
-stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
-stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
-Label5.Location = new Point (300, 100);
-Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
-Label5.Text="Pros";
-Label5.Font = new Font("Arial", 24,FontStyle.Bold);
-form1.Controls.Add(Label5);
-
-
-//------------------------------- start test -----------
-// Test_LId();
-// Test_motor_driving();
-// Test_Load_Arm ();
- Test_Blower_heaters_pt100();
- Status=write_to_file();
-
- Label5.Text=Status;
- TextBox1.Text="";
-};
-
- form1.ShowDialog();
-
- return ;
- }
-//------------------------------------------
-int Test_Blower_heaters_pt100()
-{
-
- float ftemp=0;
- float ftemp1=0;
-
- SetBit(FPGA1,0x3d2,5,1); //turn off Blower
- Thread.Sleep(500);
-
- var RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
-
- DialogResult result = MessageBox.Show("Close Dryer Door", "Warning");
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- if(RetVal.Value>20)
- {
- Units_status[6,1]="Fail";
- stubManager.Write("Error,Fan rotate\n");
- return 0;
- }
-
- SetBit(FPGA1,0x3d2,4,1); //Dir
- SetBit(FPGA1,0x3d2,3,1); //Torqer High
- SetBit(FPGA1,0x3d2,5,0); //turn on Blower
-
- const int LOW = 70;//0 - 100%
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x112, 0xFF);//Freq 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EC, LOW+1);//Low 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EE, 101 - LOW);//High 8 bit
-
- Thread.Sleep(1000);
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- 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()!=0)
- return 0;
-
-float temp=0;
-float temp1=4096*95*5;
-
- //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
- SetBit (FPGA2, F2_CTRL, 10, 1); //turn SSR1 on
- 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");
- 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 (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");
- if ((temp>3) || (temp<1))
- Units_status[11,1]="Fail";
- else
- Units_status[11,1]="Pass";
-
- Thread.Sleep(50000);
-
-//check air temp
- ftemp=Read_pt100(0);
- stubManager.Write("After heating air temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[0];
- if ((ftemp<5)||(ftemp>25))
- Units_status[7,1]="Fail";
- else
- Units_status[7,1]="Pass";
-
-
-
-//check Main temp
- ftemp=Read_pt100(1);
- stubManager.Write("After heating Main temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[1];
- if ((ftemp<5)||(ftemp>40))
- Units_status[8,1]="Fail";
- else
- Units_status[8,1]="Pass";
-
-//check Sec. temp
- ftemp=Read_pt100(2);
- stubManager.Write("After heating Sec. temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[2];
- if ((ftemp<5)||(ftemp>40))
- Units_status[9,1]="Fail";
- else
- Units_status[9,1]="Pass";
-
- SetBit (FPGA2, F2_CTRL, 10, 0); //turn SSR1 off
- SetBit (FPGA2, F2_CTRL, 9, 0); //turn SSR2 off
-
- SetBit(FPGA1,0x3d2,5,1); //turn off Blower
- return 1;
-
-}
-
- int test_pt100()
- {
- float ftemp=0;
- int temp=0;
- int j=0;
- for (int i = 0; i < 3; i++)
- {
- DryerTemp[i]=Read_pt100(i);
- ftemp=DryerTemp[i];
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[i+7,1]="Fail";
- }
- else
- {
- Units_status[i+7,1]="Pass";
- }
- stubManager.Write(Units_status[i+7,0] +"\t"+ ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-
- }
- return 0;
- }
-//------------------------------------------------
-float Read_pt100(int i)
-{
- int j=i+6;
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,j); //
- float ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
- return (ftemp);
-}
-
-
-//------------------------------------------
-int Test_motor_driving ()
-
-{
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3, 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" ,3,3); //stop motor
-
- return 0;
-}
-//----------------------------------
-int Test_Load_Arm()
-{
-
- Int32 temp3=0;
- Int32 j=0;
- Int32 i=0;
- position_32bit=0;
- Int32 temp=position_32bit;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,5, false, 60);//40
- Thread.Sleep(50);
- temp=ReadEncoder();
- while ((temp3==0)&& (i<600) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Thread.Sleep(50);
- ReadEncoder();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (50*0x4000))
- temp3=1;
- if ((position_32bit-temp)>20)
- temp3=2;
-// stubManager.Write("Temp " + temp +"\n");
- temp=position_32bit;
-// stubManager.Write("Temp3 " + temp3 +"\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 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 arrive to mecahnicl stopper \n");
- return 0;
- }
-
- position_32bit=0;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,5, true, 60);
- Thread.Sleep(50);
- i=0;
- while ((Math.Abs(ReadEncoder())< (30*0x4000))&& (i<4500))
-
- {
- Thread.Sleep(50);
- i++;
-// stubManager.Write("position_32bit " + position_32bit +"\t" + i + "\n" );
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 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;
-}
-
-Int32 ReadEncoder()
-{
- 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 position_32bit;
-}
-//-----------------------------------
-int Test_LId ()
-{
- Int32 Bit = 1;
- int i = 0;
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 0x800000+2); //mov Dryer Lid motor down
- Thread.Sleep(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,4, 2); //Hard stop hiZ motor
- Thread.Sleep(1000);
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 0x800000+0); //mov Dryer Lid motor up
-
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,4);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Write("\n--------1-Lid Open--------");
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,4, 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" ,4, false, 0x800000+2); //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(FPGA1, F1_LS_01_Direct,5);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Write("\n--------2-Lid Close--------");
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,4, 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;
-
-}
-
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------Dryer Fail ------------ ");
- stubManager.Write("-------------Dryer Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------Dryer Pass ------------ )");
- stubManager.Write("-------------Dryer Pass ------------ ");
- }
-
- return Stemp;
-
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_LimitSwitch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_LimitSwitch.cs
index d3cc0b43c..46849f051 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_LimitSwitch.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_LimitSwitch.cs
@@ -21,18 +21,14 @@ public void OnExecute(StubManager stubManager)
Int32 Bit = 1;
uint Temp = 0;
int counter = 0;
- UInt32 PowerStep_driver=0;
- if (Get_Driver_Type(4)>0x14)
- PowerStep_driver=1;
- for (int i=0;i<1;i++)
- {
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 0x800000+2*PowerStep_driver); //mov Dryer Lid motor up
- Bit=1;
+
+ stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 2); //mov Dryer Lid motor up
+
while (Bit != 0x0) //wait until Dryer Lid open
{
- Bit = GetBit(FPGA1, F1_LS_01_Direct,4);
- Thread.Sleep(100);
+ Bit = GetBit(FPGA1, F1_LS_01_Direct,5);
+ Thread.Sleep(10);
}
stubManager.Write("\n--------1-Lid Open--------");
@@ -42,34 +38,19 @@ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,4, 2); //Hard st
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 0x800000+2*(1-PowerStep_driver)); //mov Dryer Lid motor up
+stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, true, 2); //mov Dryer Lid motor down
Bit = 1;
while (Bit != 0x0) //wait until Dryer Lid open
{
- Bit = GetBit(FPGA1, F1_LS_01_Direct,5);
- Thread.Sleep(100);
+ Bit = GetBit(FPGA1, F1_LS_01_Direct,4);
+ Thread.Sleep(10);
}
- stubManager.Write("\n--------2-Lid Close--------\nCycle \t"+i);
+ stubManager.Write("\n--------2-Lid Close--------");
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,4, 2); //Hard stop hiZ motor
-}
-
-}
-
-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 ;
-}
+} \ 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 d0ecd2125..da391cfb2 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
@@ -18,63 +18,22 @@ include "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);
+ //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
SetBit (FPGA2, F2_CTRL, 10, 1);
- stubManager.Write("\tTesting SSR no. 1\t");
- Thread.Sleep(3000);
-
-var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,16);
-
- temp=Convert.ToUInt32 (response1.SamplingInBits);
-
- stubManager.Write("Current = "+ temp*100/6 + "mA/n");
-
- temp=temp*800*3*100;
- temp=temp/(4096*95*50);
- 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");
-
-
+ stubManager.Write("\nTesting SSR no. 1");
+ Thread.Sleep(4000);
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(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*800*3*100;
- temp=temp/(4096*95*100);
- stubManager.Write("Current = "+ temp + "A\n");
-
-
+ stubManager.Write("\nTesting SSR no. 2");
+ Thread.Sleep(4000);
SetBit (FPGA2, F2_CTRL, 9, 0);
- response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,7); //
- stubManager.WriteHex(response.TemperatureCMultBy100,4);
- stubManager.Write("\n");
-
+
+ //Write GPO_DRYER_SSR3_CTRL SSR/SSR no. 3
+ SetBit (FPGA2, F2_CTRL, 8, 1);
+ stubManager.Write("\nTesting SSR no. 3");
+ Thread.Sleep(4000);
+ SetBit (FPGA2, F2_CTRL, 8, 0);
} \ 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
deleted file mode 100644
index 3b00533c7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV
+++ /dev/null
@@ -1,499 +0,0 @@
-01/10/2020 13:37:37
-Heating to 190
-01/10/2020 13:37:37
- 55
- 55
- 56
- 56
- 57
- 57
- 57
- 58
- 58
- 59
- 59
- 59
- 60
- 60
- 60
- 61
- 61
- 61
- 62
- 62
- 62
- 63
- 63
- 64
- 64
- 64
- 65
- 65
- 65
- 66
- 66
- 66
- 67
- 67
- 67
- 68
- 68
- 68
- 69
- 69
- 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
- 82
- 82
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 82
- 82
- 82
- 82
- 81
- 81
- 81
- 81
- 81
- 80
- 80
- 80
- 80
- 79
- 79
- 79
- 79
- 79
- 79
- 78
- 78
- 78
- 78
- 78
- 78
- 79
- 79
- 79
- 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
- 98
- 98
- 98
- 97
- 97
- 97
- 97
- 96
- 96
- 96
- 95
- 95
- 94
- 94
- 94
- 93
- 93
- 93
- 92
- 92
- 92
- 91
- 91
- 91
- 90
- 90
- 90
- 89
- 89
- 89
- 88
- 88
- 88
- 87
- 87
- 87
- 87
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 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
- 112
- 113
- 113
- 113
- 113
- 113
- 114
- 114
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 115
- 116
- 116
- 116
- 116
- 116
- 117
- 117
- 117
- 117
- 117
- 118
- 118
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 119
- 119
- 120
- 120
- 120
- 120
- 120
- 120
- 121
- 121
- 121
- 121
- 121
- 122
- 122
- 122
- 122
- 122
- 122
- 123
- 123
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 133
- 133
- 132
- 132
- 131
- 131
- 130
- 130
- 129
- 128
- 128
- 127
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV
deleted file mode 100644
index 6d1a7862c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV
+++ /dev/null
@@ -1,1600 +0,0 @@
-06/07/2020 9:43:12
-Heating to 190
-06/07/2020 9:43:12
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 24
- 24
- 24
- 24
- 24
- 24
- 25
- 25
- 25
- 26
- 26
- 26
- 27
- 27
- 28
- 28
- 29
- 29
- 30
- 30
- 31
- 31
- 32
- 32
- 33
- 33
- 34
- 34
- 35
- 35
- 36
- 37
- 37
- 38
- 38
- 39
- 39
- 40
- 41
- 41
- 42
- 42
- 43
- 43
- 44
- 44
- 45
- 46
- 46
- 47
- 47
- 48
- 48
- 49
- 49
- 50
- 50
- 51
- 52
- 52
- 53
- 53
- 54
- 54
- 55
- 55
- 56
- 56
- 56
- 57
- 57
- 58
- 58
- 59
- 59
- 60
- 60
- 60
- 61
- 61
- 62
- 62
- 63
- 63
- 63
- 64
- 64
- 65
- 65
- 65
- 66
- 66
- 66
- 67
- 67
- 68
- 68
- 68
- 69
- 69
- 69
- 70
- 70
- 71
- 71
- 71
- 72
- 72
- 72
- 73
- 73
- 73
- 74
- 74
- 74
- 75
- 75
- 75
- 76
- 76
- 76
- 77
- 77
- 77
- 78
- 78
- 78
- 79
- 79
- 79
- 79
- 80
- 80
- 80
- 81
- 81
- 81
- 82
- 82
- 82
- 82
- 83
- 83
- 83
- 84
- 84
- 84
- 84
- 85
- 85
- 85
- 86
- 86
- 86
- 86
- 87
- 87
- 87
- 88
- 88
- 88
- 88
- 89
- 89
- 89
- 89
- 90
- 90
- 90
- 91
- 91
- 91
- 92
- 92
- 92
- 92
- 93
- 93
- 93
- 93
- 94
- 94
- 94
- 94
- 95
- 95
- 95
- 95
- 96
- 96
- 96
- 96
- 97
- 97
- 97
- 97
- 98
- 98
- 98
- 98
- 98
- 99
- 99
- 99
- 99
- 100
- 100
- 100
- 100
- 101
- 101
- 101
- 101
- 102
- 102
- 102
- 102
- 102
- 103
- 103
- 103
- 103
- 104
- 104
- 104
- 104
- 105
- 105
- 105
- 105
- 105
- 106
- 106
- 106
- 106
- 106
- 107
- 107
- 107
- 107
- 107
- 108
- 108
- 108
- 108
- 108
- 109
- 109
- 109
- 109
- 110
- 110
- 110
- 110
- 110
- 111
- 111
- 111
- 111
- 111
- 112
- 112
- 112
- 112
- 112
- 113
- 113
- 113
- 113
- 113
- 114
- 114
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 115
- 116
- 116
- 116
- 116
- 116
- 117
- 117
- 117
- 117
- 117
- 118
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 119
- 119
- 120
- 120
- 120
- 120
- 120
- 121
- 121
- 121
- 121
- 121
- 122
- 122
- 122
- 122
- 122
- 123
- 123
- 123
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 134
- 134
- 135
- 135
- 135
- 135
- 135
- 135
- 136
- 136
- 136
- 136
- 136
- 136
- 137
- 137
- 137
- 137
- 137
- 137
- 138
- 138
- 138
- 138
- 138
- 138
- 139
- 139
- 139
- 139
- 139
- 139
- 140
- 140
- 140
- 140
- 140
- 140
- 141
- 141
- 141
- 141
- 141
- 141
- 142
- 142
- 142
- 142
- 142
- 142
- 143
- 143
- 143
- 143
- 143
- 143
- 144
- 144
- 144
- 144
- 144
- 144
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 146
- 146
- 146
- 146
- 146
- 146
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 148
- 148
- 148
- 148
- 148
- 148
- 149
- 149
- 149
- 149
- 149
- 149
- 150
- 150
- 150
- 150
- 150
- 150
- 150
- 151
- 151
- 151
- 151
- 151
- 151
- 151
- 152
- 152
- 152
- 152
- 152
- 152
- 152
- 153
- 153
- 153
- 153
- 153
- 153
- 153
- 154
- 154
- 154
- 154
- 154
- 154
- 155
- 155
- 155
- 155
- 155
- 155
- 155
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 157
- 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
- 162
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 167
- 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
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 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
- 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
- 180
- 180
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-06/07/2020 9:56:54
-cooling down
-06/07/2020 9:58:54
- 191
- 191
- 191
- 191
- 191
- 191
- 191
- 191
- 191
- 191
- 191
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 189
- 189
- 189
- 189
- 188
- 188
- 188
- 188
- 187
- 187
- 186
- 186
- 186
- 185
- 185
- 185
- 184
- 184
- 184
- 183
- 183
- 183
- 182
- 182
- 182
- 181
- 181
- 181
- 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
- 170
- 169
- 169
- 169
- 168
- 168
- 168
- 167
- 167
- 167
- 167
- 166
- 166
- 166
- 165
- 165
- 165
- 164
- 164
- 164
- 164
- 163
- 163
- 163
- 162
- 162
- 162
- 161
- 161
- 161
- 161
- 160
- 160
- 160
- 160
- 159
- 159
- 159
- 159
- 158
- 158
- 158
- 158
- 157
- 157
- 157
- 157
- 157
- 156
- 156
- 156
- 156
- 155
- 155
- 155
- 155
- 155
- 154
- 154
- 154
- 154
- 153
- 153
- 153
- 153
- 153
- 152
- 152
- 152
- 152
- 152
- 152
- 151
- 151
- 151
- 151
- 151
- 150
- 150
- 150
- 150
- 150
- 149
- 149
- 149
- 149
- 149
- 149
- 148
- 148
- 148
- 148
- 148
- 148
- 147
- 147
- 147
- 147
- 147
- 147
- 146
- 146
- 146
- 146
- 146
- 146
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 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
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV
deleted file mode 100644
index 4ab057b1c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV
+++ /dev/null
@@ -1,29654 +0,0 @@
-16/08/2020 18:49:18
-Heating to 190
-16/08/2020 18:49:18
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 25
- 25
- 25
- 25
- 25
- 26
- 26
- 26
- 26
- 27
- 27
- 27
- 28
- 28
- 29
- 29
- 29
- 30
- 30
- 31
- 31
- 32
- 32
- 33
- 33
- 33
- 34
- 34
- 35
- 36
- 36
- 37
- 38
- 38
- 39
- 39
- 40
- 40
- 41
- 41
- 42
- 42
- 43
- 43
- 44
- 44
- 45
- 45
- 46
- 46
- 47
- 47
- 48
- 48
- 49
- 49
- 50
- 50
- 51
- 51
- 52
- 52
- 53
- 53
- 53
- 54
- 54
- 55
- 55
- 56
- 56
- 57
- 57
- 57
- 58
- 58
- 59
- 59
- 60
- 60
- 60
- 61
- 61
- 62
- 62
- 63
- 63
- 63
- 64
- 64
- 65
- 65
- 66
- 66
- 66
- 67
- 67
- 67
- 68
- 68
- 69
- 69
- 69
- 70
- 70
- 70
- 71
- 71
- 71
- 72
- 72
- 72
- 73
- 73
- 73
- 74
- 74
- 74
- 75
- 75
- 75
- 76
- 76
- 76
- 77
- 77
- 77
- 78
- 78
- 78
- 79
- 79
- 79
- 79
- 80
- 80
- 80
- 81
- 81
- 81
- 81
- 82
- 82
- 82
- 83
- 83
- 83
- 84
- 84
- 84
- 84
- 85
- 85
- 85
- 85
- 86
- 86
- 86
- 87
- 87
- 87
- 87
- 88
- 88
- 88
- 88
- 89
- 89
- 89
- 89
- 90
- 90
- 90
- 91
- 91
- 91
- 91
- 92
- 92
- 92
- 92
- 93
- 93
- 93
- 93
- 94
- 94
- 94
- 94
- 95
- 95
- 95
- 95
- 95
- 96
- 96
- 96
- 96
- 97
- 97
- 97
- 97
- 98
- 98
- 98
- 98
- 98
- 99
- 99
- 99
- 99
- 100
- 100
- 100
- 100
- 100
- 101
- 101
- 101
- 101
- 102
- 102
- 102
- 102
- 102
- 103
- 103
- 103
- 103
- 104
- 104
- 104
- 104
- 104
- 105
- 105
- 105
- 105
- 105
- 106
- 106
- 106
- 106
- 106
- 107
- 107
- 107
- 107
- 107
- 108
- 108
- 108
- 108
- 108
- 109
- 109
- 109
- 109
- 110
- 110
- 110
- 110
- 110
- 111
- 111
- 111
- 111
- 111
- 112
- 112
- 112
- 112
- 112
- 112
- 113
- 113
- 113
- 113
- 113
- 114
- 114
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 115
- 115
- 116
- 116
- 116
- 116
- 116
- 117
- 117
- 117
- 117
- 117
- 117
- 118
- 118
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 119
- 119
- 120
- 120
- 120
- 120
- 120
- 120
- 121
- 121
- 121
- 121
- 121
- 122
- 122
- 122
- 122
- 122
- 122
- 123
- 123
- 123
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 134
- 134
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 137
- 137
- 137
- 137
- 137
- 137
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 145
- 145
- 145
- 145
- 145
- 145
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 148
- 148
- 148
- 148
- 148
- 148
- 148
- 148
- 149
- 149
- 149
- 149
- 149
- 149
- 149
- 150
- 150
- 150
- 150
- 150
- 150
- 150
- 150
- 151
- 151
- 151
- 151
- 151
- 151
- 151
- 151
- 152
- 152
- 152
- 152
- 152
- 152
- 152
- 152
- 153
- 153
- 153
- 153
- 153
- 153
- 154
- 154
- 154
- 154
- 154
- 154
- 154
- 154
- 155
- 155
- 155
- 155
- 155
- 155
- 155
- 155
- 155
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 157
- 157
- 157
- 157
- 157
- 157
- 157
- 157
- 157
- 158
- 158
- 158
- 158
- 158
- 158
- 158
- 158
- 158
- 159
- 159
- 159
- 159
- 159
- 159
- 159
- 159
- 159
- 160
- 160
- 160
- 160
- 160
- 160
- 160
- 160
- 160
- 161
- 161
- 161
- 161
- 161
- 161
- 161
- 161
- 161
- 162
- 162
- 162
- 162
- 162
- 162
- 162
- 162
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 177
- 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
- 180
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-16/08/2020 19:04:08
-cooling down
-16/08/2020 19:06:08
- 193
- 193
- 193
- 193
- 193
- 193
- 192
- 192
- 192
- 192
- 192
- 192
- 192
- 192
- 191
- 191
- 191
- 191
- 191
- 191
- 190
- 190
- 190
- 190
- 190
- 189
- 189
- 189
- 189
- 188
- 188
- 188
- 188
- 187
- 187
- 187
- 186
- 186
- 186
- 185
- 185
- 185
- 185
- 184
- 184
- 184
- 183
- 183
- 183
- 182
- 182
- 182
- 181
- 181
- 181
- 180
- 180
- 180
- 179
- 179
- 179
- 178
- 178
- 178
- 178
- 177
- 177
- 176
- 176
- 176
- 175
- 175
- 175
- 174
- 174
- 174
- 174
- 173
- 173
- 173
- 172
- 172
- 172
- 171
- 171
- 171
- 171
- 170
- 170
- 170
- 169
- 169
- 169
- 169
- 168
- 168
- 168
- 167
- 167
- 167
- 167
- 166
- 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
- 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
- 147
- 147
- 147
- 147
- 147
- 147
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 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
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 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
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 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
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 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
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 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
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 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
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 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
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 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
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 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
- 59
-16/08/2020 20:12:40
-Heating to 190
-16/08/2020 20:12:40
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 61
- 61
- 61
- 61
- 62
- 62
- 62
- 62
- 63
- 63
- 64
- 64
- 64
- 65
- 65
- 66
- 66
- 66
- 67
- 67
- 68
- 68
- 69
- 69
- 70
- 70
- 71
- 71
- 71
- 72
- 72
- 73
- 73
- 74
- 74
- 75
- 75
- 76
- 76
- 77
- 77
- 78
- 78
- 79
- 80
- 80
- 81
- 81
- 82
- 82
- 82
- 83
- 83
- 84
- 84
- 85
- 85
- 86
- 86
- 87
- 87
- 87
- 88
- 88
- 89
- 89
- 90
- 90
- 90
- 91
- 91
- 92
- 92
- 93
- 93
- 93
- 94
- 94
- 95
- 95
- 95
- 96
- 96
- 97
- 97
- 97
- 98
- 98
- 98
- 99
- 99
- 99
- 100
- 100
- 101
- 101
- 101
- 102
- 102
- 102
- 103
- 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
- 113
- 113
- 113
- 113
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 116
- 116
- 116
- 116
- 117
- 117
- 117
- 118
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 120
- 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
- 126
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 129
- 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
- 134
- 135
- 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
- 140
- 141
- 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
- 145
- 146
- 146
- 146
- 146
- 146
- 146
- 147
- 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
- 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
- 157
- 158
- 158
- 158
- 158
- 158
- 158
- 159
- 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
- 162
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 166
- 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
- 169
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 175
- 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
- 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
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-16/08/2020 20:23:12
-cooling down
-17/08/2020 0:35:05
- 42
-17/08/2020 0:35:06
-Heating to 190
-17/08/2020 0:35:06
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 39
- 40
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 32
- 33
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 31
- 32
- 32
- 32
- 31
- 31
- 31
- 32
- 31
- 31
- 31
- 31
- 32
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 30
- 30
- 31
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 29
- 30
- 30
- 30
- 30
- 30
- 30
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_motor_test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_motor_test.cs
deleted file mode 100644
index bd92ea498..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_motor_test.cs
+++ /dev/null
@@ -1,29 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3,true, 2200);
-
-
-
-
-
-
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Encoder.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_ssi.cs
index d2eb00cb6..0e6c5c7f0 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Encoder.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_ssi.cs
@@ -31,25 +31,18 @@ public void OnExecute(StubManager stubManager)
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");
+ }
- stubManager.Write(ReadEncoder_Dryer() +"\n");
-
- Thread.Sleep(100);
+ Thread.Sleep(10);
}
}
-
-Int32 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));
-
- return temp;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/GPO_Blower_PWM.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/GPO_Blower_PWM.cs
index de04260fa..d7c4894c6 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/GPO_Blower_PWM.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/GPO_Blower_PWM.cs
@@ -12,48 +12,26 @@ using Tango.Stubs;
include "..\..\Defines\Tango_Defines_Basic.cs"
include "Tango_Defines_SSR.cs"
-include "Tango_Defines_Tacho.cs"
-const int Time_Test_On_Second= 60*30*3 ; //1.5 hour
-const string File_Name = @"P:\Scripts\Assemblies\Dryer\Blowe_RMO_LOG.CSV"; //3 hour
+
public void OnExecute(StubManager stubManager)
{
-
- var RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- UInt32 temp;
-
SetBit(FPGA1,0x3d2,5,0); //turn on Blower
- SetBit(FPGA1,0x3d2,4,1); //Dir
+ SetBit(FPGA1,0x3d2,4,0); //Dir
SetBit(FPGA1,0x3d2,3,1); //Torqer High
- const int LOW = 70;//0 - 100%
+ const int LOW = 50;//0 - 100%
var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x112, 0xFF);//Freq 8 bit
var response1 = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EC, LOW+1);//Low 8 bit
var response2 = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EE, 101 - LOW);//High 8 bit
-
-
- stubManager.WriteToFile(File_Name,",RPM ");
-
-
- for (int i=0;i<Time_Test_On_Second;i++)
-
- {
- Thread.Sleep(1000);
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- temp=60/12; //60 sec
- temp=temp *29166667;
- temp=temp/RetVal.Value;
- temp=temp/250;
- stubManager.AppendToFile(File_Name,i+ ","+ temp );
-
- stubManager.Write("Fan5 Speed- \t"+temp + "\n");
-// stubManager.WriteHex(RetVal.Value,4);
-
- }
+ Thread.Sleep(4000);
SetBit(FPGA1,0x3d2,5,1); //turn off Blower
+
+ // low + high = 100 % in order use the same freq
+ // there is option to change only the high (low + freq constasnt) this will chnga the freq
} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Load_Dryer_Arm.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Load_Dryer_Arm.cs
deleted file mode 100644
index 1ce0a515f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Load_Dryer_Arm.cs
+++ /dev/null
@@ -1,224 +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 "..\Defines\Tango_Defines_Motors.cs"
-
- //--------------------------------------------------------------------------------
-
-//--------------------------------------------------------------------------------
-Int32 last_14bit_position;
-Int32 position_32bit;
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
- last_14bit_position = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- position_32bit=0;
-
-
-//Create form
- Form form1 = new Form();
-
-//--------------------------------------------------------------------------------
-
-// Create buttons to use as the accept and cancel buttons.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-
- Button button2 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-//--------------------------------------------------------------------------------
-// Set the text of button
-
- button1.Text = "ARM HOME";
-
- button2.Text = "ARM STRART";
-
-//--------------------------------------------------------------------------------
-// Set the position of the button on the form.
-
- button1.Location = new Point (40, 100);
-
- button2.Location
- = new Point (button1.Left + button1.Width + 10, 100);
-
-//--------------------------------------------------------------------------------
- // Add button to the form.
-
- form1.Controls.Add(button1);
-
- form1.Controls.Add(button2);
-
-//--------------------------------------------------------------------------------
-
-// Set the caption bar text of the form.
-
- form1.Text = "Load Dryer Arm";
-
-//--------------------------------------------------------------------------------
-
- // Define the border style of the form to a dialog box.
-
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
-
- // Set the MaximizeBox to false to remove the maximize box.
-
- form1.MaximizeBox = false;
-
- // Set the MinimizeBox to false to remove the minimize box.
-
- form1.MinimizeBox = false;
-
- // Set the start position of the form to the center of the screen.
-
- form1.StartPosition = FormStartPosition.CenterScreen;
-
-
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-//--------------------------------------------------------------------------------
-
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text ="20"
- };
-TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
-Label Label1 = new Label ()
- {
- Width = 150,
- Height = 100,
- Text ="Number round"
- };
-Label1.Location = new Point (20, 10);
- form1.Controls.Add(Label1);
-
-
-
-//--------------------------------------------------------------------------------
-
-
-
- button2.Click += (_,__) =>
-
- {
- position_32bit=0;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,5, true, 40);
- Thread.Sleep(200);
-
- while (Math.Abs(ReadEncoder())< (UInt32.Parse(TextBox1.Text)*0x4000))
-
- {
- Thread.Sleep(200);
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 3);
-
- };
-
-
-
-//--------------------------------------------------------------------------------
-
- button1.Click += (_,__) =>
- {
- Int32 temp3=0;
- Int32 j=0;
- position_32bit=0;
- Int32 temp=position_32bit;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,5, false, 40);
- Thread.Sleep(200);
-
- while (temp3==0)
-
- {
- Thread.Sleep(200);
- ReadEncoder();
- stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (UInt32.Parse(TextBox1.Text)*0x4000))
- temp3=1;
- if (Math.Abs(position_32bit-temp)<0x40)
- j=j+1;
- else
- j=0;
- temp=position_32bit;
- if (j>3)
- temp3=2;
-
- stubManager.Write("Temp3 " + temp3 +"\n");
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 3);
-
- };
-
-//--------------------------------------------------------------------------------
-
-// Display the form as a modal dialog box.
- form1.ShowDialog();
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 3);
-
-
- return;
-}
-
-Int32 ReadEncoder()
-{
- 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 position_32bit;
-}
-
-
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Loading_arm_center_calibration.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Loading_arm_center_calibration.cs
deleted file mode 100644
index bb502309e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Loading_arm_center_calibration.cs
+++ /dev/null
@@ -1,22 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xB1;
-
-var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs
deleted file mode 100644
index 13e6af513..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs
+++ /dev/null
@@ -1,62 +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 "Tango_Defines_Tacho.cs"
-
-const int Time_Test_On_Second= 60*30*3 ; //1.5 hour
-const string File_Name = @"P:\Scripts\Assemblies\Dryer\Blowe_RMO_LOG.CSV"; //3 hour
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-/*
- const int LOW = 75;//0 - 100%
- var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x112, 0xFF);//Freq 8 bit
- var response1 = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EC, LOW+1);//Low 8 bit
- var response2 = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EE, 101 - LOW);//High 8 bit
-*/
-
-
-
-
-
-
-
- var RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- UInt32 temp;
-
-
-// stubManager.WriteToFile(File_Name,",RPM ");
-
-
- for (int i=0;i<Time_Test_On_Second;i++)
-
- {
-
- Thread.Sleep(1000);
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- temp=60/12; //60 sec
- temp=temp *29166667;
- temp=temp/RetVal.Value;
- temp=temp/250;
-// stubManager.AppendToFile(File_Name,i+ ","+ temp );
-
- stubManager.Write("Fan5 Speed- \t"+temp + "\n");
-// stubManager.WriteHex(RetVal.Value,4);
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.csv
deleted file mode 100644
index a31cc8341..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.csv
+++ /dev/null
@@ -1,1795 +0,0 @@
-24/05/2020 13:21:48
-0,0
-58,0
-75,0
-92,-2
-111,53
-132,36
-151,-53
-172,-14
-192,-117
-212,-100
-248,-149
-268,-309
-289,-377
-309,-453
-328,-462
-350,-539
-369,-687
-388,-747
-410,-829
-431,-842
-451,-922
-464,-991
-494,-1044
-515,-1221
-535,-1237
-557,-1312
-578,-1459
-599,-1538
-619,-1552
-639,-1626
-660,-1701
-685,-1846
-704,-1873
-720,-1940
-733,-2000
-749,-2113
-765,-2172
-783,-2231
-802,-2298
-820,-2369
-836,-2435
-861,-2494
-878,-2525
-899,-2593
-919,-2735
-933,-2809
-952,-2861
-966,-2932
-982,-2986
-996,-2982
-1014,-3033
-1035,-3101
-1052,-3242
-1078,-3239
-1101,-3341
-1124,-3425
-1146,-3570
-1181,-3595
-1203,-3783
-1216,-3799
-1235,-3850
-1250,-3921
-1277,-3984
-1298,-4147
-1318,-4223
-1336,-4294
-1355,-4298
-1374,-4365
-1396,-4444
-1427,-4591
-1458,-4713
-1484,-4751
-1505,-4914
-1533,-4960
-1555,-5028
-1574,-5172
-1596,-5244
-1619,-5268
-1642,-5419
-1664,-5499
-1686,-5520
-1706,-5606
-1733,-5740
-1757,-5783
-1776,-5935
-1793,-6007
-1811,-6065
-1830,-6133
-1849,-6207
-1870,-6276
-1891,-6285
-1912,-6366
-1940,-6511
-1962,-6546
-1977,-6627
-1992,-6683
-2012,-6739
-2032,-6815
-2055,-6963
-2077,-6996
-2093,-7053
-2119,-7114
-2142,-7283
-2164,-7362
-2187,-7380
-2210,-7531
-2235,-7615
-2254,-7642
-2276,-7714
-2302,-7874
-2322,-7900
-2342,-7972
-2373,-8107
-2396,-8161
-2416,-8310
-2442,-8383
-2465,-8413
-2490,-8566
-2512,-8591
-2536,-8677
-2562,-8785
-2581,-8858
-2612,-8929
-2653,-9040
-2681,-9265
-2700,-9302
-2720,-9370
-2741,-9446
-2760,-9591
-2782,-9659
-2805,-9679
-2829,-9834
-2848,-9917
-2866,-9988
-2888,-10052
-2907,-10069
-2925,-10142
-2939,-10213
-2961,-10260
-2997,-10379
-3021,-10549
-3041,-10570
-3062,-10646
-3081,-10717
-3102,-10790
-3124,-10934
-3146,-11013
-3165,-11031
-3183,-11105
-3203,-11176
-3229,-11309
-3251,-11341
-3271,-11427
-3291,-11562
-3309,-11635
-3331,-11704
-3349,-11783
-3367,-11800
-3388,-11860
-3405,-11927
-3434,-11996
-3450,-12165
-3465,-12226
-3484,-12284
-3503,-12351
-3519,-12424
-3532,-12485
-3554,-12535
-3578,-12558
-3600,-12638
-3626,-12784
-3648,-12819
-3670,-12898
-3683,-13042
-3705,-13028
-3728,-13181
-3746,-13196
-3761,-13260
-3780,-13332
-3800,-13399
-3817,-13546
-3837,-13532
-3871,-13699
-3887,-13736
-3906,-13799
-3923,-13929
-3943,-13927
-3963,-14067
-3982,-14138
-3998,-14214
-4017,-14271
-4043,-14281
-4062,-14375
-4078,-14512
-4100,-14570
-4122,-14650
-4143,-14668
-4165,-14750
-4188,-14912
-4205,-14982
-4234,-15015
-4255,-15158
-4268,-15231
-4286,-15282
-4309,-15353
-4323,-15375
-4344,-15488
-4362,-15511
-4381,-15579
-4401,-15647
-4422,-15718
-4444,-15860
-4470,-15888
-4493,-16044
-4515,-16130
-4536,-16147
-4558,-16220
-4575,-16366
-4596,-16434
-4622,-16458
-4644,-16543
-4674,-16690
-4697,-16742
-4714,-16887
-4733,-16945
-4749,-17019
-4772,-17084
-4786,-17104
-4803,-17219
-4820,-17281
-4834,-17347
-4847,-17398
-4878,-17453
-4895,-17500
-4915,-17567
-4935,-17706
-4952,-17778
-4967,-17844
-4985,-17831
-5004,-17962
-5021,-18035
-5037,-18099
-5056,-18159
-5094,-18189
-5113,-18369
-5131,-18440
-5150,-18442
-5169,-18512
-5189,-18582
-5205,-18658
-5220,-18719
-5241,-18775
-5266,-18922
-5287,-19012
-5306,-19028
-5326,-19100
-5349,-19244
-5374,-19335
-5393,-19353
-5410,-19424
-5424,-19486
-5444,-19536
-5471,-19705
-5491,-19721
-5511,-19789
-5529,-19869
-5551,-19944
-5564,-20076
-5586,-20060
-5608,-20205
-5633,-20234
-5652,-20317
-5684,-20387
-5706,-20507
-5722,-20652
-5741,-20713
-5758,-20789
-5774,-20843
-5789,-20839
-5805,-20901
-5827,-20964
-5845,-21104
-5866,-21173
-5886,-21250
-5914,-21265
-5937,-21434
-5952,-21454
-5984,-21572
-6002,-21693
-6022,-21759
-6035,-21827
-6055,-21880
-6074,-21952
-6096,-21963
-6124,-22044
-6139,-22210
-6161,-22270
-6183,-22287
-6201,-22367
-6223,-22432
-6236,-22578
-6255,-22567
-6272,-22706
-6288,-22696
-6333,-22837
-6356,-22935
-6370,-23012
-6392,-23067
-6408,-23144
-6429,-23276
-6446,-23350
-6467,-23413
-6486,-23488
-6507,-23559
-6521,-23575
-6542,-23627
-6562,-23707
-6583,-23777
-6604,-23924
-6628,-24003
-6647,-24020
-6669,-24103
-6696,-24238
-6724,-24362
-6741,-24445
-6760,-24507
-6780,-24579
-6805,-24595
-6829,-24754
-6848,-24777
-6872,-24847
-6890,-24936
-6918,-25083
-6939,-25111
-6956,-25181
-6971,-25240
-6990,-25300
-7007,-25366
-7024,-25432
-7045,-25497
-7064,-25648
-7086,-25710
-7108,-25787
-7137,-25898
-7156,-25978
-7184,-26052
-7202,-26158
-7224,-26220
-7238,-26306
-7255,-26354
-7275,-26415
-7296,-26493
-7310,-26509
-7336,-26584
-7351,-26654
-7370,-26712
-7392,-26779
-7405,-26926
-7426,-26916
-7446,-27058
-7464,-27130
-7483,-27193
-7507,-27270
-7541,-27400
-7555,-27417
-7573,-27468
-7593,-27538
-7616,-27613
-7636,-27759
-7660,-27839
-7677,-27865
-7701,-27933
-7724,-28080
-7743,-28161
-7777,-28174
-7798,-28359
-7821,-28381
-7837,-28533
-7856,-28585
-7875,-28655
-7889,-28723
-7907,-28712
-7934,-28851
-7957,-28890
-7974,-29033
-7989,-29098
-8003,-29087
-8024,-29140
-8048,-29224
-8100,-29328
-8117,-29567
-8146,-29633
-8169,-29672
-8192,-29823
-8209,-29846
-8226,-29909
-8245,-29966
-8258,-30037
-8284,-30092
-8306,-30261
-8329,-30336
-8348,-30355
-8378,-30432
-8402,-30552
-8425,-30632
-8439,-30779
-8459,-30833
-8490,-30859
-8505,-31025
-8519,-31011
-8545,-31067
-8570,-31177
-8592,-31257
-8622,-31430
-8643,-31449
-8662,-31595
-8683,-31670
-8701,-31742
-8721,-31815
-8747,-31838
-8765,-31984
-8786,-32053
-8813,-32076
-8835,-32236
-8854,-32311
-8869,-32381
-8890,-32442
-8904,-32458
-8925,-32575
-8939,-32587
-8952,-32700
-8972,-32751
-9004,-32783
-9026,-32946
-9043,-33020
-9063,-33084
-9081,-33099
-9098,-33168
-9117,-33226
-9139,-33298
-9160,-33382
-9180,-33528
-9202,-33599
-9224,-33614
-9252,-33700
-9274,-33808
-9292,-33884
-9304,-33949
-9326,-34004
-9342,-34154
-9360,-34142
-9377,-34203
-9395,-34272
-9415,-34341
-9445,-34481
-9467,-34531
-9485,-34671
-9505,-34744
-9527,-34761
-9541,-34837
-9556,-34892
-9576,-35011
-9591,-35017
-9610,-35137
-9640,-35168
-9659,-35321
-9682,-35337
-9707,-35423
-9728,-35574
-9750,-35594
-9767,-35681
-9781,-35733
-9797,-35848
-9818,-35909
-9838,-35921
-9867,-36005
-9889,-36110
-9907,-36191
-9931,-36258
-9950,-36410
-9971,-36485
-9989,-36497
-10010,-36562
-10031,-36641
-10057,-36777
-10081,-36820
-10101,-36901
-10123,-37038
-10145,-37121
-10161,-37135
-10180,-37193
-10206,-37285
-10227,-37432
-10248,-37509
-10270,-37525
-10291,-37673
-10313,-37751
-10330,-37830
-10344,-37894
-10368,-37947
-10387,-37972
-10407,-38047
-10425,-38120
-10439,-38183
-10459,-38236
-10486,-38377
-10507,-38415
-10523,-38488
-10541,-38553
-10561,-38620
-10578,-38696
-10592,-38758
-10610,-38810
-10630,-38869
-10652,-38952
-10679,-39094
-10702,-39132
-10724,-39289
-10746,-39361
-10763,-39383
-10792,-39464
-10809,-39617
-10823,-39679
-10837,-39731
-10854,-39716
-10884,-39853
-10901,-39893
-10918,-39957
-10939,-40021
-10959,-40171
-10977,-40241
-10991,-40305
-11007,-40362
-11020,-40350
-11035,-40403
-11051,-40518
-11081,-40576
-11113,-40661
-11132,-40739
-11151,-40873
-11172,-40952
-11194,-41027
-11213,-41043
-11227,-41116
-11248,-41163
-11283,-41294
-11308,-41450
-11329,-41537
-11352,-41553
-11370,-41638
-11391,-41702
-11408,-41850
-11428,-41906
-11448,-41982
-11473,-42053
-11493,-42082
-11512,-42221
-11535,-42291
-11559,-42322
-11579,-42404
-11598,-42538
-11622,-42618
-11644,-42636
-11663,-42718
-11701,-42790
-11718,-42997
-11741,-43062
-11760,-43141
-11778,-43156
-11804,-43232
-11829,-43388
-11849,-43411
-11871,-43482
-11894,-43629
-11919,-43715
-11947,-43746
-11974,-43853
-12021,-44016
-12040,-44123
-12083,-44198
-12103,-44417
-12125,-44487
-12147,-44507
-12178,-44624
-12198,-44707
-12219,-44850
-12241,-44919
-12266,-44937
-12286,-45032
-12309,-45174
-12331,-45195
-12351,-45280
-12384,-45423
-12405,-45472
-12428,-45622
-12447,-45704
-12469,-45707
-12491,-45794
-12508,-45940
-12523,-46004
-12538,-46059
-12553,-46050
-12567,-46104
-12580,-46216
-12605,-46267
-12624,-46295
-12640,-46365
-12659,-46425
-12681,-46498
-12694,-46643
-12716,-46628
-12731,-46772
-12750,-46833
-12775,-46905
-12798,-46942
-12820,-47084
-12846,-47120
-12859,-47197
-12876,-47246
-12895,-47312
-12908,-47378
-12928,-47490
-12942,-47507
-12960,-47562
-12989,-47650
-13009,-47797
-13031,-47876
-13049,-47891
-13069,-47958
-13085,-48034
-13107,-48096
-13126,-48241
-13147,-48314
-13168,-48388
-13195,-48402
-13230,-48571
-13249,-48698
-13263,-48772
-13284,-48821
-13298,-48841
-13316,-48955
-13332,-49021
-13346,-49084
-13359,-49132
-13387,-49123
-13409,-49227
-13432,-49309
-13453,-49458
-13470,-49542
-13490,-49601
-13506,-49672
-13526,-49732
-13544,-49739
-13564,-49809
-13592,-49977
-13615,-49994
-13634,-50072
-13653,-50144
-13669,-50281
-13683,-50276
-13695,-50325
-13711,-50385
-13727,-50499
-13747,-50565
-13767,-50571
-13799,-50650
-13822,-50774
-13841,-50921
-13867,-51000
-13880,-51017
-13914,-51134
-13938,-51268
-13960,-51290
-13980,-51364
-13995,-51508
-14010,-51564
-14028,-51551
-14056,-51710
-14078,-51734
-14112,-51885
-14134,-51931
-14153,-52077
-14175,-52149
-14190,-52230
-14209,-52284
-14231,-52353
-14244,-52374
-14272,-52452
-14291,-52595
-14310,-52661
-14343,-52737
-14364,-52861
-14377,-52933
-14400,-52984
-14413,-53004
-14427,-53122
-14453,-53137
-14470,-53204
-14485,-53263
-14499,-53324
-14521,-53442
-14558,-53478
-14580,-53602
-14602,-53743
-14622,-53826
-14642,-53833
-14665,-53905
-14693,-54058
-14716,-54100
-14735,-54182
-14748,-54247
-14771,-54305
-14791,-54458
-14811,-54528
-14829,-54599
-14856,-54610
-14871,-54775
-14899,-54853
-14913,-54865
-14932,-54981
-14952,-54992
-14970,-55074
-14995,-55136
-15023,-55254
-15042,-55329
-15070,-55470
-15092,-55505
-15115,-55582
-15133,-55729
-15151,-55801
-15170,-55869
-15189,-55934
-15209,-55946
-15228,-56019
-15247,-56088
-15268,-56157
-15295,-56303
-15313,-56343
-15331,-56406
-15344,-56470
-15364,-56581
-15377,-56591
-15395,-56710
-15415,-56715
-15433,-56782
-15454,-56853
-15486,-56935
-15508,-57055
-15528,-57197
-15548,-57271
-15569,-57346
-15588,-57360
-15608,-57429
-15627,-57497
-15648,-57568
-15675,-57713
-15695,-57752
-15718,-57824
-15738,-57978
-15760,-58050
-15779,-58064
-15793,-58136
-15808,-58186
-15826,-58305
-15846,-58374
-15864,-58388
-15890,-58453
-15911,-58611
-15935,-58639
-15949,-58720
-15967,-58768
-15980,-58834
-15998,-58951
-16017,-58954
-16038,-59022
-16059,-59104
-16089,-59245
-16111,-59292
-16133,-59435
-16152,-59518
-16169,-59592
-16192,-59656
-16223,-59674
-16242,-59791
-16260,-59860
-16288,-59930
-16308,-60097
-16328,-60114
-16355,-60185
-16379,-60355
-16398,-60380
-16412,-60442
-16431,-60495
-16445,-60565
-16467,-60619
-16481,-60700
-16506,-60748
-16527,-60918
-16547,-60995
-16565,-61063
-16588,-61069
-16620,-61225
-16641,-61272
-16663,-61342
-16682,-61488
-16702,-61561
-16718,-61634
-16744,-61693
-16766,-61722
-16784,-61874
-16806,-61943
-16827,-61965
-16844,-62041
-16867,-62185
-16887,-62253
-16908,-62329
-16929,-62402
-16951,-62422
-16973,-62581
-16994,-62653
-17014,-62666
-17031,-62736
-17050,-62804
-17064,-62875
-17083,-62926
-17108,-62994
-17144,-63114
-17165,-63287
-17185,-63305
-17204,-63374
-17223,-63446
-17236,-63517
-17253,-63571
-17269,-63630
-17288,-63693
-17310,-63766
-17330,-63846
-17349,-63995
-17375,-64015
-17394,-64086
-17416,-64158
-17432,-64310
-17449,-64380
-17465,-64430
-17479,-64490
-17499,-64484
-17513,-64621
-17539,-64610
-17560,-64771
-17579,-64778
-17593,-64856
-17612,-64905
-17634,-64976
-17653,-65056
-17676,-65193
-17698,-65281
-17715,-65299
-17741,-65361
-17764,-65524
-17785,-65605
-17805,-65622
-17825,-65699
-17849,-65844
-17867,-65866
-17887,-65930
-17907,-66003
-17927,-66079
-17946,-66218
-17965,-66291
-17992,-66358
-18027,-66474
-18051,-66534
-18072,-66683
-18088,-66758
-18110,-66763
-18132,-66837
-18155,-66920
-18172,-67068
-18202,-67131
-18225,-67246
-18245,-67329
-18265,-67339
-18284,-67417
-18307,-67491
-18331,-67647
-18351,-67665
-18370,-67736
-18387,-67806
-18414,-67878
-18433,-68039
-18455,-68042
-18479,-68131
-18500,-68287
-18521,-68358
-18538,-68372
-18552,-68434
-18566,-68489
-18589,-68604
-18609,-68624
-18637,-68784
-18658,-68868
-18679,-68881
-18702,-68961
-18715,-69108
-18737,-69093
-18759,-69239
-18779,-69319
-18802,-69337
-18818,-69484
-18846,-69479
-18870,-69590
-18892,-69738
-18915,-69821
-18931,-69850
-18945,-69900
-18965,-70016
-18979,-70027
-18995,-70150
-19014,-70201
-19049,-70231
-19072,-70345
-19091,-70423
-19106,-70493
-19126,-70547
-19145,-70620
-19163,-70692
-19185,-70760
-19205,-70908
-19242,-70978
-19264,-71059
-19283,-71140
-19297,-71273
-19317,-71258
-19335,-71333
-19353,-71467
-19368,-71534
-19386,-71524
-19404,-71590
-19420,-71722
-19446,-71719
-19468,-71827
-19485,-71896
-19503,-71960
-19521,-72027
-19539,-72097
-19557,-72165
-19579,-72303
-19600,-72377
-19626,-72455
-19647,-72487
-19669,-72627
-19687,-72708
-19703,-72713
-19720,-72778
-19738,-72899
-19759,-72964
-19779,-72979
-19798,-73056
-19830,-73197
-19849,-73242
-19871,-73320
-19889,-73466
-19906,-73528
-19922,-73597
-19937,-73653
-19954,-73717
-19970,-73771
-19988,-73766
-20001,-73831
-20027,-73883
-20049,-74053
-20069,-74069
-20085,-74135
-20099,-74193
-20132,-74250
-20152,-74433
-20172,-74444
-20191,-74517
-20206,-74584
-20234,-74641
-20256,-74814
-20274,-74826
-20296,-74900
-20313,-74979
-20335,-75114
-20352,-75191
-20375,-75250
-20394,-75336
-20413,-75342
-20440,-75504
-20460,-75581
-20482,-75593
-20499,-75676
-20521,-75740
-20540,-75881
-20561,-75956
-20583,-76031
-20602,-76049
-20624,-76119
-20646,-76198
-20673,-76308
-20695,-76379
-20719,-76524
-20738,-76612
-20760,-76620
-20775,-76702
-20793,-76757
-20814,-76827
-20835,-76903
-20858,-77049
-20880,-77071
-20900,-77147
-20912,-77221
-20933,-77275
-20955,-77350
-20975,-77498
-20997,-77567
-21030,-77602
-21064,-77802
-21084,-77847
-21103,-77909
-21121,-77980
-21141,-78050
-21159,-78119
-21176,-78253
-21200,-78323
-21219,-78406
-21235,-78409
-21248,-78532
-21270,-78580
-21299,-78606
-21322,-78781
-21336,-78800
-21354,-78912
-21369,-78984
-21385,-79035
-21400,-79102
-21419,-79164
-21433,-79224
-21459,-79273
-21478,-79314
-21492,-79383
-21509,-79436
-21526,-79499
-21546,-79565
-21566,-79639
-21586,-79718
-21601,-79855
-21623,-79841
-21641,-79987
-21670,-80019
-21690,-80101
-21711,-80242
-21730,-80316
-21749,-80388
-21771,-80394
-21790,-80473
-21811,-80545
-21830,-80690
-21849,-80760
-21874,-80829
-21900,-80954
-21924,-81022
-21941,-81054
-21968,-81218
-21988,-81283
-22008,-81295
-22032,-81372
-22052,-81519
-22073,-81597
-22087,-81610
-22118,-81731
-22146,-81860
-22168,-81881
-22187,-82026
-22210,-82099
-22258,-82180
-22283,-82370
-22333,-82463
-22355,-82578
-22379,-82729
-22401,-82771
-22418,-82836
-22440,-82899
-22457,-82982
-22472,-83048
-22495,-83112
-22521,-83251
-22542,-83288
-22570,-83362
-22586,-83466
-22607,-83590
-22628,-83609
-22648,-83683
-22667,-83821
-22686,-83891
-22706,-83968
-22726,-83978
-22742,-84049
-22762,-84110
-22778,-84181
-22803,-84244
-22823,-84402
-22844,-84478
-22865,-84494
-22882,-84569
-22896,-84632
-22914,-84684
-22934,-84748
-22951,-84832
-22980,-84891
-23001,-85006
-23024,-85078
-23043,-85227
-23060,-85299
-23083,-85366
-23105,-85446
-23129,-85461
-23164,-85600
-23193,-85747
-23214,-85794
-23233,-85930
-23254,-86001
-23274,-86078
-23288,-86093
-23307,-86210
-23327,-86280
-23344,-86292
-23361,-86356
-23385,-86437
-23402,-86582
-23430,-86635
-23451,-86678
-23468,-86756
-23489,-86820
-23503,-86959
-23516,-86943
-23533,-86995
-23553,-87058
-23569,-87131
-23593,-87193
-23615,-87346
-23634,-87423
-23650,-87434
-23672,-87558
-23691,-87575
-23713,-87644
-23738,-87792
-23760,-87822
-23783,-87902
-23805,-88053
-23818,-88132
-23838,-88183
-23851,-88259
-23871,-88313
-23887,-88382
-23900,-88437
-23918,-88423
-23938,-88561
-23959,-88637
-23987,-88649
-24008,-88817
-24032,-88890
-24055,-88928
-24075,-89066
-24088,-89138
-24105,-89123
-24127,-89257
-24150,-89336
-24177,-89353
-24201,-89532
-24224,-89548
-24241,-89632
-24264,-89696
-24280,-89847
-24300,-89910
-24321,-89982
-24343,-89993
-24364,-90076
-24396,-90226
-24413,-90269
-24430,-90333
-24449,-90393
-24470,-90537
-24489,-90617
-24505,-90674
-24519,-90738
-24536,-90728
-24556,-90791
-24580,-90932
-24611,-90957
-24636,-91143
-24658,-91162
-24678,-91307
-24699,-91378
-24721,-91458
-24737,-91477
-24758,-91536
-24777,-91614
-24801,-91754
-24825,-91846
-24846,-91866
-24864,-92013
-24880,-92073
-24899,-92071
-24917,-92206
-24941,-92279
-24963,-92301
-24982,-92381
-25006,-92453
-25028,-92613
-25045,-92625
-25066,-92686
-25084,-92771
-25101,-92828
-25122,-92893
-25141,-93033
-25160,-93105
-25179,-93174
-25199,-93245
-25223,-93263
-25258,-93438
-25278,-93478
-25299,-93620
-25326,-93694
-25350,-93802
-25373,-93889
-25395,-93903
-25417,-94059
-25439,-94137
-25470,-94182
-25483,-94326
-25500,-94380
-25517,-94446
-25539,-94516
-25553,-94585
-25566,-94633
-25582,-94619
-25595,-94680
-25618,-94730
-25640,-94817
-25660,-94962
-25678,-95036
-25697,-95104
-25716,-95173
-25735,-95177
-25754,-95247
-25770,-95326
-25786,-95388
-25803,-95442
-25823,-95507
-25851,-95577
-25869,-95693
-25892,-95755
-25913,-95839
-25933,-95986
-25954,-96065
-25974,-96078
-25993,-96143
-26007,-96217
-26036,-96274
-26056,-96449
-26070,-96517
-26088,-96570
-26109,-96635
-26132,-96654
-26163,-96736
-26185,-96847
-26207,-96933
-26233,-97084
-26256,-97116
-26277,-97261
-26296,-97345
-26311,-97416
-26329,-97471
-26341,-97534
-26358,-97585
-26376,-97651
-26392,-97712
-26411,-97775
-26440,-97846
-26461,-97892
-26480,-98033
-26501,-98112
-26525,-98124
-26549,-98212
-26586,-98329
-26603,-98446
-26619,-98558
-26635,-98619
-26656,-98679
-26681,-98759
-26704,-98792
-26724,-98944
-26747,-98955
-26770,-99039
-26785,-99191
-26801,-99245
-26820,-99307
-26837,-99389
-26866,-99447
-26890,-99493
-26910,-99638
-26927,-99712
-26949,-99780
-26983,-99800
-27010,-99941
-27026,-100094
-27055,-100148
-27083,-100198
-27101,-100358
-27123,-100369
-27139,-100441
-27155,-100500
-27176,-100567
-27190,-100643
-27208,-100697
-27232,-100768
-27252,-100913
-27273,-100994
-27287,-101005
-27309,-101117
-27324,-101137
-27346,-101207
-27368,-101283
-27391,-101428
-27407,-101505
-27421,-101571
-27440,-101623
-27459,-101641
-27478,-101712
-27499,-101774
-27526,-101849
-27541,-102017
-27560,-102067
-27579,-102144
-27593,-102206
-27606,-102258
-27622,-102245
-27648,-102393
-27661,-102463
-27674,-102511
-27693,-102497
-27723,-102642
-27740,-102681
-27759,-102740
-27778,-102812
-27798,-102887
-27814,-103025
-27833,-103016
-27852,-103155
-27873,-103228
-27889,-103243
-27909,-103366
-27929,-103375
-27959,-103450
-27981,-103566
-28000,-103650
-28023,-103789
-28037,-103865
-28057,-103927
-28076,-103993
-28096,-104062
-28116,-104136
-28137,-104144
-28166,-104227
-28189,-104334
-28207,-104422
-28230,-104487
-28260,-104637
-28276,-104752
-28303,-104827
-28325,-104848
-28339,-104926
-28368,-104978
-28384,-105154
-28407,-105215
-28429,-105238
-28447,-105317
-28468,-105374
-28490,-105524
-28511,-105548
-28532,-105617
-28551,-105691
-28582,-105843
-28602,-105885
-28624,-105958
-28639,-106093
-28654,-106153
-28676,-106148
-28698,-106294
-28720,-106372
-28742,-106389
-28762,-106542
-28784,-106612
-28801,-106690
-28834,-106760
-28856,-106883
-28876,-106900
-28894,-107049
-28914,-107042
-28931,-107182
-28949,-107245
-28968,-107309
-28987,-107378
-29008,-107448
-29036,-107466
-29062,-107645
-29084,-107663
-29106,-107742
-29129,-107895
-29150,-107975
-29173,-108080
-29195,-108138
-29221,-108226
-29243,-108255
-29262,-108397
-29276,-108473
-29296,-108522
-29323,-108560
-29346,-108715
-29379,-108786
-29394,-108913
-29415,-108969
-29434,-109041
-29461,-109116
-29478,-109151
-29501,-109218
-29525,-109370
-29546,-109388
-29564,-109472
-29584,-109534
-29604,-109607
-29625,-109740
-29641,-109821
-29657,-109891
-29685,-109942
-29705,-109980
-29724,-110052
-29747,-110193
-29770,-110277
-29789,-110297
-29811,-110368
-29834,-110519
-29856,-110537
-29876,-110614
-29899,-110762
-29925,-110813
-29939,-110875
-29954,-110930
-29971,-111046
-29988,-111112
-30007,-111124
-30021,-111182
-30035,-111297
-30065,-111352
-30091,-111468
-30109,-111560
-30131,-111623
-30145,-111642
-30160,-111691
-30179,-111816
-30202,-111827
-30223,-111907
-30245,-112050
-30266,-112133
-30286,-112154
-30304,-112220
-30332,-112288
-30355,-112411
-30369,-112486
-30389,-112537
-30402,-112608
-30418,-112655
-30434,-112717
-30449,-112778
-30467,-112904
-30480,-112960
-30502,-113018
-30531,-113035
-30554,-113213
-30574,-113228
-30593,-113301
-30612,-113374
-30631,-113442
-30654,-113580
-30682,-113661
-30704,-113771
-30723,-113850
-30748,-113867
-30762,-113953
-30789,-114009
-30814,-114179
-30836,-114199
-30857,-114348
-30871,-114425
-30890,-114479
-30909,-114551
-30931,-114618
-30952,-114639
-30969,-114717
-30990,-114784
-31005,-114922
-31025,-114911
-31050,-115059
-31073,-115144
-31095,-115160
-31114,-115311
-31149,-115366
-31167,-115512
-31193,-115582
-31207,-115617
-31221,-115670
-31244,-115721
-31288,-115805
-31311,-116036
-31331,-116058
-31354,-116131
-31386,-116264
-31410,-116405
-31433,-116425
-31459,-116511
-31481,-116672
-31521,-116700
-31547,-116917
-31567,-116940
-31587,-117015
-31615,-117084
-31634,-117252
-31652,-117261
-31674,-117329
-31689,-117409
-31708,-117464
-31730,-117611
-31746,-117682
-31768,-117742
-31788,-117825
-31805,-117835
-31825,-117900
-31853,-117979
-31873,-118147
-31892,-118171
-31909,-118229
-31923,-118289
-31937,-118405
-31954,-118456
-31976,-118520
-32004,-118537
-32020,-118714
-32033,-118766
-32056,-118753
-32076,-118903
-32096,-118977
-32119,-118992
-32137,-119066
-32159,-119134
-32197,-119261
-32219,-119428
-32238,-119441
-32255,-119514
-32271,-119578
-32289,-119635
-32305,-119700
-32323,-119764
-32338,-119836
-32353,-119886
-32367,-119947
-32381,-120062
-32412,-120135
-32447,-120253
-32469,-120361
-32488,-120442
-32510,-120514
-32524,-120531
-32546,-120648
-32566,-120661
-32581,-120742
-32594,-120791
-32607,-120903
-32639,-120956
-32662,-121074
-32684,-121153
-32707,-121176
-32729,-121326
-32750,-121416
-32773,-121422
-32795,-121508
-32820,-121663
-32844,-121682
-32864,-121836
-32881,-121911
-32896,-121980
-32910,-122031
-32927,-122018
-32948,-122159
-32962,-122224
-32979,-122282
-32994,-122280
-33015,-122336
-33040,-122407
-33077,-122520
-33099,-122639
-33118,-122714
-33134,-122785
-33150,-122847
-33163,-122907
-33182,-122954
-33204,-123027
-33224,-123108
-33251,-123246
-33275,-123289
-33294,-123435
-33318,-123522
-33335,-123536
-33357,-123607
-33378,-123680
-33400,-123825
-33417,-123908
-33438,-123921
-33467,-123977
-33490,-124154
-33511,-124178
-33531,-124253
-33547,-124326
-33563,-124390
-33586,-124443
-33607,-124596
-33626,-124676
-33648,-124740
-33677,-124761
-33699,-124934
-33712,-124951
-33726,-125064
-33743,-125115
-33766,-125180
-33790,-125207
-33813,-125360
-33838,-125448
-33864,-125545
-33890,-125632
-33912,-125666
-33934,-125812
-33960,-125891
-33975,-125927
-33992,-125982
-34011,-126044
-34027,-126114
-34042,-126178
-34063,-126235
-34089,-126306
-34109,-126465
-34131,-126482
-34144,-126559
-34168,-126613
-34188,-126761
-34206,-126833
-34226,-126905
-34246,-126978
-34277,-127046
-34306,-127172
-34328,-127280
-34348,-127359
-34368,-127371
-34391,-127449
-34411,-127597
-34431,-127673
-34453,-127740
-34473,-127775
-34496,-127839
-34515,-127987
-34541,-128059
-34566,-128093
-34590,-128256
-34608,-128269
-34632,-128342
-34653,-128492
-34674,-128569
-34695,-128646
-34717,-128661
-34748,-128816
-34769,-128866
-34783,-129005
-34803,-128988
-34819,-129131
-34843,-129204
-34870,-129232
-34891,-129320
-34912,-129463
-34927,-129482
-34955,-129599
-34977,-129710
-34995,-129788
-35011,-129852
-35028,-129913
-35046,-129975
-35065,-130038
-35085,-130115
-35098,-130124
-35114,-130247
-35131,-130298
-35155,-130364
-35197,-130489
-35214,-130608
-35234,-130669
-35250,-130745
-35272,-130806
-35292,-130888
-35306,-130899
-35321,-130954
-35337,-131070
-35368,-131140
-35391,-131252
-35411,-131335
-35426,-131348
-35442,-131406
-35465,-131527
-35479,-131542
-35493,-131594
-35519,-131685
-35545,-131751
-35565,-131854
-35579,-131919
-35593,-132035
-35608,-132085
-35636,-132165
-35656,-132185
-35677,-132262
-35699,-132410
-35722,-132487
-35741,-132504
-35760,-132572
-35788,-132736
-35805,-132758
-35823,-132821
-35839,-132882
-35862,-132947
-35883,-133102
-35903,-133178
-35925,-133248
-35946,-133268
-35961,-133348
-35979,-133415
-36006,-133467
-36026,-133577
-36047,-133644
-36071,-133727
-36098,-133894
-36116,-133913
-36133,-133978
-36153,-134041
-36181,-134112
-36204,-134220
-36226,-134303
-36245,-134453
-36268,-134524
-36287,-134541
-36305,-134611
-36326,-134684
-36360,-134760
-36384,-134958
-36411,-135044
-36429,-135156
-36443,-135143
-36461,-135193
-36482,-135265
-36498,-135416
-36516,-135468
-36544,-135550
-36563,-135570
-36585,-135645
-36607,-135790
-36629,-135865
-36657,-135883
-36682,-136058
-36703,-136087
-36726,-136160
-36746,-136314
-36768,-136389
-36788,-136407
-36806,-136475
-36821,-136544
-36846,-136602
-36866,-136765
-36886,-136840
-36905,-136845
-36921,-136914
-36941,-136980
-36958,-137055
-36980,-137114
-37003,-137264
-37022,-137349
-37048,-137357
-37070,-137515
-37089,-141224
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.cs
deleted file mode 100644
index 9be6f1ec6..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.cs
+++ /dev/null
@@ -1,78 +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;
-
-
-Int32 last_14bit_position;
-Int32 position_32bit=0;
-const Int32 DrierLoadingArm_Motor = 5;
-public void OnExecute(StubManager stubManager)
-{
- string FileName="test.csv";
- var stopwatch = new Stopwatch();
- stopwatch.Start();
-
- long elapsed_time = stopwatch.ElapsedMilliseconds;
-
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- Int32 temp=position_32bit;
-
- stubManager.WriteToFile(FileName,DateTime.Now +" " );
-//stubManager.AppendToFile("test.csv",elapsed_time+ ","+ position_32bit );
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 100);//40
- elapsed_time = stopwatch.ElapsedMilliseconds;
- stubManager.AppendToFile(FileName,elapsed_time+ ","+ position_32bit );
- while (true)
- {
- ReadEncoder_Dryer();
- elapsed_time = stopwatch.ElapsedMilliseconds;
-stubManager.AppendToFile(FileName,elapsed_time+ ","+ position_32bit );
- Thread.Sleep(1);
- }
-
-}
-
-
-
-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 ;
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.csv
deleted file mode 100644
index ed306d345..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.csv
+++ /dev/null
@@ -1,345 +0,0 @@
-24/05/2020 14:15:24
-0,0
-0,-8
-0,27
-0,32
-0,34
-0,-18
-0,32
-0,36
-0,-20
-0,30
-0,41
-0,35
-0,36
-0,41
-0,36
-0,36
-0,-21
-0,31
-0,-21
-0,30
-0,-21
-0,31
-0,-20
-0,31
-0,-20
-0,31
-0,-21
-0,35
-0,38
-0,30
-0,-21
-0,30
-0,-20
-0,30
-0,-21
-0,31
-0,38
-0,31
-0,-20
-0,30
-0,-20
-0,31
-0,-21
-0,31
-0,-21
-0,30
-0,-22
-0,37
-0,36
-0,38
-0,39
-0,33
-0,-22
-0,30
-0,-21
-0,30
-0,-21
-0,30
-0,-20
-0,31
-0,41
-0,34
-0,40
-0,37
-0,30
-0,-22
-0,34
-0,41
-0,35
-0,37
-0,39
-0,37
-0,40
-0,33
-0,38
-0,33
-0,-20
-0,36
-0,37
-0,39
-0,39
-0,38
-0,37
-0,39
-0,35
-0,36
-0,-21
-0,38
-0,40
-0,32
-0,-22
-0,33
-0,41
-0,31
-0,-22
-0,36
-0,35
-0,32
-0,-17
-0,-22
-0,7
-0,43
-0,122
-0,287
-0,302
-0,374
-0,452
-0,582
-0,725
-0,779
-0,803
-0,799
-0,716
-0,557
-0,454
-0,473
-0,381
-0,349
-0,216
-0,66
-0,96
-0,-62
-0,-157
-0,-231
-0,-327
-0,-310
-0,-463
-0,-542
-0,-600
-0,-712
-0,-789
-0,-807
-0,-957
-0,-1015
-0,-1013
-0,-1172
-0,-1175
-0,-1269
-0,-1400
-0,-1434
-0,-1496
-0,-1573
-0,-1683
-0,-1750
-0,-1781
-0,-1914
-0,-1998
-0,-2131
-0,-2150
-0,-2225
-0,-2269
-0,-2328
-0,-2420
-0,-2553
-0,-2626
-0,-2692
-0,-2768
-0,-2888
-0,-2963
-0,-2969
-0,-3054
-0,-3215
-0,-3229
-0,-3304
-0,-3448
-0,-3526
-0,-3605
-0,-3709
-0,-3780
-0,-3806
-0,-3865
-0,-3984
-0,-3992
-0,-4074
-0,-4222
-0,-4204
-0,-4269
-0,-4407
-0,-4445
-0,-4512
-0,-4586
-0,-4728
-0,-4814
-0,-4875
-0,-4890
-0,-4967
-0,-5038
-0,-5109
-0,-5216
-0,-5297
-0,-5447
-0,-5496
-0,-5566
-0,-5637
-0,-5718
-0,-5724
-0,-5806
-0,-5962
-0,-6037
-0,-6145
-0,-6222
-0,-6235
-0,-6320
-0,-6467
-0,-6490
-0,-6576
-0,-6636
-0,-6784
-0,-7020
-0,-7175
-0,-7206
-0,-7271
-0,-7334
-0,-7405
-0,-7465
-0,-7611
-0,-7684
-0,-7726
-0,-7882
-0,-7909
-0,-7984
-0,-8052
-0,-8183
-0,-8249
-0,-8333
-0,-8383
-0,-8461
-0,-8488
-0,-8553
-0,-8625
-0,-8693
-0,-8831
-0,-8904
-0,-8920
-0,-8998
-0,-9109
-0,-9167
-0,-9195
-0,-9360
-0,-9374
-0,-9433
-0,-9517
-0,-9657
-0,-9721
-0,-9718
-0,-9862
-0,-9934
-0,-9946
-0,-10025
-0,-10191
-0,-10262
-0,-10325
-0,-10379
-0,-10438
-0,-10490
-0,-10559
-0,-10544
-0,-10687
-0,-10757
-0,-10873
-0,-10953
-0,-11008
-0,-11063
-0,-11062
-0,-11215
-0,-11230
-0,-11303
-0,-11378
-0,-11523
-0,-11560
-0,-11706
-0,-11794
-0,-11816
-0,-11868
-0,-11990
-0,-11991
-0,-12065
-0,-12136
-0,-12189
-0,-12350
-0,-12376
-0,-12459
-0,-12527
-0,-12595
-0,-12658
-0,-12798
-0,-12790
-0,-12925
-0,-12999
-0,-13076
-0,-13100
-0,-13259
-0,-13277
-0,-13358
-0,-13505
-0,-13586
-0,-13654
-0,-13676
-0,-13739
-0,-13806
-0,-13958
-0,-14016
-0,-14049
-0,-14118
-0,-14187
-0,-14244
-0,-14297
-0,-14365
-0,-14453
-0,-14595
-0,-14618
-0,-14698
-0,-14754
-0,-14837
-0,-14973
-0,-15045
-0,-15116
-0,-15187
-0,-15235
-0,-15287
-0,-15353
-0,-15386
-0,-15499
-0,-15565
-0,-15616
-0,-15701
-0,-15764
-0,-15787
-0,-15856
-0,-15994
-0,-16074
-0,-16097
-0,-16271
-0,-16340
-0,-16359
-0,-16504
-0,-16502
-0,-16565
-0,-16617
-0,-16692
-0,-16830
-0,-16905
-0,-16944
-0,-17014
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test12.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test12.csv
deleted file mode 100644
index 756c780f4..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test12.csv
+++ /dev/null
@@ -1,283 +0,0 @@
-24/05/2020 14:47:25
-41,0
-63,7
-77,-31
-91,-29
-117,18
-131,-77
-162,-86
-175,-131
-195,-105
-212,-219
-226,-189
-244,-283
-265,-341
-286,-357
-300,-430
-323,-543
-345,-561
-366,-712
-386,-795
-403,-803
-425,-926
-459,-944
-480,-1076
-502,-1145
-524,-1289
-544,-1319
-563,-1389
-585,-1458
-605,-1537
-627,-1681
-649,-1703
-672,-1781
-695,-1925
-723,-2014
-744,-2124
-764,-2190
-789,-2274
-809,-2306
-824,-2441
-841,-2430
-864,-2490
-882,-2636
-904,-2711
-927,-2732
-949,-2809
-973,-2960
-996,-2980
-1010,-3068
-1024,-3117
-1047,-3232
-1071,-3260
-1090,-3409
-1109,-3476
-1131,-3545
-1150,-3563
-1166,-3636
-1180,-3699
-1196,-3749
-1219,-3872
-1243,-3902
-1266,-4051
-1280,-4071
-1293,-4181
-1315,-4230
-1339,-4322
-1356,-4343
-1375,-4400
-1395,-4474
-1412,-4618
-1432,-4683
-1457,-4765
-1486,-4784
-1510,-4961
-1524,-4984
-1547,-5035
-1560,-5115
-1580,-5168
-1597,-5246
-1612,-5312
-1633,-5361
-1653,-5440
-1672,-5577
-1685,-5649
-1709,-5634
-1728,-5788
-1744,-5855
-1758,-5919
-1777,-5969
-1792,-6041
-1808,-6100
-1831,-6160
-1847,-6179
-1866,-6304
-1885,-6312
-1904,-6381
-1930,-6451
-1953,-6620
-1972,-6637
-1994,-6707
-2010,-6851
-2032,-6849
-2054,-6997
-2073,-7014
-2091,-7083
-2121,-7159
-2143,-7267
-2165,-7345
-2181,-7424
-2195,-7556
-2209,-7547
-2229,-7607
-2245,-7669
-2262,-7732
-2276,-7795
-2296,-7847
-2310,-7924
-2329,-7971
-2355,-8048
-2376,-8209
-2398,-8285
-2411,-8299
-2434,-8415
-2457,-8435
-2479,-8582
-2501,-8612
-2519,-8690
-2539,-8753
-2557,-8824
-2576,-8891
-2607,-9028
-2629,-9082
-2645,-9227
-2659,-9290
-2681,-9279
-2698,-9424
-2720,-9487
-2741,-9509
-2761,-9583
-2796,-9738
-2815,-9793
-2834,-9858
-2859,-9996
-2876,-10039
-2890,-10089
-2909,-10148
-2923,-10212
-2945,-10330
-2963,-10344
-2979,-10411
-2994,-10476
-3015,-10533
-3046,-10612
-3069,-10727
-3082,-10804
-3107,-10853
-3122,-10945
-3137,-11001
-3152,-11056
-3170,-11120
-3189,-11187
-3208,-11256
-3229,-11327
-3248,-11473
-3266,-11536
-3283,-11607
-3296,-11664
-3319,-11648
-3341,-11799
-3354,-11817
-3374,-11932
-3390,-12002
-3405,-12061
-3427,-12121
-3440,-12139
-3458,-12251
-3473,-12260
-3490,-12374
-3512,-12438
-3546,-12457
-3565,-12580
-3588,-12657
-3611,-12809
-3631,-12894
-3653,-12902
-3677,-12986
-3696,-13139
-3716,-13210
-3739,-13225
-3757,-13306
-3777,-13372
-3807,-13512
-3830,-13560
-3847,-13707
-3863,-13771
-3885,-13831
-3908,-13917
-3924,-13944
-3947,-13997
-3967,-14147
-4025,-14263
-4060,-14374
-4083,-14502
-4106,-14586
-4129,-14735
-4143,-14759
-4162,-14875
-4180,-14945
-4199,-15010
-4222,-15017
-4240,-15175
-4258,-15243
-4278,-15305
-4292,-15377
-4318,-15431
-4342,-15476
-4361,-15622
-4380,-15690
-4395,-15758
-4410,-15817
-4427,-15808
-4443,-15863
-4462,-15925
-4476,-15996
-4496,-16050
-4513,-16126
-4534,-16187
-4568,-16345
-4587,-16454
-4603,-16526
-4619,-16582
-4641,-16645
-4663,-16728
-4676,-16740
-4689,-16854
-4702,-16901
-4720,-16884
-4734,-16954
-4753,-17004
-4774,-17075
-4795,-17230
-4812,-17304
-4828,-17365
-4842,-17425
-4863,-17481
-4877,-17556
-4891,-17608
-4911,-17594
-4926,-17738
-4946,-17724
-4973,-17877
-4996,-17905
-5020,-17982
-5043,-18144
-5063,-18160
-5078,-18236
-5097,-18286
-5110,-18359
-5126,-18407
-5146,-18474
-5161,-18539
-5174,-18658
-5192,-18708
-5205,-18773
-5220,-18823
-5249,-18813
-5270,-18926
-5287,-19001
-5303,-19069
-5324,-19129
-5344,-19202
-5360,-19341
-5383,-19409
-5401,-19431
-5415,-19493
-5430,-19607
-5443,-19660
-5464,-19716
-5554,-20053
-5575,-20128
-5592,-20147
-5612,-20199
-5631,-20274
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test13.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test13.csv
deleted file mode 100644
index 7344cf879..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test13.csv
+++ /dev/null
@@ -1,290 +0,0 @@
-24/05/2020 14:47:49
-41,0
-56,0
-71,0
-90,-1
-104,-9
-122,-19
-155,-104
-176,-162
-197,-137
-216,-184
-235,-295
-257,-352
-279,-425
-300,-496
-321,-510
-342,-592
-356,-736
-371,-722
-387,-772
-405,-829
-426,-907
-445,-1049
-476,-1115
-497,-1171
-516,-1318
-534,-1335
-555,-1450
-576,-1462
-594,-1542
-613,-1609
-627,-1680
-645,-1727
-666,-1795
-689,-1944
-710,-2032
-738,-2045
-758,-2209
-779,-2291
-797,-2301
-811,-2367
-827,-2478
-843,-2537
-859,-2598
-874,-2660
-893,-2721
-914,-2789
-934,-2866
-956,-2879
-982,-2962
-999,-3121
-1019,-3185
-1039,-3194
-1057,-3274
-1082,-3420
-1102,-3494
-1122,-3567
-1136,-3578
-1149,-3690
-1164,-3743
-1178,-3797
-1199,-3790
-1228,-3950
-1249,-3977
-1267,-4119
-1289,-4183
-1306,-4263
-1329,-4332
-1350,-4351
-1363,-4425
-1400,-4481
-1422,-4620
-1436,-4764
-1450,-4750
-1475,-4805
-1491,-4961
-1508,-5022
-1525,-5084
-1543,-5150
-1569,-5234
-1585,-5243
-1605,-5304
-1622,-5379
-1639,-5441
-1659,-5502
-1681,-5581
-1701,-5726
-1729,-5801
-1743,-5838
-1778,-5901
-1802,-6033
-1817,-6174
-1839,-6236
-1853,-6310
-1867,-6364
-1881,-6353
-1897,-6406
-1912,-6467
-1930,-6519
-1953,-6589
-1975,-6741
-1995,-6823
-2014,-6847
-2030,-6906
-2052,-6966
-2065,-7038
-2085,-7155
-2104,-7159
-2117,-7229
-2131,-7346
-2147,-7395
-2174,-7456
-2211,-7505
-2232,-7630
-2247,-7777
-2263,-7763
-2282,-7824
-2305,-7959
-2320,-8049
-2333,-8098
-2350,-8149
-2367,-8216
-2385,-8211
-2407,-8342
-2432,-8429
-2453,-8453
-2470,-8596
-2493,-8661
-2513,-8747
-2532,-8815
-2552,-8873
-2574,-8924
-2590,-8913
-2605,-8955
-2627,-9053
-2647,-9020
-2675,-9031
-2698,-9022
-2719,-9025
-2734,-9025
-2752,-9025
-2768,-9025
-2782,-9025
-2802,-9025
-2821,-9025
-2843,-9025
-2863,-9025
-2881,-9025
-2904,-9025
-2931,-9025
-2948,-9025
-2967,-9025
-2982,-9025
-2997,-9025
-3021,-9025
-3057,-9025
-3080,-9025
-3102,-9025
-3117,-9025
-3133,-9025
-3150,-9025
-3178,-9025
-3203,-9025
-3217,-9025
-3231,-9025
-3249,-9025
-3265,-9025
-3285,-9025
-3300,-9025
-3319,-9025
-3336,-9025
-3350,-9025
-3370,-9025
-3385,-9025
-3411,-9025
-3433,-9025
-3449,-9025
-3464,-9025
-3478,-9025
-3498,-9025
-3518,-9025
-3532,-9025
-3552,-9025
-3567,-9025
-3585,-9025
-3604,-9025
-3633,-9025
-3654,-9025
-3676,-9025
-3697,-9025
-3718,-9025
-3737,-9025
-3757,-9025
-3773,-9025
-3786,-9025
-3806,-9025
-3821,-9025
-3835,-9025
-3853,-9025
-3880,-9025
-3902,-9025
-3920,-9025
-3938,-9025
-3952,-9025
-3966,-9025
-3986,-9025
-4007,-9025
-4027,-9025
-4047,-9025
-4061,-9025
-4082,-9025
-4106,-9025
-4134,-9025
-4148,-9025
-4164,-9025
-4177,-9025
-4194,-9025
-4207,-9025
-4220,-9025
-4232,-9025
-4248,-9025
-4269,-9025
-4288,-9025
-4308,-9025
-4324,-9025
-4352,-9025
-4374,-9025
-4388,-9025
-4411,-9025
-4427,-9025
-4444,-9025
-4463,-9025
-4478,-9025
-4499,-9025
-4521,-9025
-4541,-9025
-4559,-9025
-4572,-9025
-4602,-9025
-4624,-9025
-4640,-9025
-4653,-9025
-4670,-9025
-4684,-9025
-4702,-9025
-4720,-9025
-4733,-9025
-4748,-9025
-4766,-9025
-4780,-9025
-4803,-9025
-4822,-9025
-4837,-9025
-4860,-9025
-4883,-9025
-4906,-9025
-4920,-9025
-4933,-9025
-4956,-9025
-4973,-9025
-4993,-9025
-5013,-9025
-5030,-9025
-5062,-9025
-5085,-9025
-5104,-9025
-5126,-9025
-5140,-9025
-5156,-9025
-5172,-9025
-5189,-9025
-5205,-9025
-5225,-9025
-5245,-9025
-5263,-9025
-5280,-9025
-5310,-9025
-5323,-9025
-5372,-9025
-5401,-9025
-5421,-9025
-5435,-9025
-5450,-9025
-5467,-9025
-5489,-9025
-5513,-9025
-5533,-9025
-5554,-9025
-5584,-9025
-5605,-9025
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test14.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test14.csv
deleted file mode 100644
index 82a9b98c3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test14.csv
+++ /dev/null
@@ -1,224 +0,0 @@
-24/05/2020 14:48:02
-40,0
-59,0
-80,0
-116,-3
-138,-99
-159,-72
-180,-172
-203,-146
-224,-203
-243,-262
-264,-315
-282,-379
-301,-438
-324,-525
-346,-674
-364,-752
-393,-814
-415,-929
-434,-948
-454,-1015
-474,-1086
-496,-1165
-515,-1315
-537,-1381
-558,-1400
-578,-1477
-597,-1553
-618,-1685
-639,-1765
-660,-1840
-680,-1856
-703,-1936
-725,-2078
-751,-2113
-794,-2297
-816,-2356
-836,-2431
-857,-2510
-886,-2660
-907,-2696
-921,-2836
-946,-2907
-967,-2987
-988,-2997
-1010,-3077
-1029,-3223
-1045,-3295
-1064,-3354
-1082,-3423
-1105,-3491
-1127,-3519
-1148,-3601
-1170,-3738
-1184,-3817
-1199,-3868
-1216,-3930
-1232,-3989
-1247,-3983
-1266,-4043
-1282,-4114
-1309,-4244
-1334,-4286
-1348,-4368
-1363,-4416
-1382,-4485
-1400,-4551
-1415,-4621
-1431,-4669
-1450,-4736
-1470,-4804
-1492,-4882
-1518,-5027
-1540,-5060
-1560,-5212
-1579,-5279
-1593,-5352
-1612,-5400
-1633,-5470
-1650,-5548
-1671,-5616
-1691,-5637
-1710,-5702
-1727,-5774
-1755,-5907
-1777,-5950
-1793,-6030
-1814,-6086
-1833,-6231
-1854,-6298
-1868,-6378
-1887,-6426
-1908,-6454
-1931,-6526
-1949,-6600
-1985,-6758
-2007,-6873
-2026,-6957
-2046,-7021
-2066,-7031
-2082,-7104
-2095,-7165
-2115,-7280
-2132,-7285
-2149,-7354
-2164,-7414
-2182,-7538
-2212,-7542
-2231,-7725
-2250,-7787
-2266,-7796
-2284,-7915
-2304,-7929
-2326,-8015
-2348,-8148
-2372,-8233
-2392,-8259
-2411,-8326
-2439,-8391
-2462,-8507
-2485,-8587
-2498,-8649
-2519,-8751
-2538,-8801
-2551,-8781
-2564,-8872
-2585,-8835
-2599,-8925
-2625,-8929
-2647,-8919
-2667,-8921
-2687,-8921
-2702,-8921
-2724,-8921
-2745,-8921
-2763,-8921
-2785,-8921
-2806,-8921
-2819,-8921
-2842,-8921
-2865,-8921
-2887,-8921
-2908,-8921
-2922,-8921
-2935,-8921
-2956,-8921
-2977,-8921
-3004,-8921
-3029,-8921
-3046,-8921
-3063,-8921
-3092,-8921
-3107,-8921
-3124,-8921
-3140,-8921
-3159,-8921
-3180,-8921
-3201,-8921
-3222,-8921
-3241,-8921
-3261,-8921
-3281,-8921
-3307,-8921
-3330,-8921
-3348,-8921
-3366,-8921
-3381,-8921
-3399,-8921
-3418,-8921
-3433,-8921
-3455,-8921
-3474,-8921
-3493,-8921
-3515,-8921
-3543,-8921
-3565,-8921
-3587,-8921
-3607,-8921
-3620,-8922
-3634,-8922
-3647,-8922
-3666,-8922
-3684,-8922
-3704,-8922
-3717,-8922
-3735,-8922
-3764,-8922
-3785,-8922
-3805,-8922
-3826,-8922
-3845,-8922
-3861,-8922
-3879,-8922
-3896,-8922
-3911,-8922
-3928,-8922
-3945,-8922
-3966,-8922
-3997,-8922
-4021,-8922
-4041,-8922
-4062,-8922
-4080,-8922
-4099,-8921
-4115,-8921
-4135,-8921
-4156,-8921
-4177,-8921
-4199,-8921
-4226,-8921
-4249,-8921
-4273,-8921
-4286,-8921
-4301,-8921
-4317,-8921
-4338,-8921
-4360,-8921
-4381,-8921
-4405,-8921
-4428,-8921
-4448,-8921
-4477,-8921
-4497,-8921
-4521,-8921
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test15.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test15.csv
deleted file mode 100644
index 7099494c8..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test15.csv
+++ /dev/null
@@ -1,181 +0,0 @@
-24/05/2020 14:48:15
-55,0
-74,0
-88,-1
-102,-5
-123,-18
-146,22
-168,-82
-191,-121
-215,-103
-238,-166
-260,-233
-281,-298
-299,-375
-322,-506
-353,-598
-375,-710
-392,-782
-417,-849
-439,-884
-461,-1026
-477,-1102
-500,-1169
-522,-1195
-545,-1340
-567,-1421
-596,-1449
-619,-1620
-637,-1636
-658,-1698
-678,-1782
-701,-1928
-726,-1951
-746,-2029
-768,-2175
-791,-2201
-813,-2277
-841,-2358
-862,-2468
-883,-2544
-906,-2682
-925,-2766
-939,-2837
-953,-2891
-968,-2943
-984,-2929
-999,-2991
-1019,-3044
-1055,-3205
-1088,-3337
-1112,-3382
-1137,-3482
-1156,-3559
-1181,-3705
-1202,-3784
-1219,-3805
-1235,-3867
-1258,-3929
-1277,-4008
-1291,-4085
-1323,-4135
-1343,-4255
-1359,-4325
-1372,-4386
-1394,-4500
-1415,-4523
-1435,-4597
-1455,-4733
-1475,-4810
-1492,-4887
-1512,-4948
-1531,-4957
-1560,-5027
-1575,-5204
-1591,-5251
-1610,-5310
-1623,-5380
-1638,-5435
-1654,-5422
-1672,-5481
-1694,-5550
-1713,-5696
-1735,-5765
-1762,-5788
-1782,-5951
-1802,-6024
-1821,-6099
-1844,-6108
-1866,-6188
-1886,-6335
-1906,-6410
-1928,-6484
-1944,-6500
-1958,-6563
-1972,-6677
-1996,-6725
-2019,-6756
-2041,-6905
-2061,-6986
-2081,-7062
-2102,-7075
-2126,-7155
-2149,-7303
-2171,-7384
-2193,-7411
-2212,-7554
-2242,-7623
-2261,-7670
-2285,-7825
-2305,-7834
-2327,-7903
-2344,-7989
-2364,-8053
-2383,-8188
-2402,-8258
-2425,-8331
-2447,-8361
-2482,-8435
-2504,-8558
-2529,-8624
-2551,-8694
-2571,-8745
-2593,-8850
-2615,-8822
-2662,-8898
-2684,-8890
-2719,-8890
-2741,-8890
-2761,-8890
-2780,-8891
-2802,-8891
-2822,-8891
-2841,-8891
-2864,-8891
-2878,-8891
-2895,-8891
-2909,-8891
-2935,-8891
-2960,-8891
-2977,-8891
-2993,-8891
-3008,-8891
-3027,-8891
-3044,-8891
-3064,-8891
-3085,-8891
-3104,-8891
-3122,-8891
-3148,-8891
-3172,-8891
-3193,-8891
-3208,-8891
-3222,-8891
-3240,-8891
-3264,-8891
-3282,-8891
-3304,-8891
-3326,-8891
-3343,-8891
-3360,-8891
-3384,-8891
-3407,-8891
-3433,-8891
-3450,-8891
-3470,-8891
-3484,-8891
-3499,-8891
-3513,-8891
-3527,-8891
-3547,-8891
-3569,-8891
-3593,-8891
-3616,-8890
-3629,-8890
-3652,-8890
-3670,-8890
-3691,-8890
-3706,-8890
-3726,-8890
-3744,-8890
-3762,-8890
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test16.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test16.csv
deleted file mode 100644
index a5743e552..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test16.csv
+++ /dev/null
@@ -1,231 +0,0 @@
-24/05/2020 14:48:26
-44,0
-61,0
-82,0
-102,-5
-123,-17
-136,25
-150,4
-180,-83
-201,-141
-218,-125
-236,-166
-258,-282
-279,-287
-301,-362
-323,-443
-342,-587
-359,-663
-381,-725
-399,-739
-421,-805
-444,-959
-474,-1007
-497,-1159
-513,-1244
-534,-1297
-548,-1371
-562,-1423
-581,-1477
-602,-1553
-622,-1625
-646,-1642
-664,-1719
-691,-1860
-711,-1891
-732,-1967
-752,-2042
-771,-2185
-790,-2261
-809,-2329
-829,-2394
-852,-2408
-886,-2563
-911,-2694
-931,-2718
-960,-2797
-982,-2969
-999,-2982
-1019,-3046
-1041,-3126
-1062,-3274
-1081,-3346
-1101,-3417
-1115,-3430
-1135,-3548
-1149,-3556
-1177,-3676
-1199,-3778
-1220,-3863
-1242,-3878
-1259,-3957
-1276,-4097
-1291,-4091
-1305,-4144
-1328,-4199
-1343,-4283
-1363,-4336
-1388,-4412
-1402,-4569
-1416,-4618
-1430,-4605
-1448,-4663
-1470,-4729
-1492,-4876
-1507,-4896
-1521,-5013
-1552,-5028
-1572,-5116
-1602,-5250
-1619,-5300
-1635,-5361
-1655,-5421
-1670,-5496
-1690,-5554
-1717,-5697
-1743,-5745
-1759,-5901
-1780,-5957
-1802,-6035
-1820,-6054
-1846,-6118
-1869,-6281
-1884,-6303
-1903,-6424
-1924,-6432
-1939,-6509
-1957,-6562
-1970,-6626
-1984,-6744
-2004,-6797
-2018,-6869
-2036,-6921
-2062,-6986
-2084,-7019
-2103,-7100
-2119,-7232
-2140,-7228
-2163,-7373
-2186,-7404
-2207,-7551
-2227,-7626
-2247,-7702
-2268,-7718
-2283,-7794
-2311,-7849
-2331,-8015
-2350,-8087
-2367,-8150
-2386,-8193
-2405,-8177
-2423,-8227
-2436,-8325
-2456,-8288
-2473,-8313
-2487,-8316
-2516,-8310
-2534,-8311
-2550,-8311
-2579,-8311
-2593,-8311
-2615,-8311
-2635,-8311
-2651,-8311
-2674,-8311
-2695,-8311
-2712,-8311
-2739,-8311
-2763,-8311
-2784,-8311
-2806,-8311
-2822,-8311
-2838,-8311
-2859,-8311
-2876,-8311
-2891,-8311
-2908,-8311
-2922,-8311
-2940,-8311
-2964,-8311
-2996,-8311
-3029,-8311
-3043,-8311
-3065,-8311
-3087,-8311
-3101,-8311
-3120,-8311
-3133,-8311
-3149,-8311
-3166,-8311
-3179,-8311
-3195,-8311
-3222,-8311
-3237,-8311
-3256,-8311
-3275,-8311
-3288,-8311
-3301,-8311
-3316,-8311
-3335,-8311
-3348,-8311
-3370,-8311
-3383,-8311
-3404,-8311
-3425,-8311
-3441,-8311
-3457,-8311
-3474,-8311
-3491,-8311
-3505,-8311
-3518,-8311
-3535,-8311
-3549,-8311
-3565,-8311
-3589,-8311
-3617,-8311
-3640,-8311
-3669,-8311
-3688,-8311
-3703,-8311
-3725,-8311
-3739,-8311
-3756,-8311
-3773,-8311
-3793,-8311
-3810,-8311
-3823,-8311
-3851,-8311
-3867,-8311
-3887,-8311
-3908,-8311
-3922,-8311
-3942,-8311
-3963,-8311
-3986,-8311
-4005,-8311
-4027,-8311
-4041,-8311
-4074,-8311
-4097,-8311
-4119,-8311
-4142,-8311
-4159,-8311
-4176,-8311
-4193,-8311
-4206,-8311
-4219,-8311
-4238,-8311
-4252,-8311
-4277,-8311
-4303,-8311
-4321,-8311
-4340,-8311
-4362,-8311
-4382,-8311
-4406,-8311
-4423,-8311
-4438,-8312
-4456,-8312
-4473,-8312
-4490,-8312
-4518,-8312
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test2.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test2.csv
deleted file mode 100644
index ba03e113f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test2.csv
+++ /dev/null
@@ -1,271 +0,0 @@
-24/05/2020 14:16:54
-0,0
-0,8
-0,80
-0,-7
-0,-34
-0,-163
-0,-239
-0,-342
-0,-385
-0,-457
-0,-479
-0,-630
-0,-672
-0,-752
-0,-856
-0,-1017
-0,-989
-0,-1092
-0,-1160
-0,-1179
-0,-1350
-0,-1424
-0,-1433
-0,-1507
-0,-1580
-0,-1630
-0,-1732
-0,-1717
-0,-1850
-0,-1932
-0,-1995
-0,-2042
-0,-2125
-0,-2151
-0,-2230
-0,-2375
-0,-2439
-0,-2467
-0,-2618
-0,-2700
-0,-2711
-0,-2785
-0,-2906
-0,-2969
-0,-3038
-0,-3121
-0,-3265
-0,-3339
-0,-3412
-0,-3467
-0,-3481
-0,-3545
-0,-3719
-0,-3738
-0,-3802
-0,-3890
-0,-4028
-0,-4107
-0,-4120
-0,-4192
-0,-4277
-0,-4424
-0,-4489
-0,-4522
-0,-4672
-0,-4741
-0,-4795
-0,-4788
-0,-4926
-0,-4987
-0,-5060
-0,-5130
-0,-5204
-0,-5305
-0,-5386
-0,-5458
-0,-5520
-0,-5539
-0,-5617
-0,-5771
-0,-5790
-0,-5873
-0,-6011
-0,-6076
-0,-6119
-0,-6188
-0,-6259
-0,-6407
-0,-6476
-0,-6548
-0,-6611
-0,-6675
-0,-6739
-0,-6749
-0,-6925
-0,-6941
-0,-7023
-0,-7165
-0,-7227
-0,-7298
-0,-7372
-0,-7424
-0,-7498
-0,-7520
-0,-7583
-0,-7751
-0,-7815
-0,-7892
-0,-7902
-0,-7977
-0,-8029
-0,-8146
-0,-8199
-0,-8217
-0,-8340
-0,-8397
-0,-8436
-0,-8578
-0,-8650
-0,-8702
-0,-8776
-0,-8850
-0,-8872
-0,-8931
-0,-9002
-0,-9123
-0,-9194
-0,-9266
-0,-9411
-0,-9491
-0,-9498
-0,-9559
-0,-9719
-0,-9789
-0,-9858
-0,-9881
-0,-9963
-0,-10084
-0,-10233
-0,-10309
-0,-10373
-0,-10438
-0,-10500
-0,-10684
-0,-10769
-0,-10785
-0,-10897
-0,-11015
-0,-10998
-0,-11132
-0,-11206
-0,-11242
-0,-11399
-0,-11466
-0,-11531
-0,-11603
-0,-11608
-0,-11779
-0,-11860
-0,-11925
-0,-11943
-0,-12093
-0,-12163
-0,-12216
-0,-12213
-0,-12348
-0,-12430
-0,-12444
-0,-12511
-0,-12681
-0,-12702
-0,-12784
-0,-12854
-0,-12909
-0,-12980
-0,-13118
-0,-13180
-0,-13261
-0,-13322
-0,-13374
-0,-13411
-0,-13467
-0,-13543
-0,-13619
-0,-13756
-0,-13833
-0,-13848
-0,-13929
-0,-13985
-0,-14039
-0,-14162
-0,-14176
-0,-14351
-0,-14359
-0,-14473
-0,-14522
-0,-14590
-0,-14673
-0,-14741
-0,-14793
-0,-14844
-0,-14829
-0,-14888
-0,-15033
-0,-15076
-0,-15190
-0,-15202
-0,-15273
-0,-15422
-0,-15493
-0,-15572
-0,-15636
-0,-15649
-0,-15732
-0,-15888
-0,-15967
-0,-16038
-0,-16107
-0,-16258
-0,-16281
-0,-16397
-0,-16422
-0,-16501
-0,-16561
-0,-16619
-0,-16678
-0,-16829
-0,-16857
-0,-16933
-0,-16992
-0,-17106
-0,-17157
-0,-17224
-0,-17276
-0,-17349
-0,-17422
-0,-17477
-0,-17545
-0,-17659
-0,-17731
-0,-17802
-0,-17821
-0,-17904
-0,-18048
-0,-18124
-0,-18152
-0,-18230
-0,-18282
-0,-18354
-0,-18511
-0,-18532
-0,-18606
-0,-18752
-0,-18817
-0,-18805
-0,-18954
-0,-19003
-0,-19070
-0,-19096
-0,-19185
-0,-19347
-0,-19369
-0,-19444
-0,-19580
-0,-19566
-0,-19709
-0,-19780
-0,-19853
-0,-19904
-0,-19983
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test3.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test3.csv
deleted file mode 100644
index 91ae72e87..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test3.csv
+++ /dev/null
@@ -1,127 +0,0 @@
-24/05/2020 14:17:18
-0,0
-0,0
-0,51
-0,-62
-0,-97
-0,-19
-0,-15
-0,-64
-0,-15
-0,-8
-0,-16
-0,-4
-0,-13
-0,-5
-0,-17
-0,-5
-0,-16
-0,-5
-0,-16
-0,-4
-0,-17
-0,-7
-0,-15
-0,-14
-0,-7
-0,-14
-0,-6
-0,-15
-0,-10
-0,-11
-0,-11
-0,-8
-0,-11
-0,-7
-0,-13
-0,-17
-0,-16
-0,-5
-0,-17
-0,-4
-0,-16
-0,-5
-0,-17
-0,-5
-0,-17
-0,-5
-0,-18
-0,-5
-0,-17
-0,-9
-0,-13
-0,-5
-0,-16
-0,-8
-0,-13
-0,-15
-0,-10
-0,-15
-0,-5
-0,-17
-0,-5
-0,-17
-0,-6
-0,-15
-0,-6
-0,-17
-0,-6
-0,-17
-0,-5
-0,-17
-0,-9
-0,-14
-0,-11
-0,-5
-0,-18
-0,-5
-0,-16
-0,-5
-0,-11
-0,-14
-0,-5
-0,-17
-0,-5
-0,-17
-0,-5
-0,-17
-0,-13
-0,-8
-0,-12
-0,-7
-0,-18
-0,-6
-0,-17
-0,-7
-0,-14
-0,-10
-0,-12
-0,-10
-0,-9
-0,-15
-0,-5
-0,-13
-0,-10
-0,-15
-0,-8
-0,-17
-0,-6
-0,-13
-0,-11
-0,-12
-0,-11
-0,-13
-0,-10
-0,-13
-0,-5
-0,-18
-0,-5
-0,-14
-0,-11
-0,-17
-0,-5
-0,-17
-0,-6
-0,-13
-0,-13
-0,-6
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs
deleted file mode 100644
index 1977c13a6..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs
+++ /dev/null
@@ -1,174 +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.Printing;
-using Tango.Stubs;
-using Tango.PMR.Stubs;
-
-const string File_Name = @"P:\Scripts\Assemblies\Dryer\Dryer_Tset.CSV"; //3 hour
-
-public void OnExecute(StubManager stubManager)
-{
- 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_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;
-
- while (j==0)
- {
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //read air temp
-
- 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.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3, true, 2200); //rotate Dryer Motor.
-// Thread.Sleep(1000*20);//
- stubManager.AppendToFile(File_Name,DateTime.Now +" " );
-
- 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 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_190()
-
- {
-UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
-
-ProcessParameters processParameters = new ProcessParameters();
-processParameters.DyeingSpeed = 0;
-processParameters.MinInkUptake = 0;
-processParameters.MaxInkUptake = 0;
-processParameters.FeederTension = 0;
-processParameters.PullerTension = 0;
-processParameters.WinderTension = 0;
-processParameters.MixerTemp = 0;
-processParameters.HeadZone1Temp = 0;
-processParameters.HeadZone2Temp = 0;
-processParameters.HeadZone3Temp = 0;
-processParameters.HeadZone4Temp = 0;
-processParameters.HeadZone5Temp = 0;
-processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 5;
-processParameters.DryerZone1Temp = 190;
-processParameters.DryerZone2Temp = 0;
-processParameters.DryerZone3Temp = 0;
-processParameters.DryerBufferLength = 0;
-processParameters.HeadAirFlow = 0;
-processParameters.TableIndex = 0;
-processParameters.HeadZone7Temp = 0;
-processParameters.HeadZone8Temp = 0;
-processParameters.HeadZone9Temp = 0;
-processParameters.HeadZone10Temp = 0;
-processParameters.HeadZone11Temp = 0;
-processParameters.HeadZone12Temp = 0;
-processParameters.RBlowerFlow = 0;
-processParameters.RBlowerTemp = 0;
-processParameters.LBlowerFlow = 0;
-processParameters.LBlowerTemp = 0;
-processParameters.PressureBuildUp = 0;
-
-uploadProcessParametersRequest.ProcessParameters = processParameters;
-
-
-
- var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
-}
-
-void Blower_0()
-
- {
-UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
-
-ProcessParameters processParameters = new ProcessParameters();
-processParameters.DyeingSpeed = 0;
-processParameters.MinInkUptake = 0;
-processParameters.MaxInkUptake = 0;
-processParameters.FeederTension = 0;
-processParameters.PullerTension = 0;
-processParameters.WinderTension = 0;
-processParameters.MixerTemp = 0;
-processParameters.HeadZone1Temp = 0;
-processParameters.HeadZone2Temp = 0;
-processParameters.HeadZone3Temp = 0;
-processParameters.HeadZone4Temp = 0;
-processParameters.HeadZone5Temp = 0;
-processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 5;
-processParameters.DryerZone1Temp = 00;
-processParameters.DryerZone2Temp = 0;
-processParameters.DryerZone3Temp = 0;
-processParameters.DryerBufferLength = 0;
-processParameters.HeadAirFlow = 0;
-processParameters.TableIndex = 0;
-processParameters.HeadZone7Temp = 0;
-processParameters.HeadZone8Temp = 0;
-processParameters.HeadZone9Temp = 0;
-processParameters.HeadZone10Temp = 0;
-processParameters.HeadZone11Temp = 0;
-processParameters.HeadZone12Temp = 0;
-processParameters.RBlowerFlow = 0;
-processParameters.RBlowerTemp = 0;
-processParameters.LBlowerFlow = 0;
-processParameters.LBlowerTemp = 0;
-processParameters.PressureBuildUp = 0;
-
-uploadProcessParametersRequest.ProcessParameters = processParameters;
-
-
-
- var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
-} \ No newline at end of file
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
deleted file mode 100644
index 3d06c1e79..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs
+++ /dev/null
@@ -1,186 +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.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_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;
-
- while (j==0)
- {
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //read air temp
-
- 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.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3, true, 2200); //rotate Dryer Motor.
-// Thread.Sleep(1000*20);//
- stubManager.AppendToFile(File_Name,DateTime.Now +" " );
-
- 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 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_190()
-
- {
-UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
-
-ProcessParameters processParameters = new ProcessParameters();
-processParameters.DyeingSpeed = 0;
-processParameters.MinInkUptake = 0;
-processParameters.MaxInkUptake = 0;
-processParameters.FeederTension = 0;
-processParameters.PullerTension = 0;
-processParameters.WinderTension = 0;
-processParameters.MixerTemp = 0;
-processParameters.HeadZone1Temp = 0;
-processParameters.HeadZone2Temp = 0;
-processParameters.HeadZone3Temp = 0;
-processParameters.HeadZone4Temp = 0;
-processParameters.HeadZone5Temp = 0;
-processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 5;
-processParameters.DryerZone1Temp = 190;
-processParameters.DryerZone2Temp = 0;
-processParameters.DryerZone3Temp = 0;
-processParameters.DryerBufferLength = 0;
-processParameters.HeadAirFlow = 0;
-processParameters.TableIndex = 0;
-processParameters.HeadZone7Temp = 0;
-processParameters.HeadZone8Temp = 0;
-processParameters.HeadZone9Temp = 0;
-processParameters.HeadZone10Temp = 0;
-processParameters.HeadZone11Temp = 0;
-processParameters.HeadZone12Temp = 0;
-processParameters.RBlowerFlow = 0;
-processParameters.RBlowerTemp = 0;
-processParameters.LBlowerFlow = 0;
-processParameters.LBlowerTemp = 0;
-processParameters.PressureBuildUp = 0;
-
-uploadProcessParametersRequest.ProcessParameters = processParameters;
-
-
-
- var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
-}
-
-void Blower_0()
-
- {
-UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
-
-ProcessParameters processParameters = new ProcessParameters();
-processParameters.DyeingSpeed = 0;
-processParameters.MinInkUptake = 0;
-processParameters.MaxInkUptake = 0;
-processParameters.FeederTension = 0;
-processParameters.PullerTension = 0;
-processParameters.WinderTension = 0;
-processParameters.MixerTemp = 0;
-processParameters.HeadZone1Temp = 0;
-processParameters.HeadZone2Temp = 0;
-processParameters.HeadZone3Temp = 0;
-processParameters.HeadZone4Temp = 0;
-processParameters.HeadZone5Temp = 0;
-processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 5;
-processParameters.DryerZone1Temp = 00;
-processParameters.DryerZone2Temp = 0;
-processParameters.DryerZone3Temp = 0;
-processParameters.DryerBufferLength = 0;
-processParameters.HeadAirFlow = 0;
-processParameters.TableIndex = 0;
-processParameters.HeadZone7Temp = 0;
-processParameters.HeadZone8Temp = 0;
-processParameters.HeadZone9Temp = 0;
-processParameters.HeadZone10Temp = 0;
-processParameters.HeadZone11Temp = 0;
-processParameters.HeadZone12Temp = 0;
-processParameters.RBlowerFlow = 0;
-processParameters.RBlowerTemp = 0;
-processParameters.LBlowerFlow = 0;
-processParameters.LBlowerTemp = 0;
-processParameters.PressureBuildUp = 0;
-
-uploadProcessParametersRequest.ProcessParameters = processParameters;
-
-
-
- var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_Test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_Test.cs
deleted file mode 100644
index 92c50a57e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_Test.cs
+++ /dev/null
@@ -1,34 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-int Delay_UP=200; //msec
-int Delay_stop=500;
-int Delay_limit=1000;
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down up to limit switch
- Thread.Sleep(1000);
- while (true)
- {
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf003); //mov ACTUATOR-IN down up
- Thread.Sleep(Delay_UP);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf008); //stop ACTUATOR-IN
- Thread.Sleep(Delay_stop);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down up to limit switch
- Thread.Sleep(Delay_limit);
-
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs
deleted file mode 100644
index dc5d5af07..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs
+++ /dev/null
@@ -1,34 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-int Delay_UP=200; //msec
-int Delay_stop=500;
-int Delay_limit=1000;
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down up to limit switch
- Thread.Sleep(2000);
-// while (true)
-// {
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf003); //mov ACTUATOR-IN up
- Thread.Sleep(Delay_UP);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf008); //stop ACTUATOR-IN
- Thread.Sleep(Delay_stop);
- // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down up to limit switch
-// Thread.Sleep(Delay_limit);
-
- // }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_test.cs
deleted file mode 100644
index 6d71a9ac3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_test.cs
+++ /dev/null
@@ -1,32 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- int sleep_up=4000;//2 second
- int sleep_dn=1000;//2 second
- while (true)
- {
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down
- Thread.Sleep(sleep_dn);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf001); //mov ACTUATOR-IN up
- Thread.Sleep(sleep_up);
-
- }
- // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUTdown
- // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig.cs
deleted file mode 100644
index 2baedf7c2..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig.cs
+++ /dev/null
@@ -1,548 +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;
-
-
-include "..\..\Defines\Tango_Defines_Basic.cs"
-include "Tango_Defines_SSR.cs"
-include "Tango_Defines_LimitSwitch.cs"
-
-
-//--------------------------------------------------------------------------------
- const Int32 I2C_ID = 2;
-
-//--------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------
-//string path1=@"P:\Scripts\Assemblies\Dye head\DyeHeadLog\";
-string path1="P:\\Scripts\\Assemblies\\Dye head\\DyeHeadLog\\";
-string path2=@"C:\DyeHeadLog";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-float [] DyeHeadTemp = new float[6] ;
-
-string [,] Units_status = new string[16,2] {
- {"Pt100_Zone_1","Not Test"},
- {"Pt100_Zone_2","Not Test"},
- {"Pt100_Zone_3","Not Test"},
- {"Pt100_Zone_4","Not Test"},
- {"Pt100_Zone_5","Not Test"},
- {"Pt100_Zone_6","Not Test"},
- {"Heater_Zone_1","Not Test"},
- {"Heater_Zone_2","Not Test"},
- {"Heater_Zone_3","Not Test"},
- {"Heater_Zone_4","Not Test"},
- {"Heater_Zone_5","Not Test"},
- {"Heater_Zone_6","Not Test"},
- {"Magnet","Not Test"},
- {"LS_DH_LID_Open","Not Test"},
- {"LS_DH_LID_Close","Not Test"},
- {"DH_LID_Motor","Not Test"},
- };
-
-
-
-//-----------------------------------------------------
-string DyeHead_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
-
- form1.Text = "DyeHead Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----DyeHead Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" DyeHead S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
-else
-path=path1;
-
-
-File_Name1=path + TextBox1.Text +"_DyeHead_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
-stubManager.Write(File_Name1 +"\n");
-stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name1,"DyeHead Test Report" );
-stubManager.Write("DyeHead Test Report\n" );
-
-stubManager.AppendToFile(File_Name1,"RTFU S/N: \t" + TextBox1.Text );
-stubManager.Write("DyeHead S/N:" + TextBox1.Text +"\n" );
-
-
-stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
-stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
-Label5.Location = new Point (300, 100);
-Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
-Label5.Text="Pros";
-Label5.Font = new Font("Arial", 24,FontStyle.Bold);
-form1.Controls.Add(Label5);
-
-
-//------------------------------- start test -----------
-
- DialogResult result = MessageBox.Show("Make shure, Dyehead is not hot", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- stubManager.AppendToFile(File_Name1,"Dyehead is too hot \tFail");
- stubManager.Write("Dyehead is too hot \tFail\n");
- return ;
- }
- Test_Magnet_Motor_LS_DyeHead();
- Test_heaters_pt100 ();
- Status=write_to_file();
-
- Label5.Text=Status;
- TextBox1.Text="";
-};
-
- form1.ShowDialog();
-
- stubManager.Write("Counter is \n");
-
-
- return;
- }
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_DyeHead()
-{
- Int32 Bit = 1;
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+0);
- stubManager.Write("\nTesting SSR no. 13 of magnet or motor driver");
-
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not Open\n");
- return 0;
- }
- Units_status[12,1]="Pass";
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, true, 250);
- stubManager.Write("\n*** Open Lid Head ");
-
- Bit = 1;
- int i=0;
- while ((Bit != 0x0)&& (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,7);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,23,3); //stop motor
-
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- Units_status[15,1]="Fail";
- Units_status[13,1]="Fail";
- stubManager.Write("LS_DH_LID_Open Not calibrate\n");
- return 0;
- }
- Units_status[13,1]="Pass";
- stubManager.Write("\n*** Close Lid Head ");
- Bit = 1;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, false, 250);
- i=0;
- while ((Bit != 0x0)&& (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,8);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,23,3); //stop motor
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[14,1]="Fail";
- Units_status[15,1]="Fail";
- stubManager.Write("LS_DH_LID_Close Not calibrate\n");
- return 0;
- }
- Units_status[14,1]="Pass";
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+2);
- DialogResult result3 = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not Open\n");
- return 0;
- }
- Units_status[12,1]="Pass";
- Units_status[15,1]="Pass";
-
- return 0;
-}
-
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<16;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- return Stemp;
-}
-//------------------------------------
-int Test_heaters_pt100()
-{
-// uint utemp=0;
- uint temp=0;
- float ftemp=0;
- float ftemp1=0;
-
- stubManager.Write("\nTemp Befor heating \n");
- if (test_pt100()!=0)
- return 0;
-
-//------------Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 8
- SetBit (FPGA2, F2_CTRL, 3, 1);
- stubManager.Write("Testing SSR no. 8\tHeadZone-1\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x10); //a2d_address 0x40 channel 3
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- SetBit (FPGA2, F2_CTRL, 3, 0);
- ftemp=Read_pt100(0);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+ temp + "\n");
- ftemp = ftemp - DyeHeadTemp[0];
- if ((temp>0x860)|| (temp<0x7e0)||(ftemp<5)||(ftemp>20))
- Units_status[6,1]="Fail";
- else
- Units_status[6,1]="Pass";
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 7
- ftemp=Read_pt100(1);
- ftemp1 = ftemp - DyeHeadTemp[1];
- if ( ftemp1>4)
- Units_status[7,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 4, 1);
- stubManager.Write("Testing SSR no. 7\tHeadZone-2\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x08); //a2d_address 0x40 channel 4
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- SetBit (FPGA2, F2_CTRL, 4, 0);
- ftemp=Read_pt100(1);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+temp + "\n");
- ftemp = ftemp - DyeHeadTemp[1];
- if ((temp>0x660)|| (temp<0x600)||(ftemp<5)||(ftemp>20))
- Units_status[7,1]="Fail";
- else
- Units_status[7,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 6
-
- ftemp=Read_pt100(2);
- ftemp1 = ftemp - DyeHeadTemp[2];
- if ( ftemp1>4)
- Units_status[7,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 5, 1);
- stubManager.Write("Testing SSR no. 6\tHeadZone-3\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x04); //a2d_address 0x40 channel 5
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- SetBit (FPGA2, F2_CTRL, 5, 0);
- ftemp=Read_pt100(2);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+temp +"\n");
- ftemp = ftemp - DyeHeadTemp[2];
- if ((temp>0x660)|| (temp<0x600)||(ftemp<5)||(ftemp>20))
- Units_status[8,1]="Fail";
- else
- Units_status[8,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 5
- ftemp=Read_pt100(3);
- ftemp1 = ftemp - DyeHeadTemp[3];
- if ( ftemp1>4)
- Units_status[9,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 6, 1);
- stubManager.Write("Testing SSR no. 5\tHeadZone-4\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x80); //a2d_address 0x44 channel 0
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- SetBit (FPGA2, F2_CTRL, 6, 0);
- ftemp=Read_pt100(3);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+temp + "\n");
- ftemp = ftemp - DyeHeadTemp[3];
- if ((temp>0x1100)|| (temp<0xf90)||(ftemp<5)||(ftemp>20))
- Units_status[9,1]="Fail";
- else
- Units_status[9,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 10
- ftemp=Read_pt100(4);
- ftemp1 = ftemp - DyeHeadTemp[4];
- if ( ftemp1>4)
- Units_status[10,1]="Fail";
- else
- {
- SetBit (FPGA1, F1_gpo_01, 2, 1);
- stubManager.Write("Testing SSR no. 10\tHeadZone-5\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- SetBit (FPGA1, F1_gpo_01, 2, 0);
- ftemp=Read_pt100(4);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+temp + "\n");
- ftemp = ftemp - DyeHeadTemp[4];
- if ((temp>0xa80)|| (temp<0xa20)||(ftemp<5)||(ftemp>20))
- Units_status[10,1]="Fail";
- else
- Units_status[10,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 11
- ftemp=Read_pt100(5);
- ftemp1 = ftemp - DyeHeadTemp[5];
- if ( ftemp1>4)
- Units_status[11,1]="Fail";
- else
- {
- SetBit (FPGA3, F3_GPO_01_bus, 4, 1);
- stubManager.Write("Testing SSR no. 11\tHeadZone-6\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- SetBit (FPGA3, F3_GPO_01_bus, 4, 0);
- ftemp=Read_pt100(5);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+temp + "\n");
- ftemp = ftemp - DyeHeadTemp[5];
- if ((temp>0x660)|| (temp<0x600)||(ftemp<5)||(ftemp>20))
- Units_status[11,1]="Fail";
- else
- Units_status[11,1]="Pass";
- }
- return 0;
-}
-//------------------------------------------------
- int test_pt100()
- {
- float ftemp=0;
- int temp=0;
- int j=0;
- for (int i = 0; i < 6; i++)
- {
- DyeHeadTemp[i]=Read_pt100(i);
- ftemp=DyeHeadTemp[i];
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[i,1]="Fail";
- }
- else
- {
- Units_status[i,1]="Pass";
- }
- stubManager.Write("Zone-"+(i+1)+ "\t" + ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-
- }
- return 0;
- }
-//------------------------------------------------
-float Read_pt100(int i)
-{
- int j= i+1;
- if (i==5)
- j=11;
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,j); //
- float ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
- return (ftemp);
-}
-//---------------------------
-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_temp(uint I2C_Slave_Add)
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x02);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-//-----------------------------------
-int adc_read_temp(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);
-
- for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
- {
- stubManager.WriteLineHex(response1.ReadBytes[i],2);
- }
-
-
- 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;
- }
-//-----------------------------------
-uint 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=0;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
- return temp;
- }
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig1.cs
deleted file mode 100644
index b3513ac55..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig1.cs
+++ /dev/null
@@ -1,575 +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;
-
-
-include "..\..\Defines\Tango_Defines_Basic.cs"
-include "Tango_Defines_SSR.cs"
-include "Tango_Defines_LimitSwitch.cs"
-
-
-//--------------------------------------------------------------------------------
- const Int32 I2C_ID = 2;
-
-//--------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------
-//string path1=@"P:\Scripts\Assemblies\Dye head\DyeHeadLog\";
-string path1="P:\\Scripts\\Assemblies\\Dye head\\DyeHeadLog\\";
-string path2="C:\\DyeHeadLog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-float [] DyeHeadTemp = new float[6] ;
-
-string [,] Units_status = new string[16,2] {
- {"Pt100_Zone_1","Not Test"},
- {"Pt100_Zone_2","Not Test"},
- {"Pt100_Zone_3","Not Test"},
- {"Pt100_Zone_4","Not Test"},
- {"Pt100_Zone_5","Not Test"},
- {"Pt100_Zone_6","Not Test"},
- {"Heater_Zone_1","Not Test"},
- {"Heater_Zone_2","Not Test"},
- {"Heater_Zone_3","Not Test"},
- {"Heater_Zone_4","Not Test"},
- {"Heater_Zone_5","Not Test"},
- {"Heater_Zone_6","Not Test"},
- {"Magnet ","Not Test"},
- {"LS_DH_LID_Open","Not Test"},
- {"LS_DH_LID_Close","Not Test"},
- {"DH_LID_Motor","Not Test"},
- };
-
-
-
-//-----------------------------------------------------
-string DyeHead_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
-
- form1.Text = "DyeHead Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----DyeHead Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" DyeHead S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
-else
-path=path1;
-
-
-File_Name1=path + TextBox1.Text +"_DyeHead_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
-stubManager.Write(File_Name1 +"\n");
-stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name1,"DyeHead Test Report" );
-stubManager.Write("DyeHead Test Report\n" );
-
-stubManager.AppendToFile(File_Name1,"DyeHead S/N: \t" + TextBox1.Text );
-stubManager.Write("DyeHead S/N:" + TextBox1.Text +"\n" );
-
-
-stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
-stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
-Label5.Location = new Point (300, 100);
-Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
-Label5.Text="Pros";
-Label5.Font = new Font("Arial", 24,FontStyle.Bold);
-form1.Controls.Add(Label5);
-
-
-//------------------------------- start test -----------
-
- DialogResult result = MessageBox.Show("Make shure, Dyehead is not hot", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- stubManager.AppendToFile(File_Name1,"Dyehead is too hot \tFail");
- stubManager.Write("Dyehead is too hot \tFail\n");
- return ;
- }
- Test_Magnet_Motor_LS_DyeHead();
- Test_heaters_pt100 ();
- Status=write_to_file();
-
- Label5.Text=Status;
- TextBox1.Text="";
-};
-
- form1.ShowDialog();
-
-// stubManager.Write("Counter is \n");
-
-
- return;
- }
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_DyeHead()
-{
- Int32 Bit = 1;
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+0);
- stubManager.Write("\nTesting SSR no. 13 of magnet or motor driver");
-
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not Open\n");
- return 0;
- }
- Units_status[12,1]="Pass";
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, true, 250);
- stubManager.Write("\n*** Open Lid Head ");
-
- Bit = 1;
- int i=0;
- while ((Bit != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,7);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,2,3); //stop motor
-
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- Units_status[15,1]="Fail";
- Units_status[13,1]="Fail";
- stubManager.Write("LS_DH_LID_Open Not calibrate\n");
- return 0;
- }
- Units_status[13,1]="Pass";
- stubManager.Write("\n*** Close Lid Head ");
- Bit = 1;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, false, 250);
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,8);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,2,3); //stop motor
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[14,1]="Fail";
- Units_status[15,1]="Fail";
- stubManager.Write("LS_DH_LID_Close Not calibrate\n");
- return 0;
- }
- Units_status[14,1]="Pass";
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+2);
- DialogResult result3 = MessageBox.Show("Make shure, Magnet is close", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not close\n");
- return 0;
- }
- Units_status[12,1]="Pass";
- Units_status[15,1]="Pass";
-
- return 0;
-}
-
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<16;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------Dye Head Fail ------------ )");
- stubManager.Write("-------------Dye Head Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------Dye Head Pass ------------ )");
- stubManager.Write("-------------Dye Head Pass ------------ ");
- }
-
- return Stemp;
-}
-//------------------------------------
-int Test_heaters_pt100()
-{
-
-// uint utemp=0;
- uint temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
-
- stubManager.Write("\nTemp Befor heating \n");
- if (test_pt100()!=0)
- return 0;
-
-//------------Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 8
- SetBit (FPGA2, F2_CTRL, 3, 1);
- stubManager.Write("Testing SSR no. 8\tHeadZone-1\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x10); //a2d_address 0x40 channel 3
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (FPGA2, F2_CTRL, 3, 0);
- ftemp=Read_pt100(0);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+ current + "\n");
- ftemp = ftemp - DyeHeadTemp[0];
-
- if ((current>1.5)|| (current<0.9)||(ftemp<5)||(ftemp>25))
- Units_status[6,1]="Fail";
- else
- Units_status[6,1]="Pass";
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 7
- ftemp=Read_pt100(1);
- ftemp1 = ftemp - DyeHeadTemp[1];
- if ( ftemp1>4)
- Units_status[7,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 4, 1);
- stubManager.Write("Testing SSR no. 7\tHeadZone-2\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x08); //a2d_address 0x40 channel 4
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (FPGA2, F2_CTRL, 4, 0);
- ftemp=Read_pt100(1);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+ current + "\n");
- ftemp = ftemp - DyeHeadTemp[1];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>25))
- Units_status[7,1]="Fail";
- else
- Units_status[7,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 6
-
- ftemp=Read_pt100(2);
- ftemp1 = ftemp - DyeHeadTemp[2];
- if ( ftemp1>4)
- Units_status[8,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 5, 1);
- stubManager.Write("Testing SSR no. 6\tHeadZone-3\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x04); //a2d_address 0x40 channel 5
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (FPGA2, F2_CTRL, 5, 0);
- ftemp=Read_pt100(2);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current +"\n");
- ftemp = ftemp - DyeHeadTemp[2];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>25))
- Units_status[8,1]="Fail";
- else
- Units_status[8,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 5
- ftemp=Read_pt100(3);
- ftemp1 = ftemp - DyeHeadTemp[3];
- if ( ftemp1>4)
- Units_status[9,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 6, 1);
- stubManager.Write("Testing SSR no. 5\tHeadZone-4\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x80); //a2d_address 0x44 channel 0
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001221) * current;
-
- SetBit (FPGA2, F2_CTRL, 6, 0);
- ftemp=Read_pt100(3);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[3];
- if ((current<2.9)|| (current>3.4)||(ftemp<5)||(ftemp>25))
- Units_status[9,1]="Fail";
- else
- Units_status[9,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 10
- ftemp=Read_pt100(4);
- ftemp1 = ftemp - DyeHeadTemp[4];
- if ( ftemp1>4)
- Units_status[10,1]="Fail";
- else
- {
- SetBit (FPGA1, F1_gpo_01, 2, 1);
- stubManager.Write("Testing SSR no. 10\tHeadZone-5\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001526) * current;
- SetBit (FPGA1, F1_gpo_01, 2, 0);
- ftemp=Read_pt100(4);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[4];
- if ((current<2.9)|| (current>3.4)||(ftemp<5)||(ftemp>25))
- Units_status[10,1]="Fail";
- else
- Units_status[10,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 11
- ftemp=Read_pt100(5);
- ftemp1 = ftemp - DyeHeadTemp[5];
- if ( ftemp1>4)
- Units_status[11,1]="Fail";
- else
- {
- SetBit (FPGA3, F3_GPO_01_bus, 4, 1);
- stubManager.Write("Testing SSR no. 11\tHeadZone-6\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001526) * current;
- SetBit (FPGA3, F3_GPO_01_bus, 4, 0);
- ftemp=Read_pt100(5);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[5];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>20))
- Units_status[11,1]="Fail";
- else
- Units_status[11,1]="Pass";
- }
- return 0;
-}
-//------------------------------------------------
- int test_pt100()
- {
- float ftemp=0;
- int temp=0;
- int j=0;
- for (int i = 0; i < 6; i++)
- {
- DyeHeadTemp[i]=Read_pt100(i);
- ftemp=DyeHeadTemp[i];
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[i,1]="Fail";
- }
- else
- {
- Units_status[i,1]="Pass";
- }
- stubManager.Write("Zone-"+(i+1)+ "\t" + ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-
- }
- return 0;
- }
-//------------------------------------------------
-float Read_pt100(int i)
-{
- int j= i+1;
- if (i==5)
- j=11;
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,j); //
- float ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
- return (ftemp);
-}
-//---------------------------
-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_temp(uint I2C_Slave_Add)
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x02);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-//-----------------------------------
-int adc_read_temp(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);
-
- for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
- {
- stubManager.WriteLineHex(response1.ReadBytes[i],2);
- }
-
-
- 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;
- }
-//-----------------------------------
-uint 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=0;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
- return temp;
- }
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Jig/DyeHeadJig.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Jig/DyeHeadJig.cs
deleted file mode 100644
index 3e5ccf085..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Jig/DyeHeadJig.cs
+++ /dev/null
@@ -1,384 +0,0 @@
-//--------------------------------------------------------------------------------
-
-//include "Dispenser_setup_mbar1.cs"
-//include "C:\Dispenser_setup\Dispenser_setup_seal_test.cs"
-
-//--------------------------------------------------------------------------------
-//include "Dispenser_Motor_stop.cs"
-//include "Dispenser_setup_form_valve close_1.cs"
-//include "Dispenser_setup_form_valve open_1.cs"
-//include "Dispenser_Motor_run.cs"
-//include "Dispenser_Motor_Up.cs"
-//include "Dispenser_Motor_Down.cs"
-//--------------------------------------------------------------------------------
-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 RDANCER_Motor = 21;
-const Int32 RDRIVING_Motor = 22;
-const Int32 RLOADING_Motor = 24;
-
-//--------
-
-const Int32 F1_LS_RLOADMOTOR_UP = 0x0040 ;
-const Int32 F1_LS_RLOADMOTOR_DN = 0x0080 ;
-
-
-
-
-
-
-const Int32 F1_MOTO_RLOADING_TX1 = 0x60000202;
-const Int32 F1_MOTO_RLOADING_TX0 = 0x60000200;
-const Int32 F1_MOTO_RLOADING_RX1 = 0x60000206;
-const Int32 F1_MOTO_RLOADING_RX0 = 0x60000204;
-
-
-const Int32 F1_LS_03_Direct =0x60000040;
-//--------------------------------------------------------------------------------
-string path1="M:\\RTFU\\Reports\\";
-string File_Name1 ;
-string Status;
-
-
-
-//-----------------------------------------------------
-
-//int SealTest=0;
-//int Characterization;
-string RTFU_Sn;
-//int dispenserNumber=1;
-//string Dtype="";
-//int Table=0;
-///string shortDateString;
-
-//UInt32 Type_card;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
- stubManager.Write("Counter is 1 \n");
-
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0X60000522, 0X128);//0X128 EQULE 50 MSEC
-
- //-----------------------------detect card ----------------------------
-
-
-//---------------------------------------------------------------------------------------------------------------------------------------------------------
-
-
-//Create form
- Form form1 = new Form();
-
-//--------------------------------------------------------------------------------
-
-// Create buttons to use as the accept and cancel buttons.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-
-//--------------------------------------------------------------------------------
-// Set the text of button
-
- button1.Text = "Run";
-
-
-//--------------------------------------------------------------------------------
-// Set the position of the button on the form.
-
- button1.Location = new Point (40, 100);
-
-
-
-
-//--------------------------------------------------------------------------------
- // Add button to the form.
-
- form1.Controls.Add(button1);
-
-
-
-//--------------------------------------------------------------------------------
-
-// Set the caption bar text of the form.
-
- form1.Text = "RTFU Test";
-
-//--------------------------------------------------------------------------------
-
- // Define the border style of the form to a dialog box.
-
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
-
- // Set the MaximizeBox to false to remove the maximize box.
-
- form1.MaximizeBox = false;
-
- // Set the MinimizeBox to false to remove the minimize box.
-
- form1.MinimizeBox = false;
-
- // Set the start position of the form to the center of the screen.
-
- form1.StartPosition = FormStartPosition.CenterScreen;
-
-
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-
-//-----RTFU Serial Number -----------
-
-Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" RTFU S/N"
- };
-Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
-
-
-TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
-
-//-----USER NAME -----------
-
-Label Label2 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="USER NAME"
- };
-Label2.Location = new Point (190, 10);
- form1.Controls.Add(Label2);
-
-
-TextBox TextBox2 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox2.Location = new Point (200, 40);
- form1.Controls.Add(TextBox2);
-
-//----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-
-//File_Name1=path1 +"RTFU.log" ;
-File_Name1=path1 + TextBox1.Text +"_RTFU_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-//File_Name1=path1 + DateTime.Now+"RTFU.log" ;
-
-stubManager.Write(File_Name1 +"\n");
-stubManager.WriteToFile(File_Name1,DateTime.Now +"\n" );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name1,"RTFU Test Report\n" );
-stubManager.Write("RTFU Test Report\n" );
-
-stubManager.AppendToFile(File_Name1,"RTFU S/N: \t" + TextBox1.Text +"\n" );
-stubManager.Write("RTFU S/N:" + TextBox1.Text +"\n" );
-
-stubManager.AppendToFile(File_Name1,"User Name:\t" + TextBox2.Text +"\n" );
-stubManager.Write("User Name:" + TextBox2.Text +"\n" );
-
-
-stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text +"\n" );
-stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-
-
-
-Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
-Label5.Location = new Point (300, 100);
-Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
-Label5.Text="Pros";
-Label5.Font = new Font("Arial", 24,FontStyle.Bold);
-form1.Controls.Add(Label5);
-
-Status=Test_RLOADING_RTFU ();
- Label5.Text=Status;
- TextBox1.Text="";
-};
-
- form1.ShowDialog();
-
- stubManager.Write("Counter is \n");
-
-
- return;
- }
- //------------------------------------
-string Test_RLOADING_RTFU()
-{
- int temp=1;
- int counter;
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x2c
- Thread.Sleep(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,100); //move Rloading down
- Thread.Sleep(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading
- Thread.Sleep(1000);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor,false,100); //move Rloading up
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RLOADMOTOR_UP) !=F1_LS_RLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- stubManager.AppendToFile(File_Name1,"LS_RLOADMOTOR_UP\tFail");
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return "Fail";
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_UP) != F1_LS_RLOADMOTOR_UP )
- counter=150;
- Thread.Sleep(100);
- }
- if (counter >= 150)
- {
- stubManager.AppendToFile(File_Name1,"LS_RLOADMOTOR_UP or Motors RLOADING \tFail");
- stubManager.Write("LS_RLOADMOTOR_UP or Motors RLOADING \tFail\n");
- return "Fail";
- }
- stubManager.AppendToFile(File_Name1,"LS_RLOADMOTOR_UP\tPass");
- stubManager.Write("LS_RLOADMOTOR_UP or Motors RLOADING \tPass\n");
-//-----------------------------------------------------------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,100); //move Rloading down
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
-
- if ((response.Value & F1_LS_RLOADMOTOR_DN) !=F1_LS_RLOADMOTOR_DN ) //if LS_RLOADMOTOR_DN is up then error
- {
- stubManager.AppendToFile(File_Name1,"LS_RLOADMOTOR_DN\tFail");
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return "Fail";
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_DN) != F1_LS_RLOADMOTOR_DN )
- counter=150;
- Thread.Sleep(100);
- }
- if (counter >= 150)
- {
- stubManager.AppendToFile(File_Name1,"LS_RLOADMOTOR_DN \tFail");
- stubManager.Write("LS_RLOADMOTOR_UP RLOADING \tFail\n");
- return "Fail";
- }
- Thread.Sleep(1000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading
- Thread.Sleep(1000);
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14
-
- return "Pass";;
-
-}
-//-------------------------------------------------------------
-int Test_RDRIVING_RTFU()
-{
- int temp=1;
- int counter;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDRIVING_Motor, true,200); //move Rdriving clockwise
-
- DialogResult result1 = MessageBox.Show("Are RDRIVING_Motor move clockwise ?","Important Question",MessageBoxButtons.YesNo);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor, 3); //hold Rloading
- if (result1==DialogResult.Yes)
- {
- stubManager.AppendToFile(File_Name1,"RDRIVING_RTFU\tPass");
- stubManager.Write("RDRIVING_RTFU\tPass\n");
- return 1;
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"RDRIVING_RTFU\tFail");
- stubManager.Write("RDRIVING_RTFU\tFail\n");
- return 0;
- }
-}
-//--------------------------------------------------------------------------------
-
-
-//--------------------------------------------------------------------------------
-
-//--------------------------------------------------------------------------------
-
-
-//--------------------------------------------------------------------------------
-
-// Display the form as a modal dialog box.
-
-// ParaData1 shall be left justified i.e. <cmd><Byte0><Byte1><Byte2>
-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));
- //Fpga_Read_Reg(Fpga, HighAdr+4, 1);
- //Fpga_Read_Reg(Fpga, LowAdr+4, 1);
-
- return 1;
-}
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
deleted file mode 100644
index 0d01c7dbe..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write Flate head eeprom.cs
+++ /dev/null
@@ -1,146 +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 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/Dye head/Write SYLKO to head eeprom.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write SYLKO to head eeprom.cs
deleted file mode 100644
index d7729ca2f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write SYLKO to head eeprom.cs
+++ /dev/null
@@ -1,118 +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 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 adc_write(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
- //--------------------------------------------------------------
-
- stubI2CWriteBytesRequest.BytesTWrite.Add(SerialNum);//S/N
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x03);//HEAD_TYPE_SYLKO
- //stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_STAPLE_SPUN
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- 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++)
- {
-
- adc_write(I2C_Slave_Add,0x00);
- 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/Dye head/magnet_motor_limit_switch1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch1.cs
deleted file mode 100644
index a5a43f137..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch1.cs
+++ /dev/null
@@ -1,75 +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 "Tango_Defines_LimitSwitch.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)
-{
-Int32 Bit = 1;
-
- //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
- SetBit (FPGA2, F2_CTRL, 0, 1);
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+0);
-
- stubManager.Write("\nTesting SSR no. 13 of magnet or motor driver");
- Thread.Sleep(1000);
-
-var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, true, 150);
-
-
- stubManager.Write("\n*** Open Lid Head ");
- Bit = 1;
-
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,7);
- Thread.Sleep(50);
- }
- Thread.Sleep(2000);
- stubManager.Write("\n--------1--------");
-
-
- stubManager.Write("\n*** Close Lid Head ");
- Bit = 1;
- response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, false, 150);
-
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,8);
- Thread.Sleep(50);
- }
- Thread.Sleep(100);
- stubManager.Write("\n--------2--------");
-
- response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, true, 0);
-
- SetBit (FPGA2, F2_CTRL, 0, 0);
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+2);
- Thread.Sleep(1000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,23,3);
-
-
-// var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,0, true, 50); motor clean
-
-//response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,1, true, 50); motor clean
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs
index ba39cb2b0..264400e64 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs
@@ -73,7 +73,7 @@ public void OnExecute(StubManager stubManager)
for (int i = 0; i<1000; i++)
{
- stubManager.Write("\n----------------------------------------\n");
+ stubManager.Write("----------------------------------------\n");
// Fpga_Read_Reg(FPGA1, F1_Tacho_reg0, 0); stubManager.Write("\n");
// Fpga_Read_Reg(FPGA1, F1_Tacho_reg1, 1); stubManager.Write("\n");
// Fpga_Read_Reg(FPGA1, F1_Tacho_reg2, 1); stubManager.Write("\n");
@@ -83,85 +83,37 @@ public void OnExecute(StubManager stubManager)
var RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg0, 0);
stubManager.Write("\nFan5 Speed-");
stubManager.WriteHex(RetVal.Value,4);
- if (RetVal.Value>0x440 && RetVal.Value<0x4d0)
- stubManager.Write("\t Pass");
- else
- stubManager.Write("\t Fail");
+ RetVal = Fpga_Read_Reg(FPGA1, F1_gpi_FANS, 0);
+ Temp1=RetVal.Value & 0x0001;
+ if (Temp1 !=0x0001)
+ stubManager.Write("\nFan1 Running ");
+ else
+ stubManager.Write("\nFan1 Stop");
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg1, 0);
- stubManager.Write("\nFan1 Speed-");
- stubManager.WriteHex(RetVal.Value,4);
- if (RetVal.Value>0x220 && RetVal.Value<0x300)
- stubManager.Write("\t Pass");
- else
- stubManager.Write("\t Fail");
-
-
-
-
-// RetVal = Fpga_Read_Reg(FPGA1, F1_gpi_FANS, 0);
-// Temp1=RetVal.Value & 0x0001;
-// if (Temp1 !=0x0001)
-// stubManager.Write("\tFan1 Running ");
-// else
-// stubManager.Write("\tFan1 Stop");
-
-
-
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg2, 0);
- stubManager.Write("\nFan2 Speed-");
- stubManager.WriteHex(RetVal.Value,4);
- if (RetVal.Value>0x220 && RetVal.Value<0x300)
- stubManager.Write("\t Pass");
- else
- stubManager.Write("\t Fail");
-
-
-// Temp1=RetVal.Value & 0x0002;
-// if (Temp1 !=0x0002)
-// stubManager.Write("\tFan2 Running ");
-// else
-// stubManager.Write("\tFan2 Stop");
-
-
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg3, 0);
- stubManager.Write("\nFan3 Speed-");
- stubManager.WriteHex(RetVal.Value,4);
- if (RetVal.Value>0x220 && RetVal.Value<0x300)
- stubManager.Write("\t Pass");
- else
- stubManager.Write("\t Fail");
-
-
-// Temp1=RetVal.Value & 0x0004;
-// if (Temp1 !=0x0004)
-// stubManager.Write("\tFan3 Running ");
-// else
-// stubManager.Write("\tFan3 Stop");
+ Temp1=RetVal.Value & 0x0002;
+ if (Temp1 !=0x0002)
+ stubManager.Write("\nFan2 Running ");
+ else
+ stubManager.Write("\nFan2 Stop");
-
-
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg4, 0);
- stubManager.Write("\nFan4 Speed-");
- stubManager.WriteHex(RetVal.Value,4);
- if (RetVal.Value>0x220 && RetVal.Value<0x300)
- stubManager.Write("\t Pass");
- else
- stubManager.Write("\t Fail");
+ Temp1=RetVal.Value & 0x0004;
+ if (Temp1 !=0x0004)
+ stubManager.Write("\nFan3 Running ");
+ else
+ stubManager.Write("\nFan3 Stop");
-
-// Temp1=RetVal.Value & 0x0008;
-// if (Temp1 !=0x0008)
-// stubManager.Write("\tFan4 Running ");
-// else
-// stubManager.Write("\tFan4 Stop");
+ Temp1=RetVal.Value & 0x0008;
+ if (Temp1 !=0x0008)
+ stubManager.Write("\nFan4 Running ");
+ else
+ stubManager.Write("\nFan4 Stop");
-// Fpga_Read_Reg(FPGA1, F1_Tacho_reg5, 1); stubManager.Write("\n");
-// Fpga_Read_Reg(FPGA1, F1_Tacho_reg6, 1); stubManager.Write("\n");
-// Fpga_Read_Reg(FPGA1, F1_Tacho_reg7, 1); stubManager.Write("\n");
-// Fpga_Read_Reg(FPGA2, F2_Tacho_reg0, 1); stubManager.Write("\n");
+ Fpga_Read_Reg(FPGA1, F1_Tacho_reg5, 1); stubManager.Write("\n");
+ Fpga_Read_Reg(FPGA1, F1_Tacho_reg6, 1); stubManager.Write("\n");
+ Fpga_Read_Reg(FPGA1, F1_Tacho_reg7, 1); stubManager.Write("\n");
+ Fpga_Read_Reg(FPGA2, F2_Tacho_reg0, 1); stubManager.Write("\n");
//stubManager.Write("\n\n");
Thread.Sleep(1000);
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/1.cs
index 4100a770c..4100a770c 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/1.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/1.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR.cs
index cb01a86c4..cb01a86c4 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR_CURRENT_SENSE.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR_CURRENT_SENSE.cs
index b9793a336..b9793a336 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR_CURRENT_SENSE.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR_CURRENT_SENSE.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/header_LimitSwitch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/header_LimitSwitch.cs
index 4454e9c63..4454e9c63 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/header_LimitSwitch.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/header_LimitSwitch.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_motor_limit_switch.cs
index 0dcf29853..0dcf29853 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_motor_limit_switch.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magner_ssr.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_ssr.cs
index 54e3f4844..54e3f4844 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magner_ssr.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_ssr.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_JIG.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_JIG.cs
deleted file mode 100644
index f961158e9..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_JIG.cs
+++ /dev/null
@@ -1,574 +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;
-//--------------------------------------------------------------------------------
-
-//-------------------DEFINE Motors------------------
-const Int32 LDANCER_Motor = 16;
-const Int32 LDRIVING_Motor = 18;
-const Int32 LLOADING_Motor = 19;
-
-//-------------------DEFINE Motors Parameters------------------
-
-const Int32 F1_MOTO_LLOADING_TX1 = 0x60000232;
-const Int32 F1_MOTO_LLOADING_TX0 = 0x60000230;
-
-
-//-------------------DEFINE Limit Switch---------------
-const Int32 F1_LS_02_Direct =0x60000030;
-
-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_LDANCER1_ROTENC_MSB = 0x600001c2;
-const Int32 F1_LDANCER1_ROTENC_LSB = 0x600001c0;
-const Int32 F1_LDANCER1_ROTENC_TX = 0x600001ce;
-
-const Int32 F1_LDANCER2_ROTENC_MSB = 0x600001b2;
-const Int32 F1_LDANCER2_ROTENC_LSB = 0x600001b0;
-const Int32 F1_LDANCER2_ROTENC_TX = 0x600001be;
-
-const int UNIT_UNDER_TEST=3+1+5;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\LTFU\\LTFULog\\";
-string path2="C:\\LTFULog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"LS_LLOADMOTOR_Up","Not Test"}, //0
- {"LS_LLOADMOTOR_DOWN","Not Test"}, //1
- {"LLOADING_Motor","Not Test"}, //2
- {"LDRIVING_Motor","Not Test"}, //3
- {"LS_LDANCER1_DOWN","Not Test"}, //4
- {"LS_LDANCER1_UP","Not Test"}, //5
- {"LDANCER_Motor","Not Test"}, //6
- {"LDANCER1_ROTENC","Not Test"}, //7
- {"LDANCER1_ROTENC","Not Test"}, //8
- };
-//-----------------------------------------------------
-string LTFU_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "LTFU Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----LTFU Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" LTFU S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-
-
-
-//--------------------------------------------------------------------------------
-
- button1.Click += (_,__) =>
-
- {
-
- Label5.Text="Pros";
-
- if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
- else
- path=path1;
-
- File_Name1=path + TextBox1.Text +"_LTFU_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
- stubManager.Write(File_Name1 +"\n");
- stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
- stubManager.Write(DateTime.Now +"\n" );
-
- stubManager.AppendToFile(File_Name1,"LTFU Test Report" );
- stubManager.Write("LTFU Test Report\n" );
-
- stubManager.AppendToFile(File_Name1,"LTFU S/N: \t" + TextBox1.Text );
- stubManager.Write("LTFU S/N:" + TextBox1.Text +"\n" );
-
-
- stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
- stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-//------------------------------- start test -----------
- Test_LLOADING_LTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold LRoading high z
- Thread.Sleep(100);
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
- Test_LDRIVING_LTFU();
-
- Test_DANCER_LTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER_Motor, 3); //hold Lloading high z
-
- Status=write_to_file();
- stubManager.Write(Status +"\n");
-
- Label5.Text=Status;
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
-
- //------------------------------------
-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
- Thread.Sleep(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Rloading down
- Thread.Sleep(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(1000);
-//------------------------------------------ check F1_LS_LLOADMOTOR_UP------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
- if ((response.Value & F1_LS_LLOADMOTOR_UP) !=F1_LS_LLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did LLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LLOADMOTOR\tFail\n");
- return 0;
- }
- }
-//----------------------------------------- mov LLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor,true,200); //move Lloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_LLOADMOTOR_UP) != F1_LS_LLOADMOTOR_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- if (counter == 150)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_LLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
-
- if ((response.Value & F1_LS_LLOADMOTOR_DN) !=F1_LS_LLOADMOTOR_DN ) //if LS_LLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov LLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Lloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_LLOADMOTOR_DN) != F1_LS_LLOADMOTOR_DN )
- counter=250;
-
- Thread.Sleep(100);
- }
-
- if (counter == 150)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN\tFail\n");
- return 0;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- DialogResult result4 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result4 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("LLOADMOTOR\tPass\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Lloading down
- Thread.Sleep(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- return 1 ;
-
-}
-
-
-Int32 ReadEncoder(int i)
-{
- Int32 temp;
-
- if (i==0) //LDANCER1_ROTENC
- {
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_LDANCER1_ROTENC_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER1_ROTENC_LSB);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER1_ROTENC_MSB);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
- }
- //LDANCER2_ROTENC
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_LDANCER2_ROTENC_TX, 0x0000); //triggers a TX transmission
- var response2 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER2_ROTENC_LSB);
- var response3 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER2_ROTENC_MSB);
-
- temp = Convert.ToInt32 (((((response3.Value <<16) + response2.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_LTFU()
-{
- int counter;
- Int32 temp;
- Int32 temp1;
- Int32 temp2;
- Int32 temp3;
-
-
-//------------------------------------------ check F1_LS_LDANCER1_DN ------------------------------------------------
-
- MessageBox.Show("Make sure LDANCER Doun");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
-
-
- if ((response.Value & F1_LS_LDANCER1_UP) !=F1_LS_LDANCER1_UP ) //if F1_LS_LDANCER1_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER_UP\tFail\n");
- return 0;
- }
-
-//----------------------------------------- check F1_LS_LDANCER1_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER_Motor,false,400); //move Lloading up
- counter =0;
- while ( counter < 250)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LDANCER1_UP is up then move down
- if ((response.Value & F1_LS_LDANCER1_UP) != F1_LS_LDANCER1_UP )
- counter=350;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER_Motor, 3); //hold Ldancer high z
-
-
- if (counter == 250)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER1_UP\tFail\n");
- return 0;
- }
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
- if ((response.Value & F1_LS_LDANCER1_DN) !=F1_LS_LDANCER1_DN ) //if F1_LS_LDANCER1_DN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_LDANCER1_DOWN\tFail\n");
- return 0;
- }
-
- DialogResult result5= MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result5== DialogResult.No)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER1_UP Not calibrate\n");
- return 0;
- }
-
- Units_status[5,1]="Pass";
- stubManager.Write("LS_LDANCER1_UP\tPass\n");
-
-//----------------------------------------- mov LDANCER_Motor down and check Ldancer encoder -------------------------------------------------
- temp= ReadEncoder(0);
- temp2= ReadEncoder(1);
-
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER_Motor,true,400); //move Rloading down
- counter =0;
- while ( counter < 250)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LDANCER1_DN is dn then move stop
- if ((response.Value & F1_LS_LDANCER1_DN) != F1_LS_LDANCER1_DN )
- counter=350;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER_Motor, 3); //hold Rloading high z
- if (counter == 250)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_LDANCER1_DOWN\tFail\n");
- return 0;
- }
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result2 == DialogResult.No)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_LDANCER1_DN Not calibrate\n");
- return 0;
- }
-
- Units_status[4,1]="Pass";
- stubManager.Write("LS_LDANCER1_DN\tPass\n");
-
- Units_status[6,1]="Pass";
- stubManager.Write("LDANCER_Motor\tPass\n");
-
- temp1= ReadEncoder(0);
- temp3= ReadEncoder(1);
-
- stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
-
- DialogResult result = MessageBox.Show("SSI Dancer1 led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[7,1]="Fail";
- stubManager.Write("LDANCER1_SSI\tFail\n");
- }
- else
- {
- if (temp>temp1)
- temp1=temp1+0x4000;
- temp1=temp1-temp;
- if ((temp1> 4000) || (temp1 <200))
- {
- Units_status[7,1]="Fail";
- stubManager.Write("LDANCER1_SSI\tFail\n");
- }
- else
- {
- Units_status[7,1]="Pass";
- stubManager.Write("LDANCER1_SSI\tPass\n");
- }
- }
- stubManager.Write("temp2="+temp2 + "\temp3="+temp3 +"\n");
-
- DialogResult result3 = MessageBox.Show("SSI Dancer2 led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("LDANCER2_SSI\tFail\n");
- }
- else
- {
- if (temp3>temp2)
- temp2=temp2+0x4000;
- temp2=temp2-temp3;
- if ((temp1> 4000) || (temp1 <2000))
- {
- Units_status[8,1]="Fail";
- stubManager.Write("LDANCER2_SSI\tFail\n");
- }
- else
- {
- Units_status[8,1]="Pass";
- stubManager.Write("LDANCER2_SSI\tPass\n");
- }
- }
- return 1;
-}
-
-
-//-------------------------------------------------------------
-int Test_LDRIVING_LTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDRIVING_Motor, true,200); //move Ldriving clockwise
- stubManager.Write("LDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are LDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("LDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("LDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
-
-//--------------------------------------------------------------------------------
-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;
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------LTFU Fail ------------ ");
- stubManager.Write("-------------LTFU Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------LTFU Pass ------------ )");
- stubManager.Write("-------------LTFU Pass ------------ ");
- }
-
- return Stemp;
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch.cs
index 9955e0e5d..7578e825d 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch.cs
@@ -14,8 +14,6 @@ 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"
@@ -23,108 +21,15 @@ include "Tango_Defines_LimitSwitch.cs"
public void OnExecute(StubManager stubManager)
{
-Int32 Bit = 1;
+
stubManager.Write("\n*** LTFU Motor + limit switch Test ***");
+// stubManager.Write("\n*** Pulling motor drivers out of reset");
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);
-
-
-
-
-
-/*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ stubManager.Write("\n*** F1_MOTO_LPIVOT1 is moving back and forth ");
@@ -202,7 +107,7 @@ response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16, true
// Thread.Sleep(4000);
stubManager.Write("\n\n*** RTFU Motor Test Ended ***");
- */
+
}
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
new file mode 100644
index 000000000..9955e0e5d
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch1.cs
@@ -0,0 +1,208 @@
+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
deleted file mode 100644
index ebd2cf414..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position.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/LTFU_SSI.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_SSI.cs
index 94873f9f4..3218dbd83 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_SSI.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_SSI.cs
@@ -31,64 +31,18 @@ public void OnExecute(StubManager stubManager)
for (int i = 0; i < 100; i++)
{
-
- stubManager.Write("LDANCER1 - "+ ReadEncoder(0)+ "\t\t LDANCER2 - " + ReadEncoder(1) + "\n" );
-
-
-
+
+ SSI_Read_Write(FPGA1, F1_LDANCER1_ROTENC_MSB, F1_LDANCER1_ROTENC_LSB, F1_LDANCER1_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(400);
}
}
-
-
-Int32 ReadEncoder(int i)
-{
- Int32 temp;
-
- if (i==0) //LDANCER1_ROTENC
- {
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600001ce, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x600001c0);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x600001c2);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
- }
- //LDANCER2_ROTENC
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600001be, 0x0000); //triggers a TX transmission
- var response2 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x600001b0);
- var response3 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x600001b2);
-
- temp = Convert.ToInt32 (((((response3.Value <<16) + response2.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
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
deleted file mode 100644
index de14d455f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/Test_Loading_TFU.cs
+++ /dev/null
@@ -1,155 +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;
-
-
-
-
-//-------------------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/auto shutt off.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/test.cs
index 8fd9963c2..397c6fbd4 100644
--- a/Software/Stubs Collection/stubs/Scripts/auto shutt off.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/test.cs
@@ -10,19 +10,16 @@ using System.Collections.Generic;
using Tango.PMR.Stubs;
using Tango.Stubs;
-public void OnExecute(StubManager stubManager)
-{
-
- while (true)
-
- {
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600004e2, 0x800);
- Thread.Sleep(50);
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_LimitSwitch.cs"
-
-
- }
+public void OnExecute(StubManager stubManager)
+{
+ Int32 Bit = 1;
+ //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
+ SetBit (FPGA2, F2_CTRL, 0, 1);
+ stubManager.Write("\nTesting SSR no. 13 of magnet");
+ Thread.Sleep(4000);
} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs
deleted file mode 100644
index 7c0243c49..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs
+++ /dev/null
@@ -1,347 +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.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;
-
-
-
-const Int32 F3_VALVE_OUT = 0x600008E2 ;
-string Machine_SN ;
-private const string FILE_PATH = "P:\\Operations\\Log\\Midtanlk\\";
-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] "};
-
-//----------------------
-const Int32 I2C_ID = 2;
-//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
-//----------------------
-
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-
- 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 response = stubManager.ShowResponseWindow("Enter Machine S/N: ", "");
- stubManager.Write("\n");
- Machine_SN = response;
- stubManager.Write(Machine_SN);
- File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".LOG";
- stubManager.Write(File_name);
- stubManager.WriteToFile(File_name,"Machine S/N:" + Machine_SN);
-
- string box_msg = "Make Sure all Midatnk empty";
- // string box_title = "Midatnk empty";
-// MessageBox.Show(box_msg, box_title);
- 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;
-
- calc_slop();
- print_table();
-
- insert_slop_t_eeprom();
- 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()
-{
- 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);
-
-
-
- }
-
-
-
-
-/*
-MidTankData midTankData = new MidTankData();
-midTankData.MidTankId = 0;
-midTankData.InitialOffsetA = 0.1;
-midTankData.SlopeB = 0.1;
-
-MidTankData midTankData1 = new MidTankData();
-midTankData1.MidTankId = 1;
-midTankData1.InitialOffsetA = 0.11;
-midTankData1.SlopeB = 0.11;
-
-MidTankData midTankData2 = new MidTankData();
-midTankData2.MidTankId = 2;
-midTankData2.InitialOffsetA = 0.2;
-midTankData2.SlopeB = 0.2;
-
-MidTankData midTankData3 = new MidTankData();
-midTankData3.MidTankId = 3;
-midTankData3.InitialOffsetA = 0.3;
-midTankData3.SlopeB = 0.3;
-
-MidTankData midTankData4 = new MidTankData();
-midTankData4.MidTankId = 4;
-midTankData4.InitialOffsetA = 0.4;
-midTankData4.SlopeB = 0.4;
-
-MidTankData midTankData5 = new MidTankData();
-midTankData5.MidTankId = 5;
-midTankData5.InitialOffsetA = 0.5;
-midTankData5.SlopeB = 0.5;
-
-MidTankData midTankData6 = new MidTankData();
-midTankData6.MidTankId = 6;
-midTankData6.InitialOffsetA = 0.6;
-midTankData6.SlopeB = 0.6;
-
-
-MidTankData midTankData7 = new MidTankData();
-midTankData6.MidTankId = 7;
-midTankData6.InitialOffsetA = 0.7;
-midTankData6.SlopeB = 0.7;
-
-
-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);
-*/
-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;
-
- }
-
-
-
-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;
- }
-
-
-
-
-int adc_read_ch(uint I2C_Slave_Add,uint table_index_x,uint table_index_y)
- {
- 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);
-
- voltage_array[table_index_x,table_index_y]=calc1;
-
- return 1;
- }
-
-int read_pressure_sensor(uint i )
- {
-
- stubManager.Write("\n-----------MIDTANK_PRESSESENS-------test_no= "+i);
-
- stubManager.Write("\n1_1= ");
-
- adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,1,i);
-
- stubManager.Write("\n2_1= ");
- adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,2,i);
-
- stubManager.Write("\n3_1= ");
- adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,3,i);
-
- stubManager.Write("\n4_1= ");
- adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,4,i);
-
- stubManager.Write("\n1_2= ");
- adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,5,i);
-
- stubManager.Write("\n2_2= ");
- adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,6,i);
-
- stubManager.Write("\n3_2= ");
- adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,7,i);
-
- stubManager.Write("\n4_2= ");
- adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,8,i);
-
- return 1;
- }
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
deleted file mode 100644
index 4b9e73f00..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Motor Frequency.csv
+++ /dev/null
@@ -1,19 +0,0 @@
-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
deleted file mode 100644
index 2ff983a1b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Pressure.csv
+++ /dev/null
@@ -1,55 +0,0 @@
-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
deleted file mode 100644
index 1bf9584f3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Motor Frequency.csv
+++ /dev/null
@@ -1,19 +0,0 @@
-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
deleted file mode 100644
index 88c664efe..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Pressure.csv
+++ /dev/null
@@ -1,55 +0,0 @@
-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
deleted file mode 100644
index bdc3c7c8d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Motor Frequency.csv
+++ /dev/null
@@ -1,19 +0,0 @@
-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
deleted file mode 100644
index 8f0a93237..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Pressure.csv
+++ /dev/null
@@ -1,55 +0,0 @@
-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
deleted file mode 100644
index 5080effe1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Feeder Motor.csv
+++ /dev/null
@@ -1,55 +0,0 @@
-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_JIG.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/MIDTANK_JIG.cs
deleted file mode 100644
index 6b864dfee..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/MIDTANK_JIG.cs
+++ /dev/null
@@ -1,480 +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;
-using System.Timers;
-
-
-// private static System.Timers.Timer aTimer;
-
-//--------------------------------------------------------------------------------
-const Int32 I2C_ID = 2;
-const int UNIT_UNDER_TEST =3*8;
-const Int32 F3_VALVE_OUT = 0x600008e2;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\MidTank\\MidTankLog\\";
-string path2="C:\\MidTankLog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-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},
- };
-
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"Midtank1_Valve_Air","Not Test"}, //0
- {"Midtank1_Valve_Ink","Not Test"}, //1
- {"Midtank1_Pressure_Sensor","Not Test"}, //2
- {"Midtank2_Valve_Air","Not Test"}, //3
- {"Midtank2_Valve_Ink","Not Test"}, //4
- {"Midtank2_Pressure_Sensor","Not Test"}, //5
- {"Midtank3_Valve_Air","Not Test"}, //6
- {"Midtank3_Valve_Ink","Not Test"}, //7
- {"Midtank3_Pressure_Sensor","Not Test"}, //8
- {"Midtank4_Valve_Air","Not Test"}, //9
- {"Midtank4_Valve_Ink","Not Test"}, //10
- {"Midtank4_Pressure_Sensor","Not Test"}, //11
- {"Midtank5_Valve_Air","Not Test"}, //12
- {"Midtank5_Valve_Ink","Not Test"}, //13
- {"Midtank5_Pressure_Sensor","Not Test"}, //14
- {"Midtank6_Valve_Air","Not Test"}, //15
- {"Midtank6_Valve_Ink","Not Test"}, //16
- {"Midtank6_Pressure_Sensor","Not Test"}, //17
- {"Midtank7_Valve_Air","Not Test"}, //18
- {"Midtank7_Valve_Ink","Not Test"}, //19
- {"Midtank7_Pressure_Sensor","Not Test"}, //20
- {"Midtank8_Valve_Air","Not Test"}, //21
- {"Midtank8_Valve_Ink","Not Test"}, //22
- {"Midtank8_Pressure_Sensor","Not Test"}, //23
- };
-//-----------------------------------------------------
-string MIDTANK_Sn;
-//--------------------------------------------------------------------------------
- // private static void SetTimer()
- // {
- // // Create a timer with a one second interval.
- // aTimer = new System.Timers.Timer(1000);
-// // Hook up the Elapsed event for the timer.
-// aTimer.Elapsed += OnTimedEvent;
-// aTimer.AutoReset = true;
-// aTimer.Enabled = true;
-// }
-
-// private static void OnTimedEvent(Object source, ElapsedEventArgs e)
- // {
-// bool x=0;
-// if (x==true)
-// Label5.Text="Pros";
-// else
-//// Label5.Text=" ";
-// x = !x ;
-//
-// }
-
-
-
-
-
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "MIDTANK Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----MIDTANK Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" MIDTANK S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-//----------------------------
-
-bool BlinkOn = false;
-
-
-
-//--------------------------------------------------------------------------------
-
- button1.Click += (_,__) =>
-
- {
-// SetTimer();
-
-// Label5.Text="Pros";
-
-
-
-
-//--------------------------------------------------------------------------------
-
-
-
-
- Label5.Text = "Pros";
- // if (_click)
- // _show_text.Text = "Fail";
- // else
- // _show_text.Text = "Pass";
-
- // _click = !_click;
- // TextBox1.Text = "";
-
-
-
-//--------------------------------------------------------------------------------
-
-
-
- if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
- else
- path=path1;
-
- File_Name1=path + TextBox1.Text +"_MIDTANK_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
- stubManager.Write(File_Name1 +"\n");
- stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
- stubManager.Write(DateTime.Now +"\n" );
-
- stubManager.AppendToFile(File_Name1,"MIDTANK Test Report" );
- stubManager.Write("MIDTANK Test Report\n" );
-
- stubManager.AppendToFile(File_Name1,"MIDTANK S/N: \t" + TextBox1.Text );
- stubManager.Write("MIDTANK S/N:" + TextBox1.Text +"\n" );
-
-
- stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
- stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-//------------------------------- start test -----------
- Test_MIDTANK();
-
- Status=write_to_file();
- stubManager.Write(Status +"\n");
-
- Label5.Text=Status;
-
- // _show_text.Text =Status;
-
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
-
- //------------------------------------
-int Test_MIDTANK()
-{
- double Pressur_Volt;
- double temp;
- for (Int32 i=1;i<9;i++)
- {
- open_valve(i,0,1) ; //open Air valve
- open_valve(i,1,1) ; //open Ink valve
- Thread.Sleep(2000);
- Pressur_Volt=read_pressuere_sense(i);
- if ((Pressur_Volt>3 )||(Pressur_Volt<2))
- {
- Units_status[(i-1)*3+2,1]="Fail";
- stubManager.Write("pressuere_sense of midtank" + i +"\tFail\n");
- }
- else
- {
- close_valve(i,1,0) ; //close Ink valve
- DialogResult result = MessageBox.Show("ADD 20cc air thru Air valve of Midtank"+ i, "Warning");
- close_valve(i,0,0) ; //close Air valve
- Thread.Sleep(2000);
-
- temp=read_pressuere_sense(i);
- temp=temp-Pressur_Volt;
- if ((temp>0.5) && ( temp <2))
- Units_status[(i-1)*3+2,1]="Pass";
- else
- Units_status[(i-1)*3+2,1]="Fail";
- }
-
- close_valve(i,0,0) ; //close Air valve
- close_valve(i,1,0) ; //close Ink valve
- }
- return 1;
-}
-
-double read_pressuere_sense(Int32 Midtank_Nm)
-{
-double Pressur_Volt;
- adc_configuration((ADC_Add_Chnl[Midtank_Nm-1,0]),(ADC_Add_Chnl[Midtank_Nm-1,1]) ); //configure address and channel of midtank
- adc_set_for_read_ch(ADC_Add_Chnl[Midtank_Nm-1,0]);
- Pressur_Volt =adc_read_ch(ADC_Add_Chnl[Midtank_Nm-1,0]);
-
- stubManager.Write("pressure sense of midtank " + Midtank_Nm + "is " + Pressur_Volt+ "Volt\n");
- return Pressur_Volt;
-}
-
-
-//--------------------------------
-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;
- 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;
- return calc1;
- }
-//--------------------------------
-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;
-
-
-
-
-}
-//--------------------------------
-Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
-{
- Int32 BitMask;
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" , F3_VALVE_OUT);
- Int32 RV = (Int32) response.Value & 0xffff;
-
-
- if (Bit == 0x1)
- {
- BitMask = 0x1 << BitNo;
- RV = RV | BitMask;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT , RV);
- }
- else if (Bit == 0x0)
- {
- BitMask = ~(0x1 << BitNo);
- RV = RV & BitMask;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT , RV);
- }
- return 1;
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------MidTank Fail ------------ ");
- stubManager.Write("-------------MidTank Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------MidTank Pass ------------ )");
- stubManager.Write("-------------MidTank Pass ------------ ");
- }
-
- return Stemp;
-
-}
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
deleted file mode 100644
index bacbfdcc1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_Valves_test.cs
+++ /dev/null
@@ -1,65 +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 "..\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/Midtank_pressure_sensors.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_pressure_sensors.cs
index e2bacf5f4..682ef322d 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_pressure_sensors.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_pressure_sensors.cs
@@ -90,7 +90,6 @@ int adc_set_for_read_ch(uint I2C_Slave_Add)
}
-
int adc_read_ch(uint I2C_Slave_Add)
{
StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
@@ -99,27 +98,16 @@ int adc_read_ch(uint I2C_Slave_Add)
stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- UInt32 temph=0;
- UInt32 templ=0;
- UInt32 temp;
- double calc;
- double calc1;
+ uint temph=0;
+ uint templ=0;
+ uint temp;
for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i=i+2)
{
temph=response1.ReadBytes[i];
templ=response1.ReadBytes[i+1];
temp = (temph << 8) | templ;
temp=temp & 0x0fff;
-
- calc = (double)temp *2.5 / 4096.0;
- calc1 = (1.96- calc) * 4.64 + 1.96;
-
-
- // temp=temp*3300;
- // temp=temp/4096;
-
- stubManager.Write(calc1);
- stubManager.Write("mV\n");
+ stubManager.WriteHex(temp,4);
}
@@ -133,49 +121,47 @@ public void OnExecute(StubManager stubManager)
{
- stubManager.Write("-----------MIDTANK_PRESSESENS-----------\n ");
+ stubManager.Write("\n-----------MIDTANK_PRESSESENS----------- ");
- stubManager.Write("Midtank-1= ");
+ stubManager.Write("\n1_1= ");
adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
+// adc_set_for_read_temp(0x44);
+// adc_read_temp(0x44);
+ adc_set_for_read_ch(0x44);
+ adc_read_ch(0x44);
+
+ stubManager.Write("\n1_2= ");
+ adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
adc_set_for_read_ch(0x44);
adc_read_ch(0x44);
-
- stubManager.Write("Midtank-2= ");
+ stubManager.Write("\n2_1= ");
adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
adc_set_for_read_ch(0x44);
adc_read_ch(0x44);
+ stubManager.Write("\n2_2= ");
+ adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
+ adc_set_for_read_ch(0x44);
+ adc_read_ch(0x44);
- stubManager.Write("Midtank-3= ");
+ stubManager.Write("\n3_1= ");
adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
adc_set_for_read_ch(0x46);
adc_read_ch(0x46);
-
- stubManager.Write("Midtank-4= ");
- adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
+
+ stubManager.Write("\n3_2= ");
+ adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
adc_set_for_read_ch(0x46);
adc_read_ch(0x46);
-
-
- stubManager.Write("Midtank-5= ");
- adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44);
-
- stubManager.Write("Midtank-6= ");
- adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44);
-
- stubManager.Write("Midtank-7= ");
- adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
+ stubManager.Write("\n4_1= ");
+ adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
adc_set_for_read_ch(0x46);
adc_read_ch(0x46);
- stubManager.Write("Midtank-8= ");
+ stubManager.Write("\n4_2= ");
adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
adc_set_for_read_ch(0x46);
adc_read_ch(0x46);
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
deleted file mode 100644
index 00ca4e8eb..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs
+++ /dev/null
@@ -1,451 +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 = "+ StartPoint +" \n");
- stubManager.Write("\n FullPoint = "+ FullPoint +" \n");
-
- StartPoint=FullPoint-StartPoint;
- StartPoint=1000*StartPoint/Full_Cartridge;
-
- stubManager.Write("\n slop = "+ StartPoint +" \n");
-
- 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);
-
-
- 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
deleted file mode 100644
index e42f3c309..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Poller Motor.csv
+++ /dev/null
@@ -1,55 +0,0 @@
-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
deleted file mode 100644
index 9efc47b7e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Right Dancer.csv
+++ /dev/null
@@ -1,541 +0,0 @@
-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
deleted file mode 100644
index ac6f709b1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Screw Motor.csv
+++ /dev/null
@@ -1 +0,0 @@
-Time,Screw Motor
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs
deleted file mode 100644
index d3aa81e83..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.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/MidTank/read_midtank_calibration.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/read_midtank_calibration.cs
deleted file mode 100644
index 469772888..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/read_midtank_calibration.cs
+++ /dev/null
@@ -1,37 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- int i;
-
- for(i=0;i<8;i++)
- {
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xA, i);
- stubManager.Write("\n Initial_Offset_A [#");
- stubManager.Write(i);
- stubManager.Write("] = ");
- stubManager.WriteLine(response.Progress);
- }
-
- for(i=0;i<8;i++)
- {
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB, i);
- stubManager.Write("\n Slope_B [#");
- stubManager.Write(i);
- stubManager.Write("] = ");
- stubManager.WriteLine(response1.Progress);
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs
deleted file mode 100644
index f9555a05b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs
+++ /dev/null
@@ -1,42 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- int sleep_up=2000;//2 second
- int sleep_dn=2000;//2 second
- var response = stubManager.ShowResponseWindow("Enter Loop Number for Actuator.", "");
- //stubManager.WriteLine(response);
- int Loop_Nm = int.Parse(response);
-
- for (int i=0;i<Loop_Nm;i++)
- {
-
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down
- Thread.Sleep(sleep_dn);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
- Thread.Sleep(sleep_dn);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf001); //mov ACTUATOR-IN up
- Thread.Sleep(sleep_up);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUT down
- Thread.Sleep(sleep_up);
-
- }
- // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUTdown
- // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs
deleted file mode 100644
index 110a0f09b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs
+++ /dev/null
@@ -1,145 +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;
-
-const Int32 DyeingHeadLid_Motor = 2;
-
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
- var response = stubManager.ShowResponseWindow("Enter Loop Number for Dye Head Lead.", "");
- //stubManager.WriteLine(response);
- int Loop_Nm = int.Parse(response);
-
- for (int i=0;i<Loop_Nm;i++)
- {
- if (Test_Magnet_Motor_LS_New_DyeHead() != 0 )
- {
- i=Loop_Nm;
- stubManager.Write("Error");
- }
- Thread.Sleep(2000);
- }
-}
-
-//-------------------------------------------------------------
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_New_DyeHead()
-{
- Int32 temp;
- int i=0;
-
-//---------------------- open Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_OPEN); // turn magnet on
- Thread.Sleep(100);
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_EN); // magnet enable
- Thread.Sleep(100);
-
- Thread.Sleep(1000);
-//---------------------- chekc Magnet is open ----------------------------
-// DialogResult result = MessageBox.Show("Make shure, Magnet is open and DyeHead cover on front.", "Warning",MessageBoxButtons.YesNo);
-// if(result == DialogResult.No)
-// {
-// stubManager.Write("Magnet is close\n");
-// return 0;
-// }
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp != 0)
- {
- stubManager.Write("LS_UPPER of Magnet is close\n");
- return 1;
- }
- stubManager.Write("Magnet is Open\n");
-
-
-//---------------------- 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
- Thread.Sleep(50);
-
- i++;
- }
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- if(i==200)
- {
- stubManager.Write("LS_REAR Not calibrate\n");
- return 1;
- }
-
-//---------------------- 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
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- if(i==200)
- {
- stubManager.Write("LS_FRONT Not calibrate\n");
- return 1;
- }
-//---------------------- Close Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_CLOSE); // turn magnet off
- Thread.Sleep(2000);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_DIS); // magnet Disable
-
- stubManager.Write("Magnet is Close\n");
- Thread.Sleep(1000);
-
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp == 0)
- {
- stubManager.Write("LS_UPPER of Magnet is open\n");
- return 1;
- }
- stubManager.Write("LS_UPPER of Magnet is close\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
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs
deleted file mode 100644
index 397999f12..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs
+++ /dev/null
@@ -1,97 +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_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_LimitSwitch.cs"
-
-//MF 23092018 2 spare LS not include
-
-const Int32 F3_CARTx_PRES_02_Direct = 0x60000870;
-const Int32 F3_LOW_Cart_Led1 = 0x60000ba4;
-const Int32 F3_High_Cart_Led1 = 0x60000ba6;
-const Int32 F3_LOW_Cart_Led2 = 0x60000ba8;
-const Int32 F3_High_Cart_Led2 = 0x60000baa;
-const Int32 F3_LOW_Cart_Led3 = 0x60000bac;
-const Int32 F3_High_Cart_Led3 = 0x60000bae;
-
-const Int32 F3_PreScalar_Leds = 0x60000be8;
-
-
-public void OnExecute(StubManager stubManager)
-{
-
- uint Temp = 0;
- uint Temp1 = 0;
- int counter = 0;
- stubManager.Write("\nReading register F3_CARTx_PRES_02_Direct: ");
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led1,100);//Low 8 bit
-
-var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_PreScalar_Leds,250);
- stubManager.WriteHex(response.Value,4);
- Temp = response.Value;
- stubManager.Write("\nActivate limit switches one-by-one");
-
- while ( counter != 1000)
- {
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_CARTx_PRES_02_Direct);
-
-
-
- if (response.Value != Temp)
- {
- stubManager.WriteHex(response.Value,4);
-
-
- Temp1=response.Value & 0x080;
- if (Temp1 ==0x0080)
- {
- stubManager.Write("\nCART1_PRES");
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led1,255);//Low 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led1,255);//High 8 bit
-
-
- }
- Temp1=response.Value & 0x0040;
- if (Temp1 ==0x0040)
- {
- stubManager.Write("\nCART2_PRES");
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led2,255);//Low 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led2,255);//High 8 bit
- }
-
- Temp1=response.Value & 0x0020;
- if (Temp1 ==0x0020)
- {
- stubManager.Write("\nCART3_PRES");
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led3,255);//Low 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led3,255);//High 8 bit
- }
-
-
- counter = counter + 1;
- }
- Thread.Sleep(1000);
- Temp = response.Value;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led1,10);//Low 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led1,1);//High 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led2,10);//Low 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led2,1);//High 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led3,10);//Low 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led3,1);//High 8 bit
-
- }
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs
deleted file mode 100644
index 2c51aebe7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-sing 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_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_LimitSwitch.cs"
-
-//MF 23092018 2 spare LS not include
-
-const Int32 F3_GPI_01_Direct = 0x60000820;
-
-public void OnExecute(StubManager stubManager)
-{
-
- uint Temp = 0;
- uint Temp1 = 0;
- int counter = 0;
- stubManager.Write("\nReading register F3_GPI_01_Direct: ");
-
-var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_GPI_01_Direct);
- stubManager.WriteHex(response.Value,4);
- Temp = response.Value;
- stubManager.Write("\nActivate limit switches one-by-one");
-
- while ( counter != 1000)
- {
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_GPI_01_Direct);
-
-
-
- if (response.Value != Temp)
- {
- stubManager.WriteHex(response.Value,4);
-
-
- Temp1=response.Value & 0x0008;
- if (Temp1 ==0x0008)
- {
- stubManager.Write("\nF3_GPI_PANSW6");
-
- }
- Temp1=response.Value & 0x0010;
- if (Temp1 ==0x0010)
- {
- stubManager.Write("\nF3_GPI_PANSW5");
- }
-
- Temp1=response.Value & 0x0020;
- if (Temp1 ==0x0020)
- {
- stubManager.Write("\nF3_GPI_PANSW4");
- }
-
- Temp1=response.Value & 0x0040;
- if (Temp1 ==0x0040)
- {
- stubManager.Write("\nF3_GPI_PANSW3");
- }
-
- Temp1=response.Value & 0x0080;
- if (Temp1 ==0x0080)
- {
- stubManager.Write("\nF3_GPI_PANSW2");
- }
-
-
- Temp1=response.Value & 0x0100;
- if (Temp1 ==0x0100)
- {
- stubManager.Write("\nF3_GPI_PANSW1");
- }
-
-
-
- counter = counter + 1;
- }
- Thread.Sleep(1000);
- Temp = response.Value;
-
- }
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.cs
deleted file mode 100644
index 9b741d981..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.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_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_LimitSwitch.cs"
-
-
-
-public void OnExecute(StubManager stubManager)
-{
- uint Temp = 0;
- uint Temp1 = 0;
- int counter = 0;
- stubManager.Write("\nReading register F3_GPI_01_Direct: ");
- var RetVal = Fpga_Read_Reg(FPGA3, F3_GPI_01_Direct, 0);
- stubManager.WriteHex(RetVal.Value,4);
- Temp = RetVal.Value;
- stubManager.Write("\nActivate Tamper switches one-by-one");
-
- while ( counter != 100000)
- {
- RetVal = Fpga_Read_Reg(FPGA3, F3_GPI_01_Direct, 0);
- if (RetVal.Value != Temp)
- {
- stubManager.Write("\nRegister F3_GPI_01_Direct new value: ");
- stubManager.WriteHex(RetVal.Value, 4);
-
- Temp1=RetVal.Value & 0x0008;
- if (Temp1 !=0x0008)
- stubManager.Write("\nPANSW6");
-
-
- Temp1=RetVal.Value & 0x0010;
- if (Temp1 !=0x0010)
- stubManager.Write("\nPANSW5");
-
- Temp1=RetVal.Value & 0x0020;
- if (Temp1 !=0x0020)
- stubManager.Write("\nPANSW4");
-
- Temp1=RetVal.Value & 0x0040;
- if (Temp1 !=0x0040)
- stubManager.Write("\nPANSW3");
-
- Temp1=RetVal.Value & 0x0080;
- if (Temp1 !=0x0080)
- stubManager.Write("\nPANSW2");
-
- Temp1=RetVal.Value & 0x0100;
- if (Temp1 !=0x0100)
- stubManager.Write("\nPANSW1");
-
-
- counter = counter + 1;
- }
- Thread.Sleep(100);
- Temp = RetVal.Value;
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs
deleted file mode 100644
index 28d6f69fc..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs
+++ /dev/null
@@ -1,38 +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"
-
-//----------------------
-const Int32 I2C_ID = 2;
-//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
-//----------------------
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-
- UInt32 temp=0;
-
-
- //Write F2_GPO_CHILLER_SSR9_CTRL SSR/SSR no. 9
- SetBit (FPGA2, F2_CTRL, 2, 1);
- stubManager.Write("\tTesting SSR no. 9\tCHILLER\t");
- Thread.Sleep(10000);
- SetBit (FPGA2, F2_CTRL, 2, 0);
-
-
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs
deleted file mode 100644
index ebe0dbf0f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs
+++ /dev/null
@@ -1,227 +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;
-
-//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 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, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_RUN:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- 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, 0, 0);
- 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, 0, 0);
- 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);
- 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);
- 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);
- 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, 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/PowerStep01/Logger Temprature/Book4.xlsx b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsx
deleted file mode 100644
index ef3a94e64..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsx
+++ /dev/null
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
deleted file mode 100644
index 6ea3df3ad..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Copy of Book4.xlsx
+++ /dev/null
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
deleted file mode 100644
index 0d4bd4d8a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Logger data.xlsx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev2.cs
deleted file mode 100644
index 505444080..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev2.cs
+++ /dev/null
@@ -1,292 +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;
-
-//unmark Auto logging !
-
-//General Configuration
-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_ADC_OUT = 0x12;
-const Int32 x_OCD_TH = 0x13;
-const Int32 x_FS_SPD = 0x15;
-const Int32 x_STEP_MODE = 0x16;
-const Int32 x_ALARM_EN = 0x17;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-const Int32 x_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-//VOLTAGE / CURRENT
-const Int32 x_KTVAL_HOLD = 0x09;
-const Int32 x_KTVAL_RUN = 0x0A;
-const Int32 x_KTVAL_ACC = 0x0B;
-const Int32 x_KTVAL_DEC = 0x0C;
-const Int32 x_ST_SLP_T_FAST = 0x0E;
-const Int32 x_FN_SLP_ACC_TON_MIN = 0x0F;
-const Int32 x_FN_SLP_DEC_TOFF_MIN = 0x10;
-
-const Int32 x_INT_SPD = 0x0D;//voltage
-const Int32 x_K_THERM = 0x11;//VOLTAGE
-const Int32 x_STALL_TH = 0x14;//VOLTAGE
-
-//-------------------------------
-const Int32 x_GET_PARAM = 0x20;
-//-------------------------------
-Int32 Start_index = 0; // start from motor
-
-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)
-{
- Int32 i = 0;
-
- Int32 motname = 0;
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9); //7ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003); //ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
- stubManager.Write("MoTor\t\t\tMIN_SPEED\tMAX_SPEED\tSTEP_MODE\tACC\t\tDEC\t\tKTVAL_HOLD\tKTVAL_RUN\tTKVAL_ACC\tTKVAL_DEC\tOCD_TH\t\tSTALL_TH\tFS_SPD\n");
- stubManager.Write("------\t\t\t--------\t--------\t----------\t---\t\t---\t\t----------\t---------\t---------\t---------\t------\t\t--------\t------\n");
- }
- //stubManager.Write(i);
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- stubManager.Write("\n\n");
-
- }
-
-
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
-
- stubManager.Write("MoTor\t\t\tINT_SPD\tST_SLP\t\tSLP_ACC_TON_MIN\tSLP_DEC_TOFF_MIN\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t---------------\t----------------\n");
- }
-
- stubManager.Write(Motor_ID[i]);
-
-// stubManager.Write(i);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP_T_FAST)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC_TON_MIN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC_TOFF_MIN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- stubManager.Write("\n\n");
-
- }
-
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
-
- stubManager.Write("MoTor\t\t\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t\t\t------------\t\t-----------\t\t-------------\t\t------------\n");
- }
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\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\n");
-
-
- }
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
-
- stubManager.Write("MoTor\t\t\tABS_POS\tEL_POS\t\tMARK\t\tSPEED\t\tALARM_EN\tK_THERM\tADC_OUT\tDriver_Type\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t----\t\t-----\t\t--------\t--------\t------\t\t---------\n");
- }
-
- stubManager.Write(Motor_ID[i]);
-
- stubManager.Write("\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("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<24, 0, 0);
- stubManager.WriteHex((response.RecivedData * 1000.0 / 67108.0),4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- if( response.RecivedData > 0x15 && response.RecivedData < 0x1c )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b && response.RecivedData < 0x12 )
- stubManager.Write("\t\tVolage_Driver");
- else if ( response.RecivedData > 8 && response.RecivedData < 0x0a)
- stubManager.Write("\t\tCurrent_Driver");
- else
- stubManager.Write("\t\tNo_Driver");
-
- stubManager.Write("\n\n");
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs
deleted file mode 100644
index 384c079fa..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs
+++ /dev/null
@@ -1,237 +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;
-
-//unmark Auto logging !
-
-//General Configuration
-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;
-//VOLTAGE / CURRENT
-const Int32 x_KTVAL_HOLD = 0x09;
-const Int32 x_KTVAL_RUN = 0x0A;
-const Int32 x_KTVAL_ACC = 0x0B;
-const Int32 x_KTVAL_DEC = 0x0C;
-const Int32 x_INT_SPD = 0x0D;//voltage
-const Int32 x_ST_SLP_T_FAST = 0x0E;
-const Int32 x_FN_SLP_ACC_TON_MIN = 0x0F;
-const Int32 x_FN_SLP_DEC_TOFF_MIN = 0x10;
-const Int32 x_K_THERM = 0x11;//VOLTAGE
-const Int32 x_ADC_OUT = 0x12;
-const Int32 x_OCD_TH = 0x13;
-const Int32 x_STALL_TH = 0x14;//VOLTAGE
-const Int32 x_FS_SPD = 0x15;
-const Int32 x_STEP_MODE = 0x16;
-const Int32 x_ALARM_EN = 0x17;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-const Int32 x_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-//VOLTAGE / CURRENT
-
-//-------------------------------
-const Int32 x_GET_PARAM = 0x20;
-//-------------------------------
-Int32 Start_index = 0; // start from motor
-
-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)
-{
- Int32 i = 0;
-
- Int32 motname = 0;
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9); //7ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003); //ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
-
-// stubManager.Write("\n\n");
- stubManager.Write("MoTor\tABS_POS\tEL_POS\tMARK\tSPEED\tACC\tDEC\tMAX_SPEED\tMIN_SPEED\tKTVAL_HOLD\tKTVAL_RUN\tTKVAL_ACC\tTKVAL_DEC\tINT_SPD\tT_FAST\t TON_MIN\tTOFF_MIN\tK_THERM\tADC_OUT\tOCD_TH\tSTALL_TH\tFS_SPD\tSTEP_MODE\tALARM_EN\tGATECFG1\tGATECFG2\tCONFIG\tSTATUS\n");
-// stubManager.Write("------\t\t\t--------\t--------\t----------\t---\t\t---\t\t----------\t---------\t---------\t---------\t------\t\t--------\t------\n");
-
-
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
-// if((i%8 ==0) )
-// {
-// }
- //stubManager.Write(i);
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,6);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,6);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,6);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP_T_FAST)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC_TON_MIN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC_TOFF_MIN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\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/PowerStep01/Set_PowerStep01_Parameters.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs
deleted file mode 100644
index 9571deb9e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs
+++ /dev/null
@@ -1,230 +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;
-
-//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/RTFU/RTFU_JIG.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG.cs
deleted file mode 100644
index 9ffd0d9d5..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG.cs
+++ /dev/null
@@ -1,537 +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;
-//--------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------
-//string path1="P:\\Scripts\\Assemblies\\RTFU\\RTFULog\\";
-//string path2="C:\\RTFULog\\";
-
-//string File_Name1 ;
-//string Status;
-
-//-------------------DEFINE Motors------------------
-const Int32 RDANCER_Motor = 21;
-const Int32 RDRIVING_Motor = 22;
-const Int32 RLOADING_Motor = 24;
-
-//-------------------DEFINE Motors Parameters------------------
-
-const Int32 F1_MOTO_RLOADING_TX1 = 0x60000202;
-const Int32 F1_MOTO_RLOADING_TX0 = 0x60000200;
-const Int32 F1_MOTO_RLOADING_RX1 = 0x60000206;
-const Int32 F1_MOTO_RLOADING_RX0 = 0x60000204;
-
-//-------------------DEFINE Limit Switch---------------
-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_RDANCER_UP = 0x0100;
-const Int32 F1_LS_RDANCER_DOWN = 0x0200;
-const Int32 F1_LS_RLOADRAM_DOWN = 0x0020;
-
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_lsb = 0x600001a0;
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_msb = 0x600001a2;
-const Int32 F1_RDANCER_ROTENC_DATA_p_TX = 0x600001ae;
-
-
-const int UNIT_UNDER_TEST=3+1+5;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\RTFU\\RTFULog\\";
-string path2="C:\\RTFULog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"LS_RLOADMOTOR_Up","Not Test"}, //0
- {"LS_RLOADMOTOR_DOWN","Not Test"}, //1
- {"RLOADING_Motor","Not Test"}, //2
- {"DRIVING_Motor","Not Test"}, //3
- {"LS_RDANCER_DOWN","Not Test"}, //4
- {"LS_RDANCER_UP","Not Test"}, //5
- {"LS_RLOADRAM_DOWN","Not Test"}, //6
- {"RDANCER_Motor","Not Test"}, //7
- {"RDANCER_ROTENC","Not Test"}, //8
- };
-
-
-
-//-----------------------------------------------------
-string RTFU_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "RTFU Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----RTFU Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" RTFU S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
- if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
- else
- path=path1;
-
- File_Name1=path + TextBox1.Text +"_RTFU_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
- stubManager.Write(File_Name1 +"\n");
- stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
- stubManager.Write(DateTime.Now +"\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU Test Report" );
- stubManager.Write("RTFU Test Report\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU S/N: \t" + TextBox1.Text );
- stubManager.Write("RTFU S/N:" + TextBox1.Text +"\n" );
-
-
- stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
- stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="Pros";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-
-//------------------------------- start test -----------
- Test_RLOADING_RTFU();
- 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
-
- Test_RDRIVING_RTFU();
- Test_DANCER_RTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- Status=write_to_file();
-
- Label5.Text=Status;
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
- //------------------------------------
-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 0x2c- 1.3A
- Thread.Sleep(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,100); //move Rloading down
- Thread.Sleep(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(1000);
-//------------------------------------------ check F1_LS_RLOADMOTOR_up------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RLOADMOTOR_UP) !=F1_LS_RLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did RLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("RLOADMOTOR\tFail\n");
- return 0;
- }
- }
-
-//----------------------------------------- mov RLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor,false,100); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_UP) != F1_LS_RLOADMOTOR_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- if (counter == 150)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_RLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
-
- if ((response.Value & F1_LS_RLOADMOTOR_DN) !=F1_LS_RLOADMOTOR_DN ) //if LS_RLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov RLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,100); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_DN) != F1_LS_RLOADMOTOR_DN )
- counter=250;
-
- Thread.Sleep(100);
- }
-
- if (counter == 150)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("RLOADMOTOR\tPass\n");
-
- return 1 ;
-
-}
-
-//----------------------------------
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_RDANCER_ROTENC_DATA_p_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_msb);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_RTFU()
-{
- int counter;
- Int32 temp;
- Int32 temp1;
-
-//------------------------------------------ check F1_LS_RDANCER_DOWN ------------------------------------------------
-
- MessageBox.Show("Make sure RDANCER Doun");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RDANCER_DOWN) !=F1_LS_RDANCER_DOWN ) //if F1_LS_RDANCER_DOWN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
-//----------------------------------------- mov RDANCER_Motor up and check F1_LS_RDANCER_DOWN -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,true,10); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- stubManager.Write("LS_RDANCER_DOWN\tPass\n");
-
-//----------------------------------------- check F1_LS_RDANCER_UP -------------------------------------------------
-
- if ((response.Value & F1_LS_RDANCER_UP) !=F1_LS_RDANCER_UP ) //if F1_LS_RDANCER_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RDANCER_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_UP) != F1_LS_RDANCER_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- Units_status[5,1]="Pass";
- stubManager.Write("LS_RDANCER_UP\tPass\n");
-
-//----------------------------------------- check F1_LS_RLOADRAM_DOWN -------------------------------------------------
-
- if ((response.Value & F1_LS_RLOADRAM_DOWN) !=F1_LS_RLOADRAM_DOWN ) //if F1_LS_RLOADRAM_DOWN is up then error
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RLOADRAM_DOWN is up then move down
- if ((response.Value & F1_LS_RLOADRAM_DOWN) != F1_LS_RLOADRAM_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- Units_status[6,1]="Pass";
- stubManager.Write("LS_RLOADRAM_DOWN\tPass\n");
-
-//----------------------------------------- mov RDANCER_Motor down and check rdancer encoder -------------------------------------------------
- temp= ReadEncoder();
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,false,10); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[7,1]="Pass";
- stubManager.Write("RDANCER_Motor\tPass\n");
-
- temp1= ReadEncoder();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
-
- DialogResult result = MessageBox.Show("SSI Dancer led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
-
- if (temp>temp1)
- temp1=temp1+0x4000;
-
- temp1=temp1-temp;
- if ((temp1> 15000) || (temp1 <1000))
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
- Units_status[8,1]="Pass";
- stubManager.Write("RDANCER_SSI\tPass\n");
-
- return 1;
-}
-
-
-//-------------------------------------------------------------
-int Test_RDRIVING_RTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDRIVING_Motor, true,200); //move Rdriving clockwise
- stubManager.Write("RDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are RDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("RDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("RDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
-
-//--------------------------------------------------------------------------------
-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;
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Fail ------------ ");
- stubManager.Write("-------------RTFU Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Pass ------------ )");
- stubManager.Write("-------------RTFU Pass ------------ ");
- }
-
- return Stemp;
-
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG1.cs
deleted file mode 100644
index 500e153c4..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG1.cs
+++ /dev/null
@@ -1,552 +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;
-//--------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------
-//string path1="P:\\Scripts\\Assemblies\\RTFU\\RTFULog\\";
-//string path2="C:\\RTFULog\\";
-
-//string File_Name1 ;
-//string Status;
-
-//-------------------DEFINE Motors------------------
-const Int32 RDANCER_Motor = 21;
-const Int32 RDRIVING_Motor = 22;
-const Int32 RLOADING_Motor = 24;
-
-//-------------------DEFINE Motors Parameters------------------
-
-const Int32 F1_MOTO_RLOADING_TX1 = 0x60000202;
-const Int32 F1_MOTO_RLOADING_TX0 = 0x60000200;
-const Int32 F1_MOTO_RLOADING_RX1 = 0x60000206;
-const Int32 F1_MOTO_RLOADING_RX0 = 0x60000204;
-
-//-------------------DEFINE Limit Switch---------------
-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_RDANCER_UP = 0x0100;
-const Int32 F1_LS_RDANCER_DOWN = 0x0200;
-const Int32 F1_LS_RLOADRAM_DOWN = 0x0020;
-
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_lsb = 0x600001a0;
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_msb = 0x600001a2;
-const Int32 F1_RDANCER_ROTENC_DATA_p_TX = 0x600001ae;
-
-
-const int UNIT_UNDER_TEST=3+1+5;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\RTFU\\RTFULog\\";
-string path2="C:\\RTFULog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"LS_RLOADMOTOR_Up","Not Test"}, //0
- {"LS_RLOADMOTOR_DOWN","Not Test"}, //1
- {"RLOADING_Motor","Not Test"}, //2
- {"DRIVING_Motor","Not Test"}, //3
- {"LS_RDANCER_DOWN","Not Test"}, //4
- {"LS_RDANCER_UP","Not Test"}, //5
- {"LS_RLOADRAM_DOWN","Not Test"}, //6
- {"RDANCER_Motor","Not Test"}, //7
- {"RDANCER_ROTENC","Not Test"}, //8
- };
-
-
-
-//-----------------------------------------------------
-string RTFU_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "RTFU Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----RTFU Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" RTFU S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-
-
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-
- Label5.Text="Pros";
-
- if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
- else
- path=path1;
-
- File_Name1=path + TextBox1.Text +"_RTFU_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
- stubManager.Write(File_Name1 +"\n");
- stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
- stubManager.Write(DateTime.Now +"\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU Test Report" );
- stubManager.Write("RTFU Test Report\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU S/N: \t" + TextBox1.Text );
- stubManager.Write("RTFU S/N:" + TextBox1.Text +"\n" );
-
-
- stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
- stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-//------------------------------- start test -----------
- Test_RLOADING_RTFU();
- 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
-
- Test_RDRIVING_RTFU();
- Test_DANCER_RTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- Status=write_to_file();
- stubManager.Write(Status +"\n");
-
- Label5.Text=Status;
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
- //------------------------------------
-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 0x2c- 1.3A
- Thread.Sleep(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- Thread.Sleep(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(1000);
-//------------------------------------------ check F1_LS_RLOADMOTOR_up------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RLOADMOTOR_UP) !=F1_LS_RLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did RLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("RLOADMOTOR\tFail\n");
- return 0;
- }
- }
-
-//----------------------------------------- mov RLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor,false,200); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_UP) != F1_LS_RLOADMOTOR_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- if (counter == 150)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_RLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
-
- if ((response.Value & F1_LS_RLOADMOTOR_DN) !=F1_LS_RLOADMOTOR_DN ) //if LS_RLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov RLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_DN) != F1_LS_RLOADMOTOR_DN )
- counter=250;
-
- Thread.Sleep(100);
- }
-
- if (counter == 150)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("RLOADMOTOR\tPass\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- Thread.Sleep(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- return 1 ;
-
-}
-
-//----------------------------------
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_RDANCER_ROTENC_DATA_p_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_msb);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_RTFU()
-{
- int counter;
- Int32 temp;
- Int32 temp1;
-
-//------------------------------------------ check F1_LS_RDANCER_DOWN ------------------------------------------------
-
- MessageBox.Show("Make sure RDANCER Doun");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RDANCER_DOWN) !=F1_LS_RDANCER_DOWN ) //if F1_LS_RDANCER_DOWN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
-//----------------------------------------- mov RDANCER_Motor up and check F1_LS_RDANCER_DOWN -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,true,10); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- stubManager.Write("LS_RDANCER_DOWN\tPass\n");
-
-//----------------------------------------- check F1_LS_RDANCER_UP -------------------------------------------------
-
- if ((response.Value & F1_LS_RDANCER_UP) !=F1_LS_RDANCER_UP ) //if F1_LS_RDANCER_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RDANCER_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_UP) != F1_LS_RDANCER_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- Units_status[5,1]="Pass";
- stubManager.Write("LS_RDANCER_UP\tPass\n");
-
-//----------------------------------------- check F1_LS_RLOADRAM_DOWN -------------------------------------------------
-
- if ((response.Value & F1_LS_RLOADRAM_DOWN) !=F1_LS_RLOADRAM_DOWN ) //if F1_LS_RLOADRAM_DOWN is up then error
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RLOADRAM_DOWN is up then move down
- if ((response.Value & F1_LS_RLOADRAM_DOWN) != F1_LS_RLOADRAM_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- Units_status[6,1]="Pass";
- stubManager.Write("LS_RLOADRAM_DOWN\tPass\n");
-
-//----------------------------------------- mov RDANCER_Motor down and check rdancer encoder -------------------------------------------------
- temp= ReadEncoder();
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,false,10); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[7,1]="Pass";
- stubManager.Write("RDANCER_Motor\tPass\n");
-
- temp1= ReadEncoder();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
-
- DialogResult result = MessageBox.Show("SSI Dancer led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
-
- if (temp>temp1)
- temp1=temp1+0x4000;
-
- temp1=temp1-temp;
- if ((temp1> 15000) || (temp1 <1000))
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
- Units_status[8,1]="Pass";
- stubManager.Write("RDANCER_SSI\tPass\n");
-
- return 1;
-}
-
-
-//-------------------------------------------------------------
-int Test_RDRIVING_RTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDRIVING_Motor, true,200); //move Rdriving clockwise
- stubManager.Write("RDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are RDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("RDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("RDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
-
-//--------------------------------------------------------------------------------
-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;
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Fail ------------ ");
- stubManager.Write("-------------RTFU Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Pass ------------ )");
- stubManager.Write("-------------RTFU Pass ------------ ");
- }
-
- return Stemp;
-
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_SSI1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_SSI1.cs
deleted file mode 100644
index f448e0971..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_SSI1.cs
+++ /dev/null
@@ -1,93 +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"
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_lsb = 0x600001a0;
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_msb = 0x600001a2;
-const Int32 F1_RDANCER_ROTENC_DATA_p_TX = 0x600001ae;
-
-
-
-
-
-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 < 100; i++)
- {
-
-
- stubManager.Write("RDANCER1 - "+ ReadEncoder()+ "\n" );
-
-
-
-
- Thread.Sleep(400);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-// SSI_Read_Write(FPGA1, F1_RDANCER_ROTENC_MSB, F1_RDANCER_ROTENC_LSB, F1_RDANCER_ROTENC_TX);
-// SSI_Read_Write(FPGA1, F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB, F1_RSPARE_ROTENC_TX);
-// stubManager.Write("\n");
-// k++;
-// if ( (k & 0x8) == 0x08 ) {
-// k = 0;
-// stubManager.Write(" RDANCER RSpeed \n");
-// }
-// Thread.Sleep(400);
- }
-
-
-}
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_RDANCER_ROTENC_DATA_p_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_msb);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/WHS_waste_Tank_Calibration_Save_V0.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/WHS_waste_Tank_Calibration_Save_V0.cs
deleted file mode 100644
index c52424b2f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/WHS_waste_Tank_Calibration_Save_V0.cs
+++ /dev/null
@@ -1,90 +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;
-
-double V0_default_ml = 8.7433;
-
-public void OnExecute(StubManager stubManager)
-{
- var response1 = stubManager.ShowResponseWindow("Warning - you are going to change the value of Vo in the eeprom !!!\nPlease Enter Password to confirme:");
- if (response1=="Aa123456")
- {
- stubManager.WriteLine(response1);
-
- //Write_0_Vo_in_ml_to_eeprom
- stubManager.WriteLine("\nWrite_0_Vo_in_ml_to_eeprom");
- StubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();
- stubWhsEEpromRequest.BurnRequest = true; //write
- StubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();
- stubWhsEEpromData.Orifice1Flow = 0;
- stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
- var response = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
- //wait_10mSec
- stubManager.WriteLine("\nwait_10mSec");
- Thread.Sleep(100); //Sleep for 10 milli.
-
- //Read_Vo_in_ml_from_eeprom & verify it is 0
- stubManager.WriteLine("\nRead_Vo_in_ml_from_eeprom & verify it is 0");
- stubWhsEEpromRequest.BurnRequest = false; //write
- stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
- var response2 = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
- //Read_Vo_in_mV
- stubManager.WriteLine("\nRead_Vo_in_mV");
- var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EC, 0x01);
- //Print_Vo_in_mV
- stubManager.WriteLine(response3.Progress);
-
- //check validity
- stubManager.WriteLine("\ncheck validity");
- if((response3.Progress <= 800) || (response3.Progress >=1200))
- {
- response3.Progress = 1076; //default
- stubManager.Write("\nERROR ------ Vreading value outside the defined range !!! ------");
- }
- else
- {
- //calculate_V0_in_ml
- stubManager.WriteLine("\ncalculate_V0_in_ml");
- V0_default_ml = V0_default_ml * response3.Progress;
-
- //print_Vo_in_ml
- stubManager.WriteLine("\nprint_Vo_in_ml");
- stubManager.WriteLine(V0_default_ml);
- stubManager.WriteLine("");
-
- //Write_Vo_in_ml_to_eeprom
- stubManager.WriteLine("\nWrite_Vo_in_ml_to_eeprom");
- stubWhsEEpromRequest.BurnRequest = true; //write
-
- stubWhsEEpromData.Orifice1Flow = V0_default_ml;
- stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
- var response4 = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
- //wait_10mSec
- stubManager.WriteLine("\nwait_10mSec");
- Thread.Sleep(100); //Sleep for 10 milli.
-
- //Read_Vo_in_ml_from_eeprom
- stubManager.WriteLine("\nRead_Vo_in_ml_from_eeprom");
- stubWhsEEpromRequest.BurnRequest = false; //write
- stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
- var response5 = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
- //Check if we read the correct value
- stubManager.WriteLine("\nVerify that we read the correct value of Orifice1Flow!!");
- }
-
- stubManager.WriteLine("\n -- END OF SCRIPT -- ");
-
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs
deleted file mode 100644
index 69f8e4d13..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs
+++ /dev/null
@@ -1,29 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- int x=0;
-
- // var response1 = stubManager.ShowResponseWindow("Please Enter fan value from 0 to 255:");
- // int x = Int32.Parse(response1);
-
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xffac2, x); //whs fan1 full
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xffac3, x); //whs fan2 full
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xffac4, x); //whs fan3 full
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xffac5, x); //whs fan4 full
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3ea, 6); //whs fan4 full
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/pump2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/pump2.cs
deleted file mode 100644
index c72a7cd33..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/pump2.cs
+++ /dev/null
@@ -1,32 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- Int32 i=0 ;
- while (i==0)
-{
- DialogResult result = MessageBox.Show("Do you want to open (Yes) or close (No) valve ?", "Warning",
- MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
- if(result == DialogResult.Yes)
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600000d2, 0x800);
-
- else if(result == DialogResult.No)
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600000d2, 0x000);
- else if(result == DialogResult.Cancel)
- i=1;
-
-}
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Screw_Encoder.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Screw_Encoder.cs
deleted file mode 100644
index 88a2e703a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Screw_Encoder.cs
+++ /dev/null
@@ -1,44 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-UInt32 temp ;
-
-
-
-
-
- // Request ----
-// UInt32 : Address
-
-// Response ----
-// UInt32 : Address
-// UInt32 : Value
-// String : Status
-// UInt32 : StatusWord
-
-while (true)
- {
-var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000100);
-var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000102);
-
-temp=(response.Value & 0xffff )+((response1.Value & 0xffff )<<16);
-temp=temp&0x0fffffff;
-stubManager.WriteHex(temp,8);
-stubManager.Write("\n");
-
- Thread.Sleep(100);
-
-}
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Jig.cs
deleted file mode 100644
index 518cd5be3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Jig.cs
+++ /dev/null
@@ -1,370 +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;
-
-
-//include "..\..\Defines\Tango_Defines_Basic.cs"
-//include "Tango_Defines_LimitSwitch.cs"
-
-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
-
-
-
-
-const int UNIT_UNDER_TEST=6;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\Winder\\WinderLog\\";
-string path2="C:\\WinderLog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"Winder_Motor","Not Test"},
- {"Screw_Motor","Not Test"},
- {"LS_Screw_Right","Not Test"},
- {"LS_Screw_Left","Not Test"},
- {"Screw_Encoder","Not Test"},
- {"SW_Spool_Exist","Not Test"},
- };
-
-
-
-//-----------------------------------------------------
-string Winder_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
-
- form1.Text = "Winder Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----Winder Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" Winder S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
-else
-path=path1;
-
-
-File_Name1=path + TextBox1.Text +"_Winder_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
-stubManager.Write(File_Name1 +"\n");
-stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name1,"Winder Test Report" );
-stubManager.Write("Winder Test Report\n" );
-
-stubManager.AppendToFile(File_Name1,"Winder S/N: \t" + TextBox1.Text );
-stubManager.Write("Winder S/N:" + TextBox1.Text +"\n" );
-
-
-stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
-stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
-Label5.Location = new Point (300, 100);
-Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
-Label5.Text="Pros";
-Label5.Font = new Font("Arial", 24,FontStyle.Bold);
-form1.Controls.Add(Label5);
-
-
-//------------------------------- start test -----------
- Test_Winder_motor();
- Test_Screw_LS_Motor_Encoder ();
- Test_Pooler_Exist ();
-
-
-
- Status=write_to_file();
-
- Label5.Text=Status;
- TextBox1.Text="";
-};
-
- form1.ShowDialog();
-
- return ;
- }
-//------------------------------------------
-int Test_Winder_motor ()
-
-{
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,15, true, 500); //rotate Winder Motor.
- stubManager.Write("Winder Motor rotate \n ");
- DialogResult result = MessageBox.Show("Are Winder Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("Winder Motor not rotate\n");
- }
- else
- {
- Units_status[0,1]="Pass";
- stubManager.Write("Winder Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,15,3); //stop motor
-
- return 0;
-}
-
-
-//--------------------------------------------
- int Test_Screw_LS_Motor_Encoder()
-{
- UInt32 temp ;
- Int32 Bit = 1;
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, false, 250); //rotate screw Motor out.
- Thread.Sleep(1000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,3); //stop motor
-
- DialogResult result2 = MessageBox.Show("Did screw Motor move ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("Screw Motor not move\n");
- return 0;
- }
- Units_status[1,1]="Pass";
-
- stubManager.Write("Screw Motor rotate \n ");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, true, 250);
- 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(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,3); //stop motor
-
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LS_SCREW_RIGHT Not calibrate\n");
- return 0;
- }
- Units_status[2,1]="Pass";
- stubManager.Write("\nMove screw out \n");
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000100, 0x0000); //clear encoder
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000102, 0x0000); //clear encoder
-
- Bit = 1;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, false, 250);
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_03_Direct,1);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,3); //stop motor
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("LS_SCREW_LEFT Not calibrate\n");
- return 0;
- }
- Units_status[3,1]="Pass";
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000100);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000102);
-
- temp=(response.Value & 0xffff )+((response1.Value & 0xffff )<<16);
- temp=temp&0x0fffffff;
- temp= 0x4000000-temp;
- stubManager.Write("Encoder positio:" +temp+"\n");
-
- if ((temp>20000) && temp<28000)
- Units_status[4,1]="Pass";
- else
- Units_status[4,1]="Fail";
-
- return 1;
-}
- //---------------------------------------
-int Test_Pooler_Exist()
-{
- if ( (GetBit(FPGA1, F1_LS_03_Direct,11))==0)
- {
- Units_status[5,1]="Fail";
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Remove Spool");
- if ( (GetBit(FPGA1, F1_LS_03_Direct,11))!=0)
- Units_status[5,1]="Fail";
- else
- Units_status[5,1]="Pass";
-
- return 0 ;
-
-
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------Winder Fail ------------ ");
- stubManager.Write("-------------Winder Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------Winder Pass ------------ )");
- stubManager.Write("-------------Winder Pass ------------ ");
- }
-
- return Stemp;
-
-}
-
-
-
-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/Winder/Winder_Zero.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs
deleted file mode 100644
index 46894812c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs
+++ /dev/null
@@ -1,90 +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 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/Winder/Winder_spoll_exist.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_spoll_exist.cs
deleted file mode 100644
index c0ada87e1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_spoll_exist.cs
+++ /dev/null
@@ -1,65 +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_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_LimitSwitch.cs"
-
-public void OnExecute(StubManager stubManager)
-{
-
- uint Temp = 0;
- int counter = 0;
- stubManager.Write("\nReading register F1_LS_03_Direct: ");
- var RetVal = Fpga_Read_Reg(FPGA1, F1_LS_03_Direct, 0);
- Temp=RetVal.Value & 0x0800;
- if (Temp==0x0800)
- {
- stubManager.Write("\nWinder Spoll Exist ");
- }
- else
- {
- stubManager.Write("\nWinder Spoll NOT Exist ");
- }
- Temp = RetVal.Value;
- stubManager.Write("\nActivate limit switches one-by-one");
-
- while ( counter != 100)
- {
- RetVal = Fpga_Read_Reg(FPGA1, F1_LS_03_Direct, 0);
- if (RetVal.Value != Temp)
- {
-// stubManager.Write("\nRegister F1_LS_03_Direct new value: ");
-// stubManager.WriteHex(RetVal.Value,4);
-
- Temp=RetVal.Value & 0x0800;
- if (Temp==0x0800)
- {
- stubManager.Write("\nWinder Spoll Exist ");
- }
- else
- {
- stubManager.Write("\nWinder Spoll NOT Exist ");
- }
-
-
-
- counter = counter + 1;
- }
- Thread.Sleep(50);
- Temp=RetVal.Value;
- }
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower.cs
deleted file mode 100644
index c365c4884..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower.cs
+++ /dev/null
@@ -1,21 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
- //Blower speed
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /*disable control loop*/0x0000 + /* speed =*/0xFFF); //Blower speed
- // to enable control loop send 0x1000
- // speed max voltage value is 0xFFF //12 bit (0xFFF) -> 5V
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower_Data.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower_Data.cs
deleted file mode 100644
index 740f0778d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower_Data.cs
+++ /dev/null
@@ -1,28 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-//show current data
-/*var response1 =*/ stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3Ea, /*Head_Q=*/0x3000); //
-//start/stop whs control and set value
-int StopWhsControl = 0;
-int RestartWhsControl = 0x1000;
- stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E8, /*Head_Q=*/StopWhsControl + 2700); //
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E8, /*Head_Q=*/RestartWhsControl +2700); //
-
-//enable loop
-/*var response1 =*/ //stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E7, /*Head_Q=*/5); //
-//500=1F4
-//250=FA
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_speed.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_speed.cs
deleted file mode 100644
index 045db16fe..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_speed.cs
+++ /dev/null
@@ -1,36 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-
-//fan test
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0xFAC2, /*speed=*/0xFF); //
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan2*/0xFAC3, /*speed=*/0x80); //
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan3*/0xFAC4, /*speed=*/0x80); //
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan4*/0xFAC5, /*speed=*/0x80); //
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.WriteLineHex(response1.Progress,4);
-stubManager.WriteLineHex(response2.Progress,4);
-stubManager.WriteLineHex(response3.Progress,4);
-stubManager.WriteLineHex(response4.Progress,4);
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_test.cs
deleted file mode 100644
index 166c1cd2a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_test.cs
+++ /dev/null
@@ -1,42 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-
-//fan test
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC2, 0x80); //valv1_en=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC3, 0x80); //valv1_en=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC4, 0x80); //valv1_en=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC5, 0x80); //valv1_en=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-
-/*var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC2, 0x00); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC3, 0x00; //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC4, 0x00); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC5, 0x00); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-*/
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Rehostat.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Rehostat.cs
deleted file mode 100644
index 142c1597d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Rehostat.cs
+++ /dev/null
@@ -1,31 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x300); //set rehostat value=0x300
-stubManager.WriteLine("First response received");
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 5); // get GAS_OUT
-stubManager.WriteLine("Second response received");
-
- stubManager.WriteLineHex(response6.Progress, 4);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Set_Blower_Get_Q_Qavarege_Volt.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Set_Blower_Get_Q_Qavarege_Volt.cs
deleted file mode 100644
index 13d0c3471..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Set_Blower_Get_Q_Qavarege_Volt.cs
+++ /dev/null
@@ -1,64 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-
-//Blower speed
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/2400); //set Blower speed
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E7, /* Q value =*/7); //set Blower speed
-
-Thread.Sleep(5000);
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/0); //get ORF1
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/10); //get Q ORF1
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/20); //get Q ORF1 average
-
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/2); //get ORF3
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/12); //get Q ORF3 average
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/22); //get Q ORF3 average
-
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E6, /* speed =*/10); //Get Blower speed
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.WriteLine("orf1 value:"); stubManager.WriteLine(response1.Progress);
-stubManager.WriteLine("orf1 Q value:"); stubManager.WriteLine(response2.Progress);
-stubManager.WriteLine("orf1 Q avarege value:"); stubManager.WriteLine(response3.Progress);
-stubManager.WriteLine("orf3 value:"); stubManager.WriteLine(response4.Progress);
-stubManager.WriteLine("orf3 Q value:"); stubManager.WriteLine(response5.Progress);
-stubManager.WriteLine("orf3 Q avarege value:"); stubManager.WriteLine(response6.Progress);
-stubManager.WriteLine("blower volt:"); stubManager.WriteLine(response7.Progress);
-
-Thread.Sleep(5000);
- response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/0); //get ORF1
- response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/10); //get Q ORF1
- response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/20); //get Q ORF1 average
-
- response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/2); //get ORF3
- response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/12); //get Q ORF3 average
- response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/22); //get Q ORF3 average
-
- response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E6, /* speed =*/10); //Get Blower speed
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.WriteLine("orf1 value:"); stubManager.WriteLine(response1.Progress);
-stubManager.WriteLine("orf1 Q value:"); stubManager.WriteLine(response2.Progress);
-stubManager.WriteLine("orf1 Q avarege value:"); stubManager.WriteLine(response3.Progress);
-stubManager.WriteLine("orf3 value:"); stubManager.WriteLine(response4.Progress);
-stubManager.WriteLine("orf3 Q value:"); stubManager.WriteLine(response5.Progress);
-stubManager.WriteLine("orf3 Q avarege value:"); stubManager.WriteLine(response6.Progress);
-stubManager.WriteLine("blower volt:"); stubManager.WriteLine(response7.Progress);
-} \ No newline at end of file
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
deleted file mode 100644
index fc769f125..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature.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.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
deleted file mode 100644
index 235c1baa4..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature_1.cs
+++ /dev/null
@@ -1,35 +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;
-
-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/fan.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs
deleted file mode 100644
index 7e68d62ef..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs
+++ /dev/null
@@ -1,34 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
- // Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC2, 0x20); //WHS FAN 1 low seed
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC3, 0x20); //WHS FAN 2 low seed
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC4, 0x20); //WHS FAN 3 low seed
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC5, 0x20); //WHS FAN 4 low seed
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC6, 0x20); //WHS FAN 5 low seed
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC2, 0x20); //WHS FAN 6 low seed
-var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC3, 0x20);
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/get_A2D_MAX11614.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/get_A2D_MAX11614.cs
deleted file mode 100644
index 670732ae0..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/get_A2D_MAX11614.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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-//valv1
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 0); //ORF1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 1); // ORF2
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 3); // VLEV1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 4); // VLEV2 not connected
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 5); // GAS_OUT
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 6); // CUR_FAN
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 7); // CUR_VaLV1
-//Thread.Sleep(5000); //Sleep for 10 milli.
- stubManager.WriteLineHex(response1.Progress,4);
- stubManager.WriteLineHex(response2.Progress,4);
- stubManager.WriteLineHex(response3.Progress,4);
- stubManager.WriteLineHex(response4.Progress,4);
- stubManager.WriteLineHex(response5.Progress,4);
- stubManager.WriteLineHex(response6.Progress,4);
- stubManager.WriteLineHex(response7.Progress,4);
- stubManager.WriteLineHex(response8.Progress,4);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/pump.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/pump.cs
deleted file mode 100644
index 8999da126..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/pump.cs
+++ /dev/null
@@ -1,29 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-
-//test pump
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0701);// pump on
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0700); // pump off
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/set_gas_get_A2D_MAX11614.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/set_gas_get_A2D_MAX11614.cs
deleted file mode 100644
index fad4ac22a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/set_gas_get_A2D_MAX11614.cs
+++ /dev/null
@@ -1,52 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-//valv1
-//var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 0); //ORF1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 1); // ORF2
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 3); // VLEV1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 4); // VLEV2 not connected
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x401); //ORF1
-stubManager.WriteLine("First response received");
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 5); // GAS_OUT
-stubManager.WriteLine("Second response received");
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 6); // CUR_FAN
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 7); // CUR_VaLV1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-// stubManager.WriteLineHex(response1.Progress,4);
-// stubManager.WriteLineHex(response2.Progress,4);
-// stubManager.WriteLineHex(response3.Progress,4);
-// stubManager.WriteLineHex(response4.Progress,4);
-// stubManager.WriteLineHex(response5.Progress,4);
- stubManager.WriteLineHex(response6.Progress, 4);
-// stubManager.WriteLineHex(response7.Progress,4);
-// stubManager.WriteLineHex(response8.Progress,4);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Blower.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Blower.cs
deleted file mode 100644
index 2e44d901d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Blower.cs
+++ /dev/null
@@ -1,60 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-
-//Blower speed
-/*var response1 =*/ stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0x800); //Blower speed
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine("First response received");
-Thread.Sleep(1000); //Sleep for 1000 milli.
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.WriteLine(response1.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response2.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response3.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response4.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response5.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response6.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response7.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response8.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response9 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response9.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response10 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response10.Progress);
-//var response_av = (response1.Progress + response2.Progress +response3.Progress + response4.Progress + response5.Progress + response6.Progress + response7.Progress + response8.Progress +response9.Progress + response10.Progress)/10;
-//stubManager.WriteLine(response_av.Progress);
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Fan_speed.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Fan_speed.cs
deleted file mode 100644
index 582a7f7e7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Fan_speed.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.Stubs;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-//valv1
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8501); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8401);// valv1_dir=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8400);// valv1_dir=0
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8500);// valv1_disable
-
-
-// valve 2
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8701); //valv2_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8601);// valv2_dir=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8600);// valv2_dir=0
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8700); //valv2_disable
-
-//test pump
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0701);// pump on
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0700); // pump off
-
-// test Blower
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0000);// Blower OFF
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0400);// Blower 1.25v
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0800); // Blower 2.5v
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0C00);// Blower 3.77v
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0FFF); // Blower 5.0v
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_blower_and_ORF3.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_blower_and_ORF3.cs
deleted file mode 100644
index 3eb47bc93..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_blower_and_ORF3.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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-//Blower speed
-var stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0xFFF); //Blower speed
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//Blower speed
-var stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0x800); //Blower speed
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//Blower speed
-var stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0x400); //Blower speed
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//Blower speed
-var stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0x200); //Blower speed
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//Blower speed
-var stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0x100); //Blower speed
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
- stubManager.WriteLineHex(response1.Progress,4);
- stubManager.WriteLineHex(response2.Progress,4);
- stubManager.WriteLineHex(response3.Progress,4);
- stubManager.WriteLineHex(response4.Progress,4);
- stubManager.WriteLineHex(response5.Progress,4);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs
deleted file mode 100644
index acd5e3c50..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs
+++ /dev/null
@@ -1,90 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0001);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0101);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0201);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0301);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0401);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0501);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0601);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0701);
-Thread.Sleep(1000); //Sleep for 10 milli.
-
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4001);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4101);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4201);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4301);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4401);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4501);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4601);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4701);
-Thread.Sleep(1000); //Sleep for 10 milli.
-
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0001);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0101);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0201);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0301);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0401);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0501);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0601);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0701);
-Thread.Sleep(1000); //Sleep for 10 milli.
-
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4001);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4101);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4201);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4301);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4401);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4501);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4601);
-Thread.Sleep(1000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4701);
-Thread.Sleep(1000); //Sleep for 10 milli.
-
-var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0);
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs
deleted file mode 100644
index c81bdaebd..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs
+++ /dev/null
@@ -1,47 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-//valv1
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8501); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8401);// valv1_dir=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8400);// valv1_dir=0
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8500);// valv1_disable
-
-
-// valve 2
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8701); //valv2_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8601);// valv2_dir=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8600);// valv2_dir=0
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8700); //valv2_disable
-
-//test pump
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0701);// pump on
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0700); // pump off
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs
deleted file mode 100644
index 086063855..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs
+++ /dev/null
@@ -1,40 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8500); //valv1_en=0
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8501); //valv1_en=0
-//Thread.Sleep(5000); //Sleep for 10 milli.
-
-
-
- int a = 0;
-
- while (a < 100)
- {
- a = a + 1;
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8500); //valv1_en=0
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8501); //valv1_en=0
-Thread.Sleep(5000); //Sleep for 10 milli.
-//stubManager.WriteLine(a);
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump.cs
deleted file mode 100644
index c4435ab42..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump.cs
+++ /dev/null
@@ -1,47 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-//valv1
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8501); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8401);// valv1_dir=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8400);// valv1_dir=0
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8500);// valv1_disable
-
-
-// valve 2
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8701); //valv2_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8601);// valv2_dir=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8600);// valv2_dir=0
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8700); //valv2_disable
-
-//test pump
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0701);// pump on
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0700); // pump off
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump_Blower.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump_Blower.cs
deleted file mode 100644
index f873ba057..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump_Blower.cs
+++ /dev/null
@@ -1,27 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-
-//fan test
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC1, 0xFF); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv1.cs
deleted file mode 100644
index 47f5cdff5..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv1.cs
+++ /dev/null
@@ -1,33 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-//valv1
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8501); //valv1_en=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8401);// valv1_dir=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8400);// valv1_dir=0
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8500);// valv1_disable
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv2.cs
deleted file mode 100644
index ce19f0d1e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv2.cs
+++ /dev/null
@@ -1,34 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-
-
-
-// valve 2
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8701); //valv2_en=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8601);// valv2_dir=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8600);// valv2_dir=0
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8700); //valv2_disable
-
-
-} \ 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
deleted file mode 100644
index 01bd67d0a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/whs control loop disable.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.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/CalculateContinuous.cs b/Software/Stubs Collection/stubs/Scripts/CalculateContinuous.cs
deleted file mode 100644
index 443df9008..000000000
--- a/Software/Stubs Collection/stubs/Scripts/CalculateContinuous.cs
+++ /dev/null
@@ -1,42 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- int i = 0;
- //for (int i = 0; i < 10; i++)
- {
- // Request ----
- // Double : A
- // Double : B
-
- // Response ----
- // Double : Sum
- CalculateRequest calculateRequest = new CalculateRequest();
- calculateRequest.A = 1;
- calculateRequest.B = 1;
-
- //var response = stubManager.RunContinuous<CalculateResponse>("CalculateRequest",0,2,Write);
- stubManager.RunContinuous<CalculateResponse>(calculateRequest,(response1) =>
- {
- stubManager.WriteLine (String.Format("Data, {0} {1}",++i,response1.Sum));
- });
-
- /*if (response.Sum == 15)
- {
- stubManager.Write(i);
- stubManager.WriteLine(" OK!");
- }
- Thread.Sleep(10);*/
- }
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/ChangePidDuringRun.cs b/Software/Stubs Collection/stubs/Scripts/ChangePidDuringRun.cs
deleted file mode 100644
index 9422e2cdc..000000000
--- a/Software/Stubs Collection/stubs/Scripts/ChangePidDuringRun.cs
+++ /dev/null
@@ -1,52 +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.PMR.Hardware;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-StubHeatingTestRequest stubHeatingTestRequest = new StubHeatingTestRequest();
-
-stubHeatingTestRequest.DryerZone1Temp = 0;
-stubHeatingTestRequest.DryerZone2Temp = 0;
-
-HardwarePidControl hardwarePidControl = new HardwarePidControl();
-hardwarePidControl.OutputProportionalPowerLimit = 0.5; //Maximal additional power
-hardwarePidControl.OutputProportionalBand = 5;
-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 = 10;
-hardwarePidControl.PvInputFilterFactorMode = 4; //averaging the readouts / number of samples
-hardwarePidControl.OutputProportionalCycleTime = 0;
-hardwarePidControl.AcHeatersHalfCycleTime = 0;
-hardwarePidControl.PidActive = false;
-hardwarePidControl.Epsilon = 0;
-hardwarePidControl.OutputOnOffHysteresisValue = 100;
-
-hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorWinder;
-hardwarePidControl.IntegralTime = 8000; //Ki
-hardwarePidControl.ProportionalGain = 7000; //Kp
-
-stubHeatingTestRequest.HardwarePidControl1 = hardwarePidControl;
-
-StubHeatingTestPollRequest stubHeatingTestPollRequest = new StubHeatingTestPollRequest();
-
-var response = stubManager.Run<StubHeatingTestResponse>(stubHeatingTestRequest);
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs b/Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs
deleted file mode 100644
index c199b9c29..000000000
--- a/Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs
+++ /dev/null
@@ -1,54 +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;
-
-
-
-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/Defines/Blowe_RMO_LOG.CSV b/Software/Stubs Collection/stubs/Scripts/Defines/Blowe_RMO_LOG.CSV
deleted file mode 100644
index 6473707c7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Defines/Blowe_RMO_LOG.CSV
+++ /dev/null
@@ -1,47 +0,0 @@
-,RPM
-0,1672
-1,1628
-2,1633
-3,1672
-4,1672
-5,1628
-6,1666
-7,1672
-8,1628
-9,1672
-10,1628
-11,1628
-12,1628
-13,1628
-14,1666
-15,1672
-16,1628
-17,1628
-18,1628
-19,1628
-20,1666
-21,1628
-22,1672
-23,1672
-24,1628
-25,1672
-26,1628
-27,1628
-28,1666
-29,1666
-30,1628
-31,1623
-32,1672
-33,1628
-34,1628
-35,1633
-36,1628
-37,1666
-38,1628
-39,1672
-40,1666
-41,1623
-42,1672
-43,1633
-44,1633
-45,1672
diff --git a/Software/Stubs Collection/stubs/Scripts/Dispenser_setup.cs b/Software/Stubs Collection/stubs/Scripts/Dispenser_setup.cs
deleted file mode 100644
index 703d34ae9..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Dispenser_setup.cs
+++ /dev/null
@@ -1,1415 +0,0 @@
-
-//--------------------------------------------------------------------------------
-include "Dispenser_setup_mbar.cs"
-include "Dispenser_Motor_stop.cs"
-include "Dispenser_setup_form_valve close.cs"
-include "Dispenser_setup_form_valve open.cs"
-include "Dispenser_Motor_run.cs"
-include "Dispenser_Motor_Up.cs"
-include "Dispenser_Motor_Down.cs"
-include "EEPROM.cs"
-
-//--------------------------------------------------------------------------------
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-using System.Diagnostics;
-using System.Threading;
-using System.Threading.Tasks;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-using System.IO;
-
-//--------------------------------------------------------------------------------
-int Characterization;
-UInt32 [] Motor_Dir=new UInt32 [8] {0,0,0,0,0,0,0,0};
-
-string[] Dispenser_Fname= new string[9];
-string [] Dispenser_name= new string[8];
-string [] PCB_SN= new string[8];
-string [] Dispenser_PN= new string[8];
-
-Int32 [,] Dispenser_no = new Int32 [8,2] {{-1,0},{-1,0},{-1,0},{-1,0},{-1,0},{-1,0},{-1,0},{-1,0}};
-
-Int32 [] Dispenser_press= new Int32[8]{0,0,0,0,0,0,0,0};
-Int32 [] max_pressure_level = new Int32 [8] {20000,20000,20000,20000,20000,20000,20000,20000};
-Int32 [] min_pressure_level = new Int32 [8] {-20000,-20000,-20000,-20000,-20000,-20000,-20000,-20000};
-
-Int32 [] A2D_Dispenser= new Int32[8]{0,0,0,0,0,0,0,0};
-Int32 [] Loop_cnt= new Int32[8]{1,1,1,1,1,1,1,1};
-Int32 [] Loop_length= new Int32[8]{1,1,1,1,1,1,1,1};
-
-//byte [] Empty_EEprom=0;
-
-byte [] Empty_EEprom= new byte[8];
-byte [] Dry_Run_EEprom =new byte[8];
-byte [] Flow_EEprom =new byte[8];
-
-
-
-Int32 msec_index=0;
-
-byte [] EEPROM_Data = new byte [128];
-
-const int X_location =500;//260
-const int Y_location =40;
-
-Int32 [] Dispenser_sample_rate= new Int32[8]{1,1,1,1,1,1,1,1};
-//int dispenserNumber=1;
-//int Table=0;
-string shortDateString;
-string ButtonPress;
-string ButtonName;
-UInt32 Type_card;
-
-
-UInt32 RD_LS_01_Direct;
-UInt32 RD_LS_02_Direct;
-UInt32 RD_LS_03_Direct;
-UInt32 RD_LS_04_Direct;
-
-OpenFileDialog _openFiledialog;
-
-CancellationTokenSource _cancellationTokenSource;
-string path ;
-string Tbl_File_Name;
-
-Int32 Press_Sensor_Type ;//0 - 0-10 Bar ; 1- (-1) - 10 Bar ;
-ushort check_sum=0;
-
-//start mat
-//--------------------------------------------------------------------------------
-[STAThread]
-public void OnExecute(StubManager stubManager)
-{
-Dispenser_Fname[0]="";
-Dispenser_Fname[1]="";
-Dispenser_Fname[2]="";
-Dispenser_Fname[3]="";
-Dispenser_Fname[4]="";
-Dispenser_Fname[5]="";
-Dispenser_Fname[6]="";
-Dispenser_Fname[7]="";
-//----------------------------------------------------------------------------------
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0X60000522, 0X128);//0X128 EQULE 50 MSEC
-
-//--------------------Create form-------------------------------------------------
- Form form1 = new Form();
- _openFiledialog = new OpenFileDialog();
-//--------------------Set the caption bar text of the form------------------------
- form1.Text = "Dispenser Test V1.9";
- form1.TopMost = true;
-//------- Define the border style of the form to a dialog box---------------------
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
-//------Set the MaximizeBox to false to remove the maximize box-------------------
- form1.MaximizeBox = false;
-//------Set the MinimizeBox to false to remove the minimize box-------------------
- form1.MinimizeBox = false;
-//----Set the start position of the form to the center of the screen--------------
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-//--------------create ListBox --------------------------------------
- // Create an instance of the ListBox.
- ListBox listBox1 = new ListBox();
- // Set the size and location of the ListBox.
- listBox1.Size = new System.Drawing.Size(200, 80);
- listBox1.Location = new System.Drawing.Point(150,400);
- // Add the ListBox to the form.
- form1.Controls.Add(listBox1);
- // Set the ListBox to display items in multiple columns.
- listBox1.MultiColumn = false;
- // Set the selection mode to multiple and extended.
- listBox1.SelectionMode = SelectionMode.MultiExtended;
-
- // Shutdown the painting of the ListBox as items are added.
- listBox1.BeginUpdate();
- listBox1.Items.Add("Press-Sensor 0 to 10 Bar");
- listBox1.Items.Add("Press-Sensor -1 to 10 Bar");
- listBox1.Items.Add("Temp");
- listBox1.Items.Add("Moti");
- listBox1.EndUpdate();
-
- // Select one items from the ListBox.
- string text="0";
- if (File.Exists("C:\\Dispenser_setup\\setup.txt"))
- {
- text = System.IO.File.ReadAllText(@"C:\Dispenser_setup\setup.txt") ;
- }
-
- listBox1.SetSelected( Convert.ToInt32(text), true);
-string Text_Blck;
-string Text_Cyn;
-string Text_Mgnt;
-string Text_Ylw;
-string Text_TI;
-
- if ( (listBox1.SelectedItem)=="Moti")
- {
- Text_Blck = "Blck";
- Text_Cyn = "Cyn";
- Text_Mgnt = "Mgnt";
- Text_Ylw = "Ylw";
- Text_TI = "TI";
- path = "P:\\TSKF\\BPT\\";
- }
- else
- {
- Text_Blck = "";
- Text_Cyn = "";
- Text_Mgnt = "";
- Text_Ylw = "";
- Text_TI = "";
- path = "C:\\dispenser_setup\\Log\\";
-// path="%userprofile%\\Dropbox\\Dispenser_Tester\\Log\\";
-// path = "C:\\Dispenser_setup\\Log\\";
- }
-
- if ( (listBox1.SelectedItem)=="Press-Sensor -1 to 10 Bar")
- {
- stubManager.WriteLine("Press_Sensor_Type=1");
- Press_Sensor_Type=1;
- }
- else
- {
- stubManager.WriteLine("Press_Sensor_Type=0");
- Press_Sensor_Type=0;
- }
-//----------------------------------Dispenser 1 ------------------------------------------
-Label Label100 = new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="1"
- };
- Label100.Location = new Point (5, 55);
- form1.Controls.Add(Label100);
-TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = Text_Blck,
- };
-TextBox1.Location = new Point (20, 50);
-TextBox1.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox1); //dispencer 1
-
- TextBox Press0 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press0.Location = new Point (135, 50);
- form1.Controls.Add(Press0); //dispencer 1
-
- TextBox PartNm0 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm0.Location = new Point (250, 50);
- form1.Controls.Add(PartNm0); //dispencer 1
-
- // Create and initialize a CheckBox.
- CheckBox checkBox0 = new CheckBox();
- checkBox0.Location = new Point (370, 50);
- form1.Controls.Add(checkBox0);
-//----------------------------------Dispenser 2 ------------------------------------------
-Label Label102 = new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="2"
- };
- Label102.Location = new Point (5, 85);
- form1.Controls.Add(Label102);
-
- TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =Text_Cyn
- };
-TextBox3.Location = new Point (20, 80);
-TextBox3.CharacterCasing = CharacterCasing.Upper;
-form1.Controls.Add(TextBox3); //dispencer 2
-
-
- TextBox Press1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press1.Location = new Point (135, 80);
- form1.Controls.Add(Press1); //dispencer 2
-
- TextBox PartNm1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm1.Location = new Point (250, 80);
- form1.Controls.Add(PartNm1); //dispencer 2
- // Create and initialize a CheckBox.
- CheckBox checkBox1 = new CheckBox();
- checkBox1.Location = new Point (370, 80);
- form1.Controls.Add(checkBox1);
-
-//----------------------------------Dispenser 3 ------------------------------------------
-Label Label103 = new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="3"
- };
- Label103.Location = new Point (5, 125);
- form1.Controls.Add(Label103);
-
- TextBox TextBox4 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =Text_Mgnt,
- };
-TextBox4.Location = new Point (20, 120);
-TextBox4.CharacterCasing = CharacterCasing.Upper;
-form1.Controls.Add(TextBox4); //dispencer 3
-
- TextBox Press2 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press2.Location = new Point (135, 120);
- form1.Controls.Add(Press2); //dispencer3
-
- TextBox PartNm2 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm2.Location = new Point (250, 120);
- form1.Controls.Add(PartNm2); //dispencer 3
- // Create and initialize a CheckBox.
- CheckBox checkBox2 = new CheckBox();
- checkBox2.Location = new Point (370, 120);
- form1.Controls.Add(checkBox2);
-
-//----------------------------------Dispenser 4 ------------------------------------------
-Label Label104= new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="4"
- };
- Label104.Location = new Point (5, 165);
- form1.Controls.Add(Label104);
-
-TextBox TextBox5 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =Text_Ylw,
- };
-TextBox5.Location = new Point (20, 160);
-TextBox5.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox5); //dispencer 4
-
- TextBox Press3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press3.Location = new Point (135, 160);
- form1.Controls.Add(Press3); //dispencer4
-
- TextBox PartNm3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm3.Location = new Point (250, 160);
- form1.Controls.Add(PartNm3); //dispencer 4
- CheckBox checkBox3 = new CheckBox();
- checkBox3.Location = new Point (370, 160);
- form1.Controls.Add(checkBox3);
-
- //----------------------------------Dispenser 5 ------------------------------------------
-Label Label101 = new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="5"
- };
- Label101.Location = new Point (5, 205);
- form1.Controls.Add(Label101);
-
- TextBox TextBox6 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =Text_TI
- };
-TextBox6.Location = new Point (20, 200);
-TextBox6.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox6); //dispencer 5
-
- TextBox Press4 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press4.Location = new Point (135, 200);
- form1.Controls.Add(Press4); //dispencer5
-
- TextBox PartNm4 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm4.Location = new Point (250, 200);
- form1.Controls.Add(PartNm4); //dispencer 5
- CheckBox checkBox4 = new CheckBox();
- checkBox4.Location = new Point (370, 200);
- form1.Controls.Add(checkBox4);
-
- //----------------------------------Dispenser 6 ------------------------------------------
-Label Label106= new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="6"
- };
- Label106.Location = new Point (5, 245);
- form1.Controls.Add(Label106);
-
- TextBox TextBox7 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox7.Location = new Point (20, 240);
-TextBox7.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox7); //dispencer 6
-
- TextBox Press5 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press5.Location = new Point (135, 240);
- form1.Controls.Add(Press5); //dispencer6
-
- TextBox PartNm5 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm5.Location = new Point (250, 240);
- form1.Controls.Add(PartNm5); //dispencer 6
- CheckBox checkBox5 = new CheckBox();
- checkBox5.Location = new Point (370, 240);
- form1.Controls.Add(checkBox5);
-
- //----------------------------------Dispenser 7 ------------------------------------------
-Label Label107= new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="7"
- };
- Label107.Location = new Point (5, 285);
- form1.Controls.Add(Label107);
-
- TextBox TextBox8 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox8.Location = new Point (20, 280);
-TextBox8.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox8); //dispencer 7
-
- TextBox Press6 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press6.Location = new Point (135, 280);
- form1.Controls.Add(Press6); //dispencer7
-
- TextBox PartNm6 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm6.Location = new Point (250, 280);
- form1.Controls.Add(PartNm6); //dispencer 6
- CheckBox checkBox6 = new CheckBox();
- checkBox6.Location = new Point (370, 280);
- form1.Controls.Add(checkBox6);
-
-//----------------------------------Dispenser 8 ------------------------------------------
-Label Label108= new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="8"
- };
- Label108.Location = new Point (5, 325);
- form1.Controls.Add(Label108);
-
- TextBox TextBox9 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox9.Location = new Point (20, 320);
-TextBox9.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox9); //dispencer 8
-
- TextBox Press7 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press7.Location = new Point (135, 320);
- form1.Controls.Add(Press7); //dispencer8
-
- TextBox PartNm7 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm7.Location = new Point (250, 320);
- form1.Controls.Add(PartNm7); //dispencer 7
- CheckBox checkBox7 = new CheckBox();
- checkBox7.Location = new Point (370, 320);
- form1.Controls.Add(checkBox7);
-
- //-----------------------------File name -----------------------------------------
- TextBox TextBox10 = new TextBox ()
- {
- Width = 210,
- Height = 10,
- Text =""
- };
-TextBox10.Location = new Point (270, 10);
-TextBox10.CharacterCasing = CharacterCasing.Upper;
-form1.Controls.Add(TextBox10);
-//-----------------------------Dispenser Serial Number----------------------------------------
-
-Label Label1 = new Label ()
- {
- Width = 100,
- Height = 40,
- Text =" Dispenser S/N"
- };
-Label1.Location = new Point (20, 32);
- form1.Controls.Add(Label1);
-//-----------------------------PCB Serial Number----------------------------------------
-
-Label Label109 = new Label ()
- {
- Width = 100,
- Height = 40,
- Text =" PCB S/N"
- };
-Label109.Location = new Point (135, 32);
- form1.Controls.Add(Label109);
- //-----------------------------Dispenser Part Number----------------------------------------
-
-Label Labe2109 = new Label ()
- {
- Width = 100,
- Height = 40,
- Text =" Dispenser P/N"
- };
-Labe2109.Location = new Point (250, 32);
- form1.Controls.Add(Labe2109);
- //-----------------------------Pass----------------------------------------
-
-Label Labe3109 = new Label ()
- {
- Width = 100,
- Height = 40,
- Text ="Pass"
- };
-Labe3109.Location = new Point (360, 32);
- form1.Controls.Add(Labe3109);
-
-
-//---------------------- Seal Test --------------------------------------------
-Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-
- button1.Location = new Point (X_location,Y_location);
- button1.Text = "Seal Test";
-form1.Controls.Add(button1);
-//------------------------------------Priming --------------------------------------------
-Button button2 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button2.Location = new Point (X_location+110,Y_location);
- button2.Text = "Priming";
- form1.Controls.Add(button2);
-//------------------------------------Empty Process --------------------------------------------
-Button button3 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button3.Location = new Point (X_location+110,Y_location+220);
-button3.Text = "Empty Process";
- form1.Controls.Add(button3);
-//----------------------------------------- Load EEprom ---------------------------------------
-Button button4 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button4.Location = new Point (X_location+220,Y_location);
- button4.Text = "Load EEprom";
- form1.Controls.Add(button4);
-//---------------------------------------Save EEprom -----------------------------------------
-Button button5 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button5.Location = new Point (X_location+220,Y_location+110);
- button5.Text = "Save EEprom";
- form1.Controls.Add(button5);
-//----------------------------------------Motor_Up ----------------------------------------
-Button button6 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button6.Location = new Point (X_location+330,Y_location);
- button6.Text = "Up";
- form1.Controls.Add(button6);
-
-//--------------------------------------Motor_Down------------------------------------------
-Button button7 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button7.Location = new Point (X_location+330,Y_location+110);
- button7.Text = "Down";
- form1.Controls.Add(button7);
-//-------------------------------------Dynamic sealing positive pressure-------------------------------------------
-Button button8 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button8.Location = new Point (X_location,Y_location+110);
- button8.Text = "Dynamic sealing positive pressure";
- form1.Controls.Add(button8);
-//---------------------------------- Dynamic sealing negative pressure ----------------------------------------------
-Button button9 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-
- button9.Location = new Point (X_location,Y_location+220);
- button9.Text = "Dynamic sealing negative pressure";
- form1.Controls.Add(button9);
-//-------------------------------- Flow Test------------------------------------------------
-Button button10 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button10.Location = new Point (X_location+110,Y_location+110);
- button10.Text = "Flow Test";
- form1.Controls.Add(button10);
-//---------------------------------------Spare -----------------------------------------
-Button button11 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-button11.Location = new Point (X_location+330,Y_location+220);
-button11.Text = "spare3";
- form1.Controls.Add(button11);
-//-------------------------------------Valve Open-------------------------------------------
-Button button12 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button12.Location = new Point (X_location+440,Y_location);
- button12.Text = "Open Valve";
- form1.Controls.Add(button12);
-//-------------------------------------Valve Close -------------------------------------------
-Button button13 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button13.Location = new Point (X_location+440,Y_location+110);
- button13.Text = "Close Valve";
- form1.Controls.Add(button13);
-//-----------------------------------Reliability Test ---------------------------------------------
-Button button14 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button14.Location = new Point (X_location+220,Y_location+220);
- button14.Text = "Reliability Test";
- form1.Controls.Add(button14);
- //-----------------------------------Pressure build up ---------------------------------------------
-Button button15 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button15.Location = new Point (X_location+440,Y_location+220);
- button15.Text = "Pressure build up";
- form1.Controls.Add(button15);
- //------------------------------- load file.. -------------------------------------------------
-Button button16 = new Button ()
- {
- Width = 100,
- Height = 20,
- };
- button16.Location = new Point (160, 10);
- button16.Text = "Load file";
- form1.Controls.Add(button16);
-//------------------------------------run file --------------------------------------------
-Button button17 = new Button ()
- {
- Width = 100,
- Height = 20,
- };
- button17.Location = new Point (490, 10);
- button17.BackColor = System.Drawing.Color.Green;
- button17.Text = "Run";
- form1.Controls.Add(button17);
-//------------------------------------stop --------------------------------------------
-Button button18 = new Button ()
- {
- Width = 100,
- Height = 20,
- };
- button18.Text = "Stop";
- button18.BackColor = System.Drawing.Color.Red;
- button18.Location = new System.Drawing.Point(600, 10);
- button18.Enabled =false;
-
- form1.Controls.Add(button18);
-//--------------DispPress--------------------------------------------------------------------
-// void DispPress ()
-// {
-// Press0.Text=Dispenser_press[0].ToString();
-// Press1.Text=Dispenser_press[1].ToString();
-// Press2.Text=Dispenser_press[2].ToString();
-// Press3.Text=Dispenser_press[3].ToString();
-// Press4.Text=Dispenser_press[4].ToString();
-// Press5.Text=Dispenser_press[5].ToString();
-// Press6.Text=Dispenser_press[6].ToString();
-// Press7.Text=Dispenser_press[7].ToString();
-// }
-
-
-//---------------------- Seal Test --------------------------------------------
- button1.Click +=async (_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(SealTest_Table,"SealTest");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-//------------------------------------Priming --------------------------------------------
- button2.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(Priming_Table,"Priming");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-//------------------------------------Empty Process --------------------------------------------
-
- button3.Click += async (_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(EmptyProcess_Table,"EmptyProcess");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-
-//----------------------------------------- Load EEprom ---------------------------------------
- button4.Click += (_,__) =>
- {
- disable_test();
- Load_EEPROM();
- LoadDispenserName();
- enable_test();
- };
-
-//----------------------------------------- save EEprom ---------------------------------------
-
- button5.Click += (_,__) =>
- {
- disable_test();
- Dispenser_name[0] = (TextBox1.Text);
- Dispenser_name[1] = (TextBox3.Text);
- Dispenser_name[2] = (TextBox4.Text);
- Dispenser_name[3] = (TextBox5.Text);
- Dispenser_name[4] = (TextBox6.Text);
- Dispenser_name[5] = (TextBox7.Text);
- Dispenser_name[6] = (TextBox8.Text);
- Dispenser_name[7] = (TextBox9.Text);
-
- PCB_SN[0]=(Press0.Text);
- PCB_SN[1]=(Press1.Text);
- PCB_SN[2]=(Press2.Text);
- PCB_SN[3]=(Press3.Text);
- PCB_SN[4]=(Press4.Text);
- PCB_SN[5]=(Press5.Text);
- PCB_SN[6]=(Press6.Text);
- PCB_SN[7]=(Press7.Text);
-
- Dispenser_PN[0]=(PartNm0.Text);
- Dispenser_PN[1]=(PartNm1.Text);
- Dispenser_PN[2]=(PartNm2.Text);
- Dispenser_PN[3]=(PartNm3.Text);
- Dispenser_PN[4]=(PartNm4.Text);
- Dispenser_PN[5]=(PartNm5.Text);
- Dispenser_PN[6]=(PartNm6.Text);
- Dispenser_PN[7]=(PartNm7.Text);
-
-
- //-----------------------------------------
- if (checkBox0.Checked)
- {
- Empty_EEprom[0] = 80; //"P"
- Dry_Run_EEprom[0]= 80; //"P"
- Flow_EEprom[0]= 80; //"P"
- }
- else
- {
- Empty_EEprom[0] = 70; //"F"
- Dry_Run_EEprom[0]= 70; //"F"
- Flow_EEprom[0]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox1.Checked)
- {
- Empty_EEprom[1] = 80; //"P"
- Dry_Run_EEprom[1]= 80; //"P"
- Flow_EEprom[1]= 80; //"P"
- }
- else
- {
- Empty_EEprom[1] = 70; //"F"
- Dry_Run_EEprom[1]= 70; //"F"
- Flow_EEprom[1]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox2.Checked)
- {
- Empty_EEprom[2] = 80; //"P"
- Dry_Run_EEprom[2]= 80; //"P"
- Flow_EEprom[2]= 80; //"P"
- }
- else
- {
- Empty_EEprom[2] = 70; //"F"
- Dry_Run_EEprom[2]= 70; //"F"
- Flow_EEprom[2]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox3.Checked)
- {
- Empty_EEprom[3] = 80; //"P"
- Dry_Run_EEprom[3]= 80; //"P"
- Flow_EEprom[3]= 80; //"P"
- }
- else
- {
- Empty_EEprom[3] = 70; //"F"
- Dry_Run_EEprom[3]= 70; //"F"
- Flow_EEprom[3]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox4.Checked)
- {
- Empty_EEprom[4] = 80; //"P"
- Dry_Run_EEprom[4]= 80; //"P"
- Flow_EEprom[4]= 80; //"P"
- }
- else
- {
- Empty_EEprom[4] = 70; //"F"
- Dry_Run_EEprom[4]= 70; //"F"
- Flow_EEprom[4]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox5.Checked)
- {
- Empty_EEprom[5] = 80; //"P"
- Dry_Run_EEprom[5]= 80; //"P"
- Flow_EEprom[5]= 80; //"P"
- }
- else
- {
- Empty_EEprom[5] = 70; //"F"
- Dry_Run_EEprom[5]= 70; //"F"
- Flow_EEprom[5]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox6.Checked)
- {
- Empty_EEprom[6] = 80; //"P"
- Dry_Run_EEprom[6]= 80; //"P"
- Flow_EEprom[6]= 80; //"P"
- }
- else
- {
- Empty_EEprom[6] = 70; //"F"
- Dry_Run_EEprom[6]= 70; //"F"
- Flow_EEprom[6]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox7.Checked)
- {
- Empty_EEprom[7] = 80; //"P"
- Dry_Run_EEprom[7]= 80; //"P"
- Flow_EEprom[7]= 80; //"P"
- }
- else
- {
- Empty_EEprom[7] = 70; //"F"
- Dry_Run_EEprom[7]= 70; //"F"
- Flow_EEprom[7]= 70; //"F"
- }
-
- Save_EEPROM();
- enable_test();
-
- };
- //----------------------------------------Motor_Up ----------------------------------------
- button6.Click +=async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(Up_Table,"MotorUp");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
-
- }
- };
-//--------------------------------------Motor_Down Homing------------------------------------------
- button7.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(Down_Table,"Homing");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
-
- }
- };
-//-------------------------------------Dynamic sealing positive pressure-------------------------------------------
-
- button8.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(DynamicPositive_Table,"Dynamic Positive");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-//---------------------------------- Dynamic sealing negative pressure ----------------------------------------------
- button9.Click +=async (_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(DynamicNegative_Table,"Dynamic Negative");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-//-------------------------------- Flow Test------------------------------------------------
- button10.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(Flow_Table,"Flow Test");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-
-//---------------------------------------Homing no need -----------------------------------------
-// button11.Click += (_,__) =>
-// {
-// ButtonName = "Homing";
-// Dispenser_name[0] = (TextBox1.Text);
-// Dispenser_name[1] = (TextBox3.Text);
-// Dispenser_name[2] = (TextBox4.Text);
-// Dispenser_name[3] = (TextBox5.Text);
-// Dispenser_name[4] = (TextBox6.Text);
-// Dispenser_name[5] = (TextBox7.Text);
-// Dispenser_name[6] = (TextBox8.Text);
-// Dispenser_name[7] = (TextBox9.Text);
-// Table=2;
-//
-// DispenserSetup();
-// };
-//-------------------------------------Valve Open-------------------------------------------
-
- button12.Click += (_,__) =>
- {
- ButtonName = "Open Valve";
- valveopen(stubManager);
- };
-
-//-------------------------------------Valve Close -------------------------------------------
- button13.Click += (_,__) =>
- {
- ButtonName = "Close Valve";
- valveclose(stubManager);
- };
-
-//-----------------------------------Reliability Test ---------------------------------------------
- button14.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(Reliability_Table,"Reliability Test");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
- //-----------------------------------Pressure build up ---------------------------------------------
- button15.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(BuildUp_Table,"Pressure Build Up");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-
-//------------------------------- load file.. -------------------------------------------------
- button16.Click += (_,__) =>
- {
- try
- {
- Thread t = new Thread(() => {
- OpenFileDialog dlg = new OpenFileDialog();
- // The following would not return the dialog if the current
- // thread is not STA
- dlg.Filter = "TBL|*.tbl";
- if(dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- TextBox10.Text= dlg.SafeFileName;
- Tbl_File_Name=TextBox10.Text;
- }
- });
- t.SetApartmentState(ApartmentState.STA);
- t.Start();
- }
- catch (Exception ex)
- {
- stubManager.WriteLine("exseption");
- //ex.LogException();
- }
- };
- //------------------------------------run file --------------------------------------------
- button17.Click += async(_,__) =>
- {
- // stubManager.WriteLine(Tbl_File_Name +" -1");
-
- if ((ConverFileToTBL(Tbl_File_Name)) ==0)
- {
- stubManager.WriteLine(Tbl_File_Name +" --ok");
-
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- string[] FileName = Tbl_File_Name.Split('.');
- var longRunningTask =await DispenserSetup(Start_Table,FileName[0]);
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- }
- else
- {
- _cancellationTokenSource = new CancellationTokenSource();
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("Error Table ");
- }
-
- };
-//------------------------------------stop --------------------------------------------
- button18.Click += (_, __) =>
- {
- _cancellationTokenSource.Cancel();
- stubManager.WriteLine("stop ");
-
- // ButtonName = "Stop";
-
-
- //TextBox1.Text ="";
- };
-
- //--------------------load dispenser name ------------------------
- void LoadDispenserName ()
- {
- (TextBox1.Text) = Dispenser_name[0];
- (TextBox3.Text) = Dispenser_name[1];
- (TextBox4.Text) = Dispenser_name[2];
- (TextBox5.Text) = Dispenser_name[3];
- (TextBox6.Text) = Dispenser_name[4];
- (TextBox7.Text) = Dispenser_name[5];
- (TextBox8.Text) = Dispenser_name[6];
- (TextBox9.Text) = Dispenser_name[7];
-
-
- (Press0.Text)=PCB_SN[0];
- (Press1.Text)=PCB_SN[1];
- (Press2.Text)=PCB_SN[2];
- (Press3.Text)=PCB_SN[3];
- (Press4.Text)=PCB_SN[4];
- (Press5.Text)=PCB_SN[5];
- (Press6.Text)=PCB_SN[6];
- (Press7.Text)=PCB_SN[7];
-
- (PartNm0.Text)=Dispenser_PN[0];
- (PartNm1.Text)=Dispenser_PN[1];
- (PartNm2.Text)=Dispenser_PN[2];
- (PartNm3.Text)=Dispenser_PN[3];
- (PartNm4.Text)=Dispenser_PN[4];
- (PartNm5.Text)=Dispenser_PN[5];
- (PartNm6.Text)=Dispenser_PN[6];
- (PartNm7.Text)=Dispenser_PN[7];
-
-
- }
-
-
-//--------------------disabele test ------------------------
- void disable_test()
- {
-
- if ( (listBox1.SelectedItem)=="Press-Sensor -1 to 10 Bar")
- {
- stubManager.WriteLine("Press_Sensor_Type=1");
- Press_Sensor_Type=1;
- }
- else
- {
- stubManager.WriteLine("Press_Sensor_Type=0");
- Press_Sensor_Type=0;
- }
-
- button1.Enabled =false;
- button2.Enabled =false;
- button3.Enabled =false;
- button4.Enabled =false;
- button5.Enabled =false;
- button6.Enabled =false;
- button7.Enabled =false;
- button8.Enabled =false;
- button9.Enabled =false;
- button10.Enabled =false;
- button11.Enabled =false;
- button12.Enabled =false;
- button13.Enabled =false;
- button14.Enabled =false;
- button15.Enabled =false;
- button16.Enabled =false;
- button17.Enabled =false;
- button18.Enabled =true;
-
-
- Dispenser_name[0] = (TextBox1.Text);
- Dispenser_name[1] = (TextBox3.Text);
- Dispenser_name[2] = (TextBox4.Text);
- Dispenser_name[3] = (TextBox5.Text);
- Dispenser_name[4] = (TextBox6.Text);
- Dispenser_name[5] = (TextBox7.Text);
- Dispenser_name[6] = (TextBox8.Text);
- Dispenser_name[7] = (TextBox9.Text);
-
- PCB_SN[0]=(Press0.Text);
- PCB_SN[1]=(Press1.Text);
- PCB_SN[2]=(Press2.Text);
- PCB_SN[3]=(Press3.Text);
- PCB_SN[4]=(Press4.Text);
- PCB_SN[5]=(Press5.Text);
- PCB_SN[6]=(Press6.Text);
- PCB_SN[7]=(Press7.Text);
-
-
- Dispenser_PN[0]=(PartNm0.Text);
- Dispenser_PN[1]=(PartNm1.Text);
- Dispenser_PN[2]=(PartNm2.Text);
- Dispenser_PN[3]=(PartNm3.Text);
- Dispenser_PN[4]=(PartNm4.Text);
- Dispenser_PN[5]=(PartNm5.Text);
- Dispenser_PN[6]=(PartNm6.Text);
- Dispenser_PN[7]=(PartNm7.Text);
-
-
-
-
-
- }
-//--------------------enable test ------------------------
-
- void enable_test()
- {
- button1.Enabled =true;
- button2.Enabled =true;
- button3.Enabled =true;
- button4.Enabled =true;
- button5.Enabled =true;
- button6.Enabled =true;
- button7.Enabled =true;
- button8.Enabled =true;
- button9.Enabled =true;
- button10.Enabled =true;
- button11.Enabled =true;
- button12.Enabled =true;
- button13.Enabled =true;
- button14.Enabled =true;
- button15.Enabled =true;
- button16.Enabled =true;
- button17.Enabled =true;
- button18.Enabled =false;
-
- for (Int32 i=0;i<8;i++)
- {
- MotorStop(i);
- }
-
- // stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,WINDER_Motor,3); //stop motor
- // stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
-
- }
-
-
-
-// Display the form as a modal dialog box.
- form1.ShowDialog();
-
-
- for (Int32 i=0;i<8;i++)
- {
- MotorStop(i);
- stubManager.Write("Motor Stop Hard Hiz \t");
-
- System.IO.File.WriteAllText(@"C:\Dispenser_setup\setup.txt", listBox1.SelectedIndex.ToString());
-
- stubManager.Write(listBox1.SelectedItem);
- }
-
- return;
-}
-
-public int delay(Int32 ms_delay)
- {
-
- Thread.Sleep(ms_delay);
- if (_cancellationTokenSource.Token.IsCancellationRequested)
- {
- _cancellationTokenSource.Token.ThrowIfCancellationRequested();
- throw new TaskCanceledException();
- return 0;
- }
- return 0;
- }
diff --git a/Software/Stubs Collection/stubs/Scripts/Head_EEPROM.cs b/Software/Stubs Collection/stubs/Scripts/Head_EEPROM.cs
deleted file mode 100644
index 1b3ab7213..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Head_EEPROM.cs
+++ /dev/null
@@ -1,135 +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 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
-//----------------------
-
-
-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 adc_write(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
- //--------------------------------------------------------------
-
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x12 + Page);//Data 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x34 + Page);//Data 1 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x56 + Page);//Data 2 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x78 + Page);//Data 3 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x90 + Page);//Data 4 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xAB + Page);//Data 5 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xCD + Page);//Data 6 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xEF + Page);//Data 7 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x01 + Page);//Data 8 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x02 + Page);//Data 9 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- 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++)
- {
-
- adc_write(I2C_Slave_Add,0x10);
- Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- adc_write(I2C_Slave_Add,0x00);
- Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- stubManager.Write("\nPage 0x10 #");
- stubManager.Write(i);
- stubManager.Write("\t- The Buffer is: ");
- adc_set_for_read_ch(I2C_Slave_Add,0x10);
- //Thread.Sleep(1); //Sleep for 10 milli.
- adc_read_ch(I2C_Slave_Add);
-
- Thread.Sleep(10);
-
- 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/Head_Type_Indification.cs b/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification.cs
deleted file mode 100644
index 948b847af..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification.cs
+++ /dev/null
@@ -1,25 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0);
-
- /* Response:
- HEAD_TYPE_UNKNOWN // 0
- HEAD_TYPE_SYLKO_WITHOUT_CARD// 1
- HEAD_TYPE_UNKNOWN_WITH_CARD// 2
- HEAD_TYPE_SYLKO// 3
- HEAD_TYPE_STAPLE_SPUN// 4
- */
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs b/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs
deleted file mode 100644
index a5f28a01d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs
+++ /dev/null
@@ -1,25 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0);
-
- /* Response:
- HEAD_TYPE_UNKNOWN // 0
- HEAD_TYPE_FLAT_WITHOUT_CARD// 1
- HEAD_TYPE_UNKNOWN_WITH_CARD// 2
- HEAD_TYPE_FLAT// 3
- HEAD_TYPE_ARC// 4
- */
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/I2C_RW_Dispenser_EEPROM.cs b/Software/Stubs Collection/stubs/Scripts/I2C_RW_Dispenser_EEPROM.cs
deleted file mode 100644
index 3c4a1d70a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/I2C_RW_Dispenser_EEPROM.cs
+++ /dev/null
@@ -1,134 +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 I2C_ID = 4; //MCU_I2C4
-const Int32 TCA9548A_address = 0xE2;
-//const Int32 I2C_Slave_Add = 0xA0; // //eeprom address - 32kByte & 128kByte
-const Int32 I2C_Slave_Add = 0xA2; //eeprom address - only in the eeprom of 128kByte
-int Dispenser_ID = 6; //Software Dispensers 0..7, BP Dispensers 1..8
-//----------------------
-
-int enable_all_channel()
-{
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;
-
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xff);//enable all 8 i2c channel
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-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);//enable i2c channel 0 Dispenser 1
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-
-int adc_write(uint I2C_Slave_Add)
-{
- 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(0);//Byte 0 to write
- //--------------------------------------------------------------
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x12);//Data 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x34);//Data 1 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x56);//Data 2 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x78);//Data 3 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x90);//Data 4 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xAB);//Data 5 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xCD);//Data 6 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xEF);//Data 7 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Data 8 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x02);//Data 9 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(0);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0);//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(Dispenser_ID); // Chanel 0-7 => Disp0enser 0-7
-
- for (int i = 0; i<100; i++)
- {
-
- adc_write(I2C_Slave_Add);
- Thread.Sleep(5); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
- stubManager.Write("\n#");
- stubManager.Write(i);
- stubManager.Write("\t- The Buffer is: ");
- adc_set_for_read_ch(I2C_Slave_Add);
- //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/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs b/Software/Stubs Collection/stubs/Scripts/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs
deleted file mode 100644
index 6ec538758..000000000
--- a/Software/Stubs Collection/stubs/Scripts/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs
+++ /dev/null
@@ -1,98 +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 I2C_ID = 2; //MCU_I2C2
-
-const Int32 I2C_Slave_Add = 0xA0; //Slave (EEPROM) address
-
-string str = "UM181700004";//main card S/N
-
-uint length = 11;
-int i = 0;
-
-//----------------------
-
-int adc_write(uint I2C_Slave_Add)
-{
- 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(0);//Byte 0 to write
- //--------------------------------------------------------------
-
- for(i=0;i<length;i++)
- stubI2CWriteBytesRequest.BytesTWrite.Add(str[i]);//Data 0 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(0);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0);//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 = length; // 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.Write((char) temph);
- }
-
- return 1;
-}
-
-
-public void OnExecute(StubManager stubManager)
-{
-
- for (int i = 0; i<1; i++)
- {
-
- adc_write(I2C_Slave_Add);
- Thread.Sleep(5); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
- stubManager.Write("\n");
-
- stubManager.Write("The eeprom data: ");
- adc_set_for_read_ch(I2C_Slave_Add);
-
- adc_read_ch(I2C_Slave_Add);
-
- Thread.Sleep(1000);
-
- }
-} \ 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
deleted file mode 100644
index 91b8944ca..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig.cs
+++ /dev/null
@@ -1,457 +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, 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)
- {
- 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<2)&& (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 mechanical stopper?. See picture on document", "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" + temp3 + "\n" );
- ReadEncoder_Dryer();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (30*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? See picture on document", "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.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- 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
-
- 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.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- 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;
-
-}
-
-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/DyeHead_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DyeHead_Jig.cs
deleted file mode 100644
index bf1a7d9c8..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DyeHead_Jig.cs
+++ /dev/null
@@ -1,344 +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 DyeHead_UNDER_TEST=16;
-
-float [] DyeHeadTemp = new float[6] ;
-
-string [,] Units_status_DyeHead = new string[DyeHead_UNDER_TEST,2] {
- {"Pt100_Zone_1","Not Test"},
- {"Pt100_Zone_2","Not Test"},
- {"Pt100_Zone_3","Not Test"},
- {"Pt100_Zone_4","Not Test"},
- {"Pt100_Zone_5","Not Test"},
- {"Pt100_Zone_6","Not Test"},
- {"Heater_Zone_1","Not Test"},
- {"Heater_Zone_2","Not Test"},
- {"Heater_Zone_3","Not Test"},
- {"Heater_Zone_4","Not Test"},
- {"Heater_Zone_5","Not Test"},
- {"Heater_Zone_6","Not Test"},
- {"Magnet ","Not Test"},
- {"LS_DH_LID_Open","Not Test"},
- {"LS_DH_LID_Close","Not Test"},
- {"DH_LID_Motor","Not Test"},
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> DyeHead_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 (DyeHead_UNDER_TEST,Units_status_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");
- Test_Magnet_Motor_LS_DyeHead();
- settext("Test heaters &pt100");
- Test_heaters_pt100 ();
-
- Status=write_to_file(SN,Location,DyeHead_UNDER_TEST,"Dyehead");
-
- settext("End Test");
- }
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_DyeHead()
-{
- Int32 Bit = 1;
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,MAGNET_Driver, false,0x800000+0);
- stubManager.Write("\nTesting SSR no. 13 of magnet or motor driver");
-
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not Open\n");
- return 0;
- }
- Units_status[12,1]="Pass";
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, 250);
- stubManager.Write("\n*** Open Lid Head ");
-
- Bit = 1;
- int i=0;
- while ((Bit != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_01_Direct,7);
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
-
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- Units_status[15,1]="Fail";
- Units_status[13,1]="Fail";
- stubManager.Write("LS_DH_LID_Open Not calibrate\n");
- return 0;
- }
- Units_status[13,1]="Pass";
- stubManager.Write("\n*** Close Lid Head ");
- Bit = 1;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, 250);
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_01_Direct,8);
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[14,1]="Fail";
- Units_status[15,1]="Fail";
- stubManager.Write("LS_DH_LID_Close Not calibrate\n");
- return 0;
- }
- Units_status[14,1]="Pass";
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,MAGNET_Driver, false,0x800000+2);
- DialogResult result3 = MessageBox.Show("Make shure, Magnet is close", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not close\n");
- return 0;
- }
- Units_status[12,1]="Pass";
- Units_status[15,1]="Pass";
-
- return 0;
-}
-
-
-//------------------------------------
-public int Test_heaters_pt100()
-{
-
-// uint utemp=0;
- uint temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
-
- stubManager.Write("\nTemp Befor heating \n");
- if (test_pt100_dyehead()!=0)
- return 0;
-
-//------------Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 8
- SetBit (F2_CTRL, 3, 1);
- stubManager.Write("Testing SSR no. 8\tHeadZone-1\t");
- delay(15000);
- adc_configuration(0x40,0x10); //a2d_address 0x40 channel 3
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (F2_CTRL, 3, 0);
- ftemp=Read_pt100(1);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+ current + "\n");
- ftemp = ftemp - DyeHeadTemp[0];
-
- if ((current>1.5)|| (current<0.9)||(ftemp<5)||(ftemp>40))
- Units_status[6,1]="Fail";
- else
- Units_status[6,1]="Pass";
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 7
- ftemp=Read_pt100(2);
- ftemp1 = ftemp - DyeHeadTemp[1];
- if ( ftemp1>4)
- Units_status[7,1]="Fail";
- else
- {
- SetBit (F2_CTRL, 4, 1);
- stubManager.Write("Testing SSR no. 7\tHeadZone-2\t");
- delay(15000);
- adc_configuration(0x40,0x08); //a2d_address 0x40 channel 4
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (F2_CTRL, 4, 0);
- ftemp=Read_pt100(2);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+ current + "\n");
- ftemp = ftemp - DyeHeadTemp[1];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>40))
- Units_status[7,1]="Fail";
- else
- Units_status[7,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 6
-
- ftemp=Read_pt100(3);
- ftemp1 = ftemp - DyeHeadTemp[2];
- if ( ftemp1>4)
- Units_status[8,1]="Fail";
- else
- {
- SetBit (F2_CTRL, 5, 1);
- stubManager.Write("Testing SSR no. 6\tHeadZone-3\t");
- delay(15000);
- adc_configuration(0x40,0x04); //a2d_address 0x40 channel 5
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (F2_CTRL, 5, 0);
- ftemp=Read_pt100(3);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current +"\n");
- ftemp = ftemp - DyeHeadTemp[2];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>40))
- Units_status[8,1]="Fail";
- else
- Units_status[8,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 5
- ftemp=Read_pt100(4);
- ftemp1 = ftemp - DyeHeadTemp[3];
- if ( ftemp1>4)
- Units_status[9,1]="Fail";
- else
- {
- SetBit (F2_CTRL, 6, 1);
- stubManager.Write("Testing SSR no. 5\tHeadZone-4\t");
- delay(15000);
- adc_configuration(0x44,0x80); //a2d_address 0x44 channel 0
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001221) * current;
-
- SetBit (F2_CTRL, 6, 0);
- ftemp=Read_pt100(4);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[3];
- if ((current<2.9)|| (current>3.4)||(ftemp<5)||(ftemp>40 ))
- Units_status[9,1]="Fail";
- else
- Units_status[9,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 10
- ftemp=Read_pt100(5);
- ftemp1 = ftemp - DyeHeadTemp[4];
- if ( ftemp1>4)
- Units_status[10,1]="Fail";
- else
- {
- SetBit (F1_gpo_01, 2, 1);
- stubManager.Write("Testing SSR no. 10\tHeadZone-5\t");
- delay(15000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001526) * current;
- SetBit (F1_gpo_01, 2, 0);
- ftemp=Read_pt100(5);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[4];
- if ((current<2.9)|| (current>3.4)||(ftemp<5)||(ftemp>40))
- Units_status[10,1]="Fail";
- else
- Units_status[10,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 11
- ftemp=Read_pt100(11);
- ftemp1 = ftemp - DyeHeadTemp[5];
- if ( ftemp1>4)
- Units_status[11,1]="Fail";
- else
- {
- SetBit (F3_GPO_01_bus, 4, 1);
- stubManager.Write("Testing SSR no. 11\tHeadZone-6\t");
- delay(15000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001526) * current;
- SetBit (F3_GPO_01_bus, 4, 0);
- ftemp=Read_pt100(11);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[5];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>40))
- Units_status[11,1]="Fail";
- else
- Units_status[11,1]="Pass";
- }
- return 0;
-}
-//------------------------------------------------
- int test_pt100_dyehead()
- {
- float ftemp=0;
- int temp=0;
- int j=0;
- for (int i = 0; i < 6; i++)
- {
- if (i==5)
- j=11;
- else
- j=i+1;
- DyeHeadTemp[i]=Read_pt100(j);
- ftemp=DyeHeadTemp[i];
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[i,1]="Fail";
- }
- else
- {
- Units_status[i,1]="Pass";
- }
- stubManager.Write("Zone-"+(i+1)+ "\t" + ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-
- }
- return 0;
- }
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs
deleted file mode 100644
index a90acd902..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs
+++ /dev/null
@@ -1,1032 +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_Name2;
-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)
-{
- string u =System.Environment.UserName;
-
-
-
- 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);
- PN_TexstBox.CharacterCasing = CharacterCasing.Upper;
-
- 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 Open_Log_btm = new Button()
- {
- Width = 100,
- Height = 40,
- };
- Open_Log_btm.Text = "Open Log File";
- Open_Log_btm.BackColor = System.Drawing.Color.Red;
- Open_Log_btm.Location = new System.Drawing.Point(300, 286);
- Open_Log_btm.Enabled= false;
- form1.Controls.Add(Open_Log_btm);
-
-
- Open_Log_btm.Click += (_, __) =>
- {
- System.Diagnostics.Process.Start(File_Name2 );
- };
-
-
-//--------------------------------------------------------------------------------
- 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();
- Open_Log_btm.Enabled= true;
- 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)
- {
- disable_test();
- return;
- }
-
- if (PN_TexstBox.Text.Contains("-"))
-
- {
- temp=PN_TexstBox.Text.Substring(0, PN_TexstBox.Text.IndexOf("-"));
- 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 "AM00281": //New Mixer
- NewMixer_btm.Enabled= true;
- break;
- // case "AM00281": // Mixer
- // Mixer_btm.Enabled= true;
- // break;
- default:
- disable_test();
- break;
- }
- }
- else
- disable_test();
-
-
- };
- SN_TexstBox.TextChanged += (_,__)=>
-
- {
- string temp;
- if (SN_TexstBox.Text.Length!=15)
- {
- disable_test();
- return;
- }
- if (PN_TexstBox.Text.Contains("-"))
- {
-
- temp=PN_TexstBox.Text.Substring(0, PN_TexstBox.Text.IndexOf("-"));
-
- 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;
- default:
- disable_test();
- break;
-// case "AM00281": // Mixer
-// Mixer_btm.Enabled= true;
-// break;
- }
- }
- else
- disable_test();
- };
-//-----------------------------------------
- Winder_btm.Click += async(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- Winder ");
-// path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Winder\\" ;
- path="C:\\Users\\" + u + "\\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(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- LTFU ");
- path="C:\\Users\\" + u + "\\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" ,LDANCER2_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(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- Dryer ");
- path="C:\\Users\\" + u + "\\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(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- DyeHead ");
- path="C:\\Users\\" + u + "\\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(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- New DyeHead ");
- path="C:\\Users\\" + u + "\\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(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- RTFU ");
- path="C:\\Users\\" + u + "\\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(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- MidTank ");
- path="C:\\Users\\" + u + "\\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(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- Mixer ");
- path="C:\\Users\\" + u + "\\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(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- New Mixer ");
- path="C:\\Users\\" + u + "\\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;
- }
-
-
-
- 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/Jig-TesterV 1.0.docx b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docx
deleted file mode 100644
index f7aa53997..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docx b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docx
deleted file mode 100644
index 948efd86b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs
deleted file mode 100644
index 7d954e8b1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs
+++ /dev/null
@@ -1,496 +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 LTFU_UNDER_TEST=12;
-//---------------------------
-
-string [,] Units_status_LTFU = new string[LTFU_UNDER_TEST,2] {
- {"LS_LLOADMOTOR_Up","Not Test"}, //0
- {"LS_LLOADMOTOR_DOWN","Not Test"}, //1
- {"LLOADING_Motor","Not Test"}, //2
- {"LDRIVING_Motor","Not Test"}, //3
- {"LS_LDANCER_Left_DOWN","Not Test"}, //4
- {"LS_LDANCER_Left_UP","Not Test"}, //5
- {"LDANCER_Left_Motor","Not Test"}, //6
- {"LDANCER_Left_ROTENC","Not Test"}, //7
- {"LDANCER_Right_ROTENC","Not Test"}, //8
- {"LS_LDANCER_Right_DOWN","Not Test"}, //9
- {"LS_LDANCER_Right_UP","Not Test"}, //10
- {"LDANCER_Right_Motor","Not Test"}, //11
-
- };
-//-----------------------------------------------------
-//--------------------------------------------------------------------------------
-
-
-public Task<decimal> LTFU_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- int no_of_test=12;
-
- 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 (no_of_test,Units_status_LTFU);
-
- settext("Test LLOADING LTFU");
- 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
-
- settext("Test LDRIVING LTFU");
- Test_LDRIVING_LTFU();
-
- settext("Test DANCER LTFU");
-
-no_of_test=Test_DANCER_LTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER1_Motor, 3); //hold Lloading high z
-
- Status=write_to_file(SN,Location,no_of_test,"LTFU");
-
- settext("End Test");
-
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-
- //------------------------------------
-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
- delay(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Rloading down
- delay(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Rloading high z
- delay(1000);
-//------------------------------------------ check F1_LS_LLOADMOTOR_UP------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
- if ((response.Value & F1_LS_LLOADMOTOR_UP) !=F1_LS_LLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did LLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LLOADMOTOR\tFail\n");
- return 0;
- }
- }
-//----------------------------------------- mov LLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor,true,300); //move Lloading up
- counter =0;
- while ( counter < 200)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_LLOADMOTOR_UP) != F1_LS_LLOADMOTOR_UP )
- counter=250;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- if (counter == 200)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_LLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
-
- if ((response.Value & F1_LS_LLOADMOTOR_DN) !=F1_LS_LLOADMOTOR_DN ) //if LS_LLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov LLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,300); //move Lloading down
- counter =0;
- while ( counter < 200)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_LLOADMOTOR_DN) != F1_LS_LLOADMOTOR_DN )
- counter=250;
-
- delay(100);
- }
-
- if (counter == 200)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN\tFail\n");
- return 0;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- DialogResult result4 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result4 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("LLOADMOTOR\tPass\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Lloading down
- delay(4000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- return 1 ;
-
-}
-
-
-Int32 ReadEncoder(int i)
-{
- Int32 temp;
-
- if (i==1) //LDANCER1_ROTENC == LTFU Danser Right
- {
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_LDANCER1_ROTENC_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER1_ROTENC_LSB);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER1_ROTENC_MSB);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
- }
- //LDANCER2_ROTENC == LTFU Danser Left
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_LDANCER2_ROTENC_TX, 0x0000); //triggers a TX transmission
- var response2 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER2_ROTENC_LSB);
- var response3 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER2_ROTENC_MSB);
-
- temp = Convert.ToInt32 (((((response3.Value <<16) + response2.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_LTFU()
-{
- int counter;
- Int32 temp_left_before;
- Int32 temp_left_after;
- Int32 temp_right_before;
- Int32 temp_right_after;
-
-
-//------------------------------------------ check F1_LS_LDANCER1_DN ------------------------------------------------
- MessageBox.Show("Make sure LDANCERs Down");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
-
- if ((response.Value & F1_LS_LDANCER1_UP) !=F1_LS_LDANCER1_UP ) //if F1_LS_LDANCER1_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER_Left_UP\tFail\n");
- return 12;
- }
-//----------------------------------------- check F1_LS_LDANCER1_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER1_Motor,false,450); //move Lloading up
- counter =0;
- while ( counter < 300)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LDANCER1_UP is up then move down
- if ((response.Value & F1_LS_LDANCER1_UP) != F1_LS_LDANCER1_UP )
- counter=350;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER1_Motor, 3); //hold Ldancer high z
- if (counter == 300)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER_Left_UP\tFail\n");
- return 12;
- }
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
- if ((response.Value & F1_LS_LDANCER1_DN) !=F1_LS_LDANCER1_DN ) //if F1_LS_LDANCER1_DN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_LDANCER_Left_DN\tFail\n");
- return 12;
- }
-
- DialogResult result5= MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result5== DialogResult.No)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER_Left_UP Not calibrate\n");
- return 12;
- }
-
- Units_status[5,1]="Pass";
- stubManager.Write("LS_LDANCER_Left_UP\tPass\n");
-
-//----------------------------------------- mov LDANCER1_Motor down and check Ldancer encoder -------------------------------------------------
- temp_left_before= ReadEncoder(0);
- delay(10);
-
- temp_right_before= ReadEncoder(1);
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER1_Motor,true,450); //move Rloading down
- counter =0;
- while ( counter < 300)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LDANCER1_DN is dn then move stop
- if ((response.Value & F1_LS_LDANCER1_DN) != F1_LS_LDANCER1_DN )
- counter=350;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER1_Motor, 3); //hold Rloading high z
- // if (counter == 300)
-// {
-// Units_status[4,1]="Fail";
-// stubManager.Write("LS_LDANCER_Left_DN\tFail\n");
-// return 12;
-// }
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result2 == DialogResult.No)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_LDANCER_Left_DN Not calibrate\n");
- return 12;
- }
- else
- {
- Units_status[4,1]="Pass";
- stubManager.Write("LS_LDANCER_Left_DN\tPass\n");
- }
- Units_status[6,1]="Pass";
- stubManager.Write("LDANCER_Left_Motor\tPass\n");
-
- temp_left_after= ReadEncoder(0);
- delay(10);
- temp_right_after= ReadEncoder(1);
- delay(10);
-
- stubManager.Write("temp_left_before="+temp_left_before + "\ttemp_left_after="+temp_left_after +"\n");
- delay(10);
-
- stubManager.Write("temp_right_before="+temp_right_before + "\ttemp_right_after="+temp_right_after +"\n");
- delay(10);
-
- DialogResult result = MessageBox.Show("SSI Dancer Left led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[7,1]="Fail";
- stubManager.Write("LDANCER_Left_SSI\tFail\n");
- return 9;
-
- }
-
- if (temp_left_after>temp_left_before)
- temp_left_before=temp_left_before+0x4000;
- temp_left_before=temp_left_before-temp_left_after;
- if ((temp_left_before> 5000) || (temp_left_before <200))
- {
- Units_status[7,1]="Fail";
- stubManager.Write("LDANCER_Left_SSI\tFail\n");
- return 9;
- }
- Units_status[7,1]="Pass";
- stubManager.Write("LDANCER_Left_SSI\tPass\n");
-
-
- DialogResult result3 = MessageBox.Show("SSI Dancer_Right_led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("LDANCER_Right_SSI\tFail\n");
- return 12;
- }
-
-
- if (temp_right_after<temp_right_before)
- temp_right_after=temp_right_after+0x4000;
- temp_right_before=temp_right_after-temp_right_before;
- if ((temp_right_before< 5000) && (temp_right_before >200))
- {
- Units_status[8,1]="Pass";
- stubManager.Write("LDANCER_Right_SSI\tPass\n");
- return 9;
- }
-
-//------------------------------------------ check F1_LS_LSPARE2 ------------------------------------------------
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
-
- if ((response.Value & F1_LS_LSPARE2) !=F1_LS_LSPARE2 ) //if F1_LS_LSPARE2 is up then error
- {
- Units_status[10,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_UP\tFail\n");
- return 12;
- }
-//----------------------------------------- check F1_LS_LDANCER2_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER2_Motor,false,450); //move Lloading up
- counter =0;
- while ( counter < 300)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE2 is up then move down
- if ((response.Value & F1_LS_LSPARE2) != F1_LS_LSPARE2 )
- counter=350;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER2_Motor, 3); //hold Ldancer high z
- if (counter == 300)
- {
- Units_status[10,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_UP\tFail\n");
- return 12;
- }
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
- if ((response.Value & F1_LS_LSPARE1) !=F1_LS_LSPARE1 ) //if F1_LS_LSPARE1 is up then error
- {
- Units_status[9,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_DN\tFail\n");
- return 12;
- }
-
- DialogResult result7= MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result7== DialogResult.No)
- {
- Units_status[10,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_UP Not calibrate\n");
- return 12;
- }
-
- Units_status[10,1]="Pass";
- stubManager.Write("LS_LDANCER_Right_UP\tPass\n");
-
-//----------------------------------------- mov LDANCER2_Motor down and check Ldancer encoder -------------------------------------------------
- temp_right_before= ReadEncoder(1);
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER2_Motor,true,450); //move Rloading down
- counter =0;
- while ( counter < 300)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE1 is dn then move stop
- if ((response.Value & F1_LS_LSPARE1) != F1_LS_LSPARE1 )
- counter=350;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER2_Motor, 3); //hold Rloading high z
- if (counter == 300)
- {
- Units_status[9,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_DN\tFail\n");
- return 12;
- }
- DialogResult result8 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result8 == DialogResult.No)
- {
- Units_status[9,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_DN Not calibrate\n");
- return 12;
- }
-
- Units_status[9,1]="Pass";
- stubManager.Write("LS_LDANCER_Right_DN\tPass\n");
-
- Units_status[11,1]="Pass";
- stubManager.Write("LDANCER_Right_Motor\tPass\n");
-
- temp_right_after= ReadEncoder(1);
-
- stubManager.Write("temp_right_before="+temp_right_before + "\ttemp_right_after="+temp_right_after +"\n");
-
-
- if (temp_right_after<temp_right_before)
- temp_right_after=temp_right_after+0x4000;
- temp_right_before=temp_right_after-temp_right_before;
- if ((temp_right_before< 5000) && (temp_right_before >200))
- {
- Units_status[8,1]="Pass";
- stubManager.Write("LDANCER_Right_SSI\tPass\n");
- return 12;
- }
- Units_status[8,1]="Fail";
- stubManager.Write("LDANCER_Right_SSI\tFail\n");
-
-
- return 12;
-}
-//-------------------------------------------------------------
-int Test_LDRIVING_LTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDRIVING_Motor, true,200); //move Ldriving clockwise
- stubManager.Write("LDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are LDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("LDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("LDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs
deleted file mode 100644
index 16139df2c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs
+++ /dev/null
@@ -1,201 +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;
-using System.Timers;
-
-const int MidTank_UNDER_TEST =24;
-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},
- };
-
-
-string [,] Units_status_MidTank = new string[MidTank_UNDER_TEST,2] {
- {"Midtank1_Valve_Air","Not Test"}, //0
- {"Midtank1_Valve_Ink","Not Test"}, //1
- {"Midtank1_Pressure_Sensor","Not Test"}, //2
- {"Midtank2_Valve_Air","Not Test"}, //3
- {"Midtank2_Valve_Ink","Not Test"}, //4
- {"Midtank2_Pressure_Sensor","Not Test"}, //5
- {"Midtank3_Valve_Air","Not Test"}, //6
- {"Midtank3_Valve_Ink","Not Test"}, //7
- {"Midtank3_Pressure_Sensor","Not Test"}, //8
- {"Midtank4_Valve_Air","Not Test"}, //9
- {"Midtank4_Valve_Ink","Not Test"}, //10
- {"Midtank4_Pressure_Sensor","Not Test"}, //11
- {"Midtank5_Valve_Air","Not Test"}, //12
- {"Midtank5_Valve_Ink","Not Test"}, //13
- {"Midtank5_Pressure_Sensor","Not Test"}, //14
- {"Midtank6_Valve_Air","Not Test"}, //15
- {"Midtank6_Valve_Ink","Not Test"}, //16
- {"Midtank6_Pressure_Sensor","Not Test"}, //17
- {"Midtank7_Valve_Air","Not Test"}, //18
- {"Midtank7_Valve_Ink","Not Test"}, //19
- {"Midtank7_Pressure_Sensor","Not Test"}, //20
- {"Midtank8_Valve_Air","Not Test"}, //21
- {"Midtank8_Valve_Ink","Not Test"}, //22
- {"Midtank8_Pressure_Sensor","Not Test"}, //23
- };
-//--------------------------------------------------------------------------------
-
-public Task<decimal> MidTank_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");
- stubManager.Write("-----------------------\n");
-
- copy_table (MidTank_UNDER_TEST,Units_status_MidTank);
- stubManager.Write("+++++++++++++++++++\n");
-
- settext("Test MidTank");
- Test_MIDTANK();
-
- Status=write_to_file(SN,Location,MidTank_UNDER_TEST,"MidTank");
- settext("End Test");
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
- //------------------------------------
-int Test_MIDTANK()
-{
- double Pressur_Volt;
- double temp;
- for (Int32 i=1;i<9;i++)
- {
- open_valve(i,1,1) ; //open Air valve
- open_valve(i,0,1) ; //open Ink valve
- delay(2000);
- Pressur_Volt=read_pressuere_sense(i);
- if ((Pressur_Volt>3 )||(Pressur_Volt<2))
- {
- Units_status[(i-1)*3+2,1]="Fail";
- stubManager.Write("pressuere_sense of midtank" + i +"\tFail\n");
- }
- else
- {
- close_valve(i,0,0) ; //close Ink valve
- DialogResult result = MessageBox.Show("ADD 20cc air thru Ink valve of Midtank"+ i, "Warning");
- close_valve(i,1,0) ; //close Air valve
- delay(2000);
-
- temp=read_pressuere_sense(i);
- temp=temp-Pressur_Volt;
- if ((temp>0.5) && ( temp <2))
- Units_status[(i-1)*3+2,1]="Pass";
- else
- Units_status[(i-1)*3+2,1]="Fail";
- }
-
- close_valve(i,0,0) ; //close Air valve
- close_valve(i,1,0) ; //close Ink valve
- }
- return 1;
-}
-
-double read_pressuere_sense(Int32 Midtank_Nm)
-{
-double Pressur_Volt;
-double calc;
-uint temp;
-
- adc_configuration((ADC_Add_Chnl[Midtank_Nm-1,0]),(ADC_Add_Chnl[Midtank_Nm-1,1]) ); //configure address and channel of midtank
- adc_set_for_read_ch(ADC_Add_Chnl[Midtank_Nm-1,0]);
- temp =adc_read_ch(ADC_Add_Chnl[Midtank_Nm-1,0]);
- calc= (double)temp *2.5 / 4096.0;
- Pressur_Volt = (1.96- calc) * 4.64 + 1.96;
- stubManager.Write("pressure sense of midtank " + Midtank_Nm + "is " + Pressur_Volt+ "Volt\n");
- return Pressur_Volt;
-}
-
-
-//--------------------------------
-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;
-
-
-
-
-}
-//--------------------------------
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Mixer_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Mixer_Jig.cs
deleted file mode 100644
index c5d14855e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Mixer_Jig.cs
+++ /dev/null
@@ -1,131 +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 Mixer_UNDER_TEST=3;
-
-float MixerTemp ;
-
-string [,] Units_status_Mixer = new string[Mixer_UNDER_TEST,2] {
- {"Pt100_Mixer","Not Test"},
- {"Heater_Mixer","Not Test"},
- {"VALVE_Mixer","Not Test"},
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> Mixer_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 (Mixer_UNDER_TEST,Units_status_Mixer);
-
-
-//------------------------------- start test -----------
- settext("Test heaters & pt100");
- Test_Mixer_heaters_pt100 ();
- settext("Test VALVE Mixer");
- Test_VALVE_Mixer ();
-
- Status=write_to_file(SN,Location,Mixer_UNDER_TEST,"Mixer");
-
- settext("End Test");
-
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//--------------------------------------------
- int Test_VALVE_Mixer ()
- {
- SetBit (F1_gpo_01, 7, 1); //set bit F1_VALVE_MIXCHIP_WASTECH
-
- DialogResult result = MessageBox.Show("MixCHIP Valve Open ?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[2,1]="Fail";
- stubManager.Write("VALVE_MIXCHIP_WASTECH Not open\n");
- return 0;
- }
- SetBit (F1_gpo_01, 7, 0); //clear bit F1_VALVE_MIXCHIP_WASTECH
-
- DialogResult result1 = MessageBox.Show("MixCHIP Valve close ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[2,1]="Fail";
- stubManager.Write("VALVE_MIXCHIP_WASTECH Not close\n");
- return 0;
- }
- Units_status[2,1]="Pass";
- return 0;
- }
-
-//------------------------------------
-public int Test_Mixer_heaters_pt100()
-{
-
-// uint utemp=0;
- uint temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
-
- stubManager.Write("\nTemp Befor heating \n");
-
- ftemp=Read_pt100(0);
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[0,1]="Fail";
- return 0;
- }
- stubManager.Write("Temp Befor heating is"+ ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-
-
-
- //Write F2_GPO_MIXCHIP_SSR4_CTRL SSR/SSR no. 4
- SetBit (F2_CTRL, 7, 1);
- stubManager.Write("Testing SSR no. 4\tMIXCHIP \t");
- delay(10000);
- adc_configuration(0x46,0x08); //a2d_address 0x46 channel 4
- adc_set_for_read_ch(0x46);
- temp=adc_read_ch(0x46);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (F2_CTRL, 7, 0);
-
- ftemp1=Read_pt100(0);
- stubManager.Write("After heating " + ftemp1 +"c\tCurrent is "+ current + "\n");
- ftemp = ftemp1 - ftemp;
-
- if ((current>2.5)|| (current<1.5)||(ftemp<5)||(ftemp>25))
- {
- Units_status[0,1]="Fail";
- Units_status[1,1]="Fail";
- }
- else
- {
- Units_status[0,1]="Pass";
- Units_status[1,1]="Pass";
- }
- return 0;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig.cs
deleted file mode 100644
index 22cf14f3e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig.cs
+++ /dev/null
@@ -1,583 +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_MAGNET_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;
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN Dn
- delay(2000);
-
-
-// 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;
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUT down
- delay(2000);
-
-// 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 ----------------------------
- DialogResult result = MessageBox.Show("Make shure, Magnet is open and DyeHead cover on front.", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is close\n");
- return 0;
- }
- 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");
- }
-
-
-//---------------------- 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
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No || i==200)
- {
- Units_status[37,1]="Fail";
- stubManager.Write("LS_REAR Not calibrate\n");
- }
- 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
-
- 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");
- }
- 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 ----------------------------
-
- DialogResult result4 = MessageBox.Show("Make shure, Magnet is close", "Warning",MessageBoxButtons.YesNo);
- if(result4 == DialogResult.No)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is open\n");
- return 0;
- }
- Units_status[36,1]="Pass";
- 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;
- }
- Units_status[47,1]="Pass";
- stubManager.Write("LS_UPPER of 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=20000;
-//---------------------- 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)<10)|| ((ftemp1-ftemp)>45))
- {
- 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/New_Mixer_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_Mixer_Jig.cs
deleted file mode 100644
index 076f4ce68..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_Mixer_Jig.cs
+++ /dev/null
@@ -1,170 +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_Mixer_UNDER_TEST=4;
-
-const Int32 Valve_EN=0x42F501;
-const Int32 Valve_DIS=0x42F500;
-const Int32 Mixer_ON=0x42F401;
-const Int32 Mixer_OFF=0x42F400;
-
-float NewMixerTemp ;
-
-string [,] Units_status_New_Mixer = new string[New_Mixer_UNDER_TEST,2] {
- {"Pt100_Mixer","Pass"}, //0
- {"Heater_Mixer","Pass"}, //1
- {"Break_Mixer","Pass"}, //2
- {"VALVE_Mixer","Not Test"}, //3
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> New_Mixer_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_Mixer_UNDER_TEST,Units_status_New_Mixer);
-
-
-//------------------------------- start test -----------
- settext("Test heater & pt100");
- Test_New_Mixer_heater_pt100 ();
- settext("Test VALVE Mixer");
- Test_VALVE_New_Mixer ();
-
- Status=write_to_file(SN,Location,New_Mixer_UNDER_TEST,"Mixer");
-
- settext("End Test");
-
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//--------------------------------------------
- int Test_VALVE_New_Mixer ()
- {
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,Valve_EN); // Valve enable
-
- DialogResult result = MessageBox.Show("MixCHIP Valve Open ?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("VALVE_MIXCHIP_WASTECH Not open\n");
- return 0;
- }
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,Valve_DIS); // Valve enable
-
- DialogResult result1 = MessageBox.Show("MixCHIP Valve close ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("VALVE_MIXCHIP_WASTECH Not close\n");
- return 0;
- }
- Units_status[3,1]="Pass";
- return 0;
- }
-
-//------------------------------------
-public int Test_New_Mixer_heater_pt100()
-{
- Int32 temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
- Int32 tdly=15000;
- Double current_sense;
-
-//---------------------- get tempurature of mixer----------------------------
-
-// stubManager.Write("\nTemp Befor heating \n");
-
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , 19); //get temperature from mixer
- ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[0,1]="Fail";
- tdly=1000;
- }
- stubManager.Write("Temp Befor heating is"+ ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-//---------------------- get current of mixer ----------------------------
- var response1 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + 20); // get current mixer
- current_sense=response1.Pressure;
- if (current_sense>0.1)
- {
- Units_status[1,1]="Fail";
- }
- stubManager.Write("current is " + current_sense +"\n");
-//---------------------- get Break of Mixer ----------------------------
- var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x460000 +0x10); // read break
- temp = (Int32) (response2.Progress);
- if ((temp & 0x10 )==0) //if break ok
- {
- Units_status[2,1]="Fail";
- stubManager.Write("Break Mixer is On\n");
- }
- else
- {
- stubManager.Write("Break Mixer is off\n");
- }
-//---------------------- turn Mixer on ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,Mixer_ON); // turn mixer on
- stubManager.Write("Mixer On\n");
- delay(tdly); //delay 20 second
-//---------------------- get current of mixer ----------------------------
- var response3 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + 20); // get current
- current_sense=response3.Pressure;
- if ((current_sense<2) ||(current_sense>3) ) //if current not 2.5A
- {
- Units_status[3,1]="Fail";
- }
- stubManager.Write("current in Mixer is " + current_sense +"\n");
-//---------------------- get Break of Mixer ----------------------------
- var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x460000 +0x10); // read break
- temp = (Int32) (response4.Progress);
- if ((temp & 0x10 )==0) //if break ok
- {
- Units_status[2,1]="Fail";
- stubManager.Write("Break Mixer is On\n");
- }
- else
- {
- stubManager.Write("Break Mixer is Off\n");
- }
-//---------------------- get tempurature of mixer----------------------------
- var response5 = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , 19); //get temperature from the mixer
- ftemp1 = (float)response5.TemperatureCMultBy100;
- ftemp1 = ftemp1 / 100;
-
- if (((ftemp1-ftemp)<5)|| ((ftemp1-ftemp)>50))
- {
- Units_status[0,1]="Fail";
- }
- stubManager.Write("Mixer after heating is \t" + ftemp1.ToString("F2")+"°C\n");
-//---------------------- turn Mixer off ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,Mixer_OFF); // turn mixer off
- stubManager.Write("Mixer is Off\n");
- return 0;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs
deleted file mode 100644
index 4e1223328..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs
+++ /dev/null
@@ -1,367 +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 RTFU_UNDER_TEST=9;
-
-string [,] Units_status_RTFU = new string[RTFU_UNDER_TEST,2] {
- {"LS_RLOADMOTOR_Up","Not Test"}, //0
- {"LS_RLOADMOTOR_DOWN","Not Test"}, //1
- {"RLOADING_Motor","Not Test"}, //2
- {"DRIVING_Motor","Not Test"}, //3
- {"LS_RDANCER_DOWN","Not Test"}, //4
- {"LS_RDANCER_UP","Not Test"}, //5
- {"LS_RLOADRAM_DOWN","Not Test"}, //6
- {"RDANCER_Motor","Not Test"}, //7
- {"RDANCER_ROTENC","Not Test"}, //8
- };
-
-
-
-//-----------------------------------------------------
-
-public Task<decimal> RTFU_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 (RTFU_UNDER_TEST,Units_status_RTFU);
-
- settext("Test RLOADING RTFU");
- Test_RLOADING_RTFU();
- 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
-
- settext("Test RDRIVING RTFU");
- Test_RDRIVING_RTFU();
-
- settext("Test DANCER RTFU");
-
- Test_DANCER_RTFU();
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- Status=write_to_file(SN,Location,RTFU_UNDER_TEST,"RTFU");
-
- settext("End Test");
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-
- //------------------------------------
-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
- delay(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- delay(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- delay(1000);
-//------------------------------------------ check F1_LS_RLOADMOTOR_up------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RLOADMOTOR_UP) !=F1_LS_RLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did RLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("RLOADMOTOR\tFail\n");
- return 0;
- }
- }
-
-//----------------------------------------- mov RLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor,false,300); //move Rloading up
- counter =0;
- while ( counter < 200)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_UP) != F1_LS_RLOADMOTOR_UP )
- counter=250;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- if (counter == 200)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_RLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
-
- if ((response.Value & F1_LS_RLOADMOTOR_DN) !=F1_LS_RLOADMOTOR_DN ) //if LS_RLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov RLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,300); //move Rloading down
- counter =0;
- while ( counter < 200)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_DN) != F1_LS_RLOADMOTOR_DN )
- counter=250;
-
- delay(100);
- }
-
- if (counter == 150)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("RLOADMOTOR\tPass\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- delay(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- return 1 ;
-
-}
-
-//----------------------------------
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_RDANCER_ROTENC_DATA_p_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_msb);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_RTFU()
-{
- int counter;
- Int32 temp;
- Int32 temp1;
-
-//------------------------------------------ check F1_LS_RDANCER_DOWN ------------------------------------------------
-
- MessageBox.Show("Make sure RDANCER Down");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RDANCER_DOWN) !=F1_LS_RDANCER_DOWN ) //if F1_LS_RDANCER_DOWN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
-//----------------------------------------- mov RDANCER_Motor up and check F1_LS_RDANCER_DOWN -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,true,10); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- delay(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- stubManager.Write("LS_RDANCER_DOWN\tPass\n");
-
-//----------------------------------------- check F1_LS_RDANCER_UP -------------------------------------------------
-
- if ((response.Value & F1_LS_RDANCER_UP) !=F1_LS_RDANCER_UP ) //if F1_LS_RDANCER_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RDANCER_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_UP) != F1_LS_RDANCER_UP )
- counter=250;
-
- delay(100);
- }
- if (counter == 150)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- Units_status[5,1]="Pass";
- stubManager.Write("LS_RDANCER_UP\tPass\n");
-
-//----------------------------------------- check F1_LS_RLOADRAM_DOWN -------------------------------------------------
-
- if ((response.Value & F1_LS_RLOADRAM_DOWN) !=F1_LS_RLOADRAM_DOWN ) //if F1_LS_RLOADRAM_DOWN is up then error
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RLOADRAM_DOWN is up then move down
- if ((response.Value & F1_LS_RLOADRAM_DOWN) != F1_LS_RLOADRAM_DOWN )
- counter=250;
-
- delay(100);
- }
- if (counter == 150)
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- Units_status[6,1]="Pass";
- stubManager.Write("LS_RLOADRAM_DOWN\tPass\n");
-
-//----------------------------------------- mov RDANCER_Motor down and check rdancer encoder -------------------------------------------------
- temp= ReadEncoder();
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,false,10); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- delay(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[7,1]="Pass";
- stubManager.Write("RDANCER_Motor\tPass\n");
-
- temp1= ReadEncoder();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
-
- DialogResult result = MessageBox.Show("SSI Dancer led is Green(Not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
-
- if (temp>temp1)
- temp1=temp1+0x4000;
-
- temp1=temp1-temp;
- if ((temp1> 15000) || (temp1 <1000))
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
- Units_status[8,1]="Pass";
- stubManager.Write("RDANCER_SSI\tPass\n");
-
- return 1;
-}
-
-
-//-------------------------------------------------------------
-int Test_RDRIVING_RTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDRIVING_Motor, true,200); //move Rdriving clockwise
- stubManager.Write("RDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are RDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("RDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("RDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Tango_define.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Tango_define.cs
deleted file mode 100644
index a66fa5fa1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Tango_define.cs
+++ /dev/null
@@ -1,124 +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 F1_LS_01_Direct = 0x60000020 ;
-const Int32 F1_LS_02_Direct = 0x60000030 ;
-const Int32 F1_LS_03_Direct = 0x60000040 ;
-
-const Int32 F1_gpo_01 = 0x600003D2 ;
-
-
-const Int32 F2_CTRL = 0x600004E2 ;
-
-const Int32 F3_GPO_01_bus = 0x600008C2;
-
-const Int32 TCA9548A_address = 0xE2;
-
-
-const Int32 I2C_ID2 = 2;
-const Int32 I2C_ID3 = 3;
-
-
-
-const Int32 F1_SCREW_ROTENC_lsb = 0x60000100;
-const Int32 F1_SCREW_ROTENC_msb = 0x60000102;
-
-
-
-
-
-
-
-
-
-
-const Int32 F3_VALVE_OUT = 0x600008e2;
-
-
-const Int32 F1_Tacho_reg8 = 0x600001e0 ;
-
-
-
-
-//-------------------DEFINE Motors Parameters------------------
-
-const Int32 F1_MOTO_RLOADING_TX1 = 0x60000202;
-const Int32 F1_MOTO_RLOADING_TX0 = 0x60000200;
-const Int32 F1_MOTO_RLOADING_RX1 = 0x60000206;
-const Int32 F1_MOTO_RLOADING_RX0 = 0x60000204;
-
-//-------------------DEFINE Limit Switch---------------
-
-const Int32 F1_LS_RLOADMOTOR_UP = 0x0040 ;
-const Int32 F1_LS_RLOADMOTOR_DN = 0x0080 ;
-const Int32 F1_LS_RDANCER_UP = 0x0100;
-const Int32 F1_LS_RDANCER_DOWN = 0x0200;
-const Int32 F1_LS_RLOADRAM_DOWN = 0x0020;
-
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_lsb = 0x600001a0;
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_msb = 0x600001a2;
-const Int32 F1_RDANCER_ROTENC_DATA_p_TX = 0x600001ae;
-
-
-
-const Int32 F2_Prescaler1_reg11 = 0x60000512 ;
-const Int32 F2_BLOWER_PWM_LOW = 0x600007EC ;
-const Int32 F2_BLOWER_PWM_HIGH = 0x600007EE ;
-
-
-//-------------------DEFINE Motors------------------
-const Int32 CleaningHead_Motor = 0;
-const Int32 CleaningMechanisim_Motor= 1;
-const Int32 DyeingHeadLid_Motor = 2;
-const Int32 DryerMain_Motor = 3;
-const Int32 DryerLid_Motor = 4;
-const Int32 DrierLoadingArm_Motor = 5;
-
-const Int32 SCREW = 14;
-const Int32 WINDER_Motor = 15;
-
-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_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_LSPARE1 = 0x0008; //dn
-const Int32 F1_LS_LSPARE2 = 0x0004; //up
-
-
-const Int32 F1_LDANCER1_ROTENC_MSB = 0x600001c2;
-const Int32 F1_LDANCER1_ROTENC_LSB = 0x600001c0;
-const Int32 F1_LDANCER1_ROTENC_TX = 0x600001ce;
-
-const Int32 F1_LDANCER2_ROTENC_MSB = 0x600001b2;
-const Int32 F1_LDANCER2_ROTENC_LSB = 0x600001b0;
-const Int32 F1_LDANCER2_ROTENC_TX = 0x600001be;
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Winder_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Winder_Jig.cs
deleted file mode 100644
index 3ad16cb5e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Winder_Jig.cs
+++ /dev/null
@@ -1,189 +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 Winder_UNDER_TEST=6;
-
-string [,] Units_status_Winder = new string[Winder_UNDER_TEST,2] {
- {"Winder_Motor","Not Test"},
- {"Screw_Motor","Not Test"},
- {"LS_Screw_Right","Not Test"},
- {"LS_Screw_Left","Not Test"},
- {"Screw_Encoder","Not Test"},
- {"SW_Spool_Exist","Not Test"},
- };
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> Winder_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 (Winder_UNDER_TEST,Units_status_Winder);
- DialogResult result2 = MessageBox.Show("Insert Spool");
-
- settext("Test_Winder_motor");
- Test_Winder_motor();
- settext("Test_Screw_LS_Motor_Encoder");
- Test_Screw_LS_Motor_Encoder ();
- settext("Test_Pooler_Exis");
- Test_Pooler_Exist ();
-
- Status=write_to_file(SN,Location,Winder_UNDER_TEST,"Winder");
- settext("End Test");
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//------------------------------------------
-public int Test_Winder_motor ()
-
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,WINDER_Motor, true, 500); //rotate Winder Motor.
- stubManager.Write("Winder Motor rotate \n");
- DialogResult result = MessageBox.Show("Are Winder Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if (_cancellationTokenSource.Token.IsCancellationRequested)
- {
- _cancellationTokenSource.Token.ThrowIfCancellationRequested();
- throw new TaskCanceledException();
- return 0;
- }
- if(result == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("Winder Motor not rotate\n");
- }
- else
- {
- Units_status[0,1]="Pass";
- stubManager.Write("Winder Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,WINDER_Motor,3); //stop motor
-
- return 0;
-}
-
-
-//--------------------------------------------
- int Test_Screw_LS_Motor_Encoder()
-{
- UInt32 temp ;
- Int32 Bit = 1;
-
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,SCREW, false, 250); //rotate screw Motor out.
- delay(1000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
-
- DialogResult result2 = MessageBox.Show("Did screw Motor move ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("Screw Motor not move\n");
- return 0;
- }
- Units_status[1,1]="Pass";
-
- stubManager.Write("Screw Motor rotate \n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,SCREW, true, 250);
- stubManager.Write("Move screw in\n");
-
- Bit = 1;
- int i=0;
- while ((Bit != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_03_Direct,0);
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
-
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LS_SCREW_RIGHT Not calibrate\n");
- return 0;
- }
- Units_status[2,1]="Pass";
- stubManager.Write("Move screw out\n");
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_SCREW_ROTENC_lsb, 0x0000); //clear encoder
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_SCREW_ROTENC_msb, 0x0000); //clear encoder
-
- Bit = 1;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,SCREW, false, 250);
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_03_Direct,1);
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("LS_SCREW_LEFT Not calibrate\n");
- return 0;
- }
- Units_status[3,1]="Pass";
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_SCREW_ROTENC_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_SCREW_ROTENC_msb);
-
- temp=(response.Value & 0xffff )+((response1.Value & 0xffff )<<16);
- temp=temp&0x0fffffff;
- temp= 0x4000000-temp;
- stubManager.Write("Encoder positio:" +temp+"\n");
-
- if ((temp>20000) && temp<28000)
- Units_status[4,1]="Pass";
- else
- Units_status[4,1]="Fail";//
-
- return 1;
-}
- //---------------------------------------
-int Test_Pooler_Exist()
-{
- if ( (GetBit(F1_LS_03_Direct,11))==0)
- {
- Units_status[5,1]="Fail";
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Remove Spool");
- if ( (GetBit(F1_LS_03_Direct,11))!=0)
- Units_status[5,1]="Fail"; //
- else
- Units_status[5,1]="Pass";
-
- return 0 ;
-
-
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/location.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/location.cs
deleted file mode 100644
index 11bf6556a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/location.cs
+++ /dev/null
@@ -1 +0,0 @@
-string Location_str = "Hameshabev"; \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/span.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/span.cs
deleted file mode 100644
index 1b31dbb4e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/span.cs
+++ /dev/null
@@ -1,615 +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=47;
-const Int32 MGNET_OPEN=0x420301;
-const Int32 MGNET_EN=0x420280;
-const Int32 MGNET_CLOSE=0x420300;
-const Int32 MGNET_DIS=0x420200;
-const Int32 ACTDIR_ON=0x460280;
-const Int32 ACTDIR_OFF=0x460200;
-
-const Int32 ACTIN_ON=0x460308;
-const Int32 ACTOUT_ON=0x460304;
-
-const Int32 ACTIN_OFF=0x46030C;
-const Int32 ACTOUT_OFF=0x46030C;
-
-
-
-const Int32 LS_FRONT=0X460110;
-const Int32 LS_REAR=0X460120;
-const Int32 LS_UPPER=0X460140;
-const Int32 LS_SPARE=0X460180;
-const Int32 ACTIN_EN=0X460101;
-const Int32 ACTOUT_EN=0X460102;
-
-
-
-string EEPROM_Header="Header_1 "; //16 characters
-
-int Head_Mux_Channel_ID = 4; //Head MUX channel
-
-
-//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
-
-
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-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");
- Test_Magnet_Motor_LS_New_DyeHead();
- settext("Test heaters &pt100");
- Test_heaters_pt100 ();
- settext("Test Head EEPROM");
- Test_Head_EEPROM(SN);
- settext("Test Actuator In");
- Test_Actuator_in();
- settext("Test Actuator Out");
- Test_Actuator_out();
- Status=write_to_file(SN,Location,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("Make shure, ACTUATOR-IN is down", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("ACTUATOR-IN is Up\n");
- return 0;
- }
-//---------------------- move ACTUATOR-IN Up ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_ON); // DIR=1
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_ON); // act_in enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_OFF); // act_in disable
- stubManager.Write("ACTUATOR-IN moving Up\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTIN_EN); // read ACTIN_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("CTUATOR-IN is not moving Up\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[42,1]="Fail";
- stubManager.Write("LS_IN_UP Not calibrate\n");
- return 0;
- }
- Units_status[41,1]="Pass";
- Units_status[42,1]="Pass";
-//---------------------- move ACTUATOR-IN Dn ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_OFF); // DIR=0
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_ON); // act_in enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_OFF); // act_in disable
- stubManager.Write("ACTUATOR-IN moving Dn\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTIN_EN); // read ACTIN_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("CTUATOR-IN is not moving Down\n");
- return 0;
- }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[43,1]="Fail";
- stubManager.Write("LS_IN_Down Not calibrate\n");
- return 0;
- }
- Units_status[43,1]="Pass";
- return 0;
-
-}
-//-------------------------------------------------------------
- int Test_Actuator_out()
-{
- Int32 temp;
- int i=0;
-
- DialogResult result = MessageBox.Show("Make shure, ACTUATOR-OUT is down", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("ACTUATOR-OUT is Up\n");
- return 0;
- }
-//---------------------- move ACTUATOR-OUT Up ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_ON); // DIR=1
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_ON); // act_OUT enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_OFF); // act_OUT disable
- stubManager.Write("ACTUATOR-OUT moving Up\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTOUT_EN); // read ACTOUT_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("CTUATOR-OUT is not moving Up\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[45,1]="Fail";
- stubManager.Write("LS_OUT_UP Not calibrate\n");
- return 0;
- }
- Units_status[44,1]="Pass";
- Units_status[45,1]="Pass";
-//---------------------- move ACTUATOR-OUT Dn ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_OFF); // DIR=0
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_ON); // act_out enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_OFF); // act_out disable
- stubManager.Write("ACTUATOR-OUT moving Dn\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTOUT_EN); // read ACTOUT_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("CTUATOR-OUT is not moving Down\n");
- return 0;
- }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[46,1]="Fail";
- stubManager.Write("LS_OUT_Down Not calibrate\n");
- return 0;
- }
- 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
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_EN); // magnet enable
- 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[36,1]="Fail";
- stubManager.Write("Magnet is close\n");
- return 0;
- }
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- 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.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[37,1]="Fail";
- Units_status[39,1]="Fail";
- stubManager.Write("LS_REAR Not calibrate\n");
- return 0;
- }
- 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.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[38,1]="Fail";
- stubManager.Write("LS_FRONT Not calibrate\n");
- return 0;
- }
- Units_status[37,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[36,1]="Fail";
- stubManager.Write("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++)
- {
- 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=1000;
-
- }
- 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 is "+(i+1)+ "\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 Off\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.Write("Heater - "+(i+1)+ "\t is On\n");
- delay(2000); //delay 20 second
-//---------------------- get current of heaters ----------------------------
- var response3 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + i); // get current
- current_sense=response3.Pressure;
- if ((current_sense<1.1) ||(current_sense>1.4) ) //if current not 1.25A
- {
- Units_status[i+12,1]="Fail";
- }
- stubManager.Write("current is "+(i+1)+ "\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
- {
- Units_status[i+24,1]="Fail";
- stubManager.Write("Break Zone "+(i+1)+ "\t is Off\n");
- }
- else
- {
- stubManager.Write("Break Zone "+(i+1)+ "\t is On\n");
- }
- delay(tdly); //delay 20 second
- 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.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(20); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- adc_set_for_read_ch(0xA0);
- //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
- //--------------------------------------------------------------
- char[] characters = EEPROM_Header.ToCharArray();
-
- for (int i=0;i<16;i++)
- {
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add header
- }
- characters = s_n.ToCharArray();
-
- for (int i=0;i<16;i++)
- {
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add s/n
- }
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-int Read_EEPROM(uint I2C_Slave_Add)
-{
- 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++)
- {
- if (characters[i]!=response1.ReadBytes[i]);
- Units_status[40,1]="Fail";
- }
- stubManager.Write("EEprom "+ Units_status[40,1]+"\n");
-
- return 1;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/stapele_span.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/stapele_span.cs
deleted file mode 100644
index 656786ad7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/stapele_span.cs
+++ /dev/null
@@ -1,631 +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_Stapele_Span_UNDER_TEST=47;
-const Int32 MGNET_OPEN=0x420301;
-const Int32 MGNET_EN=0x420280;
-const Int32 MGNET_CLOSE=0x420300;
-const Int32 MGNET_DIS=0x420200;
-const Int32 ACTDIR_ON=0x460280;
-const Int32 ACTDIR_OFF=0x460200;
-
-const Int32 ACTIN_ON=0x460308;
-const Int32 ACTOUT_ON=0x460304;
-
-const Int32 ACTIN_OFF=0x46030C;
-const Int32 ACTOUT_OFF=0x46030C;
-
-
-
-const Int32 LS_FRONT=0X460110;
-const Int32 LS_REAR=0X460120;
-const Int32 LS_UPPER=0X460140;
-const Int32 LS_SPARE=0X460180;
-const Int32 ACTIN_EN=0X460101;
-const Int32 ACTOUT_EN=0X460102;
-
-
-
-string EEPROM_Header="Header_1 "; //16 characters
-
-int Head_Mux_Channel_ID = 4; //Head MUX channel
-
-
-//float [] Stapele_SpanTemp = new float[6] ;
-
-string [,] Units_status_New_Stapele_Span = new string[New_Stapele_Span_UNDER_TEST,2] {
- {"Pt100_HTIN","Pass"}, //0
- {"Pt100_HTOUT","Pass"}, //1
-
- {"Current_HTIN1","Pass"}, //2
- {"Current_HTIN2","Pass"}, //3
- {"Current_HTIN3","Pass"}, //4
- {"Current_HTIN4","Pass"}, //5
- {"Current_HTOUT1","Pass"}, //6
- {"Current_HTOUT2","Pass"}, //7
- {"Current_HTOUT3","Pass"}, //8
- {"Current_HTOUT4","Pass"}, //9
-
- {"Break_HTIN1","Pass"}, //10
- {"Break_HTIN2","Pass"}, //11
- {"Break_HTIN3","Pass"}, //12
- {"Break_HTIN4","Pass"}, //13
- {"Break_HTOUT1","Pass"}, //14
- {"Break_HTOUT2","Pass"}, //15
- {"Break_HTOUT3","Pass"}, //16
- {"Break_HTOUT4","Pass"}, //17
-
- {"Fan_in","Not Test"}, //18
- {"Fan_out","Not Test"}, //19
-
-
-
- {"Magnet ","Not Test"}, //18
- {"LS_REAR","Not Test"}, //19
- {"LS_FRONT","Not Test"}, //2
- {"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
-
-
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> NewStapele_Span_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_Stapele_Span_UNDER_TEST,Units_status_New_Stapele_Span);
-
- DialogResult result1 = MessageBox.Show("Make shure, Stapele_Span is not hot", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- stubManager.AppendToFile(File_Name1,"Stapele_Span is too hot \tFail");
- stubManager.Write("Stapele_Span is too hot \tFail\n");
- return 0 ;
- }
- else
- {
-
-//------------------------------- start test -----------
- settext("Test Magnet Motor LS");
- Test_Magnet_Motor_LS_New_Stapele_Span();
- settext("Test blowers &pt100");
- Test_blowers_pt100 ();
- settext("Test Head EEPROM");
- Test_Head_EEPROM(SN);
- settext("Test Actuator In");
- Test_Actuator_in();
- settext("Test Actuator Out");
- Test_Actuator_out();
- Status=write_to_file(SN,Location,Stapele_Span_UNDER_TEST,"Stapele_Span");
-
- settext("End Test");
- }
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//-------------------------------------------------------------
- int Test_Actuator_in()
-{
- Int32 temp;
- int i=0;
-
- DialogResult result = MessageBox.Show("Make shure, ACTUATOR-IN is down", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("ACTUATOR-IN is Up\n");
- return 0;
- }
-//---------------------- move ACTUATOR-IN Up ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_ON); // DIR=1
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_ON); // act_in enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_OFF); // act_in disable
- stubManager.Write("ACTUATOR-IN moving Up\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTIN_EN); // read ACTIN_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("CTUATOR-IN is not moving Up\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[42,1]="Fail";
- stubManager.Write("LS_IN_UP Not calibrate\n");
- return 0;
- }
- Units_status[41,1]="Pass";
- Units_status[42,1]="Pass";
-//---------------------- move ACTUATOR-IN Dn ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_OFF); // DIR=0
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_ON); // act_in enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_OFF); // act_in disable
- stubManager.Write("ACTUATOR-IN moving Dn\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTIN_EN); // read ACTIN_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("CTUATOR-IN is not moving Down\n");
- return 0;
- }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[43,1]="Fail";
- stubManager.Write("LS_IN_Down Not calibrate\n");
- return 0;
- }
- Units_status[43,1]="Pass";
- return 0;
-
-}
-//-------------------------------------------------------------
- int Test_Actuator_out()
-{
- Int32 temp;
- int i=0;
-
- DialogResult result = MessageBox.Show("Make shure, ACTUATOR-OUT is down", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("ACTUATOR-OUT is Up\n");
- return 0;
- }
-//---------------------- move ACTUATOR-OUT Up ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_ON); // DIR=1
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_ON); // act_OUT enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_OFF); // act_OUT disable
- stubManager.Write("ACTUATOR-OUT moving Up\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTOUT_EN); // read ACTOUT_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("CTUATOR-OUT is not moving Up\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[45,1]="Fail";
- stubManager.Write("LS_OUT_UP Not calibrate\n");
- return 0;
- }
- Units_status[44,1]="Pass";
- Units_status[45,1]="Pass";
-//---------------------- move ACTUATOR-OUT Dn ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_OFF); // DIR=0
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_ON); // act_out enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_OFF); // act_out disable
- stubManager.Write("ACTUATOR-OUT moving Dn\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTOUT_EN); // read ACTOUT_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("CTUATOR-OUT is not moving Down\n");
- return 0;
- }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[46,1]="Fail";
- stubManager.Write("LS_OUT_Down Not calibrate\n");
- return 0;
- }
- Units_status[46,1]="Pass";
- return 0;
-
-}
-
-
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_New_Stapele_Span()
-{
- Int32 temp;
- int i=0;
-//---------------------- open Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_OPEN); // turn magnet on
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_EN); // magnet enable
- 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[36,1]="Fail";
- stubManager.Write("Magnet is close\n");
- return 0;
- }
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- 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.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[37,1]="Fail";
- Units_status[39,1]="Fail";
- stubManager.Write("LS_REAR Not calibrate\n");
- return 0;
- }
- 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.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[38,1]="Fail";
- stubManager.Write("LS_FRONT Not calibrate\n");
- return 0;
- }
- Units_status[37,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[36,1]="Fail";
- stubManager.Write("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_blowers_pt100_fan()
-{
-
-// uint utemp=0;
- Int32 temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
- Double current_sense;
-
- for (Int32 i = 0; i < 2; i++)
- {
- //---------------------- check fans----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac0+i, 0xff);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP
- delay(2000); //delay 2 second
-
- var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac0+i, 0xff);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP
- temp = (Int32) (response.Progress);
- temp =temp & (response.Progress & 0xffff); //
- if (temp>0xEC0)
- {
- Units_status[18+i,1]="Fail";
- return 0;
- }
- Units_status[18+i,1]="Pass";
-
- //---------------------- get tempurature of heaters----------------------------
- if (i==0)
- temp=18;
- else
- temp=16;
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , 0x8000 +temp); //get temperature from the buffer
- ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
-
- if ((ftemp>50)|| (ftemp<15))
- {
- Units_status[i,1]="Fail";
- tdly=1000;
-
- }
- stubManager.Write("Hit-"+(i+1)+ "\t" + ftemp.ToString("F2")+"°C\n");
-
- for (Int32 j = 0; j < 4; j++)
- {
- Int32 tdly=10000;
- //---------------------- get current of heaters ----------------------------
- var response1 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 +12 + 4*i +j); // get current
- current_sense=2*response1.Pressure;
- if (current_sense>0.1)
- {
- Units_status[2+j+4*i,1]="Fail";
- }
- stubManager.Write("current is "+(j+1+4*i )+ "\t" + current_sense +"\n");
- //---------------------- get Break of heaters ----------------------------
- var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x440000 +0x20000*i +(1-i)*0x100); // read break
- temp = (Int32) (response2.Progress);
- if ((temp & (1<<((1-i)*4+j))) !=0) //if break ok
- {
- Units_status[10+j+4*i,1]="Fail";
- stubManager.Write("Break Zone "+(i*4+j+1)+ "\t is Off\n");
- }
- else
- {
- stubManager.Write("Break Zone "+(i*4+j+1)+ "\t is On\n");
- }
- //---------------------- turn heater on ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x400300 +0x1fff00*i +(1<<((1-i)*4+j))); // turn heater on
- stubManager.Write("Heater - "+(i*4+j+1)+ "\t is On\n");
- delay(2000); //delay 2 second
- //---------------------- get current of heaters ----------------------------
- var response3 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + +12 + 4*i +j); // get current
- current_sense=2*response3.Pressure;
- if ((current_sense<1.1) ||(current_sense>1.4) ) //if current not 2.5A
- {
- Units_status[2+j+4*i,1]="Fail";
- }
- stubManager.Write("current is "+(j+1+4*i )+"\t" + current_sense +"\n");
- //---------------------- get Break of heaters ----------------------------
- var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x440000 +0x20000*i +(1-i)*0x100); // read break
- temp = (Int32) (response4.Progress);
- if ((temp & (1<<((1-i)*4+j))) !=0) //if break ok
- {
- Units_status[10+j+4*i,1]="Fail";
- stubManager.Write("Break Zone "+(i*4+j+1)+ "\t is Off\n");
- }
- else
- {
- stubManager.Write("Break Zone "+(i*4+j+1)+ "\t is On\n");
- }
-
- delay(tdly); //delay 20 second
- //---------------------- turn heater off ----------------------------
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x400300 +0x1fff00*i ); // turn heater on
- stubManager.Write("Heater - "+(i*4+j+1)+ "\t is Off\n");
- }
- //---------------------- get tempurature of heaters----------------------------
- if (i==0)
- temp=18;
- else
- temp=16;
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , 0x8000 +temp); //get temperature from the buffer
- ftemp1 = (float)response.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");
-
- //---------------------- check fan off----------------------------
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac0+i, 0);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP
- delay(2000); //delay 2 second
- var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac0+i, 0);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP
- temp = (Int32) (response6.Progress);
- temp =temp & (response.Progress & 0xffff); //
- if (temp<0x0xFF00)
- {
- Units_status[18+i,1]="Fail";
- return 0;
- }
-
- }
- 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(20); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- adc_set_for_read_ch(0xA0);
- //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
- //--------------------------------------------------------------
- char[] characters = EEPROM_Header.ToCharArray();
-
- for (int i=0;i<16;i++)
- {
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add header
- }
- characters = s_n.ToCharArray();
-
- for (int i=0;i<16;i++)
- {
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add s/n
- }
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-int Read_EEPROM(uint I2C_Slave_Add)
-{
- 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++)
- {
- if (characters[i]!=response1.ReadBytes[i]);
- Units_status[40,1]="Fail";
- }
- stubManager.Write("EEprom "+ Units_status[40,1]+"\n");
-
- return 1;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs b/Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs
deleted file mode 100644
index 3db075678..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs
+++ /dev/null
@@ -1,24 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-//"Set WFCF Value
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xAD9;
-progressRequest.Delay = 0;
-
-var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj b/Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj
deleted file mode 100644
index ce80c8a70..000000000
--- a/Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj
+++ /dev/null
@@ -1 +0,0 @@
-{"$id":"1","Name":"MidTank Calibration","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing System.Windows.Forms;\r\nusing Tango.PMR.EmbeddedParameters;\r\n\r\npublic class Program\r\n{\r\nconst double\tMIN_SLOP=0.7;\r\nconst double\tMAX_SLOP=1.4;\r\nconst double\tERROR_SLOP=-1;\r\nconst double\tMIN_50cc_on_volt=2.3;\r\nconst double\tMAX_50cc_on_volt=3.2;\r\nconst double\tERROR_50cc_on_volt=-1;\r\n\r\nint [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};\r\nuint [,] ADC_Add_Chnl = new uint [8,2]\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x20},\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x08},\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x80},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x20},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x10},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x04},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x40},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x10},\r\n\t\t\t\t\t\t\t\t\t\t};\r\n\r\n\r\nconst Int32\tF3_VALVE_OUT\t=\t0x600008E2\t;\r\nstring Machine_SN\t;\r\nprivate const string FILE_PATH = @\"C:\\MidTankLog\\\";\r\nstring File_name;\r\ndouble Full_Cartridge=1000;\t// on CC \r\ndouble \tSlop=0.92;\r\n//----------------------\r\nconst Int32 I2C_ID = 2;\r\n//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46\r\n//----------------------\r\n\r\n\r\nprivate IProcedureContext context;\r\n\r\n\r\n\r\n\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n \r\n\r\n\tInt32 Timout ;\r\n\tInt32 Interval;\r\n\tInt32 midtankno = 0;\r\n\tdouble Full_Point=0;\t\t\t//on Voltage\r\n\tdouble resualt;\r\n\tdouble Sum=0 ;\r\n\tdouble Old_Sum=0 ;\r\n\tdouble Start_Point=0;\r\n\t\r\n\r\n\tif (!Directory.Exists(FILE_PATH))\r\n\t\t{\r\n\t\t\tDirectory.CreateDirectory(FILE_PATH);\r\n\t\t}\t\t\t\r\n\r\n\r\n\r\n var response =context.RequestUserInputFor<String>(\"Enter Midtank S/N: \", \"\");\r\n\tcontext.Write(\"\\n\");\r\n\tMachine_SN = response;\r\n\tcontext.WriteLine(Machine_SN);\r\n\tFile_name= FILE_PATH +Machine_SN + DateTime.Now.ToString(\"MM_dd_yyyy_HH_mm_ss\")+\".csv\";\r\n\tcontext.Write(File_name);\r\n \tcontext.WriteToFile(File_name,\"MidTank S/N:,\" + Machine_SN);\r\n\t\r\n\r\n var response1 =context.RequestUserInputFor<String>(\"Enter Midtank number to calibrate (1-8):\", \"\");\r\n context.WriteLine(response1);\r\n\tmidtankno = Int32.Parse(response1);\r\n \tcontext.AppendToFile(File_name,\"MidTank Number:\\t\" + response1);\r\n\tif (midtankno==8)\r\n\t{\r\n\t\tSlop=1;\r\n\t\tTimout=60;\t\t//60 minutes\r\n\t\tInterval=60;\t//60 second\r\n\t}\r\n\telse\r\n\t{\r\n\t\tSlop=0.92;\r\n\t\tTimout=10*2;\t\t//10 minutes\r\n\t\tInterval=30;\t//30 second\r\n\r\n\t}\r\n var response10 =context.RequestUserInputFor<String>(\"Enter Cartridge Valume on CC (500-1500):\", \"\");\r\n context.WriteLine(response10);\r\n\tFull_Cartridge = double.Parse(response10);\r\n \tcontext.AppendToFile(File_name,\"Cartridge Valume:\\t\" + response10);\r\n \tcontext.AppendToFile(File_name,\"Slop value:\\t\" + Slop);\r\n\r\n\r\n\tDialogResult result = MessageBox.Show(\"Are you sure to calibrate Midtank No: \"+ midtankno + \" with \"+ Full_Cartridge +\" CC\" , \"Warning\",MessageBoxButtons.YesNo);\r\n\tif(result == DialogResult.Yes)\r\n\t{\r\n\r\n\r\n\r\n\t\tstring box_msg = \"Please Insert cartridge \";\r\n\r\n\t\tMessageBox.Show(box_msg);\r\n\t\t\r\n\t\topen_valve(midtankno,1,1)\t\t;\t//open Air valve\r\n\t\topen_valve(midtankno,0,1)\t\t;\t//open Ink valve\r\n\t\tInt32 i=0; \r\n\t\twhile (i<Timout)\t\t\t\t\t//check for 15 minitus \r\n\t\t{\r\n\t\t\tSum=0;\r\n\t\t\tfor (Int32 j=0;j<Interval;j++)\r\n\t\t\t{\r\n\t\t\t\tresualt=read_pressure_sensor(midtankno);\r\n\t\t\t\tcontext.AppendToFile(File_name,resualt+\",V\");\r\n\t\t\t\tSum=Sum+resualt;\r\n\t\t\t\tThread.Sleep(1000);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\tif (i==0) \r\n\t\t\t\tStart_Point=Sum/Interval;\r\n\t\t\t\r\n\t\t\tif (Sum>Old_Sum)\r\n\t\t\t\tOld_Sum=Sum-Old_Sum;\r\n\t\t\telse\r\n\t\t\t\tOld_Sum=Old_Sum-Sum;\r\n\t\t\r\n \r\n\t\t\tif ((check_valve(midtankno,1) != 0) && (check_valve(midtankno,0) != 0))\r\n\t\t\t{\r\n\t\t\t\ti++;\r\n\t\t\t\tif ( Old_Sum <0.02)\t\r\n\t\t\t\t\ti=Timout+1;\t\t//end \r\n\t\t\t\tOld_Sum=Sum;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\topen_valve(midtankno,1,0)\t\t;\t//open Air valve\r\n\t\t\topen_valve(midtankno,0,0)\t\t;\t//open Ink valve\r\n\t\t\tOld_Sum=0;\r\n\t\t\t\r\n\t\t\t}\t\r\n\t\t}\r\n\t\tFull_Point=Sum/Interval;\r\n\t\t\r\n\r\n\t\tclose_valve(midtankno,1,1)\t\t;\t//close Air valve\r\n\t\tclose_valve(midtankno,0,1)\t\t;\t//close Ink valve\r\n\r\n\t\t\t\r\n\t\tif (insert_slop_t_eeprom(Full_Point, midtankno,Start_Point)==0)\r\n\t\t{\r\n\t\t\t\tbox_msg =\"Turn Power Off and On to finish the calibration.\";\r\n\t\t\t\tMessageBox.Show(box_msg);\r\n\r\n\r\n \tcontext.AddResult(ResultType.Passed, \"Test passed\", \"Test passed.\");\r\n\t\t\t\t\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t\tbox_msg =\"Calibration error\";\r\n\t\t\t\tMessageBox.Show(box_msg);\r\n\r\n\r\n \tcontext.AddResult(ResultType.Failed, \"Test Fail\", \"Test Fail.\");\r\n\t\t\t\t\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\n\r\n\tint\tinsert_slop_t_eeprom( double FullPoint,Int32 midtankno, double StartPoint)\r\n{\r\n//\tcontext.Write(\"\\n \");\r\n\r\n\t\tStartPoint=FullPoint-StartPoint;\r\n\t\tStartPoint=StartPoint/Full_Cartridge;\r\n\t\tif ((StartPoint>0.7 ) && (StartPoint>1.3 ))\r\n\t\t{\r\n\t\t\tMidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();\r\n\r\n\t\t\tMidTankData midTankData = new MidTankData();\r\n\t\t\tmidTankData.MidTankId = Convert.ToUInt32 (midtankno-1);\r\n\t\t\tmidTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;\r\n\t\t\tmidTankData.SlopeB = Slop;\r\n\t\t\t\r\n\t\t\tcontext.Write(\"\\nMidtank No:\" + midtankno + \"=\\tVoltage Zero is =\"+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+\"\\tSlop=\"+ Slop);\r\n\t\t\tcontext.AppendToFile(File_name,\"\\nMidtank No:\" + midtankno + \"=\\tVoltage Zero is =\"+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+\"\\tSlop=\"+ Slop);\r\n\r\n\t\t\t\r\n\t\t\tmidTankDataSetupRequest.MidTankInfo.Add(midTankData);\r\n\t\t\r\n\r\n\t\t\tvar response =context.Send<MidTankDataSetupResponse>(midTankDataSetupRequest);\r\n\r\n\t\t\treturn\t0;\r\n\t\t}\r\n\t\telse\r\n\t\t\tcontext.Write(\"\\nError\");\r\n\t\t\tcontext.AppendToFile(File_name,\"\\n Slop Error\");\r\n\t\t\treturn\t1;\r\n\t\r\n\r\n }\r\n\r\n\r\n\r\nint adc_configuration(uint I2C_Slave_Add,uint channel ) \r\n\t{\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write\r\n\t\r\n\tvar response =context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n\t}\r\n\r\n\r\nint adc_set_for_read_ch(uint I2C_Slave_Add) \r\n\t{\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write\r\n\r\n\tvar response =context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n\t}\r\n\r\n\r\n\r\n\r\ndouble adc_read_ch(uint I2C_Slave_Add) \r\n\t{\r\n\tStubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();\r\n\tstubI2CReadBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\tstubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read\r\n\r\n\tvar response1 =context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);\r\n\tuint temph=0;\r\n\tuint templ=0;\r\n\tuint temp;\r\n\tdouble calc;\r\n\tdouble calc1;\r\n\tdouble calc2;\r\n\t\t\ttemph=response1.ReadBytes[0];\r\n\t\t\ttempl=response1.ReadBytes[1];\r\n\t\t\ttemp = (temph << 8) | templ;\r\n\t\t\ttemp=temp & 0x0fff;\r\n\t\t\t\t\r\n\t\t\tcalc = (double)temp *2.5 / 4096.0;\r\n\t\t\r\n\t\t\tcalc1 = (1.96- calc) * 4.64 + 1.96;\r\n\t\t\tcontext.Write(\"Vsensor [volts]:\\t\");\r\n\t\t\tcontext.Write(calc1 + \"\\n\");\r\n\r\n\t\r\n\treturn calc1;\r\n\t}\r\n\r\ndouble\t\tread_pressure_sensor(Int32 i )\r\n\t{\r\ndouble resualt =0 ;\r\n\t\t switch (i)\r\n {\r\n case 1:\r\n\t\t\tadc_configuration(0x44,0x20);\t\t//a2d_address 0x44 channel channel 2\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 2:\r\n\t\t\tadc_configuration(0x44,0x08);\t\t//a2d_address 0x44 channel channel 4\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 3:\r\n\t\t\tadc_configuration(0x46,0x80);\t\t//a2d_address 0x46 channel channel 0\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 4:\r\n\t\t\tadc_configuration(0x46,0x20);\t\t//a2d_address 0x46 channel channel 2\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 5:\r\n\t\t\tadc_configuration(0x44,0x10);\t\t//a2d_address 0x44 channel channel 3\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 6:\r\n\t\t\tadc_configuration(0x44,0x04);\t\t//a2d_address 0x44 channel channel 5\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 7:\r\n\t\t\tadc_configuration(0x46,0x40);\t\t//a2d_address 0x46 channel channel 1\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 8:\r\n\t\t\tadc_configuration(0x46,0x10);\t\t//a2d_address 0x46 channel channel 3\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n default:\r\n context.Write(\"Error\");\r\n\r\n break;\r\n\t }\t\r\n\t\t\r\n\t\treturn resualt;\r\n\t}\t\r\n\r\n\r\n//--------------------------------\r\nint open_valve (int valve_nm,int valve_type,int check_valve)\t\t//valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak\r\n{\r\n\tint temp1=Convert_Midtank_No[valve_nm-1]\t;\r\n\r\n\tstring temp;\r\n\tSetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);\t\r\n\t\r\n\t\tif (check_valve!=0)\r\n\t\t{\r\n\t\t\ttemp=\"Air\";\r\n\t\t\tif (valve_type==1)\r\n\t\t\ttemp=\"Ink\";\r\n\t\t\t\t\r\n\t\t\tDialogResult result = MessageBox.Show(\"Did \" + temp + \"Valve of Midtank \" + valve_nm +\" open?\", \"Warning\",MessageBoxButtons.YesNo);\r\n\t\t\tif(result == DialogResult.No)\r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Fail\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tFail\\n\");\t\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\telse \r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Pass\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tOpen\\n\");\t\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t\treturn 1;\r\n\r\n}\r\n//--------------------------------\t\r\nint close_valve (int valve_nm,int valve_type,int check_valve)\r\n{\r\n\tint temp1=Convert_Midtank_No[valve_nm-1];\t\r\n\r\n\tstring temp;\r\n\tSetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);\r\n\tif (check_valve!=0)\r\n\t\t{\r\n\t\t\ttemp=\"Air\";\r\n\t\t\tif (valve_type==1)\r\n\t\t\ttemp=\"Ink\";\r\n\t\t\t\t\r\n\t\t\tDialogResult result = MessageBox.Show(\"Did \" + temp +\" Valve of Midtank \" + valve_nm +\" close?\", \"Warning\",MessageBoxButtons.YesNo);\r\n\t\t\tif(result == DialogResult.No)\r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Fail\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tFail\\n\");\t\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\telse \r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Pass\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tclose\\n\");\t\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}\t\t\t\r\n\t\t}\r\n\treturn 1;\r\n\r\n}\r\n\r\npublic Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)\r\n{\r\n\tInt32 BitMask;\r\n\tInt32 RetVal;\r\n\tRetVal = Fpga_Read_Reg(Adr);\r\n\tInt32 RV = RetVal ;\r\n\t\r\n\tif (Bit == 0x1) \r\n\t{\r\n\t\tBitMask = 0x1 << BitNo;\r\n\t\tRV = RV | BitMask;\r\n\t\tFpga_Write_Reg( Adr, RV );\r\n\t}\r\n\telse if (Bit == 0x0)\r\n\t{\r\n\t\tBitMask = ~(0x1 << BitNo);\r\n\t\tRV = RV & BitMask;\r\n\t\tFpga_Write_Reg(Adr, RV );\t\r\n\t}\r\n\treturn 1;\r\n}\r\n\r\nint Fpga_Write_Reg(Int32 Addr, Int32 Data)\r\n{\r\n\tvar response =context.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,Addr, Data);\r\n\t\r\n\treturn 1;\r\n}\r\n\r\n\r\nInt32 check_valve (Int32 valve_nm,int valve_type)\r\n{\r\n\tInt32 temp1=Convert_Midtank_No[valve_nm-1];\t\r\n\t\r\n var response =context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F3_VALVE_OUT);\r\n\tInt32 RV =(Int32) response.Value & 0xffff ;\r\n\tRV = RV & ( 0x1 << (((valve_type+1)*8)- temp1));\r\n\treturn RV;\r\n\r\n}\r\n\r\n\r\nInt32 Fpga_Read_Reg(Int32 Addr)\r\n{\r\n \r\ncontext.Write(\"123\");\r\n\r\n\tvar response =context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,Addr);\r\n\tcontext.Write(\"456\");\r\n\r\n\tInt32 RV= (Int32) response.Value & 0xffff;\r\n\tcontext.Write(\"789\");\r\n\r\n\treturn RV;\r\n} \r\n \r\n \r\n \r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"e2c3c81d-1914-4d45-b031-d054af33a18e","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Moshe Copy Files.exe b/Software/Stubs Collection/stubs/Scripts/Moshe Copy Files.exe
deleted file mode 100644
index 428ce300b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Moshe Copy Files.exe
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs
deleted file mode 100644
index 6221ff388..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs
+++ /dev/null
@@ -1,118 +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;
-
-//unmark Auto logging !
-
-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 Max_Motor_ID = 25;
-
-Int32 i = 12; // to run only for specific motor
-
-public void OnExecute(StubManager stubManager)
-{
- for (i = 0; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("MoTor\tMIN_SPEED\tMAX_SPEED\tSTEP_MODE\tACC\t\tDEC\t\tKVAL_HOLD\tKVAL_RUN\tKVAL_ACC\tKVAL_DEC\tOCD_TH\t\tSTALL_TH\tCONFIG\t\tFS_SPD\t\tADC_OUT\n");
- stubManager.Write("------\t--------\t--------\t----------\t---\t\t---\t\t---------\t--------\t--------\t--------\t------\t\t--------\t------\t\t------\t\t------\n");
- }
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t");
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\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\n");
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing1.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing1.cs
deleted file mode 100644
index 6221ff388..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing1.cs
+++ /dev/null
@@ -1,118 +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;
-
-//unmark Auto logging !
-
-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 Max_Motor_ID = 25;
-
-Int32 i = 12; // to run only for specific motor
-
-public void OnExecute(StubManager stubManager)
-{
- for (i = 0; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("MoTor\tMIN_SPEED\tMAX_SPEED\tSTEP_MODE\tACC\t\tDEC\t\tKVAL_HOLD\tKVAL_RUN\tKVAL_ACC\tKVAL_DEC\tOCD_TH\t\tSTALL_TH\tCONFIG\t\tFS_SPD\t\tADC_OUT\n");
- stubManager.Write("------\t--------\t--------\t----------\t---\t\t---\t\t---------\t--------\t--------\t--------\t------\t\t--------\t------\t\t------\t\t------\n");
- }
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t");
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\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\n");
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing2.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing2.cs
deleted file mode 100644
index 09d22dea9..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing2.cs
+++ /dev/null
@@ -1,233 +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;
-
-//unmark Auto logging !
-
-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 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 ";
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Int32 i = 12; // to run only for specific motor
-
-public void OnExecute(StubManager stubManager)
-{
-
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
-
-
-
-
-
-
-
-
-
-
- for (i = 0; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
- stubManager.Write("MoTor\t\t\tMIN_SPEED\tMAX_SPEED\tSTEP_MODE\tACC\t\tDEC\t\tKVAL_HOLD\tKVAL_RUN\tKVAL_ACC\tKVAL_DEC\tOCD_TH\t\tSTALL_TH\tCONFIG\t\tFS_SPD\t\tADC_OUT\tDriver_Type\n");
- stubManager.Write("------\t\t\t--------\t--------\t----------\t---\t\t---\t\t---------\t--------\t--------\t--------\t------\t\t--------\t------\t\t------\t\t------\t\t------\n");
- }
- //stubManager.Write(i);
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t");
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- if( response.RecivedData > 0x15 )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b)
- stubManager.Write("\t\tVolage_Driver");
- else if ( response.RecivedData > 8 )
- stubManager.Write("\t\tCurrent_Driver");
- else
- stubManager.Write("\t\tNo_Driver");
-
-
- stubManager.Write("\n\n");
-
- }
-
- stubManager.Write("MoTor\t\t\tINT_SPD\tST_SLP\t\tSLP_ACC\tSLP_DEC\tSTATUS\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t-------\t--------\t-----\n");
-
- for (i = 0; i < Max_Motor_ID; i++)
- {
- stubManager.Write(Motor_ID[i]);
-
-// stubManager.Write(i);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n\n");
-
-
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing3.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing3.cs
deleted file mode 100644
index 73042af54..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing3.cs
+++ /dev/null
@@ -1,261 +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;
-
-//unmark Auto logging !
-
-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 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 ";
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Int32 i = 12; // to run only for specific motor
-
-public void OnExecute(StubManager stubManager)
-{
-
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
-
-
-
-
-
-
-
-
-
-
- for (i = 0; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
- stubManager.Write("MoTor\t\t\tMIN_SPEED\tMAX_SPEED\tSTEP_MODE\tACC\t\tDEC\t\tKVAL_HOLD\tKVAL_RUN\tKVAL_ACC\tKVAL_DEC\tOCD_TH\t\tSTALL_TH\tCONFIG\t\tFS_SPD\t\tADC_OUT\tDriver_Type\n");
- stubManager.Write("------\t\t\t--------\t--------\t----------\t---\t\t---\t\t---------\t--------\t--------\t--------\t------\t\t--------\t------\t\t------\t\t------\t\t------\n");
- }
- //stubManager.Write(i);
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t");
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- if( response.RecivedData > 0x15 )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b)
- stubManager.Write("\t\tVolage_Driver");
- else if ( response.RecivedData > 8 )
- stubManager.Write("\t\tCurrent_Driver");
- else
- stubManager.Write("\t\tNo_Driver");
-
-
- stubManager.Write("\n\n");
-
- }
-
- stubManager.Write("MoTor\t\t\tINT_SPD\tST_SLP\t\tSLP_ACC\tSLP_DEC\tSTATUS\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t-------\t--------\t-----\n");
-
- for (i = 0; i < Max_Motor_ID; i++)
- {
- stubManager.Write(Motor_ID[i]);
-
-// stubManager.Write(i);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n\n");
-
-
-
- }
-
- stubManager.Write("--------------- New Driver POWERSTEP01 ---------------\n\n");
- stubManager.Write("MoTor\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t------------\t\t-----------\t\t-------------\t\t------------\n");
-
- for (i = 6; i < 14; i++)//Dispensers only
- //for (i = 25; i < 29; i++)//Dispensers only
- {
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\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\n");
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing4.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing4.cs
deleted file mode 100644
index 5d6259cb4..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing4.cs
+++ /dev/null
@@ -1,265 +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;
-
-//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 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 ";
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Int32 i = 12; // to run only for specific motor
-
-public void OnExecute(StubManager stubManager)
-{
-
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
-
-
-
-
-
-
-
-
-
-
- for (i = 0; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
- stubManager.Write("MoTor\t\t\tMIN_SPEED\tMAX_SPEED\tSTEP_MODE\tACC\t\tDEC\t\tKVAL_HOLD\tKVAL_RUN\tKVAL_ACC\tKVAL_DEC\tOCD_TH\t\tSTALL_TH\tCONFIG\t\tFS_SPD\t\tADC_OUT\tDriver_Type\n");
- stubManager.Write("------\t\t\t--------\t--------\t----------\t---\t\t---\t\t---------\t--------\t--------\t--------\t------\t\t--------\t------\t\t------\t\t------\t\t------\n");
- }
- //stubManager.Write(i);
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t");
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- if( response.RecivedData > 0x15 )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b)
- stubManager.Write("\t\tVolage_Driver");
- else if ( response.RecivedData > 8 )
- stubManager.Write("\t\tCurrent_Driver");
- else
- stubManager.Write("\t\tNo_Driver");
-
-
- stubManager.Write("\n\n");
-
- }
-
- stubManager.Write("MoTor\t\t\tINT_SPD\tST_SLP\t\tSLP_ACC\tSLP_DEC\tSTATUS\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t-------\t--------\t-----\n");
-
- for (i = 0; i < Max_Motor_ID; i++)
- {
- stubManager.Write(Motor_ID[i]);
-
-// stubManager.Write(i);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n\n");
-
-
-
- }
-
- stubManager.Write("--------------- New Driver POWERSTEP01 ---------------\n\n");
- stubManager.Write("MoTor\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t------------\t\t-----------\t\t-------------\t\t------------\n");
-
- for (i = 6; i < 14; i++)//Dispensers only
- //for (i = 25; i < 29; i++)//Dispensers only
- {
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\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\n");
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01.cs
deleted file mode 100644
index b02a6072c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01.cs
+++ /dev/null
@@ -1,266 +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;
-
-//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 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 ";
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Int32 i = 12; // to run only for specific motor
-
-public void OnExecute(StubManager stubManager)
-{
-
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9); //7ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003); //ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
-
-
-
-
-
-
-
-
-
-
- for (i = 0; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
- stubManager.Write("MoTor\t\t\tMIN_SPEED\tMAX_SPEED\tSTEP_MODE\tACC\t\tDEC\t\tKVAL_HOLD\tKVAL_RUN\tKVAL_ACC\tKVAL_DEC\tOCD_TH\t\tSTALL_TH\tCONFIG\t\tFS_SPD\t\tADC_OUT\tDriver_Type\n");
- stubManager.Write("------\t\t\t--------\t--------\t----------\t---\t\t---\t\t---------\t--------\t--------\t--------\t------\t\t--------\t------\t\t------\t\t------\t\t------\n");
- }
- //stubManager.Write(i);
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t");
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- if( response.RecivedData > 0x15 && response.RecivedData < 0x1c )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b && response.RecivedData < 0x12 )
- stubManager.Write("\t\tVolage_Driver");
- else if ( response.RecivedData > 8 && response.RecivedData < 0x0a)
- stubManager.Write("\t\tCurrent_Driver");
- else
- stubManager.Write("\t\tNo_Driver");
-
-
- stubManager.Write("\n\n");
-
- }
-
- stubManager.Write("MoTor\t\t\tINT_SPD\tST_SLP\t\tSLP_ACC\tSLP_DEC\tSTATUS\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t-------\t--------\t-----\n");
-
- for (i = 0; i < Max_Motor_ID; i++)
- {
- stubManager.Write(Motor_ID[i]);
-
-// stubManager.Write(i);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n\n");
-
-
-
- }
-
-
- stubManager.Write("--------------- New Driver POWERSTEP01 ---------------\n\n");
- stubManager.Write("MoTor\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t------------\t\t-----------\t\t-------------\t\t------------\n");
-
- for (i = 6; i < 14; i++)//Dispensers only
- //for (i = 25; i < 29; i++)//Dispensers only
- {
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\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\n");
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01_rev10.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01_rev10.cs
deleted file mode 100644
index b02a6072c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01_rev10.cs
+++ /dev/null
@@ -1,266 +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;
-
-//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 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 ";
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Int32 i = 12; // to run only for specific motor
-
-public void OnExecute(StubManager stubManager)
-{
-
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9); //7ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003); //ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
-
-
-
-
-
-
-
-
-
-
- for (i = 0; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
- stubManager.Write("MoTor\t\t\tMIN_SPEED\tMAX_SPEED\tSTEP_MODE\tACC\t\tDEC\t\tKVAL_HOLD\tKVAL_RUN\tKVAL_ACC\tKVAL_DEC\tOCD_TH\t\tSTALL_TH\tCONFIG\t\tFS_SPD\t\tADC_OUT\tDriver_Type\n");
- stubManager.Write("------\t\t\t--------\t--------\t----------\t---\t\t---\t\t---------\t--------\t--------\t--------\t------\t\t--------\t------\t\t------\t\t------\t\t------\n");
- }
- //stubManager.Write(i);
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t");
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- if( response.RecivedData > 0x15 && response.RecivedData < 0x1c )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b && response.RecivedData < 0x12 )
- stubManager.Write("\t\tVolage_Driver");
- else if ( response.RecivedData > 8 && response.RecivedData < 0x0a)
- stubManager.Write("\t\tCurrent_Driver");
- else
- stubManager.Write("\t\tNo_Driver");
-
-
- stubManager.Write("\n\n");
-
- }
-
- stubManager.Write("MoTor\t\t\tINT_SPD\tST_SLP\t\tSLP_ACC\tSLP_DEC\tSTATUS\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t-------\t--------\t-----\n");
-
- for (i = 0; i < Max_Motor_ID; i++)
- {
- stubManager.Write(Motor_ID[i]);
-
-// stubManager.Write(i);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n\n");
-
-
-
- }
-
-
- stubManager.Write("--------------- New Driver POWERSTEP01 ---------------\n\n");
- stubManager.Write("MoTor\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t------------\t\t-----------\t\t-------------\t\t------------\n");
-
- for (i = 6; i < 14; i++)//Dispensers only
- //for (i = 25; i < 29; i++)//Dispensers only
- {
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\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\n");
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs b/Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs
deleted file mode 100644
index 02f8384bc..000000000
--- a/Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs
+++ /dev/null
@@ -1,45 +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 UInt32 Freq = 29166667;//FPGA Freq
-
-const UInt32 F1_Tacho_reg9 = 0x1E2;//Time of Tacho / No of clk in one cycle
-const UInt32 F1_gpo_cnt_A_reg = 0x3B0;// how many pulses to count
-//const Int32 F1_Prescaler1_reg5 = 0x3E8; //OLD FPGA 05.022019
-const UInt32 F1_Prescaler1_reg6 = 0x3EA; //New FPGA
-
-const UInt32 CNT = 4;//bigger number for resolution
-const UInt32 Presc = 2;//Lower number for resolution
-UInt32 temp;
-
-public void OnExecute(StubManager stubManager)
-{
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000000 + F1_Prescaler1_reg6, Presc);//for new FPGA use reg6!!
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + F1_Prescaler1_reg6);//for new FPGA use reg6!!!
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + F1_gpo_cnt_A_reg);
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000000 + F1_gpo_cnt_A_reg, CNT);
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + F1_gpo_cnt_A_reg);
-
- for(int i =0;i<1000;i++)
- {
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + F1_Tacho_reg9);
-
-
- temp = (Freq * CNT) /((UInt32)response.Value * Presc);
-
- stubManager.Write(temp);
- stubManager.Write(" Hz, ");
- stubManager.WriteHex((response.Value & 0xffff),4);
- stubManager.WriteLine("");
- Thread.Sleep(100); //Sleep for 100 milli.
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs b/Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs
deleted file mode 100644
index f0c8cb1af..000000000
--- a/Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs
+++ /dev/null
@@ -1,30 +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;
-
-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/Priming.pproj b/Software/Stubs Collection/stubs/Scripts/Priming.pproj
deleted file mode 100644
index 309dae73e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Priming.pproj
+++ /dev/null
@@ -1 +0,0 @@
-{"$id":"1","Name":"Priming","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing System.Diagnostics;\r\nusing System.Windows.Forms;\r\n\r\n\r\npublic class Program\r\n{\r\n\r\n\r\nprivate IProcedureContext context;\r\n\r\n//---------------------Start Command ----------------\r\nconst Int32\tCMD_RUN\t=\t0;\t\t//Run on Pulse Per Secound .positive run Up and negative run Down b\r\nconst Int32\tCMD_STOP=\t1;\t\t//0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz\r\nconst Int32\tCMD_VALVE=\t2;\t\t//0-to Midtank ,1-to head \r\nconst Int32\tCMD_DLY\t=\t3;\t\t//delay in Seconds .\r\nconst Int32\tCMD_TIME=\t4;\t\t//Print Time .\r\nconst Int32\tCMD_PRESS=\t5;\t\t//return from Delay loop when pressure is high (on mBAR) .\r\nconst Int32 CMD_LOOP_NM=6;\t\t//NUMBER OF counter\r\nconst Int32 CMD_LOOP=\t7;\t\t//jump up(+) or down(-) command u\r\nconst Int32 CMD_MTV_OPEN =\t8;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_MTV_CLOSE=\t9;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_LBL=\t10;\t//label for user \r\nconst Int32 CMD_SMP=\t11; //sample rate ,defualt 100msec (1); for 1 second is 10.\r\nconst Int32 CMD_PRESL=\t12; //return from Delay loop when pressure is low (on mBAR) .\r\n\r\nconst Int32\tCMD_END\t=\t13;\t//end loop .\r\n \r\n\r\nInt32[] BuildUp_Table = new int []\r\n{\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,200,\r\n\tCMD_DLY,200, \r\n\r\n\tCMD_LOOP_NM,3,\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_DLY,1, \r\n\tCMD_VALVE,1,\r\n\tCMD_DLY,1, \r\n\tCMD_LOOP,-4,\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_RUN,1068,\r\n\tCMD_PRESS,1000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_DLY,150, \t\t\r\n\tCMD_LBL,1,\r\n\tCMD_PRESS,2000,\t//mbar --> 2000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_DLY,60, \t\t\r\n\tCMD_LBL,2,\r\n\tCMD_PRESS,3000,\r\n\tCMD_DLY,60, // to limit\r\n\tCMD_STOP,0,\r\n\tCMD_VALVE,1,\r\n\tCMD_END,3,\r\n};\r\n\t\r\n\r\nInt32[] Up_Table = new int []\r\n{\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,200,\r\n\tCMD_DLY,200, \r\n\t\r\n\tCMD_PRESS,3000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_RUN,534, // 100%\r\n\tCMD_DLY,120,\r\n\tCMD_STOP,0,\r\n\tCMD_END,3,\r\n};\r\nInt32 Dispenser_sample_rate= 1; \r\n\r\n\tstring path = @\"C:\\Dispenser_setup\\Log\\\"; \t\r\n//----------------------\r\nconst UInt32 I2C_ID \t\t\t= \t4;\t\t\t\t\t//MCU_I2C4 \r\nconst UInt32 TCA9548A_address \t=\t0xE2;\t \t\r\nconst UInt32 I2C_Slave_Low_Add \t= \t0xA0;\t\t\t\t//eeprom address - 64k low \r\nconst UInt32 I2C_Slave_High_Add = \t0xA2;\t\t\t\t//eeprom address - 64k High\r\n//----------------------\r\nbyte [] EEPROM_Data = new byte [128];\r\n\r\n\r\n//---------------------End Command ----------------\r\n\r\nconst Int32\tDispenser_Motor1\t=\t6;\t\t \r\nconst Int32\tDispenser_Motor2\t=\t7;\t\t \r\nconst Int32\tDispenser_Motor3\t=\t8;\t\t \r\nconst Int32\tDispenser_Motor4\t=\t9;\t\t \r\nconst Int32\tDispenser_Motor5\t=\t10;\t\t \r\nconst Int32\tDispenser_Motor6\t=\t11;\t\t \r\nconst Int32\tDispenser_Motor7\t=\t12;\t\t \r\nconst Int32\tDispenser_Motor8\t=\t13;\t\t \r\n\r\nconst Int32 AN_IDS_PRESSENS_1\t=\t2;\r\nconst Int32 AN_IDS_PRESSENS_2\t=\t3;\r\nconst Int32 AN_IDS_PRESSENS_3\t=\t4;\r\nconst Int32 AN_IDS_PRESSENS_4\t=\t5;\r\nconst Int32 AN_IDS_PRESSENS_5\t=\t6;\r\nconst Int32 AN_IDS_PRESSENS_6\t=\t7;\r\nconst Int32 AN_IDS_PRESSENS_7\t=\t8;\r\nconst Int32 AN_IDS_PRESSENS_8\t=\t9;\r\n\r\nconst Int32\tF2_LS_01_Direct\t=\t0x60000420\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_2\tF2_LS_DISPENSER_25_2\tF2_LS_DISPENSER_75_2\tF2_LS_DISPENSER_DOWN_2 \tF2_LS_DISPENSER_50_2\tF2_LS_DISPENSER_SPARE_2\tF2_LS_DISPENSER_UP_1\tF2_LS_DISPENSER_25_1 \tF2_LS_DISPENSER_75_1\tF2_LS_DISPENSER_DOWN_1\tF2_LS_DISPENSER_50_1\tF2_LS_DISPENSER_SPARE_1\t\t\t\r\nconst Int32\tF2_LS_02_Direct\t=\t0x60000430\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_4\tF2_LS_DISPENSER_25_4\tF2_LS_DISPENSER_75_4\tF2_LS_DISPENSER_DOWN_4\tF2_LS_DISPENSER_50_4\tF2_LS_DISPENSER_SPARE_4\tF2_LS_DISPENSER_UP_3\tF2_LS_DISPENSER_25_3 \tF2_LS_DISPENSER_75_3\tF2_LS_DISPENSER_DOWN_3\tF2_LS_DISPENSER_50_3\tF2_LS_DISPENSER_SPARE_3\t\t\t\r\nconst Int32\tF2_LS_03_Direct\t=\t0x60000440\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_6 \tF2_LS_DISPENSER_25_6 \tF2_LS_DISPENSER_75_6 \tF2_LS_DISPENSER_DOWN_6\tF2_LS_DISPENSER_50_6\tF2_LS_DISPENSER_SPARE_6\tF2_LS_DISPENSER_UP_5\tF2_LS_DISPENSER_25_5 \tF2_LS_DISPENSER_75_5\tF2_LS_DISPENSER_DOWN_5\tF2_LS_DISPENSER_50_5\tF2_LS_DISPENSER_SPARE_5\t\t\t\r\nconst Int32\tF2_LS_04_Direct =\t0x60000480\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_8\tF2_LS_DISPENSER_25_8\tF2_LS_DISPENSER_75_8\tF2_LS_DISPENSER_DOWN_8\tF2_LS_DISPENSER_50_8\tF2_LS_DISPENSER_SPARE_8\tF2_LS_DISPENSER_UP_7\tF2_LS_DISPENSER_25_7 \tF2_LS_DISPENSER_75_7\tF2_LS_DISPENSER_DOWN_7\tF2_LS_DISPENSER_50_7\tF2_LS_DISPENSER_SPARE_7\t\t\t\r\n\r\nconst Int32 Dispenser_Valve1\t=\t0;\r\nconst Int32 Dispenser_Valve2\t=\t1;\r\nconst Int32 Dispenser_Valve3\t=\t2;\r\nconst Int32 Dispenser_Valve4\t=\t3;\r\nconst Int32 Dispenser_Valve5\t=\t4;\r\nconst Int32 Dispenser_Valve6\t=\t5;\r\nconst Int32 Dispenser_Valve7\t=\t6;\r\nconst Int32 Dispenser_Valve8\t=\t7;\r\n\r\nconst ushort MinPress_Mbar_Add =0x5c ;\r\nconst ushort MaxPress_Mbar_Add =0x60 ;\r\n\r\nconst Int32 F3_VALVE_OUT\t= 0x600000e2;\t\t\r\n\r\n//string path = \"C:\\\\Dispenser_setup\\\\Log\\\\\"; \r\n\r\n\r\n//Int32[] Start_Table;\r\n\r\nInt32[] Start_Table = new Int32 [10000];\r\n\r\nUInt32 [] Motor_Dir=new UInt32 [8] {0,0,0,0,0,0,0,0};\r\n\r\nstring Dispenser_Fname ;\r\n\r\nInt32 Dispenser_ptr =-1;\r\n\r\nInt32 [] Dispenser_press= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 max_pressure_level = 20000;\r\nInt32 min_pressure_level = -20000;\r\n\t\r\nInt32 [] A2D_Dispenser= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 Loop_cnt= 1;\r\nInt32 Loop_length=1;\r\n\r\nInt32 PressureSensorType= 1;\t\t//1- new -1up +10 . 0-old 0 to +10\r\nInt32\tTemp_Delay=0;\r\n\r\n\r\nUInt32 RD_LS_01_Direct;\r\nUInt32 RD_LS_02_Direct;\r\nUInt32 RD_LS_03_Direct;\r\nUInt32 RD_LS_04_Direct;\r\n\r\nlong Lebel1_time;\r\nlong Lebel2_time;\r\n\r\nlong time_Table;\r\n\r\nInt32 msec_index=0;\r\n\r\nInt32 MaxPress_Mbar;\r\nInt32 MinPress_Mbar;\r\nstring state;\r\n\r\n\tpublic Int32 OnExecute(IProcedureContext context)\r\n {\r\n\t\tlong Max_PBU;\r\n\t\tInt32 Index=0;\r\n\t\tInt32 speed=0;\r\n\t\tInt32 Dispenser_Nm;\r\n\t\tthis.context = context;\r\n\t\r\n\t\tstring box_msg = \"Make sure Mixer Hot \";\r\n\t\tMessageBox.Show(box_msg);\r\n\t\t\r\n\t\tvar response1 = context.RequestUserInputFor<String>(\"Dispenser Number\", \"Enter Dispenser number to make priming (1-8):\");\r\n\t\tcontext.WriteLine(response1);\r\n\t\tDispenser_Nm = Int32.Parse(response1);\r\n\t\t\r\n\t\tcheck_Min_Max_Mbar(Dispenser_Nm);\r\n\t\r\n\t\tif (Dispenser_Nm==8)\r\n\t\t\tMax_PBU=6000;\r\n\t\telse\r\n\t\t\tMax_PBU=4000;\r\n\t\t\t\r\n\t\r\n\tif (!Directory.Exists(path))\r\n\t\t{\r\n\t\t\tDirectory.CreateDirectory(path);\r\n\t\t}\t\r\n\t\t\tcontext.WriteLine(path);\r\n\t\t\t\r\n\tcontext.Send<ProgressResponse>(\"ProgressRequest\" ,0xe0, 1);\r\n\r\n\tDispenser_Fname=path + \"Dispenser_Nm_\" + Dispenser_Nm+\"_\" + DateTime.Now.ToString(\"MM-dd-yy hh-mm\")+ \".csv\" ;\r\n\r\n\tcontext.WriteLine(Dispenser_Fname);\r\n\r\n\tcontext.WriteToFile(Dispenser_Fname,\"Dispenser Nm,\" + Dispenser_Nm + \"\\n\" );\r\n\tcontext.AppendToFile(Dispenser_Fname,\"Pressure,Command,Value,DateTime,Remark\\n\" ); \r\n\t\tfor(int j=0; j<2;j++)\r\n\t\t{\r\n\t\t\tfor(int i=0; i<4;i++)\r\n\t\t\t{\r\n\t\t\t\tstate=\"PBU No. \"+ (4*j+i+1 );\r\n\t\t\t\tStart_Table=BuildUp_Table;\r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\tif (time_Table>300000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"PBU\", \"PBU No.\"+ (4*j+i+1 ) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\",\"PBU No.\"+ (4*j+i+1 ) + \" Pass\");\r\n\t\t\t\t\t\r\n\t\t\t}\r\n\t\t\tstate=\"Flow No.\"+ (j+1 ) ;\r\n\t\t\tStart_Table=Up_Table;\r\n\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\tif (time_Table<115000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.WriteLine(\"time_Table= \" +time_Table);\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"Flow\", \"Flow No.\"+ (j+1) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"Flow\",\"Flow No.\"+ (j+1 ) + \" Pass\");\r\n\t\t\t\t\t\t\r\n\t\t}\r\n\t\t\t\t state=\"Last PBU \" ;\r\n\t\t\t\tStart_Table=BuildUp_Table; \r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\tlong Time=Lebel2_time-Lebel1_time;\r\n\t\t\t\tif (Time>Max_PBU)\r\n\t\t\t\t { \r\n\t\t\t\t context.AddResult(ResultType.Failed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tFail\";\r\n\t\t\t\t }\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tPass\";\r\n\t\t\t\t}\t\r\n\t\treturn 0;\r\n\t\t\r\n }\r\n\r\n/////////////////////////////////////////////\r\nvoid \t\tcheck_Min_Max_Mbar(Int32 i )\r\n{\r\n\tint k;\r\n\tstring s ;\r\n\ti--;\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write Enable Channel ------------\");\t//debug\r\n\t\tenable_channel(i); // Chanel 0-7 => Disp0enser 0-7 \r\n\t\t\t\t\tcontext.WriteLine(\"-------------- Read_header ------------\");\t//debug\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write_address_eeprom ------------\");\t//debug\r\n\t\twrite_address_eeprom (I2C_Slave_Low_Add,MinPress_Mbar_Add);\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- read_data_from_eeprom ------------\");\t//debug\r\n\t\tread_data_from_eeprom (I2C_Slave_Low_Add,1);\r\n\t\tif \t(EEPROM_Data[0]==0\t)\r\n\t\t{\tPressureSensorType=0;\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=0\" );\t//debug\r\n\t\t}\r\n\t\telse\t\r\n\t\t{\t\r\n\t\t\tPressureSensorType=1;\t\t\t\t\t\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=1\" );\t//debug\r\n\t\t}\r\n\t\r\n}\t\r\n//----------------write address eeprom -------------------------\r\npublic void write_address_eeprom (UInt32 I2C_Add, UInt32 Eeprom_Add)\r\n{\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte( (Eeprom_Add & 0xff00) >>8));\t//Byte High add to write\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte(Eeprom_Add & 0xff));\t\t\t//Byte Low add to write\r\n\t\t\t\t\tcontext.WriteLine( (Eeprom_Add & 0xff00) >>8) ;\t//debug\r\n\t\t\t\t\tcontext.WriteLine( Eeprom_Add & 0xff);\t//debug\r\n\r\n\tcontext.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\t\r\n}\r\n//------------------- read Data from EEprom--------------------------\r\n\r\npublic void read_data_from_eeprom ( UInt32 I2C_Add, UInt32 cnt )\r\n{\r\n\tStubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();\r\n\tstubI2CReadBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CReadBytesRequest.SlaveAddress = (I2C_Add + 1);\r\n\tstubI2CReadBytesRequest.NumberOfBytesToRead = cnt; // Number of bytes to read\r\n\r\n\tvar response1 = context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);\r\n\r\n\tfor(int i=0; i<cnt;i++)\r\n\t\t{\r\n\t\t\tEEPROM_Data[i]=Convert.ToByte(response1.ReadBytes[i]);\r\n\t\t\tcontext.WriteLine(EEPROM_Data[i] );\t//debug\r\n\r\n\t\t}\t\t\r\n}\t\r\n\r\n\r\n///////////////////////////////////////////////\r\n//----------- enable I2c channel --------------\r\npublic int enable_channel(Int32 Channel_ID) \r\n{\r\n\tuint Const_temp = 0x01;\t\r\n\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;\r\n\t\r\n\tConst_temp = Const_temp << Channel_ID;\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);//enable i2c channel 0 Dispenser 1\r\n\r\n\tvar response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n}\r\n\r\n\r\n////////////////////////////////////////////////////////////// \r\nInt32 Table_Run(Int32 Dispenser )\r\n\r\n{\r\n\tInt32 COMMAND=0;\r\n\tInt32 Data=0;\r\n\tInt32 count=0;\r\n\t\r\n\tDispenser--;\t\t//check from 0-7\r\n\t\r\n\tint j=0;\r\n\tvar stopwatch = new Stopwatch();\r\n\t\tstopwatch.Start();\r\n\t\r\n\t\tlong elapsed_time = stopwatch.ElapsedMilliseconds;\r\n\t\tcontext.WriteLine(elapsed_time);\r\n\t\t\r\n\twhile (count!=-1) \r\n\t{\r\n\tmsec_index=msec_index+1;\r\n\t\t\r\n\t\tif (Dispenser<2) \r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tRD_LS_01_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<4) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tRD_LS_02_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<6) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_03_Direct);\r\n\t\t\t\tRD_LS_03_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_04_Direct);\r\n\t\t\t\tRD_LS_04_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\tif (Dispenser<4) \r\n\t\t\t{\r\n\t\t\tvar response2 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_1);\r\n\t\t\t\tA2D_Dispenser[0]=(response2.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[1] =(response2.SamplingInBits) & 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[2] =(response2.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[3] =(response2.VoltageSamplingMv) & 0x0000ffff;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\tvar\tresponse3 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_5);\r\n\t\t\t\tA2D_Dispenser[4] =(response3.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[5] =(response3.SamplingInBits)& 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[6] =(response3.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[7] =(response3.VoltageSamplingMv)& 0x0000ffff;\r\n\t\t\t}\r\n\t\t\t\t\r\n\t\t\tCOMMAND=Start_Table[count];\r\n\t\t\tData=Start_Table[(count+1)];\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//Index=Index+2;\r\n\t\t\tswitch (COMMAND)\r\n\t\t\t\t{\r\n\t\t\t\tcase CMD_RUN:\r\n\t\t\t\t\tMotor_Run(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_VALVE:\r\n\t\t\t\t\tValve_3W(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_STOP:\r\n\t\t\t\t\tMotor_Stop(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_DLY:\r\n\t\t\t\t\tDelay_on_second(Data,Dispenser);\r\n\t\t\t\t\tif (Temp_Delay ==0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmax_pressure_level=20000;\t\r\n\t\t\t\t\t\tmin_pressure_level=-20000;\t\r\n\t\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_TIME:\r\n\t\t\t\t\tPrint_Time();\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESS:\r\n\t\t\t\t\tmax_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Max_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESL:\r\n\t\t\t\t\tmin_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Min_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_LBL:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Label,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tif(Data==1)\r\n\t\t\t\t\t\tLebel1_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tif(Data==2)\r\n\t\t\t\t\t\tLebel2_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_SMP:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",SampleRate,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tDispenser_sample_rate =Data;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_END:\r\n\t\t\t\t\tcount=-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End testing,,\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_MTV_OPEN:\r\n\t\t\t\t\topen_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",OPEN MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_MTV_CLOSE:\r\n\t\t\t\t\tclose_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",CLOSE MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_LOOP_NM:\r\n\t\t\t\t\r\n\t\t\t\t\tLoop_cnt=Data-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Counter Loop,\"+ Data+\",\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\tcount = count+2;\t\t\t\t\t\t\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_LOOP:\r\n\t\t\t\t\r\n\t\t\t\t\tif (Loop_cnt!=0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\"Counter Loop,\"+ Loop_cnt+\",\"+DateTime.Now+\"\\n\" );\r\n\t\t\t\t\t\tcount = count+2*Data;\r\n\t\t\t\t\t\tLoop_cnt--;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End loop,,\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\t\tcount = count+2;\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t}\t\r\n\t\t\t\r\n\t\t\tlong elapsed_time1 = stopwatch.ElapsedMilliseconds;\r\n\t\t\tlong elapsed_time2= elapsed_time1-elapsed_time;\r\n\t\t\tif (elapsed_time2>95)\r\n\t\t\telapsed_time2=95;\t\t//minimum time\r\n\t\t\t\tThread.Sleep(100-(int )(elapsed_time2));\r\n\r\n\t\t\telapsed_time = stopwatch.ElapsedMilliseconds;\t\t\r\n\r\n\r\n\t\t\tj++;\r\n\t\t\t\tif (j==10)\r\n\t\t\t\t{\r\n\t\t\t\t\tj=0;\r\n\t\t\t\t\tcontext.WriteLine(Dispenser_press[Dispenser]+ \" mBar\\t\"+state + \"\\tTime-\" + (elapsed_time/1000));\r\n\t\t\t\t}\r\n\t}\r\n\ttime_Table=elapsed_time;\r\n\treturn 0;\r\n}\r\n\r\n///////////////////////////////////////////////////////////////////\t\r\nInt32 Motor_Run(Int32 speed,Int32 Dispenser)\r\n\r\n{\r\n\r\n\tswitch (Dispenser)\r\n\t\t{\r\n\t\tcase 0:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[0]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[0]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 1:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[1]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[1]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 2:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[2]=2;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[2]=1;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 3:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[3]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[3]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\r\n\t\tcase 4:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[4]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{ \r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[4]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 5:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[5]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[5]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 6:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[6]=2;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[6]=1;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 7:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[7]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[7]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\t\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\r\n\t\t}\r\n \tcontext.AppendToFile(Dispenser_Fname,\",Run,\" +speed+\",\"+DateTime.Now +\"\\n\" ); \r\n\r\n\treturn 1;\r\n} \r\n \r\n \t\r\n Int32 Valve_3W(Int32 Valve_Value,Int32 Dispenser)\r\n{\r\n\tif ( Valve_Value==1)\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, true);\t//3 3Way\r\n\telse\t\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, false); //3 3Way\r\n \r\n\tcontext.AppendToFile(Dispenser_Fname,\",Dispenser Valve position is, \" + Valve_Value+\",\"+DateTime.Now +\"\\n\" );\r\n\r\n\treturn 1;\t\r\n}\t\r\n//--------------------------------------- \r\n\r\n Int32 Motor_Stop(Int32 Stop_Value,Int32 Dispenser )\r\n{\r\n\tcontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+Dispenser, Stop_Value);\r\n\t\r\n\tcontext.AppendToFile(Dispenser_Fname,\",Motor Stop,\" + Stop_Value+\",\"+DateTime.Now +\"\\n\");\r\n\tMotor_Dir[Dispenser]=0;\r\n\treturn 1;\t\r\n}\r\n\r\n//--------------------------------------- \r\n\r\n Int32 Delay_on_second(Int32 Delay,Int32 Dispenser )\r\n{\r\n//Int32 temp1;\r\nInt32 pressure_om_mBAR=0;\r\n\tif \t(Temp_Delay ==0)\r\n\t{\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",DLY, \" + Delay +\",\"+DateTime.Now+\"\\n\");\r\n\t\tTemp_Delay = Delay *10 -1;\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"A\");\t\t//debug\r\n\t}\r\n\telse\t\r\n\t\t\tTemp_Delay--;\r\n\t\t\t\r\n\tif ( LimitSW_Dispenser(Dispenser)==0)\r\n \t {\t\r\n \t \tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+\",Warning Motor on Limit\\n\");\r\n\t\t\tMotorStop(Dispenser);\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"C\");\t\t//debug\r\n\r\n\t\t\treturn 0 ;\r\n \t }\r\n\t\t\t\t\t\r\n\tpressure_om_mBAR=Calc_mBAR(Dispenser,true);\r\n \tif (pressure_om_mBAR > max_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too high\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n \tif (pressure_om_mBAR < min_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too low\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\t\r\n\t\t\r\n \treturn 1;\r\n}\t\r\n \t \t\r\nInt32 LimitSW_Dispenser(Int32 Dispenser) \r\n{\r\n\r\n\tif (Dispenser==0)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x04)!=0x04) && (Motor_Dir[0]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x20)!=0x20) && (Motor_Dir[0]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==1)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x100)!=0x100) && (Motor_Dir[1]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x800)!=0x800) && (Motor_Dir[1]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==2)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x04)!=0x04) && (Motor_Dir[2]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x20)!=0x20) && (Motor_Dir[2]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==3)\r\n\t\t\r\n\t\t{\r\n\t\t\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x100)!=0x100) && (Motor_Dir[3]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x800)!=0x800) && (Motor_Dir[3]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\tif (Dispenser==4)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x04)!=0x04) && (Motor_Dir[4]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x20)!=0x20) && (Motor_Dir[4]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==5)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x100)!=0x100) && (Motor_Dir[5]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x800)!=0x800) && (Motor_Dir[5]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==6)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x04)!=0x04) && (Motor_Dir[6]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x20)!=0x20) && (Motor_Dir[6]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==7)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x100)!=0x100) && (Motor_Dir[7]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x800)!=0x800) && (Motor_Dir[7]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\treturn 0;\r\n}\t\t\r\n\t\t\r\n\t \t\r\nInt32 Print_Time() \r\n{\t\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",Time is\\t,,\"+ DateTime.Now +\"\\n\" ); \r\n\r\n\t\treturn 1;\r\n}\t\r\n\r\n\r\n\r\nInt32 Calc_mBAR(Int32 Dispenser, bool save_press)\r\n{\t\t\r\nInt32 Data;\r\nInt32 Sense1;\r\nInt32 temp=0;\r\n\r\n\t\tData =A2D_Dispenser[Dispenser];\r\n\t\tif (Data<100)\r\n\t\t\ttemp=-1;\r\n\t\tData=Data-710;\r\n\t\tif (Data<0)\r\n\t\tData=0;\r\n\r\n\t\tData=Data*(10000+PressureSensorType*1000)/2840;\t//\tfor -1 to 10 bar Press_Sensor_Type=1 else 0\r\n\t\tData=Data-1000*PressureSensorType; \t\t\t// for -1 to 10 bar\r\n\r\n\t\tif (temp==-1)\t\t\t\t\t\t//if SamplingInBits <100 then No pressure sensor exist\r\n\t\tSense1=-9999\t;\r\n\t\telse\t\r\n\t\tSense1=Data\t;\r\n\t\tif (\t((msec_index) % (Dispenser_sample_rate)) == 0)\r\n\t\t{\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\"\" + Sense1+\"\\n\");\r\n\t\t}\r\n\t\tDispenser_press[Dispenser]=Sense1;\r\n\treturn Sense1;\r\n\t\t\t\r\n } \t\r\n\r\n \r\n//--------------------------------\r\nint open_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 1);\r\n\treturn 1;\r\n\r\n}\r\n//--------------------------------\t\r\nint close_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 0);\r\n\treturn 1;\r\n}\r\n//--------------------------------\r\nInt32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)\r\n{\r\n\tInt32 BitMask;\r\n\r\n var response = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" , F3_VALVE_OUT);\r\n\tInt32 RV = (Int32) response.Value & 0xffff;\r\n\t\r\n\t\r\n\tif (Bit == 0x1) \r\n\t{\r\n\t\tBitMask = 0x1 << BitNo;\r\n\t\tRV = RV | BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\telse if (Bit == 0x0)\r\n\t{\r\n\t\tBitMask = ~(0x1 << BitNo);\r\n\t\tRV = RV & BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\treturn 1;\r\n}\r\n//---------------------------------- \r\n void MotorStop(Int32 i)\r\n{\r\n \r\ncontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+i, 2);\r\nMotor_Dir[i]=0;\t//0 stop 1- up 2-dn\r\n\r\n}\r\n \r\n}","IsEntryPoint":true},{"$id":"4","Name":"Service.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[{"$id":"7","Name":null,"Value":null}]},"ReferenceAssemblies":{"$id":"8","$values":[{"$id":"9","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"18","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"19","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"20","$values":[]},"Dialogs":{"$id":"21","$values":[]},"ID":"b5924fbd-808a-41e3-99fb-980cd8df910c","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Priming1.pproj b/Software/Stubs Collection/stubs/Scripts/Priming1.pproj
deleted file mode 100644
index 4a7f5fcc3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Priming1.pproj
+++ /dev/null
@@ -1 +0,0 @@
-{"$id":"1","Visibility":"Public","Inputs":{"$id":"2","$values":[]},"Variables":{"$id":"3","$values":[]},"Resources":{"$id":"4","$values":[]},"Dialogs":{"$id":"5","$values":[]},"ID":"eb73dbd4-1e1e-4f5d-adc8-5f159edab802","Name":"Priming1","Description":"Used for a dispenser priming","ApartmentState":"STA","ReferenceAssemblies":{"$id":"6","$values":[{"$id":"7","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"8","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"17","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Scripts":{"$id":"18","$values":[{"$id":"19","Name":"Program.csx","IsEntryPoint":true,"Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing System.Diagnostics;\r\nusing System.Windows.Forms;\r\n\r\n\r\npublic class Program\r\n{\r\n\r\n\r\nprivate IProcedureContext context;\r\n\r\n//---------------------Start Command ----------------\r\nconst Int32\tCMD_RUN\t=\t0;\t\t//Run on Pulse Per Secound .positive run Up and negative run Down b\r\nconst Int32\tCMD_STOP=\t1;\t\t//0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz\r\nconst Int32\tCMD_VALVE=\t2;\t\t//0-to Midtank ,1-to head \r\nconst Int32\tCMD_DLY\t=\t3;\t\t//delay in Seconds .\r\nconst Int32\tCMD_TIME=\t4;\t\t//Print Time .\r\nconst Int32\tCMD_PRESS=\t5;\t\t//return from Delay loop when pressure is high (on mBAR) .\r\nconst Int32 CMD_LOOP_NM=6;\t\t//NUMBER OF counter\r\nconst Int32 CMD_LOOP=\t7;\t\t//jump up(+) or down(-) command u\r\nconst Int32 CMD_MTV_OPEN =\t8;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_MTV_CLOSE=\t9;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_LBL=\t10;\t//label for user \r\nconst Int32 CMD_SMP=\t11; //sample rate ,defualt 100msec (1); for 1 second is 10.\r\nconst Int32 CMD_PRESL=\t12; //return from Delay loop when pressure is low (on mBAR) .\r\n\r\nconst Int32\tCMD_END\t=\t13;\t//end loop .\r\n \r\n\r\nInt32[] BuildUp_Table = new int []\r\n{\r\n\tCMD_LOOP_NM,3,\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_DLY,1, \r\n\tCMD_VALVE,1,\r\n\tCMD_DLY,1, \r\n\tCMD_LOOP,-4,\r\n\r\n\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,800,\r\n\tCMD_DLY,60, \r\n\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_PRESS,1000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_RUN,1068,\r\n\tCMD_DLY,150, \t\t\r\n\tCMD_LBL,1,\r\n\tCMD_PRESS,2000,\t//mbar --> 2000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_DLY,60, \t\t\r\n\tCMD_LBL,2,\r\n\tCMD_PRESS,3000,\r\n\tCMD_DLY,60, // to limit\r\n\tCMD_STOP,0,\r\n\tCMD_VALVE,1,\r\n\tCMD_DLY,1, \r\n\r\n\t\r\n\tCMD_END,3,\r\n};\r\n\t\r\n\r\nInt32[] Up_Table = new int []\r\n{\r\n\tCMD_VALVE,0,\r\n\tCMD_DLY,1, \r\n\tCMD_VALVE,1,\r\n\tCMD_DLY,1, \r\n\tCMD_LOOP,-4,\r\n\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,800,\r\n\tCMD_DLY,60, \r\n\t\r\n\tCMD_PRESS,3000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_RUN,534, // 100%\r\n\tCMD_DLY,120,\r\n\tCMD_STOP,0,\r\n\tCMD_END,3,\r\n};\r\nInt32 Dispenser_sample_rate= 1; \r\n\r\n\tstring path = @\"C:\\Dispenser_setup\\Log\\\"; \t\r\n//----------------------\r\nconst UInt32 I2C_ID \t\t\t= \t4;\t\t\t\t\t//MCU_I2C4 \r\nconst UInt32 TCA9548A_address \t=\t0xE2;\t \t\r\nconst UInt32 I2C_Slave_Low_Add \t= \t0xA0;\t\t\t\t//eeprom address - 64k low \r\nconst UInt32 I2C_Slave_High_Add = \t0xA2;\t\t\t\t//eeprom address - 64k High\r\n//----------------------\r\nbyte [] EEPROM_Data = new byte [128];\r\n\r\n\r\n//---------------------End Command ----------------\r\n\r\nconst Int32\tDispenser_Motor1\t=\t6;\t\t \r\nconst Int32\tDispenser_Motor2\t=\t7;\t\t \r\nconst Int32\tDispenser_Motor3\t=\t8;\t\t \r\nconst Int32\tDispenser_Motor4\t=\t9;\t\t \r\nconst Int32\tDispenser_Motor5\t=\t10;\t\t \r\nconst Int32\tDispenser_Motor6\t=\t11;\t\t \r\nconst Int32\tDispenser_Motor7\t=\t12;\t\t \r\nconst Int32\tDispenser_Motor8\t=\t13;\t\t \r\n\r\nconst Int32 AN_IDS_PRESSENS_1\t=\t2;\r\nconst Int32 AN_IDS_PRESSENS_2\t=\t3;\r\nconst Int32 AN_IDS_PRESSENS_3\t=\t4;\r\nconst Int32 AN_IDS_PRESSENS_4\t=\t5;\r\nconst Int32 AN_IDS_PRESSENS_5\t=\t6;\r\nconst Int32 AN_IDS_PRESSENS_6\t=\t7;\r\nconst Int32 AN_IDS_PRESSENS_7\t=\t8;\r\nconst Int32 AN_IDS_PRESSENS_8\t=\t9;\r\n\r\nconst Int32\tF2_LS_01_Direct\t=\t0x60000420\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_2\tF2_LS_DISPENSER_25_2\tF2_LS_DISPENSER_75_2\tF2_LS_DISPENSER_DOWN_2 \tF2_LS_DISPENSER_50_2\tF2_LS_DISPENSER_SPARE_2\tF2_LS_DISPENSER_UP_1\tF2_LS_DISPENSER_25_1 \tF2_LS_DISPENSER_75_1\tF2_LS_DISPENSER_DOWN_1\tF2_LS_DISPENSER_50_1\tF2_LS_DISPENSER_SPARE_1\t\t\t\r\nconst Int32\tF2_LS_02_Direct\t=\t0x60000430\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_4\tF2_LS_DISPENSER_25_4\tF2_LS_DISPENSER_75_4\tF2_LS_DISPENSER_DOWN_4\tF2_LS_DISPENSER_50_4\tF2_LS_DISPENSER_SPARE_4\tF2_LS_DISPENSER_UP_3\tF2_LS_DISPENSER_25_3 \tF2_LS_DISPENSER_75_3\tF2_LS_DISPENSER_DOWN_3\tF2_LS_DISPENSER_50_3\tF2_LS_DISPENSER_SPARE_3\t\t\t\r\nconst Int32\tF2_LS_03_Direct\t=\t0x60000440\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_6 \tF2_LS_DISPENSER_25_6 \tF2_LS_DISPENSER_75_6 \tF2_LS_DISPENSER_DOWN_6\tF2_LS_DISPENSER_50_6\tF2_LS_DISPENSER_SPARE_6\tF2_LS_DISPENSER_UP_5\tF2_LS_DISPENSER_25_5 \tF2_LS_DISPENSER_75_5\tF2_LS_DISPENSER_DOWN_5\tF2_LS_DISPENSER_50_5\tF2_LS_DISPENSER_SPARE_5\t\t\t\r\nconst Int32\tF2_LS_04_Direct =\t0x60000480\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_8\tF2_LS_DISPENSER_25_8\tF2_LS_DISPENSER_75_8\tF2_LS_DISPENSER_DOWN_8\tF2_LS_DISPENSER_50_8\tF2_LS_DISPENSER_SPARE_8\tF2_LS_DISPENSER_UP_7\tF2_LS_DISPENSER_25_7 \tF2_LS_DISPENSER_75_7\tF2_LS_DISPENSER_DOWN_7\tF2_LS_DISPENSER_50_7\tF2_LS_DISPENSER_SPARE_7\t\t\t\r\n\r\nconst Int32 Dispenser_Valve1\t=\t0;\r\nconst Int32 Dispenser_Valve2\t=\t1;\r\nconst Int32 Dispenser_Valve3\t=\t2;\r\nconst Int32 Dispenser_Valve4\t=\t3;\r\nconst Int32 Dispenser_Valve5\t=\t4;\r\nconst Int32 Dispenser_Valve6\t=\t5;\r\nconst Int32 Dispenser_Valve7\t=\t6;\r\nconst Int32 Dispenser_Valve8\t=\t7;\r\n\r\nconst ushort MinPress_Mbar_Add =0x5c ;\r\nconst ushort MaxPress_Mbar_Add =0x60 ;\r\n\r\nconst Int32 F3_VALVE_OUT\t= 0x600000e2;\t\t\r\n\r\n//string path = \"C:\\\\Dispenser_setup\\\\Log\\\\\"; \r\n\r\n\r\n//Int32[] Start_Table;\r\n\r\nInt32[] Start_Table = new Int32 [10000];\r\n\r\nUInt32 [] Motor_Dir=new UInt32 [8] {0,0,0,0,0,0,0,0};\r\n\r\nstring Dispenser_Fname ;\r\n\r\nInt32 Dispenser_ptr =-1;\r\n\r\nInt32 [] Dispenser_press= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 max_pressure_level = 20000;\r\nInt32 min_pressure_level = -20000;\r\n\t\r\nInt32 [] A2D_Dispenser= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 Loop_cnt= 1;\r\nInt32 Loop_length=1;\r\n\r\nInt32 PressureSensorType= 1;\t\t//1- new -1up +10 . 0-old 0 to +10\r\nInt32\tTemp_Delay=0;\r\n\r\nInt32\tFirst_Delay=0;\r\n\r\n\r\nUInt32 RD_LS_01_Direct;\r\nUInt32 RD_LS_02_Direct;\r\nUInt32 RD_LS_03_Direct;\r\nUInt32 RD_LS_04_Direct;\r\n\r\nlong Lebel1_time;\r\nlong Lebel2_time;\r\nlong End_Time=0;\r\n\r\nlong elapsed_time =0;\r\n\r\nlong time_Table;\r\n\r\nInt32 msec_index=0;\r\n\r\nInt32 MaxPress_Mbar;\r\nInt32 MinPress_Mbar;\r\nstring state;\r\n\r\n\tpublic Int32 OnExecute(IProcedureContext context)\r\n {\r\n\t\tlong Max_PBU;\r\n\t\tInt32 Index=0;\r\n\t\tInt32 speed=0;\r\n\t\tInt32 Dispenser_Nm;\r\n\t\tthis.context = context;\r\n\t\tint Test_Index=0;\r\n \t\t\r\n \r\n\r\n\t\t\r\n\t\tstring box_msg = \"Make sure Mixer Hot \";\r\n\t\tMessageBox.Show(box_msg);\r\n\t\t\r\n\t\tvar response1 = context.RequestUserInputFor<String>(\"Dispenser Number\", \"Enter Dispenser number to make priming (1-8):\");\r\n\t\tcontext.WriteLine(response1);\r\n\t\tDispenser_Nm = Int32.Parse(response1);\r\n\t\t\r\n\t\tcheck_Min_Max_Mbar(Dispenser_Nm);\r\n\t\r\n\t\tif (Dispenser_Nm==8)\r\n\t\t\tMax_PBU=8000;\r\n\t\telse\r\n\t\t\tMax_PBU=6000;\r\n\t\t\t\r\n\t\r\n\tif (!Directory.Exists(path))\r\n\t\t{\r\n\t\t\tDirectory.CreateDirectory(path);\r\n\t\t}\t\r\n\t\t\tcontext.WriteLine(path);\r\n\t\t\t\r\n\tcontext.Send<ProgressResponse>(\"ProgressRequest\" ,0xe0, 1);\r\n\r\n\tDispenser_Fname=path + \"Dispenser_Nm_\" + Dispenser_Nm+\"_\" + DateTime.Now.ToString(\"MM-dd-yy hh-mm\")+ \".csv\" ;\r\n\r\n\tcontext.WriteLine(Dispenser_Fname);\r\n\r\n\tcontext.WriteToFile(Dispenser_Fname,\"Dispenser Nm,\" + Dispenser_Nm + \"\\n\" );\r\n\tcontext.AppendToFile(Dispenser_Fname,\"Pressure,Command,Value,DateTime,Remark\\n\" ); \r\n\t\r\n\tcontext.UpdateProgress(\"Priming\",false,Test_Index,10);\r\n\r\n\tfor(int j=0; j<2;j++)\r\n\t\t{\r\n\t\t\tfor(int i=0; i<4;i++)\r\n\t\t\t{\r\n\t\t\t\tstate=\"PBU No. \"+ (4*j+i+1 );\r\n\t\t\t\tStart_Table=BuildUp_Table;\r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\tif (time_Table>300000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"PBU\", \"PBU No.\"+ (4*j+i+1 ) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\",\"PBU No.\"+ (4*j+i+1 ) + \" Pass\");\r\n \r\n\t\t\tTest_Index++;\r\n \t\t\tcontext.UpdateProgress(\"Priming\",false,Test_Index,10);\r\n\t\t\t\t\t\r\n\t\t\t}\r\n\t\t\tstate=\"Flow No.\"+ (j+1 ) ;\r\n\t\t\tStart_Table=Up_Table;\r\n\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\tif (time_Table<115000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.WriteLine(\"time_Table= \" +time_Table);\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"Flow\", \"Flow No.\"+ (j+1) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"Flow\",\"Flow No.\"+ (j+1 ) + \" Pass\");\r\n\t\t\t\t \tTest_Index++;\r\n \t\t\t\t\tcontext.UpdateProgress(\"Priming\",false,Test_Index,10);\r\n\t\t\r\n\t\t}\r\n\t\t\t\t state=\"Last PBU \" ;\r\n\t\t\t\t Start_Table=BuildUp_Table;\r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\t\tTest_Index++;\r\n \t\t\t\t\tcontext.UpdateProgress(\"Priming\",false,Test_Index,10);\r\n\r\n\t\t\t\tlong Time=Lebel2_time-Lebel1_time;\r\n\t\t\t\tif (Time>Max_PBU)\r\n\t\t\t\t { \r\n\t\t\t\t context.AddResult(ResultType.Failed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tFail\";\r\n\t\t\t\t }\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tPass\";\r\n\t\t\t\t}\t\r\n\t\treturn 0;\r\n\t\t\r\n }\r\n\r\n/////////////////////////////////////////////\r\nvoid \t\tcheck_Min_Max_Mbar(Int32 i )\r\n{\r\n\tint k;\r\n\tstring s ;\r\n\ti--;\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write Enable Channel ------------\");\t//debug\r\n\t\tenable_channel(i); // Chanel 0-7 => Disp0enser 0-7 \r\n\t\t\t\t\tcontext.WriteLine(\"-------------- Read_header ------------\");\t//debug\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write_address_eeprom ------------\");\t//debug\r\n\t\twrite_address_eeprom (I2C_Slave_Low_Add,MinPress_Mbar_Add);\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- read_data_from_eeprom ------------\");\t//debug\r\n\t\tread_data_from_eeprom (I2C_Slave_Low_Add,1);\r\n\t\tif \t(EEPROM_Data[0]==0\t)\r\n\t\t{\tPressureSensorType=0;\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=0\" );\t//debug\r\n\t\t}\r\n\t\telse\t\r\n\t\t{\t\r\n\t\t\tPressureSensorType=1;\t\t\t\t\t\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=1\" );\t//debug\r\n\t\t}\r\n\t\r\n}\t\r\n//----------------write address eeprom -------------------------\r\npublic void write_address_eeprom (UInt32 I2C_Add, UInt32 Eeprom_Add)\r\n{\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte( (Eeprom_Add & 0xff00) >>8));\t//Byte High add to write\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte(Eeprom_Add & 0xff));\t\t\t//Byte Low add to write\r\n\t\t\t\t\tcontext.WriteLine( (Eeprom_Add & 0xff00) >>8) ;\t//debug\r\n\t\t\t\t\tcontext.WriteLine( Eeprom_Add & 0xff);\t//debug\r\n\r\n\tcontext.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\t\r\n}\r\n//------------------- read Data from EEprom--------------------------\r\n\r\npublic void read_data_from_eeprom ( UInt32 I2C_Add, UInt32 cnt )\r\n{\r\n\tStubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();\r\n\tstubI2CReadBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CReadBytesRequest.SlaveAddress = (I2C_Add + 1);\r\n\tstubI2CReadBytesRequest.NumberOfBytesToRead = cnt; // Number of bytes to read\r\n\r\n\tvar response1 = context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);\r\n\r\n\tfor(int i=0; i<cnt;i++)\r\n\t\t{\r\n\t\t\tEEPROM_Data[i]=Convert.ToByte(response1.ReadBytes[i]);\r\n\t\t\tcontext.WriteLine(EEPROM_Data[i] );\t//debug\r\n\r\n\t\t}\t\t\r\n}\t\r\n\r\n\r\n///////////////////////////////////////////////\r\n//----------- enable I2c channel --------------\r\npublic int enable_channel(Int32 Channel_ID) \r\n{\r\n\tuint Const_temp = 0x01;\t\r\n\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;\r\n\t\r\n\tConst_temp = Const_temp << Channel_ID;\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);//enable i2c channel 0 Dispenser 1\r\n\r\n\tvar response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n}\r\n\r\n\r\n////////////////////////////////////////////////////////////// \r\nInt32 Table_Run(Int32 Dispenser )\r\n\r\n{\r\n\tInt32 COMMAND=0;\r\n\tInt32 Data=0;\r\n\tInt32 count=0;\r\n\t\r\n\tDispenser--;\t\t//check from 0-7\r\n\t\r\n\tint j=0;\r\n\t\tvar stopwatch = new Stopwatch();\r\n\r\n\t\tstopwatch.Start();\r\n\t\r\n\t\t elapsed_time = stopwatch.ElapsedMilliseconds;\r\n\t\tcontext.WriteLine(elapsed_time);\r\n\t\t\r\n\twhile (count!=-1) \r\n\t{\r\n\tmsec_index=msec_index+1;\r\n\t\t\r\n\t\tif (Dispenser<2) \r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tRD_LS_01_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<4) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tRD_LS_02_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<6) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_03_Direct);\r\n\t\t\t\tRD_LS_03_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_04_Direct);\r\n\t\t\t\tRD_LS_04_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\tif (Dispenser<4) \r\n\t\t\t{\r\n\t\t\tvar response2 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_1);\r\n\t\t\t\tA2D_Dispenser[0]=(response2.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[1] =(response2.SamplingInBits) & 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[2] =(response2.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[3] =(response2.VoltageSamplingMv) & 0x0000ffff;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\tvar\tresponse3 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_5);\r\n\t\t\t\tA2D_Dispenser[4] =(response3.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[5] =(response3.SamplingInBits)& 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[6] =(response3.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[7] =(response3.VoltageSamplingMv)& 0x0000ffff;\r\n\t\t\t}\r\n\t\t\t\t\r\n\t\t\tCOMMAND=Start_Table[count];\r\n\t\t\tData=Start_Table[(count+1)];\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//Index=Index+2;\r\n\t\t\tswitch (COMMAND)\r\n\t\t\t\t{\r\n\t\t\t\tcase CMD_RUN:\r\n\t\t\t\t\tMotor_Run(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_VALVE:\r\n\t\t\t\t\tValve_3W(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_STOP:\r\n\t\t\t\t\tMotor_Stop(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_DLY:\r\n\t\t\t\t\tDelay_on_second(Data,Dispenser,elapsed_time);\r\n\t\t\t\t\tif (Temp_Delay <1)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmax_pressure_level=20000;\t\r\n\t\t\t\t\t\tmin_pressure_level=-20000;\t\r\n\t\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_TIME:\r\n\t\t\t\t\tPrint_Time();\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESS:\r\n\t\t\t\t\tmax_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Max_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESL:\r\n\t\t\t\t\tmin_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Min_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_LBL:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Label,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tif(Data==1)\r\n\t\t\t\t\t\tLebel1_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tif(Data==2)\r\n\t\t\t\t\t\tLebel2_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_SMP:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",SampleRate,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tDispenser_sample_rate =Data;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_END:\r\n\t\t\t\t\tcount=-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End testing,,\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_MTV_OPEN:\r\n\t\t\t\t\topen_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",OPEN MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_MTV_CLOSE:\r\n\t\t\t\t\tclose_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",CLOSE MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_LOOP_NM:\r\n\t\t\t\t\r\n\t\t\t\t\tLoop_cnt=Data-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Counter Loop,\"+ Data+\",\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\tcount = count+2;\t\t\t\t\t\t\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_LOOP:\r\n\t\t\t\t\r\n\t\t\t\t\tif (Loop_cnt!=0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\"Counter Loop,\"+ Loop_cnt+\",\"+DateTime.Now+\"\\n\" );\r\n\t\t\t\t\t\tcount = count+2*Data;\r\n\t\t\t\t\t\tLoop_cnt--;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End loop,,\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\t\tcount = count+2;\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t}\t\r\n\t\t\t\r\n\t\t\tlong elapsed_time1 = stopwatch.ElapsedMilliseconds;\r\n\t\t\tlong elapsed_time2= elapsed_time1-elapsed_time;\r\n\t\t\tif (elapsed_time2>95)\r\n\t\t\telapsed_time2=95;\t\t//minimum time\r\n\t\t\t\tThread.Sleep(100-(int )(elapsed_time2));\r\n\r\n\t\t\telapsed_time = stopwatch.ElapsedMilliseconds;\t\t\r\n\r\n\r\n\t\t\tj++;\r\n\t\t\t\tif (j==10)\r\n\t\t\t\t{\r\n\t\t\t\t\tj=0;\r\n\t\t\t\t\tcontext.WriteLine(Dispenser_press[Dispenser]+ \" mBar\\t\"+state + \"\\tTime-\" + (elapsed_time/1000));\r\n\t\t\t\t}\r\n\t}\r\n\ttime_Table=elapsed_time;\r\n\treturn 0;\r\n}\r\n\r\n///////////////////////////////////////////////////////////////////\t\r\nInt32 Motor_Run(Int32 speed,Int32 Dispenser)\r\n\r\n{\r\n\r\n\tswitch (Dispenser)\r\n\t\t{\r\n\t\tcase 0:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[0]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[0]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 1:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[1]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[1]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 2:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[2]=2;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[2]=1;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 3:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[3]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[3]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\r\n\t\tcase 4:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[4]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{ \r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[4]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 5:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[5]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[5]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 6:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[6]=2;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[6]=1;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 7:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[7]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[7]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\t\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\r\n\t\t}\r\n \tcontext.AppendToFile(Dispenser_Fname,\",Run,\" +speed+\",\"+DateTime.Now +\"\\n\" ); \r\n\r\n\treturn 1;\r\n} \r\n \r\n \t\r\n Int32 Valve_3W(Int32 Valve_Value,Int32 Dispenser)\r\n{\r\n\tif ( Valve_Value==1)\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, true);\t//3 3Way\r\n\telse\t\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, false); //3 3Way\r\n \r\n\tcontext.AppendToFile(Dispenser_Fname,\",Dispenser Valve position is, \" + Valve_Value+\",\"+DateTime.Now +\"\\n\" );\r\n\r\n\treturn 1;\t\r\n}\t\r\n//--------------------------------------- \r\n\r\n Int32 Motor_Stop(Int32 Stop_Value,Int32 Dispenser )\r\n{\r\n\tcontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+Dispenser, Stop_Value);\r\n\t\r\n\tcontext.AppendToFile(Dispenser_Fname,\",Motor Stop,\" + Stop_Value+\",\"+DateTime.Now +\"\\n\");\r\n\tMotor_Dir[Dispenser]=0;\r\n\treturn 1;\t\r\n}\r\n\r\n//--------------------------------------- \r\n\r\n Int32 Delay_on_second(Int32 Delay,Int32 Dispenser ,long time)\r\n{\r\n//Int32 temp1;\r\nInt32 pressure_om_mBAR=0;\r\n\tif \t(Temp_Delay ==0)\r\n\t{\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",DLY, \" + Delay +\",\"+DateTime.Now+\"\\n\");\r\n\t\tEnd_Time=time+Delay*1000-1;\r\n\r\n\t\tTemp_Delay = 1;\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"A\");\t\t//debug\r\n\t}\r\n\telse\t\r\nif (time>End_Time)\t\r\n\t\t{\t\t\t\t\r\n\t\tTemp_Delay=0;\r\n\t\t}\r\n\t\t\t\r\n\tif ( LimitSW_Dispenser(Dispenser)==0)\r\n \t {\t\r\n \t \tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+\",Warning Motor on Limit\\n\");\r\n\t\t\tMotorStop(Dispenser);\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"C\");\t\t//debug\r\n\r\n\t\t\treturn 0 ;\r\n \t }\r\n\t\t\t\t\t\r\n\tpressure_om_mBAR=Calc_mBAR(Dispenser,true);\r\n \tif (pressure_om_mBAR > max_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too high\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n \tif (pressure_om_mBAR < min_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too low\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\t\r\n\t\t\r\n \treturn 1;\r\n}\t\r\n \t \t\r\nInt32 LimitSW_Dispenser(Int32 Dispenser) \r\n{\r\n\r\n\tif (Dispenser==0)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x04)!=0x04) && (Motor_Dir[0]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x20)!=0x20) && (Motor_Dir[0]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==1)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x100)!=0x100) && (Motor_Dir[1]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x800)!=0x800) && (Motor_Dir[1]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==2)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x04)!=0x04) && (Motor_Dir[2]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x20)!=0x20) && (Motor_Dir[2]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==3)\r\n\t\t\r\n\t\t{\r\n\t\t\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x100)!=0x100) && (Motor_Dir[3]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x800)!=0x800) && (Motor_Dir[3]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\tif (Dispenser==4)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x04)!=0x04) && (Motor_Dir[4]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x20)!=0x20) && (Motor_Dir[4]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==5)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x100)!=0x100) && (Motor_Dir[5]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x800)!=0x800) && (Motor_Dir[5]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==6)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x04)!=0x04) && (Motor_Dir[6]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x20)!=0x20) && (Motor_Dir[6]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==7)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x100)!=0x100) && (Motor_Dir[7]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x800)!=0x800) && (Motor_Dir[7]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\treturn 0;\r\n}\t\t\r\n\t\t\r\n\t \t\r\nInt32 Print_Time() \r\n{\t\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",Time is\\t,,\"+ DateTime.Now +\"\\n\" ); \r\n\r\n\t\treturn 1;\r\n}\t\r\n\r\n\r\n\r\nInt32 Calc_mBAR(Int32 Dispenser, bool save_press)\r\n{\t\t\r\nInt32 Data;\r\nInt32 Sense1;\r\nInt32 temp=0;\r\n\r\n\t\tData =A2D_Dispenser[Dispenser];\r\n\t\tif (Data<100)\r\n\t\t\ttemp=-1;\r\n\t\tData=Data-710;\r\n\t\tif (Data<0)\r\n\t\tData=0;\r\n\r\n\t\tData=Data*(10000+PressureSensorType*1000)/2840;\t//\tfor -1 to 10 bar Press_Sensor_Type=1 else 0\r\n\t\tData=Data-1000*PressureSensorType; \t\t\t// for -1 to 10 bar\r\n\r\n\t\tif (temp==-1)\t\t\t\t\t\t//if SamplingInBits <100 then No pressure sensor exist\r\n\t\tSense1=-9999\t;\r\n\t\telse\t\r\n\t\tSense1=Data\t;\r\n\t\tif (\t((msec_index) % (Dispenser_sample_rate)) == 0)\r\n\t\t{\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\"\" + Sense1+\",,,\"+ DateTime.Now+\"\\n\");\r\n\t\t}\r\n\t\tDispenser_press[Dispenser]=Sense1;\r\n\treturn Sense1;\r\n\t\t\t\r\n } \t\r\n\r\n \r\n//--------------------------------\r\nint open_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 1);\r\n\treturn 1;\r\n\r\n}\r\n//--------------------------------\t\r\nint close_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 0);\r\n\treturn 1;\r\n}\r\n//--------------------------------\r\nInt32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)\r\n{\r\n\tInt32 BitMask;\r\n\r\n var response = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" , F3_VALVE_OUT);\r\n\tInt32 RV = (Int32) response.Value & 0xffff;\r\n\t\r\n\t\r\n\tif (Bit == 0x1) \r\n\t{\r\n\t\tBitMask = 0x1 << BitNo;\r\n\t\tRV = RV | BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\telse if (Bit == 0x0)\r\n\t{\r\n\t\tBitMask = ~(0x1 << BitNo);\r\n\t\tRV = RV & BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\treturn 1;\r\n}\r\n//---------------------------------- \r\n void MotorStop(Int32 i)\r\n{\r\n \r\ncontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+i, 2);\r\nMotor_Dir[i]=0;\t//0 stop 1- up 2-dn\r\n\r\n}\r\n \r\n}"},{"$id":"20","Name":"Service.csx","IsEntryPoint":false,"Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}"}]}} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Read Dancer new.cs b/Software/Stubs Collection/stubs/Scripts/Read Dancer new.cs
deleted file mode 100644
index 9d1572291..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Read Dancer new.cs
+++ /dev/null
@@ -1,138 +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 "..\Defines\Tango_Defines_Motors.cs"
-
- //--------------------------------------------------------------------------------
-
-//--------------------------------------------------------------------------------
-Int32 last_14bit_position;
-Int32 position_32bit;
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-//Create form
- Form form1 = new Form();
-
-//--------------------------------------------------------------------------------
-
-// Create buttons to use as the accept and cancel buttons.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-
- Button button2 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- Button button3 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-//--------------------------------------------------------------------------------
-// Set the text of button
-
- button1.Text = "Left Dancer";
- button2.Text = "Center Dancer";
- button3.Text = "Right Dancer";
-
-//--------------------------------------------------------------------------------
-// Set the position of the button on the form.
-
- button1.Location = new Point (40, 40);
-
- button2.Location
- = new Point (button1.Left + button1.Width + 10, 40);
-
- button3.Location
- = new Point (button2.Left + button2.Width + 10, 40);
-
-//--------------------------------------------------------------------------------
- // Add button to the form.
-
- form1.Controls.Add(button1);
-
- form1.Controls.Add(button2);
-
- form1.Controls.Add(button3);
-
-//--------------------------------------------------------------------------------
-
-// Set the caption bar text of the form.
-
- form1.Text = "Read Dancer";
-
-//--------------------------------------------------------------------------------
-
- // Define the border style of the form to a dialog box.
-
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
-
- // Set the MaximizeBox to false to remove the maximize box.
-
- form1.MaximizeBox = false;
-
- // Set the MinimizeBox to false to remove the minimize box.
-
- form1.MinimizeBox = false;
-
- // Set the start position of the form to the center of the screen.
-
- form1.StartPosition = FormStartPosition.CenterScreen;
-
-
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-//-----------------------------------------
- button1.Click += (_,__) =>
- {
- stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,0);
- Thread.Sleep(1000);
- };
-//-----------------------------------------
- button2.Click += (_,__) =>
-
- {
- stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,1);
- Thread.Sleep(1000);
-
- };
-//-----------------------------------------
-
- button3.Click += (_,__) =>
- {
- stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,2);
- Thread.Sleep(1000);
- };
-
-//--------------------------------------------------------------------------------
-
-// Display the form as a modal dialog box.
- form1.ShowDialog();
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 3);
-
-
- return;
-}
-
-
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Read Dancer.cs b/Software/Stubs Collection/stubs/Scripts/Read Dancer.cs
deleted file mode 100644
index 8fcfc94b0..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Read Dancer.cs
+++ /dev/null
@@ -1,32 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- var response1 = stubManager.ShowResponseWindow("Please Enter Password:");
- if (response1=="Aa123456")
- {
- stubManager.WriteLine(response1);
-
-
- stubManager.RequestTimeout = 2000;
- //for (int i = 0; i < 100; i++)
- {
- var response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,0);
- Thread.Sleep(1000);
- response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,1);
- Thread.Sleep(1000);
- response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,2);
- Thread.Sleep(1000);
- }
- }
-} \ 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
deleted file mode 100644
index 934371725..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Read Dispensers Serial Num.cs
+++ /dev/null
@@ -1,27 +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;
-
-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/Read_Version.cs b/Software/Stubs Collection/stubs/Scripts/Read_Version.cs
index b3e3e2c1f..3bc9eb929 100644
--- a/Software/Stubs Collection/stubs/Scripts/Read_Version.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Read_Version.cs
@@ -53,6 +53,7 @@ public void OnExecute(StubManager stubManager)
stubManager.Write("\n");
+
var response_swid = stubManager.Run<StubReadEmbeddedVersionResponse>("StubReadEmbeddedVersionRequest" , true);
stubManager.Write("\nTIVA MCU SW Version (Major, Minor, Patch, Build, Version String): (");
stubManager.WriteHex(response_swid.VerMajor,4);
@@ -85,7 +86,21 @@ public void OnExecute(StubManager stubManager)
//ReadFPGATestReg(FPGA3);
stubManager.Write("\n");
-
+
+var response1 = stubManager.Run<StubReadEmbeddedVersionResponse>("StubReadEmbeddedVersionRequest" );
+
+ stubManager.Write("\nCPU Version: ");
+ stubManager.Write("\nVerMajor:");
+ stubManager.Write(response1.VerMajor);
+ stubManager.Write("\nVerMinor:");
+ stubManager.Write(response1.VerMinor);
+ stubManager.Write("\nVerMinor:");
+ stubManager.Write(response1.VerPatch);
+ stubManager.Write("\nVerPatch:");
+ stubManager.Write(response1.VerBuild);
+ stubManager.Write("\nVerBuild:");
+ stubManager.Write(response1.Version);
+
}
/* Example Script Output
diff --git a/Software/Stubs Collection/stubs/Scripts/SS Head Sensor board.cs b/Software/Stubs Collection/stubs/Scripts/SS Head Sensor board.cs
deleted file mode 100644
index 102029cf2..000000000
--- a/Software/Stubs Collection/stubs/Scripts/SS Head Sensor board.cs
+++ /dev/null
@@ -1,22 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xb10, 0x01);//S.S Head Sensor board
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs b/Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs
deleted file mode 100644
index 6f5357535..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs
+++ /dev/null
@@ -1,23 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xAD7;
-progressRequest.Delay = 1; // 1 - active, 0 - disabled
-
-var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Set loading arm center.cs b/Software/Stubs Collection/stubs/Scripts/Set loading arm center.cs
deleted file mode 100644
index bb502309e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Set loading arm center.cs
+++ /dev/null
@@ -1,22 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xB1;
-
-var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Tango_Main_PCB_ATP_sn_xxxxxxx.xlsx b/Software/Stubs Collection/stubs/Scripts/Tango_Main_PCB_ATP_sn_xxxxxxx.xlsx
deleted file mode 100644
index 57fd92df9..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Tango_Main_PCB_ATP_sn_xxxxxxx.xlsx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/TestForVika.cs b/Software/Stubs Collection/stubs/Scripts/TestForVika.cs
deleted file mode 100644
index 7861bae7a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/TestForVika.cs
+++ /dev/null
@@ -1,126 +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;
-
- bool i = true;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
- Form form1 = new Form();
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "RTFU Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----RTFU Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" RTFU S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-
-
-
-//--------------------------------------------------------------------------------
-
-
- button1.Click += (_,__) =>
-
- {
-
-
- Label5.Text="Pros"; ///???? not working
-
-
-
-
-//------------------------------- start test -----------
- Thread.Sleep(5000); //delay 10 second
-
-if (i==true)
- Label5.Text="Fail";
-else
- Label5.Text="Pass";
-
- i= !i;
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test12.docx b/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test12.docx
deleted file mode 100644
index f82f59d00..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test12.docx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test13.docx b/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test13.docx
deleted file mode 100644
index d56728507..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test13.docx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/WHS_Test_EEPROM.cs b/Software/Stubs Collection/stubs/Scripts/WHS_Test_EEPROM.cs
deleted file mode 100644
index 88de4de01..000000000
--- a/Software/Stubs Collection/stubs/Scripts/WHS_Test_EEPROM.cs
+++ /dev/null
@@ -1,135 +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 I2C_ID = 3; //MCU_I2C3
-const Int32 TCA9548A_address = 0xE2;
-const Int32 I2C_Slave_Add = 0xA0; // //eeprom address - 32kByte
-int Head_Mux_Channel_ID = 0; //WHS MUX channel
-//----------------------
-
-
-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 adc_write(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
- //--------------------------------------------------------------
-
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x12 + Page);//Data 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x34 + Page);//Data 1 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x56 + Page);//Data 2 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x78 + Page);//Data 3 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x90 + Page);//Data 4 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xAB + Page);//Data 5 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xCD + Page);//Data 6 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xEF + Page);//Data 7 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x01 + Page);//Data 8 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x02 + Page);//Data 9 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- 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++)
- {
-
- adc_write(I2C_Slave_Add,0x10);
- Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- adc_write(I2C_Slave_Add,0x00);
- Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- stubManager.Write("\nPage 0x10 #");
- stubManager.Write(i);
- stubManager.Write("\t- The Buffer is: ");
- adc_set_for_read_ch(I2C_Slave_Add,0x10);
- //Thread.Sleep(1); //Sleep for 10 milli.
- adc_read_ch(I2C_Slave_Add);
-
- Thread.Sleep(10);
-
- 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/WHS_waste_Tank_Calibration_Save_V0.pproj b/Software/Stubs Collection/stubs/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj
deleted file mode 100644
index 5932b58a0..000000000
--- a/Software/Stubs Collection/stubs/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj
+++ /dev/null
@@ -1 +0,0 @@
-{"$id":"1","Name":"untitled","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\n\r\npublic class Program\r\n{\r\n\tdouble V0_default_ml = 8.7433;\r\n\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n \r\n\tvar response1 = context.RequestUserInputFor<String>(\"Warning - you are going to change the value of Vo in the eeprom !!!\\nPlease Enter Password to confirme:\",\"\");\r\n\tif (response1==\"Aa123456\")\r\n\t{\r\n\t\tcontext.WriteLine(response1);\r\n\t\t\r\n\t\t//Write_0_Vo_in_ml_to_eeprom\r\n\t\tcontext.WriteLine(\"\\nWrite_0_Vo_in_ml_to_eeprom\");\t\r\n\t\tStubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();\r\n\t\tstubWhsEEpromRequest.BurnRequest = true; //write\r\n\t\tStubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();\r\n\t\tstubWhsEEpromData.Orifice1Flow = 0;\r\n\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\tvar response = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\t\r\n\t\t//wait_10mSec\r\n\t\tcontext.WriteLine(\"\\nwait_10mSec\");\t\r\n\t\tThread.Sleep(100); //Sleep for 10 milli.\r\n\t\t\r\n\t\t//Read_Vo_in_ml_from_eeprom\t& verify it is 0\r\n\t\tcontext.WriteLine(\"\\nRead_Vo_in_ml_from_eeprom\t& verify it is 0\");\r\n\t\tstubWhsEEpromRequest.BurnRequest = false; //write\r\n\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\tvar response2 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\r\n\t\t//Read_Vo_in_mV\r\n\t\tcontext.WriteLine(\"\\nRead_Vo_in_mV\");\r\n\t\tvar response3 = context.Send<ProgressResponse>(\"ProgressRequest\" ,0x3EC, 0x01);\r\n\t\t//Print_Vo_in_mV\r\n\t\tcontext.WriteLine(response3.Progress);\r\n\t\t\r\n\t\t//check validity\r\n\t\tcontext.WriteLine(\"\\ncheck validity\");\r\n\t\t if((response3.Progress <= 800) || (response3.Progress >=1200))\r\n\t\t {\r\n\t\t \tresponse3.Progress = 1076; //default\r\n\t\t \tcontext.Write(\"\\nERROR ------ Vreading value outside the defined range !!! ------\");\r\n\t\t \t context.AddResult(ResultType.Failed , \"Error\", \"ERROR ------ Vreading value outside the defined range !!! ------\");\r\n\t\t }\r\n\t\telse\r\n\t\t{\t\t\t\r\n\t\t\t//calculate_V0_in_ml\r\n\t\t\tcontext.WriteLine(\"\\ncalculate_V0_in_ml\");\r\n\t\t\tV0_default_ml = V0_default_ml * response3.Progress;\r\n\t\t\t\r\n\t\t\t//print_Vo_in_ml\r\n\t\t\tcontext.WriteLine(\"\\nprint_Vo_in_ml\");\r\n\t\t\tcontext.WriteLine(V0_default_ml);\r\n\t\t\tcontext.WriteLine(\"\");\r\n\t\t\t\r\n\t\t\t//Write_Vo_in_ml_to_eeprom\r\n\t\t\tcontext.WriteLine(\"\\nWrite_Vo_in_ml_to_eeprom\");\r\n\t\t\tstubWhsEEpromRequest.BurnRequest = true; //write\r\n\t\r\n\t\t\tstubWhsEEpromData.Orifice1Flow = V0_default_ml;\r\n\t\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\t\tvar response4 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\t\r\n\t\t\t//wait_10mSec\r\n\t\t\tcontext.WriteLine(\"\\nwait_10mSec\");\t\r\n\t\t\t Thread.Sleep(100); //Sleep for 10 milli.\r\n\t\t\t \t\t\r\n\t\t\t //Read_Vo_in_ml_from_eeprom\r\n\t\t\tcontext.WriteLine(\"\\nRead_Vo_in_ml_from_eeprom\");\r\n\t\t\tstubWhsEEpromRequest.BurnRequest = false; //write\r\n\t\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\t\tvar response5 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\r\n\t\t\t//Check if we read the correct value\r\n\t\t\tcontext.WriteLine(\"\\nVerify that we read the correct value of Orifice1Flow!!\");\r\n\t\t\t context.AddResult(ResultType.Passed , \"Pass\", \"Calibration Pass.\");\r\n\r\n\t\t\t}\r\n\t}\r\n\t\telse\r\n \t{\r\n\t\t\tcontext.AddResult(ResultType.Failed , \"Error\", \"Password Fail.\");\r\n\t\t}\r\n\t\tcontext.WriteLine(\"\\n -- END OF SCRIPT -- \");\r\n }\r\n}\r\n\r\n\r\n","IsEntryPoint":true},{"$id":"4","Name":"Service.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"605a2ef0-71a6-450d-92f7-9b6d22850ad1","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/blower_Q.cs b/Software/Stubs Collection/stubs/Scripts/blower_Q.cs
deleted file mode 100644
index f6b595873..000000000
--- a/Software/Stubs Collection/stubs/Scripts/blower_Q.cs
+++ /dev/null
@@ -1,29 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-// Request ----
-// Int32 : Amount
-// Int32 : Delay
-
-// Response ----
-// Double : Progress
-//stop loop
-/*var response1 =*/ stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E8, /*Head_Q=*/2500); //
-
-//enable loop
-/*var response1 =*/ stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E7, /*Head_Q=*/5); //
-//500=1F4
-//250=FA
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/change sublimation time.cs b/Software/Stubs Collection/stubs/Scripts/change sublimation time.cs
deleted file mode 100644
index 3292a3b7e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/change sublimation time.cs
+++ /dev/null
@@ -1,23 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-int SublimationDuration = 30;
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xB26;
-progressRequest.Delay = SublimationDuration;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/check_kval_load_arm.cs b/Software/Stubs Collection/stubs/Scripts/check_kval_load_arm.cs
deleted file mode 100644
index 8276ad449..000000000
--- a/Software/Stubs Collection/stubs/Scripts/check_kval_load_arm.cs
+++ /dev/null
@@ -1,80 +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_KVAL_HOLD = 0x09;
-const Int32 x_KVAL_RUN = 0x0A;
-const Int32 x_KVAL_ACC = 0x0B;
-const Int32 x_KVAL_DEC = 0x0C;
-
-const Int32 x_GET_PARAM = 0x20;
-
-
-
-public void OnExecute(StubManager stubManager)
-{
-
- while (true)
- {
- stubManager.Write("\nLeft Load KVAL \t");
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,19, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,19, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,19, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,19, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\n");
-
-
- stubManager.Write("Right Load KVAL \t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,24, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,24, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,24, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,24, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\n");
- stubManager.Write(DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss"));
- Thread.Sleep(1000);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs b/Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs
deleted file mode 100644
index fd0f7fcf7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs
+++ /dev/null
@@ -1,118 +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 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 adc_write(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
- //--------------------------------------------------------------
-
- stubI2CWriteBytesRequest.BytesTWrite.Add(SerialNum);//S/N
- //stubI2CWriteBytesRequest.BytesTWrite.Add(0x03);//HEAD_TYPE_FLAT
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_ARC
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- 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++)
- {
-
- adc_write(I2C_Slave_Add,0x00);
- 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/eepromati2.c b/Software/Stubs Collection/stubs/Scripts/eepromati2.c
deleted file mode 100644
index bd0e44674..000000000
--- a/Software/Stubs Collection/stubs/Scripts/eepromati2.c
+++ /dev/null
@@ -1,458 +0,0 @@
-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
deleted file mode 100644
index dfba43764..000000000
--- a/Software/Stubs Collection/stubs/Scripts/eepromati3.c
+++ /dev/null
@@ -1,272 +0,0 @@
-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
deleted file mode 100644
index 5092e6b6f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild.cs
+++ /dev/null
@@ -1,195 +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 Google.Protobuf;
-using Tango.PMR.EmbeddedParameters;
-using System.IO;
-using Tango.PMR.IO;
-
-
-public void OnExecute(StubManager stubManager)
-{
-// parameters version for PRODUCTION 1.4.6.44
-
-ConfigurationParameters configurationParameters = new ConfigurationParameters();
-
-configurationParameters.BreakSensorLimit = 10;
-
-//how many samples to collect in diagnostics before sending
-configurationParameters.DiagnosticCollectionLimit = 3;
-
-//how many consecutive readout before declaring DC over/underheat alarm
-configurationParameters.OverHeatCountLimit = 3;
-configurationParameters.UnderHeatCountLimit = 3;
-
-// time of motor activity before opening the valve or after closing the valve, in milliseconds
-configurationParameters.CloseValveTimeout = 20;
-configurationParameters.OpenValveTimeout = 20;
-
-//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters)
-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 = 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;
-configurationParameters.ACHeatersUpperOperationLimit = 1005;
-
-//temperature band 1000 = 100% - thresholds for job start around target temprature - DC
-configurationParameters.DCHeatersLowerOperationLimit = 978;
-configurationParameters.DCHeatersUpperOperationLimit = 1005;
-
-// mid tank reading offset to add to the readout (OBSOLETE!)
-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 = 12000;
-
-//flag: start heaters according to saved process parameters upon init?
-configurationParameters.StartHeatingOnInitSequence = true;
-
-// current test for the heaters - alarm thresholds
-configurationParameters.CurrentAlarmLowLimit = 0.78;
-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
-
-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 = 100;
-
-//general parameters, ORDER MUST BE PRESERVED!!!!
-//check the dispensers hard limit alarms
-/*1*/
-Double checkHardLimitAlarms = new Double();
-
-checkHardLimitAlarms = 1.0;
-configurationParameters.GeneralParameters.Add(checkHardLimitAlarms);
-
-/*2*/
-Double checkCurrentAlarms = new Double();
-checkCurrentAlarms = 0.0;
-configurationParameters.GeneralParameters.Add(checkCurrentAlarms);
-//check the tamper alarms
-
-/*3*/
-Double checkTamperAlarms = new Double();
-checkTamperAlarms = 0.0;
-configurationParameters.GeneralParameters.Add(checkTamperAlarms);
-
-/*4*/
-Double checkMotorAlarms = new Double();
-checkMotorAlarms = 1.0;
-configurationParameters.GeneralParameters.Add(checkMotorAlarms);
-
-/*5*/
-Double WinderBackToBaseTime = new Double();
-WinderBackToBaseTime = 820.0;
-configurationParameters.GeneralParameters.Add(WinderBackToBaseTime);
-
-/*6*/
-Double DispenserInitialPressureSpeed = new Double();
-DispenserInitialPressureSpeed = 1050.0;
-configurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed);
-
-/*7*/
-Double SetDiagnosticMode = new Double();
-SetDiagnosticMode = 3.0;
-configurationParameters.GeneralParameters.Add(SetDiagnosticMode);
-
-/*8*/
-Double SetAutoFill = new Double();
-SetAutoFill = 3.0;
-configurationParameters.GeneralParameters.Add(SetAutoFill);
-
-File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes());
-
-byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg");
-
-
-var config = ConfigurationParameters.Parser.ParseFrom(fileBytes);
-
-stubManager.Write( config);
-Thread.Sleep(1000);
-
-
-stubManager.Write("\n\n Deleting old file");
-
-DeleteRequest deleteRequest = new DeleteRequest();
-deleteRequest.Path = "SYSINFO//EmbParam.cfg";
-deleteRequest.Attribute = Tango.PMR.IO.FileAttribute.Unspecified;
-DeleteResponse response5 = stubManager.Run<DeleteResponse>(deleteRequest);
-
-
-Thread.Sleep(1000);
-stubManager.Write("\n\n Loading new file file");
-
-FileUploadRequest fileUploadRequest = new FileUploadRequest();
-fileUploadRequest.Path = "SYSINFO//EmbParam.cfg";
-fileUploadRequest.Length = (int)fileBytes.Length;
-FileUploadResponse response2 = stubManager.Run<FileUploadResponse>(fileUploadRequest);
-Thread.Sleep(1000);
-long chunk_size = response2.MaxChunkLength;
-
-FileStream fs = new FileStream("C:/temp/EmbParam.cfg",FileMode.Open);
-
-while (fs.Position < fs.Length)
-{
- stubManager.Write("Position "+ fs.Position+ " Length "+ fs.Length +"\n\n");
- FileChunkUploadRequest fileChunkUploadRequest = new FileChunkUploadRequest();
- fileChunkUploadRequest.UploadID = response2.UploadID;
- byte[] chunk = new byte[Math.Min(chunk_size,fs.Length - fs.Position)];
- fs.Read(chunk,0,chunk.Length);
- fileChunkUploadRequest.Buffer = ByteString.CopyFrom(chunk);
- var response3 = stubManager.Run<FileChunkUploadResponse>(fileChunkUploadRequest);
- 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 } */
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs b/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs
deleted file mode 100644
index 16a8324ba..000000000
--- a/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs
+++ /dev/null
@@ -1,215 +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 Google.Protobuf;
-using Tango.PMR.EmbeddedParameters;
-using System.IO;
-using Tango.PMR.IO;
-
-
-public void OnExecute(StubManager stubManager)
-{
-// parameters version for TESTING 1.5.0.2
-
-ConfigurationParameters configurationParameters = new ConfigurationParameters();
-
-configurationParameters.BreakSensorLimit = 10;
-
-//how many samples to collect in diagnostics before sending
-configurationParameters.DiagnosticCollectionLimit = 1;
-
-//how many consecutive readout before declaring DC over/underheat alarm
-configurationParameters.OverHeatCountLimit = 3;
-configurationParameters.UnderHeatCountLimit = 3;
-
-// time of motor activity before opening the valve or after closing the valve, in milliseconds
-configurationParameters.CloseValveTimeout = 20;
-configurationParameters.OpenValveTimeout = 20;
-
-//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters)
-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 = 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;
-configurationParameters.ACHeatersUpperOperationLimit = 1005;
-
-//temperature band 1000 = 100% - thresholds for job start around target temprature - DC
-configurationParameters.DCHeatersLowerOperationLimit = 978;
-configurationParameters.DCHeatersUpperOperationLimit = 1005;
-
-// mid tank reading offset to add to the readout (OBSOLETE!)
-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 = 12000;
-
-//flag: start heaters according to saved process parameters upon init?
-configurationParameters.StartHeatingOnInitSequence = true;
-
-// current test for the heaters - alarm thresholds
-configurationParameters.CurrentAlarmLowLimit = 0.78;
-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
-
-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 = 100;
-
-//general parameters, ORDER MUST BE PRESERVED!!!!
-//check the dispensers hard limit alarms
-/*1*/
-Double checkHardLimitAlarms = new Double();
-
-checkHardLimitAlarms = 1.0;
-configurationParameters.GeneralParameters.Add(checkHardLimitAlarms);
-
-/*2*/
-Double checkCurrentAlarms = new Double();
-checkCurrentAlarms = 1.0;
-configurationParameters.GeneralParameters.Add(checkCurrentAlarms);
-//check the tamper alarms
-
-/*3*/
-Double checkTamperAlarms = new Double();
-checkTamperAlarms = 0.0;
-configurationParameters.GeneralParameters.Add(checkTamperAlarms);
-
-/*4*/
-Double checkMotorAlarms = new Double();
-checkMotorAlarms = 1.0;
-configurationParameters.GeneralParameters.Add(checkMotorAlarms);
-
-/*5*/
-Double WinderBackToBaseTime = new Double();
-WinderBackToBaseTime = 820.0;
-configurationParameters.GeneralParameters.Add(WinderBackToBaseTime);
-
-/*6*/
-Double DispenserInitialPressureSpeed = new Double();
-DispenserInitialPressureSpeed = 1050.0;
-configurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed);
-
-/*7*/
-Double SetDiagnosticMode = new Double();
-SetDiagnosticMode = 3.0;
-configurationParameters.GeneralParameters.Add(SetDiagnosticMode);
-
-/*8*/
-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);
-
-double Voltage_Hysteresis = new Double();
-Voltage_Hysteresis = 4;
-configurationParameters.GeneralParameters.Add(Voltage_Hysteresis);
-
-File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes());
-
-byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg");
-
-
-var config = ConfigurationParameters.Parser.ParseFrom(fileBytes);
-
-stubManager.Write( config);
-Thread.Sleep(1000);
-
-
-stubManager.Write("\n\n Deleting old file");
-
-DeleteRequest deleteRequest = new DeleteRequest();
-deleteRequest.Path = "SYSINFO//EmbParam.cfg";
-deleteRequest.Attribute = Tango.PMR.IO.FileAttribute.Unspecified;
-DeleteResponse response5 = stubManager.Run<DeleteResponse>(deleteRequest);
-
-
-Thread.Sleep(1000);
-stubManager.Write("\n\n Loading new file file");
-
-FileUploadRequest fileUploadRequest = new FileUploadRequest();
-fileUploadRequest.Path = "SYSINFO//EmbParam.cfg";
-fileUploadRequest.Length = (int)fileBytes.Length;
-FileUploadResponse response2 = stubManager.Run<FileUploadResponse>(fileUploadRequest);
-Thread.Sleep(1000);
-long chunk_size = response2.MaxChunkLength;
-
-FileStream fs = new FileStream("C:/temp/EmbParam.cfg",FileMode.Open);
-
-while (fs.Position < fs.Length)
-{
- stubManager.Write("Position "+ fs.Position+ " Length "+ fs.Length +"\n\n");
- FileChunkUploadRequest fileChunkUploadRequest = new FileChunkUploadRequest();
- fileChunkUploadRequest.UploadID = response2.UploadID;
- byte[] chunk = new byte[Math.Min(chunk_size,fs.Length - fs.Position)];
- fs.Read(chunk,0,chunk.Length);
- fileChunkUploadRequest.Buffer = ByteString.CopyFrom(chunk);
- var response3 = stubManager.Run<FileChunkUploadResponse>(fileChunkUploadRequest);
- 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 } */
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/load parameters from machine.cs b/Software/Stubs Collection/stubs/Scripts/load parameters from machine.cs
deleted file mode 100644
index 62ceff195..000000000
--- a/Software/Stubs Collection/stubs/Scripts/load parameters from machine.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.Stubs;
-using Tango.Stubs;
-using Google.Protobuf;
-using Tango.PMR.EmbeddedParameters;
-using System.IO;
-using Tango.PMR.IO;
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-ConfigurationParameters configurationParameters = new ConfigurationParameters();
-
- Thread.Sleep(1000);
-
-stubManager.Write("\n\n Loading file from machine");
-
-FileDownloadRequest fileDownloadRequest = new FileDownloadRequest();
-fileDownloadRequest.FileName = "SYSINFO//EmbParam.cfg";
-FileDownloadResponse response2 = stubManager.Run<FileDownloadResponse>(fileDownloadRequest);
- Thread.Sleep(1000);
-long chunk_size = response2.MaxChunkLength;
-string Download_Id = response2.DownloadID;
-//FileStream fs = new FileStream("C:/temp/EmbParam.cfg",FileMode.Open);
-
-stubManager.Write("Position "+ response2.DownloadID+ " Length "+ response2.MaxChunkLength +"\n\n");
-FileChunkDownloadRequest fileChunkDownloadRequest = new FileChunkDownloadRequest();
-fileChunkDownloadRequest.DownloadID = response2.DownloadID;
-var response3 = stubManager.Run<FileChunkDownloadResponse>(fileChunkDownloadRequest);
-Thread.Sleep(2000);
-//byte[] chunk = new byte[500];//Math.Min(chunk_size,fs.Length - fs.Position)
-//chunk.Copy(response3.Buffer);
-//fs.Write(fs,chunk,chunk.Length);
- //fileChunkDownloadRequest.Buffer = ByteString.CopyFrom(chunk);
-//fs.Close(fs);
-
-//byte[] fileBytes = File.ReadAllBytes(fs);
-
-
-var config = ConfigurationParameters.Parser.ParseFrom(response3.Buffer);
-
- stubManager.Write( config);
-
-/*
-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 } */
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/magnet_new_head.cs b/Software/Stubs Collection/stubs/Scripts/magnet_new_head.cs
deleted file mode 100644
index bf48de49e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/magnet_new_head.cs
+++ /dev/null
@@ -1,23 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- for (int i = 0; i < 1000; i++)
- {
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x42F701); // turn magnet on //slave add 0x42, F for write, set bit 7
- Thread.Sleep(100);
-
-
-
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/motormov.cs b/Software/Stubs Collection/stubs/Scripts/motormov.cs
deleted file mode 100644
index 94862a76a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/motormov.cs
+++ /dev/null
@@ -1,23 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-StubMotorMovRequest stubMotorMovRequest = new StubMotorMovRequest();
-stubMotorMovRequest.MotorID = 21;
-stubMotorMovRequest.Direction = false;
-stubMotorMovRequest.Position = 1;
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs b/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs
deleted file mode 100644
index 43d0dd76a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs
+++ /dev/null
@@ -1,90 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- // Request ----
- // UInt32 : DispenserId
- // Boolean : Start --- true for ByPass
- // Boolean : SetDirection --- true for TestRelay
- // UInt32 : SetMicrostepDivision -- 1 for TestByPassTestRelay
- // Int32 : SetSpeed
-
- // Response ----
- // UInt32 : DispenserId
- // UInt32 : DispenserPosition --- MSB for Disp_UP, LSB for Disp_Down
- // UInt32 : InkWorningLevel ---- MSB for Realy_On, LSB for Over_Press
- // String : Status
- // UInt32 : StatusWord
-
- stubManager.Write("read inputs ");
- stubManager.WriteLine("");
- var response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,3, false, false, 0, 0);//read inputs
- stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
- stubManager.WriteHex((response.DispenserPosition),4);
- stubManager.WriteLine("");
- stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
- stubManager.WriteHex((response.InkWorningLevel),4);
- stubManager.WriteLine("");
- stubManager.WriteLine("----");
- stubManager.WriteLine("");
-
- stubManager.Write("TestRelay + read inputs ");
- stubManager.WriteLine("");
- response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,3, false, true, 0, 0);//TestRelay + read inputs
- stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
- stubManager.WriteHex((response.DispenserPosition),4);
- stubManager.WriteLine("");
- stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
- stubManager.WriteHex((response.InkWorningLevel),4);
- stubManager.WriteLine("");
- stubManager.WriteLine("----");
- stubManager.WriteLine("");
-
- stubManager.Write("ByPass + TestRelay + read inputs ");
- stubManager.WriteLine("");
- response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,3, true, true, 0, 0);//ByPass + TestRelay + read inputs
- stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
- stubManager.WriteHex((response.DispenserPosition),4);
- stubManager.WriteLine("");
- stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
- stubManager.WriteHex((response.InkWorningLevel),4);
- stubManager.WriteLine("");
- stubManager.WriteLine("----");
- stubManager.WriteLine("");
-
- stubManager.Write("Remove ByPass (TestRelay + read inputs) ");
- stubManager.WriteLine("");
- response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,3, false, true, 0, 0);//TestRelay + read inputs
- stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
- stubManager.WriteHex((response.DispenserPosition),4);
- stubManager.WriteLine("");
- stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
- stubManager.WriteHex((response.InkWorningLevel),4);
- stubManager.WriteLine("");
- stubManager.WriteLine("----");
- stubManager.WriteLine("");
-
-
- stubManager.Write("Rempve TestRelay and read inputs ");
- stubManager.WriteLine("");
- response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,3, false, false, 0, 0);//read input
- stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
- stubManager.WriteHex((response.DispenserPosition),4);
- stubManager.WriteLine("");
- stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
- stubManager.WriteHex((response.InkWorningLevel),4);
- stubManager.WriteLine("");
- stubManager.WriteLine("----");
- stubManager.WriteLine("");
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/process parameters.cs b/Software/Stubs Collection/stubs/Scripts/process parameters.cs
deleted file mode 100644
index d2b36b111..000000000
--- a/Software/Stubs Collection/stubs/Scripts/process parameters.cs
+++ /dev/null
@@ -1,57 +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.Printing;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-
-UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
-
-ProcessParameters processParameters = new ProcessParameters();
-processParameters.DyeingSpeed = 0;
-processParameters.MinInkUptake = 0;
-processParameters.MaxInkUptake = 0;
-processParameters.FeederTension = 0;
-processParameters.PullerTension = 0;
-processParameters.WinderTension = 0;
-processParameters.MixerTemp = 0;
-processParameters.HeadZone1Temp = 0;
-processParameters.HeadZone2Temp = 0;
-processParameters.HeadZone3Temp = 0;
-processParameters.HeadZone4Temp = 0;
-processParameters.HeadZone5Temp = 0;
-processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 0;
-processParameters.DryerZone1Temp = 100;
-processParameters.DryerZone2Temp = 0;
-processParameters.DryerZone3Temp = 0;
-processParameters.DryerBufferLength = 0;
-processParameters.HeadAirFlow = 0;
-processParameters.TableIndex = 0;
-processParameters.HeadZone7Temp = 0;
-processParameters.HeadZone8Temp = 0;
-processParameters.HeadZone9Temp = 0;
-processParameters.HeadZone10Temp = 0;
-processParameters.HeadZone11Temp = 0;
-processParameters.HeadZone12Temp = 0;
-processParameters.RBlowerFlow = 0;
-processParameters.RBlowerTemp = 0;
-processParameters.LBlowerFlow = 0;
-processParameters.LBlowerTemp = 0;
-processParameters.PressureBuildUp = 0;
-
-uploadProcessParametersRequest.ProcessParameters = processParameters;
-
-
-
- var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/progress_test.pproj b/Software/Stubs Collection/stubs/Scripts/progress_test.pproj
deleted file mode 100644
index 29d02caa2..000000000
--- a/Software/Stubs Collection/stubs/Scripts/progress_test.pproj
+++ /dev/null
@@ -1 +0,0 @@
-{"$id":"1","Name":"untitled","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n context.AddResult(ResultType.Passed, \"My Value Name\", \"Test for this value has passed.\");\r\n\t\t\r\nfor (int i=0;i<10;i++)\r\n{\r\n Thread.Sleep(10000);\r\n context.UpdateProgress(\"11111\",true,i,10);\r\n\t}\t\r\n }\r\n}","IsEntryPoint":true},{"$id":"4","Name":"Service.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"b99ea8ff-f5ff-44d5-8b33-4b534a14647b","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/read and store main card data.cs b/Software/Stubs Collection/stubs/Scripts/read and store main card data.cs
deleted file mode 100644
index aec6bef3d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/read and store main card data.cs
+++ /dev/null
@@ -1,83 +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.PMR.EmbeddedParameters;
-using Tango.Stubs;
-using System.IO;
-using Tango.PMR.IO;
-using Google.Protobuf;
-
-string[] Main_Card_EEpromAddress = {
-"DATA_SIZE",
-"DANCER_0",
-"DANCER_1",
-"DANCER_2",
-"DRYER_CENTER",
-"DRYER_CYCLES",
-"MIDTANK_1_A",
-"MIDTANK_1_B",
-"MIDTANK_2_A",
-"MIDTANK_2_B",
-"MIDTANK_3_A",
-"MIDTANK_3_B",
-"MIDTANK_4_A",
-"MIDTANK_4_B",
-"MIDTANK_5_A",
-"MIDTANK_5_B",
-"MIDTANK_6_A",
-"MIDTANK_6_B",
-"MIDTANK_7_A",
-"MIDTANK_7_B",
-"MIDTANK_8_A",
-"MIDTANK_8_B",
-"WINDER_CALIBRATION",
-"EMBEDDED_VERSION",
-"EEPROM_ALARM_SUPPORT",
-"EEPROM_ORIFICE1_ZERO_VALUE",
-"EEPROM_ORIFICE3_ZERO_VALUE",
-"EEPROM_WASTE_TANK_ZERO_VALUE",
-"EEPROM_PULLER_TENSION_POSITION",
-"EEPROM_WINDER_TENSION_POSITION",
-"EEPROM_INIT_FAILURE_COUNTER",
-"DANCER_3",
-"DANCER_4",
-"EEPROM_PRESSURE_SENSOR_V0_0",
-"EEPROM_PRESSURE_SENSOR_V0_1",
-"EEPROM_DRIER_LOADING_ARM_ANGLE"};
-
-
-private const string JSON_FILE_PATH = "C:/temp/maineeprom.json";
-private const string CSV_FILE_PATH = "C:/temp/maineeprom.csv";
-public void OnExecute(StubManager stubManager)
-{
- StubReadEmbeddedVersionRequest stubReadEmbeddedVersionRequest = new StubReadEmbeddedVersionRequest();
- var response2 = stubManager.Run<StubReadEmbeddedVersionResponse>(stubReadEmbeddedVersionRequest);
-
- if ((response2.VerMajor>=1)&&(response2.VerMinor>=5)&&(response2.VerPatch>=5)&&(response2.VerBuild>=2))
- {
- MainCardStoredDataRequest mainCardStoredDataRequest = new MainCardStoredDataRequest();
- var response3 = stubManager.Run<MainCardStoredDataResponse>(mainCardStoredDataRequest);
- stubManager.AppendToFile(JSON_FILE_PATH, "MainCardStoredData: "+ response3);
- }
- else
- {
- stubManager.AppendToFile(CSV_FILE_PATH, "Address,Name,Data");
- for (int i = 1; i < 36; i++)
- {
- StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();
- stubMainCardEEpromReadRequest.Address = i;
- stubMainCardEEpromReadRequest.Data = 0;
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
- stubManager.AppendToFile(CSV_FILE_PATH, response.Address + "," + Main_Card_EEpromAddress[i] +"," + response.Data);
- }
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/read write main eeprom fixed.cs b/Software/Stubs Collection/stubs/Scripts/read write main eeprom fixed.cs
deleted file mode 100644
index 0f3ca238e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/read write main eeprom fixed.cs
+++ /dev/null
@@ -1,45 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
- int WinderAddress =29;
- int pullerAddress = 28;
- StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();
- StubMainCardEEpromWriteRequest stubMainCardEEpromWriteRequest = new StubMainCardEEpromWriteRequest();
-
- stubMainCardEEpromReadRequest.Address = WinderAddress;
- stubMainCardEEpromReadRequest.Data = 0;
-
- //var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromWriteRequest.Address = WinderAddress;
- stubMainCardEEpromWriteRequest.Data = 0;
-
- var response1 = stubManager.Run<StubMainCardEEpromWriteResponse>(stubMainCardEEpromWriteRequest);
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromReadRequest.Address = pullerAddress;
- stubMainCardEEpromReadRequest.Data = 0;
-
-// var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromWriteRequest.Address = pullerAddress;
- stubMainCardEEpromWriteRequest.Data = 0;
-
- response1 = stubManager.Run<StubMainCardEEpromWriteResponse>(stubMainCardEEpromWriteRequest);
-
- response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/read write main eeprom.cs b/Software/Stubs Collection/stubs/Scripts/read write main eeprom.cs
deleted file mode 100644
index d418d5e0e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/read write main eeprom.cs
+++ /dev/null
@@ -1,45 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
- int WinderAddress =29;
- int pullerAddress = 28;
- StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();
- StubMainCardEEpromWriteRequest stubMainCardEEpromWriteRequest = new StubMainCardEEpromWriteRequest();
-
- stubMainCardEEpromReadRequest.Address = WinderAddress;
- stubMainCardEEpromReadRequest.Data = 0;
-
-// var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromWriteRequest.Address = WinderAddress;
- stubMainCardEEpromWriteRequest.Data = 0;
-
- var response1 = stubManager.Run<StubMainCardEEpromWriteResponse>(stubMainCardEEpromWriteRequest);
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromReadRequest.Address = pullerAddress;
- stubMainCardEEpromReadRequest.Data = 0;
-
-// var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromWriteRequest.Address = pullerAddress;
- stubMainCardEEpromWriteRequest.Data = 0;
-
- var response1 = stubManager.Run<StubMainCardEEpromWriteResponse>(stubMainCardEEpromWriteRequest);
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/read_cpu_eeprom.cs b/Software/Stubs Collection/stubs/Scripts/read_cpu_eeprom.cs
deleted file mode 100644
index e5960c3f3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/read_cpu_eeprom.cs
+++ /dev/null
@@ -1,29 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- var response = stubManager.Run<StubMainCardEEpromReadResponse>("StubMainCardEEpromReadRequest" ,30, 0);
- stubManager.Write("\ninit counter: \t"+ response.Data );
- response = stubManager.Run<StubMainCardEEpromReadResponse>("StubMainCardEEpromReadRequest" ,40, 0);
- stubManager.Write("\nnumber of resets: \t"+ response.Data );
- int j = response.Data;
-
- for (Int32 i=0;i<j;i++)
- {
- response = stubManager.Run<StubMainCardEEpromReadResponse>("StubMainCardEEpromReadRequest" ,41+i, 3);
-
- stubManager.Write("\nAddress \t"+ i + "\tdata = " );
- stubManager.WriteHex(response.Data,4);
-
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/single temperature.cs b/Software/Stubs Collection/stubs/Scripts/single temperature.cs
deleted file mode 100644
index a65e7ccca..000000000
--- a/Software/Stubs Collection/stubs/Scripts/single temperature.cs
+++ /dev/null
@@ -1,23 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xCC;
-progressRequest.Delay = 1;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/temp.cs b/Software/Stubs Collection/stubs/Scripts/temp.cs
deleted file mode 100644
index 23508b71b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/temp.cs
+++ /dev/null
@@ -1,492 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "RTFU Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----RTFU Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" RTFU S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-
-
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-
- Label5.Text="Pros";
-
- if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
- else
- path=path1;
-
- File_Name1=path + TextBox1.Text +"_RTFU_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
- stubManager.Write(File_Name1 +"\n");
- stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
- stubManager.Write(DateTime.Now +"\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU Test Report" );
- stubManager.Write("RTFU Test Report\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU S/N: \t" + TextBox1.Text );
- stubManager.Write("RTFU S/N:" + TextBox1.Text +"\n" );
-
-
- stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
- stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-//------------------------------- start test -----------
- Test_RLOADING_RTFU();
- 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
-
- Test_RDRIVING_RTFU();
- Test_DANCER_RTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- Status=write_to_file();
- stubManager.Write(Status +"\n");
-
- Label5.Text=Status;
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
- //------------------------------------
-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 0x2c- 1.3A
- Thread.Sleep(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- Thread.Sleep(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(1000);
-//------------------------------------------ check F1_LS_RLOADMOTOR_up------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RLOADMOTOR_UP) !=F1_LS_RLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did RLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("RLOADMOTOR\tFail\n");
- return 0;
- }
- }
-
-//----------------------------------------- mov RLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor,false,200); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_UP) != F1_LS_RLOADMOTOR_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- if (counter == 150)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_RLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
-
- if ((response.Value & F1_LS_RLOADMOTOR_DN) !=F1_LS_RLOADMOTOR_DN ) //if LS_RLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov RLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_DN) != F1_LS_RLOADMOTOR_DN )
- counter=250;
-
- Thread.Sleep(100);
- }
-
- if (counter == 150)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("RLOADMOTOR\tPass\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- Thread.Sleep(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- return 1 ;
-
-}
-
-//----------------------------------
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_RDANCER_ROTENC_DATA_p_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_msb);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_RTFU()
-{
- int counter;
- Int32 temp;
- Int32 temp1;
-
-//------------------------------------------ check F1_LS_RDANCER_DOWN ------------------------------------------------
-
- MessageBox.Show("Make sure RDANCER Doun");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RDANCER_DOWN) !=F1_LS_RDANCER_DOWN ) //if F1_LS_RDANCER_DOWN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
-//----------------------------------------- mov RDANCER_Motor up and check F1_LS_RDANCER_DOWN -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,true,10); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- stubManager.Write("LS_RDANCER_DOWN\tPass\n");
-
-//----------------------------------------- check F1_LS_RDANCER_UP -------------------------------------------------
-
- if ((response.Value & F1_LS_RDANCER_UP) !=F1_LS_RDANCER_UP ) //if F1_LS_RDANCER_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RDANCER_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_UP) != F1_LS_RDANCER_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- Units_status[5,1]="Pass";
- stubManager.Write("LS_RDANCER_UP\tPass\n");
-
-//----------------------------------------- check F1_LS_RLOADRAM_DOWN -------------------------------------------------
-
- if ((response.Value & F1_LS_RLOADRAM_DOWN) !=F1_LS_RLOADRAM_DOWN ) //if F1_LS_RLOADRAM_DOWN is up then error
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RLOADRAM_DOWN is up then move down
- if ((response.Value & F1_LS_RLOADRAM_DOWN) != F1_LS_RLOADRAM_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- Units_status[6,1]="Pass";
- stubManager.Write("LS_RLOADRAM_DOWN\tPass\n");
-
-//----------------------------------------- mov RDANCER_Motor down and check rdancer encoder -------------------------------------------------
- temp= ReadEncoder();
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,false,10); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[7,1]="Pass";
- stubManager.Write("RDANCER_Motor\tPass\n");
-
- temp1= ReadEncoder();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
-
- DialogResult result = MessageBox.Show("SSI Dancer led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
-
- if (temp>temp1)
- temp1=temp1+0x4000;
-
- temp1=temp1-temp;
- if ((temp1> 15000) || (temp1 <1000))
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
- Units_status[8,1]="Pass";
- stubManager.Write("RDANCER_SSI\tPass\n");
-
- return 1;
-}
-
-
-//-------------------------------------------------------------
-int Test_RDRIVING_RTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDRIVING_Motor, true,200); //move Rdriving clockwise
- stubManager.Write("RDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are RDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("RDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("RDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
-
-//--------------------------------------------------------------------------------
-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;
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Fail ------------ ");
- stubManager.Write("-------------RTFU Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Pass ------------ )");
- stubManager.Write("-------------RTFU Pass ------------ ");
- }
-
- return Stemp;
-
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/test halt.cs b/Software/Stubs Collection/stubs/Scripts/test halt.cs
deleted file mode 100644
index 289eb612a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/test halt.cs
+++ /dev/null
@@ -1,24 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-//CF - initialize FFS
-//DF - reset
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xAD9;
-progressRequest.Delay = 0xAD9;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/test.cs b/Software/Stubs Collection/stubs/Scripts/test.cs
deleted file mode 100644
index a0aebf743..000000000
--- a/Software/Stubs Collection/stubs/Scripts/test.cs
+++ /dev/null
@@ -1,76 +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 I2C_ID = 3; //MCU_I2C2
-const Int32 TCA9548A_address = 0xe2; //or 0xE0 or 0xE4
-const Int32 I2C_Slave_Add = 0xc0; // /MPC9600 address
-//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
-//----------------------
-
-
-int disable_all_channel1()
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = 0xe0;
-
-// UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x10);//enable all 8 i2c channel
-
- stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
- Thread.Sleep(10);
-
- return 1;
- }
-int disable_all_channel2()
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = 0xe2;
-
-// UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//enable all 8 i2c channel
-
- stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
- Thread.Sleep(10);
-
- return 1;
- }
-
-int disable_all_channel3()
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = 0xe4;
-
-// UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//enable all 8 i2c channel
-
- stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
- Thread.Sleep(10);
-
- return 1;
- }
-
-
-
-public void OnExecute(StubManager stubManager)
-{
- disable_all_channel1();
- disable_all_channel2();
- disable_all_channel3();
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/waste level.cs b/Software/Stubs Collection/stubs/Scripts/waste level.cs
deleted file mode 100644
index a72f2a512..000000000
--- a/Software/Stubs Collection/stubs/Scripts/waste level.cs
+++ /dev/null
@@ -1,71 +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;
-
-//private const string FILE_PATH = "D:\\Waste.txt";
-
-int i = 0;
-bool valve_openclose = false;
-//string temp;
-
-public void OnExecute(StubManager stubManager)
-{
-
- string File_Name2 = "D:\\Waste.txt" ;
-
- Thread.Sleep(1000);
-
- stubManager.WriteToFile(File_Name2,DateTime.Now +" " );
-
- //Open Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0201);
-
- Thread.Sleep(500);
-
- //Close Valve
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0200);
-
- Thread.Sleep(2000);
-
- stubManager.AppendToFile(File_Name2," " );
- stubManager.AppendToFile(File_Name2," waste [mili-volts] " );
- stubManager.AppendToFile(File_Name2," " );
-
- for(i=0;i<5;i++)
- {
-
- if(valve_openclose == true)
- {
- //Open Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0201);
-
- Thread.Sleep(500);
-
- //Close Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0200);
-
- Thread.Sleep(2000);
- }
-
- //get waste level in mV
- stubManager.Write("waste [mili volts]: ");
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EC, 0x01);
-
- stubManager.WriteLine(response.Progress);
-
- stubManager.AppendToFile(File_Name2,"" + (i+1) + ". " + response.Progress/*.ToString("F4")*/);
-
- Thread.Sleep(2000);
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/waste_level2.cs b/Software/Stubs Collection/stubs/Scripts/waste_level2.cs
deleted file mode 100644
index b70eb5023..000000000
--- a/Software/Stubs Collection/stubs/Scripts/waste_level2.cs
+++ /dev/null
@@ -1,85 +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;
-
-//mark the line in the embedded software: waste_seq_step1();// include 1Sec delay <- to open !!!!
-
-int i = 0,j=0,k=0;
-bool valve_openclose = true;
-double[] temp = {0,0,0,0,0,0,0,0};
-double sum = 0,avg = 0;
-
-public void OnExecute(StubManager stubManager)
-{
-
- string File_Name2 = "D:\\Waste.txt" ;
-
- Thread.Sleep(1000);
-
- stubManager.WriteToFile(File_Name2,DateTime.Now +" " );
-
- //Open Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0201);
-
- Thread.Sleep(500);
-
- //Close Valve
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0200);
-
- Thread.Sleep(2000);
-
- stubManager.AppendToFile(File_Name2," " );
- stubManager.AppendToFile(File_Name2," waste [mili-volts] " );
- stubManager.AppendToFile(File_Name2," " );
-
- for(i=0;i<33;i++)
- {
- for(j=0;j<8;j++)
- {
- if(valve_openclose == true)
- {
- //Open Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0201);
-
- Thread.Sleep(500);
-
- //Close Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0200);
-
- Thread.Sleep(2000);
- }
-
- //get waste level in mV
- stubManager.Write("waste [mili volts]: ");
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EC, 0x01);
-
- temp[j] = response.Progress;
-
- stubManager.WriteLine(response.Progress);
-
- //stubManager.AppendToFile(File_Name2,"" + (i+1) + ". " + response.Progress/*.ToString("F4")*/);
-
- Thread.Sleep(1000);
- }
- sum = 0;
- for(k=0;k<8;k++)
- sum = sum + temp[k];
- avg = sum/8;
- stubManager.AppendToFile(File_Name2,"" + (i+1) + ". " + avg);
-
- //Thread.Sleep(2000);
-
-
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/wd_enable.cs b/Software/Stubs Collection/stubs/Scripts/wd_enable.cs
deleted file mode 100644
index 3919b7256..000000000
--- a/Software/Stubs Collection/stubs/Scripts/wd_enable.cs
+++ /dev/null
@@ -1,25 +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;
-
-public void OnExecute(StubManager stubManager)
-{
- for (int i = 0; i < 100; i++)
- {
-
-//var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000160, 0x4001); //wd fpga1
-var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000540, 0x4001); //wd fpga2
-//var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000940, 0x4001); //wd fpga3
- Thread.Sleep(100);
-
-
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary 2.cs b/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary 2.cs
deleted file mode 100644
index b5c7af2b1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary 2.cs
+++ /dev/null
@@ -1,31 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-StubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();
-stubWhsEEpromRequest.BurnRequest = false; // false - read, true - write
-
-StubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();
-stubWhsEEpromData.Header = 1;
-stubWhsEEpromData.TableLength = 2;
-stubWhsEEpromData.Tableversion = 3;
-stubWhsEEpromData.Orifice1Flow = 1067 * 8.7433; //mv * 8.7433 convert from mv to ml (1067 * 8.7433 = 9,329.1011)
-stubWhsEEpromData.CheckSum = 5;
-
-stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
-
-var response = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary.cs b/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary.cs
deleted file mode 100644
index 65dcd499e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary.cs
+++ /dev/null
@@ -1,42 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-StubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();
-stubWhsEEpromRequest.BurnRequest = true;
-
-StubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();
-stubWhsEEpromData.Header = 0;
-stubWhsEEpromData.TableLength = 0;
-stubWhsEEpromData.Tableversion = 0;
-stubWhsEEpromData.Orifice1Flow = 10.5;
-stubWhsEEpromData.CheckSum = 0;
-
-//stubWhsEEpromRequest.WhsEEprom = whsEEprom;
-
- for (int i = 0; i < 10; i++)
- {
- var response = stubManager.Run<CalculateResponse>("calculate", 1, i);
-
- if (response.Sum == 10)
- {
- stubManager.WriteLine("OK!");
- }
- else
- {
- stubManager.WriteLine(response.Sum);
- }
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/whs fans stop.cs b/Software/Stubs Collection/stubs/Scripts/whs fans stop.cs
deleted file mode 100644
index f9e3cbd22..000000000
--- a/Software/Stubs Collection/stubs/Scripts/whs fans stop.cs
+++ /dev/null
@@ -1,28 +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;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xfAc0;
-progressRequest.Delay = 0;
-
-int i;
-
-for (i = 0; i<6;i++)
- {
- progressRequest.Amount = 0xfAc0+i;
- var response = stubManager.Run<ProgressResponse>(progressRequest);
- }
-} \ No newline at end of file