Labrador/Old Matlab Interface/updatescopeaxes.m

168 lines
8.1 KiB
Matlab

global scope_window_time
global scope_window_max
global scope_window_min
global scope_mode
global gui_axes
global text_box_1
global gui_hori_cursor_a_pos
global gui_hori_cursor_b_pos
global gui_vert_cursor_a_pos
global gui_vert_cursor_b_pos
global gui_cursor_mode
global saved_waveform_ch1
global saved_waveform_ch2
global gui_scope_running
global refreshrate_temp
global refreshrate
global waveform_exists
global gui_delay
global fastmode
refreshrate_temp = refreshrate_temp - 1;
tic
delay_sec = get(gui_delay, 'Max') - get(gui_delay, 'Value');
switch(scope_mode)
case 0
if (refreshrate_temp == 0)
refreshrate_temp = refreshrate;
%if(gui_scope_running)
[taxis, cool_waveform, update_enable] = conv_ana(saved_waveform_ch1, 375000*scope_window_time, 0);
%end
plotcursors
if(cool_waveform)
waveform_exists = 1;
end
if (waveform_exists & update_enable)
if (fastmode==1)
disp('Fastmode Enabled')
else
disp('Fastmode disabled')
%set(text_box_1, 'String', sprintf(' ------------------------\n Vmin = %.2fV\n ------------------------\n Vmax = %.2f\n ------------------------\n Vmean = %.2f\n ------------------------\n Vrms = %.2f\n ------------------------\n ', min(cool_waveform), max(cool_waveform), mean(cool_waveform), rms(cool_waveform)));
set(text_box_1, 'String', sprintf(' ------------------------\n Vmin = %s\n ------------------------\n Vmax = %s\n ------------------------\n Vmean = %s\n ------------------------\n Vrms = %s\n ------------------------\n ', sisprintf(min(cool_waveform),'V',2), sisprintf(max(cool_waveform),'V',2), sisprintf(mean(cool_waveform),'V',2), sisprintf(rms(cool_waveform),'V', 2)));
%title(titlestring);
xlabel(gui_axes, 'Time (s)')
ylabel(gui_axes, 'Voltage (V)')
end
drawnow
end
end
case 1
if ~(refreshrate == 4)
error('Refreshrate assumed to be 4 for Mode 1')
end
switch(refreshrate_temp)
case 3
%if(gui_scope_running)
[taxis, cool_waveform, update_enable] = conv_ana(saved_waveform_ch1, 375000*scope_window_time, 0);
[taxis_ch2, temp_waveform_ch2] = conv_dig(saved_waveform_ch2, 375000*scope_window_time);
temp_waveform_ch2 = (scope_window_max - (0.05*(scope_window_max - scope_window_min)) - scope_window_min) * temp_waveform_ch2 + scope_window_min + (0.025*(scope_window_max - scope_window_min));
% end
case 2
stairs(gui_axes, taxis_ch2, temp_waveform_ch2, 'c');
hold(gui_axes, 'on')
plotcursors
hold(gui_axes, 'off')
if(update_enable)
set(text_box_1, 'String', sprintf(' ------------------------\n Vmin = %.2fV\n ------------------------\n Vmax = %.2f\n ------------------------\n Vmean = %.2f\n ------------------------\n Vrms = %.2f\n ------------------------\n ', min(cool_waveform), max(cool_waveform), mean(cool_waveform), rms(cool_waveform)));
xlabel(gui_axes, 'Time (s)')
ylabel(gui_axes, 'Voltage (V)')
drawnow
end
case 0
refreshrate_temp = refreshrate;
end
case 2
if (refreshrate_temp == 0)
refreshrate_temp = refreshrate;
% if(gui_scope_running)
[taxis_ch1, cool_waveform_ch1, update_enable] = conv_ana(saved_waveform_ch1, 375000*scope_window_time, 0);
[taxis_ch2, cool_waveform_ch2] = conv_ana(saved_waveform_ch2, 375000*scope_window_time, 1);
%end
plotcursors
if(cool_waveform) waveform_exists = 1; end
if (waveform_exists & update_enable)
set(text_box_1, 'String', sprintf(' ------------------------\n Vmin = %.2fV\n ------------------------\n Vmax = %.2f\n ------------------------\n Vmean = %.2f\n ------------------------\n Vrms = %.2f\n ------------------------\n ', min(cool_waveform_ch1), max(cool_waveform_ch1), mean(cool_waveform_ch1), rms(cool_waveform_ch1)));
%title(titlestring);
xlabel(gui_axes, 'Time (s)')
ylabel(gui_axes, 'Voltage (V)')
drawnow
end
end
case 3
if (refreshrate_temp == 0)
refreshrate_temp = refreshrate;
%if(gui_scope_running)
[taxis, temp_waveform] = conv_dig(saved_waveform_ch1, 375000*scope_window_time);
% end
stairs(gui_axes, taxis, temp_waveform, 'y');
set(gui_axes, 'Ylim', [-0.1, 1.1], 'Xlim', [-scope_window_time-delay_sec, 0-delay_sec], 'Color', [0 0 0], 'Box', 'on', 'XColor', [1 1 1], 'Ycolor', [1 1 1]);
set(text_box_1, 'String', 'Scope in dig mode');
xlabel(gui_axes, 'Time (s)')
ylabel(gui_axes, 'Logic Value')
drawnow
end
case 4
if (refreshrate_temp == 0)
refreshrate_temp = refreshrate;
% if(gui_scope_running)
[taxis_ch1, temp_waveform_ch1] = conv_dig(saved_waveform_ch1, 375000*scope_window_time);
[taxis_ch2, temp_waveform_ch2] = conv_dig(saved_waveform_ch2, 375000*scope_window_time);
%end
waveform_exists = 1
elseif (refreshrate_temp == 3) && (waveform_exists)
stairs(gui_axes, taxis_ch2, temp_waveform_ch2, 'c');
hold(gui_axes, 'on')
stairs(gui_axes, taxis_ch1, temp_waveform_ch1, 'y');
hold(gui_axes, 'off')
set(gui_axes, 'Ylim', [-0.1, 1.1], 'Xlim', [-scope_window_time-delay_sec, 0-delay_sec], 'Color', [0 0 0], 'Box', 'on', 'XColor', [1 1 1], 'Ycolor', [1 1 1]);
set(text_box_1, 'String', 'Scope in dig mode');
xlabel(gui_axes, 'Time (s)')
ylabel(gui_axes, 'Logic Value')
drawnow
end
case 5
set(text_box_1, 'String', 'Scope disabled');
xlabel(gui_axes, '')
ylabel(gui_axes, '')
drawnow
pause(0.001)
case 6
if (refreshrate_temp == 0)
refreshrate_temp = refreshrate;
%if(gui_scope_running)
[taxis, cool_waveform, update_enable] = conv_ana(saved_waveform_ch1, 750000*scope_window_time, 0);
%end
plotcursors
if(cool_waveform) waveform_exists = 1; end
if (waveform_exists & update_enable)
set(text_box_1, 'String', sprintf(' ------------------------\n Vmin = %.2fV\n ------------------------\n Vmax = %.2f\n ------------------------\n Vmean = %.2f\n ------------------------\n Vrms = %.2f\n ------------------------\n ', min(cool_waveform), max(cool_waveform), mean(cool_waveform), rms(cool_waveform)));
%title(titlestring);
xlabel(gui_axes, 'Time (s)')
ylabel(gui_axes, 'Voltage (V)')
drawnow
end
end
case 7
if (refreshrate_temp == 0)
refreshrate_temp = refreshrate;
%if(gui_scope_running)
[taxis, cool_waveform, update_enable] = conv_ana(saved_waveform_ch1, (375000/(3*fastmode + 1))*scope_window_time, 0);
%end
plotcursors
if(cool_waveform) waveform_exists = 1; end
if (waveform_exists & update_enable)
set(text_box_1, 'String', sprintf(' ------------------------\n Vmin = %.2fV\n ------------------------\n Vmax = %.2f\n ------------------------\n Vmean = %.2f\n ------------------------\n Vrms = %.2f\n ------------------------\n ', min(cool_waveform), max(cool_waveform), mean(cool_waveform), rms(cool_waveform)));
%title(titlestring);
xlabel(gui_axes, 'Time (s)')
ylabel(gui_axes, 'Voltage (V)')
drawnow
end
end
otherwise
error('scope_mode invalid!')
end
toc