mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-04-29 23:01:26 +03:00
Updated 5/7 function key operation (see README.md)
This commit is contained in:
parent
609df5f279
commit
4d8db8f0b9
4
Makefile
4
Makefile
@ -21,7 +21,6 @@ ENABLE_WIDE_RX := 1
|
|||||||
ENABLE_TX_WHEN_AM := 0
|
ENABLE_TX_WHEN_AM := 0
|
||||||
ENABLE_F_CAL_MENU := 0
|
ENABLE_F_CAL_MENU := 0
|
||||||
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1
|
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1
|
||||||
ENABLE_MAIN_KEY_HOLD := 1
|
|
||||||
ENABLE_BOOT_BEEPS := 0
|
ENABLE_BOOT_BEEPS := 0
|
||||||
ENABLE_SHOW_CHARGE_LEVEL := 1
|
ENABLE_SHOW_CHARGE_LEVEL := 1
|
||||||
ENABLE_REVERSE_BAT_SYMBOL := 1
|
ENABLE_REVERSE_BAT_SYMBOL := 1
|
||||||
@ -231,9 +230,6 @@ endif
|
|||||||
ifeq ($(ENABLE_CTCSS_TAIL_PHASE_SHIFT),1)
|
ifeq ($(ENABLE_CTCSS_TAIL_PHASE_SHIFT),1)
|
||||||
CFLAGS += -DENABLE_CTCSS_TAIL_PHASE_SHIFT
|
CFLAGS += -DENABLE_CTCSS_TAIL_PHASE_SHIFT
|
||||||
endif
|
endif
|
||||||
ifeq ($(ENABLE_MAIN_KEY_HOLD),1)
|
|
||||||
CFLAGS += -DENABLE_MAIN_KEY_HOLD
|
|
||||||
endif
|
|
||||||
ifeq ($(ENABLE_BOOT_BEEPS),1)
|
ifeq ($(ENABLE_BOOT_BEEPS),1)
|
||||||
CFLAGS += -DENABLE_BOOT_BEEPS
|
CFLAGS += -DENABLE_BOOT_BEEPS
|
||||||
endif
|
endif
|
||||||
|
@ -44,7 +44,6 @@ ENABLE_WIDE_RX := 1 full 18MHz to 1300MHz RX (though front-
|
|||||||
ENABLE_TX_WHEN_AM := 0 allow TX (always FM) when RX is set to AM
|
ENABLE_TX_WHEN_AM := 0 allow TX (always FM) when RX is set to AM
|
||||||
ENABLE_F_CAL_MENU := 0 enable/disable the radios hidden frequency calibration menu
|
ENABLE_F_CAL_MENU := 0 enable/disable the radios hidden frequency calibration menu
|
||||||
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1 standard CTCSS tail phase shift rather than QS's own 55Hz tone method
|
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1 standard CTCSS tail phase shift rather than QS's own 55Hz tone method
|
||||||
ENABLE_MAIN_KEY_HOLD := 1 initial F-key press not needed, instead just hold down keys 0-9 to access the secondary butt functions
|
|
||||||
ENABLE_BOOT_BEEPS := 0 gives user audio feedback on volume knob position at boot-up
|
ENABLE_BOOT_BEEPS := 0 gives user audio feedback on volume knob position at boot-up
|
||||||
ENABLE_SHOW_CHARGE_LEVEL := 0 show the charge level when the radio is on charge
|
ENABLE_SHOW_CHARGE_LEVEL := 0 show the charge level when the radio is on charge
|
||||||
ENABLE_REVERSE_BAT_SYMBOL := 1 mirror the battery symbol on the status bar (+ pole on the right)
|
ENABLE_REVERSE_BAT_SYMBOL := 1 mirror the battery symbol on the status bar (+ pole on the right)
|
||||||
@ -63,7 +62,11 @@ ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO
|
|||||||
# New/modified function keys
|
# New/modified function keys
|
||||||
|
|
||||||
* Long-press 'M' = Copy selected channel into the same VFO, then switches to frequency mode
|
* Long-press 'M' = Copy selected channel into the same VFO, then switches to frequency mode
|
||||||
|
*
|
||||||
|
* Long-press '7' = Toggle a selected channels scanlist setting .. if VOX is disable in Makefile
|
||||||
|
or
|
||||||
* Long-press '5' = Toggle a selected channels scanlist setting .. if NOAA is disable in Makefile
|
* Long-press '5' = Toggle a selected channels scanlist setting .. if NOAA is disable in Makefile
|
||||||
|
*
|
||||||
* Long-press '*' = Toggles the scanlist number 1, 2 or ALL channels .. if in channel scan mode
|
* Long-press '*' = Toggles the scanlist number 1, 2 or ALL channels .. if in channel scan mode
|
||||||
|
|
||||||
# Some changes made from the Quansheng firmware
|
# Some changes made from the Quansheng firmware
|
||||||
|
@ -1370,11 +1370,8 @@ void APP_CheckKeys(void)
|
|||||||
Key == KEY_UP ||
|
Key == KEY_UP ||
|
||||||
Key == KEY_DOWN ||
|
Key == KEY_DOWN ||
|
||||||
Key == KEY_EXIT ||
|
Key == KEY_EXIT ||
|
||||||
Key == KEY_MENU
|
Key == KEY_MENU ||
|
||||||
#ifdef ENABLE_MAIN_KEY_HOLD
|
Key <= KEY_9) // keys 0-9 can be held down to bypass pressing the F-Key
|
||||||
|| Key <= KEY_9 // keys 0-9 can be held down to bypass pressing the F-Key
|
|
||||||
#endif
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
gKeyBeingHeld = true;
|
gKeyBeingHeld = true;
|
||||||
APP_ProcessKey(Key, true, true);
|
APP_ProcessKey(Key, true, true);
|
||||||
@ -2326,9 +2323,7 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
|||||||
case DISPLAY_MAIN:
|
case DISPLAY_MAIN:
|
||||||
MAIN_ProcessKeys(Key, bKeyPressed, bKeyHeld);
|
MAIN_ProcessKeys(Key, bKeyPressed, bKeyHeld);
|
||||||
|
|
||||||
#ifdef ENABLE_MAIN_KEY_HOLD
|
|
||||||
bKeyHeld = false; // allow the channel setting to be saved
|
bKeyHeld = false; // allow the channel setting to be saved
|
||||||
#endif
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
71
app/main.c
71
app/main.c
@ -35,6 +35,33 @@
|
|||||||
#include "ui/inputbox.h"
|
#include "ui/inputbox.h"
|
||||||
#include "ui/ui.h"
|
#include "ui/ui.h"
|
||||||
|
|
||||||
|
void toggle_chan_scanlist(void)
|
||||||
|
{ // toggle the selected channels scanlist setting
|
||||||
|
|
||||||
|
if (gScreenToDisplay == DISPLAY_SCANNER || !IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (gTxVfo->SCANLIST1_PARTICIPATION)
|
||||||
|
{
|
||||||
|
if (gTxVfo->SCANLIST2_PARTICIPATION)
|
||||||
|
gTxVfo->SCANLIST1_PARTICIPATION = 0;
|
||||||
|
else
|
||||||
|
gTxVfo->SCANLIST2_PARTICIPATION = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (gTxVfo->SCANLIST2_PARTICIPATION)
|
||||||
|
gTxVfo->SCANLIST2_PARTICIPATION = 0;
|
||||||
|
else
|
||||||
|
gTxVfo->SCANLIST1_PARTICIPATION = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
SETTINGS_UpdateChannel(gTxVfo->CHANNEL_SAVE, gTxVfo, true);
|
||||||
|
|
||||||
|
gVfoConfigureMode = VFO_CONFIGURE;
|
||||||
|
gFlagResetVfos = true;
|
||||||
|
}
|
||||||
|
|
||||||
static void processFKeyFunction(const KEY_Code_t Key, const bool beep)
|
static void processFKeyFunction(const KEY_Code_t Key, const bool beep)
|
||||||
{
|
{
|
||||||
uint8_t Band;
|
uint8_t Band;
|
||||||
@ -185,32 +212,9 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep)
|
|||||||
gVfoConfigureMode = VFO_CONFIGURE_RELOAD;
|
gVfoConfigureMode = VFO_CONFIGURE_RELOAD;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
// toggle the selected channels scanlist setting
|
#ifdef ENABLE_VOX
|
||||||
|
toggle_chan_scanlist();
|
||||||
if (gScreenToDisplay != DISPLAY_SCANNER)
|
#endif
|
||||||
{
|
|
||||||
if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE))
|
|
||||||
{
|
|
||||||
if (gTxVfo->SCANLIST1_PARTICIPATION)
|
|
||||||
{
|
|
||||||
if (gTxVfo->SCANLIST2_PARTICIPATION)
|
|
||||||
gTxVfo->SCANLIST1_PARTICIPATION = 0;
|
|
||||||
else
|
|
||||||
gTxVfo->SCANLIST2_PARTICIPATION = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (gTxVfo->SCANLIST2_PARTICIPATION)
|
|
||||||
gTxVfo->SCANLIST2_PARTICIPATION = 0;
|
|
||||||
else
|
|
||||||
gTxVfo->SCANLIST1_PARTICIPATION = 1;
|
|
||||||
}
|
|
||||||
SETTINGS_UpdateChannel(gTxVfo->CHANNEL_SAVE, gTxVfo, true);
|
|
||||||
gVfoConfigureMode = VFO_CONFIGURE;
|
|
||||||
gFlagResetVfos = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -223,11 +227,7 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep)
|
|||||||
#ifdef ENABLE_VOX
|
#ifdef ENABLE_VOX
|
||||||
ACTION_Vox();
|
ACTION_Vox();
|
||||||
#else
|
#else
|
||||||
|
toggle_chan_scanlist();
|
||||||
|
|
||||||
// TODO: make use of this function key
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -270,7 +270,6 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
|||||||
if (bKeyHeld)
|
if (bKeyHeld)
|
||||||
{ // key held down
|
{ // key held down
|
||||||
|
|
||||||
#ifdef ENABLE_MAIN_KEY_HOLD
|
|
||||||
if (bKeyPressed)
|
if (bKeyPressed)
|
||||||
{
|
{
|
||||||
if (gScreenToDisplay == DISPLAY_MAIN)
|
if (gScreenToDisplay == DISPLAY_MAIN)
|
||||||
@ -287,23 +286,15 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
|||||||
processFKeyFunction(Key, false);
|
processFKeyFunction(Key, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_MAIN_KEY_HOLD
|
|
||||||
if (bKeyPressed)
|
if (bKeyPressed)
|
||||||
{ // key is pressed
|
{ // key is pressed
|
||||||
gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; // beep when key is pressed
|
gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; // beep when key is pressed
|
||||||
return; // don't use the key till it's released
|
return; // don't use the key till it's released
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
if (!bKeyPressed)
|
|
||||||
return;
|
|
||||||
|
|
||||||
gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!gWasFKeyPressed)
|
if (!gWasFKeyPressed)
|
||||||
{ // F-key wasn't pressed
|
{ // F-key wasn't pressed
|
||||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user