diff --git a/plot.c b/plot.c index b6033bf..8967669 100644 --- a/plot.c +++ b/plot.c @@ -334,8 +334,8 @@ marker_to_value(const int i) #endif ) setting.unit = U_WATT; // Noise averaging should always be done in Watts - v = 0; - for (int i=0; i> SCALE_FACTOR; - scaled_correction_multi[c][i] = m; // (int32_t) ( m / d ); - } + scaled_correction_value[c][0] = config.correction_value[c][0] * (1 << (SCALE_FACTOR)); + for (int i = 1; i < CORRECTION_POINTS; i++) { + scaled_correction_value[c][i] = config.correction_value[c][i] * (1 << (SCALE_FACTOR)); + int32_t m = scaled_correction_value[c][i] - scaled_correction_value[c][i-1]; + // int32_t d = (setting.correction_frequency[i] - setting.correction_frequency[i-1]) >> SCALE_FACTOR; + scaled_correction_multi[c][i] = m; // (int32_t) ( m / d ); + } } } #pragma GCC push_options @@ -3781,8 +3785,9 @@ pureRSSI_t perform(bool break_on_operation, int i, freq_t f, int tracking) / } } if (i == 0) { - for (int t=0;t stored_t[d_start + i]) d_offset = stored_t[d_start + i]; + if (d_offset > stored_t[d_start]) + d_offset = stored_t[d_start]; // d_offset -= 1; // To avoid divide by zero - for (int i=0; i m+25) real[i] = temp_t[i] - m; } + if (temp_t[0] > m + 25) + real[0] = temp_t[0] - m; FFT(real, imag, 256, false); #if 1 #if 0 @@ -6069,8 +6082,8 @@ static volatile int dummy; trace[TRACE_STORED].enabled = true; adc_buf_read(ADC_CHSELR_CHSEL4, spi_buffer, 290); #if 1 // Perform FFT on input - int32_t zero = 0; - for (int i=0;i<256;i++) { + int32_t zero = spi_buffer[0]; + for (int i=255;i!=0;i--) { zero += spi_buffer[i]; } zero = zero >> 8; @@ -6715,10 +6728,10 @@ float measure_jump(int i) { (void) i; redraw_request |= REDRAW_AREA | REDRAW_CAL_STATUS; draw_all(TRUE); - float left=0, - right = 0; + float left = actual_t[0]; + float right = 0; int h_p = setting._sweep_points/2; - for (int j = 0; j < h_p; j++) { + for (int j = h_p - 1; j != 0; j--) { left += actual_t[j]; } left /= h_p;