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)*/
|