mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-06-19 14:48:03 +03:00
ALARM option now removable
This commit is contained in:
26
app/action.c
26
app/action.c
@ -182,14 +182,16 @@ void ACTION_Vox(void)
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
|
||||
static void ACTION_AlarmOr1750(bool b1750)
|
||||
{
|
||||
gInputBoxIndex = 0;
|
||||
gAlarmState = b1750 ? ALARM_STATE_TX1750 : ALARM_STATE_TXALARM;
|
||||
gAlarmRunningCounter = 0;
|
||||
gFlagPrepareTX = true;
|
||||
gRequestDisplayScreen = DISPLAY_MAIN;
|
||||
}
|
||||
#ifndef DISABLE_ALARM
|
||||
static void ACTION_AlarmOr1750(bool b1750)
|
||||
{
|
||||
gInputBoxIndex = 0;
|
||||
gAlarmState = b1750 ? ALARM_STATE_TX1750 : ALARM_STATE_TXALARM;
|
||||
gAlarmRunningCounter = 0;
|
||||
gFlagPrepareTX = true;
|
||||
gRequestDisplayScreen = DISPLAY_MAIN;
|
||||
}
|
||||
#endif
|
||||
|
||||
void ACTION_FM(void)
|
||||
{
|
||||
@ -290,13 +292,17 @@ void ACTION_Handle(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
ACTION_Vox();
|
||||
break;
|
||||
case 6:
|
||||
ACTION_AlarmOr1750(false);
|
||||
#ifndef DISABLE_ALARM
|
||||
ACTION_AlarmOr1750(false);
|
||||
#endif
|
||||
break;
|
||||
case 7:
|
||||
ACTION_FM();
|
||||
break;
|
||||
case 8:
|
||||
ACTION_AlarmOr1750(true);
|
||||
#ifndef DISABLE_ALARM
|
||||
ACTION_AlarmOr1750(true);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,9 @@ void ACTION_Power(void);
|
||||
//static void ACTION_Monitor(void)
|
||||
void ACTION_Scan(bool bFlag);
|
||||
void ACTION_Vox(void);
|
||||
//static void ACTION_AlarmOr1750(bool b1750)
|
||||
#ifndef DISABLE_ALARM
|
||||
//static void ACTION_AlarmOr1750(bool b1750)
|
||||
#endif
|
||||
void ACTION_FM(void);
|
||||
|
||||
void ACTION_Handle(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld);
|
||||
|
152
app/app.c
152
app/app.c
@ -1055,51 +1055,53 @@ void APP_TimeSlice10ms(void)
|
||||
|
||||
if (gCurrentFunction == FUNCTION_TRANSMIT)
|
||||
{
|
||||
if (gAlarmState == ALARM_STATE_TXALARM || gAlarmState == ALARM_STATE_ALARM)
|
||||
{
|
||||
uint16_t Tone;
|
||||
|
||||
gAlarmRunningCounter++;
|
||||
gAlarmToneCounter++;
|
||||
|
||||
Tone = 500 + (gAlarmToneCounter * 25);
|
||||
if (Tone > 1500)
|
||||
#ifndef DISABLE_ALARM
|
||||
if (gAlarmState == ALARM_STATE_TXALARM || gAlarmState == ALARM_STATE_ALARM)
|
||||
{
|
||||
Tone = 500;
|
||||
gAlarmToneCounter = 0;
|
||||
}
|
||||
|
||||
BK4819_SetScrambleFrequencyControlWord(Tone);
|
||||
|
||||
if (gEeprom.ALARM_MODE == ALARM_MODE_TONE && gAlarmRunningCounter == 512)
|
||||
{
|
||||
gAlarmRunningCounter = 0;
|
||||
|
||||
if (gAlarmState == ALARM_STATE_TXALARM)
|
||||
uint16_t Tone;
|
||||
|
||||
gAlarmRunningCounter++;
|
||||
gAlarmToneCounter++;
|
||||
|
||||
Tone = 500 + (gAlarmToneCounter * 25);
|
||||
if (Tone > 1500)
|
||||
{
|
||||
gAlarmState = ALARM_STATE_ALARM;
|
||||
RADIO_EnableCxCSS();
|
||||
BK4819_SetupPowerAmplifier(0, 0);
|
||||
BK4819_ToggleGpioOut(BK4819_GPIO5_PIN1, false);
|
||||
BK4819_Enable_AfDac_DiscMode_TxDsp();
|
||||
BK4819_ToggleGpioOut(BK4819_GPIO1_PIN29_RED, false);
|
||||
GUI_DisplayScreen();
|
||||
}
|
||||
else
|
||||
{
|
||||
gAlarmState = ALARM_STATE_TXALARM;
|
||||
GUI_DisplayScreen();
|
||||
BK4819_ToggleGpioOut(BK4819_GPIO1_PIN29_RED, true);
|
||||
RADIO_SetTxParameters();
|
||||
BK4819_TransmitTone(true, 500);
|
||||
SYSTEM_DelayMs(2);
|
||||
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH);
|
||||
gEnableSpeaker = true;
|
||||
Tone = 500;
|
||||
gAlarmToneCounter = 0;
|
||||
}
|
||||
|
||||
BK4819_SetScrambleFrequencyControlWord(Tone);
|
||||
|
||||
if (gEeprom.ALARM_MODE == ALARM_MODE_TONE && gAlarmRunningCounter == 512)
|
||||
{
|
||||
gAlarmRunningCounter = 0;
|
||||
|
||||
if (gAlarmState == ALARM_STATE_TXALARM)
|
||||
{
|
||||
gAlarmState = ALARM_STATE_ALARM;
|
||||
RADIO_EnableCxCSS();
|
||||
BK4819_SetupPowerAmplifier(0, 0);
|
||||
BK4819_ToggleGpioOut(BK4819_GPIO5_PIN1, false);
|
||||
BK4819_Enable_AfDac_DiscMode_TxDsp();
|
||||
BK4819_ToggleGpioOut(BK4819_GPIO1_PIN29_RED, false);
|
||||
GUI_DisplayScreen();
|
||||
}
|
||||
else
|
||||
{
|
||||
gAlarmState = ALARM_STATE_TXALARM;
|
||||
GUI_DisplayScreen();
|
||||
BK4819_ToggleGpioOut(BK4819_GPIO1_PIN29_RED, true);
|
||||
RADIO_SetTxParameters();
|
||||
BK4819_TransmitTone(true, 500);
|
||||
SYSTEM_DelayMs(2);
|
||||
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH);
|
||||
gEnableSpeaker = true;
|
||||
gAlarmToneCounter = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
if (gRTTECountdown)
|
||||
{
|
||||
if (--gRTTECountdown == 0)
|
||||
@ -1458,25 +1460,27 @@ void APP_TimeSlice500ms(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void ALARM_Off(void)
|
||||
{
|
||||
gAlarmState = ALARM_STATE_OFF;
|
||||
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH);
|
||||
gEnableSpeaker = false;
|
||||
|
||||
if (gEeprom.ALARM_MODE == ALARM_MODE_TONE)
|
||||
#ifndef DISABLE_ALARM
|
||||
static void ALARM_Off(void)
|
||||
{
|
||||
RADIO_SendEndOfTransmission();
|
||||
RADIO_EnableCxCSS();
|
||||
gAlarmState = ALARM_STATE_OFF;
|
||||
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH);
|
||||
gEnableSpeaker = false;
|
||||
|
||||
if (gEeprom.ALARM_MODE == ALARM_MODE_TONE)
|
||||
{
|
||||
RADIO_SendEndOfTransmission();
|
||||
RADIO_EnableCxCSS();
|
||||
}
|
||||
|
||||
gVoxResumeCountdown = 80;
|
||||
|
||||
SYSTEM_DelayMs(5);
|
||||
|
||||
RADIO_SetupRegisters(true);
|
||||
gRequestDisplayScreen = DISPLAY_MAIN;
|
||||
}
|
||||
|
||||
gVoxResumeCountdown = 80;
|
||||
|
||||
SYSTEM_DelayMs(5);
|
||||
|
||||
RADIO_SetupRegisters(true);
|
||||
gRequestDisplayScreen = DISPLAY_MAIN;
|
||||
}
|
||||
#endif
|
||||
|
||||
void CHANNEL_Next(bool bFlag, int8_t Direction)
|
||||
{
|
||||
@ -1665,7 +1669,9 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
{
|
||||
if (gCurrentFunction == FUNCTION_TRANSMIT)
|
||||
{
|
||||
if (gAlarmState == ALARM_STATE_OFF)
|
||||
#ifndef DISABLE_ALARM
|
||||
if (gAlarmState == ALARM_STATE_OFF)
|
||||
#endif
|
||||
{
|
||||
if (Key == KEY_PTT)
|
||||
{
|
||||
@ -1719,21 +1725,23 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
if (!bKeyHeld && bKeyPressed)
|
||||
{
|
||||
ALARM_Off();
|
||||
|
||||
if (gEeprom.REPEATER_TAIL_TONE_ELIMINATION == 0)
|
||||
FUNCTION_Select(FUNCTION_FOREGROUND);
|
||||
#ifndef DISABLE_ALARM
|
||||
else
|
||||
gRTTECountdown = gEeprom.REPEATER_TAIL_TONE_ELIMINATION * 10;
|
||||
|
||||
if (Key == KEY_PTT)
|
||||
gPttWasPressed = true;
|
||||
else
|
||||
gPttWasReleased = true;
|
||||
}
|
||||
if (!bKeyHeld && bKeyPressed)
|
||||
{
|
||||
ALARM_Off();
|
||||
|
||||
if (gEeprom.REPEATER_TAIL_TONE_ELIMINATION == 0)
|
||||
FUNCTION_Select(FUNCTION_FOREGROUND);
|
||||
else
|
||||
gRTTECountdown = gEeprom.REPEATER_TAIL_TONE_ELIMINATION * 10;
|
||||
|
||||
if (Key == KEY_PTT)
|
||||
gPttWasPressed = true;
|
||||
else
|
||||
gPttWasReleased = true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
if (Key != KEY_SIDE1 && Key != KEY_SIDE2)
|
||||
|
24
app/menu.c
24
app/menu.c
@ -171,7 +171,9 @@ int MENU_GetLimits(uint8_t Cursor, uint8_t *pMin, uint8_t *pMax)
|
||||
case MENU_S_ADD1:
|
||||
case MENU_S_ADD2:
|
||||
case MENU_STE:
|
||||
case MENU_AL_MOD:
|
||||
#ifndef DISABLE_ALARM
|
||||
case MENU_AL_MOD:
|
||||
#endif
|
||||
case MENU_D_ST:
|
||||
case MENU_D_DCD:
|
||||
case MENU_AM:
|
||||
@ -469,10 +471,12 @@ void MENU_AcceptSetting(void)
|
||||
gEeprom.SCAN_LIST_DEFAULT = gSubMenuSelection - 1;
|
||||
break;
|
||||
|
||||
case MENU_AL_MOD:
|
||||
gEeprom.ALARM_MODE = gSubMenuSelection;
|
||||
break;
|
||||
|
||||
#ifndef DISABLE_ALARM
|
||||
case MENU_AL_MOD:
|
||||
gEeprom.ALARM_MODE = gSubMenuSelection;
|
||||
break;
|
||||
#endif
|
||||
|
||||
case MENU_D_ST:
|
||||
gEeprom.DTMF_SIDE_TONE = gSubMenuSelection;
|
||||
break;
|
||||
@ -809,10 +813,12 @@ void MENU_ShowCurrentSetting(void)
|
||||
gSubMenuSelection = RADIO_FindNextChannel(0, 1, true, 1);
|
||||
break;
|
||||
|
||||
case MENU_AL_MOD:
|
||||
gSubMenuSelection = gEeprom.ALARM_MODE;
|
||||
break;
|
||||
|
||||
#ifndef DISABLE_ALARM
|
||||
case MENU_AL_MOD:
|
||||
gSubMenuSelection = gEeprom.ALARM_MODE;
|
||||
break;
|
||||
#endif
|
||||
|
||||
case MENU_D_ST:
|
||||
gSubMenuSelection = gEeprom.DTMF_SIDE_TONE;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user