mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-05-19 00:11:18 +03:00
fix RF scanning
This commit is contained in:
parent
fa1cbeb049
commit
0b0cf75db6
2
Makefile
2
Makefile
@ -12,7 +12,7 @@ ENABLE_OVERLAY := 0
|
||||
ENABLE_LTO := 1
|
||||
# UART Programming 2.9 kB
|
||||
ENABLE_UART := 1
|
||||
ENABLE_UART_DEBUG := 0
|
||||
ENABLE_UART_DEBUG := 1
|
||||
# AirCopy 2.5 kB
|
||||
ENABLE_AIRCOPY := 1
|
||||
ENABLE_AIRCOPY_REMEMBER_FREQ := 1
|
||||
|
19
app/app.c
19
app/app.c
@ -244,16 +244,15 @@ static void APP_process_rx(void)
|
||||
goto Skip;
|
||||
}
|
||||
|
||||
// why does being a VFO make a difference ??? .. 1of11
|
||||
//
|
||||
/* if (g_scan_state_dir != SCAN_STATE_DIR_OFF && IS_FREQ_CHANNEL(g_scan_next_channel))
|
||||
if (g_scan_state_dir != SCAN_STATE_DIR_OFF) // && IS_FREQ_CHANNEL(g_scan_next_channel))
|
||||
{
|
||||
// return;
|
||||
if (g_squelch_open)
|
||||
return;
|
||||
|
||||
Mode = END_OF_RX_MODE_END;
|
||||
goto Skip;
|
||||
}
|
||||
*/
|
||||
|
||||
switch (g_current_code_type)
|
||||
{
|
||||
default:
|
||||
@ -284,6 +283,9 @@ static void APP_process_rx(void)
|
||||
|
||||
if (g_squelch_open)
|
||||
{
|
||||
if (g_setting_backlight_on_tx_rx >= 2)
|
||||
backlight_turn_on(backlight_tx_rx_time_500ms);
|
||||
|
||||
if (!g_end_of_rx_detected_maybe && IS_NOT_NOAA_CHANNEL(g_rx_vfo->channel_save))
|
||||
{
|
||||
switch (g_current_code_type)
|
||||
@ -1161,18 +1163,15 @@ void APP_process(void)
|
||||
g_current_function == FUNCTION_RECEIVE) &&
|
||||
g_screen_to_display != DISPLAY_SEARCH &&
|
||||
g_scan_state_dir != SCAN_STATE_DIR_OFF &&
|
||||
g_scan_pause_10ms == 0 &&
|
||||
!g_ptt_is_pressed)
|
||||
{ // RF scanning
|
||||
|
||||
|
||||
// TODO: check to see if signal stays present for minimum time before pausing (debounce)
|
||||
|
||||
if (g_current_code_type == CODE_TYPE_NONE && g_current_function == FUNCTION_NEW_RECEIVE && !g_scan_pause_time_mode)
|
||||
if (g_current_code_type == CODE_TYPE_NONE && g_current_function == FUNCTION_NEW_RECEIVE) // && !g_scan_pause_time_mode)
|
||||
{
|
||||
APP_start_listening(g_monitor_enabled ? FUNCTION_MONITOR : FUNCTION_RECEIVE, true);
|
||||
}
|
||||
else
|
||||
if (g_scan_pause_10ms == 0)
|
||||
{ // switch to next channel
|
||||
g_scan_pause_time_mode = false;
|
||||
g_rx_reception_mode = RX_MODE_NONE;
|
||||
|
16
bitmaps.c
16
bitmaps.c
@ -397,20 +397,20 @@ const uint8_t BITMAP_VFO_NOT_DEFAULT[8] =
|
||||
const uint8_t BITMAP_SCANLIST1[6] =
|
||||
{ // 'I' symbol
|
||||
__extension__ 0b00000000,
|
||||
__extension__ 0b00111110,
|
||||
__extension__ 0b01111111,
|
||||
__extension__ 0b01111111,
|
||||
__extension__ 0b00111110,
|
||||
__extension__ 0b00111111,
|
||||
__extension__ 0b00111111,
|
||||
__extension__ 0b00000000,
|
||||
__extension__ 0b00000000,
|
||||
__extension__ 0b00000000
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_SCANLIST2[6] =
|
||||
{ // 'II' symbol
|
||||
__extension__ 0b00000000,
|
||||
__extension__ 0b00111111,
|
||||
__extension__ 0b00111111,
|
||||
__extension__ 0b00000000,
|
||||
__extension__ 0b00110110,
|
||||
__extension__ 0b01110111,
|
||||
__extension__ 0b01110111,
|
||||
__extension__ 0b00110110
|
||||
__extension__ 0b00111111,
|
||||
__extension__ 0b00111111
|
||||
};
|
||||
#endif
|
||||
|
@ -22,48 +22,33 @@
|
||||
// this is decremented once every 500ms
|
||||
uint16_t g_backlight_count_down = 0;
|
||||
|
||||
uint16_t backlight_ticks(void)
|
||||
{
|
||||
switch (g_eeprom.backlight)
|
||||
{
|
||||
case 1: return 2 * 5; // 5 sec
|
||||
case 2: return 2 * 10; // 10 sec
|
||||
case 3: return 2 * 20; // 20 sec
|
||||
case 4: return 2 * 60; // 1 min
|
||||
case 5: return 2 * 60 * 2; // 2 min
|
||||
case 6: return 2 * 60 * 4; // 4 min
|
||||
default:
|
||||
case 7: return 0; // always on
|
||||
}
|
||||
}
|
||||
|
||||
void backlight_turn_on(const uint16_t min_ticks)
|
||||
{
|
||||
if (min_ticks > 0)
|
||||
{
|
||||
if (g_backlight_count_down < min_ticks)
|
||||
g_backlight_count_down = min_ticks;
|
||||
|
||||
// turn the backlight ON
|
||||
GPIO_SetBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT);
|
||||
}
|
||||
else
|
||||
if (g_eeprom.backlight > 0)
|
||||
{
|
||||
// turn the backlight ON
|
||||
GPIO_SetBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT);
|
||||
|
||||
switch (g_eeprom.backlight)
|
||||
{
|
||||
default:
|
||||
case 1: // 5 sec
|
||||
g_backlight_count_down = 5;
|
||||
break;
|
||||
case 2: // 10 sec
|
||||
g_backlight_count_down = 10;
|
||||
break;
|
||||
case 3: // 20 sec
|
||||
g_backlight_count_down = 20;
|
||||
break;
|
||||
case 4: // 1 min
|
||||
g_backlight_count_down = 60;
|
||||
break;
|
||||
case 5: // 2 min
|
||||
g_backlight_count_down = 60 * 2;
|
||||
break;
|
||||
case 6: // 4 min
|
||||
g_backlight_count_down = 60 * 4;
|
||||
break;
|
||||
case 7: // always on
|
||||
g_backlight_count_down = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
g_backlight_count_down *= 2;
|
||||
g_backlight_count_down = backlight_ticks();
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,8 @@
|
||||
|
||||
extern uint16_t g_backlight_count_down;
|
||||
|
||||
void backlight_turn_on(const uint16_t min_ticks);
|
||||
uint16_t backlight_ticks(void);
|
||||
void backlight_turn_on(const uint16_t min_ticks);
|
||||
|
||||
#endif
|
||||
|
||||
|
31
ui/menu.c
31
ui/menu.c
@ -61,6 +61,7 @@ const t_menu_item g_menu_list[] =
|
||||
{"Tx TO", VOICE_ID_TRANSMIT_OVER_TIME, MENU_TX_TO }, // was "TOT"
|
||||
{"Tx VFO", VOICE_ID_INVALID, MENU_CROSS_VFO }, // was "WX"
|
||||
{"Dual W", VOICE_ID_DUAL_STANDBY, MENU_DUAL_WATCH }, // was "TDR"
|
||||
{"SC REV", VOICE_ID_INVALID, MENU_SCAN_CAR_RESUME }, // was "SC_REV"
|
||||
{"S HOLD", VOICE_ID_INVALID, MENU_SCAN_HOLD },
|
||||
{"SCRAM", VOICE_ID_SCRAMBLER_ON, MENU_SCRAMBLER }, // was "SCR"
|
||||
{"BCL", VOICE_ID_BUSY_LOCKOUT, MENU_BUSY_CHAN_LOCK },
|
||||
@ -81,7 +82,6 @@ const t_menu_item g_menu_list[] =
|
||||
#ifdef ENABLE_VOICE
|
||||
{"VOICE", VOICE_ID_VOICE_PROMPT, MENU_VOICE },
|
||||
#endif
|
||||
{"SC REV", VOICE_ID_INVALID, MENU_SCAN_CAR_RESUME }, // was "SC_REV"
|
||||
#ifdef ENABLE_KEYLOCK
|
||||
{"KeyLOC", VOICE_ID_INVALID, MENU_AUTO_KEY_LOCK }, // was "AUTOLk"
|
||||
#endif
|
||||
@ -241,11 +241,12 @@ const char g_sub_menu_cross_vfo[3][10] =
|
||||
};
|
||||
#endif
|
||||
|
||||
const char g_sub_menu_scan_car_resume[3][13] =
|
||||
const char g_sub_menu_scan_car_resume[3][8] =
|
||||
{
|
||||
"TIME",
|
||||
"TIME ",
|
||||
"CARRIER",
|
||||
"SEARCH"
|
||||
// "SEARCH"
|
||||
"NO"
|
||||
};
|
||||
|
||||
const char g_sub_menu_mem_disp[4][15] =
|
||||
@ -881,16 +882,6 @@ void UI_DisplayMenu(void)
|
||||
strcpy(str, g_sub_menu_bat_save[g_sub_menu_selection]);
|
||||
break;
|
||||
|
||||
case MENU_DUAL_WATCH:
|
||||
// strcpy(String, g_sub_menu_dual_watch[g_sub_menu_selection]);
|
||||
strcpy(str, g_sub_menu_off_on[g_sub_menu_selection]);
|
||||
break;
|
||||
|
||||
case MENU_SCAN_HOLD:
|
||||
strcpy(str, "SCAN HOLD\n");
|
||||
sprintf(str + strlen(str), "%d.%d sec", g_sub_menu_selection / 2, 5 * (g_sub_menu_selection % 2));
|
||||
break;
|
||||
|
||||
case MENU_CROSS_VFO:
|
||||
strcpy(str, g_sub_menu_cross_vfo[g_sub_menu_selection]);
|
||||
break;
|
||||
@ -905,9 +896,21 @@ void UI_DisplayMenu(void)
|
||||
break;
|
||||
#endif
|
||||
|
||||
case MENU_DUAL_WATCH:
|
||||
// strcpy(String, g_sub_menu_dual_watch[g_sub_menu_selection]);
|
||||
strcpy(str, g_sub_menu_off_on[g_sub_menu_selection]);
|
||||
break;
|
||||
|
||||
case MENU_SCAN_CAR_RESUME:
|
||||
strcpy(str, "SCAN\nRESUME\n");
|
||||
strcat(str, g_sub_menu_scan_car_resume[g_sub_menu_selection]);
|
||||
if (g_sub_menu_selection == SCAN_RESUME_TIME)
|
||||
sprintf(str + strlen(str), "%d.%ds", g_eeprom.scan_hold_time_500ms / 2, 5 * (g_eeprom.scan_hold_time_500ms % 2));
|
||||
break;
|
||||
|
||||
case MENU_SCAN_HOLD:
|
||||
strcpy(str, "SCAN HOLD\n");
|
||||
sprintf(str + strlen(str), "%d.%d sec", g_sub_menu_selection / 2, 5 * (g_sub_menu_selection % 2));
|
||||
break;
|
||||
|
||||
case MENU_MEM_DISP:
|
||||
|
@ -169,7 +169,7 @@ extern const char g_sub_menu_cross_vfo[3][10];
|
||||
#ifdef ENABLE_VOICE
|
||||
extern const char g_sub_menu_voice[3][4];
|
||||
#endif
|
||||
extern const char g_sub_menu_scan_car_resume[3][13];
|
||||
extern const char g_sub_menu_scan_car_resume[3][8];
|
||||
extern const char g_sub_menu_mem_disp[4][15];
|
||||
#ifdef ENABLE_ALARM
|
||||
extern const char g_sub_menu_alarm_mode[2][5];
|
||||
|
Loading…
x
Reference in New Issue
Block a user