source: MML/trunk/mml/doc_html/mml/copymachineconfigfile.html @ 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: 10.5 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2                "http://www.w3.org/TR/REC-html40/loose.dtd">
3<html>
4<head>
5  <title>Description of copymachineconfigfile</title>
6  <meta name="keywords" content="copymachineconfigfile">
7  <meta name="description" content="COPYMACHINECONFIGFILE - Copies a lattice file to the golden file">
8  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
9  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
10  <meta name="robots" content="index, follow">
11  <link type="text/css" rel="stylesheet" href="../m2html.css">
12</head>
13<body>
14<a name="_top"></a>
15<div><a href="../index.html">Home</a> &gt;  <a href="index.html">mml</a> &gt; copymachineconfigfile.m</div>
16
17<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td>
18<td align="right"><a href="index.html">Index for mml&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>-->
19
20<h1>copymachineconfigfile
21</h1>
22
23<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
24<div class="box"><strong>COPYMACHINECONFIGFILE - Copies a lattice file to the golden file</strong></div>
25
26<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
27<div class="box"><strong>function copymachineconfigfile(DataFileName, ToFileName) </strong></div>
28
29<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
30<div class="fragment"><pre class="comment">COPYMACHINECONFIGFILE - Copies a lattice file to the golden file
31  copymachineconfigfile(DataFileName, ToFileName)
32
33  Written by Greg Portmann</pre></div>
34
35<!-- crossreference -->
36<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
37This function calls:
38<ul style="list-style-image:url(../matlabicon.gif)">
39<li><a href="getfamilydata.html" class="code" title="function [Data, ErrorFlag] = getfamilydata(Family, Field1, Field2, DeviceList)">getfamilydata</a>  GETFAMILYDATA - Gets data associated with the accelerator control</li></ul>
40This function is called by:
41<ul style="list-style-image:url(../matlabicon.gif)">
42</ul>
43<!-- crossreference -->
44
45
46<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
47<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function copymachineconfigfile(DataFileName, ToFileName)</a>
480002 <span class="comment">%COPYMACHINECONFIGFILE - Copies a lattice file to the golden file</span>
490003 <span class="comment">%  copymachineconfigfile(DataFileName, ToFileName)</span>
500004 <span class="comment">%</span>
510005 <span class="comment">%  Written by Greg Portmann</span>
520006
530007 <span class="keyword">if</span> nargin &lt; 1
540008     DataFileName = <span class="string">''</span>;
550009 <span class="keyword">end</span>
560010
570011 <span class="keyword">if</span> nargin &lt; 2
580012     ToFileName = <span class="string">'Golden'</span>;
590013 <span class="keyword">end</span>
600014
610015
620016 <span class="comment">% Get the file</span>
630017 <span class="keyword">if</span> isempty(DataFileName)
640018     DataDirectoryName = <a href="getfamilydata.html" class="code" title="function [Data, ErrorFlag] = getfamilydata(Family, Field1, Field2, DeviceList)">getfamilydata</a>(<span class="string">'Directory'</span>,<span class="string">'ConfigData'</span>);
650019     <span class="keyword">if</span> isempty(DataDirectoryName)
660020         DataDirectoryName = <a href="getfamilydata.html" class="code" title="function [Data, ErrorFlag] = getfamilydata(Family, Field1, Field2, DeviceList)">getfamilydata</a>(<span class="string">'Directory'</span>,<span class="string">'DataRoot'</span>);
670021     <span class="keyword">end</span>
680022     [DataFileName, DataDirectoryName, FilterIndex] = uigetfile(<span class="string">'*.mat'</span>,<span class="string">'Select the Machine Configuration File to Copy'</span>, DataDirectoryName);
690023     <span class="keyword">if</span> FilterIndex == 0
700024         fprintf(<span class="string">'   File not copied (copymachineconfigfile)\n'</span>);
710025         <span class="keyword">return</span>;
720026     <span class="keyword">end</span>
730027 <span class="keyword">else</span>
740028     [DataDirectoryName, DataFileName, ExtName] = fileparts(DataFileName);
750029     DataDirectoryName = [DataDirectoryName, filesep];
760030     DataFileName = [DataFileName, ExtName];
770031 <span class="keyword">end</span>
780032
790033
800034 <span class="comment">% Where is it going</span>
810035 <span class="keyword">if</span> strcmpi(ToFileName, <span class="string">'Golden'</span>)
820036     <span class="comment">% Get the production file name (full path)</span>
830037     <span class="comment">% AD.OpsData.LatticeFile could have the full path else default to AD.Directory.OpsData</span>
840038     FileName = <a href="getfamilydata.html" class="code" title="function [Data, ErrorFlag] = getfamilydata(Family, Field1, Field2, DeviceList)">getfamilydata</a>(<span class="string">'OpsData'</span>,<span class="string">'LatticeFile'</span>);
850039     [DirectoryName, FileName, Ext, VerNumber] = fileparts(FileName);
860040     <span class="keyword">if</span> isempty(DirectoryName)
870041         DirectoryName = <a href="getfamilydata.html" class="code" title="function [Data, ErrorFlag] = getfamilydata(Family, Field1, Field2, DeviceList)">getfamilydata</a>(<span class="string">'Directory'</span>, <span class="string">'OpsData'</span>);
880042     <span class="keyword">end</span>
890043     FileNameGolden = [FileName, <span class="string">'.mat'</span>];
900044     FileName = fullfile(DirectoryName,[FileName, <span class="string">'.mat'</span>]);
910045   
920046     <span class="keyword">if</span> exist(FileName, <span class="string">'file'</span>)
930047         AnswerString = questdlg(strvcat(strvcat(strvcat(<span class="string">'Are you sure you want to overwrite the default configuration file?'</span>,sprintf(<span class="string">'%s'</span>,FileName)),<span class="string">'With file:'</span>),[DataDirectoryName, DataFileName]),<span class="string">'Default Lattice'</span>,<span class="string">'Yes'</span>,<span class="string">'No'</span>,<span class="string">'No'</span>);
940048     <span class="keyword">else</span>
950049         AnswerString = <span class="string">'Yes'</span>;
960050     <span class="keyword">end</span>
970051
980052     <span class="keyword">if</span> strcmp(AnswerString,<span class="string">'Yes'</span>)
990053         DirStart = pwd;
1000054         [DirectoryName, ErrorFlag] = gotodirectory(DirectoryName);
1010055         cd(DirStart);
1020056     <span class="keyword">else</span>
1030057         fprintf(<span class="string">'   File not copied (copymachineconfigfile)\n'</span>);
1040058         <span class="keyword">return</span>;
1050059     <span class="keyword">end</span>
1060060 <span class="keyword">else</span>
1070061     FileName = ToFileName;
1080062 <span class="keyword">end</span>
1090063
1100064
1110065 <span class="comment">% Backup first</span>
1120066 <span class="keyword">if</span> exist(FileName,<span class="string">'file'</span>)
1130067     DirStart = pwd;
1140068     <span class="comment">%BackupDirectoryName = [getfamilydata('Directory','DataRoot') 'Backup' filesep];</span>
1150069     <span class="comment">%BackupDataFileName  = prependtimestamp(FileNameGolden);</span>
1160070     BackupDirectoryName = [<a href="getfamilydata.html" class="code" title="function [Data, ErrorFlag] = getfamilydata(Family, Field1, Field2, DeviceList)">getfamilydata</a>(<span class="string">'Directory'</span>,<span class="string">'ConfigData'</span>), <span class="string">'GoldenBackup'</span>, filesep];
1170071
1180072     <span class="keyword">try</span>
1190073         load(FileName,<span class="string">'ConfigSetpoint'</span>);
1200074         Fields = fieldnames(ConfigSetpoint);
1210075         BackupDataFileName = prependtimestamp(FileNameGolden, ConfigSetpoint.(Fields{1}).Setpoint.TimeStamp);
1220076         clear ConfigSetpoint
1230077     <span class="keyword">catch</span>
1240078         fprintf(<span class="string">'   Unknown time stamp on the old production lattice file, so backup file has the present time in the filename.\n'</span>);
1250079         BackupDataFileName = prependtimestamp(FileNameGolden);
1260080     <span class="keyword">end</span>
1270081
1280082     [FinalDir, ErrorFlag] = gotodirectory(BackupDirectoryName);
1290083     <span class="keyword">if</span> ~ErrorFlag
1300084         copyfile(FileName, [BackupDirectoryName, BackupDataFileName], <span class="string">'f'</span>);
1310085         fprintf(<span class="string">'   File %s backup to %s\n'</span>, FileName, [BackupDirectoryName, BackupDataFileName]);
1320086     <span class="keyword">else</span>
1330087         fprintf(<span class="string">'   Problem finding/creating backup directory, hence backup made to the present directory.\n'</span>);
1340088         copyfile(FileName, BackupDataFileName, <span class="string">'f'</span>);
1350089     <span class="keyword">end</span>
1360090     cd(DirStart);
1370091     
1380092     <span class="comment">% BackupDirectoryName = [getfamilydata('Directory','DataRoot') 'Backup' filesep];</span>
1390093     <span class="comment">% BackupDataFileName  = prependtimestamp(FileName);</span>
1400094     <span class="comment">% DirStart = pwd;</span>
1410095     <span class="comment">% [FinalDir, ErrorFlag] = gotodirectory(BackupDirectoryName);</span>
1420096     <span class="comment">% if ~ErrorFlag</span>
1430097     <span class="comment">%     copyfile([DirectoryName, FileName], [BackupDirectoryName, BackupDataFileName], 'f');</span>
1440098     <span class="comment">%     fprintf('   File %s backup to %s\n', [DirectoryName, FileName], [BackupDirectoryName, BackupDataFileName]);</span>
1450099     <span class="comment">% else</span>
1460100     <span class="comment">%     fprintf('   Problem finding/creating backup directory, hence backup made to ops directory.\n');</span>
1470101     <span class="comment">%     copyfile([DirectoryName, FileName], [DirectoryName, BackupDataFileName], 'f');</span>
1480102     <span class="comment">% end</span>
1490103 <span class="keyword">end</span>
1500104
1510105 <span class="comment">% Do the copy</span>
1520106 copyfile([DataDirectoryName, DataFileName], FileName, <span class="string">'f'</span>);
1530107 fprintf(<span class="string">'   File %s copied to %s\n'</span>, [DataDirectoryName, DataFileName], FileName);</pre></div>
154<hr><address>Generated on Mon 21-May-2007 15:29:18 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
155</body>
156</html>
Note: See TracBrowser for help on using the repository browser.