aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection/stubs/Scripts
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-03-06 13:35:32 +0200
committerShlomo Hecht <shlomo@twine-s.com>2019-03-06 13:35:32 +0200
commitc2b14d371de9a97c4ced81fc7d79ba6617b75457 (patch)
treea5bfdfb04b3d24c3f5f5910801e4bcf708ce726a /Software/Stubs Collection/stubs/Scripts
parent932e53ca094e4ce9ef6ebd4edaa70dce85e85f0a (diff)
downloadTango-c2b14d371de9a97c4ced81fc7d79ba6617b75457.tar.gz
Tango-c2b14d371de9a97c4ced81fc7d79ba6617b75457.zip
Add stubs
Diffstat (limited to 'Software/Stubs Collection/stubs/Scripts')
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.cs66
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/1.cs28
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR.cs117
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR_CURRENT_SENSE.cs237
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_motor_limit_switch.cs69
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ADS120_Internal_Temperature_Sensor.cs46
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Defines/Tango_Defines_Tacho.cs1
7 files changed, 564 insertions, 0 deletions
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.cs
new file mode 100644
index 000000000..f8ad12c32
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.cs
@@ -0,0 +1,66 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_SSR.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\Software\Stub_scripts\Tango_Defines_Basic.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\Software\Stub_scripts\Interfaces\Tango_Defines_SSR.cs"
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+ //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
+ var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ SetBit (FPGA2, F2_CTRL, 10, 1);
+ stubManager.Write("\tTesting SSR no. 1\t");
+ for (int i = 0; i < 10; i++)
+ {
+ Thread.Sleep(1000);
+var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,16);
+ stubManager.Write(response1.VoltageSamplingMv); stubManager.Write(" mV\n");
+
+
+ }
+
+
+ SetBit (FPGA2, F2_CTRL, 10, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ stubManager.Write("\n");
+
+ /*
+ //Write GPO_DRYER_SSR2_CTRL SSR/SSR no. 2
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,7); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ SetBit (FPGA2, F2_CTRL, 9, 1);
+ stubManager.Write("\tTesting SSR no. 2\t");
+ Thread.Sleep(10000);
+ 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
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,8); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ SetBit (FPGA2, F2_CTRL, 8, 1);
+ stubManager.Write("\tTesting SSR no. 3\t");
+ Thread.Sleep(10000);
+ SetBit (FPGA2, F2_CTRL, 8, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,8); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ stubManager.Write("\n");
+*/
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/1.cs
new file mode 100644
index 000000000..4100a770c
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/1.cs
@@ -0,0 +1,28 @@
+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"
+
+public void OnExecute(StubManager stubManager)
+{
+
+
+ //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
+ SetBit (FPGA2, F2_CTRL, 0, 1);
+ stubManager.Write("\nTesting SSR no. 13 of magnet");
+
+
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR.cs
new file mode 100644
index 000000000..cb01a86c4
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR.cs
@@ -0,0 +1,117 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_SSR.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\Software\Stub_scripts\Tango_Defines_Basic.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\Software\Stub_scripts\Interfaces\Tango_Defines_SSR.cs"
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+
+ UInt32 temp=0;
+
+
+
+ stubManager.Write("\n");
+ var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,1); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 8
+ SetBit (FPGA2, F2_CTRL, 3, 1);
+ stubManager.Write("\tTesting SSR no. 8\tHeadZone-1");
+ Thread.Sleep(10000);
+ SetBit (FPGA2, F2_CTRL, 3, 0);
+ var response1 = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,1); //
+ stubManager.WriteHex(response1.TemperatureCMultBy100,4);
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,2); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 7
+ SetBit (FPGA2, F2_CTRL, 4, 1);
+ stubManager.Write("\tTesting SSR no. 7\tHeadZone-2");
+ Thread.Sleep(10000);
+ SetBit (FPGA2, F2_CTRL, 4, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,2); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,3); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 6
+ SetBit (FPGA2, F2_CTRL, 5, 1);
+ stubManager.Write("\tTesting SSR no. 6\tHeadZone-3");
+ Thread.Sleep(10000);
+ SetBit (FPGA2, F2_CTRL, 5, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,3); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,4); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 5
+ SetBit (FPGA2, F2_CTRL, 6, 1);
+ stubManager.Write("\tTesting SSR no. 6\tHeadZone-4");
+ Thread.Sleep(10000);
+ SetBit (FPGA2, F2_CTRL, 6, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,4); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,5); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 10
+ SetBit (FPGA1, F1_gpo_01, 2, 1);
+ stubManager.Write("\tTesting SSR no. 6\tHeadZone-5");
+ Thread.Sleep(10000);
+ SetBit (FPGA1, F1_gpo_01, 2, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,5); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,11); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 11
+ SetBit (FPGA3, F3_GPO_01_bus, 4, 1);
+ stubManager.Write("\tTesting SSR no. 6\tHeadZone-6");
+ Thread.Sleep(10000);
+ SetBit (FPGA3, F3_GPO_01_bus, 4, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,11
+ ); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,0); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write F2_GPO_MIXCHIP_SSR4_CTRL SSR/SSR no. 4
+ SetBit (FPGA2, F2_CTRL, 7, 1);
+ stubManager.Write("Testing SSR no. 4\tMIXCHIP ");
+ Thread.Sleep(10000);
+ SetBit (FPGA2, F2_CTRL, 7, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,0); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR_CURRENT_SENSE.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR_CURRENT_SENSE.cs
new file mode 100644
index 000000000..b9793a336
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR_CURRENT_SENSE.cs
@@ -0,0 +1,237 @@
+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;
+
+
+ stubManager.Write("\n");
+ var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,1); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 8
+ SetBit (FPGA2, F2_CTRL, 3, 1);
+ stubManager.Write("\tTesting SSR no. 8\tHeadZone-1\t");
+ Thread.Sleep(10000);
+ adc_configuration(0x40,0x10); //a2d_address 0x40 channel 3
+ adc_set_for_read_ch(0x40);
+ adc_read_ch(0x40);
+ SetBit (FPGA2, F2_CTRL, 3, 0);
+ var response1 = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,1); //
+ stubManager.WriteHex(response1.TemperatureCMultBy100,4);
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,2); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 7
+ SetBit (FPGA2, F2_CTRL, 4, 1);
+ stubManager.Write("\tTesting SSR no. 7\tHeadZone-2\t");
+ Thread.Sleep(10000);
+ adc_configuration(0x40,0x08); //a2d_address 0x40 channel 4
+ adc_set_for_read_ch(0x40);
+ adc_read_ch(0x40);
+ SetBit (FPGA2, F2_CTRL, 4, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,2); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,3); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 6
+ SetBit (FPGA2, F2_CTRL, 5, 1);
+ stubManager.Write("\tTesting SSR no. 6\tHeadZone-3\t");
+ Thread.Sleep(10000);
+ adc_configuration(0x40,0x04); //a2d_address 0x40 channel 5
+ adc_set_for_read_ch(0x40);
+ adc_read_ch(0x40);
+ SetBit (FPGA2, F2_CTRL, 5, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,3); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,4); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 5
+ SetBit (FPGA2, F2_CTRL, 6, 1);
+ stubManager.Write("\tTesting SSR no. 5\tHeadZone-4\t");
+ Thread.Sleep(10000);
+ adc_configuration(0x44,0x80); //a2d_address 0x44 channel 0
+ adc_set_for_read_ch(0x44);
+ adc_read_ch(0x44);
+ SetBit (FPGA2, F2_CTRL, 6, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,4); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,5); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 10
+ SetBit (FPGA1, F1_gpo_01, 2, 1);
+ stubManager.Write("\tTesting SSR no. 10\tHeadZone-5\t");
+ Thread.Sleep(10000);
+ adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
+ adc_set_for_read_ch(0x44);
+ adc_read_ch(0x44);
+ SetBit (FPGA1, F1_gpo_01, 2, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,5); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,11); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 11
+ SetBit (FPGA3, F3_GPO_01_bus, 4, 1);
+ stubManager.Write("\tTesting SSR no. 11\tHeadZone-6\t");
+ Thread.Sleep(10000);
+ adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
+ adc_set_for_read_ch(0x44);
+ adc_read_ch(0x44);
+ SetBit (FPGA3, F3_GPO_01_bus, 4, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,11); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+ stubManager.Write("\n");
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,0); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write F2_GPO_MIXCHIP_SSR4_CTRL SSR/SSR no. 4
+ SetBit (FPGA2, F2_CTRL, 7, 1);
+ stubManager.Write("Testing SSR no. 4\tMIXCHIP \t");
+ Thread.Sleep(10000);
+ adc_configuration(0x46,0x08); //a2d_address 0x46 channel 4
+ adc_set_for_read_ch(0x46);
+ adc_read_ch(0x46);
+
+ SetBit (FPGA2, F2_CTRL, 7, 0);
+ response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,0); //
+ stubManager.WriteHex(response.TemperatureCMultBy100,4);
+
+
+}
+
+//----------------------
+
+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;
+ }
+
+
+int 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;
+ 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;
+ stubManager.WriteHex(temp,4);
+
+ }
+
+ return 1;
+ }
+
+
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_motor_limit_switch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_motor_limit_switch.cs
new file mode 100644
index 000000000..0dcf29853
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_motor_limit_switch.cs
@@ -0,0 +1,69 @@
+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.Write("\nTesting SSR no. 13 of magnet");
+ Thread.Sleep(4000);
+
+var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, true, 50);
+
+
+ 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(10);
+ }
+ Thread.Sleep(100);
+ stubManager.Write("\n--------1--------");
+
+
+ stubManager.Write("\n*** Close Lid Head ");
+ Bit = 1;
+ response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, false, 50);
+
+ while (Bit != 0x0) //wait until LTFU LOADRAM Down
+ {
+ Bit = GetBit(FPGA1, F1_LS_01_Direct,8);
+ Thread.Sleep(10);
+ }
+ Thread.Sleep(100);
+ stubManager.Write("\n--------2--------");
+
+ response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, true, 0);
+
+ SetBit (FPGA2, F2_CTRL, 0, 0);
+
+
+// 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/Other/ADS120_Internal_Temperature_Sensor.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ADS120_Internal_Temperature_Sensor.cs
new file mode 100644
index 000000000..6c9d3de2b
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ADS120_Internal_Temperature_Sensor.cs
@@ -0,0 +1,46 @@
+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)
+{
+
+
+ //need embedded version > 20-02-2019
+
+
+
+ //MIXCHIP_TEMP = 0
+ //DYEINGH_TEMP1 = 1
+ //DYEINGH_TEMP2 = 2
+ //DYEINGH_TEMP3 = 3
+ //DYEINGH_TEMP4 = 4
+ //DYEINGH_TEMP5 = 5
+ //DRYER_TEMP1 = 6
+ //DRYER_TEMP2 = 7
+ //DRYER_TEMP3 = 8
+ //AN_ENCLOSURETEMP1 = 9
+ //AN_ENCLOSURETEMP2 = 10
+ //AN_ENCLOSURETEMP3 = 11
+
+ const Int32 Sensor = 2 ;//0-11
+
+ //Pay attention - We are changing the ADS setup - it will be updated only after the second call. - So run the stub twice !!!!!!!!!!!!!!!
+
+ var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,0x100 | Sensor );
+
+ stubManager.WriteLine("ADS120 - Internal Temperature Sensor: ");
+
+ stubManager.Write(response.TemperatureCMultBy100);
+
+ stubManager.Write(" °C \t");
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Defines/Tango_Defines_Tacho.cs b/Software/Stubs Collection/stubs/Scripts/Defines/Tango_Defines_Tacho.cs
index 879901f57..f011deff2 100644
--- a/Software/Stubs Collection/stubs/Scripts/Defines/Tango_Defines_Tacho.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Defines/Tango_Defines_Tacho.cs
@@ -10,6 +10,7 @@ using System.Collections.Generic;
using Tango.PMR.Stubs;
using Tango.Stubs;
+const Int32 F1_gpi_FANS = 0x170 ;
const Int32 F1_Tacho_reg8 = 0x1e0 ;