1 | function ErrorFlag = switch2manual(Family) |
---|
2 | %SWITCH2MANUAL - Switch family to manual mode. |
---|
3 | % |
---|
4 | % ErrorFlag = switch2manual(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 | % See also switch2sim, switch2online |
---|
14 | |
---|
15 | % |
---|
16 | % Written by Gregory J. Portmann |
---|
17 | |
---|
18 | |
---|
19 | ErrorFlag = 0; |
---|
20 | |
---|
21 | if nargin == 0 |
---|
22 | Family = getfamilylist; |
---|
23 | end |
---|
24 | if isempty(Family) |
---|
25 | Family = getfamilylist; |
---|
26 | end |
---|
27 | |
---|
28 | |
---|
29 | if ischar(Family) |
---|
30 | for i = 1:size(Family,1) |
---|
31 | FamilyNameCell(i) = {deblank(Family(i,:))}; |
---|
32 | end |
---|
33 | elseif iscell(Family) |
---|
34 | FamilyNameCell = Family; |
---|
35 | else |
---|
36 | error('Familyname input must be empty, a string matrix, or a cell array of strings'); |
---|
37 | end |
---|
38 | |
---|
39 | |
---|
40 | for i = 1:length(FamilyNameCell) |
---|
41 | AOFamily = getfamilydata(FamilyNameCell{i}); |
---|
42 | try |
---|
43 | AllFields = fieldnames(AOFamily); |
---|
44 | for j = 1:length(AllFields) |
---|
45 | if isfield(AOFamily.(AllFields{j}),'Mode') |
---|
46 | setfamilydata('Manual', AOFamily.FamilyName, AllFields{j}, 'Mode'); |
---|
47 | end |
---|
48 | end |
---|
49 | catch |
---|
50 | ErrorFlag = ErrorFlag + 1; |
---|
51 | fprintf(' Error switching %s family to manual mode, hence ignored (switch2manual)\n', FamilyNameCell{i}); |
---|
52 | end |
---|
53 | end |
---|
54 | |
---|
55 | |
---|
56 | if ~ErrorFlag |
---|
57 | if length(FamilyNameCell) == 1 |
---|
58 | fprintf(' Switched %s family to manual mode (%s)\n', FamilyNameCell{1}, datestr(clock,0)); |
---|
59 | else |
---|
60 | fprintf(' Switched %d families to manual mode (%s)\n', length(FamilyNameCell)-ErrorFlag, datestr(clock,0)); |
---|
61 | end |
---|
62 | end |
---|
63 | |
---|
64 | |
---|