From 315b0280205cc525c2891aaf810f46b617653126 Mon Sep 17 00:00:00 2001 From: erikkaashoek Date: Wed, 20 May 2020 11:22:45 +0200 Subject: [PATCH] Updated ULTRA mode --- nanovna.h | 2 +- sa_core.c | 21 ++++++++++----------- ui_sa.c | 8 ++++---- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/nanovna.h b/nanovna.h index 8fe2771..dfb87f3 100644 --- a/nanovna.h +++ b/nanovna.h @@ -30,7 +30,7 @@ #define __MEASURE__ #define __SELFTEST__ #define __CALIBRATE__ -//#define __ULTRA__ // Add harmonics mode on low input. +#define __ULTRA__ // Add harmonics mode on low input. //#define __ULTRA_SA__ // Adds ADF4351 control for extra high 1st IF stage #define __SPUR__ // Does spur reduction by shifting IF diff --git a/sa_core.c b/sa_core.c index 22cea00..60519a4 100644 --- a/sa_core.c +++ b/sa_core.c @@ -67,7 +67,7 @@ void reset_settings(int m) break; #ifdef __ULTRA__ case M_ULTRA: - minFreq = 870000000; + minFreq = 684000000; if (setting.harmonic * 240000000 > 870000000) minFreq = setting.harmonic * 240000000; if (setting.harmonic == 0) @@ -378,12 +378,12 @@ void SetSpur(int v) void set_harmonic(int h) { setting.harmonic = h; - minFreq = 870000000; - if (setting.harmonic * 240000000 > 870000000) - minFreq = setting.harmonic * 240000000; + minFreq = 684000000.0; + if (setting.harmonic * 240000000+434000000 > minFreq) + minFreq = setting.harmonic * 240000000.0+434000000.0; maxFreq = 4360000000; - if (setting.harmonic != 0 && 960000000.0 * setting.harmonic < 4360000000.0) - maxFreq = ((uint32_t)960000000) * (uint32_t)setting.harmonic; + if (setting.harmonic != 0 && (960000000.0 * setting.harmonic + 434000000.0 )< 4360000000.0) + maxFreq = (960000000.0 * setting.harmonic + 434000000.0 ); set_sweep_frequency(ST_START, (uint32_t) minFreq); set_sweep_frequency(ST_STOP, (uint32_t) maxFreq); } @@ -933,7 +933,7 @@ float perform(bool break_on_operation, int i, uint32_t f, int tracking) modulation_counter = 0; else modulation_counter++; - chThdSleepMicroseconds(200); +// chThdSleepMicroseconds(200); } float RSSI = -150.0; @@ -990,11 +990,10 @@ again: // else if (lf > 2446000000 ) set_freq (1, local_IF/5 + lf/5); - else -// if (lf > 1486000000) + else if (lf >= 1394000000) set_freq (1, local_IF/3 + lf/3); -// else -// setFreq (1, local_IF/2 + lf/2); + else + set_freq (1, local_IF + lf); } else #endif { // Else set LO ('s) diff --git a/ui_sa.c b/ui_sa.c index 044ee57..49d1042 100644 --- a/ui_sa.c +++ b/ui_sa.c @@ -1238,7 +1238,10 @@ static const menuitem_t menu_settings2[] = { MT_CALLBACK, 4, "\2BELOW\0IF", menu_settings2_cb}, { MT_KEYPAD, KM_DECAY,"\2HOLD\0TIME", NULL}, { MT_KEYPAD, KM_NOISE,"\2NOISE\0LEVEL", NULL}, - { MT_KEYPAD, KM_10MHZ,"\00210MHZ\0ACTUAL", NULL}, +#ifdef __ULTRA__ + { MT_SUBMENU,0, "HARMONIC", menu_harmonic}, +#endif +// { MT_KEYPAD, KM_10MHZ,"\00210MHZ\0ACTUAL", NULL}, { MT_CANCEL, 0, S_LARROW" BACK", NULL }, { MT_NONE, 0, NULL, NULL } // sentinel }; @@ -1261,9 +1264,6 @@ static const menuitem_t menu_settings[] = { MT_SUBMENU,0, "\2SCAN\0SPEED", menu_scanning_speed}, { MT_KEYPAD, KM_REPEAT, "REPEATS", NULL}, { MT_SUBMENU,0, "\2MIXER\0DRIVE", menu_drive}, -#ifdef __ULTRA__ - { MT_SUBMENU,0, "HARMONIC", menu_harmonic}, -#endif { MT_SUBMENU, 0, S_RARROW" MORE", menu_settings2}, { MT_CANCEL, 0, S_LARROW" BACK", NULL }, { MT_NONE, 0, NULL, NULL } // sentinel