diff --git a/app/menu.c b/app/menu.c index 7ae0058..a3de621 100644 --- a/app/menu.c +++ b/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: diff --git a/firmware b/firmware index 5f1139e..eb352f5 100644 Binary files a/firmware and b/firmware differ diff --git a/firmware.bin b/firmware.bin index f8b5cb9..6383369 100644 Binary files a/firmware.bin and b/firmware.bin differ diff --git a/firmware.packed.bin b/firmware.packed.bin index 17f0cea..80aa45e 100644 Binary files a/firmware.packed.bin and b/firmware.packed.bin differ diff --git a/font.c b/font.c index a68dfd4..9b85cca 100644 --- a/font.c +++ b/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] = @@ -472,4 +374,103 @@ const uint8_t gFont5x7[96][5] = {0x02, 0x01, 0x02, 0x04, 0x02}, {0x3C, 0x26, 0x23, 0x26, 0x3C} }; -*/ \ No newline at end of file +*/ +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} // <- +}; \ No newline at end of file diff --git a/font.h b/font.h index bf7cd0d..840e8d7 100644 --- a/font.h +++ b/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 diff --git a/misc.h b/misc.h index 1ed3bfc..ac3f7e7 100644 --- a/misc.h +++ b/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, diff --git a/radio.c b/radio.c index 38f8a70..3fc401d 100644 --- a/radio.c +++ b/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++) { diff --git a/settings.c b/settings.c index 1da02ee..901b26d 100644 --- a/settings.c +++ b/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; diff --git a/ui/helper.c b/ui/helper.c index 543170f..60f6ebe 100644 --- a/ui/helper.c +++ b/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); } } } diff --git a/version.c b/version.c index 4758ee4..3fcf19f 100644 --- a/version.c +++ b/version.c @@ -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 diff --git a/win_make.bat b/win_make.bat index 328bae9..608bbbd 100644 --- a/win_make.bat +++ b/win_make.bat @@ -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