source: MML/trunk/applications/orbit/spear3/writebumpfile.m @ 4

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

Initial import--MML version from SOLEIL@2013

File size: 1.3 KB
Line 
1function writebumpfile(varargin)
2%write bump file to disk
3%example
4% ao=getao;
5%
6% nqf=length(ao.QF.ElementList);
7% nqd=length(ao.QD.ElementList);
8% pvnames=char(ao.QF.Setpoint.ChannelNames,ao.QD.Setpoint.ChannelNames);
9% scalefactor=[r(1,1)*ones(nqf,1);r(2,1)*ones(nqd,1)];
10%
11% header=['dnu_x   [0.01/unit] '];
12% directoryname=getfamilydata('Directory','BumpFiles');
13% filename='xtune';
14%writebumpfile(pvnames,scalefactor,header,directoryname,filename);
15
16if isstruct(varargin)     %structure input
17% pv           =varargin.pv;
18% scalefactor  =varargin.scalefactor;
19% header       =varargin.header;
20% directoryname=varargin.pathname;
21% filename     =varargin.filename;
22else                     %not a structure
23
24if nargin<2
25  error('insufficient input to WriteBumpFile')
26end
27
28pv          =varargin{1};
29scalefactor =varargin{2};
30
31%default values
32header='slider';
33directoryname=getfamilydata('Directory','BumpFiles');
34filename=appendtimestamp('bump', clock);
35
36if nargin>2  header       =varargin{3};  end
37if nargin>3  directoryname=varargin{4};  end
38if nargin>4  filename     =varargin{5};  end
39end
40   
41if isempty(findstr(filename,'.m')) filename=[filename '.m']; end
42[fid,message]=fopen([directoryname filename],'w');
43
44fprintf(fid,'%s\n',header);
45fprintf(fid,'%d\n',size(pv,1));
46for ii=1:size(pv,1)
47    fprintf(fid,'%s %14.10f\n',pv(ii,:),scalefactor(ii));
48end
49fclose(fid);
Note: See TracBrowser for help on using the repository browser.