More digits

pull/119/merge
erikkaashoek 1 month ago
parent 271bcfb45a
commit 5eb29714bd

@ -1940,11 +1940,21 @@ draw_frequencies(void)
plot_printf(buf2, sizeof(buf2), " TIME %.3Fs", (float)t/ONE_SECOND_TIME);
} else if (FREQ_IS_STARTSTOP()) {
#ifdef TINYSA4
plot_printf(buf1, sizeof(buf1), " START %.6QHz %5.1QHz/ %s", get_sweep_frequency(ST_START) + (setting.frequency_offset - FREQUENCY_SHIFT), grid_span, shift);
plot_printf(buf2, sizeof(buf2), " STOP %.6QHz", get_sweep_frequency(ST_STOP) + (setting.frequency_offset - FREQUENCY_SHIFT));
#else
plot_printf(buf1, sizeof(buf1), " START %.3QHz %5.1QHz/ %s", get_sweep_frequency(ST_START) + (setting.frequency_offset - FREQUENCY_SHIFT), grid_span, shift);
plot_printf(buf2, sizeof(buf2), " STOP %.3QHz", get_sweep_frequency(ST_STOP) + (setting.frequency_offset - FREQUENCY_SHIFT));
#endif
} else if (FREQ_IS_CENTERSPAN()) {
#ifdef TINYSA4
plot_printf(buf1, sizeof(buf1), " CENTER %.6QHz %5.1QHz/ %s", get_sweep_frequency(ST_CENTER) + (setting.frequency_offset - FREQUENCY_SHIFT), grid_span, shift);
plot_printf(buf2, sizeof(buf2), " SPAN %.6QHz", get_sweep_frequency(ST_SPAN));
#else
plot_printf(buf1, sizeof(buf1), " CENTER %.3QHz %5.1QHz/ %s", get_sweep_frequency(ST_CENTER) + (setting.frequency_offset - FREQUENCY_SHIFT), grid_span, shift);
plot_printf(buf2, sizeof(buf2), " SPAN %.3QHz", get_sweep_frequency(ST_SPAN));
#endif
}
ili9341_set_foreground(LCD_FG_COLOR);
ili9341_set_background(LCD_BG_COLOR);

@ -232,7 +232,7 @@ bool PE4302_Write_Byte(unsigned char DATA )
if (SI4432_SPI_SPEED != PE_SPI_SPEED)
SPI_BR_SET(SI4432_SPI, PE_SPI_SPEED);
SPI_WRITE_8BIT(SI4432_SPI, DATA);
while (SPI_IS_BUSY(SI4432_SPI));
while (SPI_IS_BUSY(SI4432_SPI)){}
#else // Run PE4312 in SW mode to avoid disturbances
set_SPI_mode(SPI_MODE_PE);
software_shiftOut(DATA);
@ -403,7 +403,7 @@ void ADF4351_Latch(void)
{
if (ADF4351_dirty == false)
return;
while (SPI_IS_BUSY(SI4432_SPI)); // drop rx and wait tx
while (SPI_IS_BUSY(SI4432_SPI)){} // drop rx and wait tx
CS_ADF0_HIGH;
}
@ -522,7 +522,7 @@ freq_t xtal;
uint64_t ADF4351_set_frequency(int channel, uint64_t freqHz) {
(void) channel;
// RFout = xtalFreqHz × (N + FRAC/MOD) = xtalFreqHz × (N * MOD + FRAC) / MOD
// RFout = xtalFreqHz <EFBFBD> (N + FRAC/MOD) = xtalFreqHz <20> (N * MOD + FRAC) / MOD
// step = xtalFreqHz / MOD; !!!! should get integer result, also this result should divided by 16
// for 24M step = 24M / 4000 = 6k and 6k/16 = 375
// Nx = RFout / step
@ -1310,7 +1310,7 @@ void SI4463_do_first_api(void* data, uint8_t len, void* out, uint8_t outLen)
while (SPI_TX_IS_NOT_EMPTY(SI4432_SPI));
SPI_WRITE_8BIT(SI4432_SPI, *ptr++);
}
while (SPI_IS_BUSY(SI4432_SPI));
while (SPI_IS_BUSY(SI4432_SPI)){}
#else
while (len--)
shiftOut(*ptr++); // (pgm_read_byte(&((uint8_t*)data)[i]));
@ -1359,7 +1359,7 @@ int SI4463_do_api(void* data, uint8_t len, void* out, uint8_t outLen)
while (SPI_TX_IS_NOT_EMPTY(SI4432_SPI));
SPI_WRITE_8BIT(SI4432_SPI, *ptr++);
}
while (SPI_IS_BUSY(SI4432_SPI));
while (SPI_IS_BUSY(SI4432_SPI)){}
#else
while (len--)
shiftOut(*ptr++); // (pgm_read_byte(&((uint8_t*)data)[i]));

63
ui.c

@ -1595,7 +1595,7 @@ static const menuitem_t menu_settings3[];
static const menuitem_t menu_measure_noise_figure[];
static const menuitem_t menu_calibrate_harmonic[];
static const menuitem_t menu_calibrate_normal[];
static const menuitem_t menu_calibrate_max[];
//static const menuitem_t menu_calibrate_max[];
#endif
static const menuitem_t menu_calibrate[];
static const menuitem_t menu_sweep[];
@ -5452,35 +5452,54 @@ static void menu_item_modify_attribute( // To modify menu bu
static void fetch_numeric_target(uint8_t mode)
{
char *out_format = "%.3QHz";
switch (mode) {
case KM_START:
uistat.freq_value = get_sweep_frequency(ST_START) + (setting.frequency_offset - FREQUENCY_SHIFT);
plot_printf(uistat.text, sizeof uistat.text, "%.3QHz", uistat.freq_value);
#ifdef TINYSA4
if (uistat.freq_value > 990000000UL)
out_format = "%.6Q";
#endif
plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value);
break;
case KM_STOP:
uistat.freq_value = get_sweep_frequency(ST_STOP) + (setting.frequency_offset - FREQUENCY_SHIFT);
plot_printf(uistat.text, sizeof uistat.text, "%.3QHz", uistat.freq_value);
#ifdef TINYSA4
if (uistat.freq_value > 990000000UL)
out_format = "%.6Q";
#endif
plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value);
break;
case KM_CENTER:
uistat.freq_value = get_sweep_frequency(ST_CENTER) + (setting.frequency_offset - FREQUENCY_SHIFT);
char *out_format = "%.3QHz";
#ifdef TINYSA4
if (MODE_OUTPUT(setting.mode)) {
if (uistat.freq_value > 990000000UL)
out_format = "%.9QHz";
else if (uistat.freq_value > 990000UL)
out_format = "%.6QHz";
}
out_format = "%.6Q";
} else
if (uistat.freq_value >= 1e9)
out_format = "%.6Q";
#endif
plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value);
break;
case KM_SPAN:
uistat.freq_value = get_sweep_frequency(ST_SPAN);
plot_printf(uistat.text, sizeof uistat.text, "%.3QHz", uistat.freq_value);
#ifdef TINYSA4
if (uistat.freq_value > 990000000UL)
out_format = "%.6Q";
#endif
plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value);
break;
case KM_CW:
uistat.freq_value = get_sweep_frequency(ST_CW) + (setting.frequency_offset - FREQUENCY_SHIFT);
plot_printf(uistat.text, sizeof uistat.text, "%.3QHz", uistat.freq_value);
#ifdef TINYSA4
if (uistat.freq_value > 990000000UL)
out_format = "%.6Q";
#endif
plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value);
break;
case KM_SCALE:
case KM_LINEAR_SCALE:
@ -5631,19 +5650,35 @@ static void fetch_numeric_target(uint8_t mode)
#ifdef __BANDS__
case KM_BAND_START:
uistat.freq_value = setting.bands[active_band].start + (setting.frequency_offset - FREQUENCY_SHIFT);;
plot_printf(uistat.text, sizeof uistat.text, "%.3QHz", uistat.freq_value);
#ifdef TINYSA4
if (uistat.freq_value > 990000000UL)
out_format = "%.6Q";
#endif
plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value);
break;
case KM_BAND_END:
uistat.freq_value = setting.bands[active_band].end + (setting.frequency_offset - FREQUENCY_SHIFT);;
plot_printf(uistat.text, sizeof uistat.text, "%.3QHz", uistat.freq_value);
#ifdef TINYSA4
if (uistat.freq_value > 990000000UL)
out_format = "%.6Q";
#endif
plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value);
break;
case KM_BAND_CENTER:
uistat.freq_value = (setting.bands[active_band].end + setting.bands[active_band].start)/2 + (setting.frequency_offset - FREQUENCY_SHIFT);
plot_printf(uistat.text, sizeof uistat.text, "%.3QHz", uistat.freq_value);
#ifdef TINYSA4
if (uistat.freq_value > 990000000UL)
out_format = "%.6Q";
#endif
plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value);
break;
case KM_BAND_SPAN:
uistat.freq_value = abs(setting.bands[active_band].end-setting.bands[active_band].start);
plot_printf(uistat.text, sizeof uistat.text, "%.3QHz", uistat.freq_value);
uistat.freq_value = abs((long)setting.bands[active_band].end-(long)setting.bands[active_band].start);
#ifdef TINYSA4
if (uistat.freq_value > 990000000UL)
out_format = "%.6Q";
#endif
plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value);
break;
case KM_BAND_LEVEL:
uistat.value = value(setting.bands[active_band].level);
@ -5927,7 +5962,7 @@ set_numeric_value(void)
break;
case KM_BAND_CENTER:
{
freq_t span = abs(setting.bands[active_band].end - setting.bands[active_band].start);
freq_t span = abs((long)setting.bands[active_band].end - (long)setting.bands[active_band].start);
freq_t center = uistat.freq_value - (setting.frequency_offset - FREQUENCY_SHIFT);
setting.bands[active_band].start = center - span/2;
setting.bands[active_band].end = center + span/2;

Loading…
Cancel
Save

Powered by TurnKey Linux.