mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-04-28 14:21:25 +03:00
Updated some channel menu options to be remembered when changed
This commit is contained in:
parent
a452646da9
commit
e43dfb3f6b
49
app/menu.c
49
app/menu.c
@ -57,8 +57,9 @@
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_BEEP_PROMPT,
|
||||
VOICE_ID_TRANSMIT_OVER_TIME,
|
||||
VOICE_ID_VOICE_PROMPT,
|
||||
VOICE_ID_INVALID,
|
||||
// #ifndef DISABLE_VOICE
|
||||
VOICE_ID_VOICE_PROMPT,
|
||||
// #endif
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
@ -71,6 +72,9 @@
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
#ifndef DISABLE_ALARM
|
||||
VOICE_ID_INVALID,
|
||||
#endif
|
||||
VOICE_ID_ANI_CODE,
|
||||
VOICE_ID_INVALID,
|
||||
VOICE_ID_INVALID,
|
||||
@ -287,7 +291,7 @@ void MENU_AcceptSetting(void)
|
||||
if (IS_FREQ_CHANNEL(gTxVfo->CHANNEL_SAVE))
|
||||
{
|
||||
gTxVfo->STEP_SETTING = gSubMenuSelection;
|
||||
gRequestSaveChannel = 1;
|
||||
gRequestSaveChannel = 2;
|
||||
return;
|
||||
}
|
||||
gSubMenuSelection = gTxVfo->STEP_SETTING;
|
||||
@ -295,7 +299,7 @@ void MENU_AcceptSetting(void)
|
||||
|
||||
case MENU_TXP:
|
||||
gTxVfo->OUTPUT_POWER = gSubMenuSelection;
|
||||
gRequestSaveChannel = 1;
|
||||
gRequestSaveChannel = 2;
|
||||
return;
|
||||
|
||||
case MENU_T_DCS:
|
||||
@ -367,17 +371,17 @@ void MENU_AcceptSetting(void)
|
||||
|
||||
case MENU_W_N:
|
||||
gTxVfo->CHANNEL_BANDWIDTH = gSubMenuSelection;
|
||||
gRequestSaveChannel = 1;
|
||||
gRequestSaveChannel = 2;
|
||||
return;
|
||||
|
||||
case MENU_SCR:
|
||||
gTxVfo->SCRAMBLING_TYPE = gSubMenuSelection;
|
||||
gRequestSaveChannel = 1;
|
||||
gRequestSaveChannel = 2;
|
||||
return;
|
||||
|
||||
case MENU_BCL:
|
||||
gTxVfo->BUSY_CHANNEL_LOCK = gSubMenuSelection;
|
||||
gRequestSaveChannel = 1;
|
||||
gRequestSaveChannel = 2;
|
||||
return;
|
||||
|
||||
case MENU_MEM_CH:
|
||||
@ -412,7 +416,7 @@ void MENU_AcceptSetting(void)
|
||||
gEeprom.DUAL_WATCH = gSubMenuSelection;
|
||||
gFlagReconfigureVfos = true;
|
||||
gRequestSaveSettings = true;
|
||||
gUpdateStatus = true;
|
||||
gUpdateStatus = true;
|
||||
return;
|
||||
|
||||
case MENU_WX:
|
||||
@ -549,7 +553,7 @@ void MENU_AcceptSetting(void)
|
||||
|
||||
case MENU_AM:
|
||||
gTxVfo->AM_CHANNEL_MODE = gSubMenuSelection;
|
||||
gRequestSaveChannel = 1;
|
||||
gRequestSaveChannel = 2;
|
||||
return;
|
||||
|
||||
#ifndef DISABLE_NOAA
|
||||
@ -697,10 +701,7 @@ void MENU_ShowCurrentSetting(void)
|
||||
break;
|
||||
|
||||
case MENU_R_CTCS:
|
||||
if (gTxVfo->ConfigRX.CodeType == CODE_TYPE_CONTINUOUS_TONE)
|
||||
gSubMenuSelection = gTxVfo->ConfigRX.Code + 1;
|
||||
else
|
||||
gSubMenuSelection = 0;
|
||||
gSubMenuSelection = (gTxVfo->ConfigRX.CodeType == CODE_TYPE_CONTINUOUS_TONE) ? gTxVfo->ConfigRX.Code + 1 : 0;
|
||||
break;
|
||||
|
||||
case MENU_T_DCS:
|
||||
@ -719,10 +720,7 @@ void MENU_ShowCurrentSetting(void)
|
||||
break;
|
||||
|
||||
case MENU_T_CTCS:
|
||||
if (gTxVfo->ConfigTX.CodeType == CODE_TYPE_CONTINUOUS_TONE)
|
||||
gSubMenuSelection = gTxVfo->ConfigTX.Code + 1;
|
||||
else
|
||||
gSubMenuSelection = 0;
|
||||
gSubMenuSelection = (gTxVfo->ConfigTX.CodeType == CODE_TYPE_CONTINUOUS_TONE) ? gTxVfo->ConfigTX.Code + 1 : 0;
|
||||
break;
|
||||
|
||||
case MENU_SFT_D:
|
||||
@ -746,7 +744,11 @@ void MENU_ShowCurrentSetting(void)
|
||||
break;
|
||||
|
||||
case MENU_MEM_CH:
|
||||
gSubMenuSelection = gEeprom.MrChannel[0];
|
||||
#if 0
|
||||
gSubMenuSelection = gEeprom.MrChannel[0];
|
||||
#else
|
||||
gSubMenuSelection = gEeprom.MrChannel[gEeprom.TX_CHANNEL];
|
||||
#endif
|
||||
break;
|
||||
|
||||
case MENU_SAVE:
|
||||
@ -754,10 +756,7 @@ void MENU_ShowCurrentSetting(void)
|
||||
break;
|
||||
|
||||
case MENU_VOX:
|
||||
if (gEeprom.VOX_SWITCH)
|
||||
gSubMenuSelection = gEeprom.VOX_LEVEL + 1;
|
||||
else
|
||||
gSubMenuSelection = 0;
|
||||
gSubMenuSelection = gEeprom.VOX_SWITCH ? gEeprom.VOX_LEVEL + 1 : 0;
|
||||
break;
|
||||
|
||||
case MENU_ABR:
|
||||
@ -887,7 +886,11 @@ void MENU_ShowCurrentSetting(void)
|
||||
#endif
|
||||
|
||||
case MENU_DEL_CH:
|
||||
gSubMenuSelection = RADIO_FindNextChannel(gEeprom.MrChannel[0], 1, false, 1);
|
||||
#if 0
|
||||
gSubMenuSelection = RADIO_FindNextChannel(gEeprom.MrChannel[0], 1, false, 1);
|
||||
#else
|
||||
gSubMenuSelection = RADIO_FindNextChannel(gEeprom.MrChannel[gEeprom.TX_CHANNEL], 1, false, 1);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case MENU_350TX:
|
||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
199
font.c
199
font.c
@ -164,105 +164,6 @@ const uint8_t gFontSmallDigits[11][7] =
|
||||
{0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00}
|
||||
};
|
||||
/*
|
||||
const uint8_t gFont8x8[95][8] =
|
||||
{
|
||||
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // 'space'
|
||||
{0x08, 0x08, 0x08, 0x08, 0x00, 0x08, 0x00, 0x00}, // '!'
|
||||
{0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // '"'
|
||||
{0x00, 0x28, 0x7C, 0x28, 0x7C, 0x28, 0x00, 0x00}, // '#'
|
||||
{0x08, 0x1E, 0x28, 0x1C, 0x0A, 0x3C, 0x08, 0x00}, // '$'
|
||||
{0x60, 0x94, 0x68, 0x16, 0x29, 0x06, 0x00, 0x00}, // '%'
|
||||
{0x1C, 0x20, 0x20, 0x19, 0x26, 0x19, 0x00, 0x00}, // '&'
|
||||
{0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // '''
|
||||
{0x08, 0x10, 0x20, 0x20, 0x10, 0x08, 0x00, 0x00}, // '('
|
||||
{0x10, 0x08, 0x04, 0x04, 0x08, 0x10, 0x00, 0x00}, // ')'
|
||||
{0x2A, 0x1C, 0x3E, 0x1C, 0x2A, 0x00, 0x00, 0x00}, // '*'
|
||||
{0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00}, // '+'
|
||||
{0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00}, // ','
|
||||
{0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00}, // '-'
|
||||
{0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00}, // '.'
|
||||
{0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00}, // '/'
|
||||
{0x18, 0x24, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00}, // '0'
|
||||
{0x08, 0x18, 0x08, 0x08, 0x08, 0x1C, 0x00, 0x00}, // '1'
|
||||
{0x3C, 0x42, 0x04, 0x18, 0x20, 0x7E, 0x00, 0x00}, // '2'
|
||||
{0x3C, 0x42, 0x04, 0x18, 0x42, 0x3C, 0x00, 0x00}, // '3'
|
||||
{0x08, 0x18, 0x28, 0x48, 0x7C, 0x08, 0x00, 0x00}, // '4'
|
||||
{0x7E, 0x40, 0x7C, 0x02, 0x42, 0x3C, 0x00, 0x00}, // '5'
|
||||
{0x3C, 0x40, 0x7C, 0x42, 0x42, 0x3C, 0x00, 0x00}, // '6'
|
||||
{0x7E, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00}, // '7'
|
||||
{0x3C, 0x42, 0x3C, 0x42, 0x42, 0x3C, 0x00, 0x00}, // '8'
|
||||
{0x3C, 0x42, 0x42, 0x3E, 0x02, 0x3C, 0x00, 0x00}, // '9'
|
||||
{0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00}, // ':'
|
||||
{0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x10, 0x00}, // ';'
|
||||
{0x00, 0x06, 0x18, 0x60, 0x18, 0x06, 0x00, 0x00}, // '<'
|
||||
{0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00}, // '='
|
||||
{0x00, 0x60, 0x18, 0x06, 0x18, 0x60, 0x00, 0x00}, // '>'
|
||||
{0x38, 0x44, 0x04, 0x18, 0x00, 0x10, 0x00, 0x00}, // '?'
|
||||
{0x00, 0x3C, 0x44, 0x9C, 0x94, 0x5C, 0x20, 0x1C}, // '@'
|
||||
{0x18, 0x18, 0x24, 0x3C, 0x42, 0x42, 0x00, 0x00}, // 'A'
|
||||
{0x78, 0x44, 0x78, 0x44, 0x44, 0x78, 0x00, 0x00}, // 'B'
|
||||
{0x38, 0x44, 0x80, 0x80, 0x44, 0x38, 0x00, 0x00}, // 'C'
|
||||
{0x78, 0x44, 0x44, 0x44, 0x44, 0x78, 0x00, 0x00}, // 'D'
|
||||
{0x7C, 0x40, 0x78, 0x40, 0x40, 0x7C, 0x00, 0x00}, // 'E'
|
||||
{0x7C, 0x40, 0x78, 0x40, 0x40, 0x40, 0x00, 0x00}, // 'F'
|
||||
{0x38, 0x44, 0x80, 0x9C, 0x44, 0x38, 0x00, 0x00}, // 'G'
|
||||
{0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x00, 0x00}, // 'H'
|
||||
{0x3E, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00}, // 'I'
|
||||
{0x1C, 0x04, 0x04, 0x04, 0x44, 0x38, 0x00, 0x00}, // 'J'
|
||||
{0x44, 0x48, 0x50, 0x70, 0x48, 0x44, 0x00, 0x00}, // 'K'
|
||||
{0x40, 0x40, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00}, // 'L'
|
||||
{0x41, 0x63, 0x55, 0x49, 0x41, 0x41, 0x00, 0x00}, // 'M'
|
||||
{0x42, 0x62, 0x52, 0x4A, 0x46, 0x42, 0x00, 0x00}, // 'N'
|
||||
{0x1C, 0x22, 0x22, 0x22, 0x22, 0x1C, 0x00, 0x00}, // 'O'
|
||||
{0x78, 0x44, 0x78, 0x40, 0x40, 0x40, 0x00, 0x00}, // 'P'
|
||||
{0x1C, 0x22, 0x22, 0x22, 0x22, 0x1C, 0x02, 0x00}, // 'Q'
|
||||
{0x78, 0x44, 0x78, 0x50, 0x48, 0x44, 0x00, 0x00}, // 'R'
|
||||
{0x1C, 0x22, 0x10, 0x0C, 0x22, 0x1C, 0x00, 0x00}, // 'S'
|
||||
{0x7F, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00}, // 'T'
|
||||
{0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00}, // 'U'
|
||||
{0x81, 0x42, 0x42, 0x24, 0x24, 0x18, 0x00, 0x00}, // 'V'
|
||||
{0x41, 0x41, 0x49, 0x55, 0x63, 0x41, 0x00, 0x00}, // 'W'
|
||||
{0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x00, 0x00}, // 'X'
|
||||
{0x41, 0x22, 0x14, 0x08, 0x08, 0x08, 0x00, 0x00}, // 'Y'
|
||||
{0x7E, 0x04, 0x08, 0x10, 0x20, 0x7E, 0x00, 0x00}, // 'Z'
|
||||
{0x38, 0x20, 0x20, 0x20, 0x20, 0x38, 0x00, 0x00}, // '['
|
||||
{0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00}, // '\'
|
||||
{0x38, 0x08, 0x08, 0x08, 0x08, 0x38, 0x00, 0x00}, // ']'
|
||||
{0x10, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // '^'
|
||||
{0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00}, // '_'
|
||||
{0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // '`'
|
||||
{0x00, 0x3C, 0x02, 0x3E, 0x46, 0x3A, 0x00, 0x00}, // 'a'
|
||||
{0x40, 0x40, 0x7C, 0x42, 0x62, 0x5C, 0x00, 0x00}, // 'b'
|
||||
{0x00, 0x00, 0x1C, 0x20, 0x20, 0x1C, 0x00, 0x00}, // 'c'
|
||||
{0x02, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00}, // 'd'
|
||||
{0x00, 0x3C, 0x42, 0x7E, 0x40, 0x3C, 0x00, 0x00}, // 'e'
|
||||
{0x00, 0x18, 0x10, 0x38, 0x10, 0x10, 0x00, 0x00}, // 'f'
|
||||
{0x00, 0x00, 0x34, 0x4C, 0x44, 0x34, 0x04, 0x38}, // 'g'
|
||||
{0x20, 0x20, 0x38, 0x24, 0x24, 0x24, 0x00, 0x00}, // 'h'
|
||||
{0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00}, // 'i'
|
||||
{0x08, 0x00, 0x18, 0x08, 0x08, 0x08, 0x08, 0x70}, // 'j'
|
||||
{0x20, 0x20, 0x24, 0x28, 0x30, 0x2C, 0x00, 0x00}, // 'k'
|
||||
{0x10, 0x10, 0x10, 0x10, 0x10, 0x18, 0x00, 0x00}, // 'l'
|
||||
{0x00, 0x00, 0x66, 0x5A, 0x42, 0x42, 0x00, 0x00}, // 'm'
|
||||
{0x00, 0x00, 0x2E, 0x32, 0x22, 0x22, 0x00, 0x00}, // 'n'
|
||||
{0x00, 0x00, 0x3C, 0x42, 0x42, 0x3C, 0x00, 0x00}, // 'o'
|
||||
{0x00, 0x00, 0x5C, 0x62, 0x42, 0x7C, 0x40, 0x40}, // 'p'
|
||||
{0x00, 0x00, 0x3A, 0x46, 0x42, 0x3E, 0x02, 0x02}, // 'q'
|
||||
{0x00, 0x00, 0x2C, 0x32, 0x20, 0x20, 0x00, 0x00}, // 'r'
|
||||
{0x00, 0x1C, 0x20, 0x18, 0x04, 0x38, 0x00, 0x00}, // 's'
|
||||
{0x00, 0x10, 0x3C, 0x10, 0x10, 0x18, 0x00, 0x00}, // 't'
|
||||
{0x00, 0x00, 0x22, 0x22, 0x26, 0x1A, 0x00, 0x00}, // 'u'
|
||||
{0x00, 0x00, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00}, // 'v'
|
||||
{0x00, 0x00, 0x81, 0x81, 0x5A, 0x66, 0x00, 0x00}, // 'w'
|
||||
{0x00, 0x00, 0x42, 0x24, 0x18, 0x66, 0x00, 0x00}, // 'x'
|
||||
{0x00, 0x00, 0x42, 0x22, 0x14, 0x08, 0x10, 0x60}, // 'y'
|
||||
{0x00, 0x00, 0x3C, 0x08, 0x10, 0x3C, 0x00, 0x00}, // 'z'
|
||||
{0x1C, 0x10, 0x30, 0x30, 0x10, 0x1C, 0x00, 0x00}, // '{'
|
||||
{0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00}, // '|'
|
||||
{0x38, 0x08, 0x0C, 0x0C, 0x08, 0x38, 0x00, 0x00}, // '}'
|
||||
{0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x00, 0x00} // '~'
|
||||
};
|
||||
*/
|
||||
const uint8_t gFont5x8[95][5] =
|
||||
{
|
||||
{0x00, 0x00, 0x00, 0x00, 0x00},
|
||||
@ -366,6 +267,7 @@ const uint8_t gFont5x8[95][5] =
|
||||
{0x00, 0x41, 0x36, 0x08, 0x00},
|
||||
{0x02, 0x01, 0x02, 0x04, 0x02}
|
||||
};
|
||||
*/
|
||||
/*
|
||||
// ASCII 5x7 font
|
||||
const uint8_t gFont5x7[96][5] =
|
||||
@ -473,3 +375,102 @@ const uint8_t gFont5x7[96][5] =
|
||||
{0x3C, 0x26, 0x23, 0x26, 0x3C}
|
||||
};
|
||||
*/
|
||||
const uint8_t gFont5x7[96][5] =
|
||||
{
|
||||
{0x00, 0x00, 0x00, 0x00, 0x00}, // (space)
|
||||
{0x00, 0x00, 0x5F, 0x00, 0x00}, // !
|
||||
{0x00, 0x07, 0x00, 0x07, 0x00}, // "
|
||||
{0x14, 0x7F, 0x14, 0x7F, 0x14}, // #
|
||||
{0x24, 0x2A, 0x7F, 0x2A, 0x12}, // $
|
||||
{0x23, 0x13, 0x08, 0x64, 0x62}, // %
|
||||
{0x36, 0x49, 0x55, 0x22, 0x50}, // &
|
||||
{0x00, 0x05, 0x03, 0x00, 0x00}, // '
|
||||
{0x00, 0x1C, 0x22, 0x41, 0x00}, // (
|
||||
{0x00, 0x41, 0x22, 0x1C, 0x00}, // )
|
||||
{0x08, 0x2A, 0x1C, 0x2A, 0x08}, // *
|
||||
{0x08, 0x08, 0x3E, 0x08, 0x08}, // +
|
||||
{0x00, 0x50, 0x30, 0x00, 0x00}, // ,
|
||||
{0x08, 0x08, 0x08, 0x08, 0x08}, // -
|
||||
{0x00, 0x60, 0x60, 0x00, 0x00}, // .
|
||||
{0x20, 0x10, 0x08, 0x04, 0x02}, // /
|
||||
{0x3E, 0x51, 0x49, 0x45, 0x3E}, // 0
|
||||
{0x00, 0x42, 0x7F, 0x40, 0x00}, // 1
|
||||
{0x42, 0x61, 0x51, 0x49, 0x46}, // 2
|
||||
{0x21, 0x41, 0x45, 0x4B, 0x31}, // 3
|
||||
{0x18, 0x14, 0x12, 0x7F, 0x10}, // 4
|
||||
{0x27, 0x45, 0x45, 0x45, 0x39}, // 5
|
||||
{0x3C, 0x4A, 0x49, 0x49, 0x30}, // 6
|
||||
{0x01, 0x71, 0x09, 0x05, 0x03}, // 7
|
||||
{0x36, 0x49, 0x49, 0x49, 0x36}, // 8
|
||||
{0x06, 0x49, 0x49, 0x29, 0x1E}, // 9
|
||||
{0x00, 0x36, 0x36, 0x00, 0x00}, // :
|
||||
{0x00, 0x56, 0x36, 0x00, 0x00}, // ;
|
||||
{0x00, 0x08, 0x14, 0x22, 0x41}, // <
|
||||
{0x14, 0x14, 0x14, 0x14, 0x14}, // =
|
||||
{0x41, 0x22, 0x14, 0x08, 0x00}, // >
|
||||
{0x02, 0x01, 0x51, 0x09, 0x06}, // ?
|
||||
{0x32, 0x49, 0x79, 0x41, 0x3E}, // @
|
||||
{0x7E, 0x11, 0x11, 0x11, 0x7E}, // A
|
||||
{0x7F, 0x49, 0x49, 0x49, 0x36}, // B
|
||||
{0x3E, 0x41, 0x41, 0x41, 0x22}, // C
|
||||
{0x7F, 0x41, 0x41, 0x22, 0x1C}, // D
|
||||
{0x7F, 0x49, 0x49, 0x49, 0x41}, // E
|
||||
{0x7F, 0x09, 0x09, 0x01, 0x01}, // F
|
||||
{0x3E, 0x41, 0x41, 0x51, 0x32}, // G
|
||||
{0x7F, 0x08, 0x08, 0x08, 0x7F}, // H
|
||||
{0x00, 0x41, 0x7F, 0x41, 0x00}, // I
|
||||
{0x20, 0x40, 0x41, 0x3F, 0x01}, // J
|
||||
{0x7F, 0x08, 0x14, 0x22, 0x41}, // K
|
||||
{0x7F, 0x40, 0x40, 0x40, 0x40}, // L
|
||||
{0x7F, 0x02, 0x04, 0x02, 0x7F}, // M
|
||||
{0x7F, 0x04, 0x08, 0x10, 0x7F}, // N
|
||||
{0x3E, 0x41, 0x41, 0x41, 0x3E}, // O
|
||||
{0x7F, 0x09, 0x09, 0x09, 0x06}, // P
|
||||
{0x3E, 0x41, 0x51, 0x21, 0x5E}, // Q
|
||||
{0x7F, 0x09, 0x19, 0x29, 0x46}, // R
|
||||
{0x46, 0x49, 0x49, 0x49, 0x31}, // S
|
||||
{0x01, 0x01, 0x7F, 0x01, 0x01}, // T
|
||||
{0x3F, 0x40, 0x40, 0x40, 0x3F}, // U
|
||||
{0x1F, 0x20, 0x40, 0x20, 0x1F}, // V
|
||||
{0x7F, 0x20, 0x18, 0x20, 0x7F}, // W
|
||||
{0x63, 0x14, 0x08, 0x14, 0x63}, // X
|
||||
{0x03, 0x04, 0x78, 0x04, 0x03}, // Y
|
||||
{0x61, 0x51, 0x49, 0x45, 0x43}, // Z
|
||||
{0x00, 0x00, 0x7F, 0x41, 0x41}, // [
|
||||
{0x02, 0x04, 0x08, 0x10, 0x20}, // "\"
|
||||
{0x41, 0x41, 0x7F, 0x00, 0x00}, // ]
|
||||
{0x04, 0x02, 0x01, 0x02, 0x04}, // ^
|
||||
{0x40, 0x40, 0x40, 0x40, 0x40}, // _
|
||||
{0x00, 0x01, 0x02, 0x04, 0x00}, // `
|
||||
{0x20, 0x54, 0x54, 0x54, 0x78}, // a
|
||||
{0x7F, 0x48, 0x44, 0x44, 0x38}, // b
|
||||
{0x38, 0x44, 0x44, 0x44, 0x20}, // c
|
||||
{0x38, 0x44, 0x44, 0x48, 0x7F}, // d
|
||||
{0x38, 0x54, 0x54, 0x54, 0x18}, // e
|
||||
{0x08, 0x7E, 0x09, 0x01, 0x02}, // f
|
||||
{0x08, 0x14, 0x54, 0x54, 0x3C}, // g
|
||||
{0x7F, 0x08, 0x04, 0x04, 0x78}, // h
|
||||
{0x00, 0x44, 0x7D, 0x40, 0x00}, // i
|
||||
{0x20, 0x40, 0x44, 0x3D, 0x00}, // j
|
||||
{0x00, 0x7F, 0x10, 0x28, 0x44}, // k
|
||||
{0x00, 0x41, 0x7F, 0x40, 0x00}, // l
|
||||
{0x7C, 0x04, 0x18, 0x04, 0x78}, // m
|
||||
{0x7C, 0x08, 0x04, 0x04, 0x78}, // n
|
||||
{0x38, 0x44, 0x44, 0x44, 0x38}, // o
|
||||
{0x7C, 0x14, 0x14, 0x14, 0x08}, // p
|
||||
{0x08, 0x14, 0x14, 0x18, 0x7C}, // q
|
||||
{0x7C, 0x08, 0x04, 0x04, 0x08}, // r
|
||||
{0x48, 0x54, 0x54, 0x54, 0x20}, // s
|
||||
{0x04, 0x3F, 0x44, 0x40, 0x20}, // t
|
||||
{0x3C, 0x40, 0x40, 0x20, 0x7C}, // u
|
||||
{0x1C, 0x20, 0x40, 0x20, 0x1C}, // v
|
||||
{0x3C, 0x40, 0x30, 0x40, 0x3C}, // w
|
||||
{0x44, 0x28, 0x10, 0x28, 0x44}, // x
|
||||
{0x0C, 0x50, 0x50, 0x50, 0x3C}, // y
|
||||
{0x44, 0x64, 0x54, 0x4C, 0x44}, // z
|
||||
{0x00, 0x08, 0x36, 0x41, 0x00}, // {
|
||||
{0x00, 0x00, 0x7F, 0x00, 0x00}, // |
|
||||
{0x00, 0x41, 0x36, 0x08, 0x00}, // }
|
||||
{0x08, 0x08, 0x2A, 0x1C, 0x08}, // ->
|
||||
{0x08, 0x1C, 0x2A, 0x08, 0x08} // <-
|
||||
};
|
3
font.h
3
font.h
@ -23,9 +23,8 @@ extern const uint8_t gFontBig[95][16];
|
||||
extern const uint8_t gFontBigDigits[11][26];
|
||||
extern const uint8_t gFontSmallDigits[11][7];
|
||||
|
||||
//extern const uint8_t gFont8x8[95][8];
|
||||
extern const uint8_t gFont5x8[95][5];
|
||||
//extern const uint8_t gFont5x7[96][5];
|
||||
extern const uint8_t gFont5x7[96][5];
|
||||
|
||||
#endif
|
||||
|
||||
|
2
misc.h
2
misc.h
@ -30,7 +30,7 @@
|
||||
#endif
|
||||
|
||||
enum {
|
||||
MR_CHANNEL_FIRST = 0U,
|
||||
MR_CHANNEL_FIRST = 0,
|
||||
MR_CHANNEL_LAST = 199U,
|
||||
FREQ_CHANNEL_FIRST = 200U,
|
||||
FREQ_CHANNEL_LAST = 206U,
|
||||
|
2
radio.c
2
radio.c
@ -91,7 +91,7 @@ bool RADIO_CheckValidChannel(uint16_t Channel, bool bCheckScanList, uint8_t VFO)
|
||||
|
||||
uint8_t RADIO_FindNextChannel(uint8_t Channel, int8_t Direction, bool bCheckScanList, uint8_t VFO)
|
||||
{
|
||||
uint8_t i;
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < 200; i++)
|
||||
{
|
||||
|
12
settings.c
12
settings.c
@ -232,23 +232,17 @@ void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool bUpdat
|
||||
#endif
|
||||
{
|
||||
uint8_t State[8];
|
||||
uint8_t Attributes;
|
||||
uint16_t Offset = 0x0D60 + (Channel & ~7U);
|
||||
uint8_t Attributes = 0xFF;
|
||||
uint16_t Offset = 0x0D60 + (Channel & ~7U);
|
||||
|
||||
EEPROM_ReadBuffer(Offset, State, sizeof(State));
|
||||
|
||||
if (bUpdate)
|
||||
{
|
||||
Attributes = 0
|
||||
| (pVFO->SCANLIST1_PARTICIPATION << 7)
|
||||
| (pVFO->SCANLIST2_PARTICIPATION << 6)
|
||||
| (pVFO->Band << 0);
|
||||
|
||||
Attributes = (pVFO->SCANLIST1_PARTICIPATION << 7) | (pVFO->SCANLIST2_PARTICIPATION << 6) | (pVFO->Band << 0);
|
||||
if (State[Channel & 7U] == Attributes)
|
||||
return;
|
||||
}
|
||||
else
|
||||
Attributes = 0xFF;
|
||||
|
||||
State[Channel & 7U] = Attributes;
|
||||
|
||||
|
14
ui/helper.c
14
ui/helper.c
@ -90,7 +90,7 @@ void UI_PrintStringSmall(const char *pString, uint8_t Start, uint8_t End, uint8_
|
||||
if (bCentered)
|
||||
Start += (((End - Start) - (Length * 8)) + 1) / 2;
|
||||
|
||||
#if 0
|
||||
#if 1
|
||||
{ // 5x7 font
|
||||
const unsigned int char_width = ARRAY_SIZE(gFont5x7[0]);
|
||||
const unsigned int char_spacing = char_width + 1;
|
||||
@ -101,12 +101,12 @@ void UI_PrintStringSmall(const char *pString, uint8_t Start, uint8_t End, uint8_
|
||||
{
|
||||
const unsigned int Index = ((unsigned int)pString[i] - 32);
|
||||
if (Index < ARRAY_SIZE(gFont5x7))
|
||||
memcpy(pfB + (i * char_spacing), &gFont5x7[Index], char_width);
|
||||
memcpy(pFb + (i * char_spacing), &gFont5x7[Index], char_width);
|
||||
}
|
||||
}
|
||||
}
|
||||
#elif 1
|
||||
{ // 5x8 font
|
||||
{ // 5x8 font - this one
|
||||
const unsigned int char_width = ARRAY_SIZE(gFont5x8[0]);
|
||||
const unsigned int char_spacing = char_width + 1;
|
||||
uint8_t *pFb = gFrameBuffer[Line] + Start;
|
||||
@ -121,8 +121,8 @@ void UI_PrintStringSmall(const char *pString, uint8_t Start, uint8_t End, uint8_
|
||||
}
|
||||
}
|
||||
#else
|
||||
{ // 8x8 font .. not yet working
|
||||
const unsigned int char_width = ARRAY_SIZE(gFont8x8[0]);
|
||||
{
|
||||
const unsigned int char_width = ARRAY_SIZE(gFont6x8[0]);
|
||||
const unsigned int char_spacing = char_width + 1;
|
||||
uint8_t *pFb = gFrameBuffer[Line] + Start;
|
||||
for (i = 0; i < Length; i++)
|
||||
@ -130,8 +130,8 @@ void UI_PrintStringSmall(const char *pString, uint8_t Start, uint8_t End, uint8_
|
||||
if (pString[i] >= 32)
|
||||
{
|
||||
const unsigned int Index = (unsigned int)pString[i] - 32;
|
||||
if (Index < ARRAY_SIZE(gFont8x8))
|
||||
memcpy(pFb + (i * char_spacing), &gFont8x8[Index], char_width);
|
||||
if (Index < ARRAY_SIZE(gFont6x8))
|
||||
memcpy(pFb + (i * char_spacing), &gFont6x8[Index], char_width);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,5 +2,5 @@
|
||||
#ifdef GIT_HASH
|
||||
const char Version[] = "OEFW-" GIT_HASH;
|
||||
#else
|
||||
const char Version[] = "OEFW-230911";
|
||||
const char Version[] = "OEFW-230912";
|
||||
#endif
|
||||
|
@ -13,7 +13,7 @@ del /S /Q *.o >nul 2>nul
|
||||
del /S /Q *.d >nul 2>nul
|
||||
|
||||
::python -m pip install --upgrade pip crcmod
|
||||
fw-pack.py firmware.bin 230911 firmware.packed.bin
|
||||
fw-pack.py firmware.bin 230912 firmware.packed.bin
|
||||
|
||||
::arm-none-eabi-size firmware
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user