mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-04-28 14:21:25 +03:00
more scrambler menu options
This commit is contained in:
parent
004c6dfea9
commit
d59d4eae15
@ -2713,11 +2713,10 @@ static void APP_process_key(const key_code_t Key, const bool key_pressed, const
|
||||
|
||||
BK4819_ExitDTMF_TX(false);
|
||||
|
||||
if (g_current_vfo->channel.scrambler == 0 || !g_eeprom.config.setting.enable_scrambler)
|
||||
BK4819_DisableScramble();
|
||||
if (g_eeprom.config.setting.enable_scrambler)
|
||||
BK4819_set_scrambler(g_current_vfo->channel.scrambler);
|
||||
else
|
||||
//BK4819_EnableScramble(g_current_vfo->channel.scrambler - 1);
|
||||
BK4819_EnableScramble(2600 + ((g_current_vfo->channel.scrambler - 1) * 100));
|
||||
BK4819_set_scrambler(0);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -2727,7 +2726,7 @@ static void APP_process_key(const key_code_t Key, const bool key_pressed, const
|
||||
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
||||
}
|
||||
|
||||
BK4819_DisableScramble();
|
||||
BK4819_set_scrambler(0);
|
||||
|
||||
if (Code == 0xFE)
|
||||
BK4819_TransmitTone(g_eeprom.config.setting.dtmf.side_tone, 1750);
|
||||
|
@ -270,7 +270,7 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax)
|
||||
|
||||
case MENU_SCRAMBLER:
|
||||
*pMin = 0;
|
||||
*pMax = ARRAY_SIZE(g_sub_menu_scrambler) - 1;
|
||||
*pMax = 31;
|
||||
break;
|
||||
|
||||
case MENU_TX_TO:
|
||||
@ -497,11 +497,10 @@ void MENU_AcceptSetting(void)
|
||||
case MENU_SCRAMBLER:
|
||||
g_tx_vfo->channel.scrambler = g_sub_menu_selection;
|
||||
#if 0
|
||||
if (g_sub_menu_selection > 0 && g_eeprom.config.setting.enable_scrambler)
|
||||
// BK4819_EnableScramble(g_sub_menu_selection - 1);
|
||||
BK4819_EnableScramble(2600 + ((g_sub_menu_selection - 1) * 100));
|
||||
if (g_eeprom.config.setting.enable_scrambler)
|
||||
BK4819_set_scrambler(g_tx_vfo->channel.scrambler);
|
||||
else
|
||||
BK4819_DisableScramble();
|
||||
BK4819_set_scrambler(0);
|
||||
#endif
|
||||
g_request_save_channel = IS_FREQ_CHANNEL(g_tx_vfo->channel_save) ? 2 : 1;
|
||||
return;
|
||||
|
@ -766,29 +766,23 @@ void BK4819_set_rf_filter_path(uint32_t Frequency)
|
||||
}
|
||||
}
|
||||
|
||||
void BK4819_DisableScramble(void)
|
||||
void BK4819_set_scrambler(const int index)
|
||||
{
|
||||
const uint16_t Value = BK4819_ReadRegister(0x31);
|
||||
if (index <= 0)
|
||||
{ // disable
|
||||
BK4819_WriteRegister(0x31, Value & ~(1u << 1));
|
||||
}
|
||||
|
||||
#if 0
|
||||
void BK4819_EnableScramble(const uint8_t Type)
|
||||
{
|
||||
const uint16_t Value = BK4819_ReadRegister(0x31);
|
||||
BK4819_WriteRegister(0x31, Value | (1u << 1));
|
||||
|
||||
BK4819_WriteRegister(0x71, (26 + Type) * 1032);
|
||||
}
|
||||
#else
|
||||
void BK4819_EnableScramble(const uint16_t freq)
|
||||
{
|
||||
const uint16_t Value = BK4819_ReadRegister(0x31);
|
||||
BK4819_WriteRegister(0x31, Value | (1u << 1));
|
||||
}
|
||||
else
|
||||
{ // enable
|
||||
uint16_t freq = 2600 + ((index - 1) * 50); // 50 Hz steps
|
||||
if (freq > 12000)
|
||||
freq = 12000;
|
||||
|
||||
BK4819_WriteRegister(0x31, Value | (1u << 1)); // enable
|
||||
BK4819_WriteRegister(0x71, scale_freq(freq));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
bool BK4819_CompanderEnabled(void)
|
||||
{
|
||||
|
@ -94,9 +94,8 @@ void BK4819_SetupSquelch(
|
||||
void BK4819_SetAF(BK4819_af_type_t AF);
|
||||
void BK4819_RX_TurnOn(void);
|
||||
void BK4819_set_rf_filter_path(uint32_t Frequency);
|
||||
void BK4819_DisableScramble(void);
|
||||
//void BK4819_EnableScramble(const uint8_t Type);
|
||||
void BK4819_EnableScramble(const uint16_t freq);
|
||||
|
||||
void BK4819_set_scrambler(const int index);
|
||||
|
||||
bool BK4819_CompanderEnabled(void);
|
||||
void BK4819_SetCompander(const unsigned int mode);
|
||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
10
functions.c
10
functions.c
@ -233,8 +233,7 @@ void FUNCTION_Select(function_type_t Function)
|
||||
}
|
||||
#endif
|
||||
|
||||
if (g_current_vfo->channel.scrambler == 0 || !g_eeprom.config.setting.enable_scrambler)
|
||||
BK4819_DisableScramble();
|
||||
BK4819_set_scrambler(0);
|
||||
|
||||
RADIO_enableTX(false);
|
||||
|
||||
@ -301,11 +300,8 @@ void FUNCTION_Select(function_type_t Function)
|
||||
(1u << 1) | // enable TX DSP
|
||||
(0u << 0)); // disable RX DSP
|
||||
*/
|
||||
if (g_current_vfo->channel.scrambler > 0 && g_eeprom.config.setting.enable_scrambler)
|
||||
{
|
||||
// BK4819_EnableScramble(g_current_vfo->channel.scrambler - 1);
|
||||
BK4819_EnableScramble(2600 + ((g_current_vfo->channel.scrambler - 1) * 100));
|
||||
}
|
||||
if (g_eeprom.config.setting.enable_scrambler)
|
||||
BK4819_set_scrambler(g_current_vfo->channel.scrambler);
|
||||
|
||||
break;
|
||||
|
||||
|
7
radio.c
7
radio.c
@ -790,11 +790,10 @@ void RADIO_setup_registers(bool switch_to_function_foreground)
|
||||
break;
|
||||
}
|
||||
|
||||
if (g_rx_vfo->channel.scrambler > 0 && g_eeprom.config.setting.enable_scrambler)
|
||||
// BK4819_EnableScramble(g_rx_vfo->channel.scrambler - 1);
|
||||
BK4819_EnableScramble(2600 + ((g_rx_vfo->channel.scrambler - 1) * 100));
|
||||
if (g_eeprom.config.setting.enable_scrambler)
|
||||
BK4819_set_scrambler(g_rx_vfo->channel.scrambler);
|
||||
else
|
||||
BK4819_DisableScramble();
|
||||
BK4819_set_scrambler(0);
|
||||
}
|
||||
}
|
||||
#ifdef ENABLE_NOAA
|
||||
|
19
settings.h
19
settings.h
@ -213,18 +213,25 @@ typedef struct {
|
||||
// [13]
|
||||
uint8_t dtmf_decoding_enable:1; //
|
||||
uint8_t dtmf_ptt_id_tx_mode:3; //
|
||||
uint8_t unused6:4; //
|
||||
// [14]
|
||||
uint8_t step_setting; //
|
||||
// [15]
|
||||
uint8_t scrambler:4; //
|
||||
#if 0
|
||||
// QS
|
||||
uint8_t unused7:4; //
|
||||
uint8_t unused6:4; //
|
||||
#else
|
||||
// 1of11
|
||||
uint8_t squelch_level:4; // 0 ~ 9 per channel squelch, 0 = use main squelch level
|
||||
#endif
|
||||
// [14]
|
||||
uint8_t step_setting; //
|
||||
// [15]
|
||||
#if 0
|
||||
// QS
|
||||
uint8_t scrambler:4; //
|
||||
uint8_t unused7:4; //
|
||||
#else
|
||||
// 1of11
|
||||
uint8_t scrambler:5; // more scrambler frequencies
|
||||
uint8_t unused7:3; //
|
||||
#endif
|
||||
} __attribute__((packed)) t_channel; //
|
||||
|
||||
typedef union {
|
||||
|
32
ui/menu.c
32
ui/menu.c
@ -367,26 +367,6 @@ const char g_sub_menu_dis_en[2][9] =
|
||||
"ENABLED"
|
||||
};
|
||||
|
||||
const char g_sub_menu_scrambler[16][7] =
|
||||
{
|
||||
"OFF", // 0
|
||||
"2600Hz",
|
||||
"2700Hz",
|
||||
"2800Hz",
|
||||
"2900Hz",
|
||||
"3000Hz",
|
||||
"3100Hz",
|
||||
"3200Hz",
|
||||
"3300Hz",
|
||||
"3400Hz",
|
||||
"3500Hz", // 10
|
||||
"3600Hz",
|
||||
"3700Hz",
|
||||
"3800Hz",
|
||||
"3900Hz",
|
||||
"4000Hz" // 15
|
||||
};
|
||||
|
||||
#ifdef ENABLE_SIDE_BUTT_MENU
|
||||
const char g_sub_menu_side_butt[9][16] =
|
||||
//const char g_sub_menu_side_butt[10][16] =
|
||||
@ -708,14 +688,16 @@ void UI_DisplayMenu(void)
|
||||
|
||||
case MENU_SCRAMBLER:
|
||||
strcpy(str, "INVERT\n");
|
||||
strcat(str, g_sub_menu_scrambler[g_sub_menu_selection]);
|
||||
if (g_sub_menu_selection == 0)
|
||||
strcat(str, "OFF");
|
||||
else
|
||||
sprintf(str + strlen(str), "%uHz", 2600 + ((g_sub_menu_selection - 1) * 50));
|
||||
|
||||
#if 1
|
||||
if (g_sub_menu_selection > 0 && g_eeprom.config.setting.enable_scrambler)
|
||||
// BK4819_EnableScramble(g_sub_menu_selection - 1);
|
||||
BK4819_EnableScramble(2600 + ((g_sub_menu_selection - 1) * 100));
|
||||
if (g_eeprom.config.setting.enable_scrambler)
|
||||
BK4819_set_scrambler(g_sub_menu_selection);
|
||||
else
|
||||
BK4819_DisableScramble();
|
||||
BK4819_set_scrambler(0);
|
||||
#endif
|
||||
channel_setting = true;
|
||||
break;
|
||||
|
@ -194,7 +194,6 @@ extern const char g_sub_menu_rx_tx[4][6];
|
||||
#endif
|
||||
extern const char g_sub_menu_bat_text[3][8];
|
||||
extern const char g_sub_menu_dis_en[2][9];
|
||||
extern const char g_sub_menu_scrambler[16][7];
|
||||
#ifdef ENABLE_SIDE_BUTT_MENU
|
||||
extern const char g_sub_menu_side_butt[9][16];
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user