mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-04-28 22:31: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);
|
BK4819_ExitDTMF_TX(false);
|
||||||
|
|
||||||
if (g_current_vfo->channel.scrambler == 0 || !g_eeprom.config.setting.enable_scrambler)
|
if (g_eeprom.config.setting.enable_scrambler)
|
||||||
BK4819_DisableScramble();
|
BK4819_set_scrambler(g_current_vfo->channel.scrambler);
|
||||||
else
|
else
|
||||||
//BK4819_EnableScramble(g_current_vfo->channel.scrambler - 1);
|
BK4819_set_scrambler(0);
|
||||||
BK4819_EnableScramble(2600 + ((g_current_vfo->channel.scrambler - 1) * 100));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
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);
|
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
||||||
}
|
}
|
||||||
|
|
||||||
BK4819_DisableScramble();
|
BK4819_set_scrambler(0);
|
||||||
|
|
||||||
if (Code == 0xFE)
|
if (Code == 0xFE)
|
||||||
BK4819_TransmitTone(g_eeprom.config.setting.dtmf.side_tone, 1750);
|
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:
|
case MENU_SCRAMBLER:
|
||||||
*pMin = 0;
|
*pMin = 0;
|
||||||
*pMax = ARRAY_SIZE(g_sub_menu_scrambler) - 1;
|
*pMax = 31;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MENU_TX_TO:
|
case MENU_TX_TO:
|
||||||
@ -497,11 +497,10 @@ void MENU_AcceptSetting(void)
|
|||||||
case MENU_SCRAMBLER:
|
case MENU_SCRAMBLER:
|
||||||
g_tx_vfo->channel.scrambler = g_sub_menu_selection;
|
g_tx_vfo->channel.scrambler = g_sub_menu_selection;
|
||||||
#if 0
|
#if 0
|
||||||
if (g_sub_menu_selection > 0 && g_eeprom.config.setting.enable_scrambler)
|
if (g_eeprom.config.setting.enable_scrambler)
|
||||||
// BK4819_EnableScramble(g_sub_menu_selection - 1);
|
BK4819_set_scrambler(g_tx_vfo->channel.scrambler);
|
||||||
BK4819_EnableScramble(2600 + ((g_sub_menu_selection - 1) * 100));
|
|
||||||
else
|
else
|
||||||
BK4819_DisableScramble();
|
BK4819_set_scrambler(0);
|
||||||
#endif
|
#endif
|
||||||
g_request_save_channel = IS_FREQ_CHANNEL(g_tx_vfo->channel_save) ? 2 : 1;
|
g_request_save_channel = IS_FREQ_CHANNEL(g_tx_vfo->channel_save) ? 2 : 1;
|
||||||
return;
|
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);
|
const uint16_t Value = BK4819_ReadRegister(0x31);
|
||||||
BK4819_WriteRegister(0x31, Value & ~(1u << 1));
|
if (index <= 0)
|
||||||
}
|
{ // disable
|
||||||
|
BK4819_WriteRegister(0x31, Value & ~(1u << 1));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ // enable
|
||||||
|
uint16_t freq = 2600 + ((index - 1) * 50); // 50 Hz steps
|
||||||
|
if (freq > 12000)
|
||||||
|
freq = 12000;
|
||||||
|
|
||||||
#if 0
|
BK4819_WriteRegister(0x31, Value | (1u << 1)); // enable
|
||||||
void BK4819_EnableScramble(const uint8_t Type)
|
BK4819_WriteRegister(0x71, scale_freq(freq));
|
||||||
{
|
}
|
||||||
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));
|
|
||||||
|
|
||||||
BK4819_WriteRegister(0x71, scale_freq(freq));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool BK4819_CompanderEnabled(void)
|
bool BK4819_CompanderEnabled(void)
|
||||||
{
|
{
|
||||||
|
@ -94,9 +94,8 @@ void BK4819_SetupSquelch(
|
|||||||
void BK4819_SetAF(BK4819_af_type_t AF);
|
void BK4819_SetAF(BK4819_af_type_t AF);
|
||||||
void BK4819_RX_TurnOn(void);
|
void BK4819_RX_TurnOn(void);
|
||||||
void BK4819_set_rf_filter_path(uint32_t Frequency);
|
void BK4819_set_rf_filter_path(uint32_t Frequency);
|
||||||
void BK4819_DisableScramble(void);
|
|
||||||
//void BK4819_EnableScramble(const uint8_t Type);
|
void BK4819_set_scrambler(const int index);
|
||||||
void BK4819_EnableScramble(const uint16_t freq);
|
|
||||||
|
|
||||||
bool BK4819_CompanderEnabled(void);
|
bool BK4819_CompanderEnabled(void);
|
||||||
void BK4819_SetCompander(const unsigned int mode);
|
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
|
#endif
|
||||||
|
|
||||||
if (g_current_vfo->channel.scrambler == 0 || !g_eeprom.config.setting.enable_scrambler)
|
BK4819_set_scrambler(0);
|
||||||
BK4819_DisableScramble();
|
|
||||||
|
|
||||||
RADIO_enableTX(false);
|
RADIO_enableTX(false);
|
||||||
|
|
||||||
@ -301,11 +300,8 @@ void FUNCTION_Select(function_type_t Function)
|
|||||||
(1u << 1) | // enable TX DSP
|
(1u << 1) | // enable TX DSP
|
||||||
(0u << 0)); // disable RX DSP
|
(0u << 0)); // disable RX DSP
|
||||||
*/
|
*/
|
||||||
if (g_current_vfo->channel.scrambler > 0 && g_eeprom.config.setting.enable_scrambler)
|
if (g_eeprom.config.setting.enable_scrambler)
|
||||||
{
|
BK4819_set_scrambler(g_current_vfo->channel.scrambler);
|
||||||
// BK4819_EnableScramble(g_current_vfo->channel.scrambler - 1);
|
|
||||||
BK4819_EnableScramble(2600 + ((g_current_vfo->channel.scrambler - 1) * 100));
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
7
radio.c
7
radio.c
@ -790,11 +790,10 @@ void RADIO_setup_registers(bool switch_to_function_foreground)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_rx_vfo->channel.scrambler > 0 && g_eeprom.config.setting.enable_scrambler)
|
if (g_eeprom.config.setting.enable_scrambler)
|
||||||
// BK4819_EnableScramble(g_rx_vfo->channel.scrambler - 1);
|
BK4819_set_scrambler(g_rx_vfo->channel.scrambler);
|
||||||
BK4819_EnableScramble(2600 + ((g_rx_vfo->channel.scrambler - 1) * 100));
|
|
||||||
else
|
else
|
||||||
BK4819_DisableScramble();
|
BK4819_set_scrambler(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef ENABLE_NOAA
|
#ifdef ENABLE_NOAA
|
||||||
|
19
settings.h
19
settings.h
@ -213,18 +213,25 @@ typedef struct {
|
|||||||
// [13]
|
// [13]
|
||||||
uint8_t dtmf_decoding_enable:1; //
|
uint8_t dtmf_decoding_enable:1; //
|
||||||
uint8_t dtmf_ptt_id_tx_mode:3; //
|
uint8_t dtmf_ptt_id_tx_mode:3; //
|
||||||
uint8_t unused6:4; //
|
|
||||||
// [14]
|
|
||||||
uint8_t step_setting; //
|
|
||||||
// [15]
|
|
||||||
uint8_t scrambler:4; //
|
|
||||||
#if 0
|
#if 0
|
||||||
// QS
|
// QS
|
||||||
uint8_t unused7:4; //
|
uint8_t unused6:4; //
|
||||||
#else
|
#else
|
||||||
// 1of11
|
// 1of11
|
||||||
uint8_t squelch_level:4; // 0 ~ 9 per channel squelch, 0 = use main squelch level
|
uint8_t squelch_level:4; // 0 ~ 9 per channel squelch, 0 = use main squelch level
|
||||||
#endif
|
#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; //
|
} __attribute__((packed)) t_channel; //
|
||||||
|
|
||||||
typedef union {
|
typedef union {
|
||||||
|
32
ui/menu.c
32
ui/menu.c
@ -367,26 +367,6 @@ const char g_sub_menu_dis_en[2][9] =
|
|||||||
"ENABLED"
|
"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
|
#ifdef ENABLE_SIDE_BUTT_MENU
|
||||||
const char g_sub_menu_side_butt[9][16] =
|
const char g_sub_menu_side_butt[9][16] =
|
||||||
//const char g_sub_menu_side_butt[10][16] =
|
//const char g_sub_menu_side_butt[10][16] =
|
||||||
@ -708,14 +688,16 @@ void UI_DisplayMenu(void)
|
|||||||
|
|
||||||
case MENU_SCRAMBLER:
|
case MENU_SCRAMBLER:
|
||||||
strcpy(str, "INVERT\n");
|
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 1
|
||||||
if (g_sub_menu_selection > 0 && g_eeprom.config.setting.enable_scrambler)
|
if (g_eeprom.config.setting.enable_scrambler)
|
||||||
// BK4819_EnableScramble(g_sub_menu_selection - 1);
|
BK4819_set_scrambler(g_sub_menu_selection);
|
||||||
BK4819_EnableScramble(2600 + ((g_sub_menu_selection - 1) * 100));
|
|
||||||
else
|
else
|
||||||
BK4819_DisableScramble();
|
BK4819_set_scrambler(0);
|
||||||
#endif
|
#endif
|
||||||
channel_setting = true;
|
channel_setting = true;
|
||||||
break;
|
break;
|
||||||
|
@ -194,7 +194,6 @@ extern const char g_sub_menu_rx_tx[4][6];
|
|||||||
#endif
|
#endif
|
||||||
extern const char g_sub_menu_bat_text[3][8];
|
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_dis_en[2][9];
|
||||||
extern const char g_sub_menu_scrambler[16][7];
|
|
||||||
#ifdef ENABLE_SIDE_BUTT_MENU
|
#ifdef ENABLE_SIDE_BUTT_MENU
|
||||||
extern const char g_sub_menu_side_butt[9][16];
|
extern const char g_sub_menu_side_butt[9][16];
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user