clear all visastring = "GPIB0::22::INSTR"; v_pwrmtr = visadev(visastring); writeline(v_pwrmtr, "*IDN?"); answ = readline(v_pwrmtr); disp(['Yay! We can talk to Instrument: ',char(answ)]); % laser = Exfo_laser("mainframe_channel",3,"safety_mode",0,"connection_id",'15','lab_interface','gpib'); % laser.getLaserInfo(); L = OptLaserN7714A("GPIB0::20::INSTR"); % visastring = 'GPIB0::10::INSTR'; % v_lsr = visadev(visastring); % writeline(v_lsr, "*IDN?"); % answ = readline(v_lsr); % disp(['Yay! We can talk to Instrument: ',char(answ)]); steps = 100; wavelength_sweep = linspace(1554,1556,steps); start_wavelength = wavelength_sweep(1); % laser.setWavelength(start_wavelength); L.setWavelength(start_wavelength,0); % laser.setPower(0); % laser.enableLaser(); L.setPower(0, true,0); pwr_save = NaN(size(wavelength_sweep)); for l = 1:numel(wavelength_sweep) % 1) % laser.setWavelength(wavelength_sweep(l)); L.setWavelength(wavelength_sweep(l),0); %writeline(v_lsr, ['L=' num2str(wavelength_sweep(l))]); % 2) Set Wavelength of Power Meter t = string(['SENS2:POW:WAVE ',num2str(wavelength_sweep(l)),'NM']); writeline(v_pwrmtr, t); % writeline(v, "SENS:POW:WAVE?"); % wavel = readline(v); % 3) Read Power of writeline(v_pwrmtr, "READ2:POW?"); pwr = readline(v_pwrmtr); pwr_save(l) = str2num(pwr); figure(2025);clf plot(wavelength_sweep,pwr_save,'Marker','*'); xlabel('Wavelength [nm]'); ylabel('Insertion Loss [dB]'); ylim([min(pwr_save)-1, min(pwr_save)+1]); xlim([wavelength_sweep(1) wavelength_sweep(end)]) grid minor end % laser.disableLaser(); L.setPower(0, false,0); L.delete(); %writeline(v_lsr, 'DISABLE'); path= "Z:\2025\NFT WDM DFG Olaf\lambda_vs_power"; dt = datetime('now','Format','yyyyMMdd_HHmmss'); filename = fullfile(path, "loop_5_7_"+num2str(wavelength_sweep(1)) +"nm_to_"+ num2str(wavelength_sweep(end))+ "nm_" + string(dt) + ".mat"); save(filename, "pwr_save","wavelength_sweep"); disp("Saved to: " + filename);