source: MML/trunk/mml/setpathals.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: 2.7 KB
Line 
1function [MachineName, SubMachineName, LinkFlag, MMLROOT] = setpathals(varargin)
2%SETPATHALS - Initializes the Matlab Middle Layer (MML) for ALS
3%  [MachineName, SubMachineName, OnlineLinkMethod, MMLROOT] = setpathals(SubMachineName, OnlineLinkMethod)
4%
5%  INPUTS
6%  1. SubMachineName - 'StorageRing', 'Booster', 'BTS', 'LTB'
7%  2. OnlineLinkMethod - 'MCA', 'LabCA', 'SCA'
8%
9%  Written by Greg Portmann
10
11
12Machine = 'ALS';
13
14
15%%%%%%%%%%%%%%%%%
16% Input Parsing %
17%%%%%%%%%%%%%%%%%
18
19% First strip-out the link method
20LinkFlag = '';
21for i = length(varargin):-1:1
22    if ~ischar(varargin{i})
23        % Ignor input
24    elseif strcmpi(varargin{i},'LabCA')
25        LinkFlag = 'LabCA';
26        varargin(i) = [];
27    elseif strcmpi(varargin{i},'MCA')
28        LinkFlag = 'MCA';
29        varargin(i) = [];
30    elseif strcmpi(varargin{i},'SCA')
31        LinkFlag = 'SCA';
32        varargin(i) = [];
33    elseif strcmpi(varargin{i},'SLC')
34        LinkFlag = 'SLC';
35        varargin(i) = [];
36    elseif strcmpi(varargin{i},'Tango')
37        LinkFlag = 'Tango';
38        varargin(i) = [];
39    elseif strcmpi(varargin{i},'UCODE')
40        LinkFlag = 'UCODE';
41        varargin(i) = [];
42    end
43end
44
45if isempty(LinkFlag)
46    if strncmp(computer,'PC',2)
47        LinkFlag = 'MCA';
48    elseif isunix
49        if findstr(computer, 'GLNX')
50            LinkFlag = 'LABCA';
51        else
52            LinkFlag = 'SCA';
53            %LinkFlag = 'LABCA';
54        end
55    else
56        LinkFlag = 'LABCA';
57    end
58end
59
60
61% Get the submachine name
62if length(varargin) >= 1
63    SubMachineName = varargin{1};
64else
65    SubMachineName = 'StorageRing';
66end
67
68if isempty(SubMachineName)
69    SubMachineNameCell = {'Storage Ring', 'Booster', 'LTB', 'BTS'};
70    [i, ok] = listdlg('PromptString', 'Select an accelerator:',...
71        'SelectionMode', 'Single',...
72        'Name', 'ALS', ...
73        'ListString', SubMachineNameCell);
74    if ok
75        SubMachineName = SubMachineNameCell{i};
76    else
77        fprintf('Initialization cancelled (no path change).\n');
78        return;
79    end
80end
81
82if any(strcmpi(SubMachineName, {'Storage Ring','Ring'}))
83    SubMachineName = 'StorageRing';
84end
85
86
87if strcmpi(SubMachineName,'StorageRing')
88    [MachineName, SubMachineName, LinkFlag, MMLROOT] = setpathmml(Machine, 'StorageRing', 'StorageRing', LinkFlag);
89elseif strcmpi(SubMachineName,'Booster')
90    [MachineName, SubMachineName, LinkFlag, MMLROOT] = setpathmml(Machine, 'Booster',     'Booster',     LinkFlag);
91elseif strcmpi(SubMachineName,'LTB')
92    [MachineName, SubMachineName, LinkFlag, MMLROOT] = setpathmml(Machine, 'LTB',         'Transport',   LinkFlag);
93elseif strcmpi(SubMachineName,'BTS')
94    [MachineName, SubMachineName, LinkFlag, MMLROOT] = setpathmml(Machine, 'BTS',         'Transport',   LinkFlag);
95end
96
Note: See TracBrowser for help on using the repository browser.