From 6833ea601a877d9d9dc240b46aba332ba27117cb Mon Sep 17 00:00:00 2001 From: DiSlord Date: Mon, 6 Jul 2020 20:35:44 +0300 Subject: [PATCH] Fix waterfall for 145 points Prepare for 3d buttons update (fix keyboard draw buttons) --- nanovna.h | 5 +++-- plot.c | 12 ++++++++++-- sa_cmd.c | 5 +++-- ui.c | 15 ++++++++++++++- 4 files changed, 30 insertions(+), 7 deletions(-) diff --git a/nanovna.h b/nanovna.h index a4f79b9..8cf0bb2 100644 --- a/nanovna.h +++ b/nanovna.h @@ -135,7 +135,6 @@ void toggle_sweep(void); void toggle_mute(void); void load_default_properties(void); -extern float perform(bool b, int i, uint32_t f, int e); enum { AV_OFF, AV_MIN, AV_MAX_HOLD, AV_MAX_DECAY, AV_4, AV_16 }; @@ -874,6 +873,8 @@ typedef int16_t pureRSSI_t; #define float_TO_PURE_RSSI(rssi) ((rssi)*32.0) #define PURE_TO_float(rssi) ((rssi)/32.0) +extern uint16_t actual_rbw_x10; + int get_waterfall(void); void toggle_tracking(void); void calibrate(void); @@ -892,7 +893,7 @@ void wait_user(void); void calibrate(void); float to_dBm(float); uint32_t calc_min_sweep_time_us(void); -extern uint16_t actual_rbw_x10; +float perform(bool b, int i, uint32_t f, int e); enum { M_OFF, M_IMD, M_OIP3, M_PHASE_NOISE, M_STOP_BAND, M_PASS_BAND, M_LINEARITY diff --git a/plot.c b/plot.c index cfdf78a..dd5b800 100644 --- a/plot.c +++ b/plot.c @@ -2216,7 +2216,10 @@ redraw_frame(void) static void update_waterfall(void){ int i; - int w_width = area_width < 290 ? area_width : 290; + int w_width = area_width < POINTS_COUNT ? area_width : POINTS_COUNT; + // Waterfall only in 290 or 145 points + if (!(sweep_points == 290 || sweep_points == 145)) + return; for (i = HEIGHT_NOSCROLL-1; i >=HEIGHT_SCROLL+2; i--) { // Scroll down ili9341_read_memory(OFFSETX, i , w_width, 1, w_width*1, spi_buffer); ili9341_bulk(OFFSETX, i+1, w_width, 1); @@ -2265,7 +2268,12 @@ static void update_waterfall(void){ else color = RGB565( 0, 124-((y-160)*4), 252-((y-160)*4)); #endif - spi_buffer[i] = color; + if (sweep_points == 290) + spi_buffer[i] = color; + else { + spi_buffer[2*i ] = color; + spi_buffer[2*i+1] = color; + } } ili9341_bulk(OFFSETX, HEIGHT_SCROLL+2, w_width, 1); } diff --git a/sa_cmd.c b/sa_cmd.c index 3511919..746fb4a 100644 --- a/sa_cmd.c +++ b/sa_cmd.c @@ -560,9 +560,9 @@ VNA_SHELL_FUNCTION(cmd_scanraw) } operation_requested = false; for (uint32_t i = 0; i