aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.cs
blob: 9be6f1ec687d041cf771566810c1114e86ff30bd (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
using System;
using System.Text;
using System.Linq;
using System.Drawing;
using System.Diagnostics;
using System.Windows.Forms;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Tango.PMR.Stubs;
using Tango.Stubs;


Int32	last_14bit_position;
Int32	position_32bit=0;
const Int32 DrierLoadingArm_Motor	=	5;
public void OnExecute(StubManager stubManager)
{
	string FileName="test.csv";
	var stopwatch = new Stopwatch();
		stopwatch.Start();

		long elapsed_time = stopwatch.ElapsedMilliseconds;

	ReadEncoder_Dryer();
	position_32bit=0;	
	ReadEncoder_Dryer();
	Int32 temp=position_32bit;
	
	stubManager.WriteToFile(FileName,DateTime.Now +" " );
//stubManager.AppendToFile("test.csv",elapsed_time+ ","+ position_32bit   );

	stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 100);//40
		 elapsed_time = stopwatch.ElapsedMilliseconds;
	stubManager.AppendToFile(FileName,elapsed_time+ ","+ position_32bit   );
	while (true)
		{
	ReadEncoder_Dryer();
			 elapsed_time = stopwatch.ElapsedMilliseconds;
stubManager.AppendToFile(FileName,elapsed_time+ ","+ position_32bit   );
		Thread.Sleep(1);		
		}

}



void ReadEncoder_Dryer()
{
	Int32 temp;
	Int32 temp1;
	stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000);		//triggers a TX transmission

	var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
	var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);		 

	temp =  Convert.ToInt32 (((((response1.Value <<16) + 	response.Value)>>10 ) & 0x3fff));
	if (temp>last_14bit_position)
		{
		temp1=temp-last_14bit_position;
		position_32bit=position_32bit+temp1;
		if (temp1>0x2000)
			position_32bit=position_32bit-0x4000;
		}
	else if (temp<last_14bit_position)
		
		{
			temp1=last_14bit_position-temp;
			position_32bit=position_32bit-temp1;
		if (temp1>0x2000)
			position_32bit=position_32bit+0x4000;
		}
	
	last_14bit_position=temp;

	return ;
}