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); plot_printf(buf2, sizeof(buf2), " TIME %.3Fs", (float)t/ONE_SECOND_TIME);
} else if (FREQ_IS_STARTSTOP()) { } 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(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)); plot_printf(buf2, sizeof(buf2), " STOP %.3QHz", get_sweep_frequency(ST_STOP) + (setting.frequency_offset - FREQUENCY_SHIFT));
#endif
} else if (FREQ_IS_CENTERSPAN()) { } 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(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)); plot_printf(buf2, sizeof(buf2), " SPAN %.3QHz", get_sweep_frequency(ST_SPAN));
#endif
} }
ili9341_set_foreground(LCD_FG_COLOR); ili9341_set_foreground(LCD_FG_COLOR);
ili9341_set_background(LCD_BG_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) if (SI4432_SPI_SPEED != PE_SPI_SPEED)
SPI_BR_SET(SI4432_SPI, PE_SPI_SPEED); SPI_BR_SET(SI4432_SPI, PE_SPI_SPEED);
SPI_WRITE_8BIT(SI4432_SPI, DATA); 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 #else // Run PE4312 in SW mode to avoid disturbances
set_SPI_mode(SPI_MODE_PE); set_SPI_mode(SPI_MODE_PE);
software_shiftOut(DATA); software_shiftOut(DATA);
@ -403,7 +403,7 @@ void ADF4351_Latch(void)
{ {
if (ADF4351_dirty == false) if (ADF4351_dirty == false)
return; 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; CS_ADF0_HIGH;
} }
@ -522,7 +522,7 @@ freq_t xtal;
uint64_t ADF4351_set_frequency(int channel, uint64_t freqHz) { uint64_t ADF4351_set_frequency(int channel, uint64_t freqHz) {
(void) channel; (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 // step = xtalFreqHz / MOD; !!!! should get integer result, also this result should divided by 16
// for 24M step = 24M / 4000 = 6k and 6k/16 = 375 // for 24M step = 24M / 4000 = 6k and 6k/16 = 375
// Nx = RFout / step // 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)); while (SPI_TX_IS_NOT_EMPTY(SI4432_SPI));
SPI_WRITE_8BIT(SI4432_SPI, *ptr++); SPI_WRITE_8BIT(SI4432_SPI, *ptr++);
} }
while (SPI_IS_BUSY(SI4432_SPI)); while (SPI_IS_BUSY(SI4432_SPI)){}
#else #else
while (len--) while (len--)
shiftOut(*ptr++); // (pgm_read_byte(&((uint8_t*)data)[i])); 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)); while (SPI_TX_IS_NOT_EMPTY(SI4432_SPI));
SPI_WRITE_8BIT(SI4432_SPI, *ptr++); SPI_WRITE_8BIT(SI4432_SPI, *ptr++);
} }
while (SPI_IS_BUSY(SI4432_SPI)); while (SPI_IS_BUSY(SI4432_SPI)){}
#else #else
while (len--) while (len--)
shiftOut(*ptr++); // (pgm_read_byte(&((uint8_t*)data)[i])); shiftOut(*ptr++); // (pgm_read_byte(&((uint8_t*)data)[i]));

65
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_measure_noise_figure[];
static const menuitem_t menu_calibrate_harmonic[]; static const menuitem_t menu_calibrate_harmonic[];
static const menuitem_t menu_calibrate_normal[]; static const menuitem_t menu_calibrate_normal[];
static const menuitem_t menu_calibrate_max[]; //static const menuitem_t menu_calibrate_max[];
#endif #endif
static const menuitem_t menu_calibrate[]; static const menuitem_t menu_calibrate[];
static const menuitem_t menu_sweep[]; 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) static void fetch_numeric_target(uint8_t mode)
{ {
char *out_format = "%.3QHz";
switch (mode) { switch (mode) {
case KM_START: case KM_START:
uistat.freq_value = get_sweep_frequency(ST_START) + (setting.frequency_offset - FREQUENCY_SHIFT); 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; break;
case KM_STOP: case KM_STOP:
uistat.freq_value = get_sweep_frequency(ST_STOP) + (setting.frequency_offset - FREQUENCY_SHIFT); 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; break;
case KM_CENTER: case KM_CENTER:
uistat.freq_value = get_sweep_frequency(ST_CENTER) + (setting.frequency_offset - FREQUENCY_SHIFT); uistat.freq_value = get_sweep_frequency(ST_CENTER) + (setting.frequency_offset - FREQUENCY_SHIFT);
char *out_format = "%.3QHz";
#ifdef TINYSA4 #ifdef TINYSA4
if (MODE_OUTPUT(setting.mode)) { if (MODE_OUTPUT(setting.mode)) {
if (uistat.freq_value > 990000000UL) if (uistat.freq_value > 990000000UL)
out_format = "%.9QHz"; out_format = "%.9QHz";
else if (uistat.freq_value > 990000UL) else if (uistat.freq_value > 990000UL)
out_format = "%.6QHz"; out_format = "%.6Q";
} } else
if (uistat.freq_value >= 1e9)
out_format = "%.6Q";
#endif #endif
plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value); plot_printf(uistat.text, sizeof uistat.text, out_format, uistat.freq_value);
break; break;
case KM_SPAN: case KM_SPAN:
uistat.freq_value = get_sweep_frequency(ST_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; break;
case KM_CW: case KM_CW:
uistat.freq_value = get_sweep_frequency(ST_CW) + (setting.frequency_offset - FREQUENCY_SHIFT); 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; break;
case KM_SCALE: case KM_SCALE:
case KM_LINEAR_SCALE: case KM_LINEAR_SCALE:
@ -5631,19 +5650,35 @@ static void fetch_numeric_target(uint8_t mode)
#ifdef __BANDS__ #ifdef __BANDS__
case KM_BAND_START: case KM_BAND_START:
uistat.freq_value = setting.bands[active_band].start + (setting.frequency_offset - FREQUENCY_SHIFT);; 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; break;
case KM_BAND_END: case KM_BAND_END:
uistat.freq_value = setting.bands[active_band].end + (setting.frequency_offset - FREQUENCY_SHIFT);; 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; break;
case KM_BAND_CENTER: case KM_BAND_CENTER:
uistat.freq_value = (setting.bands[active_band].end + setting.bands[active_band].start)/2 + (setting.frequency_offset - FREQUENCY_SHIFT); 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; break;
case KM_BAND_SPAN: case KM_BAND_SPAN:
uistat.freq_value = abs(setting.bands[active_band].end-setting.bands[active_band].start); uistat.freq_value = abs((long)setting.bands[active_band].end-(long)setting.bands[active_band].start);
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; break;
case KM_BAND_LEVEL: case KM_BAND_LEVEL:
uistat.value = value(setting.bands[active_band].level); uistat.value = value(setting.bands[active_band].level);
@ -5927,7 +5962,7 @@ set_numeric_value(void)
break; break;
case KM_BAND_CENTER: 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); freq_t center = uistat.freq_value - (setting.frequency_offset - FREQUENCY_SHIFT);
setting.bands[active_band].start = center - span/2; setting.bands[active_band].start = center - span/2;
setting.bands[active_band].end = center + span/2; setting.bands[active_band].end = center + span/2;
@ -6451,7 +6486,7 @@ redraw_cal_status:
// Compact status string // Compact status string
// ili9341_set_background(LCD_FG_COLOR); // ili9341_set_background(LCD_FG_COLOR);
ili9341_set_foreground(LCD_FG_COLOR); ili9341_set_foreground(LCD_FG_COLOR);
strncpy(buf," ",BLEN-1); strncpy(buf," ",BLEN-1);
if (setting.auto_IF) if (setting.auto_IF)
buf[0] = 'f'; buf[0] = 'f';
else else

Loading…
Cancel
Save

Powered by TurnKey Linux.