Add zero command

Removed_REF_marker
erikkaashoek 5 years ago
parent 791d940a8d
commit 082e465a2e

@ -990,6 +990,7 @@ config_t config = {
.cor_am = -14,
.cor_wfm = -17,
.cor_nfm = -17,
.ext_zero_level = 128,
#endif
#ifdef TINYSA4
.vbat_offset = 220,
@ -1010,6 +1011,7 @@ config_t config = {
.cor_nfm = -55,
.ultra = false,
.high_out_adf4350 = true,
.ext_zero_level = 174,
#endif
.sweep_voltage = 3.3,
.switch_offset = 0.0,
@ -2377,6 +2379,7 @@ static const VNAShellCommand commands[] =
// {"gamma" , cmd_gamma , 0},
{"scan" , cmd_scan , CMD_WAIT_MUTEX},
{"scanraw" , cmd_scanraw , CMD_WAIT_MUTEX},
{"zero" , cmd_zero , CMD_WAIT_MUTEX},
{"sweep" , cmd_sweep , 0},
{"test" , cmd_test , 0},
{"touchcal" , cmd_touchcal , CMD_WAIT_MUTEX},

@ -616,6 +616,7 @@ typedef struct config {
uint8_t high_out_adf4350;
float sweep_voltage;
float switch_offset;
int16_t ext_zero_level;
uint32_t dummy;
// uint8_t _reserved[22];
freq_t checksum;
@ -1240,12 +1241,7 @@ typedef uint8_t deviceRSSI_t;
typedef int16_t pureRSSI_t;
// RSSI values conversion macro
// External programm zero level settings (need decrease on this value -)
#ifdef TINYSA4
#define EXT_ZERO_LEVEL (174)
#else
#define EXT_ZERO_LEVEL (128)
#endif
#define DEVICE_TO_PURE_RSSI(rssi) ((rssi)<<4)
#define PURE_TO_DEVICE_RSSI(rssi) ((rssi)>>4)
#define float_TO_PURE_RSSI(rssi) ((rssi)*32)

@ -284,7 +284,6 @@ draw_on_strut(int v0, int d, int color)
}
#endif
/*
* calculate log10f(abs(gamma))
*/
@ -940,11 +939,12 @@ draw_cell(int m, int n)
#endif
// Draw trigger line
if (setting.trigger != T_AUTO) {
c = GET_PALTETTE_COLOR(LCD_TRIGGER_COLOR);
int tp = get_trigger_level() - y0;
if (tp>=0 && tp < h)
for (x = 0; x < w; x++)
if ((uint32_t)(x + x0 - CELLOFFSETX) <= WIDTH + CELLOFFSETX)
cell_buffer[tp * CELLWIDTH + x] = LCD_TRIGGER_COLOR;
cell_buffer[tp * CELLWIDTH + x] = c;
}
#if 1

@ -328,6 +328,17 @@ VNA_SHELL_FUNCTION(cmd_if)
}
}
VNA_SHELL_FUNCTION(cmd_zero)
{
if (argc != 1) {
usage:
shell_printf("usage: zero {level}\r\n%ddBm\r\n", config.ext_zero_level);
return;
} else {
config.ext_zero_level = my_atoi(argv[0]);
}
}
#ifdef TINYSA4
VNA_SHELL_FUNCTION(cmd_ultra_start)
{
@ -676,7 +687,7 @@ void sweep_remote(void)
for (i = 0; i <= step; i++, f+=delta) {
if (operation_requested)
break;
int val = perform(false, i, f, false) + float_TO_PURE_RSSI(EXT_ZERO_LEVEL);
int val = perform(false, i, f, false) + float_TO_PURE_RSSI(config.ext_zero_level);
streamPut(shell_stream, 'x');
streamPut(shell_stream, (uint8_t)(val & 0xFF));
streamPut(shell_stream, (uint8_t)((val>>8) & 0xFF));
@ -822,7 +833,7 @@ VNA_SHELL_FUNCTION(cmd_scanraw)
dirty = true;
for (uint32_t i = 0; i<points; i++) {
int val = perform(false, i, start +(freq_t)(f_step * i), false) + float_TO_PURE_RSSI(EXT_ZERO_LEVEL);
int val = perform(false, i, start +(freq_t)(f_step * i), false) + float_TO_PURE_RSSI(config.ext_zero_level);
if (operation_requested && SDU1.config->usbp->state != USB_ACTIVE) // break on operation in perform
break;
streamPut(shell_stream, 'x');

Loading…
Cancel
Save

Powered by TurnKey Linux.