source: MML/trunk/mml/switch2hardware.m @ 4

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

Initial import--MML version from SOLEIL@2013

File size: 1.5 KB
Line 
1function ErrorFlag = switch2hardware(Family)
2%SWITCH2HARDWARE - Switch family to hardware units
3%
4%   ErrorFlag = switch2hardware(Family)
5%
6%   Family - Family name string
7%            Matrix of family name strings
8%            Cell array of family name strings
9%            {Default: All families}
10%
11%   ErrorFlag - Number of errors that occurred
12%
13%   Written by Greg Portmann
14
15
16ErrorFlag = 0;
17
18if nargin == 0
19    Family = getfamilylist;
20end
21if isempty(Family)
22    Family = getfamilylist;
23end
24
25
26if ischar(Family)
27    for i = 1:size(Family,1)
28        FamilyNameCell(i) = {deblank(Family(i,:))};
29    end
30elseif iscell(Family)
31    FamilyNameCell = Family;
32else
33    error('Familyname input must be empty, a string matrix, or a cell array of strings');
34end
35
36
37for i = 1:length(FamilyNameCell)
38    AOFamily = getfamilydata(FamilyNameCell{i});
39    try
40        AllFields = fieldnames(AOFamily);
41        for j = 1:length(AllFields)
42            if isfield(AOFamily.(AllFields{j}),'Units')
43                setfamilydata('Hardware', AOFamily.FamilyName, AllFields{j}, 'Units');
44            end
45        end
46    catch
47        ErrorFlag = ErrorFlag + 1;
48        fprintf('   Error switching %s family to hardware units, hence ignored (switch2hardware)\n', FamilyNameCell{i});       
49    end
50end
51
52
53if ~ErrorFlag
54    if length(FamilyNameCell) == 1
55        fprintf('   Switched %s family to hardware units (%s)\n', FamilyNameCell{1}, datestr(clock,0));
56    else
57        fprintf('   Switched %d families to hardware units (%s)\n', length(FamilyNameCell)-ErrorFlag, datestr(clock,0));
58    end
59end
60
Note: See TracBrowser for help on using the repository browser.