0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-04-28 22:31:25 +03:00
This commit is contained in:
OneOfEleven 2023-11-08 19:07:52 +00:00
parent bea0b60dcd
commit e180010e31
10 changed files with 65 additions and 49 deletions

View File

@ -75,7 +75,7 @@ ENABLE_SQ_OPEN_WITH_UP_DN_BUTTS := 1
ENABLE_FASTER_CHANNEL_SCAN := 1
ENABLE_COPY_CHAN_TO_VFO_TO_CHAN := 1
# Rx Signal Bar 400 B
ENABLE_RX_SIGNAL_BAR := 0
ENABLE_RX_SIGNAL_BAR := 1
# Tx Audio Bar 300 B
ENABLE_TX_AUDIO_BAR := 0
# Side Button Menu 300 B

View File

@ -27,7 +27,7 @@ Need to find a suitable replacement for the two jack sockets to confirm this tho
<p float="left">
<img src="/images/jack_sockets_top.png" width=300 />
<img src="/images/jack_sockets_bot.png" width=300 />
<img src="/images/jack_sockets_bot.png" width=236 />
</p>
# Radio performance

View File

@ -327,7 +327,7 @@ void AM_fix_10ms(const int vfo)
// save the corrected RSSI level
#ifdef ENABLE_AM_FIX_SHOW_DATA
{
const int16_t new_rssi = rssi - rssi_gain_diff[vfo];
const int16_t new_rssi = rssi - rssi_gain_diff[vfo];
const uint16_t new_glitch = BK4819_GetGlitchIndicator();
const uint16_t new_noise = BK4819_GetExNoiceIndicator();

View File

@ -277,7 +277,7 @@ void ACTION_Scan(bool bRestart)
APP_channel_next(true, SCAN_STATE_DIR_FORWARD);
g_scan_tick_10ms = 0; // go NOW
g_scan_tick_10ms = 0; // go NOW
g_scan_pause_time_mode = false;
#ifdef ENABLE_VOICE

View File

@ -80,7 +80,7 @@ const uint8_t orig_pga = 6; // -3dB
static void APP_process_key(const key_code_t Key, const bool key_pressed, const bool key_held);
static void APP_update_rssi(const int vfo)
static void APP_update_rssi(const int vfo, const bool force)
{
int16_t rssi = BK4819_GetRSSI();
uint8_t glitch = BK4819_GetGlitchIndicator();
@ -92,7 +92,7 @@ static void APP_update_rssi(const int vfo)
rssi -= rssi_gain_diff[vfo];
#endif
if (g_current_rssi[vfo] == rssi)
if (g_current_rssi[vfo] == rssi && !force)
return; // no change
g_current_rssi[vfo] = rssi;
@ -100,6 +100,8 @@ static void APP_update_rssi(const int vfo)
g_current_noise[vfo] = noise;
UI_update_rssi(rssi, glitch, noise, vfo);
g_update_rssi = false;
}
static void APP_check_for_new_receive(void)
@ -149,7 +151,7 @@ static void APP_check_for_new_receive(void)
if (g_rx_reception_mode != RX_MODE_NONE)
goto done;
g_scan_tick_10ms = scan_pause_chan_10ms;
g_scan_tick_10ms = scan_pause_chan_10ms;
g_scan_pause_time_mode = false;
}
@ -163,15 +165,15 @@ done:
#ifdef ENABLE_MDC1200
{ // reset the FSK receiver
//const uint16_t fsk_reg59 = BK4819_read_reg(0x59) & ~((1u << 15) | (1u << 14) | (1u << 12) | (1u << 11));
// BK4819_enable_mdc1200_rx(true);
//BK4819_enable_mdc1200_rx(true);
//BK4819_write_reg(0x59, (1u << 15) | (1u << 14) | fsk_reg59);
//BK4819_write_reg(0x59, (1u << 12) | fsk_reg59);
}
#endif
}
APP_update_rssi(g_rx_vfo_num);
g_update_rssi = true;
// }
APP_update_rssi(g_rx_vfo_num, true);
g_update_rssi = true;
}
static void APP_process_new_receive(void)
@ -259,6 +261,9 @@ static void APP_process_rx(void)
{
end_of_rx_mode_t Mode = END_OF_RX_MODE_NONE;
// APP_update_rssi(g_rx_vfo_num);
g_update_rssi = true;
if (g_flag_tail_tone_elimination_complete)
{
Mode = END_OF_RX_MODE_END;
@ -274,7 +279,7 @@ static void APP_process_rx(void)
case SCAN_RESUME_TIME: // stay only for a limited time
break;
case SCAN_RESUME_CARRIER: // stay untill the carrier goes away
g_scan_tick_10ms = g_eeprom.config.setting.scan_hold_time * 50;
g_scan_tick_10ms = g_eeprom.config.setting.scan_hold_time * 50;
g_scan_pause_time_mode = false;
break;
case SCAN_RESUME_STOP: // stop scan once we find any signal
@ -438,7 +443,7 @@ Skip:
case SCAN_RESUME_TIME: // stay only for a limited time
break;
case SCAN_RESUME_CARRIER: // stay untill the carrier goes away
g_scan_tick_10ms = g_eeprom.config.setting.scan_hold_time * 50;
g_scan_tick_10ms = g_eeprom.config.setting.scan_hold_time * 50;
g_scan_pause_time_mode = false;
break;
case SCAN_RESUME_STOP: // stop scan once we find any signal
@ -484,18 +489,18 @@ bool APP_start_listening(void)
case SCAN_RESUME_TIME:
if (!g_scan_pause_time_mode)
{
g_scan_tick_10ms = g_eeprom.config.setting.scan_hold_time * 50;
g_scan_tick_10ms = g_eeprom.config.setting.scan_hold_time * 50;
g_scan_pause_time_mode = true;
}
break;
case SCAN_RESUME_CARRIER:
g_scan_tick_10ms = g_eeprom.config.setting.scan_hold_time * 50;
g_scan_tick_10ms = g_eeprom.config.setting.scan_hold_time * 50;
g_scan_pause_time_mode = false;
break;
case SCAN_RESUME_STOP:
g_scan_tick_10ms = 0;
g_scan_tick_10ms = 0;
g_scan_pause_time_mode = false;
break;
}
@ -534,8 +539,8 @@ bool APP_start_listening(void)
// else
{
BK4819_write_reg(0x48,
(11u << 12) | // ??? .. 0 ~ 15, doesn't seem to make any difference
( 0u << 10) | // AF Rx Gain-1
(11u << 12) | // ??? .. 0 ~ 15, doesn't seem to make any difference
( 0u << 10) | // AF Rx Gain-1
(g_eeprom.calib.volume_gain << 4) | // AF Rx Gain-2
(g_eeprom.calib.dac_gain << 0)); // AF DAC Gain (after Gain-1 and Gain-2)
}
@ -558,15 +563,13 @@ bool APP_start_listening(void)
AUDIO_set_mod_mode(g_rx_vfo->channel.mod_mode);
#endif
#if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG)
UART_printf("mode %u\r\n", g_rx_vfo->channel.mod_mode);
#endif
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
if (g_current_display_screen != DISPLAY_MENU)
GUI_SelectNextDisplay(DISPLAY_MAIN);
APP_update_rssi(g_rx_vfo_num, true);
g_update_status = true;
g_update_display = true;
@ -1069,7 +1072,7 @@ void APP_process_radio_interrupts(void)
UART_SendText("sq close\r\n");
#endif
//APP_update_rssi(g_rx_vfo);
//APP_update_rssi(g_rx_vfo_num, false);
g_update_rssi = true;
g_update_display = true;
@ -1083,7 +1086,7 @@ void APP_process_radio_interrupts(void)
UART_SendText("sq open\r\n");
#endif
//APP_update_rssi(g_rx_vfo_num);
//APP_update_rssi(g_rx_vfo_num, false);
g_update_rssi = true;
if (g_monitor_enabled)
@ -1523,7 +1526,7 @@ void APP_channel_next(const bool remember_current, const scan_state_dir_t scan_d
return;
}
g_scan_tick_10ms = scan_pause_css_10ms;
g_scan_tick_10ms = scan_pause_css_10ms;
g_scan_pause_time_mode = false;
g_rx_reception_mode = RX_MODE_NONE;
}
@ -1887,7 +1890,7 @@ void APP_process_power_save(void)
g_update_rssi)
{ // go back to sleep
APP_update_rssi(g_rx_vfo_num);
APP_update_rssi(g_rx_vfo_num, false);
// go back to sleep
@ -2157,7 +2160,7 @@ void APP_time_slice_500ms(void)
}
if (g_current_function != FUNCTION_POWER_SAVE && g_current_function != FUNCTION_TRANSMIT)
APP_update_rssi(g_rx_vfo_num);
APP_update_rssi(g_rx_vfo_num, false);
if (g_low_battery)
{
@ -2314,6 +2317,10 @@ void APP_time_slice_10ms(void)
g_request_display_screen = DISPLAY_INVALID;
}
// 1of11
if (g_update_rssi)
APP_update_rssi(g_rx_vfo_num, false);
if (g_update_display)
GUI_DisplayScreen();

View File

@ -51,20 +51,18 @@ bool g_manual_scanning;
bool scanning_paused(void)
{
if (g_scan_state_dir != SCAN_STATE_DIR_OFF &&
g_scan_tick_10ms > 0 &&
g_scan_tick_10ms <= (400 / 10)) // 400ms
(g_scan_tick_10ms == 0 || g_scan_tick_10ms >= (400 / 10))) // 400ms
{
return false; // busy RF scanning
}
else
if (g_eeprom.config.setting.dual_watch != DUAL_WATCH_OFF &&
g_dual_watch_tick_10ms > 0 &&
g_dual_watch_tick_10ms <= (400 / 10)) // 400ms
{
return false; // busy dual watch scanning
return true;
}
return true;
if (g_eeprom.config.setting.dual_watch != DUAL_WATCH_OFF &&
(g_dual_watch_tick_10ms == 0 || g_dual_watch_tick_10ms >= (400 / 10))) // 400ms
{
return true;
}
return (g_scan_state_dir == SCAN_STATE_DIR_OFF && g_eeprom.config.setting.dual_watch == DUAL_WATCH_OFF) ? true : false;
}
void toggle_chan_scanlist(void)

View File

@ -88,6 +88,10 @@ void AUDIO_set_mod_mode(const mod_mode_t mode)
case MOD_MODE_DSB: af_mode = BK4819_AF_BASEBAND1; break;
}
BK4819_SetAF(af_mode);
#if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG)
UART_printf("mode %u\r\n", mode);
#endif
}
void AUDIO_PlayBeep(beep_type_t Beep)

View File

@ -96,9 +96,9 @@ void BK4819_Init(void)
( 8u << 0)); // AF DAC Gain (after Gain-1 and Gain-2)
// squelch mode
// BK4819_write_reg(0x77, 0x88EF); // rssi + noise + glitch .. RT-890
BK4819_write_reg(0x77, 0x88EF); // rssi + noise + glitch .. RT-890
// BK4819_write_reg(0x77, 0xA8EF); // rssi + noise + glitch .. default
BK4819_write_reg(0x77, 0xAAEF); // rssi + glitch
// BK4819_write_reg(0x77, 0xAAEF); // rssi + glitch
// BK4819_write_reg(0x77, 0xCCEF); // rssi + noise
// BK4819_write_reg(0x77, 0xFFEF); // rssi
@ -550,6 +550,13 @@ void BK4819_SetupSquelch(
uint8_t squelch_close_glitch_thresh,
uint8_t squelch_open_glitch_thresh)
{
// squelch mode
// BK4819_write_reg(0x77, 0x88EF); // rssi + noise + glitch .. RT-890
// BK4819_write_reg(0x77, 0xA8EF); // rssi + noise + glitch .. default
// BK4819_write_reg(0x77, 0xAAEF); // rssi + glitch
// BK4819_write_reg(0x77, 0xCCEF); // rssi + noise
// BK4819_write_reg(0x77, 0xFFEF); // rssi
// REG_70
//
// <15> 0 Enable TONE1
@ -590,19 +597,19 @@ void BK4819_SetupSquelch(
// 0 ~ 255
//
BK4819_write_reg(0x4E, // 01 101 11 1 00000000
// #ifndef ENABLE_FASTER_CHANNEL_SCAN
// original (*)
#ifndef ENABLE_FASTER_CHANNEL_SCAN
// original
(1u << 14) | // 1 ???
(5u << 11) | // 5 squelch = open delay .. 0 ~ 7
(6u << 9) | // *3 squelch = close delay .. 0 ~ 3
(3u << 9) | // 3 squelch = close delay .. 0 ~ 3
squelch_open_glitch_thresh); // 0 ~ 255
// #else
#else
// faster (but twitchier)
// (1u << 14) | // 1 ???
// (2u << 11) | // *5 squelch = open delay .. 0 ~ 7
// (1u << 9) | // *3 squelch = close delay .. 0 ~ 3
// squelch_open_glitch_thresh); // 0 ~ 255
// #endif
(1u << 14) | // 1 ???
(2u << 11) | // 5 squelch = open delay .. 0 ~ 7
(3u << 9) | // 3 squelch = close delay .. 0 ~ 3
squelch_open_glitch_thresh); // 0 ~ 255
#endif
// REG_4F
//

Binary file not shown.

Binary file not shown.