source: MML/trunk/machine/SOLEIL/StorageRing/energytunette/energytunette.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: 104.4 KB
Line 
1
2function varargout = energytunette(varargin)
3% ENERGYTUNETTE M-file for energytunette.fig
4%      ENERGYTUNETTE, by itself, creates a new ENERGYTUNETTE or raises the existing
5%      singleton*.
6%
7%      H = ENERGYTUNETTE returns the handle to a new ENERGYTUNETTE or the handle to
8%      the existing singleton*.
9%
10%      ENERGYTUNETTE('CALLBACK',hObject,eventData,handles,...) calls the local
11%      function named CALLBACK in ENERGYTUNETTE.M with the given input arguments.
12%
13%      ENERGYTUNETTE('Property','Value',...) creates a new ENERGYTUNETTE or raises the
14%      existing singleton*.  Starting from the left, property value pairs are
15%      applied to the GUI before energytunette_OpeningFunction gets called.  An
16%      unrecognized property name or invalid value makes property application
17%      stop.  All inputs are passed to energytunette_OpeningFcn via varargin.
18%
19%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
20%      instance to run (singleton)".
21%
22% See also: GUIDE, GUIDATA, GUIHANDLES
23
24% Edit the above text to modify the response to help energytunette
25
26% Last Modified by GUIDE v2.5 27-Apr-2006 17:56:10
27
28% Begin initialization code - DO NOT EDIT
29gui_Singleton = 1;
30gui_State = struct('gui_Name',       mfilename, ...
31                   'gui_Singleton',  gui_Singleton, ...
32                   'gui_OpeningFcn', @energytunette_OpeningFcn, ...
33                   'gui_OutputFcn',  @energytunette_OutputFcn, ...
34                   'gui_LayoutFcn',  [] , ...
35                   'gui_Callback',   []);
36if nargin && ischar(varargin{1})
37    gui_State.gui_Callback = str2func(varargin{1});
38end
39
40if nargout
41    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
42else
43    gui_mainfcn(gui_State, varargin{:});
44end
45% End initialization code - DO NOT EDIT
46
47% --- Executes just before energytunette is made visible.
48function energytunette_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 energytunette (see VARARGIN)
54
55% Choose default command line output for energytunette
56handles.output = hObject;
57
58%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59% etalonnage correcteurs LT2 (hors soleilinit)
60%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61etalonnage_V_LT2 = (110.6e-4/10)/getbrho('Model');
62setappdata(handles.figure1,'etalonnage_V_LT2',etalonnage_V_LT2);
63
64% position du septum passif
65handles.pos_septum = -15;
66
67% efficite des kickers exprimï¿œe en mrad / mm de bump
68handles.eff_K = 0.3331;
69
70% button group for kickers
71h = uibuttongroup('visible','off','Position',[0.05 0.84 .41 .12],...
72    'Title','bump mode','TitlePosition','centertop',...
73    'BackgroundColor',[0.696 1.0 0.924]);
74u1 = uicontrol('Style','Radio','String','bump symetrique','Tag','radiobutton1',...
75    'pos',[10 55 140 25],'parent',h,'HandleVisibility','off',...
76    'BackgroundColor',[0.696 1.0 0.924]);
77% u2 = uicontrol('Style','Radio','String','bum dissymetrique couple 2 a 2','Tag','radiobutton2',...
78%     'pos',[10. 30. 220 25],'parent',h,'HandleVisibility','off',...
79%     'BackgroundColor',[0.696 1.0 0.924]);
80u2 = uicontrol('Style','Radio','String','bum fermé','Tag','radiobutton2',...
81    'pos',[10. 30. 220 25],'parent',h,'HandleVisibility','off',...
82    'BackgroundColor',[0.696 1.0 0.924]);
83u3 = uicontrol('Style','Radio','String','bump quelconque','Tag','radiobutton3',...
84    'pos',[10. 5.00 140 25],'parent',h,'HandleVisibility','off',...
85    'BackgroundColor',[0.696 1.0 0.924]);
86
87handles.sym = u1;
88handles.dissym = u2;
89handles.quelconque = u3;
90
91set(h,'SelectionChangeFcn',...
92    {@uibuttongroup_SelectionChangeFcn,handles});
93
94set(h,'SelectedObject',u1);  % No selection
95set(h,'Visible','on');
96
97set([handles.K1_edit1,handles.K1_slider1,...
98            handles.K2_edit2,handles.K2_slider2,...
99            handles.K3_edit3,handles.K3_slider3,...
100            handles.K4_edit4,handles.K4_slider4,...
101            handles.K1_U_edit,handles.K1_U_slider,...
102            handles.K2_U_edit,handles.K2_U_slider,...
103            handles.K3_U_edit,handles.K3_U_slider,...
104            handles.K4_U_edit,handles.K4_U_slider,...
105            ],'Enable','off')
106
107%%%%%%%
108% BPM       
109%%%%%%%
110
111BPMxFamily = 'BPMx';
112BPMzFamily = 'BPMz';
113
114% limitation du nombre de BPM concernés par la mesure en énergie
115nbmaxBPM = 10;
116
117% on tiend compte d'éventuels BPM au status = 0
118% TOUT NOUVEAU BPM MIS AU STATUS 0 DEMANDE UNE REINITIALISATION DE
119% L'INTERFACE
120
121BPMxList = family2dev(BPMxFamily, 1 ); % liste BPM actifs
122BPMxListtotal = family2dev(BPMxFamily, 0 ); % liste totale
123% la lsite totale est utilisée pour pouvoir avoir ne liste de numéro fixe
124% de 1 à 10
125BPMxList = intersect(BPMxList(1:nbmaxBPM,:),BPMxListtotal(1:nbmaxBPM,:),'rows');
126
127BPMzList = family2dev(BPMzFamily, 1 );
128BPMzListtotal = family2dev(BPMzFamily, 0 );
129BPMzList = intersect(BPMzList(1:nbmaxBPM,:),BPMzListtotal(1:nbmaxBPM,:),'rows');
130
131% les éventuels BPMs au status = 0 sont inactivés et checkbox value = 0
132val_status = 1 - getfamilydata('BPMx','Status',BPMxListtotal(1:nbmaxBPM,:));
133num_BPM_actif = [];
134for k = 1:nbmaxBPM
135    name = strcat('BPM',num2str(k),'_checkbox');
136    if val_status(k)   
137        set(handles.(name),'Enable','off');
138        set(handles.(name),'Value',0);
139        val = 0;
140    else
141        set(handles.(name),'Value',1);
142        val = 1;
143    end
144    num_BPM_actif =[num_BPM_actif  val];
145end
146setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
147setappdata(handles.figure1,'BPMxList',BPMxList);
148
149
150% initialisation des BPM estimï¿œs actifs pour la mesrue d'ï¿œnergie
151% fonction num_BPM_actif = 1 lorsque le BPM est selectionnᅵ, 0 sinon
152% on active par dï¿œfaut les 5 premiers
153% num_BPM_actif = [1 1 1 1 1 0 0 0 0 0 ];
154% setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
155%
156% set(handles.BPM1_checkbox,'Value',1);
157% set(handles.BPM2_checkbox,'Value',1);
158% set(handles.BPM3_checkbox,'Value',1);
159% set(handles.BPM4_checkbox,'Value',1);
160% set(handles.BPM5_checkbox,'Value',1);
161% set(handles.BPM6_checkbox,'Value',0);
162% set(handles.BPM7_checkbox,'Value',0);
163% set(handles.BPM8_checkbox,'Value',0);
164% set(handles.BPM9_checkbox,'Value',0);
165% set(handles.BPM10_checkbox,'Value',0);
166
167%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
168%  matrice transport :
169%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
170
171enregistrement = 0;
172if enregistrement
173   
174    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175    % enregistrement de la matrice transport
176    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
177   
178    global THERING
179
180    % mise a zero des courants quadrupoles
181    %     setsp({'Q1','Q2','Q3',...
182    %         'Q4','Q5','Q6','Q7','Q8','Q9','Q10'},0,'Model');
183
184    tmp = family2atindex(findmemberof('QUAD'));
185    for k1= 1: length(tmp)
186        for k2=1:length(tmp{k1})
187            ATIndex= tmp{k1}(k2);
188            THERING{ATIndex}.K = 0;
189            THERING{ATIndex}.PolynomB(2) = 0;
190        end
191    end
192
193    % index des BPM
194    index_BPM = family2atindex('BPMx');
195    %index_premier_element = family2atindex('K4');
196    index_premier_element = family2atindex('PtINJ');
197
198    % calcul de chaque matrice 6x6 du point d'injection jusqu'au BPM considï¿œrï¿œ
199    %  position en metre
200    % angle en radian
201    % energie [-]
202    for jBPM = 1:nbmaxBPM
203        M66 = eye(6);
204        for i = index_premier_element:index_BPM(jBPM)
205            elem = THERING{i};
206            Melem66 = findelemm66(elem,elem.PassMethod,[0 0 0 0 0 0]');
207            M66 = Melem66 * M66;
208        end
209        R11(jBPM) = M66(1,1);
210        R12(jBPM) = M66(1,2);
211        R15(jBPM) = M66(1,5);
212        R33(jBPM) = M66(3,3);
213        R34(jBPM) = M66(3,4);
214    end
215
216    % enregistrement
217    directory = getfamilydata('Directory','BPMTransport');
218    directory_actuelle = pwd;
219   
220    cd(directory)
221    %Name = 'solamor2linb_Mtransport10BPM';
222    % nouvelle maille avec champ de fuite dans les dipoles
223    Name = 'solamor2linb_new_13mai_Mtransport10BPM';
224    save(Name,'R11','R12','R15','R33','R34','-mat');
225   
226    cd(directory_actuelle);
227   
228else
229    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230    % chargement de la matrice transport
231    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
232   
233    directory = getfamilydata('Directory','BPMTransport');
234    Name = 'solamor2linb_Mtransport10BPM';
235    filename = strcat(directory,Name);
236    S = load('-mat',filename);
237    R11 = S.R11 ; R12 = S.R12 ; R15 = S.R15 ; R33 = S.R33 ; R34 = S.R34 ;
238     
239end
240
241setappdata(handles.figure1,'R11',R11);
242setappdata(handles.figure1,'R12',R12);
243setappdata(handles.figure1,'R15',R15);
244setappdata(handles.figure1,'R33',R33);
245setappdata(handles.figure1,'R34',R34);
246
247% position des BPM acitvés
248s = getspos(BPMxFamily, BPMxList);
249Xmax = max(s);
250setappdata(handles.figure1, 'SPosX', s);
251L = getfamilydata('Circumference');
252if isempty(L)
253    setappdata(handles.figure1, 'AxisRange1X', [min(s) max(s)]);
254else
255    setappdata(handles.figure1, 'AxisRange1X', [0 Xmax]);
256end
257setappdata(handles.figure1,'nbmaxBPM',nbmaxBPM);
258
259%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
260% position des elements V et H pour les bumps
261%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
262
263% Position des correcteurs verticaux : LT2 init getspos('CV') getspos('BPM')
264posBPM_SP = 41.9159 ; posCV4 = 32.4109 ; posCV5 = 35.5859 ;
265L1_V = posCV5 - posCV4 ;                % distance centre V4 centre V5
266L2_V = posBPM_SP - posCV5 ;             % distance centre V5 point d'injection
267L1_H = (50 + 500 + 800 + 300) * 1e-3;   % distance centre SA centre SP
268L2_H = 1e-3 * 600/2;                    % distance centre SP point d'injection
269setappdata(handles.figure1,'L1_V',L1_V);
270setappdata(handles.figure1,'L2_V',L2_V);
271setappdata(handles.figure1,'L1_H',L1_H);
272setappdata(handles.figure1,'L2_H',L2_H);
273
274%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
275% affichage des valeurs septa et correcteurs LT2
276%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
277
278set(handles.septum_actif_a_slider,'Min',-2,'Max',135);
279set(handles.septum_actif_U_slider,'Min',-2,'Max',120);
280set(handles.septum_passif_a_slider,'Min',-2,'Max',29);
281set(handles.septum_passif_U_slider,'Min',-2,'Max',560);
282set(handles.CV4_a_slider,'Min',-1,'Max',1);
283set(handles.CV5_a_slider,'Min',-1,'Max',1);
284set(handles.CV4_I_slider,'Min',-8,'Max',8);
285set(handles.CV5_I_slider,'Min',-8,'Max',8);
286
287val_HWSP =  getsp('SEP_P');
288val_HWSA =  getsp('SEP_A');
289set(handles.septum_passif_U_edit,'String',num2str2(val_HWSP));
290set(handles.septum_actif_U_edit,'String',num2str2(val_HWSA));
291set(handles.septum_passif_U_slider,'Value',val_HWSP);
292set(handles.septum_actif_U_slider,'Value',val_HWSA);
293
294val_phSP = hw2physics('SEP_P','Setpoint',val_HWSP);
295val_phSA = hw2physics('SEP_A','Setpoint',val_HWSA);
296set(handles.septum_passif_a_edit,'String',num2str2(val_phSP*1e3));
297set(handles.septum_actif_a_edit,'String',num2str2(val_phSA*1e3));
298set(handles.septum_passif_a_slider,'Value',val_phSP*1e3);
299set(handles.septum_actif_a_slider,'Value',val_phSA*1e3);
300
301val_HWCV4 = readattribute('LT2/AE/CV.4/current');
302val_HWCV5 = readattribute('LT2/AE/CV.5/current');
303set(handles.CV4_I_edit,'String',num2str2(val_HWCV4));
304set(handles.CV5_I_edit,'String',num2str2(val_HWCV5));
305set(handles.CV4_I_slider,'Value',val_HWCV4);
306set(handles.CV5_I_slider,'Value',val_HWCV5);
307
308val_phCV4 = etalonnage_V_LT2 * val_HWCV4;
309val_phCV5 = etalonnage_V_LT2 * val_HWCV5;
310set(handles.CV4_a_edit,'String',num2str2(val_phCV4*1e3));
311set(handles.CV5_a_edit,'String',num2str2(val_phCV5*1e3));
312set(handles.CV4_a_slider,'Value',val_phCV4*1e3);
313set(handles.CV5_a_slider,'Value',val_phCV5*1e3);
314
315
316%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
317% affichage des valeurs kickers
318%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319
320% tous les angles sont positifs en affichage
321% ils sont inversés dans les fonctions pour K1 et K4
322set(handles.K1_slider1,'Min',-0.1);set(handles.K1_slider1,'Max',8.4);
323set(handles.K2_slider2,'Min',-0.1);set(handles.K2_slider2,'Max',8.4);
324set(handles.K3_slider3,'Min',-0.1);set(handles.K3_slider3,'Max',8.4);
325set(handles.K4_slider4,'Min',-0.1);set(handles.K4_slider4,'Max',8.4);
326
327set(handles.K1_U_slider,'Min',-1);set(handles.K1_U_slider,'Max',7700);
328set(handles.K2_U_slider,'Min',-1);set(handles.K2_U_slider,'Max',7700);
329set(handles.K3_U_slider,'Min',-1);set(handles.K3_U_slider,'Max',7700);
330set(handles.K4_U_slider,'Min',-1);set(handles.K4_U_slider,'Max',7700);
331
332val_HW14 = getsp('K_INJ1');
333val_HW23 = getsp('K_INJ2');
334val_ph14 = hw2physics('K_INJ1','Setpoint',val_HW14);
335val_ph23 = hw2physics('K_INJ2','Setpoint',val_HW23);
336set(handles.K1_U_edit,'String',num2str2(val_HW14(1)));
337set(handles.K4_U_edit,'String',num2str2(val_HW14(2)));
338set(handles.K2_U_edit,'String',num2str2(val_HW23(1)));
339set(handles.K3_U_edit,'String',num2str2(val_HW23(2)));
340
341set(handles.K1_edit1,'String',num2str2(-val_ph14(1)*1e3));
342set(handles.K4_edit4,'String',num2str2(-val_ph14(2)*1e3));
343set(handles.K2_edit2,'String',num2str2(val_ph23(1)*1e3));
344set(handles.K3_edit3,'String',num2str2(val_ph23(2)*1e3));
345
346
347%% Set closing gui function
348set(handles.figure1,'CloseRequestFcn',{@Closinggui,handles.figure1});
349
350
351% Update handles structure
352guidata(hObject, handles);
353
354% This sets up the initial plot - only do when we are invisible
355% so window can get raised using energytunette.
356if strcmp(get(hObject,'Visible'),'off')
357   
358    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
359    % AXE 1
360    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361   
362    % lire les valeurs courantes des kickers
363
364    teta1 = val_ph14(1)*1e3; % mrad
365    teta2 = val_ph23(1)*1e3;
366    teta3 = val_ph23(2)*1e3;
367    teta4 = val_ph14(2)*1e3;
368   
369    %(on se teste sur correcteurs)
370    %     teta1 = -4e-3;teta2 = 4.5e-3;teta3 = 8e-3;teta4 = -8e-3
371% %     val_HW = getsp('HCOR');
372% %     val_ph = 100 * hw2physics('HCOR','Setpoint',val_HW);
373% %     teta1 = - abs(val_ph(1));
374% %     teta2 = abs(val_ph(2));
375% %     teta3 = abs(val_ph(3));
376% %     teta4 = - abs(val_ph(4));
377   
378    % plot du bump kicker
379    name=['axes' num2str(1)];
380    axes(handles.(name));
381
382   % pas génial, il vaudrait mieux utiliser THERING en reperant les elements et
383   % deduire les espaces entre equipements
384    X1 = 0;X2 = 1;X3 = 4.002;X4 = 8.227;X5 = 11.229;X6 = 13;
385    Ymax = 20;Ymin = -25;
386    Xdata = [ X1 X2 X3 X4 X5 X6];
387    V1 = [0 0]';
388    V2 = [1 (X2-X1);0 1]*V1 + [0 teta1]';
389    V3 = [1 (X3-X2);0 1]*V2 + [0 teta2]';
390    V4 = [1 (X4-X3);0 1]*V3 + [0 teta3]';
391    V5 = [1 (X5-X4);0 1]*V4 + [0 teta4]';
392    V6 = [1 (X6-X5);0 1]*V5;
393    Ydata = [V1(1) V2(1) V3(1) V4(1) V5(1) V6(1)];
394    plot(Xdata,Ydata,'rs-','Tag','line1');
395    %hold on
396    %plot(Xdata,Ydata*cos(30*pi/180),'bs-','Tag','line2');
397    set(handles.(name), 'YGrid','On');
398    set(handles.(name), 'XGrid','On');
399    set(gca, 'YMinorTick','On');
400    %set(handles.(name), 'XMinorTick','On');
401    xlabel(handles.(name),'s (m)');
402    ylabel(handles.(name),'X (mm)');
403    xlim([0 X6]);
404    ylim([Ymin Ymax]);
405   
406    % plot du septum
407    hold on
408    Xs = 6.8695;ls = 0.6;
409    Ys = handles.pos_septum;eps = 3.5;
410    rectangle('Position',[Xs,Ys-eps,ls,eps],...
411       'FaceColor','r')
412          %'Curvature',[0.4],'FaceColor','r')
413    hold on
414   
415    % plot des kickers
416    l = 0.6;XK1 = X2-l/2;XK2 = X3-l/2;
417    XK3 = X4-l/2;XK4 = X5-l/2;
418    Y = Ymin + 1;ep = Ymax - Ymin - 2;
419    rectangle('Position',[XK1,Y,l,ep],...
420        'LineWidth',0.5,'LineStyle','--')
421    hold on
422    rectangle('Position',[XK2,Y,l,ep],...
423        'LineWidth',0.5,'LineStyle','--')
424    hold on
425    rectangle('Position',[XK3,Y,l,ep],...
426        'LineWidth',0.5,'LineStyle','--')
427    hold on
428    rectangle('Position',[XK4,Y,l,ep],...
429        'LineWidth',0.5,'LineStyle','--')
430    hold on
431   
432    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
433    % plot de la maille
434    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
435   
436    name=['axes' num2str(3)];
437    axes(handles.(name));
438    drawlattice;
439    a = getappdata(gcf, 'AxisRange1X');
440    axis([a -1 1]);
441    set(gca,'XTick',[-10 600]); % to erase tick labels
442    set(gca,'YTick',[-10 10]);
443    set(gca,'Box','off')
444   
445   
446    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
447    % AXE 2
448    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
449   
450    % entrer lecture BPM tour par tour :selectionner le premier tour
451    % test anneau
452    %BPMxList = [1     3;1     4;1     5;1     6]
453    [X Z Sum] = anabpmfirstturn( BPMxList ,'MaxSum','NoDisplay');
454    orbite_x = X';
455    orbite_z = Z';
456    setappdata(handles.figure1,'orbite_x',orbite_x);
457    setappdata(handles.figure1,'orbite_z',orbite_z);
458   
459    % plot des orbites premiers tours
460    name=['axes' num2str(2)];
461    axes(handles.(name));
462    %xdata = BPMx.Position;
463    plot(s,orbite_x,'r.-','Tag','line1');
464    hold on
465    %ydata = BPMz.Position;
466    axis([a -10 10]);
467    plot(s,orbite_z,'b.-','Tag','line2');
468    set(handles.(name), 'Nextplot','Add');
469    set(handles.(name), 'YGrid','On');
470    set(gca, 'YMinorTick','On');
471    set(handles.(name), 'XMinorTick','On');
472    xlabel(handles.(name),'position du BPM');
473    ylabel(handles.(name),'orbites (mm)');
474   
475end
476% afficher la position du septum
477set(handles.pos_septum_text48,'String',num2str(handles.pos_septum));
478
479% UIWAIT makes energytunette wait for user response (see UIRESUME)
480% uiwait(handles.figure1);
481
482
483% --- Outputs from this function are returned to the command line.
484function varargout = energytunette_OutputFcn(hObject, eventdata, handles)
485% varargout  cell array for returning output args (see VARARGOUT);
486% hObject    handle to figure
487% eventdata  reserved - to be defined in a future version of MATLAB
488% handles    structure with handles and user data (see GUIDATA)
489
490% Get default command line output from handles structure
491varargout{1} = handles.output;
492
493% --- Executes on button press in fit_pushbutton1.
494function fit_pushbutton1_Callback(hObject, eventdata, handles)
495% hObject    handle to fit_pushbutton1 (see GCBO)
496% eventdata  reserved - to be defined in a future version of MATLAB
497% handles    structure with handles and user data (see GUIDATA)
498
499num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
500% constitution de la liste des BPM actifs
501liste_BPM_actif = [];
502for i = 1: length(num_BPM_actif)
503    if num_BPM_actif(i)
504        liste_BPM_actif = [liste_BPM_actif i];
505    end
506end
507
508% constitution de la matrice de transport avec les BPM actifs
509R11 = getappdata(handles.figure1,'R11');
510R12 = getappdata(handles.figure1,'R12');
511R15 = getappdata(handles.figure1,'R15');
512R33 = getappdata(handles.figure1,'R33');
513R34 = getappdata(handles.figure1,'R34');
514
515M11 = [];M12 = [];M15 = [];M33 = [];M34 = [];
516for i = 1:length(liste_BPM_actif)
517    M11 = [M11 R11(liste_BPM_actif(i))];
518    M12 = [M12 R12(liste_BPM_actif(i))];
519    M15 = [M15 R15(liste_BPM_actif(i))];
520    M33 = [M33 R33(liste_BPM_actif(i))];
521    M34 = [M34 R34(liste_BPM_actif(i))];
522end
523Matrice_BPM_actif_x = [M11' M12' M15'];
524Matrice_BPM_actif_z = [M33' M34'];
525disp('j''suis contente - pour l''instant')
526
527
528%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
529mycallbackenergytunette(1,1,hObject, eventdata, handles)
530orbite_x = getappdata(handles.figure1,'orbite_x'); % orbite en mm
531orbite_z = getappdata(handles.figure1,'orbite_z');
532
533%%%%%%%%%%%%%%%%%%%%%%%%%% plan H
534%test
535%XBPM = [1 2 3 4 5 6 7 8 9 10]';
536%XBPM = [5.59 6.96 10.86 12.13 13.40]';
537[U,S,V] = svd(Matrice_BPM_actif_x);
538% ici toutes les valeurs propres sont utilisees- ??
539diago = diag(S);
540seuil = 0.01;
541for k = 1:length(diag(S))
542    if diago(k)<seuil
543        % on suppose que le premier est toujours superieur au seuil
544        jseuil = k-1;
545        break
546    else
547        jseuil = length(diag(S));
548    end
549end
550nombre_de_valeur_propres_x = jseuil;
551Rmod = Matrice_BPM_actif_x * V(:,1:jseuil);
552B = Rmod \ (orbite_x*0.001); % orbite en metre
553Xpos = V(:,1:jseuil)*B; % résultats en m rad [-]
554
555%%%%%%%%%%%%%%%%%%%%%%%%%% plan V
556[U,S,V] = svd(Matrice_BPM_actif_z);
557% ici toutes les valeurs propres sont utilisees- ??
558diago = diag(S);
559seuil = 0.01;
560for k = 1:length(diag(S))
561    if diago(k)<seuil
562        % on suppose que le premier est toujours superieur au seuil
563        jseuil = k-1;
564        break
565    else
566        jseuil = length(diag(S));
567    end
568end
569nombre_de_valeur_propres_z = jseuil;
570Rmod = Matrice_BPM_actif_z * V(:,1:jseuil);
571B = Rmod \ (orbite_z*0.001); % orbite en metre
572Zpos = V(:,1:jseuil)*B;% résultats en m rad [-]
573
574% afficher Xpos et Zpos en mm, mrad, pourcent
575set(handles.deltax_text50,'String',sprintf('%3.2f',Xpos(1)*1e3));
576set(handles.deltaxp_text51,'String',sprintf('%3.2f',Xpos(2)*1e3));
577set(handles.deltaE_text52,'String',sprintf('%3.2f',Xpos(3)*1e2));
578set(handles.deltaz_text,'String',sprintf('%3.2f',Zpos(1)*1e3));
579set(handles.deltazp_text,'String',sprintf('%3.2f',Zpos(2)*1e3));
580
581% --------------------------------------------------------------------
582function FileMenu_Callback(hObject, eventdata, handles)
583% hObject    handle to FileMenu (see GCBO)
584% eventdata  reserved - to be defined in a future version of MATLAB
585% handles    structure with handles and user data (see GUIDATA)
586
587
588% --------------------------------------------------------------------
589function OpenMenuItem_Callback(hObject, eventdata, handles)
590% hObject    handle to OpenMenuItem (see GCBO)
591% eventdata  reserved - to be defined in a future version of MATLAB
592% handles    structure with handles and user data (see GUIDATA)
593file = uigetfile('*.fig');
594if ~isequal(file, 0)
595    open(file);
596end
597
598% --------------------------------------------------------------------
599function PrintMenuItem_Callback(hObject, eventdata, handles)
600% hObject    handle to PrintMenuItem (see GCBO)
601% eventdata  reserved - to be defined in a future version of MATLAB
602% handles    structure with handles and user data (see GUIDATA)
603printdlg(handles.figure1)
604
605% --------------------------------------------------------------------
606function CloseMenuItem_Callback(hObject, eventdata, handles)
607% hObject    handle to CloseMenuItem (see GCBO)
608% eventdata  reserved - to be defined in a future version of MATLAB
609% handles    structure with handles and user data (see GUIDATA)
610selection = questdlg(['Close ' get(handles.figure1,'Name') '?'],...
611                     ['Close ' get(handles.figure1,'Name') '...'],...
612                     'Yes','No','Yes');
613if strcmp(selection,'No')
614    return;
615end
616
617delete(handles.figure1)
618
619
620% --- Executes on selection change in popupmenu1.
621function popupmenu1_Callback(hObject, eventdata, handles)
622% hObject    handle to popupmenu1 (see GCBO)
623% eventdata  reserved - to be defined in a future version of MATLAB
624% handles    structure with handles and user data (see GUIDATA)
625
626% Hints: contents = get(hObject,'String') returns popupmenu1 contents as cell array
627%        contents{get(hObject,'Value')} returns selected item from popupmenu1
628
629
630% --- Executes during object creation, after setting all properties.
631function popupmenu1_CreateFcn(hObject, eventdata, handles)
632% hObject    handle to popupmenu1 (see GCBO)
633% eventdata  reserved - to be defined in a future version of MATLAB
634% handles    empty - handles not created until after all CreateFcns called
635
636% Hint: popupmenu controls usually have a white background on Windows.
637%       See ISPC and COMPUTER.
638if ispc
639    set(hObject,'BackgroundColor','white');
640else
641    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
642end
643
644set(hObject, 'String', {'plot(rand(5))', 'plot(sin(1:0.01:25))', 'bar(1:.5:10)', 'plot(membrane)', 'surf(peaks)'});
645
646
647
648function K1_edit1_Callback(hObject, eventdata, handles)
649% hObject    handle to K1_edit1 (see GCBO)
650% eventdata  reserved - to be defined in a future version of MATLAB
651% handles    structure with handles and user data (see GUIDATA)
652
653% Hints: get(hObject,'String') returns contents of K1_edit1 as text
654%        str2double(get(hObject,'String')) returns contents of K1_edit1 as a double
655
656%% kicker K1
657
658val_ph = -str2double(get(hObject,'String'));
659val_HW14 = physics2hw('K_INJ1','Setpoint',val_ph*1e-3);
660% appliquer à l'élément
661setsp('K_INJ1',val_HW14(1),[1 1]);
662% rafraichir le slider
663set(handles.K1_slider1,'Value',-val_ph);
664% refraichir la tension
665set(handles.K1_U_edit,'String',num2str2(val_HW14(1)));
666% rafraichir le slider tension
667set(handles.K1_U_slider,'Value',val_HW14(1));
668
669if get(handles.dissym,'Value')
670    % valeur d'angle identique dans K2
671    val_HW23 = physics2hw('K_INJ2','Setpoint',-val_ph*1e-3);
672    % appliquer à l'élément
673    setsp('K_INJ2',val_HW23(1),[1 2]);
674    % tester les signes !!!!!
675    % rafraichir le slider angle
676    set(handles.K2_slider2,'Value',-val_ph);
677    % rafraichir l'éditeur angle
678    set(handles.K2_edit2,'String',num2str2(-val_ph));
679    % rafraichir le slider tension
680    set(handles.K2_U_slider,'Value',val_HW23(1));
681    % rafraichir l'éditeur tension
682    set(handles.K2_U_edit,'String',num2str2(val_HW23(1)));
683end
684
685%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
686mycallbackenergytunette(1,1,hObject, eventdata, handles)
687%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir le bump kicker
688mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
689
690% --- Executes during object creation, after setting all properties.
691function K1_edit1_CreateFcn(hObject, eventdata, handles)
692% hObject    handle to K1_edit1 (see GCBO)
693% eventdata  reserved - to be defined in a future version of MATLAB
694% handles    empty - handles not created until after all CreateFcns called
695
696% Hint: edit controls usually have a white background on Windows.
697%       See ISPC and COMPUTER.
698if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
699    set(hObject,'BackgroundColor','white');
700end
701
702
703% --- Executes on slider movement.
704function K1_slider1_Callback(hObject, eventdata, handles)
705% hObject    handle to K1_slider1 (see GCBO)
706% eventdata  reserved - to be defined in a future version of MATLAB
707% handles    structure with handles and user data (see GUIDATA)
708
709% Hints: get(hObject,'Value') returns position of slider
710%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
711
712%% kicker K1
713
714% afficher dans l'editeur angle
715 set(handles.K1_edit1,'String',...
716             num2str(get(handles.K1_slider1,'Value')));
717
718
719val_ph = str2double(handles.K1_edit1,'String');
720val_HW14 = physics2hw('K_INJ1','Setpoint',val_ph*1e-3);
721% appliquer à l'élément
722setsp('K_INJ1',val_HW14(1),[1 1]);
723% rafraichir l'éditeur tension
724set(handles.K1_U_edit,'String',num2str2(val_HW14(1)));
725% rafraichir le slider tension
726set(handles.K1_U_slider,'Value',val_HW14(1));
727
728if get(handles.dissym,'Value')
729    % valeur d'angle identique dans K2
730    val_HW23 = physics2hw('K_INJ2','Setpoint',-val_ph*1e-3);
731    % appliquer à l'élément
732    setsp('K_INJ2',val_HW23(1),[1 2]);
733    % tester les signes !!!!!
734    % rafraichir le slider angle
735    set(handles.K2_slider2,'Value',-val_ph);
736    % rafraichir l'éditeur angle
737    set(handles.K2_slider2,'String',num2str2(-val_ph));
738    % rafraichir le slider tension
739    set(handles.K2_U_slider,'Value',val_HW23(1));
740    % rafraichir l'éditeur tension
741    set(handles.K2_U_slider,'String',num2str2(val_HW23(1)));
742end
743
744%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
745mycallbackenergytunette(1,1,hObject, eventdata, handles)
746%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir le bump kicker
747mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
748
749% --- Executes during object creation, after setting all properties.
750function K1_slider1_CreateFcn(hObject, eventdata, handles)
751% hObject    handle to K1_slider1 (see GCBO)
752% eventdata  reserved - to be defined in a future version of MATLAB
753% handles    empty - handles not created until after all CreateFcns called
754
755% Hint: slider controls usually have a light gray background.
756if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
757    set(hObject,'BackgroundColor',[.9 .9 .9]);
758end
759
760
761
762function K2_edit2_Callback(hObject, eventdata, handles)
763% hObject    handle to K2_edit2 (see GCBO)
764% eventdata  reserved - to be defined in a future version of MATLAB
765% handles    structure with handles and user data (see GUIDATA)
766
767% Hints: get(hObject,'String') returns contents of K2_edit2 as text
768%        str2double(get(hObject,'String')) returns contents of K2_edit2 as a double
769
770%% kicker K2
771
772% afficher dans le slider angle
773 set(handles.K2_slider2,'Value',...
774             str2double(get(hObject,'String')));
775
776
777val_ph = str2double(get(handles.K2_edit2,'String'));
778val_HW23 = physics2hw('K_INJ2','Setpoint',val_ph*1e-3);
779% appliquer à l'élément
780setsp('K_INJ2',val_HW23(1),[1 2]);
781% rafraichir l'éditeur tension
782set(handles.K2_U_edit,'String',num2str2(val_HW23(1)));
783% rafraichir le slider tension
784set(handles.K2_U_slider,'Value',val_HW23(1));
785
786
787%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
788mycallbackenergytunette(1,1,hObject, eventdata, handles)
789%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir le bump kicker
790mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
791
792
793% --- Executes during object creation, after setting all properties.
794function K2_edit2_CreateFcn(hObject, eventdata, handles)
795% hObject    handle to K2_edit2 (see GCBO)
796% eventdata  reserved - to be defined in a future version of MATLAB
797% handles    empty - handles not created until after all CreateFcns called
798
799% Hint: edit controls usually have a white background on Windows.
800%       See ISPC and COMPUTER.
801if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
802    set(hObject,'BackgroundColor','white');
803end
804
805
806% --- Executes on slider movement.
807function K2_slider2_Callback(hObject, eventdata, handles)
808% hObject    handle to K2_slider2 (see GCBO)
809% eventdata  reserved - to be defined in a future version of MATLAB
810% handles    structure with handles and user data (see GUIDATA)
811
812% Hints: get(hObject,'Value') returns position of slider
813%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
814
815%% kicker K2
816
817% afficher dans l'editeur angle
818 set(handles.K2_edit2,'String',...
819             num2str(get(handles.K2_slider2,'Value')));
820
821
822val_ph = str2double(handles.K2_edit2,'String');
823val_HW23 = physics2hw('K_INJ2','Setpoint',val_ph*1e-3);
824% appliquer à l'élément
825setsp('K_INJ2',val_HW23(1),[1 2]);
826% rafraichir l'éditeur tension
827set(handles.K2_U_edit,'String',num2str2(val_HW23(1)));
828% rafraichir le slider tension
829set(handles.K2_U_slider,'Value',val_HW23(1));
830
831%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
832mycallbackenergytunette(1,1,hObject, eventdata, handles)
833%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir le bump kicker
834mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
835
836
837% --- Executes during object creation, after setting all properties.
838function K2_slider2_CreateFcn(hObject, eventdata, handles)
839% hObject    handle to K2_slider2 (see GCBO)
840% eventdata  reserved - to be defined in a future version of MATLAB
841% handles    empty - handles not created until after all CreateFcns called
842
843% Hint: slider controls usually have a light gray background.
844if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
845    set(hObject,'BackgroundColor',[.9 .9 .9]);
846end
847
848
849
850function K3_edit3_Callback(hObject, eventdata, handles)
851% hObject    handle to K3_edit3 (see GCBO)
852% eventdata  reserved - to be defined in a future version of MATLAB
853% handles    structure with handles and user data (see GUIDATA)
854
855% Hints: get(hObject,'String') returns contents of K3_edit3 as text
856%        str2double(get(hObject,'String')) returns contents of K3_edit3 as a double
857
858%% kicker K3
859
860% afficher dans le slider angle
861 set(handles.K3_slider3,'Value',...
862             str2double(get(hObject,'String')));
863
864
865val_ph = str2num(get(handles.K3_edit3,'String'));
866val_HW23 = physics2hw('K_INJ2','Setpoint',val_ph*1e-3);
867% appliquer à l'élément
868setsp('K_INJ2',val_HW23(2),[1 3]);
869% rafraichir l'éditeur tension
870set(handles.K3_U_edit,'String',num2str2(val_HW23(2)));
871% rafraichir le slider tension
872set(handles.K3_U_slider,'Value',val_HW23(2));
873
874if get(handles.dissym,'Value')
875    % valeur d'angle identique dans K4
876    val_HW14 = physics2hw('K_INJ1','Setpoint',-val_ph*1e-3);
877    % appliquer à l'élément
878    setsp('K_INJ1',val_HW14(2),[1 4]);
879    % tester les signes !!!!!
880    % rafraichir le slider angle
881    set(handles.K4_slider4,'Value',val_ph);
882    % rafraichir l'éditeur angle
883    set(handles.K4_edit4,'String',num2str2(val_ph));
884    % rafraichir le slider tension
885    set(handles.K4_U_slider,'Value',val_HW14(2));
886    % rafraichir l'éditeur tension
887    set(handles.K4_U_edit,'String',num2str2(val_HW14(2)));
888end
889
890%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
891mycallbackenergytunette(1,1,hObject, eventdata, handles)
892%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir le bump kicker
893mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
894
895% --- Executes during object creation, after setting all properties.
896function K3_edit3_CreateFcn(hObject, eventdata, handles)
897% hObject    handle to K3_edit3 (see GCBO)
898% eventdata  reserved - to be defined in a future version of MATLAB
899% handles    empty - handles not created until after all CreateFcns called
900
901% Hint: edit controls usually have a white background on Windows.
902%       See ISPC and COMPUTER.
903if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
904    set(hObject,'BackgroundColor','white');
905end
906
907
908% --- Executes on slider movement.
909function K3_slider3_Callback(hObject, eventdata, handles)
910% hObject    handle to K3_slider3 (see GCBO)
911% eventdata  reserved - to be defined in a future version of MATLAB
912% handles    structure with handles and user data (see GUIDATA)
913
914% Hints: get(hObject,'Value') returns position of slider
915%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
916
917%% kicker K3
918
919% afficher dans l'editeur angle
920 set(handles.K3_edit3,'String',...
921             num2str(get(handles.K3_slider3,'Value')));
922
923
924val_ph = str2double(handles.K3_edit3,'String');
925val_HW23 = physics2hw('K_INJ2','Setpoint',val_ph*1e-3);
926% appliquer à l'élément
927setsp('K_INJ2',val_HW23(1),[1 3]);
928% rafraichir l'éditeur tension
929set(handles.K3_U_edit,'String',num2str2(val_HW23(1)));
930% rafraichir le slider tension
931set(handles.K3_U_slider,'Value',val_HW23(1));
932
933if get(handles.dissym,'Value')
934    % valeur d'angle identique dans K4
935    val_HW14 = physics2hw('K_INJ1','Setpoint',-val_ph*1e-3);
936    % appliquer à l'élément
937    setsp('K_INJ1',val_HW14(2),[1 4]);
938    % tester les signes !!!!!
939    % rafraichir le slider angle
940    set(handles.K4_slider4,'Value',-val_ph);
941    % rafraichir l'éditeur angle
942    set(handles.K4_slider4,'String',num2str2(-val_ph));
943    % rafraichir le slider tension
944    set(handles.K4_U_slider,'Value',val_HW14(2));
945    % rafraichir l'éditeur tension
946    set(handles.K4_U_slider,'String',num2str2(val_HW14(2)));
947end
948
949%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
950mycallbackenergytunette(1,1,hObject, eventdata, handles)
951%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir le bump kicker
952mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
953
954% --- Executes during object creation, after setting all properties.
955function K3_slider3_CreateFcn(hObject, eventdata, handles)
956% hObject    handle to K3_slider3 (see GCBO)
957% eventdata  reserved - to be defined in a future version of MATLAB
958% handles    empty - handles not created until after all CreateFcns called
959
960% Hint: slider controls usually have a light gray background.
961if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
962    set(hObject,'BackgroundColor',[.9 .9 .9]);
963end
964
965
966
967function K4_edit4_Callback(hObject, eventdata, handles)
968% hObject    handle to K4_edit4 (see GCBO)
969% eventdata  reserved - to be defined in a future version of MATLAB
970% handles    structure with handles and user data (see GUIDATA)
971
972% Hints: get(hObject,'String') returns contents of K4_edit4 as text
973%        str2double(get(hObject,'String')) returns contents of K4_edit4 as a double
974
975%% kicker K4
976
977val_ph = -str2double(get(hObject,'String'));
978val_HW14 = physics2hw('K_INJ1','Setpoint',val_ph*1e-3);
979% appliquer à l'élément
980setsp('K_INJ1',val_HW14(2),[1 4]);
981% rafraichir le slider
982set(handles.K4_slider4,'Value',-val_ph);
983% refraichir la tension
984set(handles.K4_U_edit,'String',num2str2(val_HW14(1)));
985% rafraichir le slider tension
986set(handles.K4_U_slider,'Value',val_HW14(1));
987
988%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
989mycallbackenergytunette(1,1,hObject, eventdata, handles)
990%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir le bump kicker
991mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
992
993% --- Executes during object creation, after setting all properties.
994function K4_edit4_CreateFcn(hObject, eventdata, handles)
995% hObject    handle to K4_edit4 (see GCBO)
996% eventdata  reserved - to be defined in a future version of MATLAB
997% handles    empty - handles not created until after all CreateFcns called
998
999% Hint: edit controls usually have a white background on Windows.
1000%       See ISPC and COMPUTER.
1001if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1002    set(hObject,'BackgroundColor','white');
1003end
1004
1005
1006% --- Executes on slider movement.
1007function K4_slider4_Callback(hObject, eventdata, handles)
1008% hObject    handle to K4_slider4 (see GCBO)
1009% eventdata  reserved - to be defined in a future version of MATLAB
1010% handles    structure with handles and user data (see GUIDATA)
1011
1012% Hints: get(hObject,'Value') returns position of slider
1013%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
1014
1015%% kicker K4
1016
1017% afficher dans l'editeur angle
1018 set(handles.K4_edit4,'String',...
1019             num2str(get(handles.K4_slider4,'Value')));
1020
1021
1022val_ph = str2double(handles.K4_edit4,'String');
1023val_HW14 = physics2hw('K_INJ1','Setpoint',val_ph*1e-3);
1024% appliquer à l'élément
1025setsp('K_INJ1',val_HW14(2),[1 4]);
1026% rafraichir l'éditeur tension
1027set(handles.K4_U_edit,'String',num2str2(val_HW14(2)));
1028% rafraichir le slider tension
1029set(handles.K4_U_slider,'Value',val_HW14(2));
1030
1031%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
1032mycallbackenergytunette(1,1,hObject, eventdata, handles)
1033%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir le bump kicker
1034mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
1035
1036% --- Executes during object creation, after setting all properties.
1037function K4_slider4_CreateFcn(hObject, eventdata, handles)
1038% hObject    handle to K4_slider4 (see GCBO)
1039% eventdata  reserved - to be defined in a future version of MATLAB
1040% handles    empty - handles not created until after all CreateFcns called
1041
1042% Hint: slider controls usually have a light gray background.
1043if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1044    set(hObject,'BackgroundColor',[.9 .9 .9]);
1045end
1046
1047
1048
1049function deltax_edit13_Callback(hObject, eventdata, handles)
1050% hObject    handle to deltax_edit13 (see GCBO)
1051% eventdata  reserved - to be defined in a future version of MATLAB
1052% handles    structure with handles and user data (see GUIDATA)
1053
1054% Hints: get(hObject,'String') returns contents of deltax_edit13 as text
1055%        str2double(get(hObject,'String')) returns contents of deltax_edit13 as a double
1056
1057L1_H = getappdata(handles.figure1,'L1_H');
1058L2_H = getappdata(handles.figure1,'L2_H');
1059
1060
1061deltax = str2num(get(handles.deltax_edit13,'String'));  %mm
1062
1063% positionner le slider à cette valeur de bump
1064set(handles.deltax_slider13,'Value',deltax);
1065
1066deltax = deltax * 1e-3 ;                                % m
1067
1068% % % L1_H = (50 + 500 + 800 + 300) * 1e-3; % distance centre SA centre SP
1069% % % L2_H = 1e-3 * 600/2;                  % distance centre SP point d'injection
1070
1071% % calcul angles septa actifs et septum passif
1072val_HW_sa = getsp('SEP_A');
1073val_HW_sp = getsp('SEP_P');
1074
1075val_ph_sa =  - deltax / L1_H;
1076val_ph_sp = - val_ph_sa;
1077
1078val_HW_sa = val_HW_sa + physics2HW('SEP_A','Setpoint',val_ph_sa);
1079val_HW_sp = val_HW_sp + physics2HW('SEP_P','Setpoint',val_ph_sp);
1080
1081% appliquer
1082setsp('SEP_P',val_HW_sp);
1083setsp('SEP_A',val_HW_sa);
1084
1085val_ph_sa = HW2physics('SEP_A','Setpoint',val_HW_sa);
1086val_ph_sp = HW2physics('SEP_P','Setpoint',val_HW_sp);
1087
1088% rafraichir les edit et slider équipements
1089set(handles.septum_actif_a_slider,'Value',val_ph_sa*1e3);
1090set(handles.septum_passif_a_slider,'Value',val_ph_sp*1e3);
1091set(handles.septum_actif_U_slider,'Value',val_HW_sa);
1092set(handles.septum_passif_U_slider,'Value',val_HW_sp);
1093set(handles.septum_actif_a_edit,'String',num2str2(val_ph_sa*1e3));
1094set(handles.septum_passif_a_edit,'String',num2str2(val_ph_sp*1e3));
1095set(handles.septum_passif_U_edit,'String',num2str2(val_HW_sp));
1096set(handles.septum_actif_U_edit,'String',num2str2(val_HW_sa));
1097
1098%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
1099mycallbackenergytunette(1,1,hObject, eventdata, handles)
1100
1101
1102% --- Executes during object creation, after setting all properties.
1103function deltax_edit13_CreateFcn(hObject, eventdata, handles)
1104% hObject    handle to deltax_edit13 (see GCBO)
1105% eventdata  reserved - to be defined in a future version of MATLAB
1106% handles    empty - handles not created until after all CreateFcns called
1107
1108% Hint: edit controls usually have a white background on Windows.
1109%       See ISPC and COMPUTER.
1110if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1111    set(hObject,'BackgroundColor','white');
1112end
1113
1114
1115% --- Executes on slider movement.
1116function deltax_slider13_Callback(hObject, eventdata, handles)
1117% hObject    handle to deltax_slider13 (see GCBO)
1118% eventdata  reserved - to be defined in a future version of MATLAB
1119% handles    structure with handles and user data (see GUIDATA)
1120
1121% Hints: get(hObject,'Value') returns position of slider
1122%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
1123
1124L1_H = getappdata(handles.figure1,'L1_H');
1125L2_H = getappdata(handles.figure1,'L2_H');
1126
1127% afficher dans l'editeur cette valeur de bump
1128set(handles.deltax_edit13,'String',num2str(get(handles.deltax_slider13,'Value')));
1129
1130% lire la valeur affichï¿œe
1131deltax = get(handles.deltax_slider13,'Value');          % mm
1132deltax = deltax * 1e-3 ;                                % m
1133
1134% % % L1_H = (50 + 500 + 800 + 300) * 1e-3; % distance centre SA centre SP
1135% % % L2_H = 1e-3 * 600/2;                  % distance centre SP point d'injection
1136
1137% % calcul angles septa actifs et septum passif
1138val_HW_sa = getsp('SEP_A');
1139val_HW_sp = getsp('SEP_P');
1140
1141val_ph_sa = -  deltax / L1_H;
1142val_ph_sp = - val_ph_sa;
1143
1144val_HW_sa = val_HW_sa + physics2HW('SEP_A','Setpoint',val_ph_sa);
1145val_HW_sp = val_HW_sp + physics2HW('SEP_P','Setpoint',val_ph_sp);
1146
1147setsp('SEP_P','Setpoint',val_HW_sp);
1148setsp('SEP_A','Setpoint',val_HW_sa);
1149
1150val_ph_sa = HW2physics('SEP_A','Setpoint',val_HW_sa);
1151val_ph_sp = HW2physics('SEP_P','Setpoint',val_HW_sp);
1152
1153% rafraichir les edit et slider équipements
1154set(handles.septum_actif_a_slider,'Value',val_ph_sa*1e3);
1155set(handles.septum_passif_a_slider,'Value',val_ph_sp*1e3);
1156set(handles.septum_actif_U_slider,'Value',val_HW_sa);
1157set(handles.septum_passif_U_slider,'Value',val_HW_sp);
1158set(handles.septum_actif_a_edit,'String',num2str2(val_ph_sa*1e3));
1159set(handles.septum_passif_a_edit,'String',num2str2(val_ph_sp*1e3));
1160set(handles.septum_passif_U_edit,'String',num2str2(val_HW_sp));
1161set(handles.septum_actif_U_edit,'String',num2str2(val_HW_sa));
1162
1163
1164
1165%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
1166mycallbackenergytunette(1,1,hObject, eventdata, handles)
1167
1168% --- Executes during object creation, after setting all properties.
1169function deltax_slider13_CreateFcn(hObject, eventdata, handles)
1170% hObject    handle to deltax_slider13 (see GCBO)
1171% eventdata  reserved - to be defined in a future version of MATLAB
1172% handles    empty - handles not created until after all CreateFcns called
1173
1174% Hint: slider controls usually have a light gray background.
1175if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1176    set(hObject,'BackgroundColor',[.9 .9 .9]);
1177end
1178
1179
1180
1181function deltaxp_edit14_Callback(hObject, eventdata, handles)
1182% hObject    handle to deltaxp_edit14 (see GCBO)
1183% eventdata  reserved - to be defined in a future version of MATLAB
1184% handles    structure with handles and user data (see GUIDATA)
1185
1186% Hints: get(hObject,'String') returns contents of deltaxp_edit14 as text
1187%        str2double(get(hObject,'String')) returns contents of deltaxp_edit14 as a double
1188
1189L1_H = getappdata(handles.figure1,'L1_H');
1190L2_H = getappdata(handles.figure1,'L2_H');
1191
1192deltaxp = str2num(get(handles.deltaxp_edit14,'String'));  %mm
1193
1194% positionner le slider à cette valeur de bump
1195set(handles.deltaxp_slider14,'Value',deltaxp);
1196
1197deltaxp = deltaxp * 1e-3 ;                                % m
1198
1199% pour point d'injection = point fixe, rapport entre les angles septum
1200% passif et les septa actifs : RAP
1201% % % L1_H = (50 + 500 + 800 + 300) * 1e-3;
1202% % % L2_H = 1e-3 * 600/2;
1203RAP = (L1_H-L2_H) / L2_H;
1204
1205val_HW_sp = getsp('SEP_P');
1206val_HW_sa = getsp('SEP_A');
1207
1208val_ph_sp = deltaxp
1209val_ph_sa = -deltaxp /RAP
1210
1211val_HW_sp = val_HW_sp + physics2HW('SEP_P','Setpoint',val_ph_sp);
1212val_HW_sa = val_HW_sa + physics2HW('SEP_A','Setpoint',val_ph_sa);
1213setsp('SEP_P',val_HW_sp);
1214setsp('SEP_A',val_HW_sa);
1215
1216val_ph_sa = HW2physics('SEP_A','Setpoint',val_HW_sa);
1217val_ph_sp = HW2physics('SEP_P','Setpoint',val_HW_sp);
1218
1219% rafraichir les edit et slider équipements
1220set(handles.septum_actif_a_slider,'Value',val_ph_sa*1e3);
1221set(handles.septum_passif_a_slider,'Value',val_ph_sp*1e3);
1222set(handles.septum_actif_U_slider,'Value',val_HW_sa);
1223set(handles.septum_passif_U_slider,'Value',val_HW_sp);
1224set(handles.septum_actif_a_edit,'String',num2str2(val_ph_sa*1e3));
1225set(handles.septum_passif_a_edit,'String',num2str2(val_ph_sp*1e3));
1226set(handles.septum_passif_U_edit,'String',num2str2(val_HW_sp));
1227set(handles.septum_actif_U_edit,'String',num2str2(val_HW_sa));
1228
1229%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
1230mycallbackenergytunette(1,1,hObject, eventdata, handles)
1231
1232% --- Executes during object creation, after setting all properties.
1233function deltaxp_edit14_CreateFcn(hObject, eventdata, handles)
1234% hObject    handle to deltaxp_edit14 (see GCBO)
1235% eventdata  reserved - to be defined in a future version of MATLAB
1236% handles    empty - handles not created until after all CreateFcns called
1237
1238% Hint: edit controls usually have a white background on Windows.
1239%       See ISPC and COMPUTER.
1240if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1241    set(hObject,'BackgroundColor','white');
1242end
1243
1244
1245% --- Executes on slider movement.
1246function deltaxp_slider14_Callback(hObject, eventdata, handles)
1247% hObject    handle to deltaxp_slider14 (see GCBO)
1248% eventdata  reserved - to be defined in a future version of MATLAB
1249% handles    structure with handles and user data (see GUIDATA)
1250
1251% Hints: get(hObject,'Value') returns position of slider
1252%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
1253
1254L1_H = getappdata(handles.figure1,'L1_H');
1255L2_H = getappdata(handles.figure1,'L2_H');
1256
1257% afficher dans l'editeur la valeur de courant
1258 set(handles.deltaxp_edit14,'String',...
1259             num2str(get(handles.deltaxp_slider14,'Value')));
1260
1261% lire la valeur affichï¿œe
1262deltaxp = get(handles.deltaxp_slider14,'Value');
1263deltaxp = deltaxp * 1e-3;
1264
1265% pour point d'injection = point fixe, rapport entre les angles septum
1266% passif et les septa actifs : RAP
1267% % % L1_H = (50 + 500 + 800 + 300) * 1e-3;
1268% % % L2_H = 1e-3 * 600/2;
1269RAP = (L1_H-L2_H) / L2;
1270
1271val_HW_sp = getsp('SEP_P');
1272val_HW_sa = getsp('SEP_A');
1273
1274val_ph_sp = deltaxp
1275val_ph_sa = -deltaxp /RAP
1276
1277val_HW_sp = val_HW_sp + physics2HW('SEP_P','Setpoint',val_ph_sp);
1278val_HW_sa = val_HW_sa + physics2HW('SEP_A','Setpoint',val_ph_sa);
1279setsp('SEP_P','Setpoint',val_HW_sp);
1280setsp('SEP_A','Setpoint',val_HW_sa);
1281
1282val_ph_sa = HW2physics('SEP_A','Setpoint',val_HW_sa);
1283val_ph_sp = HW2physics('SEP_P','Setpoint',val_HW_sp);
1284
1285% rafraichir les edit et slider équipements
1286set(handles.septum_actif_a_slider,'Value',val_ph_sa*1e3);
1287set(handles.septum_passif_a_slider,'Value',val_ph_sp*1e3);
1288set(handles.septum_actif_U_slider,'Value',val_HW_sa);
1289set(handles.septum_passif_U_slider,'Value',val_HW_sp);
1290set(handles.septum_actif_a_edit,'String',num2str2(val_ph_sa*1e3));
1291set(handles.septum_passif_a_edit,'String',num2str2(val_ph_sp*1e3));
1292set(handles.septum_passif_U_edit,'String',num2str2(val_HW_sp));
1293set(handles.septum_actif_U_edit,'String',num2str2(val_HW_sa));
1294
1295%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
1296mycallbackenergytunette(1,1,hObject, eventdata, handles)
1297
1298% --- Executes during object creation, after setting all properties.
1299function deltaxp_slider14_CreateFcn(hObject, eventdata, handles)
1300% hObject    handle to deltaxp_slider14 (see GCBO)
1301% eventdata  reserved - to be defined in a future version of MATLAB
1302% handles    empty - handles not created until after all CreateFcns called
1303
1304% Hint: slider controls usually have a light gray background.
1305if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1306    set(hObject,'BackgroundColor',[.9 .9 .9]);
1307end
1308
1309
1310
1311function deltaz_edit15_Callback(hObject, eventdata, handles)
1312% hObject    handle to deltaz_edit15 (see GCBO)
1313% eventdata  reserved - to be defined in a future version of MATLAB
1314% handles    structure with handles and user data (see GUIDATA)
1315
1316% Hints: get(hObject,'String') returns contents of deltaz_edit15 as text
1317%        str2double(get(hObject,'String')) returns contents of deltaz_edit15 as a double
1318
1319L1_V = getappdata(handles.figure1,'L1_V');
1320L2_V = getappdata(handles.figure1,'L2_V');
1321coeff = getappdata(handles.figure1,'etalonnage_V_LT2');
1322
1323deltaz = str2num(get(handles.deltaz_edit15,'String'));  %mm
1324
1325% positionner le slider à cette valeur de bump
1326set(handles.deltaz_slider15,'Value',deltaz);
1327
1328deltaz = deltaz * 1e-3 ;                                % m
1329
1330% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1331% % % % % Position des correcteurs verticaux : LT2 init getspos('CV') getspos('BPM')
1332% % % % posBPM_SP = 41.9159 ; posCV4 = 32.4109 ; posCV5 = 35.5859 ;
1333% % % %
1334% % % % L1_V = posCV5 - posCV4 ;                      % distance centre V4 centre V5
1335% % % % L2 = posBPM_SP - posCV5 ;                   % distance centre V5 point d'injection
1336
1337% % calcul angles
1338val_HW_v4 = getam('LT2/AE/CV.4/current');
1339val_HW_v5 = getam('LT2/AE/CV.5/current');
1340
1341val_ph_v4 = deltaz / L1_V;
1342val_ph_v5 = - val_ph_v4;
1343
1344val_HW_v4 = val_HW_v4 + val_ph_v4/coeff;
1345val_HW_v5 = val_HW_v5 + val_ph_v5/coeff;
1346
1347% TEST si  les valeurs de courant sont inférieures aux valeurs max
1348val_max = [8 8]';
1349val_min = [-8 -8]';
1350consigne = [val_HW_v4 val_HW_v5]';
1351if all(consigne<val_max)*all(consigne>val_min);
1352
1353    setsp('LT2/AE/CV.4/current',val_HW_v4);
1354    setsp('LT2/AE/CV.5/current',val_HW_v5);
1355
1356    val_ph_v4 = val_HW_v4*coeff;
1357    val_ph_v5 = val_HW_v5*coeff;
1358
1359    % rafraichir les edit et slider équipements
1360    set(handles.CV4_a_slider,'Value',val_ph_v4*1e3);
1361    set(handles.CV5_a_slider,'Value',val_ph_v5*1e3);
1362    set(handles.CV4_I_slider,'Value',val_HW_v4);
1363    set(handles.CV5_I_slider,'Value',val_HW_v5);
1364    set(handles.CV4_a_edit,'String',num2str2(val_ph_v4*1e3));
1365    set(handles.CV5_a_edit,'String',num2str2(val_ph_v5*1e3));
1366    set(handles.CV4_I_edit,'String',num2str2(val_HW_v4));
1367    set(handles.CV5_I_edit,'String',num2str2(val_HW_v5));
1368
1369else
1370    errordlg('un correcteur au moins dépasse les valeurs admises !','Attention');
1371    consigne = consigne
1372end
1373%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
1374mycallbackenergytunette(1,1,hObject, eventdata, handles)
1375
1376
1377
1378
1379% --- Executes during object creation, after setting all properties.
1380function deltaz_edit15_CreateFcn(hObject, eventdata, handles)
1381% hObject    handle to deltaz_edit15 (see GCBO)
1382% eventdata  reserved - to be defined in a future version of MATLAB
1383% handles    empty - handles not created until after all CreateFcns called
1384
1385% Hint: edit controls usually have a white background on Windows.
1386%       See ISPC and COMPUTER.
1387if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1388    set(hObject,'BackgroundColor','white');
1389end
1390
1391
1392% --- Executes on slider movement.
1393function deltaz_slider15_Callback(hObject, eventdata, handles)
1394% hObject    handle to deltaz_slider15 (see GCBO)
1395% eventdata  reserved - to be defined in a future version of MATLAB
1396% handles    structure with handles and user data (see GUIDATA)
1397
1398% Hints: get(hObject,'Value') returns position of slider
1399%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
1400
1401L1_V = getappdata(handles.figure1,'L1_V');
1402L2_V = getappdata(handles.figure1,'L2_V');
1403coeff = getappdata(handles.figure1,'etalonnage_V_LT2');
1404
1405% afficher dans l'editeur cette valeur de bump
1406set(handles.deltaz_edit15,'String',num2str(get(handles.deltaz_slider15,'Value')));
1407
1408% lire la valeur affichï¿œe
1409deltaz = get(handles.deltaz_slider15,'Value');          % mm
1410deltaz = deltaz * 1e-3 ;
1411
1412
1413% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1414% % % % % Position des correcteurs verticaux : LT2 init getspos('CV') getspos('BPM')
1415% % % % posBPM_SP = 41.9159 ; posCV4 = 32.4109 ; posCV5 = 35.5859 ;
1416% % % %
1417% % % % L1_V = posCV5 - posCV4 ;                      % distance centre V4 centre V5
1418% % % % L2 = posBPM_SP - posCV5 ;                   % distance centre V5 point d'injection
1419
1420% % calcul angles
1421val_HW_v4 = getam('LT2/AE/CV.4/current');
1422val_HW_v5 = getam('LT2/AE/CV.5/current');
1423
1424val_ph_v4 = deltaz / L1_V;
1425val_ph_v5 = - val_ph_v4;
1426
1427val_HW_v4 = val_HW_v4 + val_ph_v4/coeff;
1428val_HW_v5 = val_HW_v5 + val_ph_v5/coeff;
1429
1430
1431% TEST si  les valeurs de courant sont inférieures aux valeurs max
1432val_max = [8 8]';
1433val_min = [-8 -8]';
1434consigne = [val_HW_v4 val_HW_v5]';
1435if all(consigne<val_max)*all(consigne>val_min);
1436    setsp('LT2/AE/CV.4/current',val_HW_v4);
1437    setsp('LT2/AE/CV.5/current',val_HW_v5);
1438
1439    val_ph_v4 = val_HW_v4*coeff;
1440    val_ph_v5 = val_HW_v5*coeff;
1441
1442    % rafraichir les edit et slider équipements
1443    set(handles.CV4_a_slider,'Value',val_ph_v4*1e3);
1444    set(handles.CV5_a_slider,'Value',val_ph_v5*1e3);
1445    set(handles.CV4_I_slider,'Value',val_HW_v4);
1446    set(handles.CV5_I_slider,'Value',val_HW_v5);
1447    set(handles.CV4_a_edit,'String',num2str2(val_ph_v4*1e3));
1448    set(handles.CV5_a_edit,'String',num2str2(val_ph_v5*1e3));
1449    set(handles.CV4_I_edit,'String',num2str2(val_HW_v4));
1450    set(handles.CV5_I_edit,'String',num2str2(val_HW_v5));
1451
1452else
1453    errordlg('un correcteur au moins dépasse les valeurs admises !','Attention');
1454    consigne = consigne
1455end
1456
1457
1458%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
1459mycallbackenergytunette(1,1,hObject, eventdata, handles)
1460
1461
1462
1463
1464% --- Executes during object creation, after setting all properties.
1465function deltaz_slider15_CreateFcn(hObject, eventdata, handles)
1466% hObject    handle to deltaz_slider15 (see GCBO)
1467% eventdata  reserved - to be defined in a future version of MATLAB
1468% handles    empty - handles not created until after all CreateFcns called
1469
1470% Hint: slider controls usually have a light gray background.
1471if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1472    set(hObject,'BackgroundColor',[.9 .9 .9]);
1473end
1474
1475
1476
1477function deltazp_edit16_Callback(hObject, eventdata, handles)
1478% hObject    handle to deltazp_edit16 (see GCBO)
1479% eventdata  reserved - to be defined in a future version of MATLAB
1480% handles    structure with handles and user data (see GUIDATA)
1481
1482% Hints: get(hObject,'String') returns contents of deltazp_edit16 as text
1483%        str2double(get(hObject,'String')) returns contents of deltazp_edit16 as a double
1484
1485L1_V = getappdata(handles.figure1,'L1_V');
1486L2_V = getappdata(handles.figure1,'L2_V');
1487coeff = getappdata(handles.figure1,'etalonnage_V_LT2');
1488
1489deltazp = str2num(get(handles.deltazp_edit16,'String'));  %mm
1490
1491% positionner le slider à cette valeur de bump
1492set(handles.deltazp_slider16,'Value',deltazp);
1493
1494deltazp = deltazp * 1e-3 ;                                % m
1495
1496RAP = (L1_V-L2_V) / L2_V;
1497
1498% % calcul angles
1499val_HW_v4 = getam('LT2/AE/CV.4/current');
1500val_HW_v5 = getam('LT2/AE/CV.5/current');
1501
1502
1503val_ph_v5 = deltazp
1504val_ph_v4 = -deltazp /RAP
1505
1506val_HW_v4 = val_HW_v4 + val_ph_v4/coeff;
1507val_HW_v5 = val_HW_v5 + val_ph_v5/coeff;
1508
1509% TEST si  les valeurs de courant sont inférieures aux valeurs max
1510val_max = [8 8]';
1511val_min = [-8 -8]';
1512consigne = [val_HW_v4 val_HW_v5]';
1513if all(consigne<val_max)*all(consigne>val_min);
1514    setsp('LT2/AE/CV.4/current',val_HW_v4);
1515    setsp('LT2/AE/CV.5/current',val_HW_v5);
1516
1517    val_ph_v4 = val_HW_v4*coeff;
1518    val_ph_v5 = val_HW_v5*coeff;
1519
1520    % rafraichir les edit et slider équipements
1521    set(handles.CV4_a_slider,'Value',val_ph_v4*1e3);
1522    set(handles.CV5_a_slider,'Value',val_ph_v5*1e3);
1523    set(handles.CV4_I_slider,'Value',val_HW_v4);
1524    set(handles.CV5_I_slider,'Value',val_HW_v5);
1525    set(handles.CV4_a_edit,'String',num2str2(val_ph_v4*1e3));
1526    set(handles.CV5_a_edit,'String',num2str2(val_ph_v5*1e3));
1527    set(handles.CV4_I_edit,'String',num2str2(val_HW_v4));
1528    set(handles.CV5_I_edit,'String',num2str2(val_HW_v5));
1529else
1530    errordlg('un correcteur au moins dépasse les valeurs admises !','Attention');
1531    consigne = consigne
1532end
1533
1534
1535%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
1536mycallbackenergytunette(1,1,hObject, eventdata, handles)
1537
1538
1539% --- Executes during object creation, after setting all properties.
1540function deltazp_edit16_CreateFcn(hObject, eventdata, handles)
1541% hObject    handle to deltazp_edit16 (see GCBO)
1542% eventdata  reserved - to be defined in a future version of MATLAB
1543% handles    empty - handles not created until after all CreateFcns called
1544
1545% Hint: edit controls usually have a white background on Windows.
1546%       See ISPC and COMPUTER.
1547if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1548    set(hObject,'BackgroundColor','white');
1549end
1550
1551
1552% --- Executes on slider movement.
1553function deltazp_slider16_Callback(hObject, eventdata, handles)
1554% hObject    handle to deltazp_slider16 (see GCBO)
1555% eventdata  reserved - to be defined in a future version of MATLAB
1556% handles    structure with handles and user data (see GUIDATA)
1557
1558% Hints: get(hObject,'Value') returns position of slider
1559%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
1560
1561L1_V = getappdata(handles.figure1,'L1_V');
1562L2_V = getappdata(handles.figure1,'L2_V');
1563coeff = getappdata(handles.figure1,'etalonnage_V_LT2');
1564
1565% afficher dans l'editeur cette valeur de bump
1566set(handles.deltazp_edit16,'String',num2str(get(handles.deltazp_slider16,'Value')));
1567
1568% lire la valeur affichï¿œe
1569deltazp = get(handles.deltazp_slider16,'Value');          % mm
1570deltazp = deltazp * 1e-3;
1571
1572RAP = (L1_V-L2_V) / L2_V;
1573
1574% % calcul angles
1575val_HW_v4 = getam('LT2/AE/CV.4/current');
1576val_HW_v5 = getam('LT2/AE/CV.5/current');
1577
1578val_ph_v5 = deltazp
1579val_ph_v4 = -deltazp /RAP
1580
1581val_HW_v4 = val_HW_v4 + val_ph_v4/coeff;
1582val_HW_v5 = val_HW_v5 + val_ph_v5/coeff;
1583
1584% TEST si  les valeurs de courant sont inférieures aux valeurs max
1585val_max = [8 8]';
1586val_min = [-8 -8]';
1587consigne = [val_HW_v4 val_HW_v5]';
1588if all(consigne<val_max)*all(consigne>val_min);
1589
1590    setsp('LT2/AE/CV.4/current',val_HW_v4);
1591    setsp('LT2/AE/CV.5/current',val_HW_v5);
1592
1593    val_ph_v4 = val_HW_v4*coeff;
1594    val_ph_v5 = val_HW_v5*coeff;
1595
1596    % rafraichir les edit et slider équipements
1597    set(handles.CV4_a_slider,'Value',val_ph_v4*1e3);
1598    set(handles.CV5_a_slider,'Value',val_ph_v5*1e3);
1599    set(handles.CV4_I_slider,'Value',val_HW_v4);
1600    set(handles.CV5_I_slider,'Value',val_HW_v5);
1601    set(handles.CV4_a_edit,'String',num2str2(val_ph_v4*1e3));
1602    set(handles.CV5_a_edit,'String',num2str2(val_ph_v5*1e3));
1603    set(handles.CV4_I_edit,'String',num2str2(val_HW_v4));
1604    set(handles.CV5_I_edit,'String',num2str2(val_HW_v5));
1605else
1606    errordlg('un correcteur au moins dépasse les valeurs admises !','Attention');
1607    consigne = consigne
1608end
1609
1610
1611%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
1612mycallbackenergytunette(1,1,hObject, eventdata, handles)
1613
1614% --- Executes during object creation, after setting all properties.
1615function deltazp_slider16_CreateFcn(hObject, eventdata, handles)
1616% hObject    handle to deltazp_slider16 (see GCBO)
1617% eventdata  reserved - to be defined in a future version of MATLAB
1618% handles    empty - handles not created until after all CreateFcns called
1619
1620% Hint: slider controls usually have a light gray background.
1621if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1622    set(hObject,'BackgroundColor',[.9 .9 .9]);
1623end
1624
1625function uibuttongroup_SelectionChangeFcn(hObject,eventdata,handles)
1626% hObject    handle to uipanel1 (see GCBO)
1627% eventdata  reserved - to be defined in a future version of MATLAB
1628% handles    structure with handles and user data (see GUIDATA)
1629
1630switch get(get(hObject,'SelectedObject'),'Tag')  % Get Tag of selected object
1631    case 'radiobutton1'
1632        % code piece when radiobutton1 is selected goes here
1633        %
1634        set([handles.K1_edit1,handles.K1_slider1,...
1635            handles.K2_edit2,handles.K2_slider2,...
1636            handles.K3_edit3,handles.K3_slider3,...
1637            handles.K4_edit4,handles.K4_slider4,...
1638            handles.K1_U_edit,handles.K1_U_slider,...
1639            handles.K2_U_edit,handles.K2_U_slider,...
1640            handles.K3_U_edit,handles.K3_U_slider,...
1641            handles.K4_U_edit,handles.K4_U_slider,...
1642            ],'Enable','off')
1643       
1644    case 'radiobutton2'
1645        % code piece when radiobutton2 is selected goes here
1646        %
1647        set([...
1648            handles.K2_edit2,handles.K2_slider2,...
1649            ...
1650            handles.K4_edit4,handles.K4_slider4,...
1651            ...
1652            handles.K2_U_edit,handles.K2_U_slider,...
1653            ...
1654            handles.K4_U_edit,handles.K4_U_slider,...
1655            ],'Enable','off');
1656        set([handles.K1_edit1,handles.K1_slider1,...
1657            ...
1658            handles.K3_edit3,handles.K3_slider3,...
1659            ...
1660            handles.K1_U_edit,handles.K1_U_slider,...
1661            ...
1662            handles.K3_U_edit,handles.K3_U_slider,...
1663            ...
1664            ],'Enable','on')
1665    case 'radiobutton3'
1666        % code piece when radiobutton1 is selected goes here
1667        %
1668        set([handles.K1_edit1,handles.K1_slider1,...
1669            handles.K2_edit2,handles.K2_slider2,...
1670            handles.K3_edit3,handles.K3_slider3,...
1671            handles.K4_edit4,handles.K4_slider4,...
1672            handles.K1_U_edit,handles.K1_U_slider,...
1673            handles.K2_U_edit,handles.K2_U_slider,...
1674            handles.K3_U_edit,handles.K3_U_slider,...
1675            handles.K4_U_edit,handles.K4_U_slider,...
1676            ],'Enable','on')
1677       
1678end
1679
1680
1681
1682function bump_edit21_Callback(hObject, eventdata, handles)
1683% hObject    handle to bump_edit21 (see GCBO)
1684% eventdata  reserved - to be defined in a future version of MATLAB
1685% handles    structure with handles and user data (see GUIDATA)
1686
1687% Hints: get(hObject,'String') returns contents of bump_edit21 as text
1688%        str2double(get(hObject,'String')) returns contents of bump_edit21 as a double
1689bump = str2num(get(handles.bump_edit21,'String'));
1690% valeur 4 kickers en rad
1691val_ph_K = bump * handles.eff_K * 1e-3;
1692% % valeurs 4 kickers en tension
1693val_HW14 = physics2HW('K_INJ1','Setpoint',-val_ph_K);
1694val_HW23 = physics2HW('K_INJ2','Setpoint',val_ph_K);
1695% % appliquer les 4 valeurs
1696setsp('K_INJ1',val_HW14(1));
1697setsp('K_INJ2',val_HW23(1));
1698
1699% afficher dans edit angles des kickers
1700set(handles.K1_edit1,'String',num2str2(val_ph_K*1e3));
1701set(handles.K4_edit4,'String',num2str2(val_ph_K*1e3));
1702set(handles.K2_edit2,'String',num2str2(val_ph_K*1e3));
1703set(handles.K3_edit3,'String',num2str2(val_ph_K*1e3));
1704
1705% re-initaliser les sliders angles
1706set(handles.K1_slider1,'Value',val_ph_K*1e3);
1707set(handles.K2_slider2,'Value',val_ph_K*1e3);
1708set(handles.K3_slider3,'Value',val_ph_K*1e3);
1709set(handles.K4_slider4,'Value',val_ph_K*1e3);
1710
1711% afficher dans edit tension des kickers
1712set(handles.K1_U_edit,'String',num2str2(val_HW14(1)));
1713set(handles.K4_U_edit,'String',num2str2(val_HW14(2)));
1714set(handles.K2_U_edit,'String',num2str2(val_HW23(1)));
1715set(handles.K3_U_edit,'String',num2str2(val_HW23(2)));
1716
1717% re-initaliser les sliders tension
1718set(handles.K1_U_slider,'Value',val_HW14(1));
1719set(handles.K2_U_slider,'Value',val_HW14(2));
1720set(handles.K3_U_slider,'Value',val_HW23(1));
1721set(handles.K4_U_slider,'Value',val_HW23(2));
1722
1723%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
1724mycallbackenergytunette(1,1,hObject, eventdata, handles)
1725%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir le bump kicker
1726mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
1727
1728
1729% --- Executes during object creation, after setting all properties.
1730function bump_edit21_CreateFcn(hObject, eventdata, handles)
1731% hObject    handle to bump_edit21 (see GCBO)
1732% eventdata  reserved - to be defined in a future version of MATLAB
1733% handles    empty - handles not created until after all CreateFcns called
1734
1735% Hint: edit controls usually have a white background on Windows.
1736%       See ISPC and COMPUTER.
1737if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
1738    set(hObject,'BackgroundColor','white');
1739end
1740
1741
1742% --- Executes on button press in BPM1_checkbox.
1743function BPM1_checkbox_Callback(hObject, eventdata, handles)
1744% hObject    handle to BPM1_checkbox (see GCBO)
1745% eventdata  reserved - to be defined in a future version of MATLAB
1746% handles    structure with handles and user data (see GUIDATA)
1747
1748% Hint: get(hObject,'Value') returns toggle state of BPM1_checkbox
1749
1750nbmaxBPM = getappdata(handles.figure1,'nbmaxBPM');
1751BPMxList = getappdata(handles.figure1,'BPMxList');
1752% mettre à jour d'éventue
1753num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
1754BPMxListtotal = family2dev('BPMx', 0 ); 
1755
1756if (get(hObject,'Value') == get(hObject,'Max'))
1757    % then checkbox is checked-take approriate action
1758    num_BPM_actif(1) = 1;
1759    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1760else
1761    % checkbox is not checked-take approriate action
1762    num_BPM_actif(1) = 0;
1763    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1764    %BPMxList = intersect(BPMxList,BPMxListtotal([(1:8),(10:nbmaxBPM)],:),'rows');
1765   
1766end
1767setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
1768setappdata(handles.figure1,'BPMxList',BPMxList);
1769mycallbackenergytunette(1,1,hObject, eventdata, handles)
1770
1771
1772% --- Executes on button press in BPM2_checkbox.
1773function BPM2_checkbox_Callback(hObject, eventdata, handles)
1774% hObject    handle to BPM2_checkbox (see GCBO)
1775% eventdata  reserved - to be defined in a future version of MATLAB
1776% handles    structure with handles and user data (see GUIDATA)
1777
1778% Hint: get(hObject,'Value') returns toggle state of BPM2_checkbox
1779
1780nbmaxBPM = getappdata(handles.figure1,'nbmaxBPM');
1781BPMxList = getappdata(handles.figure1,'BPMxList');
1782% mettre à jour d'éventue
1783num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
1784BPMxListtotal = family2dev('BPMx', 0 ); 
1785
1786if (get(hObject,'Value') == get(hObject,'Max'))
1787    % then checkbox is checked-take approriate action
1788    num_BPM_actif(2) = 1;
1789    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1790else
1791    % checkbox is not checked-take approriate action
1792    num_BPM_actif(2) = 0;
1793    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1794    %BPMxList = intersect(BPMxList,BPMxListtotal([(1:8),(10:nbmaxBPM)],:),'rows');
1795   
1796end
1797setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
1798setappdata(handles.figure1,'BPMxList',BPMxList);
1799mycallbackenergytunette(1,1,hObject, eventdata, handles)
1800
1801
1802% --- Executes on button press in BPM3_checkbox.
1803function BPM3_checkbox_Callback(hObject, eventdata, handles)
1804% hObject    handle to BPM3_checkbox (see GCBO)
1805% eventdata  reserved - to be defined in a future version of MATLAB
1806% handles    structure with handles and user data (see GUIDATA)
1807
1808% Hint: get(hObject,'Value') returns toggle state of BPM3_checkbox
1809nbmaxBPM = getappdata(handles.figure1,'nbmaxBPM');
1810BPMxList = getappdata(handles.figure1,'BPMxList');
1811% mettre à jour d'éventue
1812num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
1813BPMxListtotal = family2dev('BPMx', 0 ); 
1814
1815if (get(hObject,'Value') == get(hObject,'Max'))
1816    % then checkbox is checked-take approriate action
1817    num_BPM_actif(3) = 1;
1818    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1819else
1820    % checkbox is not checked-take approriate action
1821    num_BPM_actif(3) = 0;
1822    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1823    %BPMxList = intersect(BPMxList,BPMxListtotal([(1:8),(10:nbmaxBPM)],:),'rows');
1824   
1825end
1826setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
1827setappdata(handles.figure1,'BPMxList',BPMxList);
1828mycallbackenergytunette(1,1,hObject, eventdata, handles)
1829
1830
1831
1832% --- Executes on button press in BPM4_checkbox.
1833function BPM4_checkbox_Callback(hObject, eventdata, handles)
1834% hObject    handle to BPM4_checkbox (see GCBO)
1835% eventdata  reserved - to be defined in a future version of MATLAB
1836% handles    structure with handles and user data (see GUIDATA)
1837
1838% Hint: get(hObject,'Value') returns toggle state of BPM4_checkbox
1839nbmaxBPM = getappdata(handles.figure1,'nbmaxBPM');
1840BPMxList = getappdata(handles.figure1,'BPMxList');
1841% mettre à jour d'éventue
1842num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
1843BPMxListtotal = family2dev('BPMx', 0 ); 
1844
1845if (get(hObject,'Value') == get(hObject,'Max'))
1846    % then checkbox is checked-take approriate action
1847    num_BPM_actif(4) = 1;
1848    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1849else
1850    % checkbox is not checked-take approriate action
1851    num_BPM_actif(4) = 0;
1852    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1853    %BPMxList = intersect(BPMxList,BPMxListtotal([(1:8),(10:nbmaxBPM)],:),'rows');
1854   
1855end
1856setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
1857setappdata(handles.figure1,'BPMxList',BPMxList);
1858mycallbackenergytunette(1,1,hObject, eventdata, handles)
1859
1860
1861% --- Executes on button press in BPM5_checkbox.
1862function BPM5_checkbox_Callback(hObject, eventdata, handles)
1863% hObject    handle to BPM5_checkbox (see GCBO)
1864% eventdata  reserved - to be defined in a future version of MATLAB
1865% handles    structure with handles and user data (see GUIDATA)
1866
1867% Hint: get(hObject,'Value') returns toggle state of BPM5_checkbox
1868nbmaxBPM = getappdata(handles.figure1,'nbmaxBPM');
1869BPMxList = getappdata(handles.figure1,'BPMxList');
1870% mettre à jour d'éventue
1871num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
1872BPMxListtotal = family2dev('BPMx', 0 ); 
1873
1874if (get(hObject,'Value') == get(hObject,'Max'))
1875    % then checkbox is checked-take approriate action
1876    num_BPM_actif(5) = 1;
1877    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1878else
1879    % checkbox is not checked-take approriate action
1880    num_BPM_actif(5) = 0;
1881    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1882    %BPMxList = intersect(BPMxList,BPMxListtotal([(1:8),(10:nbmaxBPM)],:),'rows');
1883   
1884end
1885setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
1886setappdata(handles.figure1,'BPMxList',BPMxList);
1887mycallbackenergytunette(1,1,hObject, eventdata, handles)
1888
1889% --- Executes on button press in BPM6_checkbox.
1890function BPM6_checkbox_Callback(hObject, eventdata, handles)
1891% hObject    handle to BPM6_checkbox (see GCBO)
1892% eventdata  reserved - to be defined in a future version of MATLAB
1893% handles    structure with handles and user data (see GUIDATA)
1894
1895% Hint: get(hObject,'Value') returns toggle state of BPM6_checkbox
1896nbmaxBPM = getappdata(handles.figure1,'nbmaxBPM');
1897BPMxList = getappdata(handles.figure1,'BPMxList');
1898% mettre à jour d'éventue
1899num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
1900BPMxListtotal = family2dev('BPMx', 0 ); 
1901
1902if (get(hObject,'Value') == get(hObject,'Max'))
1903    % then checkbox is checked-take approriate action
1904    num_BPM_actif(6) = 1;
1905    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1906else
1907    % checkbox is not checked-take approriate action
1908    num_BPM_actif(6) = 0;
1909    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1910    %BPMxList = intersect(BPMxList,BPMxListtotal([(1:8),(10:nbmaxBPM)],:),'rows');
1911   
1912end
1913setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
1914setappdata(handles.figure1,'BPMxList',BPMxList);
1915mycallbackenergytunette(1,1,hObject, eventdata, handles)
1916
1917% --- Executes on button press in BPM7_checkbox.
1918function BPM7_checkbox_Callback(hObject, eventdata, handles)
1919% hObject    handle to BPM7_checkbox (see GCBO)
1920% eventdata  reserved - to be defined in a future version of MATLAB
1921% handles    structure with handles and user data (see GUIDATA)
1922
1923% Hint: get(hObject,'Value') returns toggle state of BPM7_checkbox
1924nbmaxBPM = getappdata(handles.figure1,'nbmaxBPM');
1925BPMxList = getappdata(handles.figure1,'BPMxList');
1926% mettre à jour d'éventue
1927num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
1928BPMxListtotal = family2dev('BPMx', 0 ); 
1929
1930if (get(hObject,'Value') == get(hObject,'Max'))
1931    % then checkbox is checked-take approriate action
1932    num_BPM_actif(7) = 1;
1933    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1934else
1935    % checkbox is not checked-take approriate action
1936    num_BPM_actif(7) = 0;
1937    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1938    %BPMxList = intersect(BPMxList,BPMxListtotal([(1:8),(10:nbmaxBPM)],:),'rows');
1939   
1940end
1941setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
1942setappdata(handles.figure1,'BPMxList',BPMxList);
1943mycallbackenergytunette(1,1,hObject, eventdata, handles)
1944
1945% --- Executes on button press in BPM8_checkbox.
1946function BPM8_checkbox_Callback(hObject, eventdata, handles)
1947% hObject    handle to BPM8_checkbox (see GCBO)
1948% eventdata  reserved - to be defined in a future version of MATLAB
1949% handles    structure with handles and user data (see GUIDATA)
1950
1951% Hint: get(hObject,'Value') returns toggle state of BPM8_checkbox
1952nbmaxBPM = getappdata(handles.figure1,'nbmaxBPM');
1953BPMxList = getappdata(handles.figure1,'BPMxList');
1954% mettre à jour d'éventue
1955num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
1956BPMxListtotal = family2dev('BPMx', 0 ); 
1957
1958if (get(hObject,'Value') == get(hObject,'Max'))
1959    % then checkbox is checked-take approriate action
1960    num_BPM_actif(8) = 1;
1961    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1962else
1963    % checkbox is not checked-take approriate action
1964    num_BPM_actif(8) = 0;
1965    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1966    %BPMxList = intersect(BPMxList,BPMxListtotal([(1:8),(10:nbmaxBPM)],:),'rows');
1967   
1968end
1969setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
1970setappdata(handles.figure1,'BPMxList',BPMxList);
1971mycallbackenergytunette(1,1,hObject, eventdata, handles)
1972
1973% --- Executes on button press in BPM9_checkbox.
1974function BPM9_checkbox_Callback(hObject, eventdata, handles)
1975% hObject    handle to BPM9_checkbox (see GCBO)
1976% eventdata  reserved - to be defined in a future version of MATLAB
1977% handles    structure with handles and user data (see GUIDATA)
1978
1979% Hint: get(hObject,'Value') returns toggle state of BPM9_checkbox
1980nbmaxBPM = getappdata(handles.figure1,'nbmaxBPM');
1981BPMxList = getappdata(handles.figure1,'BPMxList');
1982% mettre à jour d'éventue
1983num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
1984BPMxListtotal = family2dev('BPMx', 0 ); 
1985
1986if (get(hObject,'Value') == get(hObject,'Max'))
1987    % then checkbox is checked-take approriate action
1988    num_BPM_actif(9) = 1;
1989    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1990else
1991    % checkbox is not checked-take approriate action
1992    num_BPM_actif(9) = 0;
1993    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
1994    %BPMxList = intersect(BPMxList,BPMxListtotal([(1:8),(10:nbmaxBPM)],:),'rows');
1995   
1996end
1997setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
1998setappdata(handles.figure1,'BPMxList',BPMxList);
1999mycallbackenergytunette(1,1,hObject, eventdata, handles)
2000
2001% --- Executes on button press in BPM10_checkbox.
2002function BPM10_checkbox_Callback(hObject, eventdata, handles)
2003% hObject    handle to BPM10_checkbox (see GCBO)
2004% eventdata  reserved - to be defined in a future version of MATLAB
2005% handles    structure with handles and user data (see GUIDATA)
2006
2007% Hint: get(hObject,'Value') returns toggle state of BPM10_checkbox
2008nbmaxBPM = getappdata(handles.figure1,'nbmaxBPM');
2009BPMxList = getappdata(handles.figure1,'BPMxList');
2010% mettre à jour d'éventue
2011num_BPM_actif = getappdata(handles.figure1,'num_BPM_actif');
2012BPMxListtotal = family2dev('BPMx', 0 ); 
2013
2014if (get(hObject,'Value') == get(hObject,'Max'))
2015    % then checkbox is checked-take approriate action
2016    num_BPM_actif(10) = 1;
2017    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
2018else
2019    % checkbox is not checked-take approriate action
2020    num_BPM_actif(10) = 0;
2021    BPMxList = BPMxListtotal(find(num_BPM_actif),:);
2022    %BPMxList = intersect(BPMxList,BPMxListtotal([(1:8),(10:nbmaxBPM)],:),'rows');
2023   
2024end
2025setappdata(handles.figure1,'num_BPM_actif',num_BPM_actif);
2026setappdata(handles.figure1,'BPMxList',BPMxList);
2027mycallbackenergytunette(1,1,hObject, eventdata, handles)
2028
2029function K1_U_edit_Callback(hObject, eventdata, handles)
2030% hObject    handle to K1_U_edit (see GCBO)
2031% eventdata  reserved - to be defined in a future version of MATLAB
2032% handles    structure with handles and user data (see GUIDATA)
2033
2034% Hints: get(hObject,'String') returns contents of K1_U_edit as text
2035%        str2double(get(hObject,'String')) returns contents of K1_U_edit as a double
2036
2037% afficher dans le slider angle
2038 set(handles.K1_U_slider,'Value',...
2039             str2double(get(hObject,'String')));
2040
2041 val_HW14 = str2num(get(handles.K1_U_edit,'String'));
2042 val_ph =  1000*hw2physics('K_INJ1','Setpoint',val_HW14); 
2043 % appliquer à l'élément
2044setsp('K_INJ1',val_HW14,[1 1]);
2045% rafraichir l'éditeur angle
2046set(handles.K1_edit1,'String',num2str2(-val_ph(1)));
2047% rafraichir le slider angle
2048set(handles.K1_slider1,'Value',-val_ph(1));
2049
2050if get(handles.dissym,'Value')
2051    % valeur d'angle identique dans K2
2052    val_HW23 = physics2hw('K_INJ2','Setpoint',-val_ph(1)*1e-3);
2053    % appliquer à l'élément
2054    setsp('K_INJ2',val_HW23(2),[1 2]);
2055    % tester les signes !!!!!
2056    % rafraichir le slider angle
2057    set(handles.K2_slider2,'Value',-val_ph(1));
2058    % rafraichir l'éditeur angle
2059    set(handles.K2_edit2,'String',num2str2(-val_ph(1)));
2060    % rafraichir le slider tension
2061    set(handles.K2_U_slider,'Value',val_HW23(2));
2062    % rafraichir l'éditeur tension
2063    set(handles.K2_U_edit,'String',num2str2(val_HW23(2)));
2064end
2065mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
2066
2067% --- Executes during object creation, after setting all properties.
2068function K1_U_edit_CreateFcn(hObject, eventdata, handles)
2069% hObject    handle to K1_U_edit (see GCBO)
2070% eventdata  reserved - to be defined in a future version of MATLAB
2071% handles    empty - handles not created until after all CreateFcns called
2072
2073% Hint: edit controls usually have a white background on Windows.
2074%       See ISPC and COMPUTER.
2075if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2076    set(hObject,'BackgroundColor','white');
2077end
2078
2079
2080% --- Executes on slider movement.
2081function K1_U_slider_Callback(hObject, eventdata, handles)
2082% hObject    handle to K1_U_slider (see GCBO)
2083% eventdata  reserved - to be defined in a future version of MATLAB
2084% handles    structure with handles and user data (see GUIDATA)
2085
2086% Hints: get(hObject,'Value') returns position of slider
2087%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2088
2089
2090% --- Executes during object creation, after setting all properties.
2091function K1_U_slider_CreateFcn(hObject, eventdata, handles)
2092% hObject    handle to K1_U_slider (see GCBO)
2093% eventdata  reserved - to be defined in a future version of MATLAB
2094% handles    empty - handles not created until after all CreateFcns called
2095
2096% Hint: slider controls usually have a light gray background.
2097if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2098    set(hObject,'BackgroundColor',[.9 .9 .9]);
2099end
2100
2101
2102
2103function K2_U_edit_Callback(hObject, eventdata, handles)
2104% hObject    handle to K2_U_edit (see GCBO)
2105% eventdata  reserved - to be defined in a future version of MATLAB
2106% handles    structure with handles and user data (see GUIDATA)
2107
2108% Hints: get(hObject,'String') returns contents of K2_U_edit as text
2109%        str2double(get(hObject,'String')) returns contents of K2_U_edit as a double
2110
2111set(handles.K2_U_slider,'Value',...
2112             str2double(get(hObject,'String')));
2113
2114 val_HW23 = str2num(get(handles.K2_U_edit,'String'));
2115 val_ph =  1000*hw2physics('K_INJ2','Setpoint',val_HW23); 
2116 % appliquer à l'élément
2117setsp('K_INJ2',val_HW23,[1 2]);
2118% rafraichir l'éditeur angle
2119set(handles.K2_edit2,'String',num2str2(val_ph(1)));
2120% rafraichir le slider angle
2121set(handles.K2_slider2,'Value',val_ph(1));
2122mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
2123
2124% --- Executes during object creation, after setting all properties.
2125function K2_U_edit_CreateFcn(hObject, eventdata, handles)
2126% hObject    handle to K2_U_edit (see GCBO)
2127% eventdata  reserved - to be defined in a future version of MATLAB
2128% handles    empty - handles not created until after all CreateFcns called
2129
2130% Hint: edit controls usually have a white background on Windows.
2131%       See ISPC and COMPUTER.
2132if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2133    set(hObject,'BackgroundColor','white');
2134end
2135
2136
2137% --- Executes on slider movement.
2138function K2_U_slider_Callback(hObject, eventdata, handles)
2139% hObject    handle to K2_U_slider (see GCBO)
2140% eventdata  reserved - to be defined in a future version of MATLAB
2141% handles    structure with handles and user data (see GUIDATA)
2142
2143% Hints: get(hObject,'Value') returns position of slider
2144%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2145
2146
2147% --- Executes during object creation, after setting all properties.
2148function K2_U_slider_CreateFcn(hObject, eventdata, handles)
2149% hObject    handle to K2_U_slider (see GCBO)
2150% eventdata  reserved - to be defined in a future version of MATLAB
2151% handles    empty - handles not created until after all CreateFcns called
2152
2153% Hint: slider controls usually have a light gray background.
2154if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2155    set(hObject,'BackgroundColor',[.9 .9 .9]);
2156end
2157
2158
2159
2160function K3_U_edit_Callback(hObject, eventdata, handles)
2161% hObject    handle to K3_U_edit (see GCBO)
2162% eventdata  reserved - to be defined in a future version of MATLAB
2163% handles    structure with handles and user data (see GUIDATA)
2164
2165% Hints: get(hObject,'String') returns contents of K3_U_edit as text
2166%        str2double(get(hObject,'String')) returns contents of K3_U_edit as a double
2167
2168% afficher dans le slider angle
2169
2170 set(handles.K3_U_slider,'Value',...
2171             str2double(get(hObject,'String')));
2172
2173 val_HW23 = str2num(get(handles.K3_U_edit,'String'));
2174 val_ph =  1000*hw2physics('K_INJ2','Setpoint',val_HW23); 
2175 % appliquer à l'élément
2176setsp('K_INJ2',val_HW23,[1 3]);
2177% rafraichir l'éditeur angle
2178set(handles.K3_edit3,'String',num2str2(val_ph(1)));
2179% rafraichir le slider angle
2180set(handles.K3_slider3,'Value',val_ph(1));
2181
2182if get(handles.dissym,'Value')
2183    % valeur d'angle identique dans K4
2184    val_HW14 = physics2hw('K_INJ1','Setpoint',-val_ph(1)*1e-3);
2185    % appliquer à l'élément
2186    setsp('K_INJ1',val_HW14(2),[1 4]);
2187    % tester les signes !!!!!
2188    % rafraichir le slider angle
2189    set(handles.K4_slider4,'Value',val_ph(1));
2190    % rafraichir l'éditeur angle
2191    set(handles.K4_edit4,'String',num2str2(val_ph(1)));
2192    % rafraichir le slider tension
2193    set(handles.K4_U_slider,'Value',val_HW14(2));
2194    % rafraichir l'éditeur tension
2195    set(handles.K4_U_edit,'String',num2str2(val_HW14(2)));
2196end
2197
2198%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir l'orbite
2199mycallbackenergytunette(1,1,hObject, eventdata, handles)
2200%%%%%%%%%%%%%%%%%%%%%%%%%% rafraichir le bump kicker
2201mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
2202
2203
2204
2205% --- Executes during object creation, after setting all properties.
2206function K3_U_edit_CreateFcn(hObject, eventdata, handles)
2207% hObject    handle to K3_U_edit (see GCBO)
2208% eventdata  reserved - to be defined in a future version of MATLAB
2209% handles    empty - handles not created until after all CreateFcns called
2210
2211% Hint: edit controls usually have a white background on Windows.
2212%       See ISPC and COMPUTER.
2213if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2214    set(hObject,'BackgroundColor','white');
2215end
2216
2217
2218% --- Executes on slider movement.
2219function K3_U_slider_Callback(hObject, eventdata, handles)
2220% hObject    handle to K3_U_slider (see GCBO)
2221% eventdata  reserved - to be defined in a future version of MATLAB
2222% handles    structure with handles and user data (see GUIDATA)
2223
2224% Hints: get(hObject,'Value') returns position of slider
2225%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2226
2227
2228% --- Executes during object creation, after setting all properties.
2229function K3_U_slider_CreateFcn(hObject, eventdata, handles)
2230% hObject    handle to K3_U_slider (see GCBO)
2231% eventdata  reserved - to be defined in a future version of MATLAB
2232% handles    empty - handles not created until after all CreateFcns called
2233
2234% Hint: slider controls usually have a light gray background.
2235if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2236    set(hObject,'BackgroundColor',[.9 .9 .9]);
2237end
2238
2239
2240
2241
2242
2243function K4_U_edit_Callback(hObject, eventdata, handles)
2244% hObject    handle to K4_U_edit (see GCBO)
2245% eventdata  reserved - to be defined in a future version of MATLAB
2246% handles    structure with handles and user data (see GUIDATA)
2247
2248% Hints: get(hObject,'String') returns contents of K4_U_edit as text
2249%        str2double(get(hObject,'String')) returns contents of K4_U_edit as a double
2250
2251% afficher dans le slider angle
2252 set(handles.K4_U_slider,'Value',...
2253             str2double(get(hObject,'String')));
2254
2255 val_HW14 = str2num(get(handles.K4_U_edit,'String'));
2256 val_ph =  1000*hw2physics('K_INJ1','Setpoint',val_HW14); 
2257 % appliquer à l'élément
2258setsp('K_INJ1',val_HW14,[1 4]);
2259% rafraichir l'éditeur angle
2260set(handles.K4_edit4,'String',num2str2(-val_ph(1)));
2261% rafraichir le slider angle
2262set(handles.K4_slider4,'Value',-val_ph(1));
2263
2264mycallbackenergytunette_kicker(1,1,hObject, eventdata, handles)
2265
2266% --- Executes during object creation, after setting all properties.
2267function K4_U_edit_CreateFcn(hObject, eventdata, handles)
2268% hObject    handle to K4_U_edit (see GCBO)
2269% eventdata  reserved - to be defined in a future version of MATLAB
2270% handles    empty - handles not created until after all CreateFcns called
2271
2272% Hint: edit controls usually have a white background on Windows.
2273%       See ISPC and COMPUTER.
2274if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2275    set(hObject,'BackgroundColor','white');
2276end
2277
2278
2279% --- Executes on slider movement.
2280function K4_U_slider_Callback(hObject, eventdata, handles)
2281% hObject    handle to K4_U_slider (see GCBO)
2282% eventdata  reserved - to be defined in a future version of MATLAB
2283% handles    structure with handles and user data (see GUIDATA)
2284
2285% Hints: get(hObject,'Value') returns position of slider
2286%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2287
2288
2289% --- Executes during object creation, after setting all properties.
2290function K4_U_slider_CreateFcn(hObject, eventdata, handles)
2291% hObject    handle to K4_U_slider (see GCBO)
2292% eventdata  reserved - to be defined in a future version of MATLAB
2293% handles    empty - handles not created until after all CreateFcns called
2294
2295% Hint: slider controls usually have a light gray background.
2296if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2297    set(hObject,'BackgroundColor',[.9 .9 .9]);
2298end
2299
2300
2301
2302function septum_actif_a_edit_Callback(hObject, eventdata, handles)
2303% hObject    handle to septum_actif_a_edit (see GCBO)
2304% eventdata  reserved - to be defined in a future version of MATLAB
2305% handles    structure with handles and user data (see GUIDATA)
2306
2307% Hints: get(hObject,'String') returns contents of septum_actif_a_edit as text
2308%        str2double(get(hObject,'String')) returns contents of septum_actif_a_edit as a double
2309
2310% valeur d'angle
2311val_phSA = str2double(get(hObject,'String'));
2312val_HWSA = physics2hw('SEP_A','Setpoint',val_phSA*1e-3);
2313% appliquer à l'élément
2314setsp('SEP_A',val_HWSA);
2315% rafraichir le slider
2316set(handles.septum_actif_a_slider,'Value',val_phSA);
2317% rafraichir l'élément tension
2318set(handles.septum_actif_U_slider,'Value',val_HWSA);
2319set(handles.septum_actif_U_edit,'String',num2str2(val_HWSA));
2320
2321
2322% --- Executes during object creation, after setting all properties.
2323function septum_actif_a_edit_CreateFcn(hObject, eventdata, handles)
2324% hObject    handle to septum_actif_a_edit (see GCBO)
2325% eventdata  reserved - to be defined in a future version of MATLAB
2326% handles    empty - handles not created until after all CreateFcns called
2327
2328% Hint: edit controls usually have a white background on Windows.
2329%       See ISPC and COMPUTER.
2330if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2331    set(hObject,'BackgroundColor','white');
2332end
2333
2334
2335% --- Executes on slider movement.
2336function septum_actif_a_slider_Callback(hObject, eventdata, handles)
2337% hObject    handle to septum_actif_a_slider (see GCBO)
2338% eventdata  reserved - to be defined in a future version of MATLAB
2339% handles    structure with handles and user data (see GUIDATA)
2340
2341% Hints: get(hObject,'Value') returns position of slider
2342%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2343
2344
2345% --- Executes during object creation, after setting all properties.
2346function septum_actif_a_slider_CreateFcn(hObject, eventdata, handles)
2347% hObject    handle to septum_actif_a_slider (see GCBO)
2348% eventdata  reserved - to be defined in a future version of MATLAB
2349% handles    empty - handles not created until after all CreateFcns called
2350
2351% Hint: slider controls usually have a light gray background.
2352if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2353    set(hObject,'BackgroundColor',[.9 .9 .9]);
2354end
2355
2356
2357
2358function septum_passif_a_edit_Callback(hObject, eventdata, handles)
2359% hObject    handle to septum_passif_a_edit (see GCBO)
2360% eventdata  reserved - to be defined in a future version of MATLAB
2361% handles    structure with handles and user data (see GUIDATA)
2362
2363% Hints: get(hObject,'String') returns contents of septum_passif_a_edit as text
2364%        str2double(get(hObject,'String')) returns contents of septum_passif_a_edit as a double
2365
2366% valeur d'angle
2367val_phSP = str2double(get(hObject,'String'));
2368val_HWSP = physics2hw('SEP_P','Setpoint',val_phSP*1e-3);
2369% appliquer à l'élément
2370setsp('SEP_P',val_HWSP);
2371% rafraichir le slider
2372set(handles.septum_passif_a_slider,'Value',val_phSP);
2373% rafraichir l'élément tension
2374%set(handles.septum_passif_U_slider,'Value',val_HWSPA);
2375set(handles.septum_passif_U_edit,'String',num2str2(val_HWSP));
2376
2377
2378% --- Executes during object creation, after setting all properties.
2379function septum_passif_a_edit_CreateFcn(hObject, eventdata, handles)
2380% hObject    handle to septum_passif_a_edit (see GCBO)
2381% eventdata  reserved - to be defined in a future version of MATLAB
2382% handles    empty - handles not created until after all CreateFcns called
2383
2384% Hint: edit controls usually have a white background on Windows.
2385%       See ISPC and COMPUTER.
2386if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2387    set(hObject,'BackgroundColor','white');
2388end
2389
2390
2391% --- Executes on slider movement.
2392function septum_passif_a_slider_Callback(hObject, eventdata, handles)
2393% hObject    handle to septum_passif_a_slider (see GCBO)
2394% eventdata  reserved - to be defined in a future version of MATLAB
2395% handles    structure with handles and user data (see GUIDATA)
2396
2397% Hints: get(hObject,'Value') returns position of slider
2398%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2399
2400
2401% --- Executes during object creation, after setting all properties.
2402function septum_passif_a_slider_CreateFcn(hObject, eventdata, handles)
2403% hObject    handle to septum_passif_a_slider (see GCBO)
2404% eventdata  reserved - to be defined in a future version of MATLAB
2405% handles    empty - handles not created until after all CreateFcns called
2406
2407% Hint: slider controls usually have a light gray background.
2408if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2409    set(hObject,'BackgroundColor',[.9 .9 .9]);
2410end
2411
2412
2413
2414function CV4_a_edit_Callback(hObject, eventdata, handles)
2415% hObject    handle to CV4_a_edit (see GCBO)
2416% eventdata  reserved - to be defined in a future version of MATLAB
2417% handles    structure with handles and user data (see GUIDATA)
2418
2419% Hints: get(hObject,'String') returns contents of CV4_a_edit as text
2420%        str2double(get(hObject,'String')) returns contents of CV4_a_edit as a double
2421
2422coeff = getappdata(handles.figure1,'etalonnage_V_LT2');
2423val_ph_v4 = str2double(get(hObject,'String'));
2424val_HW_v4 = val_ph_v4*1e-3 / coeff;
2425setsp('LT2/AE/CV.4/current',val_HW_v4);
2426% rafraichir les edit et slider équipements
2427set(handles.CV4_a_slider,'Value',val_ph_v4);
2428set(handles.CV4_I_slider,'Value',val_HW_v4);
2429set(handles.CV4_I_edit,'String',num2str2(val_HW_v4));
2430
2431
2432% --- Executes during object creation, after setting all properties.
2433function CV4_a_edit_CreateFcn(hObject, eventdata, handles)
2434% hObject    handle to CV4_a_edit (see GCBO)
2435% eventdata  reserved - to be defined in a future version of MATLAB
2436% handles    empty - handles not created until after all CreateFcns called
2437
2438% Hint: edit controls usually have a white background on Windows.
2439%       See ISPC and COMPUTER.
2440if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2441    set(hObject,'BackgroundColor','white');
2442end
2443
2444
2445% --- Executes on slider movement.
2446function CV4_a_slider_Callback(hObject, eventdata, handles)
2447% hObject    handle to CV4_a_slider (see GCBO)
2448% eventdata  reserved - to be defined in a future version of MATLAB
2449% handles    structure with handles and user data (see GUIDATA)
2450
2451% Hints: get(hObject,'Value') returns position of slider
2452%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2453
2454
2455% --- Executes during object creation, after setting all properties.
2456function CV4_a_slider_CreateFcn(hObject, eventdata, handles)
2457% hObject    handle to CV4_a_slider (see GCBO)
2458% eventdata  reserved - to be defined in a future version of MATLAB
2459% handles    empty - handles not created until after all CreateFcns called
2460
2461% Hint: slider controls usually have a light gray background.
2462if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2463    set(hObject,'BackgroundColor',[.9 .9 .9]);
2464end
2465
2466
2467
2468function CV5_a_edit_Callback(hObject, eventdata, handles)
2469% hObject    handle to CV5_a_edit (see GCBO)
2470% eventdata  reserved - to be defined in a future version of MATLAB
2471% handles    structure with handles and user data (see GUIDATA)
2472
2473% Hints: get(hObject,'String') returns contents of CV5_a_edit as text
2474%        str2double(get(hObject,'String')) returns contents of CV5_a_edit as a double
2475
2476coeff = getappdata(handles.figure1,'etalonnage_V_LT2');
2477val_ph_v5 = str2double(get(hObject,'String'));
2478val_HW_v5 = val_ph_v5*1e-3 / coeff;
2479setsp('LT2/AE/CV.5/current',val_HW_v5);
2480% rafraichir les edit et slider équipements
2481set(handles.CV5_a_slider,'Value',val_ph_v5);
2482set(handles.CV5_I_slider,'Value',val_HW_v5);
2483set(handles.CV5_I_edit,'String',num2str2(val_HW_v5));
2484
2485
2486
2487% --- Executes during object creation, after setting all properties.
2488function CV5_a_edit_CreateFcn(hObject, eventdata, handles)
2489% hObject    handle to CV5_a_edit (see GCBO)
2490% eventdata  reserved - to be defined in a future version of MATLAB
2491% handles    empty - handles not created until after all CreateFcns called
2492
2493% Hint: edit controls usually have a white background on Windows.
2494%       See ISPC and COMPUTER.
2495if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2496    set(hObject,'BackgroundColor','white');
2497end
2498
2499
2500% --- Executes on slider movement.
2501function CV5_a_slider_Callback(hObject, eventdata, handles)
2502% hObject    handle to CV5_a_slider (see GCBO)
2503% eventdata  reserved - to be defined in a future version of MATLAB
2504% handles    structure with handles and user data (see GUIDATA)
2505
2506% Hints: get(hObject,'Value') returns position of slider
2507%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2508
2509
2510% --- Executes during object creation, after setting all properties.
2511function CV5_a_slider_CreateFcn(hObject, eventdata, handles)
2512% hObject    handle to CV5_a_slider (see GCBO)
2513% eventdata  reserved - to be defined in a future version of MATLAB
2514% handles    empty - handles not created until after all CreateFcns called
2515
2516% Hint: slider controls usually have a light gray background.
2517if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2518    set(hObject,'BackgroundColor',[.9 .9 .9]);
2519end
2520
2521
2522% --- Executes on slider movement.
2523function septum_actif_U_slider_Callback(hObject, eventdata, handles)
2524% hObject    handle to septum_actif_U_slider (see GCBO)
2525% eventdata  reserved - to be defined in a future version of MATLAB
2526% handles    structure with handles and user data (see GUIDATA)
2527
2528% Hints: get(hObject,'Value') returns position of slider
2529%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2530
2531
2532% --- Executes during object creation, after setting all properties.
2533function septum_actif_U_slider_CreateFcn(hObject, eventdata, handles)
2534% hObject    handle to septum_actif_U_slider (see GCBO)
2535% eventdata  reserved - to be defined in a future version of MATLAB
2536% handles    empty - handles not created until after all CreateFcns called
2537
2538% Hint: slider controls usually have a light gray background.
2539if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2540    set(hObject,'BackgroundColor',[.9 .9 .9]);
2541end
2542
2543
2544
2545function septum_passif_U_edit_Callback(hObject, eventdata, handles)
2546% hObject    handle to septum_passif_U_edit (see GCBO)
2547% eventdata  reserved - to be defined in a future version of MATLAB
2548% handles    structure with handles and user data (see GUIDATA)
2549
2550% Hints: get(hObject,'String') returns contents of septum_passif_U_edit as text
2551%        str2double(get(hObject,'String')) returns contents of septum_passif_U_edit as a double
2552
2553% valeur d'angle
2554val_HWSP = str2double(get(hObject,'String'));
2555val_phSP = hw2physics('SEP_P','Setpoint',val_HWSP);
2556% appliquer à l'élément
2557setsp('SEP_P',val_HWSP);
2558% rafraichir le slider
2559set(handles.septum_passif_U_slider,'Value',val_HWSP);
2560% rafraichir l'élément angle
2561set(handles.septum_passif_a_slider,'Value',val_phSP*1000);
2562set(handles.septum_passif_a_edit,'String',num2str2(val_phSP*1000));
2563
2564% --- Executes during object creation, after setting all properties.
2565function septum_passif_U_edit_CreateFcn(hObject, eventdata, handles)
2566% hObject    handle to septum_passif_U_edit (see GCBO)
2567% eventdata  reserved - to be defined in a future version of MATLAB
2568% handles    empty - handles not created until after all CreateFcns called
2569
2570% Hint: edit controls usually have a white background on Windows.
2571%       See ISPC and COMPUTER.
2572if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2573    set(hObject,'BackgroundColor','white');
2574end
2575
2576
2577% --- Executes on slider movement.
2578function septum_passif_U_slider_Callback(hObject, eventdata, handles)
2579% hObject    handle to septum_passif_U_slider (see GCBO)
2580% eventdata  reserved - to be defined in a future version of MATLAB
2581% handles    structure with handles and user data (see GUIDATA)
2582
2583% Hints: get(hObject,'Value') returns position of slider
2584%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2585
2586
2587% --- Executes during object creation, after setting all properties.
2588function septum_passif_U_slider_CreateFcn(hObject, eventdata, handles)
2589% hObject    handle to septum_passif_U_slider (see GCBO)
2590% eventdata  reserved - to be defined in a future version of MATLAB
2591% handles    empty - handles not created until after all CreateFcns called
2592
2593% Hint: slider controls usually have a light gray background.
2594if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2595    set(hObject,'BackgroundColor',[.9 .9 .9]);
2596end
2597
2598
2599
2600function CV4_I_edit_Callback(hObject, eventdata, handles)
2601% hObject    handle to CV4_I_edit (see GCBO)
2602% eventdata  reserved - to be defined in a future version of MATLAB
2603% handles    structure with handles and user data (see GUIDATA)
2604
2605% Hints: get(hObject,'String') returns contents of CV4_I_edit as text
2606%        str2double(get(hObject,'String')) returns contents of CV4_I_edit as a double
2607
2608coeff = getappdata(handles.figure1,'etalonnage_V_LT2');
2609val_HW_v4 = str2double(get(hObject,'String'));
2610val_ph_v4 = val_HW_v4*1e3 * coeff;
2611setsp('LT2/AE/CV.4/current',val_HW_v4);
2612% rafraichir les edit et slider équipements
2613set(handles.CV4_a_slider,'Value',val_ph_v4);
2614set(handles.CV4_I_slider,'Value',val_HW_v4);
2615set(handles.CV4_a_edit,'String',num2str2(val_ph_v4));
2616
2617
2618% --- Executes during object creation, after setting all properties.
2619function CV4_I_edit_CreateFcn(hObject, eventdata, handles)
2620% hObject    handle to CV4_I_edit (see GCBO)
2621% eventdata  reserved - to be defined in a future version of MATLAB
2622% handles    empty - handles not created until after all CreateFcns called
2623
2624% Hint: edit controls usually have a white background on Windows.
2625%       See ISPC and COMPUTER.
2626if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2627    set(hObject,'BackgroundColor','white');
2628end
2629
2630
2631% --- Executes on slider movement.
2632function CV4_I_slider_Callback(hObject, eventdata, handles)
2633% hObject    handle to CV4_I_slider (see GCBO)
2634% eventdata  reserved - to be defined in a future version of MATLAB
2635% handles    structure with handles and user data (see GUIDATA)
2636
2637% Hints: get(hObject,'Value') returns position of slider
2638%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2639
2640
2641% --- Executes during object creation, after setting all properties.
2642function CV4_I_slider_CreateFcn(hObject, eventdata, handles)
2643% hObject    handle to CV4_I_slider (see GCBO)
2644% eventdata  reserved - to be defined in a future version of MATLAB
2645% handles    empty - handles not created until after all CreateFcns called
2646
2647% Hint: slider controls usually have a light gray background.
2648if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2649    set(hObject,'BackgroundColor',[.9 .9 .9]);
2650end
2651
2652
2653
2654function CV5_I_edit_Callback(hObject, eventdata, handles)
2655% hObject    handle to CV5_I_edit (see GCBO)
2656% eventdata  reserved - to be defined in a future version of MATLAB
2657% handles    structure with handles and user data (see GUIDATA)
2658
2659% Hints: get(hObject,'String') returns contents of CV5_I_edit as text
2660%        str2double(get(hObject,'String')) returns contents of CV5_I_edit as a double
2661
2662coeff = getappdata(handles.figure1,'etalonnage_V_LT2');
2663val_HW_v5 = str2double(get(hObject,'String'));
2664val_ph_v5 = val_HW_v5*1e3 * coeff;
2665setsp('LT2/AE/CV.5/current',val_HW_v5);
2666% rafraichir les edit et slider équipements
2667set(handles.CV5_a_slider,'Value',val_ph_v5);
2668set(handles.CV5_I_slider,'Value',val_HW_v5);
2669set(handles.CV5_a_edit,'String',num2str2(val_ph_v5));
2670
2671% --- Executes during object creation, after setting all properties.
2672function CV5_I_edit_CreateFcn(hObject, eventdata, handles)
2673% hObject    handle to CV5_I_edit (see GCBO)
2674% eventdata  reserved - to be defined in a future version of MATLAB
2675% handles    empty - handles not created until after all CreateFcns called
2676
2677% Hint: edit controls usually have a white background on Windows.
2678%       See ISPC and COMPUTER.
2679if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2680    set(hObject,'BackgroundColor','white');
2681end
2682
2683
2684% --- Executes on slider movement.
2685function CV5_I_slider_Callback(hObject, eventdata, handles)
2686% hObject    handle to CV5_I_slider (see GCBO)
2687% eventdata  reserved - to be defined in a future version of MATLAB
2688% handles    structure with handles and user data (see GUIDATA)
2689
2690% Hints: get(hObject,'Value') returns position of slider
2691%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
2692
2693
2694% --- Executes during object creation, after setting all properties.
2695function CV5_I_slider_CreateFcn(hObject, eventdata, handles)
2696% hObject    handle to CV5_I_slider (see GCBO)
2697% eventdata  reserved - to be defined in a future version of MATLAB
2698% handles    empty - handles not created until after all CreateFcns called
2699
2700% Hint: slider controls usually have a light gray background.
2701if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2702    set(hObject,'BackgroundColor',[.9 .9 .9]);
2703end
2704
2705
2706
2707function septum_actif_U_edit_Callback(hObject, eventdata, handles)
2708% hObject    handle to septum_actif_U_edit (see GCBO)
2709% eventdata  reserved - to be defined in a future version of MATLAB
2710% handles    structure with handles and user data (see GUIDATA)
2711
2712% Hints: get(hObject,'String') returns contents of septum_actif_U_edit as text
2713%        str2double(get(hObject,'String')) returns contents of septum_actif_U_edit as a double
2714
2715% valeur d'angle
2716val_HWSA = str2double(get(hObject,'String'));
2717val_phSA = hw2physics('SEP_A','Setpoint',val_HWSA);
2718% appliquer à l'élément
2719setsp('SEP_A',val_HWSA);
2720% rafraichir le slider
2721set(handles.septum_actif_U_slider,'Value',val_HWSA);
2722% rafraichir l'élément angle
2723set(handles.septum_actif_a_slider,'Value',val_phSA*1000);
2724set(handles.septum_actif_a_edit,'String',num2str2(val_phSA*1000));
2725
2726
2727
2728% --- Executes during object creation, after setting all properties.
2729function septum_actif_U_edit_CreateFcn(hObject, eventdata, handles)
2730% hObject    handle to septum_actif_U_edit (see GCBO)
2731% eventdata  reserved - to be defined in a future version of MATLAB
2732% handles    empty - handles not created until after all CreateFcns called
2733
2734% Hint: edit controls usually have a white background on Windows.
2735%       See ISPC and COMPUTER.
2736if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
2737    set(hObject,'BackgroundColor','white');
2738end
2739
2740
2741% bugs
2742% --- Executes during object creation, after setting all properties.
2743function edit56_CreateFcn(hObject, eventdata, handles)
2744function edit57_CreateFcn(hObject, eventdata, handles)
2745function slider55_CreateFcn(hObject, eventdata, handles)
2746function slider56_CreateFcn(hObject, eventdata, handles)
2747
2748function value = num2str2(val)
2749
2750value = num2str(val,'%6.2f');
2751
2752%% What to do before closing the application
2753function Closinggui(obj, event, handles, figure1)
2754
2755%device_name = getappdata(handles.figure1,'device_name');
2756
2757% Get default command line output from handles structure
2758answer = questdlg('Fermer Energytunette ?',...
2759    'Exit Programme Energytunette',...
2760    'Yes','No','Yes');
2761
2762switch answer
2763    case 'Yes'           
2764        delete(handles); %Delete Timer       
2765        delete(figure1); %Close gui
2766        %% extraire l'écran YAG
2767        %tango_command_inout(device_name.ecran,'Extract');
2768        %fonction_error;
2769    otherwise
2770        disp('Closing aborted')
2771end
2772
2773
Note: See TracBrowser for help on using the repository browser.