mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-06-19 06:39:49 +03:00
fix side-butt TX tone
This commit is contained in:
26
app/action.c
26
app/action.c
@ -338,22 +338,21 @@ void ACTION_Scan(bool bRestart)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_ALARM) || defined(ENABLE_TX1750)
|
||||
static void ACTION_AlarmOr1750(const bool b1750)
|
||||
#if defined(ENABLE_ALARM) || (ENABLE_TX_TONE_HZ > 0)
|
||||
static void ACTION_AlarmOrTone(const bool tone)
|
||||
{
|
||||
g_input_box_index = 0;
|
||||
|
||||
(void)b1750; // stop compile warning
|
||||
(void)tone; // stop compile warning
|
||||
|
||||
#if defined(ENABLE_ALARM) && defined(ENABLE_TX1750)
|
||||
g_alarm_state = b1750 ? ALARM_STATE_TX1750 : ALARM_STATE_TXALARM;
|
||||
g_alarm_running_counter_10ms = 0;
|
||||
#if defined(ENABLE_ALARM) && (ENABLE_TX_TONE_HZ > 0)
|
||||
g_alarm_state = tone ? ALARM_STATE_TX_TONE : ALARM_STATE_TX_ALARM;
|
||||
#elif defined(ENABLE_ALARM)
|
||||
g_alarm_state = ALARM_STATE_TXALARM;
|
||||
g_alarm_running_counter_10ms = 0;
|
||||
g_alarm_state = ALARM_STATE_TX_ALARM;
|
||||
#else
|
||||
g_alarm_state = ALARM_STATE_TX1750;
|
||||
g_alarm_state = ALARM_STATE_TX_TONE;
|
||||
#endif
|
||||
g_alarm_running_counter_10ms = 0;
|
||||
|
||||
g_flag_prepare_tx = true;
|
||||
|
||||
@ -362,7 +361,6 @@ void ACTION_Scan(bool bRestart)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef ENABLE_FMRADIO
|
||||
void ACTION_FM(void)
|
||||
{
|
||||
@ -454,7 +452,7 @@ void ACTION_process(const key_code_t Key, const bool key_pressed, const bool key
|
||||
break;
|
||||
case ACTION_OPT_ALARM:
|
||||
#ifdef ENABLE_ALARM
|
||||
ACTION_AlarmOr1750(false);
|
||||
ACTION_AlarmOrTone(false);
|
||||
#endif
|
||||
break;
|
||||
#ifdef ENABLE_FMRADIO
|
||||
@ -462,9 +460,9 @@ void ACTION_process(const key_code_t Key, const bool key_pressed, const bool key
|
||||
ACTION_FM();
|
||||
break;
|
||||
#endif
|
||||
case ACTION_OPT_1750:
|
||||
#ifdef ENABLE_TX1750
|
||||
ACTION_AlarmOr1750(true);
|
||||
case ACTION_OPT_TX_TONE:
|
||||
#if (ENABLE_TX_TONE_HZ > 0)
|
||||
ACTION_AlarmOrTone(true);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
@ -19,20 +19,15 @@
|
||||
|
||||
#include "driver/keyboard.h"
|
||||
|
||||
//static void ACTION_FlashLight(void)
|
||||
void ACTION_Power(void);
|
||||
void ACTION_Monitor(void);
|
||||
void ACTION_Scan(bool bFlag);
|
||||
#ifdef ENABLE_VOX
|
||||
void ACTION_Vox(void);
|
||||
#endif
|
||||
#ifdef ENABLE_ALARM
|
||||
//static void ACTION_AlarmOr1750(bool b1750)
|
||||
#endif
|
||||
#ifdef ENABLE_FMRADIO
|
||||
void ACTION_FM(void);
|
||||
#endif
|
||||
|
||||
void ACTION_process(const key_code_t Key, const bool bKeyPressed, const bool bKeyHeld);
|
||||
|
||||
#endif
|
||||
|
54
app/app.c
54
app/app.c
@ -1558,7 +1558,7 @@ void APP_cancel_user_input_modes(void)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(ENABLE_ALARM) || defined(ENABLE_TX1750)
|
||||
#if defined(ENABLE_ALARM) || (ENABLE_TX_TONE_HZ > 0)
|
||||
static void APP_alarm_off(void)
|
||||
{
|
||||
if (!g_squelch_open && !g_monitor_enabled)
|
||||
@ -1806,7 +1806,7 @@ void APP_process_transmit(void)
|
||||
return;
|
||||
|
||||
#ifdef ENABLE_ALARM
|
||||
if (g_alarm_state == ALARM_STATE_TXALARM || g_alarm_state == ALARM_STATE_ALARM)
|
||||
if (g_alarm_state == ALARM_STATE_TX_ALARM || g_alarm_state == ALARM_STATE_ALARM)
|
||||
{ // TX alarm tone
|
||||
|
||||
uint16_t Tone;
|
||||
@ -1825,9 +1825,13 @@ void APP_process_transmit(void)
|
||||
|
||||
if (g_eeprom.config.setting.alarm_mode == ALARM_MODE_TONE && g_alarm_running_counter_10ms == 512)
|
||||
{
|
||||
#if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG)
|
||||
// UART_printf("alm tone\n");
|
||||
#endif
|
||||
|
||||
g_alarm_running_counter_10ms = 0;
|
||||
|
||||
if (g_alarm_state == ALARM_STATE_TXALARM)
|
||||
if (g_alarm_state == ALARM_STATE_TX_ALARM)
|
||||
{
|
||||
g_alarm_state = ALARM_STATE_ALARM;
|
||||
|
||||
@ -1842,7 +1846,7 @@ void APP_process_transmit(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
g_alarm_state = ALARM_STATE_TXALARM;
|
||||
g_alarm_state = ALARM_STATE_TX_ALARM;
|
||||
|
||||
GUI_DisplayScreen();
|
||||
|
||||
@ -2086,19 +2090,41 @@ void APP_time_slice_500ms(void)
|
||||
return;
|
||||
#endif
|
||||
|
||||
static bool tx_timeout_tone_on = false;
|
||||
if (g_current_function == FUNCTION_TRANSMIT)
|
||||
{
|
||||
if (g_tx_timer_tick_500ms < 6)
|
||||
{ // <= 3 seconds left
|
||||
{ // <= 3 seconds TX time left .. start beeping
|
||||
|
||||
if (g_tx_timer_tick_500ms & 1u)
|
||||
BK4819_start_tone(880, 10, true, true);
|
||||
{
|
||||
if (!tx_timeout_tone_on)
|
||||
{
|
||||
tx_timeout_tone_on = true;
|
||||
//BK4819_start_tone(880, 10, true, false);
|
||||
BK4819_TransmitTone(true, 880);
|
||||
}
|
||||
}
|
||||
else
|
||||
BK4819_stop_tones(true);
|
||||
{
|
||||
if (tx_timeout_tone_on)
|
||||
{
|
||||
tx_timeout_tone_on = false;
|
||||
//GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
||||
BK4819_stop_tones(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (g_tx_timer_tick_500ms & 1u)
|
||||
g_update_display = true;
|
||||
}
|
||||
else
|
||||
if (tx_timeout_tone_on)
|
||||
{
|
||||
tx_timeout_tone_on = false;
|
||||
BK4819_stop_tones(false);
|
||||
}
|
||||
|
||||
if (g_update_screen_tick_500ms > 0)
|
||||
{ // update display once every 500ms
|
||||
@ -2851,7 +2877,7 @@ static void APP_process_key(const key_code_t Key, const bool key_pressed, const
|
||||
if (g_current_function == FUNCTION_TRANSMIT)
|
||||
{ // transmitting
|
||||
|
||||
#if defined(ENABLE_ALARM) || defined(ENABLE_TX1750)
|
||||
#if defined(ENABLE_ALARM) || (ENABLE_TX_TONE_HZ > 0)
|
||||
if (g_alarm_state == ALARM_STATE_OFF)
|
||||
#endif
|
||||
{
|
||||
@ -2864,7 +2890,7 @@ static void APP_process_key(const key_code_t Key, const bool key_pressed, const
|
||||
}
|
||||
|
||||
if (Key == KEY_SIDE2)
|
||||
{ // transmit 1750Hz tone
|
||||
{ // transmit tone
|
||||
Code = 0xFE;
|
||||
}
|
||||
else
|
||||
@ -2900,15 +2926,19 @@ static void APP_process_key(const key_code_t Key, const bool key_pressed, const
|
||||
BK4819_set_scrambler(0);
|
||||
|
||||
if (Code == 0xFE)
|
||||
BK4819_TransmitTone(g_eeprom.config.setting.dtmf.side_tone, 1750);
|
||||
BK4819_TransmitTone(g_eeprom.config.setting.dtmf.side_tone, ENABLE_TX_TONE_HZ);
|
||||
else
|
||||
BK4819_PlayDTMFEx(g_eeprom.config.setting.dtmf.side_tone, Code);
|
||||
}
|
||||
}
|
||||
#if defined(ENABLE_ALARM) || defined(ENABLE_TX1750)
|
||||
#if defined(ENABLE_ALARM) || (ENABLE_TX_TONE_HZ > 0)
|
||||
else
|
||||
if ((!key_held && key_pressed) || (g_alarm_state == ALARM_STATE_TX1750 && key_held && !key_pressed))
|
||||
if ((!key_held && key_pressed) || (g_alarm_state == ALARM_STATE_TX_TONE && key_held && !key_pressed))
|
||||
{
|
||||
#if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG)
|
||||
// UART_printf("alarm off\n");
|
||||
#endif
|
||||
|
||||
APP_alarm_off();
|
||||
|
||||
if (g_eeprom.config.setting.repeater_tail_tone_elimination == 0)
|
||||
|
@ -411,7 +411,7 @@ bool DTMF_Reply(void)
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG)
|
||||
UART_printf("dtmf reply none %d, %s\n", g_dtmf_reply_state, g_dtmf_string);
|
||||
// UART_printf("dtmf reply none %d, %s\n", g_dtmf_reply_state, g_dtmf_string);
|
||||
#endif
|
||||
|
||||
switch (g_dtmf_reply_state)
|
||||
|
16
app/main.c
16
app/main.c
@ -53,17 +53,17 @@ bool g_manual_scanning;
|
||||
|
||||
void resume_scanning(void)
|
||||
{
|
||||
g_scan_tick_10ms = 0;
|
||||
g_scan_pause_time_mode = false;
|
||||
g_squelch_open = false;
|
||||
g_rx_reception_mode = RX_MODE_NONE;
|
||||
|
||||
FUNCTION_Select(FUNCTION_FOREGROUND);
|
||||
|
||||
if (g_current_display_screen != DISPLAY_SEARCH &&
|
||||
g_scan_state_dir != SCAN_STATE_DIR_OFF &&
|
||||
g_scan_state_dir != SCAN_STATE_DIR_OFF &&
|
||||
!g_ptt_is_pressed)
|
||||
{
|
||||
g_scan_tick_10ms = 0;
|
||||
g_scan_pause_time_mode = false;
|
||||
g_squelch_open = false;
|
||||
g_rx_reception_mode = RX_MODE_NONE;
|
||||
|
||||
FUNCTION_Select(FUNCTION_FOREGROUND);
|
||||
|
||||
if (g_scan_next_channel <= USER_CHANNEL_LAST)
|
||||
APP_next_channel();
|
||||
else
|
||||
|
Reference in New Issue
Block a user