function [cool_waveform] = undofrontend(temp_waveform,channel) Vcc = 3.3; vref = Vcc/2; TOP = 128; R4 = 75e3; R3 = 1e6; R2 = 1e3; R1 = 1e3; global scope_gain_0 global scope_gain_1 global CH1_AC global CH2_AC global scope_mode global mode7_func global Rtest global scope_filter_value global scope_filter_enabled if channel == 1 scope_gain = scope_gain_1 AC_offset = CH2_AC * 1.65 else scope_gain = scope_gain_0 AC_offset = CH1_AC * 1.65 end cool_waveform = double(temp_waveform); if scope_mode==7 TOP = 2048; %%OVERRIDE DEFAULTS!! switch(scope_gain) case 0.5 offset = -0.27; case 1 offset = 0; case 2 offset = 0.037; case 4 offset = 0.053; case 8 offset = 0.055; case 16 offset = 0.028; case 32 offset= 0.035; case 64 offset = 0.0355 otherwise error('UNDOFRONTEND failed') end switch(mode7_func) case 'V' cool_waveform = (cool_waveform * (Vcc/2)) / (R4/(R3+R4)*scope_gain*TOP); cool_waveform = cool_waveform - AC_offset; cool_waveform = cool_waveform - offset; case 'I' cool_waveform = (cool_waveform * (Vcc/2)) / (R4/(R3+R4)*scope_gain*TOP); cool_waveform = cool_waveform - AC_offset; cool_waveform = cool_waveform - offset; cool_waveform = cool_waveform/Rtest case 'R' cool_waveform = (cool_waveform * (Vcc/2)) / (R4/(R3+R4)*scope_gain*TOP); cool_waveform = cool_waveform - AC_offset; cool_waveform = cool_waveform - offset; cool_waveform = (cool_waveform * Rtest) ./ ((Vcc/2) - cool_waveform); case 'C' cool_waveform = (cool_waveform * (Vcc/2)) / (R4/(R3+R4)*scope_gain*TOP); cool_waveform = cool_waveform - AC_offset; cool_waveform = cool_waveform - offset; %Capacitance calculation tt = 2.5; bt = 0.8; top_val = (tt/vref * R4/(R3+R4) * scope_gain * TOP) bot_val = (bt/vref * R4/(R3+R4) * scope_gain * TOP) global saved_waveform_ch1 global fastmode samples_per_sec = 375000 / (3 * fastmode + 1) range = length(saved_waveform_ch1) - samples_per_sec / 5 gtt = saved_waveform_ch1(range:end)>top_val; gtb = saved_waveform_ch1(range:end)0 cool_waveform = filter(ones(1,scope_filter_value)/scope_filter_value,1,cool_waveform); cool_waveform = cool_waveform(scope_filter_value:end); end end