diff --git a/app/app.c b/app/app.c index 07d8a3c..b5becc2 100644 --- a/app/app.c +++ b/app/app.c @@ -95,7 +95,7 @@ static void APP_update_rssi(const int vfo) g_current_rssi[vfo] = rssi; - if (g_squelch_open) + if (g_squelch_open || g_monitor_enabled) UI_update_rssi(rssi, vfo); } diff --git a/app/main.c b/app/main.c index fe01a27..27aff14 100644 --- a/app/main.c +++ b/app/main.c @@ -207,16 +207,24 @@ void processFKeyFunction(const key_code_t Key) if (g_scan_state_dir != SCAN_STATE_DIR_OFF) APP_stop_scan(); - #ifdef ENABLE_FMRADIO - ACTION_FM(); - #else + if (g_fkey_pressed) + { + g_tx_vfo->am_mode = (g_tx_vfo->am_mode + 1) & 1u; + g_request_save_channel = 1; + } + else + { + #ifdef ENABLE_FMRADIO + ACTION_FM(); + #else - // TODO: make use of this function key + // TODO: make use of this function key - #endif - + #endif + } + break; case KEY_1: // BAND @@ -238,7 +246,7 @@ void processFKeyFunction(const key_code_t Key) else Band = BAND6_400MHz; // jump to next band g_tx_vfo->band = Band; - + g_eeprom.screen_channel[Vfo] = FREQ_CHANNEL_FIRST + Band; g_eeprom.freq_channel[Vfo] = FREQ_CHANNEL_FIRST + Band; @@ -438,10 +446,10 @@ void MAIN_Key_DIGITS(key_code_t Key, bool key_pressed, bool key_held) g_request_display_screen = DISPLAY_MAIN; } + processFKeyFunction(Key); + g_fkey_pressed = false; g_update_status = true; - - processFKeyFunction(Key); } } @@ -456,6 +464,7 @@ void MAIN_Key_DIGITS(key_code_t Key, bool key_pressed, bool key_held) if (g_fkey_pressed) { // F-key was first pressed + processFKeyFunction(Key); g_fkey_pressed = false; @@ -798,7 +807,6 @@ void MAIN_Key_STAR(bool key_pressed, bool key_held) if (g_scan_state_dir != SCAN_STATE_DIR_OFF || g_current_function == FUNCTION_TRANSMIT) { // RF scanning or TX'ing -// g_beep_to_play = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; return; } diff --git a/firmware.bin b/firmware.bin index 8ded911..1c47866 100644 Binary files a/firmware.bin and b/firmware.bin differ diff --git a/firmware.packed.bin b/firmware.packed.bin index bc97d80..81edb15 100644 Binary files a/firmware.packed.bin and b/firmware.packed.bin differ diff --git a/frequencies.c b/frequencies.c index bd11696..02cf4c2 100644 --- a/frequencies.c +++ b/frequencies.c @@ -80,11 +80,15 @@ const freq_band_table_t FREQ_BAND_TABLE[7] = }; #endif -// the first 7 values MUST remain in those same positions (to remain compatible with the QS config windows software) +// the first 7 values MUST remain in those same positions +// so as to remain compatible with the QS config software +// const uint16_t STEP_FREQ_TABLE[21] = { 250, 500, 625, 1000, 1250, 2500, 833, 1, 5, 10, 25, 50, 100, 125, 1500, 3000, 5000, 10000, 12500, 25000, 50000 }; + +// the above step sizes will be sorted to appear to be in order to the user uint16_t step_freq_table_sorted[ARRAY_SIZE(STEP_FREQ_TABLE)]; unsigned int FREQUENCY_get_step_index(const unsigned int step_size) diff --git a/ui/main.c b/ui/main.c index a0a2dbf..6a0ad12 100644 --- a/ui/main.c +++ b/ui/main.c @@ -302,7 +302,7 @@ void UI_update_rssi(const int16_t rssi, const int vfo) #ifdef ENABLE_RX_SIGNAL_BAR if (g_center_line == CENTER_LINE_RSSI) { // optional larger RSSI dBm, S-point and bar level - if (g_current_function == FUNCTION_RECEIVE) + if (g_current_function == FUNCTION_RECEIVE && g_squelch_open) { UI_DisplayRSSIBar(rssi, true); }