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/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/newWHS/fan.cs34
-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/Motor_Get_Param_Horizontal_Printing.cs215
-rw-r--r--Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs45
-rw-r--r--Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs90
11 files changed, 862 insertions, 0 deletions
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
new file mode 100644
index 000000000..397999f12
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs
@@ -0,0 +1,97 @@
+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
new file mode 100644
index 000000000..2c51aebe7
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs
@@ -0,0 +1,94 @@
+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
new file mode 100644
index 000000000..9b741d981
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.cs
@@ -0,0 +1,72 @@
+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
new file mode 100644
index 000000000..28d6f69fc
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs
@@ -0,0 +1,38 @@
+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/newWHS/fan.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs
new file mode 100644
index 000000000..7e68d62ef
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs
@@ -0,0 +1,34 @@
+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/test_fan.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs
new file mode 100644
index 000000000..acd5e3c50
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs
@@ -0,0 +1,90 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+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
new file mode 100644
index 000000000..c81bdaebd
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs
@@ -0,0 +1,47 @@
+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
new file mode 100644
index 000000000..086063855
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs
@@ -0,0 +1,40 @@
+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/Motor_Get_Param_Horizontal_Printing.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs
new file mode 100644
index 000000000..7e0d1ae38
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs
@@ -0,0 +1,215 @@
+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)
+{
+ 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 > 12 )
+ 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/NewSpeedSensor.cs b/Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs
new file mode 100644
index 000000000..02f8384bc
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs
@@ -0,0 +1,45 @@
+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/new dispenser card GPIO.cs b/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs
new file mode 100644
index 000000000..43d0dd76a
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs
@@ -0,0 +1,90 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+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