mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-04-28 22:31:25 +03:00
Hide little sub menu number till you enter the sub menu
This commit is contained in:
parent
ce4528b4ee
commit
36ee70df5b
6
Makefile
6
Makefile
@ -46,7 +46,7 @@ ENABLE_FASTER_CHANNEL_SCAN := 1
|
||||
ENABLE_RX_SIGNAL_BAR := 1
|
||||
ENABLE_TX_TIMEOUT_BAR := 0
|
||||
ENABLE_TX_AUDIO_BAR := 1
|
||||
ENABLE_COPY_CHAN_TO_VFO := 1
|
||||
ENABLE_COPY_CHAN_TO_VFO_TO_CHAN := 1
|
||||
#ENABLE_PANADAPTER := 0
|
||||
#ENABLE_SINGLE_VFO_CHAN := 0
|
||||
|
||||
@ -369,8 +369,8 @@ endif
|
||||
ifeq ($(ENABLE_TX_TIMEOUT_BAR),1)
|
||||
CFLAGS += -DENABLE_TX_TIMEOUT_BAR
|
||||
endif
|
||||
ifeq ($(ENABLE_COPY_CHAN_TO_VFO),1)
|
||||
CFLAGS += -DENABLE_COPY_CHAN_TO_VFO
|
||||
ifeq ($(ENABLE_COPY_CHAN_TO_VFO_TO_CHAN),1)
|
||||
CFLAGS += -DENABLE_COPY_CHAN_TO_VFO_TO_CHAN
|
||||
endif
|
||||
ifeq ($(ENABLE_SINGLE_VFO_CHAN),1)
|
||||
CFLAGS += -DENABLE_SINGLE_VFO_CHAN
|
||||
|
@ -77,7 +77,7 @@ ENABLE_FASTER_CHANNEL_SCAN := 1 increases the channel scan speed, bu
|
||||
ENABLE_RX_SIGNAL_BAR := 1 enable a dBm/Sn RSSI bar graph level inplace of the little antenna symbols
|
||||
ENABLE_TX_TIMEOUT_BAR := 0 show the remainng TX time
|
||||
ENABLE_TX_AUDIO_BAR := 1 enable TX audio level bar, includes remaining TX time (in seconds)
|
||||
ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO. Long press Menu key ('M')
|
||||
ENABLE_COPY_CHAN_TO_VFO_TO_CHAN := 1 long press M, copy channel to VFO, or VFO to channel
|
||||
#ENABLE_BAND_SCOPE := 0 not yet implemented - spectrum/pan-adapter
|
||||
#ENABLE_SINGLE_VFO_CHAN := 0 not yet implemented - single VFO on display when possible
|
||||
```
|
||||
|
44
app/main.c
44
app/main.c
@ -24,6 +24,9 @@
|
||||
#include "app/generic.h"
|
||||
#include "app/main.h"
|
||||
#include "app/search.h"
|
||||
#ifdef ENABLE_SPECTRUM
|
||||
// #include "app/spectrum.h"
|
||||
#endif
|
||||
#include "audio.h"
|
||||
#include "board.h"
|
||||
#include "driver/bk4819.h"
|
||||
@ -35,9 +38,7 @@
|
||||
#include "settings.h"
|
||||
#include "ui/inputbox.h"
|
||||
#include "ui/ui.h"
|
||||
#ifdef ENABLE_SPECTRUM
|
||||
// #include "app/spectrum.h"
|
||||
#endif
|
||||
#include "ui/menu.h"
|
||||
|
||||
void toggle_chan_scanlist(void)
|
||||
{ // toggle the selected channels scanlist setting
|
||||
@ -587,7 +588,7 @@ void MAIN_Key_MENU(const bool key_pressed, const bool key_held)
|
||||
{
|
||||
if (key_pressed && !key_held)
|
||||
{ // key just pressed
|
||||
g_beep_to_play = BEEP_1KHZ_60MS_OPTIONAL;
|
||||
AUDIO_PlayBeep(BEEP_1KHZ_60MS_OPTIONAL);
|
||||
}
|
||||
|
||||
if (key_held)
|
||||
@ -609,20 +610,13 @@ void MAIN_Key_MENU(const bool key_pressed, const bool key_held)
|
||||
g_fkey_pressed = false;
|
||||
g_update_status = true;
|
||||
|
||||
#ifdef ENABLE_COPY_CHAN_TO_VFO
|
||||
#ifdef ENABLE_COPY_CHAN_TO_VFO_TO_CHAN
|
||||
|
||||
if (g_eeprom.vfo_open && g_css_scan_mode == CSS_SCAN_MODE_OFF)
|
||||
{
|
||||
|
||||
if (g_scan_state_dir != SCAN_STATE_DIR_OFF)
|
||||
{
|
||||
if (g_current_function != FUNCTION_INCOMING ||
|
||||
g_rx_reception_mode == RX_MODE_NONE ||
|
||||
g_scan_pause_10ms == 0)
|
||||
{ // scan is running (not paused)
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (g_scan_state_dir == SCAN_STATE_DIR_OFF &&
|
||||
g_css_scan_mode == CSS_SCAN_MODE_OFF &&
|
||||
g_eeprom.dual_watch == DUAL_WATCH_OFF &&
|
||||
g_eeprom.vfo_open)
|
||||
{ // not scanning
|
||||
|
||||
const unsigned int vfo = get_RX_VFO();
|
||||
|
||||
@ -647,6 +641,21 @@ void MAIN_Key_MENU(const bool key_pressed, const bool key_held)
|
||||
g_update_status = true;
|
||||
g_update_display = true;
|
||||
}
|
||||
else
|
||||
if (IS_FREQ_CHANNEL(g_eeprom.screen_channel[vfo]))
|
||||
{ // copy VFO to channel
|
||||
|
||||
#ifdef ENABLE_VOICE
|
||||
g_another_voice_id = VOICE_ID_MENU;
|
||||
#endif
|
||||
|
||||
// g_request_display_screen = DISPLAY_MENU;
|
||||
GUI_SelectNextDisplay(DISPLAY_MENU);
|
||||
g_menu_cursor = MENU_MEM_SAVE;
|
||||
g_flag_refresh_menu = true;
|
||||
g_ask_for_confirmation = 0;
|
||||
g_is_in_sub_menu = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -671,6 +680,7 @@ void MAIN_Key_MENU(const bool key_pressed, const bool key_held)
|
||||
{
|
||||
g_flag_refresh_menu = true;
|
||||
g_request_display_screen = DISPLAY_MENU;
|
||||
|
||||
#ifdef ENABLE_VOICE
|
||||
g_another_voice_id = VOICE_ID_MENU;
|
||||
#endif
|
||||
|
43
audio.c
43
audio.c
@ -75,28 +75,28 @@ beep_type_t g_beep_to_play = BEEP_NONE;
|
||||
|
||||
void AUDIO_PlayBeep(beep_type_t Beep)
|
||||
{
|
||||
uint16_t ToneConfig;
|
||||
const uint16_t ToneConfig = BK4819_ReadRegister(BK4819_REG_71);
|
||||
uint16_t ToneFrequency;
|
||||
uint16_t Duration;
|
||||
|
||||
if (!g_eeprom.beep_control)
|
||||
{ // beep not enabled
|
||||
if (Beep != BEEP_880HZ_60MS_TRIPLE_BEEP &&
|
||||
Beep != BEEP_500HZ_60MS_DOUBLE_BEEP &&
|
||||
Beep != BEEP_440HZ_500MS &&
|
||||
Beep != BEEP_880HZ_200MS &&
|
||||
Beep != BEEP_880HZ_500MS &&
|
||||
!g_eeprom.beep_control)
|
||||
Beep != BEEP_880HZ_500MS)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef ENABLE_AIRCOPY
|
||||
// if (g_screen_to_display == DISPLAY_AIRCOPY || g_aircopy_state != AIRCOPY_READY)
|
||||
// return;
|
||||
#endif
|
||||
if (g_current_function == FUNCTION_RECEIVE)
|
||||
if (g_current_function == FUNCTION_RECEIVE || g_current_function == FUNCTION_MONITOR)
|
||||
return;
|
||||
if (g_current_function == FUNCTION_MONITOR)
|
||||
return;
|
||||
|
||||
ToneConfig = BK4819_ReadRegister(BK4819_REG_71);
|
||||
|
||||
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
||||
|
||||
@ -110,7 +110,9 @@ void AUDIO_PlayBeep(beep_type_t Beep)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
SYSTEM_DelayMs(20);
|
||||
// whats this for ?
|
||||
// SYSTEM_DelayMs(20);
|
||||
SYSTEM_DelayMs(2);
|
||||
|
||||
switch (Beep)
|
||||
{
|
||||
@ -118,17 +120,21 @@ void AUDIO_PlayBeep(beep_type_t Beep)
|
||||
case BEEP_NONE:
|
||||
ToneFrequency = 220;
|
||||
break;
|
||||
|
||||
case BEEP_1KHZ_60MS_OPTIONAL:
|
||||
ToneFrequency = 1000;
|
||||
break;
|
||||
|
||||
case BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL:
|
||||
case BEEP_500HZ_60MS_DOUBLE_BEEP:
|
||||
ToneFrequency = 500;
|
||||
break;
|
||||
|
||||
case BEEP_440HZ_40MS_OPTIONAL:
|
||||
case BEEP_440HZ_500MS:
|
||||
ToneFrequency = 440;
|
||||
break;
|
||||
|
||||
case BEEP_880HZ_40MS_OPTIONAL:
|
||||
case BEEP_880HZ_60MS_TRIPLE_BEEP:
|
||||
case BEEP_880HZ_200MS:
|
||||
@ -138,9 +144,7 @@ void AUDIO_PlayBeep(beep_type_t Beep)
|
||||
}
|
||||
|
||||
BK4819_StartTone1(ToneFrequency, 96, true);
|
||||
|
||||
SYSTEM_DelayMs(2);
|
||||
|
||||
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
||||
|
||||
SYSTEM_DelayMs(60);
|
||||
@ -190,18 +194,25 @@ void AUDIO_PlayBeep(beep_type_t Beep)
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
SYSTEM_DelayMs(Duration);
|
||||
BK4819_EnterTxMute();
|
||||
SYSTEM_DelayMs(20);
|
||||
|
||||
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
||||
BK4819_EnterTxMute();
|
||||
|
||||
// SYSTEM_DelayMs(20);
|
||||
SYSTEM_DelayMs(2);
|
||||
|
||||
#ifdef ENABLE_VOX
|
||||
g_vox_resume_count_down = 80;
|
||||
#endif
|
||||
|
||||
SYSTEM_DelayMs(5);
|
||||
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
||||
|
||||
// SYSTEM_DelayMs(5);
|
||||
SYSTEM_DelayMs(2);
|
||||
BK4819_TurnsOffTones_TurnsOnRX();
|
||||
SYSTEM_DelayMs(5);
|
||||
// SYSTEM_DelayMs(5);
|
||||
SYSTEM_DelayMs(2);
|
||||
|
||||
// restore the register
|
||||
BK4819_WriteRegister(BK4819_REG_71, ToneConfig);
|
||||
|
||||
if (g_enable_speaker)
|
||||
|
12
audio.h
12
audio.h
@ -20,8 +20,7 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
enum beep_type_e
|
||||
{
|
||||
enum beep_type_e {
|
||||
BEEP_NONE = 0,
|
||||
BEEP_1KHZ_60MS_OPTIONAL,
|
||||
BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL,
|
||||
@ -39,14 +38,12 @@ extern beep_type_t g_beep_to_play;
|
||||
|
||||
void AUDIO_PlayBeep(beep_type_t Beep);
|
||||
|
||||
enum
|
||||
{
|
||||
enum {
|
||||
VOICE_ID_CHI_BASE = 0x10U,
|
||||
VOICE_ID_ENG_BASE = 0x60U,
|
||||
VOICE_ID_ENG_BASE = 0x60U
|
||||
};
|
||||
|
||||
enum voice_id_e
|
||||
{
|
||||
enum voice_id_e {
|
||||
VOICE_ID_0 = 0x00U,
|
||||
VOICE_ID_1 = 0x01U,
|
||||
VOICE_ID_2 = 0x02U,
|
||||
@ -144,4 +141,3 @@ typedef enum voice_id_e voice_id_t;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
@ -1237,12 +1237,15 @@ void UI_DisplayMenu(void)
|
||||
g_menu_cursor == MENU_RX_CDCSS ||
|
||||
g_menu_cursor == MENU_TX_CDCSS ||
|
||||
g_menu_cursor == MENU_DTMF_LIST)
|
||||
{
|
||||
if (g_is_in_sub_menu)
|
||||
{
|
||||
unsigned int Offset;
|
||||
NUMBER_ToDigits(g_sub_menu_selection, String);
|
||||
Offset = (g_menu_cursor == MENU_DTMF_LIST) ? 2 : 3;
|
||||
UI_Displaysmall_digits(Offset, String + (8 - Offset), 105, 0, false);
|
||||
}
|
||||
}
|
||||
|
||||
if ((g_menu_cursor == MENU_RESET ||
|
||||
g_menu_cursor == MENU_MEM_SAVE ||
|
||||
|
Loading…
x
Reference in New Issue
Block a user