0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-06-19 06:39:49 +03:00

Fix serial comms mishap, fix dual-watch not starting at power-on

This commit is contained in:
OneOfEleven
2023-10-11 16:02:45 +01:00
parent 5942582da4
commit 46a082ef05
23 changed files with 612 additions and 506 deletions

View File

@ -50,14 +50,14 @@ const t_menu_item g_menu_list[] =
{"W/N", VOICE_ID_CHANNEL_BANDWIDTH, MENU_W_N },
{"Tx PWR", VOICE_ID_POWER, MENU_TXP }, // was "TXP"
{"Rx DCS", VOICE_ID_DCS, MENU_R_DCS }, // was "R_DCS"
{"RxCTCS", VOICE_ID_CTCSS, MENU_R_CTCS }, // was "R_CTCS"
{"Rx CTS", VOICE_ID_CTCSS, MENU_R_CTCS }, // was "R_CTCS"
{"Tx DCS", VOICE_ID_DCS, MENU_T_DCS }, // was "T_DCS"
{"TxCTCS", VOICE_ID_CTCSS, MENU_T_CTCS }, // was "T_CTCS"
{"Tx CTS", VOICE_ID_CTCSS, MENU_T_CTCS }, // was "T_CTCS"
{"Tx DIR", VOICE_ID_TX_OFFSET_FREQ_DIR, MENU_SFT_D }, // was "SFT_D"
{"TxOFFS", VOICE_ID_TX_OFFSET_FREQ, MENU_OFFSET }, // was "OFFSET"
{"Tx OFS", VOICE_ID_TX_OFFSET_FREQ, MENU_OFFSET }, // was "OFFSET"
{"Tx TO", VOICE_ID_TRANSMIT_OVER_TIME, MENU_TOT }, // was "TOT"
{"Tx VFO", VOICE_ID_INVALID, MENU_XB }, // was "WX"
{"2nd RX", VOICE_ID_DUAL_STANDBY, MENU_TDR }, // was "TDR"
{"Dual W", VOICE_ID_DUAL_STANDBY, MENU_TDR }, // was "TDR"
{"SCRAM", VOICE_ID_SCRAMBLER_ON, MENU_SCR }, // was "SCR"
{"BCL", VOICE_ID_BUSY_LOCKOUT, MENU_BCL },
{"CH SAV", VOICE_ID_MEMORY_CHANNEL, MENU_MEM_CH }, // was "MEM-CH"
@ -266,11 +266,11 @@ const char g_sub_menu_pwr_on_msg[4][8] =
"NONE"
};
const char g_sub_menu_roger_mode[3][9] =
const char g_sub_menu_roger_mode[3][16] =
{
"OFF",
"ROGER",
"MDC\n1200"
"TX END\nROGER",
"TX END\nMDC\n1200"
};
const char g_sub_menu_RESET[2][4] =
@ -549,28 +549,31 @@ void UI_DisplayMenu(void)
case MENU_R_DCS:
case MENU_T_DCS:
strcpy(String, "CDCSS\n");
if (g_sub_menu_selection == 0)
strcpy(String, "OFF");
strcat(String, "OFF");
else
if (g_sub_menu_selection < 105)
sprintf(String, "D%03oN", DCS_OPTIONS[g_sub_menu_selection - 1]);
sprintf(String + strlen(String), "D%03oN", DCS_OPTIONS[g_sub_menu_selection - 1]);
else
sprintf(String, "D%03oI", DCS_OPTIONS[g_sub_menu_selection - 105]);
sprintf(String + strlen(String), "D%03oI", DCS_OPTIONS[g_sub_menu_selection - 105]);
break;
case MENU_R_CTCS:
case MENU_T_CTCS:
{
strcpy(String, "CTCSS\n");
#if 1
// set CTCSS as the user adjusts it
unsigned int Code;
freq_config_t *pConfig = (g_menu_cursor == MENU_R_CTCS) ? &g_tx_vfo->freq_config_rx : &g_tx_vfo->freq_config_tx;
if (g_sub_menu_selection == 0)
{
strcpy(String, "OFF");
strcat(String, "OFF");
if (pConfig->code_type != CODE_TYPE_CONTINUOUS_TONE)
break;
Code = 0;
pConfig->code_type = CODE_TYPE_OFF;
pConfig->code = Code;
@ -579,7 +582,7 @@ void UI_DisplayMenu(void)
}
else
{
sprintf(String, "%u.%uHz", CTCSS_OPTIONS[g_sub_menu_selection - 1] / 10, CTCSS_OPTIONS[g_sub_menu_selection - 1] % 10);
sprintf(String + strlen(String), "%u.%uHz", CTCSS_OPTIONS[g_sub_menu_selection - 1] / 10, CTCSS_OPTIONS[g_sub_menu_selection - 1] % 10);
pConfig->code_type = CODE_TYPE_CONTINUOUS_TONE;
Code = g_sub_menu_selection - 1;
@ -589,9 +592,9 @@ void UI_DisplayMenu(void)
}
#else
if (g_sub_menu_selection == 0)
strcpy(String, "OFF");
strcat(String, "OFF");
else
sprintf(String, "%u.%uHz", CTCSS_OPTIONS[g_sub_menu_selection - 1] / 10, CTCSS_OPTIONS[g_sub_menu_selection - 1] % 10);
sprintf(String + strlen(String), "%u.%uHz", CTCSS_OPTIONS[g_sub_menu_selection - 1] / 10, CTCSS_OPTIONS[g_sub_menu_selection - 1] % 10);
#endif
break;
@ -921,7 +924,7 @@ void UI_DisplayMenu(void)
break;
case MENU_PTT_ID:
strcpy(String, "TX ID\n");
strcpy(String, (g_sub_menu_selection > 0) ? "TX ID\n" : "");
strcat(String, g_sub_menu_PTT_ID[g_sub_menu_selection]);
break;
@ -950,8 +953,7 @@ void UI_DisplayMenu(void)
break;
case MENU_ROGER:
strcpy(String, "TX END\n");
strcpy(String + strlen(String), g_sub_menu_roger_mode[g_sub_menu_selection]);
strcpy(String, g_sub_menu_roger_mode[g_sub_menu_selection]);
break;
case MENU_VOL:

View File

@ -162,7 +162,7 @@ extern const char g_sub_menu_mdf[4][15];
extern const char g_sub_menu_D_RSP[4][9];
extern const char g_sub_menu_PTT_ID[5][15];
extern const char g_sub_menu_pwr_on_msg[4][8];
extern const char g_sub_menu_roger_mode[3][9];
extern const char g_sub_menu_roger_mode[3][16];
extern const char g_sub_menu_RESET[2][4];
extern const char g_sub_menu_f_lock[6][8];
extern const char g_sub_menu_backlight[8][7];

View File

@ -18,6 +18,7 @@
#include <string.h>
#include "app/scanner.h"
#include "board.h"
#include "dcs.h"
#include "driver/st7565.h"
#include "external/printf/printf.h"
@ -161,14 +162,20 @@ void UI_DisplayScanner(void)
break;
case SCAN_EDIT_STATE_BUSY:
case SCAN_EDIT_STATE_SAVE:
strcpy(String, "SAVE ");
UI_GenerateChannelStringEx(String + strlen(String), g_show_chan_prefix, g_scan_channel);
{
char s[11];
BOARD_fetchChannelName(s, g_scan_channel);
if (s[0] == 0)
UI_GenerateChannelStringEx(s, g_show_chan_prefix, g_scan_channel);
strcat(String, s);
}
break;
case SCAN_EDIT_STATE_DONE:
strcpy(String, "* repeat M save");
text_centered = true;
strcpy(String, "SAVE ?");
break;
}