diff --git a/firmware.bin b/firmware.bin index bed7ba5..2e68088 100644 Binary files a/firmware.bin and b/firmware.bin differ diff --git a/firmware.packed.bin b/firmware.packed.bin index 9c8e3b2..7cccc69 100644 Binary files a/firmware.packed.bin and b/firmware.packed.bin differ diff --git a/panadapter.c b/panadapter.c index 0a0a97f..71cad56 100644 --- a/panadapter.c +++ b/panadapter.c @@ -56,6 +56,8 @@ void PAN_set_freq(void) void PAN_process_10ms(void) { + uint16_t rssi; + if (!g_eeprom.config.setting.panadapter || #ifdef ENABLE_FMRADIO g_fm_radio_mode || @@ -96,6 +98,14 @@ void PAN_process_10ms(void) if (g_panadapter_vfo_mode > 0 && g_squelch_open) { // we have a signal on the VFO frequency + + // save the current RSSI value .. center bin is the VFO frequency + rssi = g_current_rssi[g_eeprom.config.setting.tx_vfo_num]; + //if (g_tx_vfo->channel.mod_mode == MOD_MODE_FM) + g_panadapter_rssi[PANADAPTER_BINS] = (rssi <= 255) ? rssi : 255; + +// g_update_display = true; + g_panadapter_vfo_mode = 50; // pause scanning for at least another 500ms return; } @@ -104,7 +114,7 @@ void PAN_process_10ms(void) { // scanning // save the current RSSI value - const uint16_t rssi = BK4819_GetRSSI(); + rssi = BK4819_GetRSSI(); g_panadapter_rssi[panadapter_rssi_index] = (rssi <= 255) ? rssi : 255; // next frequency diff --git a/ui/main.c b/ui/main.c index 277fb8e..7b18dfd 100644 --- a/ui/main.c +++ b/ui/main.c @@ -482,12 +482,12 @@ void big_freq(const uint32_t frequency, const unsigned int x, const unsigned int } // center marker (the VFO frequency) - base_line[(ARRAY_SIZE(g_panadapter_rssi) / 2) - (LCD_WIDTH * 2)] = 0xAA; + base_line[PANADAPTER_BINS - (LCD_WIDTH * 2)] = 0x07; // top horizontal line for (i = 0; i < PANADAPTER_BINS; i += 4) { - const unsigned int k = PANADAPTER_BINS + 1 - (LCD_WIDTH * 2); + const unsigned int k = PANADAPTER_BINS - (LCD_WIDTH * 2); base_line[k - i] |= 1u; base_line[k + i] |= 1u; }