% start-up routine for the Prologic USB-GPIB interface

NLoop = 10;
Out = zeros(NLoop,1); % output buffer


dss = instrfind('Port','COM11');
if (isempty(dss))
    dss = serial('COM11','BaudRate',9600,'DataBits',8,'Parity','none','StopBits',1,'TimeOut',5,'Terminator','CR');
end

fopen(dss); % communication channel for DAC
fprintf(dss,'++mode 1');
fprintf(dss,'++auto 0');   % turn off read-after-write for non-querry command
fprintf(dss,'++eos 1');
fprintf(dss,'++eoi 1');
fprintf(dss,'++read_tmo_ms 4000');
fprintf(dss,'++eot_enable 1');
fprintf(dss,'++eot_char 13');
fprintf(dss,'++addr 24');  % GPIB ADDR of the DSM
fprintf(dss,'*RST');
%pause(3);
fprintf(dss,':sour:func:mode curr');
fprintf(dss,':sour:curr 0');
fprintf(dss,':sour:del 0');
fprintf(dss,':sour:curr:mode list');  %
fprintf(dss,':sour:list:curr 0, 0.0309,0.05878, 0.0809, 0.09511, 0.1, 0.09511, 0.0809, 0.05878, 0.0309');
fprintf(dss,':sour:list:curr:app 0, -0.0309,-0.05878, -0.0809, -0.09511, -0.1, -0.09511,-0.0809, -0.05878, -0.0309');
%fprintf(dss,':sour:list:volt 0,0.3090,0.5878,0.8090,0.9511,1.0000,0.9511,0.8090,0.5878,0.3090');
%fprintf(dss,':sour:list:volt:app 0,-0.3090,-0.5878,-0.8090,-0.9511,-1.0000,-0.9511,-0.8090,-0.5878,-0.3090');
%fprintf(dss,':sour:volt:trig:sfac 2');
fprintf(dss,':arm:coun 5');
fprintf(dss,':trig:coun 20');
fprintf(dss,':sour:curr:mode list');  % 
fprintf(dss,':outp on');
fprintf(dss,':init');
pause(5);
fprintf(dss,':outp off');
% fprintf(dss,':sour:swe:rang best');
% fprintf(dss,':sour:swe:spac lin');
% fprintf(dss,':sour:volt:star 0.1');
% fprintf(dss,':sour:volt:stop 1');
% fprintf(dss,':sour:volt:step 0.1');
% fprintf(dss,':sens:func "volt"');
% fprintf(dss,':sens:volt:range:auto on');
% 
% fprintf(dss,'++rst');

% for i = 1:NLoop,
%     fprintf(dss,'read?');
%     fprintf(dss,'++read');
%     Out(i) = fscanf(dss,'%e')
% end
% 
% %fprintf(dss,'++auto 0');   % turn on read-after-write for non-querry command
% 
fprintf(dss,'*RST');
%  
fclose(dss);
% delete(dss);