diff --git a/global.h b/global.h index a6ad5e9..2ec28a6 100644 --- a/global.h +++ b/global.h @@ -35,7 +35,7 @@ #define PROGRAM_NAME "DSRemote" -#define PROGRAM_VERSION "0.31_1601091241" +#define PROGRAM_VERSION "0.32_1601091426" #define MAX_PATHLEN 4096 diff --git a/interface.cpp b/interface.cpp index 4f194f4..c47ac48 100644 --- a/interface.cpp +++ b/interface.cpp @@ -3298,9 +3298,9 @@ void UI_Mainwindow::toggle_fft_unit() if(devparms.math_fft_unit == 1) { - devparms.fft_vscale = 0.5; + devparms.fft_vscale = 1.0; - devparms.fft_voffset = -2.0; + devparms.fft_voffset = 0.0; devparms.math_fft_unit = 0; @@ -3313,6 +3313,10 @@ void UI_Mainwindow::toggle_fft_unit() set_cue_cmd(":MATH:FFT:UNIT VRMS"); } + sprintf(str, ":MATH:OFFS %e", devparms.fft_voffset); + + set_cue_cmd(str); + sprintf(str, ":MATH:SCAL %e", devparms.fft_vscale); set_cue_cmd(str); @@ -3329,6 +3333,8 @@ void UI_Mainwindow::toggle_fft_unit() devparms.fft_voffset = 20.0; + devparms.math_fft_unit = 1; + if(devparms.modelserie == 6) { set_cue_cmd(":CALC:FFT:VSM DBVR"); @@ -3338,6 +3344,10 @@ void UI_Mainwindow::toggle_fft_unit() set_cue_cmd(":MATH:FFT:UNIT DB"); } + sprintf(str, ":MATH:OFFS %e", devparms.fft_voffset); + + set_cue_cmd(str); + sprintf(str, ":MATH:SCAL %e", devparms.fft_vscale); set_cue_cmd(str); @@ -3346,8 +3356,6 @@ void UI_Mainwindow::toggle_fft_unit() set_cue_cmd(str); - devparms.math_fft_unit = 1; - statusLabel->setText("FFT unit: dB"); } } diff --git a/mainwindow.cpp b/mainwindow.cpp index ee41cc4..d4dccd3 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -352,6 +352,8 @@ void UI_Mainwindow::open_connection() sprintf(str, PROGRAM_NAME " " PROGRAM_VERSION " %s %s %s", devparms.serialnr, devparms.softwvers, dev_str); +// sprintf(str, PROGRAM_NAME " " PROGRAM_VERSION " %s %s", +// devparms.softwvers, dev_str); setWindowTitle(str); @@ -3235,9 +3237,9 @@ void UI_Mainwindow::chan_scale_minus() } else { - if(devparms.fft_vscale < 2.0) + if(devparms.fft_vscale < 1.0) { - devparms.fft_vscale = 2.0; + devparms.fft_vscale = 1.0; } } diff --git a/screen_thread.cpp b/screen_thread.cpp index 75fa4c6..150ee69 100644 --- a/screen_thread.cpp +++ b/screen_thread.cpp @@ -30,7 +30,7 @@ #define SPECT_LOG_MINIMUM (0.00000001) -#define SPECT_LOG_MINIMUM_LOG (-8) +#define SPECT_LOG_MINIMUM_LOG (-80) void screenThread::set_device(struct tmcdev *tmdev) @@ -686,8 +686,8 @@ void screenThread::run() { params.fftbuf_out[k] = SPECT_LOG_MINIMUM; } - - params.fftbuf_out[k] = log10(params.fftbuf_out[k]); + // convert to deciBel's, not to Bel's! + params.fftbuf_out[k] = log10(params.fftbuf_out[k]) * 10.0; if(params.fftbuf_out[k] < SPECT_LOG_MINIMUM_LOG) { diff --git a/signalcurve.cpp b/signalcurve.cpp index 50e619b..f3d2752 100644 --- a/signalcurve.cpp +++ b/signalcurve.cpp @@ -759,9 +759,9 @@ void SignalCurve::drawFFT(QPainter *painter, int curve_h_b, int curve_w_b) h_step /= 24.0; } - fft_v_sense = curve_h / (-0.8 * devparms->fft_vscale); + fft_v_sense = (double)curve_h / (-8.0 * devparms->fft_vscale); - fft_v_offset = (curve_h / 2.0) - (((double)curve_h / (8.0 * devparms->fft_vscale)) * devparms->fft_voffset); + fft_v_offset = (curve_h / 2.0) + (fft_v_sense * devparms->fft_voffset); fft_h_offset = (curve_w / 2) - ((devparms->math_fft_hcenter / devparms->math_fft_hscale) * curve_w / devparms->hordivisions);