Save 116 bytes
This commit is contained in:
@@ -1253,12 +1253,6 @@ void APP_TimeSlice10ms(void)
|
|||||||
gNextTimeslice = false;
|
gNextTimeslice = false;
|
||||||
gFlashLightBlinkCounter++;
|
gFlashLightBlinkCounter++;
|
||||||
|
|
||||||
#ifdef ENABLE_BOOT_BEEPS
|
|
||||||
if (boot_counter_10ms > 0 && (boot_counter_10ms % 25) == 0) {
|
|
||||||
AUDIO_PlayBeep(BEEP_880HZ_40MS_OPTIONAL);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef ENABLE_AM_FIX
|
#ifdef ENABLE_AM_FIX
|
||||||
if (gRxVfo->Modulation == MODULATION_AM) {
|
if (gRxVfo->Modulation == MODULATION_AM) {
|
||||||
AM_fix_10ms(gEeprom.RX_VFO);
|
AM_fix_10ms(gEeprom.RX_VFO);
|
||||||
|
19
audio.c
19
audio.c
@@ -40,8 +40,8 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep)
|
|||||||
if (Beep != BEEP_880HZ_60MS_TRIPLE_BEEP &&
|
if (Beep != BEEP_880HZ_60MS_TRIPLE_BEEP &&
|
||||||
Beep != BEEP_500HZ_60MS_DOUBLE_BEEP &&
|
Beep != BEEP_500HZ_60MS_DOUBLE_BEEP &&
|
||||||
Beep != BEEP_440HZ_500MS &&
|
Beep != BEEP_440HZ_500MS &&
|
||||||
Beep != BEEP_880HZ_200MS &&
|
|
||||||
#ifndef ENABLE_FEAT_F4HWN
|
#ifndef ENABLE_FEAT_F4HWN
|
||||||
|
Beep != BEEP_880HZ_200MS &&
|
||||||
Beep != BEEP_880HZ_500MS &&
|
Beep != BEEP_880HZ_500MS &&
|
||||||
#endif
|
#endif
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
@@ -91,14 +91,12 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep)
|
|||||||
case BEEP_500HZ_60MS_DOUBLE_BEEP:
|
case BEEP_500HZ_60MS_DOUBLE_BEEP:
|
||||||
ToneFrequency = 500;
|
ToneFrequency = 500;
|
||||||
break;
|
break;
|
||||||
case BEEP_440HZ_40MS_OPTIONAL:
|
|
||||||
case BEEP_440HZ_500MS:
|
case BEEP_440HZ_500MS:
|
||||||
ToneFrequency = 440;
|
ToneFrequency = 440;
|
||||||
break;
|
break;
|
||||||
case BEEP_880HZ_40MS_OPTIONAL:
|
|
||||||
case BEEP_880HZ_60MS_TRIPLE_BEEP:
|
case BEEP_880HZ_60MS_TRIPLE_BEEP:
|
||||||
case BEEP_880HZ_200MS:
|
|
||||||
#ifndef ENABLE_FEAT_F4HWN
|
#ifndef ENABLE_FEAT_F4HWN
|
||||||
|
case BEEP_880HZ_200MS:
|
||||||
case BEEP_880HZ_500MS:
|
case BEEP_880HZ_500MS:
|
||||||
#endif
|
#endif
|
||||||
ToneFrequency = 880;
|
ToneFrequency = 880;
|
||||||
@@ -147,15 +145,6 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep)
|
|||||||
BK4819_ExitTxMute();
|
BK4819_ExitTxMute();
|
||||||
Duration = 60;
|
Duration = 60;
|
||||||
break;
|
break;
|
||||||
case BEEP_880HZ_40MS_OPTIONAL:
|
|
||||||
case BEEP_440HZ_40MS_OPTIONAL:
|
|
||||||
BK4819_ExitTxMute();
|
|
||||||
Duration = 40;
|
|
||||||
break;
|
|
||||||
case BEEP_880HZ_200MS:
|
|
||||||
BK4819_ExitTxMute();
|
|
||||||
Duration = 200;
|
|
||||||
break;
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
case BEEP_400HZ_30MS:
|
case BEEP_400HZ_30MS:
|
||||||
case BEEP_500HZ_30MS:
|
case BEEP_500HZ_30MS:
|
||||||
@@ -166,6 +155,10 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep)
|
|||||||
#endif
|
#endif
|
||||||
case BEEP_440HZ_500MS:
|
case BEEP_440HZ_500MS:
|
||||||
#ifndef ENABLE_FEAT_F4HWN
|
#ifndef ENABLE_FEAT_F4HWN
|
||||||
|
case BEEP_880HZ_200MS:
|
||||||
|
BK4819_ExitTxMute();
|
||||||
|
Duration = 200;
|
||||||
|
break;
|
||||||
case BEEP_880HZ_500MS:
|
case BEEP_880HZ_500MS:
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
|
184
audio.h
184
audio.h
@@ -29,13 +29,11 @@ enum BEEP_Type_t
|
|||||||
BEEP_1KHZ_60MS_OPTIONAL,
|
BEEP_1KHZ_60MS_OPTIONAL,
|
||||||
BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL,
|
BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL,
|
||||||
BEEP_440HZ_500MS,
|
BEEP_440HZ_500MS,
|
||||||
BEEP_880HZ_200MS,
|
|
||||||
#ifndef ENABLE_FEAT_F4HWN
|
#ifndef ENABLE_FEAT_F4HWN
|
||||||
|
BEEP_880HZ_200MS,
|
||||||
BEEP_880HZ_500MS,
|
BEEP_880HZ_500MS,
|
||||||
#endif
|
#endif
|
||||||
BEEP_500HZ_60MS_DOUBLE_BEEP,
|
BEEP_500HZ_60MS_DOUBLE_BEEP,
|
||||||
BEEP_440HZ_40MS_OPTIONAL,
|
|
||||||
BEEP_880HZ_40MS_OPTIONAL,
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
BEEP_400HZ_30MS,
|
BEEP_400HZ_30MS,
|
||||||
BEEP_500HZ_30MS,
|
BEEP_500HZ_30MS,
|
||||||
@@ -50,96 +48,6 @@ extern BEEP_Type_t gBeepToPlay;
|
|||||||
|
|
||||||
void AUDIO_PlayBeep(BEEP_Type_t Beep);
|
void AUDIO_PlayBeep(BEEP_Type_t Beep);
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
VOICE_ID_CHI_BASE = 0x10U,
|
|
||||||
VOICE_ID_ENG_BASE = 0x60U,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum VOICE_ID_t
|
|
||||||
{
|
|
||||||
VOICE_ID_0 = 0x00U,
|
|
||||||
VOICE_ID_1 = 0x01U,
|
|
||||||
VOICE_ID_2 = 0x02U,
|
|
||||||
VOICE_ID_3 = 0x03U,
|
|
||||||
VOICE_ID_4 = 0x04U,
|
|
||||||
VOICE_ID_5 = 0x05U,
|
|
||||||
VOICE_ID_6 = 0x06U,
|
|
||||||
VOICE_ID_7 = 0x07U,
|
|
||||||
VOICE_ID_8 = 0x08U,
|
|
||||||
VOICE_ID_9 = 0x09U,
|
|
||||||
VOICE_ID_10 = 0x0AU,
|
|
||||||
VOICE_ID_100 = 0x0BU,
|
|
||||||
VOICE_ID_WELCOME = 0x0CU,
|
|
||||||
VOICE_ID_LOCK = 0x0DU,
|
|
||||||
VOICE_ID_UNLOCK = 0x0EU,
|
|
||||||
VOICE_ID_SCANNING_BEGIN = 0x0FU,
|
|
||||||
VOICE_ID_SCANNING_STOP = 0x10U,
|
|
||||||
VOICE_ID_SCRAMBLER_ON = 0x11U,
|
|
||||||
VOICE_ID_SCRAMBLER_OFF = 0x12U,
|
|
||||||
VOICE_ID_FUNCTION = 0x13U,
|
|
||||||
VOICE_ID_CTCSS = 0x14U,
|
|
||||||
VOICE_ID_DCS = 0x15U,
|
|
||||||
VOICE_ID_POWER = 0x16U,
|
|
||||||
VOICE_ID_SAVE_MODE = 0x17U,
|
|
||||||
VOICE_ID_MEMORY_CHANNEL = 0x18U,
|
|
||||||
VOICE_ID_DELETE_CHANNEL = 0x19U,
|
|
||||||
VOICE_ID_FREQUENCY_STEP = 0x1AU,
|
|
||||||
VOICE_ID_SQUELCH = 0x1BU,
|
|
||||||
VOICE_ID_TRANSMIT_OVER_TIME = 0x1CU,
|
|
||||||
VOICE_ID_BACKLIGHT_SELECTION = 0x1DU,
|
|
||||||
VOICE_ID_VOX = 0x1EU,
|
|
||||||
VOICE_ID_TX_OFFSET_FREQUENCY_DIRECTION = 0x1FU,
|
|
||||||
VOICE_ID_TX_OFFSET_FREQUENCY = 0x20U,
|
|
||||||
VOICE_ID_TRANSMITING_MEMORY = 0x21U,
|
|
||||||
VOICE_ID_RECEIVING_MEMORY = 0x22U,
|
|
||||||
VOICE_ID_EMERGENCY_CALL = 0x23U,
|
|
||||||
VOICE_ID_LOW_VOLTAGE = 0x24U,
|
|
||||||
VOICE_ID_CHANNEL_MODE = 0x25U,
|
|
||||||
VOICE_ID_FREQUENCY_MODE = 0x26U,
|
|
||||||
VOICE_ID_VOICE_PROMPT = 0x27U,
|
|
||||||
VOICE_ID_BAND_SELECTION = 0x28U,
|
|
||||||
VOICE_ID_DUAL_STANDBY = 0x29U,
|
|
||||||
VOICE_ID_CHANNEL_BANDWIDTH = 0x2AU,
|
|
||||||
VOICE_ID_OPTIONAL_SIGNAL = 0x2BU,
|
|
||||||
VOICE_ID_MUTE_MODE = 0x2CU,
|
|
||||||
VOICE_ID_BUSY_LOCKOUT = 0x2DU,
|
|
||||||
VOICE_ID_BEEP_PROMPT = 0x2EU,
|
|
||||||
VOICE_ID_ANI_CODE = 0x2FU,
|
|
||||||
VOICE_ID_INITIALISATION = 0x30U,
|
|
||||||
VOICE_ID_CONFIRM = 0x31U,
|
|
||||||
VOICE_ID_CANCEL = 0x32U,
|
|
||||||
VOICE_ID_ON = 0x33U,
|
|
||||||
VOICE_ID_OFF = 0x34U,
|
|
||||||
VOICE_ID_2_TONE = 0x35U,
|
|
||||||
VOICE_ID_5_TONE = 0x36U,
|
|
||||||
VOICE_ID_DIGITAL_SIGNAL = 0x37U,
|
|
||||||
VOICE_ID_REPEATER = 0x38U,
|
|
||||||
VOICE_ID_MENU = 0x39U,
|
|
||||||
VOICE_ID_11 = 0x3AU,
|
|
||||||
VOICE_ID_12 = 0x3BU,
|
|
||||||
VOICE_ID_13 = 0x3CU,
|
|
||||||
VOICE_ID_14 = 0x3DU,
|
|
||||||
VOICE_ID_15 = 0x3EU,
|
|
||||||
VOICE_ID_16 = 0x3FU,
|
|
||||||
VOICE_ID_17 = 0x40U,
|
|
||||||
VOICE_ID_18 = 0x41U,
|
|
||||||
VOICE_ID_19 = 0x42U,
|
|
||||||
VOICE_ID_20 = 0x43U,
|
|
||||||
VOICE_ID_30 = 0x44U,
|
|
||||||
VOICE_ID_40 = 0x45U,
|
|
||||||
VOICE_ID_50 = 0x46U,
|
|
||||||
VOICE_ID_60 = 0x47U,
|
|
||||||
VOICE_ID_70 = 0x48U,
|
|
||||||
VOICE_ID_80 = 0x49U,
|
|
||||||
VOICE_ID_90 = 0x4AU,
|
|
||||||
VOICE_ID_END = 0x4BU,
|
|
||||||
|
|
||||||
VOICE_ID_INVALID = 0xFFU,
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef enum VOICE_ID_t VOICE_ID_t;
|
|
||||||
|
|
||||||
static inline void AUDIO_AudioPathOn(void) {
|
static inline void AUDIO_AudioPathOn(void) {
|
||||||
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH);
|
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH);
|
||||||
}
|
}
|
||||||
@@ -149,6 +57,96 @@ static inline void AUDIO_AudioPathOff(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_VOICE
|
#ifdef ENABLE_VOICE
|
||||||
|
typedef enum VOICE_ID_t VOICE_ID_t;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
VOICE_ID_CHI_BASE = 0x10U,
|
||||||
|
VOICE_ID_ENG_BASE = 0x60U,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum VOICE_ID_t
|
||||||
|
{
|
||||||
|
VOICE_ID_0 = 0x00U,
|
||||||
|
VOICE_ID_1 = 0x01U,
|
||||||
|
VOICE_ID_2 = 0x02U,
|
||||||
|
VOICE_ID_3 = 0x03U,
|
||||||
|
VOICE_ID_4 = 0x04U,
|
||||||
|
VOICE_ID_5 = 0x05U,
|
||||||
|
VOICE_ID_6 = 0x06U,
|
||||||
|
VOICE_ID_7 = 0x07U,
|
||||||
|
VOICE_ID_8 = 0x08U,
|
||||||
|
VOICE_ID_9 = 0x09U,
|
||||||
|
VOICE_ID_10 = 0x0AU,
|
||||||
|
VOICE_ID_100 = 0x0BU,
|
||||||
|
VOICE_ID_WELCOME = 0x0CU,
|
||||||
|
VOICE_ID_LOCK = 0x0DU,
|
||||||
|
VOICE_ID_UNLOCK = 0x0EU,
|
||||||
|
VOICE_ID_SCANNING_BEGIN = 0x0FU,
|
||||||
|
VOICE_ID_SCANNING_STOP = 0x10U,
|
||||||
|
VOICE_ID_SCRAMBLER_ON = 0x11U,
|
||||||
|
VOICE_ID_SCRAMBLER_OFF = 0x12U,
|
||||||
|
VOICE_ID_FUNCTION = 0x13U,
|
||||||
|
VOICE_ID_CTCSS = 0x14U,
|
||||||
|
VOICE_ID_DCS = 0x15U,
|
||||||
|
VOICE_ID_POWER = 0x16U,
|
||||||
|
VOICE_ID_SAVE_MODE = 0x17U,
|
||||||
|
VOICE_ID_MEMORY_CHANNEL = 0x18U,
|
||||||
|
VOICE_ID_DELETE_CHANNEL = 0x19U,
|
||||||
|
VOICE_ID_FREQUENCY_STEP = 0x1AU,
|
||||||
|
VOICE_ID_SQUELCH = 0x1BU,
|
||||||
|
VOICE_ID_TRANSMIT_OVER_TIME = 0x1CU,
|
||||||
|
VOICE_ID_BACKLIGHT_SELECTION = 0x1DU,
|
||||||
|
VOICE_ID_VOX = 0x1EU,
|
||||||
|
VOICE_ID_TX_OFFSET_FREQUENCY_DIRECTION = 0x1FU,
|
||||||
|
VOICE_ID_TX_OFFSET_FREQUENCY = 0x20U,
|
||||||
|
VOICE_ID_TRANSMITING_MEMORY = 0x21U,
|
||||||
|
VOICE_ID_RECEIVING_MEMORY = 0x22U,
|
||||||
|
VOICE_ID_EMERGENCY_CALL = 0x23U,
|
||||||
|
VOICE_ID_LOW_VOLTAGE = 0x24U,
|
||||||
|
VOICE_ID_CHANNEL_MODE = 0x25U,
|
||||||
|
VOICE_ID_FREQUENCY_MODE = 0x26U,
|
||||||
|
VOICE_ID_VOICE_PROMPT = 0x27U,
|
||||||
|
VOICE_ID_BAND_SELECTION = 0x28U,
|
||||||
|
VOICE_ID_DUAL_STANDBY = 0x29U,
|
||||||
|
VOICE_ID_CHANNEL_BANDWIDTH = 0x2AU,
|
||||||
|
VOICE_ID_OPTIONAL_SIGNAL = 0x2BU,
|
||||||
|
VOICE_ID_MUTE_MODE = 0x2CU,
|
||||||
|
VOICE_ID_BUSY_LOCKOUT = 0x2DU,
|
||||||
|
VOICE_ID_BEEP_PROMPT = 0x2EU,
|
||||||
|
VOICE_ID_ANI_CODE = 0x2FU,
|
||||||
|
VOICE_ID_INITIALISATION = 0x30U,
|
||||||
|
VOICE_ID_CONFIRM = 0x31U,
|
||||||
|
VOICE_ID_CANCEL = 0x32U,
|
||||||
|
VOICE_ID_ON = 0x33U,
|
||||||
|
VOICE_ID_OFF = 0x34U,
|
||||||
|
VOICE_ID_2_TONE = 0x35U,
|
||||||
|
VOICE_ID_5_TONE = 0x36U,
|
||||||
|
VOICE_ID_DIGITAL_SIGNAL = 0x37U,
|
||||||
|
VOICE_ID_REPEATER = 0x38U,
|
||||||
|
VOICE_ID_MENU = 0x39U,
|
||||||
|
VOICE_ID_11 = 0x3AU,
|
||||||
|
VOICE_ID_12 = 0x3BU,
|
||||||
|
VOICE_ID_13 = 0x3CU,
|
||||||
|
VOICE_ID_14 = 0x3DU,
|
||||||
|
VOICE_ID_15 = 0x3EU,
|
||||||
|
VOICE_ID_16 = 0x3FU,
|
||||||
|
VOICE_ID_17 = 0x40U,
|
||||||
|
VOICE_ID_18 = 0x41U,
|
||||||
|
VOICE_ID_19 = 0x42U,
|
||||||
|
VOICE_ID_20 = 0x43U,
|
||||||
|
VOICE_ID_30 = 0x44U,
|
||||||
|
VOICE_ID_40 = 0x45U,
|
||||||
|
VOICE_ID_50 = 0x46U,
|
||||||
|
VOICE_ID_60 = 0x47U,
|
||||||
|
VOICE_ID_70 = 0x48U,
|
||||||
|
VOICE_ID_80 = 0x49U,
|
||||||
|
VOICE_ID_90 = 0x4AU,
|
||||||
|
VOICE_ID_END = 0x4BU,
|
||||||
|
|
||||||
|
VOICE_ID_INVALID = 0xFFU,
|
||||||
|
};
|
||||||
|
|
||||||
extern VOICE_ID_t gVoiceID[8];
|
extern VOICE_ID_t gVoiceID[8];
|
||||||
extern uint8_t gVoiceReadIndex;
|
extern uint8_t gVoiceReadIndex;
|
||||||
extern uint8_t gVoiceWriteIndex;
|
extern uint8_t gVoiceWriteIndex;
|
||||||
|
4
main.c
4
main.c
@@ -177,10 +177,6 @@ void Main(void)
|
|||||||
boot_counter_10ms = 0;
|
boot_counter_10ms = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#ifdef ENABLE_BOOT_BEEPS
|
|
||||||
if ((boot_counter_10ms % 25) == 0)
|
|
||||||
AUDIO_PlayBeep(BEEP_880HZ_40MS_OPTIONAL);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
168
ui/menu.c
168
ui/menu.c
@@ -40,124 +40,124 @@
|
|||||||
const t_menu_item MenuList[] =
|
const t_menu_item MenuList[] =
|
||||||
{
|
{
|
||||||
// text, voice ID, menu ID
|
// text, voice ID, menu ID
|
||||||
{"Step", VOICE_ID_FREQUENCY_STEP, MENU_STEP },
|
{"Step", MENU_STEP },
|
||||||
{"TxPwr", VOICE_ID_POWER, MENU_TXP }, // was "TXP"
|
{"TxPwr", MENU_TXP }, // was "TXP"
|
||||||
{"RxDCS", VOICE_ID_DCS, MENU_R_DCS }, // was "R_DCS"
|
{"RxDCS", MENU_R_DCS }, // was "R_DCS"
|
||||||
{"RxCTCS", VOICE_ID_CTCSS, MENU_R_CTCS }, // was "R_CTCS"
|
{"RxCTCS", MENU_R_CTCS }, // was "R_CTCS"
|
||||||
{"TxDCS", VOICE_ID_DCS, MENU_T_DCS }, // was "T_DCS"
|
{"TxDCS", MENU_T_DCS }, // was "T_DCS"
|
||||||
{"TxCTCS", VOICE_ID_CTCSS, MENU_T_CTCS }, // was "T_CTCS"
|
{"TxCTCS", MENU_T_CTCS }, // was "T_CTCS"
|
||||||
{"TxODir", VOICE_ID_TX_OFFSET_FREQUENCY_DIRECTION, MENU_SFT_D }, // was "SFT_D"
|
{"TxODir", MENU_SFT_D }, // was "SFT_D"
|
||||||
{"TxOffs", VOICE_ID_TX_OFFSET_FREQUENCY, MENU_OFFSET }, // was "OFFSET"
|
{"TxOffs", MENU_OFFSET }, // was "OFFSET"
|
||||||
{"W/N", VOICE_ID_CHANNEL_BANDWIDTH, MENU_W_N },
|
{"W/N", MENU_W_N },
|
||||||
#ifndef ENABLE_FEAT_F4HWN
|
#ifndef ENABLE_FEAT_F4HWN
|
||||||
{"Scramb", VOICE_ID_SCRAMBLER_ON, MENU_SCR }, // was "SCR"
|
{"Scramb", MENU_SCR }, // was "SCR"
|
||||||
#endif
|
#endif
|
||||||
{"BusyCL", VOICE_ID_BUSY_LOCKOUT, MENU_BCL }, // was "BCL"
|
{"BusyCL", MENU_BCL }, // was "BCL"
|
||||||
{"Compnd", VOICE_ID_INVALID, MENU_COMPAND },
|
{"Compnd", MENU_COMPAND },
|
||||||
{"Demodu", VOICE_ID_INVALID, MENU_AM }, // was "AM"
|
{"Demodu", MENU_AM }, // was "AM"
|
||||||
{"ScAdd1", VOICE_ID_INVALID, MENU_S_ADD1 },
|
{"ScAdd1", MENU_S_ADD1 },
|
||||||
{"ScAdd2", VOICE_ID_INVALID, MENU_S_ADD2 },
|
{"ScAdd2", MENU_S_ADD2 },
|
||||||
{"ChSave", VOICE_ID_MEMORY_CHANNEL, MENU_MEM_CH }, // was "MEM-CH"
|
{"ChSave", MENU_MEM_CH }, // was "MEM-CH"
|
||||||
{"ChDele", VOICE_ID_DELETE_CHANNEL, MENU_DEL_CH }, // was "DEL-CH"
|
{"ChDele", MENU_DEL_CH }, // was "DEL-CH"
|
||||||
{"ChName", VOICE_ID_INVALID, MENU_MEM_NAME },
|
{"ChName", MENU_MEM_NAME },
|
||||||
|
|
||||||
{"SList", VOICE_ID_INVALID, MENU_S_LIST },
|
{"SList", MENU_S_LIST },
|
||||||
{"SList1", VOICE_ID_INVALID, MENU_SLIST1 },
|
{"SList1", MENU_SLIST1 },
|
||||||
{"SList2", VOICE_ID_INVALID, MENU_SLIST2 },
|
{"SList2", MENU_SLIST2 },
|
||||||
{"ScnRev", VOICE_ID_INVALID, MENU_SC_REV },
|
{"ScnRev", MENU_SC_REV },
|
||||||
#ifdef ENABLE_NOAA
|
#ifdef ENABLE_NOAA
|
||||||
{"NOAA-S", VOICE_ID_INVALID, MENU_NOAA_S },
|
{"NOAA-S", MENU_NOAA_S },
|
||||||
#endif
|
#endif
|
||||||
{"F1Shrt", VOICE_ID_INVALID, MENU_F1SHRT },
|
{"F1Shrt", MENU_F1SHRT },
|
||||||
{"F1Long", VOICE_ID_INVALID, MENU_F1LONG },
|
{"F1Long", MENU_F1LONG },
|
||||||
{"F2Shrt", VOICE_ID_INVALID, MENU_F2SHRT },
|
{"F2Shrt", MENU_F2SHRT },
|
||||||
{"F2Long", VOICE_ID_INVALID, MENU_F2LONG },
|
{"F2Long", MENU_F2LONG },
|
||||||
{"M Long", VOICE_ID_INVALID, MENU_MLONG },
|
{"M Long", MENU_MLONG },
|
||||||
|
|
||||||
{"KeyLck", VOICE_ID_INVALID, MENU_AUTOLK }, // was "AUTOLk"
|
{"KeyLck", MENU_AUTOLK }, // was "AUTOLk"
|
||||||
{"TxTOut", VOICE_ID_TRANSMIT_OVER_TIME, MENU_TOT }, // was "TOT"
|
{"TxTOut", MENU_TOT }, // was "TOT"
|
||||||
{"BatSav", VOICE_ID_SAVE_MODE, MENU_SAVE }, // was "SAVE"
|
{"BatSav", MENU_SAVE }, // was "SAVE"
|
||||||
{"Mic", VOICE_ID_INVALID, MENU_MIC },
|
{"Mic", MENU_MIC },
|
||||||
#ifdef ENABLE_AUDIO_BAR
|
#ifdef ENABLE_AUDIO_BAR
|
||||||
{"MicBar", VOICE_ID_INVALID, MENU_MIC_BAR },
|
{"MicBar", MENU_MIC_BAR },
|
||||||
#endif
|
#endif
|
||||||
{"ChDisp", VOICE_ID_INVALID, MENU_MDF }, // was "MDF"
|
{"ChDisp", MENU_MDF }, // was "MDF"
|
||||||
{"POnMsg", VOICE_ID_INVALID, MENU_PONMSG },
|
{"POnMsg", MENU_PONMSG },
|
||||||
{"BatTxt", VOICE_ID_INVALID, MENU_BAT_TXT },
|
{"BatTxt", MENU_BAT_TXT },
|
||||||
{"BackLt", VOICE_ID_INVALID, MENU_ABR }, // was "ABR"
|
{"BackLt", MENU_ABR }, // was "ABR"
|
||||||
{"BLMin", VOICE_ID_INVALID, MENU_ABR_MIN },
|
{"BLMin", MENU_ABR_MIN },
|
||||||
{"BLMax", VOICE_ID_INVALID, MENU_ABR_MAX },
|
{"BLMax", MENU_ABR_MAX },
|
||||||
{"BltTRX", VOICE_ID_INVALID, MENU_ABR_ON_TX_RX },
|
{"BltTRX", MENU_ABR_ON_TX_RX },
|
||||||
{"Beep", VOICE_ID_BEEP_PROMPT, MENU_BEEP },
|
{"Beep", MENU_BEEP },
|
||||||
#ifdef ENABLE_VOICE
|
#ifdef ENABLE_VOICE
|
||||||
{"Voice", VOICE_ID_VOICE_PROMPT, MENU_VOICE },
|
{"Voice", MENU_VOICE },
|
||||||
#endif
|
#endif
|
||||||
{"Roger", VOICE_ID_INVALID, MENU_ROGER },
|
{"Roger", MENU_ROGER },
|
||||||
{"STE", VOICE_ID_INVALID, MENU_STE },
|
{"STE", MENU_STE },
|
||||||
{"RP STE", VOICE_ID_INVALID, MENU_RP_STE },
|
{"RP STE", MENU_RP_STE },
|
||||||
{"1 Call", VOICE_ID_INVALID, MENU_1_CALL },
|
{"1 Call", MENU_1_CALL },
|
||||||
#ifdef ENABLE_ALARM
|
#ifdef ENABLE_ALARM
|
||||||
{"AlarmT", VOICE_ID_INVALID, MENU_AL_MOD },
|
{"AlarmT", MENU_AL_MOD },
|
||||||
#endif
|
#endif
|
||||||
#ifdef ENABLE_DTMF_CALLING
|
#ifdef ENABLE_DTMF_CALLING
|
||||||
{"ANI ID", VOICE_ID_ANI_CODE, MENU_ANI_ID },
|
{"ANI ID", MENU_ANI_ID },
|
||||||
#endif
|
#endif
|
||||||
{"UPCode", VOICE_ID_INVALID, MENU_UPCODE },
|
{"UPCode", MENU_UPCODE },
|
||||||
{"DWCode", VOICE_ID_INVALID, MENU_DWCODE },
|
{"DWCode", MENU_DWCODE },
|
||||||
{"PTT ID", VOICE_ID_INVALID, MENU_PTT_ID },
|
{"PTT ID", MENU_PTT_ID },
|
||||||
{"D ST", VOICE_ID_INVALID, MENU_D_ST },
|
{"D ST", MENU_D_ST },
|
||||||
#ifdef ENABLE_DTMF_CALLING
|
#ifdef ENABLE_DTMF_CALLING
|
||||||
{"D Resp", VOICE_ID_INVALID, MENU_D_RSP },
|
{"D Resp", MENU_D_RSP },
|
||||||
{"D Hold", VOICE_ID_INVALID, MENU_D_HOLD },
|
{"D Hold", MENU_D_HOLD },
|
||||||
#endif
|
#endif
|
||||||
{"D Prel", VOICE_ID_INVALID, MENU_D_PRE },
|
{"D Prel", MENU_D_PRE },
|
||||||
#ifdef ENABLE_DTMF_CALLING
|
#ifdef ENABLE_DTMF_CALLING
|
||||||
{"D Decd", VOICE_ID_INVALID, MENU_D_DCD },
|
{"D Decd", MENU_D_DCD },
|
||||||
{"D List", VOICE_ID_INVALID, MENU_D_LIST },
|
{"D List", MENU_D_LIST },
|
||||||
#endif
|
#endif
|
||||||
{"D Live", VOICE_ID_INVALID, MENU_D_LIVE_DEC }, // live DTMF decoder
|
{"D Live", MENU_D_LIVE_DEC }, // live DTMF decoder
|
||||||
#ifdef ENABLE_AM_FIX
|
#ifdef ENABLE_AM_FIX
|
||||||
{"AM Fix", VOICE_ID_INVALID, MENU_AM_FIX },
|
{"AM Fix", MENU_AM_FIX },
|
||||||
#endif
|
#endif
|
||||||
#ifdef ENABLE_VOX
|
#ifdef ENABLE_VOX
|
||||||
{"VOX", VOICE_ID_VOX, MENU_VOX },
|
{"VOX", MENU_VOX },
|
||||||
#endif
|
#endif
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
{"SysInf", VOICE_ID_INVALID, MENU_VOL }, // was "VOL"
|
{"SysInf", MENU_VOL }, // was "VOL"
|
||||||
#else
|
#else
|
||||||
{"BatVol", VOICE_ID_INVALID, MENU_VOL }, // was "VOL"
|
{"BatVol", MENU_VOL }, // was "VOL"
|
||||||
#endif
|
#endif
|
||||||
{"RxMode", VOICE_ID_DUAL_STANDBY, MENU_TDR },
|
{"RxMode", MENU_TDR },
|
||||||
{"Sql", VOICE_ID_SQUELCH, MENU_SQL },
|
{"Sql", MENU_SQL },
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
{"SetLow", VOICE_ID_INVALID, MENU_SET_LOW },
|
{"SetLow", MENU_SET_LOW },
|
||||||
{"SetPtt", VOICE_ID_INVALID, MENU_SET_PTT },
|
{"SetPtt", MENU_SET_PTT },
|
||||||
{"SetTot", VOICE_ID_INVALID, MENU_SET_TOT },
|
{"SetTot", MENU_SET_TOT },
|
||||||
{"SetEot", VOICE_ID_INVALID, MENU_SET_EOT },
|
{"SetEot", MENU_SET_EOT },
|
||||||
{"SetCtr", VOICE_ID_INVALID, MENU_SET_CTR },
|
{"SetCtr", MENU_SET_CTR },
|
||||||
{"SetInv", VOICE_ID_INVALID, MENU_SET_INV },
|
{"SetInv", MENU_SET_INV },
|
||||||
{"SetLck", VOICE_ID_INVALID, MENU_SET_LCK },
|
{"SetLck", MENU_SET_LCK },
|
||||||
{"SetMet", VOICE_ID_INVALID, MENU_SET_MET },
|
{"SetMet", MENU_SET_MET },
|
||||||
{"SetGui", VOICE_ID_INVALID, MENU_SET_GUI },
|
{"SetGui", MENU_SET_GUI },
|
||||||
#endif
|
#endif
|
||||||
// hidden menu items from here on
|
// hidden menu items from here on
|
||||||
// enabled if pressing both the PTT and upper side button at power-on
|
// enabled if pressing both the PTT and upper side button at power-on
|
||||||
{"F Lock", VOICE_ID_INVALID, MENU_F_LOCK },
|
{"F Lock", MENU_F_LOCK },
|
||||||
{"Tx 200", VOICE_ID_INVALID, MENU_200TX }, // was "200TX"
|
{"Tx 200", MENU_200TX }, // was "200TX"
|
||||||
{"Tx 350", VOICE_ID_INVALID, MENU_350TX }, // was "350TX"
|
{"Tx 350", MENU_350TX }, // was "350TX"
|
||||||
{"Tx 500", VOICE_ID_INVALID, MENU_500TX }, // was "500TX"
|
{"Tx 500", MENU_500TX }, // was "500TX"
|
||||||
{"350 En", VOICE_ID_INVALID, MENU_350EN }, // was "350EN"
|
{"350 En", MENU_350EN }, // was "350EN"
|
||||||
#ifndef ENABLE_FEAT_F4HWN
|
#ifndef ENABLE_FEAT_F4HWN
|
||||||
{"ScraEn", VOICE_ID_INVALID, MENU_SCREN }, // was "SCREN"
|
{"ScraEn", MENU_SCREN }, // was "SCREN"
|
||||||
#endif
|
#endif
|
||||||
#ifdef ENABLE_F_CAL_MENU
|
#ifdef ENABLE_F_CAL_MENU
|
||||||
{"FrCali", VOICE_ID_INVALID, MENU_F_CALI }, // reference xtal calibration
|
{"FrCali", MENU_F_CALI }, // reference xtal calibration
|
||||||
#endif
|
#endif
|
||||||
{"BatCal", VOICE_ID_INVALID, MENU_BATCAL }, // battery voltage calibration
|
{"BatCal", MENU_BATCAL }, // battery voltage calibration
|
||||||
{"BatTyp", VOICE_ID_INVALID, MENU_BATTYP }, // battery type 1600/2200mAh
|
{"BatTyp", MENU_BATTYP }, // battery type 1600/2200mAh
|
||||||
{"Reset", VOICE_ID_INITIALISATION, MENU_RESET }, // might be better to move this to the hidden menu items ?
|
{"Reset", MENU_RESET }, // might be better to move this to the hidden menu items ?
|
||||||
|
|
||||||
{"", VOICE_ID_INVALID, 0xff } // end of list - DO NOT delete or move this this
|
{"", 0xff } // end of list - DO NOT delete or move this this
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint8_t FIRST_HIDDEN_MENU_ITEM = MENU_F_LOCK;
|
const uint8_t FIRST_HIDDEN_MENU_ITEM = MENU_F_LOCK;
|
||||||
|
@@ -25,7 +25,6 @@
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
const char name[7]; // menu display area only has room for 6 characters
|
const char name[7]; // menu display area only has room for 6 characters
|
||||||
VOICE_ID_t voice_id;
|
|
||||||
uint8_t menu_id;
|
uint8_t menu_id;
|
||||||
} t_menu_item;
|
} t_menu_item;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user