aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-01-05 09:42:19 +0200
committerAvi Levkovich <avi@twine-s.com>2020-01-05 09:42:19 +0200
commit68d996d983b14565675d80d37a570f1b8af39e89 (patch)
treef608de09dd1feb475a87a4a10e4f729955df2f7b /Software/Stubs Collection
parent253ce3357f1b83ed25251e5779fe41b60b81bcf3 (diff)
downloadTango-68d996d983b14565675d80d37a570f1b8af39e89.tar.gz
Tango-68d996d983b14565675d80d37a570f1b8af39e89.zip
upload stubs + I2C_FIFO.c (not in use yet)
Diffstat (limited to 'Software/Stubs Collection')
-rw-r--r--Software/Stubs Collection/stubs/Create File System on the Drive - reset flash.cs17
-rw-r--r--Software/Stubs Collection/stubs/Dispenser ByPass - getout from loewer safety.cs46
-rw-r--r--Software/Stubs Collection/stubs/Dispenser ByPass - getout from upper safety.cs46
-rw-r--r--Software/Stubs Collection/stubs/Head LS.cs31
-rw-r--r--Software/Stubs Collection/stubs/HeadCard_ADC.cs64
-rw-r--r--Software/Stubs Collection/stubs/Head_Card_I2C.cs66
-rw-r--r--Software/Stubs Collection/stubs/Head_Card_IO.cs160
-rw-r--r--Software/Stubs Collection/stubs/Head_EEPROM.cs135
-rw-r--r--Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing.cs59
-rw-r--r--Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new.cs87
-rw-r--r--Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new2.cs49
-rw-r--r--Software/Stubs Collection/stubs/Head_i2c_functions.cs27
-rw-r--r--Software/Stubs Collection/stubs/Heat I2C ACT test.cs33
-rw-r--r--Software/Stubs Collection/stubs/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs98
-rw-r--r--Software/Stubs Collection/stubs/I2C_RW_Main_EEPROM_AVI _support_string.cs109
-rw-r--r--Software/Stubs Collection/stubs/WD test.cs49
-rw-r--r--Software/Stubs Collection/stubs/head_card_fan_test.cs26
-rw-r--r--Software/Stubs Collection/stubs/midtank calibration/Midtankcalibration.cs69
-rw-r--r--Software/Stubs Collection/stubs/midtank calibration/read_midtank_calibration.cs37
-rw-r--r--Software/Stubs Collection/stubs/powestep01_change_mode.cs25
-rw-r--r--Software/Stubs Collection/stubs/test_reg_readback.cs20
21 files changed, 1253 insertions, 0 deletions
diff --git a/Software/Stubs Collection/stubs/Create File System on the Drive - reset flash.cs b/Software/Stubs Collection/stubs/Create File System on the Drive - reset flash.cs
new file mode 100644
index 000000000..d8b763ddd
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Create File System on the Drive - reset flash.cs
@@ -0,0 +1,17 @@
+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" ,0xCF, 0xCF);//Create File System on the Drive
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Dispenser ByPass - getout from loewer safety.cs b/Software/Stubs Collection/stubs/Dispenser ByPass - getout from loewer safety.cs
new file mode 100644
index 000000000..34dce79fe
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Dispenser ByPass - getout from loewer safety.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)
+{
+ 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/Dispenser ByPass - getout from upper safety.cs b/Software/Stubs Collection/stubs/Dispenser ByPass - getout from upper safety.cs
new file mode 100644
index 000000000..1887d433c
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Dispenser ByPass - getout from upper safety.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)
+{
+ 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/Head LS.cs b/Software/Stubs Collection/stubs/Head LS.cs
new file mode 100644
index 000000000..b5c646649
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Head LS.cs
@@ -0,0 +1,31 @@
+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;
+
+/*HEAD CARD I/O
+
+Slave address 0x40 / 0x42 / 0x44 / 0x46
+
+-------------------------
+| Byte | WR | RD | CFG |
+-------------------------
+| Low | 02 | 00 | 06 |
+| High | 03 | 01 | 07 |
+-------------------------
+Example (42 Slave Address, 03 Write High Byte, D8 Set value (NA on read))
+stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x4203D8);
+*/
+public void OnExecute(StubManager stubManager)
+{
+ //Head LS
+ var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x460100);
+ stubManager.WriteLineHex(response7.Progress,2);
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/HeadCard_ADC.cs b/Software/Stubs Collection/stubs/HeadCard_ADC.cs
new file mode 100644
index 000000000..e1e18089c
--- /dev/null
+++ b/Software/Stubs Collection/stubs/HeadCard_ADC.cs
@@ -0,0 +1,64 @@
+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;
+
+
+//----------------------------------------- HEAD_ADC1_0x50
+//Maximum value: 1.3V, 1 LSB: 2500/4096 mA
+const UInt32 HEAD_CURRENT_ZONE_1 = 0;
+const UInt32 HEAD_CURRENT_ZONE_2 = 1;
+const UInt32 HEAD_CURRENT_ZONE_3 = 2;
+const UInt32 HEAD_CURRENT_ZONE_4 = 3;
+const UInt32 HEAD_CURRENT_ZONE_5 = 4;
+const UInt32 HEAD_CURRENT_ZONE_6 = 5;
+const UInt32 HEAD_CURRENT_ZONE_7 = 6;
+const UInt32 HEAD_CURRENT_ZONE_8 = 7;
+
+//----------------------------------------- HEAD_ADC2_0x54
+//Maximum value: 1.3V, 1 LSB: 2500/4096 mA
+const UInt32 HEAD_CURRENT_ZONE_9 = 8 ;
+const UInt32 HEAD_CURRENT_ZONE_10 = 9 ;
+const UInt32 HEAD_CURRENT_ZONE_11 = 10;
+const UInt32 HEAD_CURRENT_ZONE_12 = 11;
+
+//Maximum value: 2.1V, 1 LSB: 5000/4096 mA
+const UInt32 HEAD_CURRENT_HTIN_1 = 12;
+const UInt32 HEAD_CURRENT_HTIN_2 = 13;
+const UInt32 HEAD_CURRENT_HTIN_3 = 14;
+const UInt32 HEAD_CURRENT_HTIN_4 = 15;
+
+//----------------------------------------- HEAD_ADC3_0x56
+//Maximum value: 2.1V, 1 LSB: 5000/4096 mA
+const UInt32 HEAD_CURRENT_HTOT_1 = 16;
+const UInt32 HEAD_CURRENT_HTOT_2 = 17;
+const UInt32 HEAD_CURRENT_HTOT_3 = 18;
+const UInt32 HEAD_CURRENT_HTOT_4 = 19;
+
+//Maximum value: 1.7V, 1 LSB: 2500/4096 mA
+const UInt32 HEAD_CURRENT_MIXER = 20;
+
+//Maximum value: 2.34V, 1 LSB: 4.9 mA
+const UInt32 HEAD_CURRENT_HT_TOTAL = 21;
+
+//Maximum value: 0.5V, 1 LSB: 2500/4096 mA
+const UInt32 HEAD_CURRENT_VALUE = 22;
+
+//Maximum value: (2.05 -2.3) V, 1 LSB: 27500/4096 mV
+const UInt32 HEAD_CURRENT_24V = 23;
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+ var response = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + HEAD_CURRENT_24V); // 0x8000 + Head ADC ID
+ stubManager.WriteLine(response.Pressure);
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Head_Card_I2C.cs b/Software/Stubs Collection/stubs/Head_Card_I2C.cs
new file mode 100644
index 000000000..6f49eeb51
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Head_Card_I2C.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;
+
+/*HEAD CARD I/O
+
+Slave address 0x40 / 0x42 / 0x44 / 0x46
+
+-------------------------
+| Byte | WR | RD | CFG |
+-------------------------
+| Low | 02 | 00 | 06 |
+| High | 03 | 01 | 07 |
+-------------------------
+
+Example (42 Slave Address, 03 Write High Byte, D8 Set value (NA on read))
+stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x4203D8);
+*/
+
+public void OnExecute(StubManager stubManager)
+{
+
+//ZN_Latch_RST off
+var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x4203D8);
+stubManager.WriteLineHex(response.Progress,2);
+
+//Turn ON mixer
+var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x420210);
+stubManager.WriteLineHex(response1.Progress,2);
+
+//Turn ON 12 (0..7)
+var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x4002FF);
+stubManager.WriteLineHex(response4.Progress,2);
+
+//Turn ON 12 (8..11)
+var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x40030F);
+stubManager.WriteLineHex(response5.Progress,2);
+
+//ZN_Latch_RST ON
+var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x4203F8);
+stubManager.WriteLineHex(response2.Progress,2);
+
+Thread.Sleep(5000);
+
+//Turn OFF mixer
+var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x420200);
+stubManager.WriteLineHex(response3.Progress,2);
+
+//Turn OFF 12 (0..7)
+var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x400200);
+stubManager.WriteLineHex(response6.Progress,2);
+
+//Turn OFF 12 (8..11)
+var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x400300);
+stubManager.WriteLineHex(response7.Progress,2);
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Head_Card_IO.cs b/Software/Stubs Collection/stubs/Head_Card_IO.cs
new file mode 100644
index 000000000..161b622f2
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Head_Card_IO.cs
@@ -0,0 +1,160 @@
+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; // Main Mux
+Int32 I2C_Slave_Add ; // //eeprom address - 32kByte
+int Head_Mux_Channel_ID = 4; //Head MUX channel
+//----------------------
+
+uint[] write_Buf = new uint[5];
+
+
+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 No_Bytes)
+{
+uint i = 0;
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+
+ //--------------------------------------------------------------
+ for(i=0;i<No_Bytes;i++)
+ stubI2CWriteBytesRequest.BytesTWrite.Add(write_Buf[i]);//Data 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, uint No_Bytes)
+{
+ adc_set_for_read_ch(I2C_Slave_Add );
+
+ StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
+ stubI2CReadBytesRequest.I2CId = I2C_ID;
+ stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1;
+ stubI2CReadBytesRequest.NumberOfBytesToRead = No_Bytes; // 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.WriteLineHex(temph,2);
+ }
+
+ return 1;
+}
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+ enable_channel(Head_Mux_Channel_ID);
+
+ //ZN_Latch_RST off
+ write_Buf[0] = 0x03;
+ write_Buf[1] = 0xD8;
+ adc_write(0x42, 2);
+ adc_read_ch(0x42, 2);
+
+
+ //Turn ON mixer
+ write_Buf[0] = 0x02;
+ write_Buf[1] = 0x10;
+ adc_write(0x42, 2);
+ adc_read_ch(0x42, 2);
+ stubManager.WriteLine("");
+
+ //Turn ON 12 (0..7)
+ write_Buf[0] = 0x02;
+ write_Buf[1] = 0xFF;
+ adc_write(0x40, 2);
+ adc_read_ch(0x40, 2);
+ stubManager.WriteLine("");
+
+ //Turn ON 12 (8..11)
+ write_Buf[0] = 0x03;
+ write_Buf[1] = 0x0F;
+ adc_write(0x40, 2);
+ adc_read_ch(0x40, 2);
+ stubManager.WriteLine("");
+
+ //ZN_Latch_RST ON
+ write_Buf[0] = 0x03;
+ write_Buf[1] = 0xF8;
+ adc_write(0x42, 2);
+ adc_read_ch(0x42, 2);
+
+ Thread.Sleep(5000);
+ stubManager.WriteLine("-------------");
+
+ //Turn OFF mixer
+ write_Buf[0] = 0x02;
+ write_Buf[1] = 0x00;
+ adc_write(0x42, 2);
+ adc_read_ch(0x42, 2);
+ stubManager.WriteLine("");
+
+ //Turn OFF 12 (0..7)
+ write_Buf[0] = 0x02;
+ write_Buf[1] = 0x00;
+ adc_write(0x40, 2);
+ adc_read_ch(0x40, 2);
+ stubManager.WriteLine("");
+
+ //Turn OFF 12 (8..11)
+ write_Buf[0] = 0x03;
+ write_Buf[1] = 0x00;
+ adc_write(0x40, 2);
+ adc_read_ch(0x40, 2);
+ stubManager.WriteLine("");
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Head_EEPROM.cs b/Software/Stubs Collection/stubs/Head_EEPROM.cs
new file mode 100644
index 000000000..1b3ab7213
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Head_EEPROM.cs
@@ -0,0 +1,135 @@
+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/Head_card_PT100__Horizontal_Printing.cs b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing.cs
new file mode 100644
index 000000000..6c6bbac05
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing.cs
@@ -0,0 +1,59 @@
+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.UI;
+using Tango.Stubs;//
+using Tango.PMR.Printing;
+using Tango.PMR.Hardware;
+
+
+public void OnExecute(StubManager stubManager)
+{
+ /*
+ProcessParameters processParameters = new ProcessParameters();
+processParameters.DyeingSpeed = 30;
+processParameters.DryerBufferLength = 0;
+processParameters.MinInkUptake = 0;
+processParameters.DryerZone1Temp = 120;
+processParameters.DryerZone2Temp = 0;
+processParameters.DryerZone3Temp = 0;
+processParameters.HeadZone1Temp = 120;
+processParameters.HeadZone2Temp = 150;
+processParameters.HeadZone3Temp = 150;
+processParameters.HeadZone4Temp = 150;
+processParameters.HeadZone5Temp = 0;
+
+UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
+
+uploadProcessParametersRequest.ProcessParameters = processParameters;
+var response1 = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
+*/
+
+ stubManager.Write("\n");
+ stubManager.Write("HZone_1 \tHZone_3 \tHZone_5 \tHZone_7 \tHZone_9 \tHZone_11\tHAir_1 \tMixer \tHZone_2 \tHZone_4 \tHZone_6 \tHZone_8 \tHZone_10 \tHZone_12 \n");
+ stubManager.Write("------- \t---------\t---------\t---------\t---------\t---------\t------- \t------- \t------- \t-----------\t-----------\t-----------\t-----------\t-----------\n");
+
+ for (int j = 0; j < 1000; j++)
+ {
+ for (int i = 12; i < 26; i++)//12
+ {
+
+ var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,0x100 + i); //Add 0x100 for internal temperature
+ float ftemp = (float)response.TemperatureCMultBy100;
+ ftemp = ftemp / 100;
+
+ stubManager.Write(ftemp.ToString("F2"));
+ stubManager.Write("°C\t");
+
+ }
+ stubManager.Write("\n");
+ Thread.Sleep(1000);
+ }
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new.cs b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new.cs
new file mode 100644
index 000000000..4d877e3d0
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new.cs
@@ -0,0 +1,87 @@
+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.UI;
+using Tango.Stubs;//
+using Tango.PMR.Printing;
+using Tango.PMR.Hardware;
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+ Int32 command = 0;
+
+ /*
+ProcessParameters processParameters = new ProcessParameters();
+processParameters.DyeingSpeed = 30;
+processParameters.DryerBufferLength = 0;
+processParameters.MinInkUptake = 0;
+processParameters.DryerZone1Temp = 120;
+processParameters.DryerZone2Temp = 0;
+processParameters.DryerZone3Temp = 0;
+processParameters.HeadZone1Temp = 120;
+processParameters.HeadZone2Temp = 150;
+processParameters.HeadZone3Temp = 150;
+processParameters.HeadZone4Temp = 150;
+processParameters.HeadZone5Temp = 0;
+
+UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
+
+uploadProcessParametersRequest.ProcessParameters = processParameters;
+var response1 = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
+*/
+
+ stubManager.Write("\n");
+ stubManager.Write("HZone_1 \tHZone_3 \tHZone_5 \tHZone_7 \tHZone_9 \tHZone_11\tHAir_1 \tMixer \tHZone_2 \tHZone_4 \tHZone_6 \tHZone_8 \tHZone_10 \tHZone_12 \n");
+ stubManager.Write("------- \t---------\t---------\t---------\t---------\t---------\t------- \t------- \t------- \t-----------\t-----------\t-----------\t-----------\t-----------\n");
+
+ for (int j = 0; j < 1; j++)
+ {
+ for (int i = 12; i < 26; i++)//12
+ {
+
+ //if(((i ==12) || (i ==26 ) ) && (j==0))
+
+
+
+ var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , i);// not in use only for compilation
+ /*
+ //-----------------------------------------------------------------
+ if(((i == 12) || (i == 20)) && (j == 0) )
+ {
+
+ command = 0x8000 + i;
+ }
+ else
+ {
+
+ command = i;
+ }
+ var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , command);
+ Thread.Sleep(50);
+ //----------------------------------------------------------------------------
+ */
+ //var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,/*0x100 +*/ i); //Add 0x100 for internal temperature
+
+ float ftemp = (float)response.TemperatureCMultBy100;
+ ftemp = ftemp / 100;
+
+ stubManager.Write(ftemp.ToString("F2"));
+ stubManager.Write("°C\t");
+
+/*
+stubManager.WriteHex(response.TemperatureCMultBy100,6);
+ stubManager.Write("\t");*/
+ }
+ stubManager.Write("\n");
+ Thread.Sleep(1000);
+ }
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new2.cs b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new2.cs
new file mode 100644
index 000000000..400a0d421
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new2.cs
@@ -0,0 +1,49 @@
+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.Printing;
+using Tango.PMR.Hardware;
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+ stubManager.Write("\n");
+ stubManager.Write("HZone_1 \tHZone_3 \tHZone_5 \tHZone_7 \tHZone_9 \tHZone_11\tHAir_1 \tMixer \tHZone_2 \tHZone_4 \tHZone_6 \tHZone_8 \tHZone_10 \tHZone_12 \n");
+ stubManager.Write("------- \t---------\t---------\t---------\t---------\t---------\t------- \t------- \t------- \t-----------\t-----------\t-----------\t-----------\t-----------\n");
+
+ for (int j = 0; j < 1; j++)
+ {
+ for (int i = 12; i < 26; i++)
+ {
+
+ if(((i == 12) || (i == 20)) && (j == 0) )
+ {
+ stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , 0x8000 + i);//read odd (12+) and even (20+)
+ }
+ var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , i);//get from the buffer
+
+
+ float ftemp = (float)response.TemperatureCMultBy100;
+ ftemp = ftemp / 100;
+
+ stubManager.Write(ftemp.ToString("F2"));
+ stubManager.Write("°C\t");
+
+ /* to display the data in hex - need also to unmark the lines in the embedded code
+ stubManager.WriteHex(response.TemperatureCMultBy100,6);
+ stubManager.Write("\t");*/
+ }
+ stubManager.Write("\n");
+ Thread.Sleep(1000);
+ }
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Head_i2c_functions.cs b/Software/Stubs Collection/stubs/Head_i2c_functions.cs
new file mode 100644
index 000000000..f676ba592
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Head_i2c_functions.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+ // Request ----
+ // Int32 : Amount
+ // Int32 : Delay
+
+ // Response ----
+ // Double : Progress
+ var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCA1401);//Turn on mixer (hrater ID on/off)
+
+ Thread.Sleep(5000);
+
+ var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCA1400);//Turn OFF mixer
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Heat I2C ACT test.cs b/Software/Stubs Collection/stubs/Heat I2C ACT test.cs
new file mode 100644
index 000000000..1ad3a8f74
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Heat I2C ACT test.cs
@@ -0,0 +1,33 @@
+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 response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF101);//Actuators: ID, power, Direction
+ Thread.Sleep(100);
+ var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF111);//Actuators: ID, power, Direction
+ Thread.Sleep(3000);
+ var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF100);//Actuators: ID, power, Direction
+ Thread.Sleep(100);
+ var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF110);//Actuators: ID, power, Direction
+ Thread.Sleep(3000);
+ var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF001);//Actuators: ID, power, Direction
+ Thread.Sleep(100);
+ var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF011);//Actuators: ID, power, Direction
+ Thread.Sleep(3000);
+ var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF000);//Actuators: ID, power, Direction
+ Thread.Sleep(100);
+ var response9 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF010);//Actuators: ID, power, Direction
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs b/Software/Stubs Collection/stubs/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs
new file mode 100644
index 000000000..6ec538758
--- /dev/null
+++ b/Software/Stubs Collection/stubs/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs
@@ -0,0 +1,98 @@
+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/I2C_RW_Main_EEPROM_AVI _support_string.cs b/Software/Stubs Collection/stubs/I2C_RW_Main_EEPROM_AVI _support_string.cs
new file mode 100644
index 000000000..00064ec7f
--- /dev/null
+++ b/Software/Stubs Collection/stubs/I2C_RW_Main_EEPROM_AVI _support_string.cs
@@ -0,0 +1,109 @@
+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
+
+//----------------------
+
+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('B');//Data 1 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add('C');//Data 2 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add('D');//Data 3 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add('E');//Data 4 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add('F');//Data 5 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add('G');//Data 6 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add('H');//Data 7 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add('I');//Data 8 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add('J');//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);
+ if(((temph>='A') && (temph<='Z')) || ((temph>='a') && (temph<='z')))
+ {
+ stubManager.Write((char) temph);
+ }
+ else
+ {
+ stubManager.WriteHex(temph,2);
+ }
+ stubManager.Write(" ");
+ }
+
+ 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(i);
+ stubManager.Write("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/WD test.cs b/Software/Stubs Collection/stubs/WD test.cs
new file mode 100644
index 000000000..f740ad54a
--- /dev/null
+++ b/Software/Stubs Collection/stubs/WD test.cs
@@ -0,0 +1,49 @@
+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<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"N", 6, false);
+stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"N", 6, true);
+
+stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"H", 4, false);
+stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"H", 4, true);
+
+stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"F", 6, false);
+stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"F", 6, true);
+*/
+
+ for (int i = 0; i < 1; i++)
+ {
+
+
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + 0x160);
+ var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000400 + 0x140);
+ var response2 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000800 + 0x140);
+ stubManager.WriteLineHex(response.Value,4);
+ stubManager.WriteLineHex(response1.Value,4);
+ stubManager.WriteLineHex(response2.Value,4);
+ stubManager.WriteLine("");
+
+ var response3 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + 0x0B2);
+ var response4 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + 0x0C2);
+ var response5 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000400 + 0x0B2);
+ var response6 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000800 + 0x0B2);
+ stubManager.WriteLineHex(response3.Value,4);
+ stubManager.WriteLineHex(response4.Value,4);
+ stubManager.WriteLineHex(response5.Value,4);
+ stubManager.WriteLineHex(response6.Value,4);
+
+ Thread.Sleep(1000); //Sleep for 1000 milli.
+ }
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/head_card_fan_test.cs b/Software/Stubs Collection/stubs/head_card_fan_test.cs
new file mode 100644
index 000000000..95c3825e0
--- /dev/null
+++ b/Software/Stubs Collection/stubs/head_card_fan_test.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+// Request ----
+// Int32 : Amount
+// Int32 : Delay
+
+// Response ----
+// Double : Progress
+var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac0, 0x00);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP
+stubManager.WriteLineHex(response.Progress,2);//100% = 0xDC0, 50% = 0x1790, 0% = 0xFFF0
+
+var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac1, 0x00);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP
+stubManager.WriteLineHex(response1.Progress,2);//100% = 0xDC0, 50% = 0x1790, 0% = 0xFFF0
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/midtank calibration/Midtankcalibration.cs b/Software/Stubs Collection/stubs/midtank calibration/Midtankcalibration.cs
new file mode 100644
index 000000000..9a82365e1
--- /dev/null
+++ b/Software/Stubs Collection/stubs/midtank calibration/Midtankcalibration.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.EmbeddedParameters;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+
+MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
+
+MidTankData midTankData = new MidTankData();
+midTankData.MidTankId = 0;
+midTankData.InitialOffsetA =2.54414609375 ;
+midTankData.SlopeB = 0.915453384418902 ;
+
+MidTankData midTankData1 = new MidTankData();
+midTankData1.MidTankId = 1;
+midTankData1.InitialOffsetA = 2.53565 ;
+midTankData1.SlopeB = 0.912075327649828;
+
+MidTankData midTankData2 = new MidTankData();
+midTankData2.MidTankId = 2;
+midTankData2.InitialOffsetA = 2.96895078125 ;
+midTankData2.SlopeB = 0.92228512609367;
+
+MidTankData midTankData3 = new MidTankData();
+midTankData3.MidTankId = 3;
+midTankData3.InitialOffsetA = 2.9264703125 ;
+midTankData3.SlopeB = 0.939819063852105;
+
+MidTankData midTankData4 = new MidTankData();
+midTankData4.MidTankId = 4;
+midTankData4.InitialOffsetA = 2.614946875 ;
+midTankData4.SlopeB = 0.92573937750226;
+
+MidTankData midTankData5 = new MidTankData();
+midTankData5.MidTankId = 5;
+midTankData5.InitialOffsetA = 2.1561578125;
+midTankData5.SlopeB = 0;
+
+MidTankData midTankData6 = new MidTankData();
+midTankData6.MidTankId = 6;
+midTankData6.InitialOffsetA = 2.8924859375;
+midTankData6.SlopeB = 0.932726089785296;
+
+MidTankData midTankData7 = new MidTankData();
+midTankData7.MidTankId = 7;
+midTankData7.InitialOffsetA = 2.92080625;
+midTankData7.SlopeB = 0.919540229;
+
+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);
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/midtank calibration/read_midtank_calibration.cs b/Software/Stubs Collection/stubs/midtank calibration/read_midtank_calibration.cs
new file mode 100644
index 000000000..469772888
--- /dev/null
+++ b/Software/Stubs Collection/stubs/midtank calibration/read_midtank_calibration.cs
@@ -0,0 +1,37 @@
+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/powestep01_change_mode.cs b/Software/Stubs Collection/stubs/powestep01_change_mode.cs
new file mode 100644
index 000000000..75939ea87
--- /dev/null
+++ b/Software/Stubs Collection/stubs/powestep01_change_mode.cs
@@ -0,0 +1,25 @@
+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 i = 6; // to run only for specific motor
+
+public void OnExecute(StubManager stubManager)
+{
+ for (i = 6; i < 14; i++)
+ {
+ //stubManager.Run<ProgressResponse>("ProgressRequest" ,0x01, 0x010000 + (i<<8) + 0x00); //change motor driver 25 to voltage mode;
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0x01, 0x010000 + (i<<8) + 0x08); //change motor driver 06 to current mode;
+ Thread.Sleep(10); //Sleep for 10 milli.
+
+ }
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/test_reg_readback.cs b/Software/Stubs Collection/stubs/test_reg_readback.cs
new file mode 100644
index 000000000..d5ef91a3b
--- /dev/null
+++ b/Software/Stubs Collection/stubs/test_reg_readback.cs
@@ -0,0 +1,20 @@
+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<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000000 + 0x3F0, 0xAAAA);
+
+var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + 0x3F0);
+stubManager.WriteLineHex(response1.Value,4);
+} \ No newline at end of file