mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-04-28 06:11:24 +03:00
.
This commit is contained in:
parent
bea0b60dcd
commit
e180010e31
2
Makefile
2
Makefile
@ -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
|
||||
|
@ -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
|
||||
|
2
am_fix.c
2
am_fix.c
@ -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();
|
||||
|
||||
|
@ -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
|
||||
|
53
app/app.c
53
app/app.c
@ -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();
|
||||
|
||||
|
20
app/main.c
20
app/main.c
@ -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)
|
||||
|
4
audio.c
4
audio.c
@ -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)
|
||||
|
@ -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
|
||||
//
|
||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user