Multi band update

pull/65/head
erikkaashoek 3 years ago
parent 023922b8f5
commit be4f4d609d

@ -18,7 +18,7 @@
*/ */
#include "ch.h" #include "ch.h"
#ifdef TINYSA_F303 //#ifdef TINYSA_F303
#ifdef TINYSA_F072 #ifdef TINYSA_F072
#error "Remove comment for #ifdef TINYSA_F303" #error "Remove comment for #ifdef TINYSA_F303"
#endif #endif
@ -26,7 +26,7 @@
#define TINYSA4 #define TINYSA4
#endif #endif
#define TINYSA4_PROTO #define TINYSA4_PROTO
#endif //#endif
#ifdef TINYSA_F072 #ifdef TINYSA_F072
#ifdef TINYSA_F303 #ifdef TINYSA_F303

@ -1590,6 +1590,12 @@ static void trace_print_value_string( // Only used at one place
} else } else
freq += (setting.frequency_offset - FREQUENCY_SHIFT); freq += (setting.frequency_offset - FREQUENCY_SHIFT);
int negative = (freq > HALF_FREQ);
if (negative) {
freq = - freq;
*ptr2++ = '-';
}
// For CW mode output time // For CW mode output time
if (FREQ_IS_CW()) { if (FREQ_IS_CW()) {
plot_printf(ptr2, sizeof(buf2) - 9, "%.3Fs", idx*setting.actual_sweep_time_us/(float)((sweep_points - 1)*ONE_SECOND_TIME)); plot_printf(ptr2, sizeof(buf2) - 9, "%.3Fs", idx*setting.actual_sweep_time_us/(float)((sweep_points - 1)*ONE_SECOND_TIME));
@ -1602,17 +1608,11 @@ static void trace_print_value_string( // Only used at one place
step = step*10; step = step*10;
} }
} }
int negative = (freq > HALF_FREQ);
if (negative)
freq = - freq;
#ifdef TINYSA4 #ifdef TINYSA4
if (freq >= 1000000000) if (freq >= 1000000000)
digits += 3; digits += 3;
#endif #endif
if (negative) plot_printf(ptr2, sizeof(buf2) - 9, "%9.*QHz", digits, freq);
plot_printf(ptr2, sizeof(buf2) - 9, "-%9.*QHz", digits, freq);
else
plot_printf(ptr2, sizeof(buf2) - 9, "%9.*QHz", digits, freq);
} }
#ifdef __LEVEL_METER__ #ifdef __LEVEL_METER__
#ifdef TINYSA4 #ifdef TINYSA4

23
ui.c

@ -3302,9 +3302,30 @@ static UI_FUNCTION_ADV_CALLBACK(menu_multi_band_acb)
return; return;
} }
dirty = true; dirty = true;
freq_t old_start = get_sweep_frequency(ST_START);
freq_t old_stop = get_sweep_frequency(ST_STOP);
setting.multi_band = ! setting.multi_band; setting.multi_band = ! setting.multi_band;
redraw_request|= REDRAW_AREA | REDRAW_FREQUENCY | REDRAW_CAL_STATUS; redraw_request|= REDRAW_AREA | REDRAW_FREQUENCY | REDRAW_CAL_STATUS;
if (setting.multi_band) menu_push_submenu(menu_band_select); if (setting.multi_band) {
if (setting.bands[0].end == 0) {
setting.bands[0].start = old_start;
setting.bands[0].end = old_stop;
}
menu_push_submenu(menu_band_select);
} else {
for (int i=0;i< BANDS_MAX;i++) {
if (setting.bands[i].enabled) {
set_sweep_frequency(ST_START,setting.bands[i].start);
break;
}
}
for (int i=BANDS_MAX-1;i>=0;i--) {
if (setting.bands[i].enabled) {
set_sweep_frequency(ST_STOP,setting.bands[i].end);
break;
}
}
}
} }
static UI_FUNCTION_ADV_CALLBACK(menu_multi_trace_acb) static UI_FUNCTION_ADV_CALLBACK(menu_multi_trace_acb)

Loading…
Cancel
Save

Powered by TurnKey Linux.