0
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:
OneOfEleven 2023-11-24 11:52:11 +00:00
parent fd680325ef
commit f24b6b41bf
12 changed files with 71 additions and 109 deletions

View File

@ -53,11 +53,10 @@ ENABLE_F_CAL_MENU := 0
ENABLE_TX_UNLOCK_MENU := 0 ENABLE_TX_UNLOCK_MENU := 0
#ENABLE_TX_POWER_CAL_MENU := 0 #ENABLE_TX_POWER_CAL_MENU := 0
ENABLE_TX_POWER_FIX := 1 ENABLE_TX_POWER_FIX := 1
ENABLE_TX_POWER_LOW_USER := 0
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1 ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1
ENABLE_CONTRAST := 0 ENABLE_CONTRAST := 0
ENABLE_BOOT_BEEPS := 0 ENABLE_BOOT_BEEPS := 0
ENABLE_DTMF_CALL_FLASH_LIGHT := 1 ENABLE_DTMF_CALL_FLASH_LIGHT := 0
ENABLE_FLASH_LIGHT_SOS_TONE := 0 ENABLE_FLASH_LIGHT_SOS_TONE := 0
ENABLE_SHOW_CHARGE_LEVEL := 0 ENABLE_SHOW_CHARGE_LEVEL := 0
ENABLE_REVERSE_BAT_SYMBOL := 0 ENABLE_REVERSE_BAT_SYMBOL := 0
@ -71,7 +70,6 @@ ENABLE_KILL_REVIVE := 0
# AM Fix 800 B # AM Fix 800 B
ENABLE_AM_FIX := 1 ENABLE_AM_FIX := 1
ENABLE_AM_FIX_SHOW_DATA := 0 ENABLE_AM_FIX_SHOW_DATA := 0
# Squelch 12 B .. can't be right ?
ENABLE_SQUELCH_MORE_SENSITIVE := 1 ENABLE_SQUELCH_MORE_SENSITIVE := 1
ENABLE_SQ_OPEN_WITH_UP_DN_BUTTS := 1 ENABLE_SQ_OPEN_WITH_UP_DN_BUTTS := 1
ENABLE_FASTER_CHANNEL_SCAN := 1 ENABLE_FASTER_CHANNEL_SCAN := 1
@ -359,9 +357,6 @@ endif
ifeq ($(ENABLE_TX_POWER_FIX),1) ifeq ($(ENABLE_TX_POWER_FIX),1)
CFLAGS += -DENABLE_TX_POWER_FIX CFLAGS += -DENABLE_TX_POWER_FIX
endif endif
ifeq ($(ENABLE_TX_POWER_LOW_USER),1)
CFLAGS += -DENABLE_TX_POWER_LOW_USER
endif
ifeq ($(ENABLE_ALARM),1) ifeq ($(ENABLE_ALARM),1)
CFLAGS += -DENABLE_ALARM CFLAGS += -DENABLE_ALARM
endif endif

View File

@ -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_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_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_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_FIX := 1 fix the TX output power, L ~ 10mW, M ~ 500mW, H ~ 4W, U ~ user settable
ENABLE_TX_POWER_LOW_USER := 1 make the low power setting user settable (for local hotspots etc) .. adds "TxPUSR" menu option
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 0 standard CTCSS tail phase shift rather than QS's own 55Hz tone method 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_CONTRAST := 0 add contrast menu
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

View File

@ -79,7 +79,7 @@ static void ACTION_FlashLight(void)
void ACTION_Power(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; g_tx_vfo->channel.tx_power = OUTPUT_POWER_LOW;
#if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG)

View File

@ -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; *pMax = ARRAY_SIZE(g_sub_menu_mem_disp) - 1;
break; break;
#ifdef ENABLE_TX_POWER_LOW_USER
case MENU_TX_POWER_LOW_USER:
*pMin = 0;
*pMax = 15;
break;
#endif
case MENU_TX_POWER: case MENU_TX_POWER:
*pMin = 0; *pMin = 0;
*pMax = ARRAY_SIZE(g_sub_menu_tx_power) - 1; *pMax = ARRAY_SIZE(g_sub_menu_tx_power) - 1;
break; break;
case MENU_TX_POWER_USER:
*pMin = 0;
*pMax = 15;
break;
case MENU_SHIFT_DIR: case MENU_SHIFT_DIR:
*pMin = 0; *pMin = 0;
*pMax = ARRAY_SIZE(g_sub_menu_shift_dir) - 1; *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 #ifdef ENABLE_SCAN_RANGES
case MENU_SCAN_RANGES: case MENU_SCAN_RANGES:
#endif #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_ADD1:
case MENU_S_ADD2: case MENU_S_ADD2:
case MENU_STE: 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; *pMax = ARRAY_SIZE(g_sub_menu_mod_mode) - 1;
break; 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: case MENU_SCRAMBLER:
*pMin = 0; *pMin = 0;
*pMax = 31; *pMax = 31;
@ -437,18 +431,16 @@ void MENU_AcceptSetting(void)
g_request_save_channel = 1; g_request_save_channel = 1;
return; 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: case MENU_TX_POWER:
g_tx_vfo->channel.tx_power = g_sub_menu_selection; g_tx_vfo->channel.tx_power = g_sub_menu_selection;
g_request_save_channel = 1; g_request_save_channel = 1;
return; 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: case MENU_TX_CDCSS:
pConfig = &g_tx_vfo->freq_config_tx; 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]); g_sub_menu_selection = FREQUENCY_get_step_index(STEP_FREQ_TABLE[g_tx_vfo->channel.step_setting]);
break; 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: case MENU_TX_POWER:
g_sub_menu_selection = g_tx_vfo->channel.tx_power; g_sub_menu_selection = g_tx_vfo->channel.tx_power;
break; break;
case MENU_TX_POWER_USER:
g_sub_menu_selection = g_tx_vfo->channel.tx_power_user;
break;
case MENU_RX_CDCSS: case MENU_RX_CDCSS:
switch (g_tx_vfo->freq_config_rx.code_type) switch (g_tx_vfo->freq_config_rx.code_type)
{ {

Binary file not shown.

Binary file not shown.

View File

@ -630,11 +630,9 @@ void RADIO_ConfigureTXPower(vfo_info_t *p_vfo)
#endif #endif
#ifdef ENABLE_TX_POWER_LOW_USER if (p_vfo->channel.tx_power == OUTPUT_POWER_USER)
if (p_vfo->channel.tx_power == OUTPUT_POWER_LOW)
p_vfo->txp_reg_value = 8 + (p_vfo->channel.tx_power_user * 2); p_vfo->txp_reg_value = 8 + (p_vfo->channel.tx_power_user * 2);
else else
#endif
p_vfo->txp_reg_value = FREQUENCY_CalculateOutputPower(tx_power[0], tx_power[1], tx_power[2], p_vfo->p_tx->frequency); p_vfo->txp_reg_value = FREQUENCY_CalculateOutputPower(tx_power[0], tx_power[1], tx_power[2], p_vfo->p_tx->frequency);
} }

View File

@ -121,13 +121,11 @@ void SETTINGS_read_eeprom(void)
// if (g_eeprom.config.channel_attributes[index].band <= BAND7_470MHz) // if (g_eeprom.config.channel_attributes[index].band <= BAND7_470MHz)
{ // used channel { // used channel
if (g_eeprom.config.channel[index].mod_mode == 3) if (g_eeprom.config.channel[index].mod_mode >= MOD_MODE_LEN)
g_eeprom.config.channel[index].mod_mode = 0; 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)
if (g_eeprom.config.channel[index].tx_power_user == 0) g_eeprom.config.channel[index].tx_power_user = 8;
g_eeprom.config.channel[index].tx_power_user = 9;
#endif
} }

View File

@ -83,7 +83,8 @@ enum {
enum { enum {
OUTPUT_POWER_LOW = 0, OUTPUT_POWER_LOW = 0,
OUTPUT_POWER_MID, OUTPUT_POWER_MID,
OUTPUT_POWER_HIGH OUTPUT_POWER_HIGH,
OUTPUT_POWER_USER
}; };
enum { enum {
@ -211,7 +212,7 @@ typedef struct {
struct { struct {
uint8_t frequency_reverse:1; // 0=disabled 1=enabled uint8_t frequency_reverse:1; // 0=disabled 1=enabled
uint8_t channel_bandwidth:1; // 0=wide (25kHz) 1=narrow (12.5kHz) 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 busy_channel_lock:1; // 0=disabled 1=enabled
uint8_t unused5:1; // uint8_t unused5:1; //
uint8_t compand:2; // 0=off 1=TX 2=RX 3=TX/RX uint8_t compand:2; // 0=off 1=TX 2=RX 3=TX/RX

View File

@ -949,6 +949,7 @@ void UI_DisplayMain(void)
case OUTPUT_POWER_LOW: Level = 2; break; case OUTPUT_POWER_LOW: Level = 2; break;
case OUTPUT_POWER_MID: Level = 4; break; case OUTPUT_POWER_MID: Level = 4; break;
case OUTPUT_POWER_HIGH: Level = 6; break; case OUTPUT_POWER_HIGH: Level = 6; break;
case OUTPUT_POWER_USER: Level = 2; break;
} }
} }
else else
@ -990,11 +991,7 @@ void UI_DisplayMain(void)
if (FREQUENCY_tx_freq_check(g_vfo_info[vfo_num].p_tx->frequency) == 0) if (FREQUENCY_tx_freq_check(g_vfo_info[vfo_num].p_tx->frequency) == 0)
{ {
// show the TX power // show the TX power
#ifdef ENABLE_TX_POWER_LOW_USER const char pwr_list[] = "LMHU"; // low, medium, high, user
const char pwr_list[] = "UMH"; // user, midium, high
#else
const char pwr_list[] = "LMH"; // low, medium, high
#endif
const unsigned int i = g_vfo_info[vfo_num].channel.tx_power; const unsigned int i = g_vfo_info[vfo_num].channel.tx_power;
str[0] = (i < ARRAY_SIZE(pwr_list)) ? pwr_list[i] : '\0'; str[0] = (i < ARRAY_SIZE(pwr_list)) ? pwr_list[i] : '\0';
str[1] = '\0'; str[1] = '\0';

View File

@ -53,9 +53,7 @@ const t_menu_item g_menu_list[] =
{"STEP", VOICE_ID_FREQUENCY_STEP, MENU_STEP }, {"STEP", VOICE_ID_FREQUENCY_STEP, MENU_STEP },
{"W/N", VOICE_ID_CHANNEL_BANDWIDTH, MENU_BANDWIDTH }, {"W/N", VOICE_ID_CHANNEL_BANDWIDTH, MENU_BANDWIDTH },
{"Tx PWR", VOICE_ID_POWER, MENU_TX_POWER }, // was "TXP" {"Tx PWR", VOICE_ID_POWER, MENU_TX_POWER }, // was "TXP"
#ifdef ENABLE_TX_POWER_LOW_USER {"TxPUSR", VOICE_ID_POWER, MENU_TX_POWER_USER },
{"TxPUSR", VOICE_ID_POWER, MENU_TX_POWER_LOW_USER },
#endif
{"Rx DCS", VOICE_ID_DCS, MENU_RX_CDCSS }, // was "R_DCS" {"Rx DCS", VOICE_ID_DCS, MENU_RX_CDCSS }, // was "R_DCS"
{"Rx CTS", VOICE_ID_CTCSS, MENU_RX_CTCSS }, // was "R_CTCS" {"Rx CTS", VOICE_ID_CTCSS, MENU_RX_CTCSS }, // was "R_CTCS"
{"Tx DCS", VOICE_ID_DCS, MENU_TX_CDCSS }, // was "T_DCS" {"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" "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 "LOW",
"USER", "MID",
#else "HIGH",
"LOW", "USER"
#endif
"MEDIUM",
"HIGH"
}; };
const char g_sub_menu_shift_dir[3][4] = const char g_sub_menu_shift_dir[3][4] =
@ -278,10 +273,10 @@ const char g_sub_menu_scan_car_resume[3][8] =
"NO" "NO"
}; };
const char g_sub_menu_mem_disp[4][15] = const char g_sub_menu_mem_disp[4][12] =
{ {
"FREQ", "FREQ",
"CHANNEL\nNUMBER", "CHANNEL\nNUM",
"NAME", "NAME",
"NAME\n+\nFREQ" "NAME\n+\nFREQ"
}; };
@ -312,28 +307,28 @@ const char g_sub_menu_ptt_id[5][16] =
}; };
#ifdef ENABLE_MDC1200 #ifdef ENABLE_MDC1200
const char g_sub_menu_mdc1200_mode[4][8] = const char g_sub_menu_mdc1200_mode[4][5] =
{ {
"OFF", "OFF",
"BOT", "BOT",
"EOT", "EOT",
"BOT+EOT" "BOTH"
}; };
#endif #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", "MESSAGE",
"VOLTAGE", "VOLTAGE",
"NONE" "NONE"
}; };
const char g_sub_menu_roger_mode[3][15] = const char g_sub_menu_roger_mode[3][8] =
{ {
"OFF", "OFF",
"TX END\nROGER 1", "ROGER 1",
"TX END\nROGER 2" "ROGER 2"
}; };
const char g_sub_menu_reset[2][4] = const char g_sub_menu_reset[2][4] =
@ -379,12 +374,6 @@ const char g_sub_menu_bat_text[3][8] =
"PERCENT" "PERCENT"
}; };
const char g_sub_menu_dis_en[2][9] =
{
"DISABLED",
"ENABLED"
};
#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] =
@ -617,17 +606,15 @@ void UI_DisplayMenu(void)
channel_setting = true; channel_setting = true;
break; break;
#ifdef ENABLE_TX_POWER_LOW_USER case MENU_TX_POWER_USER:
case MENU_TX_POWER_LOW_USER: // sprintf(str, "%u", 8 + (g_sub_menu_selection * 2));
// sprintf(str, "%u", 8 + (g_sub_menu_selection * 2)); sprintf(str, "%u", g_sub_menu_selection);
sprintf(str, "%u", g_sub_menu_selection);
// if (g_current_function == FUNCTION_TRANSMIT && g_current_display_screen != DISPLAY_AIRCOPY) // 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); // BK4819_SetupPowerAmplifier(8 + (g_sub_menu_selection * 2), g_current_vfo->p_tx->frequency);
channel_setting = true; channel_setting = true;
break; break;
#endif
case MENU_RX_CDCSS: case MENU_RX_CDCSS:
case MENU_TX_CDCSS: case MENU_TX_CDCSS:
@ -867,39 +854,39 @@ void UI_DisplayMenu(void)
#ifdef ENABLE_NOAA #ifdef ENABLE_NOAA
case MENU_NOAA_SCAN: case MENU_NOAA_SCAN:
strcpy(str, "SCAN\n"); 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; break;
#endif #endif
case MENU_350_EN: case MENU_350_EN:
strcpy(str, "350~400\n"); 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; break;
case MENU_350_TX: case MENU_350_TX:
strcpy(str, "TX\n350~400\n"); 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; break;
case MENU_174_TX: case MENU_174_TX:
strcpy(str, "TX\n174~350\n"); 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; break;
case MENU_470_TX: case MENU_470_TX:
strcpy(str, "TX\n470~600\n"); 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; break;
case MENU_SCRAMBLER_EN: case MENU_SCRAMBLER_EN:
strcpy(str, "SCRAMBLER\n"); 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; channel_setting = true;
break; break;
case MENU_TX_EN: case MENU_TX_EN:
strcpy(str, "TX\n"); 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; break;
case MENU_MEM_SAVE: case MENU_MEM_SAVE:

View File

@ -45,9 +45,7 @@ enum
MENU_STEP, MENU_STEP,
MENU_BANDWIDTH, MENU_BANDWIDTH,
MENU_TX_POWER, MENU_TX_POWER,
#ifdef ENABLE_TX_POWER_LOW_USER MENU_TX_POWER_USER,
MENU_TX_POWER_LOW_USER,
#endif
MENU_RX_CDCSS, MENU_RX_CDCSS,
MENU_RX_CTCSS, MENU_RX_CTCSS,
MENU_TX_CDCSS, MENU_TX_CDCSS,
@ -176,7 +174,7 @@ extern const t_menu_item g_menu_list[];
extern uint8_t g_menu_list_sorted[]; extern uint8_t g_menu_list_sorted[];
extern const char g_sub_menu_mod_mode[3][4]; 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_shift_dir[3][4];
extern const char g_sub_menu_bandwidth[2][7]; extern const char g_sub_menu_bandwidth[2][7];
extern const char g_sub_menu_off_on[2][4]; 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]; extern const char g_sub_menu_voice[3][4];
#endif #endif
extern const char g_sub_menu_scan_car_resume[3][8]; 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 #ifdef ENABLE_ALARM
extern const char g_sub_menu_alarm_mode[2][5]; extern const char g_sub_menu_alarm_mode[2][5];
#endif #endif
extern const char g_sub_menu_dtmf_rsp[4][9]; extern const char g_sub_menu_dtmf_rsp[4][9];
extern const char g_sub_menu_ptt_id[5][16]; extern const char g_sub_menu_ptt_id[5][16];
#ifdef ENABLE_MDC1200 #ifdef ENABLE_MDC1200
extern const char g_sub_menu_mdc1200_mode[4][8]; extern const char g_sub_menu_mdc1200_mode[4][5];
#endif #endif
extern const char g_sub_menu_pwr_on_msg[4][14]; extern const char g_sub_menu_pwr_on_msg[4][11];
extern const char g_sub_menu_roger_mode[3][15]; 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_reset[2][4];
extern const char g_sub_menu_backlight[8][7]; extern const char g_sub_menu_backlight[8][7];
extern const char g_sub_menu_rx_tx[4][6]; 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]; extern const char g_sub_menu_AM_FIX_test1[4][8];
#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];
#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