aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs
blob: 397999f12cce0b1cf6847e5e5d5e483ea9c4ca71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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 

	}
	


}