0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-04-28 22:31:25 +03:00

Backlight TX/RX menu update

This commit is contained in:
OneOfEleven 2023-10-04 16:37:11 +01:00
parent 567b0cfa83
commit 429ac36ffe
18 changed files with 71 additions and 112 deletions

View File

@ -23,7 +23,6 @@ ENABLE_F_CAL_MENU := 0
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1 ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1
ENABLE_MAIN_KEY_HOLD := 1 ENABLE_MAIN_KEY_HOLD := 1
ENABLE_BOOT_BEEPS := 0 ENABLE_BOOT_BEEPS := 0
ENABLE_COMPANDER := 1
ENABLE_SHOW_CHARGE_LEVEL := 1 ENABLE_SHOW_CHARGE_LEVEL := 1
ENABLE_REVERSE_BAT_SYMBOL := 1 ENABLE_REVERSE_BAT_SYMBOL := 1
ENABLE_CODE_SCAN_TIMEOUT := 0 ENABLE_CODE_SCAN_TIMEOUT := 0
@ -232,9 +231,6 @@ endif
ifeq ($(ENABLE_BOOT_BEEPS),1) ifeq ($(ENABLE_BOOT_BEEPS),1)
CFLAGS += -DENABLE_BOOT_BEEPS CFLAGS += -DENABLE_BOOT_BEEPS
endif endif
ifeq ($(ENABLE_COMPANDER),1)
CFLAGS += -DENABLE_COMPANDER
endif
ifeq ($(ENABLE_SHOW_CHARGE_LEVEL),1) ifeq ($(ENABLE_SHOW_CHARGE_LEVEL),1)
CFLAGS += -DENABLE_SHOW_CHARGE_LEVEL CFLAGS += -DENABLE_SHOW_CHARGE_LEVEL
endif endif

View File

@ -46,7 +46,6 @@ ENABLE_F_CAL_MENU := 0 enable/disable the radios hidden freque
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_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_COMPANDER := 0 compander option (per channel)
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)
ENABLE_CODE_SCAN_TIMEOUT := 0 enable/disable 32-sec CTCSS/DCS scan timeout (press exit butt instead of time-out to end scan) ENABLE_CODE_SCAN_TIMEOUT := 0 enable/disable 32-sec CTCSS/DCS scan timeout (press exit butt instead of time-out to end scan)

View File

@ -486,7 +486,7 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix)
gEnableSpeaker = true; gEnableSpeaker = true;
if (gSetting_backlight_on_tx_rx) if (gSetting_backlight_on_tx_rx >= 2)
BACKLIGHT_TurnOn(); BACKLIGHT_TurnOn();
if (gScanState != SCAN_OFF) if (gScanState != SCAN_OFF)
@ -2104,6 +2104,7 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
} }
else else
{ {
if (Key != KEY_PTT)
BACKLIGHT_TurnOn(); BACKLIGHT_TurnOn();
if (Key == KEY_EXIT && bKeyHeld) if (Key == KEY_EXIT && bKeyHeld)

View File

@ -199,12 +199,11 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax)
*pMax = ARRAY_SIZE(gSubMenu_RESET) - 1; *pMax = ARRAY_SIZE(gSubMenu_RESET) - 1;
break; break;
#ifdef ENABLE_COMPANDER
case MENU_COMPAND: case MENU_COMPAND:
case MENU_ABR_ON_TX_RX:
*pMin = 0; *pMin = 0;
*pMax = ARRAY_SIZE(gSubMenu_Compand) - 1; *pMax = ARRAY_SIZE(gSubMenu_RX_TX) - 1;
break; break;
#endif
#ifdef ENABLE_AM_FIX_TEST1 #ifdef ENABLE_AM_FIX_TEST1
case MENU_AM_FIX_TEST1: case MENU_AM_FIX_TEST1:
@ -219,7 +218,6 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax)
#ifdef ENABLE_AUDIO_BAR #ifdef ENABLE_AUDIO_BAR
case MENU_MIC_BAR: case MENU_MIC_BAR:
#endif #endif
case MENU_ABR_ON_TX_RX:
case MENU_BCL: case MENU_BCL:
case MENU_BEEP: case MENU_BEEP:
case MENU_AUTOLK: case MENU_AUTOLK:
@ -601,7 +599,6 @@ void MENU_AcceptSetting(void)
break; break;
#endif #endif
#ifdef ENABLE_COMPANDER
case MENU_COMPAND: case MENU_COMPAND:
gTxVfo->Compander = gSubMenuSelection; gTxVfo->Compander = gSubMenuSelection;
SETTINGS_UpdateChannel(gTxVfo->CHANNEL_SAVE, gTxVfo, true); SETTINGS_UpdateChannel(gTxVfo->CHANNEL_SAVE, gTxVfo, true);
@ -609,7 +606,6 @@ void MENU_AcceptSetting(void)
gFlagResetVfos = true; gFlagResetVfos = true;
// gRequestSaveChannel = 1; // gRequestSaveChannel = 1;
return; return;
#endif
case MENU_1_CALL: case MENU_1_CALL:
gEeprom.CHAN_1_CALL = gSubMenuSelection; gEeprom.CHAN_1_CALL = gSubMenuSelection;
@ -998,11 +994,9 @@ void MENU_ShowCurrentSetting(void)
break; break;
#endif #endif
#ifdef ENABLE_COMPANDER
case MENU_COMPAND: case MENU_COMPAND:
gSubMenuSelection = gTxVfo->Compander; gSubMenuSelection = gTxVfo->Compander;
return; return;
#endif
case MENU_1_CALL: case MENU_1_CALL:
gSubMenuSelection = gEeprom.CHAN_1_CALL; gSubMenuSelection = gEeprom.CHAN_1_CALL;

View File

@ -416,7 +416,6 @@ const uint8_t BITMAP_ScanList2[6] =
0b01000010 0b01000010
}; };
#ifdef ENABLE_COMPANDER
const uint8_t BITMAP_compand[6] = const uint8_t BITMAP_compand[6] =
{ {
0b00000000, 0b00000000,
@ -426,4 +425,3 @@ const uint8_t BITMAP_ScanList2[6] =
0b01000010, 0b01000010,
0b00100100 0b00100100
}; };
#endif

View File

@ -65,9 +65,7 @@ extern const uint8_t BITMAP_VFO_NotDefault[8];
extern const uint8_t BITMAP_ScanList1[6]; extern const uint8_t BITMAP_ScanList1[6];
extern const uint8_t BITMAP_ScanList2[6]; extern const uint8_t BITMAP_ScanList2[6];
#ifdef ENABLE_COMPANDER
extern const uint8_t BITMAP_compand[6]; extern const uint8_t BITMAP_compand[6];
#endif
#endif #endif

View File

@ -714,7 +714,7 @@ void BOARD_EEPROM_Init(void)
#ifdef ENABLE_AM_FIX #ifdef ENABLE_AM_FIX
gSetting_AM_fix = (Data[7] & (1u << 5)) ? true : false; gSetting_AM_fix = (Data[7] & (1u << 5)) ? true : false;
#endif #endif
gSetting_backlight_on_tx_rx = (Data[7] & (1u << 6)) ? true : false; gSetting_backlight_on_tx_rx = (Data[7] >> 6) & 3u;
if (!gEeprom.VFO_OPEN) if (!gEeprom.VFO_OPEN)
{ {

Binary file not shown.

Binary file not shown.

View File

@ -230,7 +230,7 @@ void FUNCTION_Select(FUNCTION_Type_t Function)
else else
BK4819_DisableScramble(); BK4819_DisableScramble();
if (gSetting_backlight_on_tx_rx) if (gSetting_backlight_on_tx_rx == 1 || gSetting_backlight_on_tx_rx == 3)
BACKLIGHT_TurnOn(); BACKLIGHT_TurnOn();
break; break;

2
misc.c
View File

@ -87,7 +87,7 @@ bool gSetting_TX_EN;
uint8_t gSetting_F_LOCK; uint8_t gSetting_F_LOCK;
bool gSetting_ScrambleEnable; bool gSetting_ScrambleEnable;
bool gSetting_backlight_on_tx_rx; uint8_t gSetting_backlight_on_tx_rx;
#ifdef ENABLE_AM_FIX #ifdef ENABLE_AM_FIX
bool gSetting_AM_fix; bool gSetting_AM_fix;

2
misc.h
View File

@ -156,7 +156,7 @@ extern bool gSetting_TX_EN;
extern uint8_t gSetting_F_LOCK; extern uint8_t gSetting_F_LOCK;
extern bool gSetting_ScrambleEnable; extern bool gSetting_ScrambleEnable;
extern bool gSetting_backlight_on_tx_rx; extern uint8_t gSetting_backlight_on_tx_rx;
#ifdef ENABLE_AM_FIX #ifdef ENABLE_AM_FIX
extern bool gSetting_AM_fix; extern bool gSetting_AM_fix;

View File

@ -130,9 +130,7 @@ void RADIO_InitInfo(VFO_Info_t *pInfo, const uint8_t ChannelSave, const uint32_t
pInfo->freq_config_TX.Frequency = Frequency; pInfo->freq_config_TX.Frequency = Frequency;
pInfo->pRX = &pInfo->freq_config_RX; pInfo->pRX = &pInfo->freq_config_RX;
pInfo->pTX = &pInfo->freq_config_TX; pInfo->pTX = &pInfo->freq_config_TX;
#ifdef ENABLE_COMPANDER
pInfo->Compander = 0; // off pInfo->Compander = 0; // off
#endif
if (ChannelSave == (FREQ_CHANNEL_FIRST + BAND2_108MHz)) if (ChannelSave == (FREQ_CHANNEL_FIRST + BAND2_108MHz))
pInfo->AM_mode = 1; pInfo->AM_mode = 1;
@ -420,9 +418,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure
gEeprom.VfoInfo[VFO].freq_config_TX.CodeType = CODE_TYPE_OFF; gEeprom.VfoInfo[VFO].freq_config_TX.CodeType = CODE_TYPE_OFF;
} }
#ifdef ENABLE_COMPANDER
gEeprom.VfoInfo[VFO].Compander = (Attributes & MR_CH_COMPAND) >> 4; gEeprom.VfoInfo[VFO].Compander = (Attributes & MR_CH_COMPAND) >> 4;
#endif
RADIO_ConfigureSquelchAndOutputPower(pRadio); RADIO_ConfigureSquelchAndOutputPower(pRadio);
} }
@ -720,10 +716,8 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0)
#endif #endif
BK4819_DisableVox(); BK4819_DisableVox();
#ifdef ENABLE_COMPANDER
// RX expander // RX expander
BK4819_SetCompander((gRxVfo->AM_mode == 0 && gRxVfo->Compander >= 2) ? gRxVfo->Compander : 0); BK4819_SetCompander((gRxVfo->AM_mode == 0 && gRxVfo->Compander >= 2) ? gRxVfo->Compander : 0);
#endif
#if 0 #if 0
if (!gRxVfo->DTMF_DECODING_ENABLE && !gSetting_KILLED) if (!gRxVfo->DTMF_DECODING_ENABLE && !gSetting_KILLED)
@ -828,10 +822,8 @@ void RADIO_SetTxParameters(void)
BK4819_SetFrequency(gCurrentVfo->pTX->Frequency); BK4819_SetFrequency(gCurrentVfo->pTX->Frequency);
#ifdef ENABLE_COMPANDER
// TX compressor // TX compressor
BK4819_SetCompander((gRxVfo->AM_mode == 0 && (gRxVfo->Compander == 1 || gRxVfo->Compander >= 3)) ? gRxVfo->Compander : 0); BK4819_SetCompander((gRxVfo->AM_mode == 0 && (gRxVfo->Compander == 1 || gRxVfo->Compander >= 3)) ? gRxVfo->Compander : 0);
#endif
BK4819_PrepareTransmit(); BK4819_PrepareTransmit();

View File

@ -25,9 +25,7 @@
enum { enum {
MR_CH_BAND_MASK = 0x0F << 0, MR_CH_BAND_MASK = 0x0F << 0,
#ifdef ENABLE_COMPANDER
MR_CH_COMPAND = 3u << 4, // new MR_CH_COMPAND = 3u << 4, // new
#endif
MR_CH_SCANLIST2 = 1u << 6, MR_CH_SCANLIST2 = 1u << 6,
MR_CH_SCANLIST1 = 1u << 7 MR_CH_SCANLIST1 = 1u << 7
}; };
@ -111,9 +109,7 @@ typedef struct VFO_Info_t
uint8_t AM_mode; uint8_t AM_mode;
#ifdef ENABLE_COMPANDER
uint8_t Compander; uint8_t Compander;
#endif
char Name[16]; char Name[16];
} VFO_Info_t; } VFO_Info_t;

View File

@ -179,7 +179,7 @@ void SETTINGS_SaveSettings(void)
#ifdef ENABLE_AM_FIX #ifdef ENABLE_AM_FIX
if (!gSetting_AM_fix) State[7] &= ~(1u << 5); if (!gSetting_AM_fix) State[7] &= ~(1u << 5);
#endif #endif
if (!gSetting_backlight_on_tx_rx) State[7] &= ~(1u << 6); State[7] = (State[7] & ~(3u << 6)) | ((gSetting_backlight_on_tx_rx & 3u) << 6);
EEPROM_WriteBuffer(0x0F40, State); EEPROM_WriteBuffer(0x0F40, State);
} }
@ -260,20 +260,15 @@ void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool keep)
{ {
uint8_t State[8]; uint8_t State[8];
uint8_t Attributes = 0xFF; // default attributes uint8_t Attributes = 0xFF; // default attributes
#ifdef ENABLE_COMPANDER
Attributes &= ~MR_CH_COMPAND; // default to '0' = compander disabled
#endif
uint16_t Offset = 0x0D60 + (Channel & ~7u); uint16_t Offset = 0x0D60 + (Channel & ~7u);
Attributes &= ~MR_CH_COMPAND; // default to '0' = compander disabled
EEPROM_ReadBuffer(Offset, State, sizeof(State)); EEPROM_ReadBuffer(Offset, State, sizeof(State));
if (keep) if (keep)
{ {
#ifdef ENABLE_COMPANDER
Attributes = (pVFO->SCANLIST1_PARTICIPATION << 7) | (pVFO->SCANLIST2_PARTICIPATION << 6) | (pVFO->Compander << 4) | (pVFO->Band << 0); Attributes = (pVFO->SCANLIST1_PARTICIPATION << 7) | (pVFO->SCANLIST2_PARTICIPATION << 6) | (pVFO->Compander << 4) | (pVFO->Band << 0);
#else
Attributes = (pVFO->SCANLIST1_PARTICIPATION << 7) | (pVFO->SCANLIST2_PARTICIPATION << 6) | (pVFO->Band << 0);
#endif
if (State[Channel & 7u] == Attributes) if (State[Channel & 7u] == Attributes)
return; // no change in the attributes return; // no change in the attributes
} }

View File

@ -543,10 +543,12 @@ void UI_DisplayMain(void)
if (attributes & MR_CH_SCANLIST2) if (attributes & MR_CH_SCANLIST2)
memmove(p_line0 + 120, BITMAP_ScanList2, sizeof(BITMAP_ScanList2)); memmove(p_line0 + 120, BITMAP_ScanList2, sizeof(BITMAP_ScanList2));
#ifndef ENABLE_BIG_FREQ #ifndef ENABLE_BIG_FREQ
#ifdef ENABLE_COMPANDER
if ((attributes & MR_CH_COMPAND) > 0) if ((attributes & MR_CH_COMPAND) > 0)
memmove(p_line0 + 120 + LCD_WIDTH, BITMAP_compand, sizeof(BITMAP_compand)); memmove(p_line0 + 120 + LCD_WIDTH, BITMAP_compand, sizeof(BITMAP_compand));
#endif #else
// TODO: // find somewhere else to put the symbol
#endif #endif
switch (gEeprom.CHANNEL_DISPLAY_MODE) switch (gEeprom.CHANNEL_DISPLAY_MODE)
@ -613,7 +615,6 @@ void UI_DisplayMain(void)
UI_PrintString(String, 32, 0, line, 8); UI_PrintString(String, 32, 0, line, 8);
#endif #endif
#ifdef ENABLE_COMPANDER
// show the channel symbols // show the channel symbols
const uint8_t attributes = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; const uint8_t attributes = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]];
if ((attributes & MR_CH_COMPAND) > 0) if ((attributes & MR_CH_COMPAND) > 0)
@ -622,7 +623,6 @@ void UI_DisplayMain(void)
#else #else
memmove(p_line0 + 120 + LCD_WIDTH, BITMAP_compand, sizeof(BITMAP_compand)); memmove(p_line0 + 120 + LCD_WIDTH, BITMAP_compand, sizeof(BITMAP_compand));
#endif #endif
#endif
} }
} }

View File

@ -82,9 +82,7 @@ const t_menu_item MenuList[] =
#ifdef ENABLE_AUDIO_BAR #ifdef ENABLE_AUDIO_BAR
{"MICBAR", VOICE_ID_INVALID, MENU_MIC_BAR }, {"MICBAR", VOICE_ID_INVALID, MENU_MIC_BAR },
#endif #endif
#ifdef ENABLE_COMPANDER
{"COMPND", VOICE_ID_INVALID, MENU_COMPAND }, {"COMPND", VOICE_ID_INVALID, MENU_COMPAND },
#endif
{"1 CALL", VOICE_ID_INVALID, MENU_1_CALL }, {"1 CALL", VOICE_ID_INVALID, MENU_1_CALL },
{"SLIST", VOICE_ID_INVALID, MENU_S_LIST }, {"SLIST", VOICE_ID_INVALID, MENU_S_LIST },
{"SLIST1", VOICE_ID_INVALID, MENU_SLIST1 }, {"SLIST1", VOICE_ID_INVALID, MENU_SLIST1 },
@ -293,15 +291,13 @@ const char gSubMenu_BACKLIGHT[8][7] =
"ON" "ON"
}; };
#ifdef ENABLE_COMPANDER const char gSubMenu_RX_TX[4][6] =
const char gSubMenu_Compand[4][6] =
{ {
"OFF", "OFF",
"TX", "TX",
"RX", "RX",
"TX/RX" "TX/RX"
}; };
#endif
#ifdef ENABLE_AM_FIX_TEST1 #ifdef ENABLE_AM_FIX_TEST1
const char gSubMenu_AM_fix_test1[4][8] = const char gSubMenu_AM_fix_test1[4][8] =
@ -588,16 +584,14 @@ void UI_DisplayMenu(void)
strcpy(String, (gSubMenuSelection == 0) ? "OFF" : "AUTO"); strcpy(String, (gSubMenuSelection == 0) ? "OFF" : "AUTO");
break; break;
#ifdef ENABLE_COMPANDER
case MENU_COMPAND: case MENU_COMPAND:
strcpy(String, gSubMenu_Compand[gSubMenuSelection]); case MENU_ABR_ON_TX_RX:
strcpy(String, gSubMenu_RX_TX[gSubMenuSelection]);
break; break;
#endif
#ifdef ENABLE_AM_FIX #ifdef ENABLE_AM_FIX
case MENU_AM_FIX: case MENU_AM_FIX:
#endif #endif
case MENU_ABR_ON_TX_RX:
case MENU_BCL: case MENU_BCL:
case MENU_BEEP: case MENU_BEEP:
case MENU_S_ADD1: case MENU_S_ADD1:

View File

@ -69,9 +69,7 @@ enum
#ifdef ENABLE_AUDIO_BAR #ifdef ENABLE_AUDIO_BAR
MENU_MIC_BAR, MENU_MIC_BAR,
#endif #endif
#ifdef ENABLE_COMPANDER
MENU_COMPAND, MENU_COMPAND,
#endif
MENU_1_CALL, MENU_1_CALL,
MENU_S_LIST, MENU_S_LIST,
MENU_SLIST1, MENU_SLIST1,
@ -147,9 +145,7 @@ extern const char gSubMenu_ROGER[3][9];
extern const char gSubMenu_RESET[2][4]; extern const char gSubMenu_RESET[2][4];
extern const char gSubMenu_F_LOCK[6][4]; extern const char gSubMenu_F_LOCK[6][4];
extern const char gSubMenu_BACKLIGHT[8][7]; extern const char gSubMenu_BACKLIGHT[8][7];
#ifdef ENABLE_COMPANDER extern const char gSubMenu_RX_TX[4][6];
extern const char gSubMenu_Compand[4][6];
#endif
#ifdef ENABLE_AM_FIX_TEST1 #ifdef ENABLE_AM_FIX_TEST1
extern const char gSubMenu_AM_fix_test1[4][8]; extern const char gSubMenu_AM_fix_test1[4][8];
#endif #endif