Updated spur shifts and 10MHz keypad

pull/4/head
erikkaashoek 6 years ago
parent dc46aa0ccb
commit 5140ccde5a

@ -1,5 +1,4 @@
/* Copyright (c) 2020, Erik Kaashoek erik@kaashoek.com /* All rights reserved.
* All rights reserved.
* *
* This is free software; you can redistribute it and/or modify * This is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -493,8 +492,8 @@ void set_spur(int v)
if (setting.mode!=M_LOW) if (setting.mode!=M_LOW)
return; return;
setting.spur = v; setting.spur = v;
if (setting.spur && actual_rbw > 360) // if (setting.spur && actual_rbw > 360) // moved to update_rbw
set_RBW(300); // set_RBW(300);
dirty = true; dirty = true;
} }
#endif #endif
@ -978,13 +977,17 @@ void update_rbw(void)
setting.vbw = 300; // trick to get right default rbw in zero span mode setting.vbw = 300; // trick to get right default rbw in zero span mode
} }
actual_rbw = setting.rbw; actual_rbw = setting.rbw;
if (actual_rbw == 0) if (actual_rbw == 0) {
actual_rbw = 2*setting.vbw; actual_rbw = 2*setting.vbw;
}
if (actual_rbw < 2.6) if (actual_rbw < 2.6)
actual_rbw = 2.6; actual_rbw = 2.6;
if (actual_rbw > 600) if (actual_rbw > 600)
actual_rbw = 600; actual_rbw = 600;
if (setting.spur && actual_rbw > 300)
actual_rbw = 250;
SI4432_Sel = MODE_SELECT(setting.mode); SI4432_Sel = MODE_SELECT(setting.mode);
actual_rbw = SI4432_SET_RBW(actual_rbw); actual_rbw = SI4432_SET_RBW(actual_rbw);
@ -1346,8 +1349,12 @@ float perform(bool break_on_operation, int i, uint32_t f, int tracking)
else else
setting.below_IF = S_AUTO_OFF; setting.below_IF = S_AUTO_OFF;
} }
else else {
local_IF = local_IF + (int)(actual_rbw < 350.0 ? setting.spur*300000 : 0 ); int32_t spur_offset = actual_rbw * 1000;
if (setting.spur == -1)
spur_offset = - spur_offset;
local_IF = local_IF + spur_offset;
}
#endif #endif
} else { } else {
// local_IF = setting.frequency_IF ; // local_IF = setting.frequency_IF ;

@ -508,7 +508,7 @@ static const keypads_t * const keypads_mode_tbl[] = {
keypads_plusmin, // KM_LOWOUTLEVEL keypads_plusmin, // KM_LOWOUTLEVEL
keypads_positive, // KM_DECAY keypads_positive, // KM_DECAY
keypads_positive, // KM_NOISE keypads_positive, // KM_NOISE
keypads_plusmin, // KM_10MHz keypads_freq, // KM_10MHz
keypads_positive, // KM_REPEA keypads_positive, // KM_REPEA
keypads_plusmin, // KM_OFFSET keypads_plusmin, // KM_OFFSET
keypads_plusmin_unit, // KM_TRIGGER keypads_plusmin_unit, // KM_TRIGGER
@ -525,7 +525,7 @@ static const char * const keypad_mode_label[] = {
static const char * const keypad_mode_label[] = { static const char * const keypad_mode_label[] = {
"error", "START", "STOP", "CENTER", "SPAN", "FREQ", "\2REF\0LEVEL", "SCALE", // 0-7 "error", "START", "STOP", "CENTER", "SPAN", "FREQ", "\2REF\0LEVEL", "SCALE", // 0-7
"ATTENUATE", "\2ACTUAL\0POWER", "IF", "\2SAMPLE\0DELAY", "DRIVE", "LEVEL", "SCANS", "LEVEL", // 8-15 "ATTENUATE", "\2ACTUAL\0POWER", "IF", "\2SAMPLE\0DELAY", "DRIVE", "LEVEL", "SCANS", "LEVEL", // 8-15
"OFFSET" , "\2SAMPLE\0REPEAT", "OFFSET", "\2TRIGGER\0LEVEL", "\2LEVEL\0SWEEP", "\2SWEEP\0SECONDS"// 16- "FREQ" , "\2SAMPLE\0REPEAT", "OFFSET", "\2TRIGGER\0LEVEL", "\2LEVEL\0SWEEP", "\2SWEEP\0SECONDS"// 16-
}; };
#endif #endif

Loading…
Cancel
Save

Powered by TurnKey Linux.