source: MML/trunk/machine/SOLEIL/StorageRing/bpm/set_bpm_timephase.m @ 17

Last change on this file since 17 was 17, checked in by zhangj, 10 years ago

To have a stable version on the server.

  • Property svn:executable set to *
File size: 1.2 KB
Line 
1function  set_bpm_timephase(timeshift)
2% set_bpm_time_phase -  Set bpm time phases from list bpm time phase
3% All BPMs should then trig on the same turn
4%
5% See Also reset_bpm_timephase
6
7%
8% Modified by Laurent S. Nadolski, 6 December 2010
9
10if nargin < 1
11    timeshift = 0;
12end
13
14%% Open filename
15%file = 'liste_bpm_timephase.txt';
16file = 'liste_bpm_timephase122BPM.txt';
17file = [getfamilydata('Directory','DataRoot'), 'KickerEM/',file];
18
19fid  = fopen(file,'r');
20entete=fscanf(fid, '%s',[5]);
21name=[];
22
23nBPM = 122; % Total Number of BPM
24
25% Intialization
26timephase = zeros(1,nBPM);
27
28for i=1:nBPM
29    text = fscanf(fid, '%s', [3]) ;
30    name = [name ; {text(1:16)}];
31    timephase(i) = str2double(text(18:19));
32end
33fclose(fid);
34timephase = int32(timephase);
35
36%save list_bpm.mat name % To save data
37
38% If need to shift data
39% 128 means 1 ring turn
40% time phase is defined modulo 128
41 timephase = mod(timephase+int32(20),128);
42
43% Write data
44h = waitbar(0,'Time Phase loading, please wait');
45
46for i=1:nBPM,
47    waitbar(i/nBPM,h)
48    tango_write_attribute2(name{i},'TimePhase',timephase(i)); pause(0.01)
49    tango_command_inout2(name{i},'SetTimeOnNextTrigger'); pause(0.01)
50end
51close(h)
Note: See TracBrowser for help on using the repository browser.