diff --git a/Makefile b/Makefile index 9b0f3c2..3217a4c 100644 --- a/Makefile +++ b/Makefile @@ -52,7 +52,7 @@ ENABLE_WIDE_RX := 1 ENABLE_TX_WHEN_AM := 0 # Frequency calibration 188 B ENABLE_F_CAL_MENU := 0 -ENABLE_FM_DEV_CAL_MENU := 1 +ENABLE_FM_DEV_CAL_MENU := 0 ENABLE_TX_UNLOCK_MENU := 0 #ENABLE_TX_POWER_CAL_MENU := 0 ENABLE_TX_POWER_FIX := 1 @@ -86,7 +86,7 @@ ENABLE_SIDE_BUTT_MENU := 0 # Key Lock 400 B ENABLE_KEYLOCK := 0 # panadapter 1.5kB -ENABLE_PANADAPTER := 0 +ENABLE_PANADAPTER := 1 ENABLE_PANADAPTER_PEAK_FREQ := 0 # single VFO 1.5kB ENABLE_SINGLE_VFO_CHAN := 1 diff --git a/app/menu.c b/app/menu.c index 694e625..bb1af8a 100644 --- a/app/menu.c +++ b/app/menu.c @@ -372,14 +372,9 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax) #endif #ifdef ENABLE_FM_DEV_CAL_MENU - case MENU_TX_FM_DEV_CAL_N: - *pMin = FM_DEV_LIMIT_LOWER_NARROW; - *pMax = FM_DEV_LIMIT_UPPER_NARROW; - break; - - case MENU_TX_FM_DEV_CAL_W: - *pMin = FM_DEV_LIMIT_LOWER_WIDE; - *pMax = FM_DEV_LIMIT_UPPER_WIDE; + case MENU_TX_FM_DEV_CAL: + *pMin = FM_DEV_LIMIT_LOWER; + *pMax = FM_DEV_LIMIT_UPPER; break; #endif @@ -919,19 +914,10 @@ void MENU_AcceptSetting(void) #endif #ifdef ENABLE_FM_DEV_CAL_MENU - case MENU_TX_FM_DEV_CAL_N: - g_eeprom.calib.deviation_narrow = g_sub_menu_selection; + case MENU_TX_FM_DEV_CAL: + g_eeprom.calib.deviation = g_sub_menu_selection; { - uint16_t index = (uint16_t)(((uint8_t *)&g_eeprom.calib.deviation_narrow) - ((uint8_t *)&g_eeprom)); - index &= ~7u; - EEPROM_WriteBuffer8(index, ((uint8_t *)&g_eeprom) + index); - } - break; - - case MENU_TX_FM_DEV_CAL_W: - g_eeprom.calib.deviation_wide = g_sub_menu_selection; - { - uint16_t index = (uint16_t)(((uint8_t *)&g_eeprom.calib.deviation_wide) - ((uint8_t *)&g_eeprom)); + uint16_t index = (uint16_t)(((uint8_t *)&g_eeprom.calib.deviation) - ((uint8_t *)&g_eeprom)); index &= ~7u; EEPROM_WriteBuffer8(index, ((uint8_t *)&g_eeprom) + index); } @@ -1416,12 +1402,8 @@ void MENU_ShowCurrentSetting(void) #endif #ifdef ENABLE_FM_DEV_CAL_MENU - case MENU_TX_FM_DEV_CAL_N: - g_sub_menu_selection = g_eeprom.calib.deviation_narrow; - break; - - case MENU_TX_FM_DEV_CAL_W: - g_sub_menu_selection = g_eeprom.calib.deviation_wide; + case MENU_TX_FM_DEV_CAL: + g_sub_menu_selection = g_eeprom.calib.deviation; break; #endif @@ -1573,7 +1555,7 @@ static void MENU_Key_0_to_9(key_code_t Key, bool key_pressed, bool key_held) } #ifdef ENABLE_FM_DEV_CAL_MENU - if (g_menu_cursor == MENU_BAT_CAL || g_menu_cursor == MENU_TX_FM_DEV_CAL_N || g_menu_cursor == MENU_TX_FM_DEV_CAL_W) + if (g_menu_cursor == MENU_BAT_CAL || g_menu_cursor == MENU_TX_FM_DEV_CAL) #else if (g_menu_cursor == MENU_BAT_CAL) #endif @@ -1582,7 +1564,7 @@ static void MENU_Key_0_to_9(key_code_t Key, bool key_pressed, bool key_held) #ifdef ENABLE_FM_DEV_CAL_MENU if (g_current_function == FUNCTION_TRANSMIT) - if (g_menu_cursor == MENU_TX_FM_DEV_CAL_N || g_menu_cursor == MENU_TX_FM_DEV_CAL_W) + if (g_menu_cursor == MENU_TX_FM_DEV_CAL) BK4819_set_TX_deviation(g_sub_menu_selection); #endif diff --git a/firmware.bin b/firmware.bin index 04948af..717e3f2 100644 Binary files a/firmware.bin and b/firmware.bin differ diff --git a/firmware.packed.bin b/firmware.packed.bin index 917b05f..b19cb1e 100644 Binary files a/firmware.packed.bin and b/firmware.packed.bin differ diff --git a/functions.c b/functions.c index 80ade1a..0709604 100644 --- a/functions.c +++ b/functions.c @@ -298,9 +298,9 @@ void FUNCTION_Select(function_type_t Function) // 1of11 .. TEST ONLY // if (g_current_vfo->p_tx->code_type == CODE_TYPE_NONE) { -// const uint16_t reg = BK4819_read_reg(0x2B); + const uint16_t reg = BK4819_read_reg(0x2B); // #if 0 -// BK4819_write_reg(0x2B, reg | (1u << 1)); // disable TX LPF + BK4819_write_reg(0x2B, reg | (1u << 1)); // disable TX LPF // BK4819_write_reg(0x2B, reg | (1u << 2)); // disable TX HPF // BK4819_write_reg(0x2B, reg | (1u << 2) | (1u << 1)); // disable TX LPF & HPF // #else diff --git a/radio.c b/radio.c index 95d6594..e714f71 100644 --- a/radio.c +++ b/radio.c @@ -721,42 +721,10 @@ BK4819_filter_bandwidth_t RADIO_set_bandwidth(BK4819_filter_bandwidth_t bandwidt break; } - #ifdef ENABLE_FM_DEV_CAL_MENU - switch (bandwidth) - { - case BK4819_FILTER_BW_WIDE: - if (g_eeprom.calib.deviation_wide < FM_DEV_LIMIT_LOWER_WIDE || g_eeprom.calib.deviation_wide > FM_DEV_LIMIT_UPPER_WIDE) - deviation = FM_DEV_LIMIT_DEFAULT_WIDE; - else - deviation = g_eeprom.calib.deviation_wide; - break; - case BK4819_FILTER_BW_NARROW: - if (g_eeprom.calib.deviation_narrow < FM_DEV_LIMIT_LOWER_NARROW || g_eeprom.calib.deviation_narrow > FM_DEV_LIMIT_UPPER_NARROW) - deviation = FM_DEV_LIMIT_DEFAULT_NARROW; - else - deviation = g_eeprom.calib.deviation_narrow; - break; - case BK4819_FILTER_BW_NARROWER: - if (g_eeprom.calib.deviation_narrow < FM_DEV_LIMIT_LOWER_NARROW || g_eeprom.calib.deviation_narrow > FM_DEV_LIMIT_UPPER_NARROW) - deviation = FM_DEV_LIMIT_DEFAULT_NARROW; - else - deviation = g_eeprom.calib.deviation_narrow; - break; - } - #else - switch (bandwidth) - { - case BK4819_FILTER_BW_WIDE: - deviation = g_eeprom.calib.deviation_wide; - break; - case BK4819_FILTER_BW_NARROW: - deviation = g_eeprom.calib.deviation_narrow; - break; - case BK4819_FILTER_BW_NARROWER: - deviation = g_eeprom.calib.deviation_narrow; - break; - } - #endif + if (g_eeprom.calib.deviation < FM_DEV_LIMIT_LOWER || g_eeprom.calib.deviation > FM_DEV_LIMIT_UPPER) + deviation = FM_DEV_LIMIT_DEFAULT; + else + deviation = g_eeprom.calib.deviation; BK4819_set_TX_deviation(deviation); BK4819_SetFilterBandwidth(bandwidth); diff --git a/settings.c b/settings.c index d0b5157..ec735de 100644 --- a/settings.c +++ b/settings.c @@ -397,10 +397,8 @@ void SETTINGS_read_eeprom(void) // memset(&g_eeprom.calib.unused3, 0xff, sizeof(g_eeprom.calib.unused3)); // #ifdef ENABLE_FM_DEV_CAL_MENU - if (g_eeprom.calib.deviation_narrow < FM_DEV_LIMIT_LOWER_NARROW || g_eeprom.calib.deviation_narrow > FM_DEV_LIMIT_UPPER_NARROW) - g_eeprom.calib.deviation_narrow = FM_DEV_LIMIT_DEFAULT_NARROW; - if (g_eeprom.calib.deviation_wide < FM_DEV_LIMIT_LOWER_WIDE || g_eeprom.calib.deviation_wide > FM_DEV_LIMIT_UPPER_WIDE) - g_eeprom.calib.deviation_wide = FM_DEV_LIMIT_DEFAULT_WIDE; + if (g_eeprom.calib.deviation < FM_DEV_LIMIT_LOWER || g_eeprom.calib.deviation > FM_DEV_LIMIT_UPPER) + g_eeprom.calib.deviation = FM_DEV_LIMIT_DEFAULT; // #endif if (g_eeprom.calib.battery[0] >= 5000) diff --git a/settings.h b/settings.h index 1776a91..9c7c6f7 100644 --- a/settings.h +++ b/settings.h @@ -25,13 +25,9 @@ #include "frequencies.h" enum { - FM_DEV_LIMIT_LOWER_NARROW = 1000, - FM_DEV_LIMIT_DEFAULT_NARROW = 1350, - FM_DEV_LIMIT_UPPER_NARROW = 1600, - - FM_DEV_LIMIT_LOWER_WIDE = 1000, - FM_DEV_LIMIT_DEFAULT_WIDE = 1350, - FM_DEV_LIMIT_UPPER_WIDE = 1600 + FM_DEV_LIMIT_LOWER = 1000, + FM_DEV_LIMIT_DEFAULT = 1350, + FM_DEV_LIMIT_UPPER = 1600 }; enum mod_mode_e { @@ -535,11 +531,11 @@ typedef struct { uint16_t vox_threshold_disable[10]; // // #ifdef ENABLE_FM_DEV_CAL_MENU // 1of11 - uint16_t deviation_narrow; // - uint16_t deviation_wide; // + uint16_t deviation; // + uint8_t unused1a[2]; // 0xff's // #else // // QS -// uint8_t unused[4]; // 0xff's +// uint8_t unused1a[4]; // 0xff's // #endif // 0x1F80 diff --git a/ui/menu.c b/ui/menu.c index c1fc5c5..341a88e 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -162,8 +162,7 @@ const t_menu_item g_menu_list[] = #endif #ifdef ENABLE_FM_DEV_CAL_MENU - {"FN CAL", VOICE_ID_INVALID, MENU_TX_FM_DEV_CAL_N, }, // narrow FM deviation calibration - {"FW CAL", VOICE_ID_INVALID, MENU_TX_FM_DEV_CAL_W, }, // wide FM deviation calibration + {"FN CAL", VOICE_ID_INVALID, MENU_TX_FM_DEV_CAL, }, // FM deviation calibration #endif #ifdef ENABLE_F_CAL_MENU @@ -1239,10 +1238,8 @@ void UI_DisplayMenu(void) #endif #ifdef ENABLE_FM_DEV_CAL_MENU - case MENU_TX_FM_DEV_CAL_N: // narrow FM deviation calibration - case MENU_TX_FM_DEV_CAL_W: // wide FM deviation calibration - strcpy(str, "FM DEV "); - strcat(str, (g_menu_cursor == MENU_TX_FM_DEV_CAL_N) ? "N\n" : "W\n"); + case MENU_TX_FM_DEV_CAL: + strcpy(str, "FM DEV\n"); sprintf(str + strlen(str), g_in_sub_menu ? "> %04d" : "%d", g_sub_menu_selection); if (g_current_function == FUNCTION_TRANSMIT) BK4819_set_TX_deviation(g_sub_menu_selection); diff --git a/ui/menu.h b/ui/menu.h index 97a4010..2bb5ea6 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -154,8 +154,7 @@ enum #endif #ifdef ENABLE_FM_DEV_CAL_MENU - MENU_TX_FM_DEV_CAL_N, // narrow FM deviation calibration - MENU_TX_FM_DEV_CAL_W, // wide FM deviation calibration + MENU_TX_FM_DEV_CAL, // FM deviation calibration #endif #ifdef ENABLE_F_CAL_MENU