source: MML/trunk/mml/setpathasp.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] = setpathasp(varargin)
2%SETPATHASP - Initializes the Matlab Middle Layer (MML) for ASP
3%  [MachineName, SubMachineName, OnlineLinkMethod, MMLROOT] = setpathasp(SubMachineName, OnlineLinkMethod)
4%
5%  INPUTS
6%  1. SubMachineName - 'StorageRing', 'Booster', 'BTS', 'LTB', 'Injector'
7%  2. OnlineLinkMethod - 'MCA', 'LabCA', 'SCA'
8%
9%  Written by Greg Portmann
10
11
12Machine = 'ASP';
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        LinkFlag = 'LABCA';
50    else
51        LinkFlag = 'LABCA';
52    end
53end
54
55
56% Get the submachine name
57if length(varargin) >= 1
58    SubMachineName = varargin{1};
59else
60    SubMachineName = '';
61end
62
63if isempty(SubMachineName)
64    SubMachineNameCell = {'Storage Ring', 'Booster', 'LTB', 'BTS', 'Injector'};
65    [i, ok] = listdlg('PromptString', 'Select an accelerator:',...
66        'SelectionMode', 'Single',...
67        'Name', 'ASP', ...
68        'ListString', SubMachineNameCell);
69    if ok
70        SubMachineName = SubMachineNameCell{i};
71    else
72        fprintf('Initialization cancelled (no path change).\n');
73        return;
74    end
75end
76
77if any(strcmpi(SubMachineName, {'Storage Ring','Ring'}))
78    SubMachineName = 'StorageRing';
79end
80
81
82if strcmpi(SubMachineName,'StorageRing')
83    [MachineName, SubMachineName, LinkFlag, MMLROOT] = setpathmml(Machine, 'StorageRing', 'StorageRing', LinkFlag);
84elseif strcmpi(SubMachineName,'Booster')
85    [MachineName, SubMachineName, LinkFlag, MMLROOT] = setpathmml(Machine, 'Booster',     'Booster',     LinkFlag);
86elseif strcmpi(SubMachineName,'LTB')
87    [MachineName, SubMachineName, LinkFlag, MMLROOT] = setpathmml(Machine, 'LTB',         'Transport',   LinkFlag);
88elseif strcmpi(SubMachineName,'BTS')
89    [MachineName, SubMachineName, LinkFlag, MMLROOT] = setpathmml(Machine, 'BTS',         'Transport',   LinkFlag);
90elseif strcmpi(SubMachineName,'Injector')
91    [MachineName, SubMachineName, LinkFlag, MMLROOT] = setpathmml(Machine, 'Injector',    'Booster',     LinkFlag);
92end
Note: See TracBrowser for help on using the repository browser.