mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-04-28 14:21:25 +03:00
Fix frequency display position
This commit is contained in:
parent
f4a65c5b87
commit
9651e52317
@ -26,11 +26,11 @@ ENABLE_CHAN_NAME_FREQ := 1 show channel frequency below channel na
|
||||
ENABLE_WIDE_RX := 1 full 18MHz to 1300MHz RX (though frontend not tuned over full range)
|
||||
ENABLE_TX_WHEN_AM := 0 allow TX (always FM) when RX is set to AM
|
||||
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1 standard CTCSS tail phase shift rather than QS's own 55Hz tone method
|
||||
ENABLE_MAIN_KEY_HOLD := 1 initial F-key press not needed, instead hold down keys 0-9
|
||||
ENABLE_MAIN_KEY_HOLD := 1 initial F-key press not needed, instead hold down keys 0-9 to access the functions
|
||||
ENABLE_BOOT_BEEPS := 0 give user audio feedback on volume knob position at boot-up
|
||||
ENABLE_COMPANDER := 1 compander option - setting not yet saved
|
||||
ENABLE_COMPANDER := 1 compander option - setting not yet saved (per channel)
|
||||
ENABLE_SHOW_CHARGE_LEVEL := 1 show the charge level when the radio is on charge
|
||||
ENABLE_REVERSE_BAT_SYMBOL := 1 reverse the battery symbol on the status bar
|
||||
ENABLE_REVERSE_BAT_SYMBOL := 1 mirror the battery symbol on the status bar (+ pole on the right)
|
||||
ENABLE_STATUSBAR_VOLTAGE := 0 show the battery voltage on the top status bar - when possible
|
||||
ENABLE_STATUSBAR_PERCENTAGE := 1 show the battery percentage on the top status bar - when possible
|
||||
#ENABLE_SINGLE_VFO_CHAN := 1 not yet implemented - single VFO on display when possible
|
||||
|
122
app/menu.c
122
app/menu.c
@ -48,79 +48,79 @@
|
||||
#ifdef ENABLE_VOICE
|
||||
static const VOICE_ID_t MenuVoices[] =
|
||||
{
|
||||
VOICE_ID_SQUELCH,
|
||||
VOICE_ID_FREQUENCY_STEP,
|
||||
VOICE_ID_POWER,
|
||||
VOICE_ID_DCS,
|
||||
VOICE_ID_CTCSS,
|
||||
VOICE_ID_DCS,
|
||||
VOICE_ID_CTCSS,
|
||||
VOICE_ID_TX_OFFSET_FREQUENCY_DIRECTION,
|
||||
VOICE_ID_TX_OFFSET_FREQUENCY,
|
||||
VOICE_ID_CHANNEL_BANDWIDTH,
|
||||
VOICE_ID_SCRAMBLER_ON,
|
||||
VOICE_ID_BUSY_LOCKOUT,
|
||||
VOICE_ID_MEMORY_CHANNEL,
|
||||
VOICE_ID_SAVE_MODE,
|
||||
VOICE_ID_VOX,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_DUAL_STANDBY,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_BEEP_PROMPT,
|
||||
VOICE_ID_TRANSMIT_OVER_TIME,
|
||||
VOICE_ID_SQUELCH, // SQL
|
||||
VOICE_ID_FREQUENCY_STEP, // STEP
|
||||
VOICE_ID_POWER, // T-PWR
|
||||
VOICE_ID_DCS, // R-DCS
|
||||
VOICE_ID_CTCSS, // R-CTCS
|
||||
VOICE_ID_DCS, // T-DCS
|
||||
VOICE_ID_CTCSS, // T-CTCS
|
||||
VOICE_ID_TX_OFFSET_FREQUENCY_DIRECTION, // T-DIR
|
||||
VOICE_ID_TX_OFFSET_FREQUENCY, // T-OFFS
|
||||
VOICE_ID_INVALID, // T-VFO
|
||||
VOICE_ID_TRANSMIT_OVER_TIME, // T-TOUT
|
||||
VOICE_ID_CHANNEL_BANDWIDTH, // W/N
|
||||
VOICE_ID_SCRAMBLER_ON, // SCRAM
|
||||
VOICE_ID_BUSY_LOCKOUT, // BUSYCL
|
||||
VOICE_ID_MEMORY_CHANNEL, // CH-SAV
|
||||
VOICE_ID_DELETE_CHANNEL, // CH-DEL
|
||||
VOICE_ID_INVALID, // CH-DIS
|
||||
VOICE_ID_SAVE_MODE, // BATSAV
|
||||
VOICE_ID_VOX, // VOX
|
||||
VOICE_ID_INVALID, // BACKLT
|
||||
VOICE_ID_DUAL_STANDBY, // DUALRX
|
||||
VOICE_ID_BEEP_PROMPT, // BEEP
|
||||
#ifdef ENABLE_VOICE
|
||||
VOICE_ID_VOICE_PROMPT,
|
||||
VOICE_ID_VOICE_PROMPT, // VOICE
|
||||
#endif
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID, // SC-REV
|
||||
VOICE_ID_INVALID, // KEYLOC
|
||||
VOICE_ID_INVALID, // S-ADD1
|
||||
VOICE_ID_INVALID, // S-ADD2
|
||||
VOICE_ID_INVALID, // STE
|
||||
VOICE_ID_INVALID, // RP-STE
|
||||
VOICE_ID_INVALID, // MIC
|
||||
#ifdef ENABLE_COMPANDER
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID, // COMPND
|
||||
#endif
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID, // 1-CALL
|
||||
VOICE_ID_INVALID, // SLIST
|
||||
VOICE_ID_INVALID, // SLIST1
|
||||
VOICE_ID_INVALID, // SLIST2
|
||||
#ifdef ENABLE_ALARM
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID, // AL-MOD
|
||||
#endif
|
||||
VOICE_ID_ANI_CODE,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_ANI_CODE, // ANI-ID
|
||||
VOICE_ID_INVALID, // UPCODE
|
||||
VOICE_ID_INVALID, // DWCODE
|
||||
VOICE_ID_INVALID, // D-ST
|
||||
VOICE_ID_INVALID, // D-RSP
|
||||
VOICE_ID_INVALID, // D-HOLD
|
||||
VOICE_ID_INVALID, // D-PRE
|
||||
VOICE_ID_INVALID, // PTT-ID
|
||||
VOICE_ID_INVALID, // D-DCD
|
||||
VOICE_ID_INVALID, // D-LIST
|
||||
VOICE_ID_INVALID, // D-LIVE
|
||||
VOICE_ID_INVALID, // PONMSG
|
||||
VOICE_ID_INVALID, // ROGER
|
||||
VOICE_ID_INVALID, // BATVOL
|
||||
VOICE_ID_INVALID, // MODE
|
||||
#ifdef ENABLE_NOAA
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID, // NOAA-S
|
||||
#endif
|
||||
VOICE_ID_DELETE_CHANNEL,
|
||||
VOICE_ID_INITIALISATION,
|
||||
VOICE_ID_INITIALISATION, // RESET
|
||||
|
||||
// hidden items
|
||||
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID, // F-LOCK
|
||||
VOICE_ID_INVALID, // TX-200
|
||||
VOICE_ID_INVALID, // TX-350
|
||||
VOICE_ID_INVALID, // TX-500
|
||||
VOICE_ID_INVALID, // 350-EN
|
||||
VOICE_ID_INVALID, // SCR-EN
|
||||
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID
|
||||
VOICE_ID_INVALID, // TX-EN
|
||||
VOICE_ID_INVALID // F-CALI
|
||||
};
|
||||
#endif
|
||||
|
||||
|
32
bitmaps.c
32
bitmaps.c
@ -290,14 +290,12 @@ const uint8_t BITMAP_VOX[18] =
|
||||
0b01000000,
|
||||
0b00100000,
|
||||
0b00011111,
|
||||
|
||||
0b00000000,
|
||||
0b00111110,
|
||||
0b01000001,
|
||||
0b01000001,
|
||||
0b01000001,
|
||||
0b00111110,
|
||||
|
||||
0b00000000,
|
||||
0b01100011,
|
||||
0b00010100,
|
||||
@ -315,7 +313,6 @@ const uint8_t BITMAP_VOX[18] =
|
||||
0b00011000,
|
||||
0b00100000,
|
||||
0b01111111,
|
||||
|
||||
0b00000000,
|
||||
0b01100011,
|
||||
0b00010100,
|
||||
@ -324,7 +321,7 @@ const uint8_t BITMAP_VOX[18] =
|
||||
0b01100011
|
||||
};
|
||||
#else
|
||||
// 'XB' (cross-band)
|
||||
// 'XB' (cross-band/cross-VFO)
|
||||
const uint8_t BITMAP_XB[12] =
|
||||
{ // "XB"
|
||||
0b00000000,
|
||||
@ -333,7 +330,6 @@ const uint8_t BITMAP_VOX[18] =
|
||||
0b00001000,
|
||||
0b00010100,
|
||||
0b01100011,
|
||||
|
||||
0b00000000,
|
||||
0b01111111,
|
||||
0b01001001,
|
||||
@ -351,7 +347,6 @@ const uint8_t BITMAP_TDR1[12] =
|
||||
0b01000001,
|
||||
0b01000001,
|
||||
0b00111110,
|
||||
|
||||
0b00000000,
|
||||
0b01111111,
|
||||
0b00100000,
|
||||
@ -361,20 +356,19 @@ const uint8_t BITMAP_TDR1[12] =
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_TDR2[12] =
|
||||
{ // "--"
|
||||
{ // "><" .. DW on hold
|
||||
0b00000000,
|
||||
0b00010000,
|
||||
0b00010000,
|
||||
0b00010000,
|
||||
0b00010000,
|
||||
0b00010000,
|
||||
|
||||
0b00010000,
|
||||
0b00010000,
|
||||
0b00010000,
|
||||
0b00010000,
|
||||
0b00010000,
|
||||
0b00010000,
|
||||
0b00000000,
|
||||
0b00100010,
|
||||
0b00110110,
|
||||
0b00011100,
|
||||
0b00001000,
|
||||
0b00000000,
|
||||
0b00001000,
|
||||
0b00011100,
|
||||
0b00110110,
|
||||
0b00100010,
|
||||
0b00000000
|
||||
};
|
||||
|
||||
#ifdef ENABLE_VOICE
|
||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
28
ui/main.c
28
ui/main.c
@ -143,7 +143,7 @@ void UI_DisplayMain(void)
|
||||
memmove(pLine0 + 0, BITMAP_VFO_NotDefault, sizeof(BITMAP_VFO_NotDefault));
|
||||
}
|
||||
|
||||
uint32_t SomeValue = 0;
|
||||
uint32_t duff_beer = 0;
|
||||
|
||||
if (gCurrentFunction == FUNCTION_TRANSMIT)
|
||||
{ // transmitting
|
||||
@ -151,7 +151,7 @@ void UI_DisplayMain(void)
|
||||
#ifdef ENABLE_ALARM
|
||||
if (gAlarmState == ALARM_STATE_ALARM)
|
||||
{
|
||||
SomeValue = 2;
|
||||
duff_beer = 2;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
@ -159,14 +159,14 @@ void UI_DisplayMain(void)
|
||||
Channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_CHANNEL : gEeprom.TX_CHANNEL;
|
||||
if (Channel == vfo_num)
|
||||
{ // show the TX symbol
|
||||
SomeValue = 1;
|
||||
duff_beer = 1;
|
||||
UI_PrintStringSmall("TX", 14, 0, Line);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{ // receiving .. show the RX symbol
|
||||
SomeValue = 2;
|
||||
duff_beer = 2;
|
||||
if ((gCurrentFunction == FUNCTION_RECEIVE || gCurrentFunction == FUNCTION_MONITOR) && gEeprom.RX_CHANNEL == vfo_num)
|
||||
UI_PrintStringSmall("RX", 14, 0, Line);
|
||||
}
|
||||
@ -319,7 +319,7 @@ void UI_DisplayMain(void)
|
||||
#else
|
||||
// show the frequency in the main font
|
||||
sprintf(String, "%03u.%05u", frequency / 100000, frequency % 100000);
|
||||
UI_PrintString(String, 38, 112, Line, 8);
|
||||
UI_PrintString(String, 31, 112, Line, 8);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@ -329,7 +329,7 @@ void UI_DisplayMain(void)
|
||||
{ // show the TX/RX level
|
||||
uint8_t Level = 0;
|
||||
|
||||
if (SomeValue == 1)
|
||||
if (duff_beer == 1)
|
||||
{ // TX power level
|
||||
switch (gRxVfo->OUTPUT_POWER)
|
||||
{
|
||||
@ -339,7 +339,7 @@ void UI_DisplayMain(void)
|
||||
}
|
||||
}
|
||||
else
|
||||
if (SomeValue == 2)
|
||||
if (duff_beer == 2)
|
||||
{ // RX signal level
|
||||
#ifdef ENABLE_DBM
|
||||
// dBm
|
||||
@ -387,7 +387,7 @@ void UI_DisplayMain(void)
|
||||
}
|
||||
else
|
||||
{ // or show the CTCSS/DCS symbol
|
||||
const FREQ_Config_t *pConfig = (SomeValue == 1) ? gEeprom.VfoInfo[vfo_num].pTX : gEeprom.VfoInfo[vfo_num].pRX;
|
||||
const FREQ_Config_t *pConfig = (duff_beer == 1) ? gEeprom.VfoInfo[vfo_num].pTX : gEeprom.VfoInfo[vfo_num].pRX;
|
||||
const unsigned int code_type = pConfig->CodeType;
|
||||
const char *code_list[] = {"", "CT", "DCS", "DCR"};
|
||||
if (code_type >= 0 && code_type < ARRAY_SIZE(code_list))
|
||||
@ -448,15 +448,9 @@ void UI_DisplayMain(void)
|
||||
if (gChargingWithTypeC)
|
||||
{ // charging .. show the battery state
|
||||
#ifdef ENABLE_SHOW_CHARGE_LEVEL
|
||||
const uint16_t volts = (gBatteryVoltageAverage < gMin_bat_v) ? gMin_bat_v :
|
||||
(gBatteryVoltageAverage > gMax_bat_v) ? gMax_bat_v :
|
||||
gBatteryVoltageAverage;
|
||||
|
||||
sprintf(String, "Charge %u.%02uV %u%%",
|
||||
gBatteryVoltageAverage / 100,
|
||||
gBatteryVoltageAverage % 100,
|
||||
(100 * (volts - gMin_bat_v)) / (gMax_bat_v - gMin_bat_v));
|
||||
|
||||
const uint16_t volts = (gBatteryVoltageAverage < gMin_bat_v) ? gMin_bat_v : gBatteryVoltageAverage;
|
||||
const uint16_t percent = (100 * (volts - gMin_bat_v)) / (gMax_bat_v - gMin_bat_v);
|
||||
sprintf(String, "Charge %u.%02uV %u%%", gBatteryVoltageAverage / 100, gBatteryVoltageAverage % 100, percent);
|
||||
UI_PrintStringSmall(String, 2, 0, 3);
|
||||
#endif
|
||||
}
|
||||
|
21
ui/menu.c
21
ui/menu.c
@ -48,22 +48,23 @@ const char MenuList[][7] =
|
||||
"T-CTCS", // was "T_CTCS"
|
||||
"T-DIR", // was "SFT_D"
|
||||
"T-OFFS", // was "OFFSET"
|
||||
"T-VFO", // was "WX"
|
||||
"T-TOUT", // was "TOT"
|
||||
"W/N",
|
||||
"SCRAM", // was "SCR"
|
||||
"BUSYCL", // was "BCL"
|
||||
"MEMSAV", // was "MEM-CH"
|
||||
"CH-SAV", // was "MEM-CH"
|
||||
"CH-DEL", // was "DEL-CH"
|
||||
"CH-DIS", // was "MDF"
|
||||
"BATSAV", // was "SAVE"
|
||||
"VOX",
|
||||
"BACKLT", // was "ABR"
|
||||
"DUALRX", // was "TDR"
|
||||
"T-VFO", // was "WX"
|
||||
"BEEP",
|
||||
"T-TOUT", // was "TOT"
|
||||
#ifdef ENABLE_VOICE
|
||||
"VOICE",
|
||||
#endif
|
||||
"SC-REV",
|
||||
"CHDISP", // was "MDF"
|
||||
"KEYLOC", // was "AUTOLk"
|
||||
"S-ADD1",
|
||||
"S-ADD2",
|
||||
@ -98,11 +99,10 @@ const char MenuList[][7] =
|
||||
#ifdef ENABLE_NOAA
|
||||
"NOAA-S",
|
||||
#endif
|
||||
"MEMDEL", // was "Del-CH"
|
||||
"RESET",
|
||||
"RESET", // might be better to move this to the hidden menu items ?
|
||||
|
||||
// hidden menu items from here on.
|
||||
// enabled if pressing PTT and upper side button at power-on.
|
||||
// hidden menu items from here on
|
||||
// enabled if pressing both the PTT and upper side button at power-on
|
||||
|
||||
"F-LOCK",
|
||||
"TX-200", // was "200TX"
|
||||
@ -114,7 +114,7 @@ const char MenuList[][7] =
|
||||
"TX-EN", // enable TX
|
||||
"F-CALI", // reference xtal calibration
|
||||
|
||||
"" // end of list - DO NOT DELETE THIS !
|
||||
"" // end of list - DO NOT DELETE THIS ! .. I use this to compute this list size
|
||||
};
|
||||
|
||||
const char gSubMenu_TXP[3][5] =
|
||||
@ -556,7 +556,8 @@ void UI_DisplayMenu(void)
|
||||
{ // 2nd text line .. percentage
|
||||
UI_PrintString(String, 50, 127, 1, 8);
|
||||
const uint16_t volts = (gBatteryVoltageAverage < gMin_bat_v) ? gMin_bat_v : gBatteryVoltageAverage;
|
||||
sprintf(String, "%u%%", (100 * (volts - gMin_bat_v)) / (gMax_bat_v - gMin_bat_v));
|
||||
const uint16_t percent = (100 * (volts - gMin_bat_v)) / (gMax_bat_v - gMin_bat_v);
|
||||
sprintf(String, "%u%%", percent);
|
||||
UI_PrintString(String, 50, 127, 3, 8);
|
||||
#if 0
|
||||
sprintf(String, "Curr %u", gBatteryCurrent); // needs scaling into mA
|
||||
|
@ -31,22 +31,23 @@ enum
|
||||
MENU_T_CTCS,
|
||||
MENU_SFT_D,
|
||||
MENU_OFFSET,
|
||||
MENU_XB,
|
||||
MENU_TOT,
|
||||
MENU_W_N,
|
||||
MENU_SCR,
|
||||
MENU_BCL,
|
||||
MENU_MEM_CH,
|
||||
MENU_DEL_CH,
|
||||
MENU_MDF,
|
||||
MENU_SAVE,
|
||||
MENU_VOX,
|
||||
MENU_ABR,
|
||||
MENU_TDR,
|
||||
MENU_XB,
|
||||
MENU_BEEP,
|
||||
MENU_TOT,
|
||||
#ifdef ENABLE_VOICE
|
||||
MENU_VOICE,
|
||||
#endif
|
||||
MENU_SC_REV,
|
||||
MENU_MDF,
|
||||
MENU_AUTOLK,
|
||||
MENU_S_ADD1,
|
||||
MENU_S_ADD2,
|
||||
@ -81,7 +82,6 @@ enum
|
||||
#ifdef ENABLE_NOAA
|
||||
MENU_NOAA_S,
|
||||
#endif
|
||||
MENU_DEL_CH,
|
||||
MENU_RESET,
|
||||
|
||||
// items after here are normally hidden
|
||||
|
16
ui/status.c
16
ui/status.c
@ -122,17 +122,21 @@ void UI_DisplayStatus(const bool test_display)
|
||||
UI_PrintStringSmallBuffer(s, line);
|
||||
//line += 8 * 4;
|
||||
#elif defined(ENABLE_STATUSBAR_PERCENTAGE)
|
||||
char s[6];
|
||||
const uint16_t volts = (gBatteryVoltageAverage < gMin_bat_v) ? gMin_bat_v : gBatteryVoltageAverage;
|
||||
sprintf(s, "%u%%", (100 * (volts - gMin_bat_v)) / (gMax_bat_v - gMin_bat_v));
|
||||
UI_PrintStringSmallBuffer(s, line);
|
||||
const uint16_t percent = (100 * (volts - gMin_bat_v)) / (gMax_bat_v - gMin_bat_v);
|
||||
const unsigned int x = (percent >= 100) ? 0 : 4; // move to the right a bit
|
||||
char s[8];
|
||||
sprintf(s, "%u%%", percent);
|
||||
UI_PrintStringSmallBuffer(s, line + x);
|
||||
//line += 8 * 4;
|
||||
#endif
|
||||
}
|
||||
// else
|
||||
// line += sizeof(BITMAP_F_Key);
|
||||
|
||||
line = gStatusLine + LCD_WIDTH - sizeof(BITMAP_BatteryLevel5) - sizeof(BITMAP_USB_C); // point to right side of the screen
|
||||
|
||||
|
||||
|
||||
// move to right side of the screen
|
||||
line = gStatusLine + LCD_WIDTH - sizeof(BITMAP_BatteryLevel5) - sizeof(BITMAP_USB_C);
|
||||
|
||||
// USB-C charge indicator
|
||||
if (gChargingWithTypeC || test_display)
|
||||
|
Loading…
x
Reference in New Issue
Block a user