mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-05-19 08:21:18 +03:00
Fix F+4 and F+* search bug
This commit is contained in:
parent
7f7c9490eb
commit
bb79d51377
45
app/app.c
45
app/app.c
@ -1847,7 +1847,8 @@ void APP_TimeSlice10ms(void)
|
||||
}
|
||||
else
|
||||
{ // RF carrier found
|
||||
// stop RF the scan and move on too the CTCSS/CDCSS scan
|
||||
//
|
||||
// stop RF search and start CTCSS/CDCSS search
|
||||
|
||||
BK4819_SetScanFrequency(g_search_frequency);
|
||||
|
||||
@ -1858,10 +1859,9 @@ void APP_TimeSlice10ms(void)
|
||||
g_search_freq_css_timer_10ms = 0;
|
||||
g_search_css_state = SEARCH_CSS_STATE_SCANNING;
|
||||
|
||||
GUI_SelectNextDisplay(DISPLAY_SEARCH);
|
||||
|
||||
g_update_status = true;
|
||||
g_update_display = true;
|
||||
GUI_SelectNextDisplay(DISPLAY_SEARCH);
|
||||
}
|
||||
|
||||
g_search_delay_10ms = scan_freq_css_delay_10ms;
|
||||
@ -1873,9 +1873,10 @@ void APP_TimeSlice10ms(void)
|
||||
{ // CTCSS/CDCSS search timeout
|
||||
|
||||
#if defined(ENABLE_CODE_SEARCH_TIMEOUT)
|
||||
BK4819_Disable();
|
||||
g_search_css_state = SEARCH_CSS_STATE_FAILED;
|
||||
|
||||
BK4819_Disable();
|
||||
|
||||
AUDIO_PlayBeep(BEEP_880HZ_60MS_TRIPLE_BEEP);
|
||||
g_update_status = true;
|
||||
g_update_display = true;
|
||||
@ -1884,9 +1885,10 @@ void APP_TimeSlice10ms(void)
|
||||
#else
|
||||
if (!g_search_single_frequency)
|
||||
{
|
||||
BK4819_Disable();
|
||||
g_search_css_state = SEARCH_CSS_STATE_FAILED;
|
||||
|
||||
BK4819_Disable();
|
||||
|
||||
AUDIO_PlayBeep(BEEP_880HZ_60MS_TRIPLE_BEEP);
|
||||
g_update_status = true;
|
||||
g_update_display = true;
|
||||
@ -1903,11 +1905,12 @@ void APP_TimeSlice10ms(void)
|
||||
|
||||
if (ScanResult == BK4819_CSS_RESULT_CDCSS)
|
||||
{ // found a CDCSS code
|
||||
const uint8_t Code = DCS_GetCdcssCode(Result);
|
||||
if (Code != 0xFF)
|
||||
const uint8_t code = DCS_GetCdcssCode(Result);
|
||||
if (code != 0xFF)
|
||||
{
|
||||
g_search_css_result_code = Code;
|
||||
g_search_hit_count = 0;
|
||||
g_search_css_result_type = CODE_TYPE_DIGITAL;
|
||||
g_search_css_result_code = code;
|
||||
g_search_css_state = SEARCH_CSS_STATE_FOUND;
|
||||
g_search_use_css_result = true;
|
||||
|
||||
@ -1915,6 +1918,13 @@ void APP_TimeSlice10ms(void)
|
||||
g_update_status = true;
|
||||
g_update_display = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_search_hit_count = 0;
|
||||
g_search_css_result_type = CODE_TYPE_NONE;
|
||||
g_search_css_result_code = code;
|
||||
g_search_use_css_result = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (ScanResult == BK4819_CSS_RESULT_CTCSS)
|
||||
@ -1925,7 +1935,7 @@ void APP_TimeSlice10ms(void)
|
||||
if (code == g_search_css_result_code &&
|
||||
g_search_css_result_type == CODE_TYPE_CONTINUOUS_TONE)
|
||||
{
|
||||
if (++g_search_hit_count >= 2)
|
||||
if (++g_search_hit_count >= 3)
|
||||
{
|
||||
g_search_css_state = SEARCH_CSS_STATE_FOUND;
|
||||
g_search_use_css_result = true;
|
||||
@ -1936,10 +1946,19 @@ void APP_TimeSlice10ms(void)
|
||||
}
|
||||
}
|
||||
else
|
||||
g_search_hit_count = 0;
|
||||
|
||||
g_search_css_result_type = CODE_TYPE_CONTINUOUS_TONE;
|
||||
g_search_css_result_code = code;
|
||||
{
|
||||
g_search_hit_count = 1;
|
||||
g_search_css_result_type = CODE_TYPE_CONTINUOUS_TONE;
|
||||
g_search_css_result_code = code;
|
||||
g_search_use_css_result = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g_search_hit_count = 0;
|
||||
g_search_css_result_type = CODE_TYPE_NONE;
|
||||
g_search_css_result_code = 0xff;
|
||||
g_search_use_css_result = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -348,8 +348,8 @@ static void cmd_051D(const uint8_t *pBuffer)
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_PWRON_PASSWORD
|
||||
if ((Offset < 0x0E98 || Offset >= 0x0EA0) || !g_password_locked || pCmd->bAllowPassword)
|
||||
EEPROM_WriteBuffer(Offset, &pCmd->Data[i * write_size]);
|
||||
if ((Offset < 0x0E98 || Offset >= 0x0EA0) || !g_password_locked || pCmd->allow_password)
|
||||
EEPROM_WriteBuffer(Offset, &data[i * write_size]);
|
||||
#else
|
||||
EEPROM_WriteBuffer(Offset, &data[i * write_size]);
|
||||
#endif
|
||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
16
ui/lock.c
16
ui/lock.c
@ -50,8 +50,12 @@ static void Render(void)
|
||||
|
||||
void UI_DisplayLock(void)
|
||||
{
|
||||
key_code_t Key;
|
||||
beep_type_t Beep;
|
||||
unsigned int g_debounce_counter = 0;
|
||||
// bool g_key_being_held = false;
|
||||
key_code_t g_key_reading_0 = KEY_INVALID;
|
||||
// key_code_t g_key_reading_1;
|
||||
key_code_t Key;
|
||||
beep_type_t Beep;
|
||||
|
||||
g_update_display = true;
|
||||
|
||||
@ -73,11 +77,11 @@ void UI_DisplayLock(void)
|
||||
{
|
||||
if (Key == KEY_INVALID)
|
||||
{
|
||||
g_key_reading_1 = KEY_INVALID;
|
||||
// g_key_reading_1 = KEY_INVALID;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_key_reading_1 = Key;
|
||||
// g_key_reading_1 = Key;
|
||||
|
||||
switch (Key)
|
||||
{
|
||||
@ -135,13 +139,13 @@ void UI_DisplayLock(void)
|
||||
}
|
||||
}
|
||||
|
||||
g_key_being_held = false;
|
||||
// g_key_being_held = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g_debounce_counter = 0;
|
||||
g_key_reading_0 = Key;
|
||||
g_key_reading_0 = Key;
|
||||
}
|
||||
|
||||
if (UART_IsCommandAvailable())
|
||||
|
30
ui/scanner.c
30
ui/scanner.c
@ -93,21 +93,23 @@ void UI_DisplaySearch(void)
|
||||
|
||||
case SEARCH_CSS_STATE_FOUND:
|
||||
case SEARCH_CSS_STATE_REPEAT:
|
||||
|
||||
switch (g_search_css_result_type)
|
||||
strcpy(String, "CODE none found");
|
||||
if (g_search_use_css_result)
|
||||
{
|
||||
default:
|
||||
case CODE_TYPE_NONE:
|
||||
strcpy(String, "CODE none found");
|
||||
break;
|
||||
case CODE_TYPE_CONTINUOUS_TONE:
|
||||
sprintf(String, "CTCSS %u.%uHz", CTCSS_OPTIONS[g_search_css_result_code] / 10, CTCSS_OPTIONS[g_search_css_result_code] % 10);
|
||||
break;
|
||||
case CODE_TYPE_DIGITAL:
|
||||
case CODE_TYPE_REVERSE_DIGITAL:
|
||||
sprintf(String, "CDCSS D%03oN", DCS_OPTIONS[g_search_css_result_code]);
|
||||
break;
|
||||
}
|
||||
switch (g_search_css_result_type)
|
||||
{
|
||||
default:
|
||||
case CODE_TYPE_NONE:
|
||||
break;
|
||||
case CODE_TYPE_CONTINUOUS_TONE:
|
||||
sprintf(String, "CTCSS %u.%uHz", CTCSS_OPTIONS[g_search_css_result_code] / 10, CTCSS_OPTIONS[g_search_css_result_code] % 10);
|
||||
break;
|
||||
case CODE_TYPE_DIGITAL:
|
||||
case CODE_TYPE_REVERSE_DIGITAL:
|
||||
sprintf(String, "CDCSS D%03oN", DCS_OPTIONS[g_search_css_result_code]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case SEARCH_CSS_STATE_FAILED:
|
||||
|
Loading…
x
Reference in New Issue
Block a user