aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_SSI.cs
blob: 692f9d32c5e5c9b8165fd777fc21a00a61a72a96 (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
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_SSI.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_SSI.cs"


public void OnExecute(StubManager stubManager)
{
	int k = 0;
	Fpga_Read_Reg(FPGA1, F2_Prescaler1_reg1, 0);
	Fpga_Read_Reg(FPGA1, F2_Prescaler1_reg2, 0);	
	
	//Set output clock frequency to about 200 kHz
	Fpga_Write_Reg(FPGA1, F2_Prescaler1_reg1, 0x0024, 0);
	Fpga_Write_Reg(FPGA1, F2_Prescaler1_reg2, 0x0024, 0);
	
	Fpga_Read_Reg(FPGA1, F2_Prescaler1_reg1, 0);
	Fpga_Read_Reg(FPGA1, F2_Prescaler1_reg2, 0);

	for (int i = 0; i < 100000; i++)
	{
	
		
		
		
		
		SSI_Read_Write(FPGA2, F2_DISPENSER_ROTENC_1_MSB, F2_DISPENSER_ROTENC_1_LSB, F2_DISPENSER_ROTENC_1_TX);
		SSI_Read_Write(FPGA2, F2_DISPENSER_ROTENC_2_MSB, F2_DISPENSER_ROTENC_2_LSB, F2_DISPENSER_ROTENC_2_TX);
		SSI_Read_Write(FPGA2, F2_DISPENSER_ROTENC_3_MSB, F2_DISPENSER_ROTENC_3_LSB, F2_DISPENSER_ROTENC_3_TX);
		SSI_Read_Write(FPGA2, F2_DISPENSER_ROTENC_4_MSB, F2_DISPENSER_ROTENC_4_LSB, F2_DISPENSER_ROTENC_4_TX);
		stubManager.Write("\n");
		Thread.Sleep(400);
		SSI_Read_Write(FPGA2, F2_DISPENSER_ROTENC_5_MSB, F2_DISPENSER_ROTENC_5_LSB, F2_DISPENSER_ROTENC_5_TX);
		SSI_Read_Write(FPGA2, F2_DISPENSER_ROTENC_6_MSB, F2_DISPENSER_ROTENC_6_LSB, F2_DISPENSER_ROTENC_6_TX);
		SSI_Read_Write(FPGA2, F2_DISPENSER_ROTENC_7_MSB, F2_DISPENSER_ROTENC_7_LSB, F2_DISPENSER_ROTENC_7_TX);
		SSI_Read_Write(FPGA2, F2_DISPENSER_ROTENC_8_MSB, F2_DISPENSER_ROTENC_8_LSB, F2_DISPENSER_ROTENC_8_TX);
		stubManager.Write("\n");
		Thread.Sleep(400);
		
		
		
		Thread.Sleep(400);
		stubManager.Write("\n");
		k++;
		if  ( (k & 0x8) == 0x08 ) {
			k = 0;			
			stubManager.Write("	DISPENSER1	DISPENSER2  DISPENSER3	DISPENSER4   \n");
			stubManager.Write("	DISPENSER5  DISPENSER6	DISPENSER7	DISPENSER8   \n");
			}

	/*		
		stubManager.Write("\n\nF1_LDANCER1_ROTENC_TX");
		ssi_loop(F1_LDANCER1_ROTENC_TX);
		Thread.Sleep(1000);		
		
		stubManager.Write("\n\nF1_LDANCER2_ROTENC_TX");
		ssi_loop(F1_LDANCER2_ROTENC_TX);
		Thread.Sleep(1000);		
		
		stubManager.Write("\n\nF1_LSPARE_ROTENC_TX");
		ssi_loop(F1_LSPARE_ROTENC_TX);
		Thread.Sleep(1000);		
		
	*/
	}
	
	
}

/* Sample output when turning F1_RSPARE_ROTENC - output is 12 bits
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #0A6F)
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #0A71)
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #0A68)
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #09BA)
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #0859)
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #06C6)
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #05EA)
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #05CE)
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #05B3)
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #0599)
(F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB) = (#0000, #0580)*/