diff --git a/plot.c b/plot.c index b6033bf..ca26ba5 100644 --- a/plot.c +++ b/plot.c @@ -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); diff --git a/si4468.c b/si4468.c index e935805..e7aaf44 100644 --- a/si4468.c +++ b/si4468.c @@ -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 � (N + FRAC/MOD) = xtalFreqHz � (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])); diff --git a/ui.c b/ui.c index dd564cc..a830408 100644 --- a/ui.c +++ b/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; @@ -6451,7 +6486,7 @@ redraw_cal_status: // Compact status string // ili9341_set_background(LCD_FG_COLOR); ili9341_set_foreground(LCD_FG_COLOR); - strncpy(buf," ",BLEN-1); + strncpy(buf," ",BLEN-1); if (setting.auto_IF) buf[0] = 'f'; else