mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-04-28 06:11:24 +03:00
TX user power setting updated
This commit is contained in:
parent
fd680325ef
commit
f24b6b41bf
7
Makefile
7
Makefile
@ -53,11 +53,10 @@ ENABLE_F_CAL_MENU := 0
|
||||
ENABLE_TX_UNLOCK_MENU := 0
|
||||
#ENABLE_TX_POWER_CAL_MENU := 0
|
||||
ENABLE_TX_POWER_FIX := 1
|
||||
ENABLE_TX_POWER_LOW_USER := 0
|
||||
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1
|
||||
ENABLE_CONTRAST := 0
|
||||
ENABLE_BOOT_BEEPS := 0
|
||||
ENABLE_DTMF_CALL_FLASH_LIGHT := 1
|
||||
ENABLE_DTMF_CALL_FLASH_LIGHT := 0
|
||||
ENABLE_FLASH_LIGHT_SOS_TONE := 0
|
||||
ENABLE_SHOW_CHARGE_LEVEL := 0
|
||||
ENABLE_REVERSE_BAT_SYMBOL := 0
|
||||
@ -71,7 +70,6 @@ ENABLE_KILL_REVIVE := 0
|
||||
# AM Fix 800 B
|
||||
ENABLE_AM_FIX := 1
|
||||
ENABLE_AM_FIX_SHOW_DATA := 0
|
||||
# Squelch 12 B .. can't be right ?
|
||||
ENABLE_SQUELCH_MORE_SENSITIVE := 1
|
||||
ENABLE_SQ_OPEN_WITH_UP_DN_BUTTS := 1
|
||||
ENABLE_FASTER_CHANNEL_SCAN := 1
|
||||
@ -359,9 +357,6 @@ endif
|
||||
ifeq ($(ENABLE_TX_POWER_FIX),1)
|
||||
CFLAGS += -DENABLE_TX_POWER_FIX
|
||||
endif
|
||||
ifeq ($(ENABLE_TX_POWER_LOW_USER),1)
|
||||
CFLAGS += -DENABLE_TX_POWER_LOW_USER
|
||||
endif
|
||||
ifeq ($(ENABLE_ALARM),1)
|
||||
CFLAGS += -DENABLE_ALARM
|
||||
endif
|
||||
|
@ -72,8 +72,7 @@ ENABLE_TX_WHEN_AM := 0 allow TX (always FM) when RX is set
|
||||
ENABLE_F_CAL_MENU := 0 enable frequency calibration hidden menu
|
||||
ENABLE_TX_UNLOCK_MENU := 0 allow TX everywhere EXCEPT airband (108~137) .. TX harmonic content will cause interference to other services, do so entirely at your own risk !
|
||||
ENABLE_TX_POWER_CAL_MENU := 0 used to compute the TX power register values .. leave at '0'
|
||||
ENABLE_TX_POWER_FIX := 1 fix the TX output power, L ~ 10mW, M ~ 500mW, H ~ 4W
|
||||
ENABLE_TX_POWER_LOW_USER := 1 make the low power setting user settable (for local hotspots etc) .. adds "TxPUSR" menu option
|
||||
ENABLE_TX_POWER_FIX := 1 fix the TX output power, L ~ 10mW, M ~ 500mW, H ~ 4W, U ~ user settable
|
||||
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 0 standard CTCSS tail phase shift rather than QS's own 55Hz tone method
|
||||
ENABLE_CONTRAST := 0 add contrast menu
|
||||
ENABLE_BOOT_BEEPS := 0 gives user audio feedback on volume knob position at boot-up
|
||||
|
@ -79,7 +79,7 @@ static void ACTION_FlashLight(void)
|
||||
|
||||
void ACTION_Power(void)
|
||||
{
|
||||
if (++g_tx_vfo->channel.tx_power > OUTPUT_POWER_HIGH)
|
||||
if (++g_tx_vfo->channel.tx_power > OUTPUT_POWER_USER)
|
||||
g_tx_vfo->channel.tx_power = OUTPUT_POWER_LOW;
|
||||
|
||||
#if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG)
|
||||
|
56
app/menu.c
56
app/menu.c
@ -120,18 +120,16 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax)
|
||||
*pMax = ARRAY_SIZE(g_sub_menu_mem_disp) - 1;
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_TX_POWER_LOW_USER
|
||||
case MENU_TX_POWER_LOW_USER:
|
||||
*pMin = 0;
|
||||
*pMax = 15;
|
||||
break;
|
||||
#endif
|
||||
|
||||
case MENU_TX_POWER:
|
||||
*pMin = 0;
|
||||
*pMax = ARRAY_SIZE(g_sub_menu_tx_power) - 1;
|
||||
break;
|
||||
|
||||
case MENU_TX_POWER_USER:
|
||||
*pMin = 0;
|
||||
*pMax = 15;
|
||||
break;
|
||||
|
||||
case MENU_SHIFT_DIR:
|
||||
*pMin = 0;
|
||||
*pMax = ARRAY_SIZE(g_sub_menu_shift_dir) - 1;
|
||||
@ -257,6 +255,15 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax)
|
||||
#ifdef ENABLE_SCAN_RANGES
|
||||
case MENU_SCAN_RANGES:
|
||||
#endif
|
||||
#ifdef ENABLE_NOAA
|
||||
case MENU_NOAA_SCAN:
|
||||
#endif
|
||||
case MENU_350_TX:
|
||||
case MENU_174_TX:
|
||||
case MENU_470_TX:
|
||||
case MENU_350_EN:
|
||||
case MENU_SCRAMBLER_EN:
|
||||
case MENU_TX_EN:
|
||||
case MENU_S_ADD1:
|
||||
case MENU_S_ADD2:
|
||||
case MENU_STE:
|
||||
@ -272,19 +279,6 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax)
|
||||
*pMax = ARRAY_SIZE(g_sub_menu_mod_mode) - 1;
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_NOAA
|
||||
case MENU_NOAA_SCAN:
|
||||
#endif
|
||||
case MENU_350_TX:
|
||||
case MENU_174_TX:
|
||||
case MENU_470_TX:
|
||||
case MENU_350_EN:
|
||||
case MENU_SCRAMBLER_EN:
|
||||
case MENU_TX_EN:
|
||||
*pMin = 0;
|
||||
*pMax = ARRAY_SIZE(g_sub_menu_dis_en) - 1;
|
||||
break;
|
||||
|
||||
case MENU_SCRAMBLER:
|
||||
*pMin = 0;
|
||||
*pMax = 31;
|
||||
@ -437,18 +431,16 @@ void MENU_AcceptSetting(void)
|
||||
g_request_save_channel = 1;
|
||||
return;
|
||||
|
||||
#ifdef ENABLE_TX_POWER_LOW_USER
|
||||
case MENU_TX_POWER_LOW_USER:
|
||||
g_tx_vfo->channel.tx_power_user = g_sub_menu_selection;
|
||||
g_request_save_channel = 1;
|
||||
break;
|
||||
#endif
|
||||
|
||||
case MENU_TX_POWER:
|
||||
g_tx_vfo->channel.tx_power = g_sub_menu_selection;
|
||||
g_request_save_channel = 1;
|
||||
return;
|
||||
|
||||
case MENU_TX_POWER_USER:
|
||||
g_tx_vfo->channel.tx_power_user = g_sub_menu_selection;
|
||||
g_request_save_channel = 1;
|
||||
break;
|
||||
|
||||
case MENU_TX_CDCSS:
|
||||
pConfig = &g_tx_vfo->freq_config_tx;
|
||||
|
||||
@ -1022,16 +1014,14 @@ void MENU_ShowCurrentSetting(void)
|
||||
g_sub_menu_selection = FREQUENCY_get_step_index(STEP_FREQ_TABLE[g_tx_vfo->channel.step_setting]);
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_TX_POWER_LOW_USER
|
||||
case MENU_TX_POWER_LOW_USER:
|
||||
g_sub_menu_selection = g_tx_vfo->channel.tx_power_user;
|
||||
break;
|
||||
#endif
|
||||
|
||||
case MENU_TX_POWER:
|
||||
g_sub_menu_selection = g_tx_vfo->channel.tx_power;
|
||||
break;
|
||||
|
||||
case MENU_TX_POWER_USER:
|
||||
g_sub_menu_selection = g_tx_vfo->channel.tx_power_user;
|
||||
break;
|
||||
|
||||
case MENU_RX_CDCSS:
|
||||
switch (g_tx_vfo->freq_config_rx.code_type)
|
||||
{
|
||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
4
radio.c
4
radio.c
@ -630,11 +630,9 @@ void RADIO_ConfigureTXPower(vfo_info_t *p_vfo)
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_TX_POWER_LOW_USER
|
||||
if (p_vfo->channel.tx_power == OUTPUT_POWER_LOW)
|
||||
if (p_vfo->channel.tx_power == OUTPUT_POWER_USER)
|
||||
p_vfo->txp_reg_value = 8 + (p_vfo->channel.tx_power_user * 2);
|
||||
else
|
||||
#endif
|
||||
p_vfo->txp_reg_value = FREQUENCY_CalculateOutputPower(tx_power[0], tx_power[1], tx_power[2], p_vfo->p_tx->frequency);
|
||||
}
|
||||
|
||||
|
10
settings.c
10
settings.c
@ -121,13 +121,11 @@ void SETTINGS_read_eeprom(void)
|
||||
// if (g_eeprom.config.channel_attributes[index].band <= BAND7_470MHz)
|
||||
{ // used channel
|
||||
|
||||
if (g_eeprom.config.channel[index].mod_mode == 3)
|
||||
g_eeprom.config.channel[index].mod_mode = 0;
|
||||
if (g_eeprom.config.channel[index].mod_mode >= MOD_MODE_LEN)
|
||||
g_eeprom.config.channel[index].mod_mode = MOD_MODE_FM;
|
||||
|
||||
#ifdef ENABLE_TX_POWER_LOW_USER
|
||||
if (g_eeprom.config.channel[index].tx_power_user == 0)
|
||||
g_eeprom.config.channel[index].tx_power_user = 9;
|
||||
#endif
|
||||
if (g_eeprom.config.channel[index].tx_power_user == 0)
|
||||
g_eeprom.config.channel[index].tx_power_user = 8;
|
||||
|
||||
|
||||
}
|
||||
|
@ -83,7 +83,8 @@ enum {
|
||||
enum {
|
||||
OUTPUT_POWER_LOW = 0,
|
||||
OUTPUT_POWER_MID,
|
||||
OUTPUT_POWER_HIGH
|
||||
OUTPUT_POWER_HIGH,
|
||||
OUTPUT_POWER_USER
|
||||
};
|
||||
|
||||
enum {
|
||||
@ -211,7 +212,7 @@ typedef struct {
|
||||
struct {
|
||||
uint8_t frequency_reverse:1; // 0=disabled 1=enabled
|
||||
uint8_t channel_bandwidth:1; // 0=wide (25kHz) 1=narrow (12.5kHz)
|
||||
uint8_t tx_power:2; // 0=low/user 1=medium 2=high
|
||||
uint8_t tx_power:2; // 0=low 1=medium 2=high 3=user
|
||||
uint8_t busy_channel_lock:1; // 0=disabled 1=enabled
|
||||
uint8_t unused5:1; //
|
||||
uint8_t compand:2; // 0=off 1=TX 2=RX 3=TX/RX
|
||||
|
@ -949,6 +949,7 @@ void UI_DisplayMain(void)
|
||||
case OUTPUT_POWER_LOW: Level = 2; break;
|
||||
case OUTPUT_POWER_MID: Level = 4; break;
|
||||
case OUTPUT_POWER_HIGH: Level = 6; break;
|
||||
case OUTPUT_POWER_USER: Level = 2; break;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -990,11 +991,7 @@ void UI_DisplayMain(void)
|
||||
if (FREQUENCY_tx_freq_check(g_vfo_info[vfo_num].p_tx->frequency) == 0)
|
||||
{
|
||||
// show the TX power
|
||||
#ifdef ENABLE_TX_POWER_LOW_USER
|
||||
const char pwr_list[] = "UMH"; // user, midium, high
|
||||
#else
|
||||
const char pwr_list[] = "LMH"; // low, medium, high
|
||||
#endif
|
||||
const char pwr_list[] = "LMHU"; // low, medium, high, user
|
||||
const unsigned int i = g_vfo_info[vfo_num].channel.tx_power;
|
||||
str[0] = (i < ARRAY_SIZE(pwr_list)) ? pwr_list[i] : '\0';
|
||||
str[1] = '\0';
|
||||
|
71
ui/menu.c
71
ui/menu.c
@ -53,9 +53,7 @@ const t_menu_item g_menu_list[] =
|
||||
{"STEP", VOICE_ID_FREQUENCY_STEP, MENU_STEP },
|
||||
{"W/N", VOICE_ID_CHANNEL_BANDWIDTH, MENU_BANDWIDTH },
|
||||
{"Tx PWR", VOICE_ID_POWER, MENU_TX_POWER }, // was "TXP"
|
||||
#ifdef ENABLE_TX_POWER_LOW_USER
|
||||
{"TxPUSR", VOICE_ID_POWER, MENU_TX_POWER_LOW_USER },
|
||||
#endif
|
||||
{"TxPUSR", VOICE_ID_POWER, MENU_TX_POWER_USER },
|
||||
{"Rx DCS", VOICE_ID_DCS, MENU_RX_CDCSS }, // was "R_DCS"
|
||||
{"Rx CTS", VOICE_ID_CTCSS, MENU_RX_CTCSS }, // was "R_CTCS"
|
||||
{"Tx DCS", VOICE_ID_DCS, MENU_TX_CDCSS }, // was "T_DCS"
|
||||
@ -193,15 +191,12 @@ const char g_sub_menu_mod_mode[3][4] =
|
||||
"DSB"
|
||||
};
|
||||
|
||||
const char g_sub_menu_tx_power[3][7] =
|
||||
const char g_sub_menu_tx_power[4][5] =
|
||||
{
|
||||
#ifdef ENABLE_TX_POWER_LOW_USER
|
||||
"USER",
|
||||
#else
|
||||
"LOW",
|
||||
#endif
|
||||
"MEDIUM",
|
||||
"HIGH"
|
||||
"LOW",
|
||||
"MID",
|
||||
"HIGH",
|
||||
"USER"
|
||||
};
|
||||
|
||||
const char g_sub_menu_shift_dir[3][4] =
|
||||
@ -278,10 +273,10 @@ const char g_sub_menu_scan_car_resume[3][8] =
|
||||
"NO"
|
||||
};
|
||||
|
||||
const char g_sub_menu_mem_disp[4][15] =
|
||||
const char g_sub_menu_mem_disp[4][12] =
|
||||
{
|
||||
"FREQ",
|
||||
"CHANNEL\nNUMBER",
|
||||
"CHANNEL\nNUM",
|
||||
"NAME",
|
||||
"NAME\n+\nFREQ"
|
||||
};
|
||||
@ -312,28 +307,28 @@ const char g_sub_menu_ptt_id[5][16] =
|
||||
};
|
||||
|
||||
#ifdef ENABLE_MDC1200
|
||||
const char g_sub_menu_mdc1200_mode[4][8] =
|
||||
const char g_sub_menu_mdc1200_mode[4][5] =
|
||||
{
|
||||
"OFF",
|
||||
"BOT",
|
||||
"EOT",
|
||||
"BOT+EOT"
|
||||
"BOTH"
|
||||
};
|
||||
#endif
|
||||
|
||||
const char g_sub_menu_pwr_on_msg[4][14] =
|
||||
const char g_sub_menu_pwr_on_msg[4][11] =
|
||||
{
|
||||
"ALL\nPIXELS\nON",
|
||||
"ALL\nPIX\nON",
|
||||
"MESSAGE",
|
||||
"VOLTAGE",
|
||||
"NONE"
|
||||
};
|
||||
|
||||
const char g_sub_menu_roger_mode[3][15] =
|
||||
const char g_sub_menu_roger_mode[3][8] =
|
||||
{
|
||||
"OFF",
|
||||
"TX END\nROGER 1",
|
||||
"TX END\nROGER 2"
|
||||
"ROGER 1",
|
||||
"ROGER 2"
|
||||
};
|
||||
|
||||
const char g_sub_menu_reset[2][4] =
|
||||
@ -379,12 +374,6 @@ const char g_sub_menu_bat_text[3][8] =
|
||||
"PERCENT"
|
||||
};
|
||||
|
||||
const char g_sub_menu_dis_en[2][9] =
|
||||
{
|
||||
"DISABLED",
|
||||
"ENABLED"
|
||||
};
|
||||
|
||||
#ifdef ENABLE_SIDE_BUTT_MENU
|
||||
const char g_sub_menu_side_butt[9][16] =
|
||||
//const char g_sub_menu_side_butt[10][16] =
|
||||
@ -617,17 +606,15 @@ void UI_DisplayMenu(void)
|
||||
channel_setting = true;
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_TX_POWER_LOW_USER
|
||||
case MENU_TX_POWER_LOW_USER:
|
||||
// sprintf(str, "%u", 8 + (g_sub_menu_selection * 2));
|
||||
sprintf(str, "%u", g_sub_menu_selection);
|
||||
case MENU_TX_POWER_USER:
|
||||
// sprintf(str, "%u", 8 + (g_sub_menu_selection * 2));
|
||||
sprintf(str, "%u", g_sub_menu_selection);
|
||||
|
||||
// if (g_current_function == FUNCTION_TRANSMIT && g_current_display_screen != DISPLAY_AIRCOPY)
|
||||
// BK4819_SetupPowerAmplifier(8 + (g_sub_menu_selection * 2), g_current_vfo->p_tx->frequency);
|
||||
// if (g_current_function == FUNCTION_TRANSMIT && g_current_display_screen != DISPLAY_AIRCOPY)
|
||||
// BK4819_SetupPowerAmplifier(8 + (g_sub_menu_selection * 2), g_current_vfo->p_tx->frequency);
|
||||
|
||||
channel_setting = true;
|
||||
break;
|
||||
#endif
|
||||
channel_setting = true;
|
||||
break;
|
||||
|
||||
case MENU_RX_CDCSS:
|
||||
case MENU_TX_CDCSS:
|
||||
@ -867,39 +854,39 @@ void UI_DisplayMenu(void)
|
||||
#ifdef ENABLE_NOAA
|
||||
case MENU_NOAA_SCAN:
|
||||
strcpy(str, "SCAN\n");
|
||||
strcat(str, g_sub_menu_dis_en[g_sub_menu_selection]);
|
||||
strcat(str, g_sub_menu_off_on[g_sub_menu_selection]);
|
||||
break;
|
||||
#endif
|
||||
|
||||
case MENU_350_EN:
|
||||
strcpy(str, "350~400\n");
|
||||
strcat(str, g_sub_menu_dis_en[g_sub_menu_selection]);
|
||||
strcat(str, g_sub_menu_off_on[g_sub_menu_selection]);
|
||||
break;
|
||||
|
||||
case MENU_350_TX:
|
||||
strcpy(str, "TX\n350~400\n");
|
||||
strcat(str, g_sub_menu_dis_en[g_sub_menu_selection]);
|
||||
strcat(str, g_sub_menu_off_on[g_sub_menu_selection]);
|
||||
break;
|
||||
|
||||
case MENU_174_TX:
|
||||
strcpy(str, "TX\n174~350\n");
|
||||
strcat(str, g_sub_menu_dis_en[g_sub_menu_selection]);
|
||||
strcat(str, g_sub_menu_off_on[g_sub_menu_selection]);
|
||||
break;
|
||||
|
||||
case MENU_470_TX:
|
||||
strcpy(str, "TX\n470~600\n");
|
||||
strcat(str, g_sub_menu_dis_en[g_sub_menu_selection]);
|
||||
strcat(str, g_sub_menu_off_on[g_sub_menu_selection]);
|
||||
break;
|
||||
|
||||
case MENU_SCRAMBLER_EN:
|
||||
strcpy(str, "SCRAMBLER\n");
|
||||
strcat(str, g_sub_menu_dis_en[g_sub_menu_selection]);
|
||||
strcat(str, g_sub_menu_off_on[g_sub_menu_selection]);
|
||||
channel_setting = true;
|
||||
break;
|
||||
|
||||
case MENU_TX_EN:
|
||||
strcpy(str, "TX\n");
|
||||
strcat(str, g_sub_menu_dis_en[g_sub_menu_selection]);
|
||||
strcat(str, g_sub_menu_off_on[g_sub_menu_selection]);
|
||||
break;
|
||||
|
||||
case MENU_MEM_SAVE:
|
||||
|
15
ui/menu.h
15
ui/menu.h
@ -45,9 +45,7 @@ enum
|
||||
MENU_STEP,
|
||||
MENU_BANDWIDTH,
|
||||
MENU_TX_POWER,
|
||||
#ifdef ENABLE_TX_POWER_LOW_USER
|
||||
MENU_TX_POWER_LOW_USER,
|
||||
#endif
|
||||
MENU_TX_POWER_USER,
|
||||
MENU_RX_CDCSS,
|
||||
MENU_RX_CTCSS,
|
||||
MENU_TX_CDCSS,
|
||||
@ -176,7 +174,7 @@ extern const t_menu_item g_menu_list[];
|
||||
extern uint8_t g_menu_list_sorted[];
|
||||
|
||||
extern const char g_sub_menu_mod_mode[3][4];
|
||||
extern const char g_sub_menu_tx_power[3][7];
|
||||
extern const char g_sub_menu_tx_power[4][5];
|
||||
extern const char g_sub_menu_shift_dir[3][4];
|
||||
extern const char g_sub_menu_bandwidth[2][7];
|
||||
extern const char g_sub_menu_off_on[2][4];
|
||||
@ -188,17 +186,17 @@ extern const char g_sub_menu_cross_vfo[3][10];
|
||||
extern const char g_sub_menu_voice[3][4];
|
||||
#endif
|
||||
extern const char g_sub_menu_scan_car_resume[3][8];
|
||||
extern const char g_sub_menu_mem_disp[4][15];
|
||||
extern const char g_sub_menu_mem_disp[4][12];
|
||||
#ifdef ENABLE_ALARM
|
||||
extern const char g_sub_menu_alarm_mode[2][5];
|
||||
#endif
|
||||
extern const char g_sub_menu_dtmf_rsp[4][9];
|
||||
extern const char g_sub_menu_ptt_id[5][16];
|
||||
#ifdef ENABLE_MDC1200
|
||||
extern const char g_sub_menu_mdc1200_mode[4][8];
|
||||
extern const char g_sub_menu_mdc1200_mode[4][5];
|
||||
#endif
|
||||
extern const char g_sub_menu_pwr_on_msg[4][14];
|
||||
extern const char g_sub_menu_roger_mode[3][15];
|
||||
extern const char g_sub_menu_pwr_on_msg[4][11];
|
||||
extern const char g_sub_menu_roger_mode[3][8];
|
||||
extern const char g_sub_menu_reset[2][4];
|
||||
extern const char g_sub_menu_backlight[8][7];
|
||||
extern const char g_sub_menu_rx_tx[4][6];
|
||||
@ -206,7 +204,6 @@ extern const char g_sub_menu_rx_tx[4][6];
|
||||
extern const char g_sub_menu_AM_FIX_test1[4][8];
|
||||
#endif
|
||||
extern const char g_sub_menu_bat_text[3][8];
|
||||
extern const char g_sub_menu_dis_en[2][9];
|
||||
#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