source: MML/trunk/machine/SOLEIL/common/LT1cycling.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: 11.3 KB
Line 
1function varargout = LT1cycling(varargin)
2% LT1CYCLING M-file for LT1cycling.fig
3%      LT1CYCLING, by itself, creates a new LT1CYCLING or raises the existing
4%      singleton*.
5%
6%      H = LT1CYCLING returns the handle to a new LT1CYCLING or the handle to
7%      the existing singleton*.
8%
9%      LT1CYCLING('CALLBACK',hObject,eventData,handles,...) calls the local
10%      function named CALLBACK in LT1CYCLING.M with the given input arguments.
11%
12%      LT1CYCLING('Property','Value',...) creates a new LT1CYCLING or raises the
13%      existing singleton*.  Starting from the left, property value pairs are
14%      applied to the GUI before LT1cycling_OpeningFunction gets called.  An
15%      unrecognized property name or invalid value makes property application
16%      stop.  All inputs are passed to LT1cycling_OpeningFcn via varargin.
17%
18%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
19%      instance to run (singleton)".
20%
21% See also: GUIDE, GUIDATA, GUIHANDLES
22
23% Edit the above text to modify the response to help LT1cycling
24
25% Last Modified by GUIDE v2.5 04-Apr-2005 17:56:04
26
27% Begin initialization code - DO NOT EDIT
28gui_Singleton = 1;
29gui_State = struct('gui_Name',       mfilename, ...
30                   'gui_Singleton',  gui_Singleton, ...
31                   'gui_OpeningFcn', @LT1cycling_OpeningFcn, ...
32                   'gui_OutputFcn',  @LT1cycling_OutputFcn, ...
33                   'gui_LayoutFcn',  [] , ...
34                   'gui_Callback',   []);
35if nargin && ischar(varargin{1})
36    gui_State.gui_Callback = str2func(varargin{1});
37end
38
39if nargout
40    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
41else
42    gui_mainfcn(gui_State, varargin{:});
43end
44% End initialization code - DO NOT EDIT
45
46
47% --- Executes just before LT1cycling is made visible.
48function LT1cycling_OpeningFcn(hObject, eventdata, handles, varargin)
49% This function has no output args, see OutputFcn.
50% hObject    handle to figure
51% eventdata  reserved - to be defined in a future version of MATLAB
52% handles    structure with handles and user data (see GUIDATA)
53% varargin   command line arguments to LT1cycling (see VARARGIN)
54
55% Choose default command line output for LT1cycling
56handles.output = hObject;
57
58% Update handles structure
59guidata(hObject, handles);
60
61% UIWAIT makes LT1cycling wait for user response (see UIRESUME)
62% uiwait(handles.figure1);
63list = {'Present', 'Golden', 'UserSelect'};
64set(handles.popupmenu_file,'String',list);
65set(handles.popupmenu_file,'Value',2);
66
67list = {'Simple', 'Full', 'startup'};
68set(handles.popupmenu_type,'String',list);
69set(handles.popupmenu_type,'Value',2);
70
71list = {'Load cycling curve','Start', 'Stop', 'Pause', 'Resume', 'Init'};
72set(handles.popupmenu_command,'String',list);
73
74Machine = getfamilydata('SubMachine');
75
76if isempty(Machine)
77    error('Exiting .. first load a machine!');
78    return;
79else
80    switch Machine
81        case {'LT1','LT2'}           
82            set(handles.figure1,'Name', [Machine 'cycling']);
83        otherwise
84            error('Exiting .. first load LT1 or LT2!');
85            return;
86    end
87end
88
89% --- Outputs from this function are returned to the command line.
90function varargout = LT1cycling_OutputFcn(hObject, eventdata, handles)
91% varargout  cell array for returning output args (see VARARGOUT);
92% hObject    handle to figure
93% eventdata  reserved - to be defined in a future version of MATLAB
94% handles    structure with handles and user data (see GUIDATA)
95
96% Get default command line output from handles structure
97varargout{1} = handles.output;
98
99
100% --- Executes on button press in checkbox_none.
101function checkbox_none_Callback(hObject, eventdata, handles)
102% hObject    handle to checkbox_none (see GCBO)
103% eventdata  reserved - to be defined in a future version of MATLAB
104% handles    structure with handles and user data (see GUIDATA)
105
106% Hint: get(hObject,'Value') returns toggle state of checkbox_none
107val = get(hObject,'Value');
108
109if val
110    set(handles.checkbox_BEND,'Value',0);
111    set(handles.checkbox_QP,'Value',0);
112    set(handles.checkbox_CH,'Value',0);
113    set(handles.checkbox_CV,'Value',0);
114    set(handles.checkbox_all,'Value',0);
115end
116
117% --- Executes on button press in checkbox_all.
118function checkbox_all_Callback(hObject, eventdata, handles)
119% hObject    handle to checkbox_all (see GCBO)
120% eventdata  reserved - to be defined in a future version of MATLAB
121% handles    structure with handles and user data (see GUIDATA)
122
123% Hint: get(hObject,'Value') returns toggle state of checkbox_all
124val = get(hObject,'Value');
125
126if val
127    set(handles.checkbox_BEND,'Value',1);
128    set(handles.checkbox_QP,'Value',1);
129    set(handles.checkbox_CH,'Value',1);
130    set(handles.checkbox_CV,'Value',1);
131    set(handles.checkbox_none,'Value',0);
132end
133
134
135% --- Executes on button press in checkbox_BEND.
136function checkbox_BEND_Callback(hObject, eventdata, handles)
137% hObject    handle to checkbox_BEND (see GCBO)
138% eventdata  reserved - to be defined in a future version of MATLAB
139% handles    structure with handles and user data (see GUIDATA)
140
141% Hint: get(hObject,'Value') returns toggle state of checkbox_BEND
142
143set(handles.checkbox_all,'Value',0);
144set(handles.checkbox_none,'Value',0);
145
146% --- Executes on button press in checkbox_QP.
147function checkbox_QP_Callback(hObject, eventdata, handles)
148% hObject    handle to checkbox_QP (see GCBO)
149% eventdata  reserved - to be defined in a future version of MATLAB
150% handles    structure with handles and user data (see GUIDATA)
151
152% Hint: get(hObject,'Value') returns toggle state of checkbox_QP
153
154set(handles.checkbox_all,'Value',0);
155set(handles.checkbox_none,'Value',0);
156
157% --- Executes on button press in checkbox_CH.
158function checkbox_CH_Callback(hObject, eventdata, handles)
159% hObject    handle to checkbox_CH (see GCBO)
160% eventdata  reserved - to be defined in a future version of MATLAB
161% handles    structure with handles and user data (see GUIDATA)
162
163% Hint: get(hObject,'Value') returns toggle state of checkbox_CH
164
165set(handles.checkbox_all,'Value',0);
166set(handles.checkbox_none,'Value',0);
167
168% --- Executes on button press in checkbox_CV.
169function checkbox_CV_Callback(hObject, eventdata, handles)
170% hObject    handle to checkbox_CV (see GCBO)
171% eventdata  reserved - to be defined in a future version of MATLAB
172% handles    structure with handles and user data (see GUIDATA)
173
174% Hint: get(hObject,'Value') returns toggle state of checkbox_CV
175
176set(handles.checkbox_all,'Value',0);
177set(handles.checkbox_none,'Value',0);
178
179% --- Executes on button press in pushbutton_apply.
180function pushbutton_apply_Callback(hObject, eventdata, handles)
181% hObject    handle to pushbutton_apply (see GCBO)
182% eventdata  reserved - to be defined in a future version of MATLAB
183% handles    structure with handles and user data (see GUIDATA)
184
185contents = get(handles.popupmenu_command,'String');
186command  = contents{get(handles.popupmenu_command,'Value')};
187
188switch command
189    case {'Start','Stop','Init','Pause','Resume', 'Load cycling curve'}
190        cyclemagnet_local(command,handles);
191    otherwise
192        error('Unknown ommand name: %s ', command);
193end
194
195function cyclemagnet_local(command,handles)
196
197%     [CycleIndex, CycleAO] = isfamily(CycleFamily);
198%
199%     rep = tango_group_command_inout2(CycleAO.GroupId,'State',1,0);
200
201Family = {'BEND','QP','CH','CV'};   
202   
203Families = {};
204for k = 1:length(Family),
205    if get(handles.(['checkbox_',Family{k}]),'Value')
206        Families = {Families{:}, Family{k}};
207    end
208end
209
210switch command
211    case {'Start'}
212        % get cycling file
213        contents = get(handles.popupmenu_file,'String');
214        file = contents{get(handles.popupmenu_file,'Value')};
215
216        % get cycling file
217        contents = get(handles.popupmenu_type,'String');
218        type = contents{get(handles.popupmenu_type,'Value')};
219
220        magnetcycle(type,file,Families,'NoDisplay','NoConfig');
221       
222    case {'Load cycling curve'}
223        % get cycling file
224        contents = get(handles.popupmenu_file,'String');
225        file = contents{get(handles.popupmenu_file,'Value')};
226
227        % get cycling file
228        contents = get(handles.popupmenu_type,'String');
229        type = contents{get(handles.popupmenu_type,'Value')};
230
231        magnetcycle(type,file,Families,'NoDisplay','Config', 'NoApply');
232       
233    case {'Stop','Init','Pause','Resume'}
234        for k =1:length(Families)
235            CycleFamily = ['Cycle' Families{k}];
236            cyclingcommand(CycleFamily,command);
237        end
238end
239
240% --- Executes on selection change in popupmenu_command.
241function popupmenu_command_Callback(hObject, eventdata, handles)
242% hObject    handle to popupmenu_command (see GCBO)
243% eventdata  reserved - to be defined in a future version of MATLAB
244% handles    structure with handles and user data (see GUIDATA)
245
246% Hints: contents = get(hObject,'String') returns popupmenu_command contents as cell array
247%        contents{get(hObject,'Value')} returns selected item from popupmenu_command
248
249% --- Executes during object creation, after setting all properties.
250function popupmenu_command_CreateFcn(hObject, eventdata, handles)
251% hObject    handle to popupmenu_command (see GCBO)
252% eventdata  reserved - to be defined in a future version of MATLAB
253% handles    empty - handles not created until after all CreateFcns called
254
255% Hint: popupmenu controls usually have a white background on Windows.
256%       See ISPC and COMPUTER.
257if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
258    set(hObject,'BackgroundColor','white');
259end
260
261
262% --- Executes on selection change in popupmenu_type.
263function popupmenu_type_Callback(hObject, eventdata, handles)
264% hObject    handle to popupmenu_type (see GCBO)
265% eventdata  reserved - to be defined in a future version of MATLAB
266% handles    structure with handles and user data (see GUIDATA)
267
268% Hints: contents = get(hObject,'String') returns popupmenu_type contents as cell array
269%        contents{get(hObject,'Value')} returns selected item from popupmenu_type
270
271
272% --- Executes during object creation, after setting all properties.
273function popupmenu_type_CreateFcn(hObject, eventdata, handles)
274% hObject    handle to popupmenu_type (see GCBO)
275% eventdata  reserved - to be defined in a future version of MATLAB
276% handles    empty - handles not created until after all CreateFcns called
277
278% Hint: popupmenu controls usually have a white background on Windows.
279%       See ISPC and COMPUTER.
280if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
281    set(hObject,'BackgroundColor','white');
282end
283
284
285% --- Executes on selection change in popupmenu_file.
286function popupmenu_file_Callback(hObject, eventdata, handles)
287% hObject    handle to popupmenu_file (see GCBO)
288% eventdata  reserved - to be defined in a future version of MATLAB
289% handles    structure with handles and user data (see GUIDATA)
290
291% Hints: contents = get(hObject,'String') returns popupmenu_file contents as cell array
292%        contents{get(hObject,'Value')} returns selected item from popupmenu_file
293
294
295% --- Executes during object creation, after setting all properties.
296function popupmenu_file_CreateFcn(hObject, eventdata, handles)
297% hObject    handle to popupmenu_file (see GCBO)
298% eventdata  reserved - to be defined in a future version of MATLAB
299% handles    empty - handles not created until after all CreateFcns called
300
301% Hint: popupmenu controls usually have a white background on Windows.
302%       See ISPC and COMPUTER.
303if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
304    set(hObject,'BackgroundColor','white');
305end
306
307
Note: See TracBrowser for help on using the repository browser.