Single frequency hop

multi_trace
erikkaashoek 5 years ago
parent 7482837ca4
commit d874d7fe88

@ -1010,32 +1010,47 @@ VNA_SHELL_FUNCTION(cmd_scan)
VNA_SHELL_FUNCTION(cmd_hop)
{
freq_t start, stop, step = 0;
if (argc < 2 || argc > 4) {
if (argc < 1 || argc > 4) {
shell_printf("usage: hop {start(Hz)} {stop(Hz)} {step(Hz) | points} [outmask]\r\n");
return;
}
start = my_atoui(argv[0]);
stop = my_atoui(argv[1]);
if (start > stop) {
shell_printf("frequency range is invalid\r\n");
return;
if (argc > 1)
stop = my_atoui(argv[1]);
else {
stop = start;
step = 1; // just to stop the loop
}
if (argc >= 3) {
step = my_atoui(argv[2]);
if (step <= POINTS_COUNT && step > 0) {
step = (stop - start) / step;
}
}
} else
step = 1;
pause_sweep();
// Output data after if set (faster data recive)
uint16_t mask = 3;
if (argc == 4) {
mask = my_atoui(argv[3]);
}
if (argc==2) {
mask = stop;
stop = start;
}
if (start > stop) {
shell_printf("frequency range is invalid\r\n");
return;
}
if (mask) {
int old_vbwSteps = vbwSteps;
vbwSteps = 1;
// vbwSteps = 1;
for (freq_t f = start; f <= stop; f += step) {
if (mask & 1) shell_printf("%Q ", f);
float v = PURE_TO_float(perform(false, 0, f, false));

Loading…
Cancel
Save

Powered by TurnKey Linux.