0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-04-28 22:31:25 +03:00

trimmed down the FM deviation cal settings to a common value for both N/W band.

This commit is contained in:
OneOfEleven 2023-12-04 23:37:07 +00:00
parent 3368eb2725
commit 7c168e237f
10 changed files with 30 additions and 90 deletions

View File

@ -52,7 +52,7 @@ ENABLE_WIDE_RX := 1
ENABLE_TX_WHEN_AM := 0 ENABLE_TX_WHEN_AM := 0
# Frequency calibration 188 B # Frequency calibration 188 B
ENABLE_F_CAL_MENU := 0 ENABLE_F_CAL_MENU := 0
ENABLE_FM_DEV_CAL_MENU := 1 ENABLE_FM_DEV_CAL_MENU := 0
ENABLE_TX_UNLOCK_MENU := 0 ENABLE_TX_UNLOCK_MENU := 0
#ENABLE_TX_POWER_CAL_MENU := 0 #ENABLE_TX_POWER_CAL_MENU := 0
ENABLE_TX_POWER_FIX := 1 ENABLE_TX_POWER_FIX := 1
@ -86,7 +86,7 @@ ENABLE_SIDE_BUTT_MENU := 0
# Key Lock 400 B # Key Lock 400 B
ENABLE_KEYLOCK := 0 ENABLE_KEYLOCK := 0
# panadapter 1.5kB # panadapter 1.5kB
ENABLE_PANADAPTER := 0 ENABLE_PANADAPTER := 1
ENABLE_PANADAPTER_PEAK_FREQ := 0 ENABLE_PANADAPTER_PEAK_FREQ := 0
# single VFO 1.5kB # single VFO 1.5kB
ENABLE_SINGLE_VFO_CHAN := 1 ENABLE_SINGLE_VFO_CHAN := 1

View File

@ -372,14 +372,9 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax)
#endif #endif
#ifdef ENABLE_FM_DEV_CAL_MENU #ifdef ENABLE_FM_DEV_CAL_MENU
case MENU_TX_FM_DEV_CAL_N: case MENU_TX_FM_DEV_CAL:
*pMin = FM_DEV_LIMIT_LOWER_NARROW; *pMin = FM_DEV_LIMIT_LOWER;
*pMax = FM_DEV_LIMIT_UPPER_NARROW; *pMax = FM_DEV_LIMIT_UPPER;
break;
case MENU_TX_FM_DEV_CAL_W:
*pMin = FM_DEV_LIMIT_LOWER_WIDE;
*pMax = FM_DEV_LIMIT_UPPER_WIDE;
break; break;
#endif #endif
@ -919,19 +914,10 @@ void MENU_AcceptSetting(void)
#endif #endif
#ifdef ENABLE_FM_DEV_CAL_MENU #ifdef ENABLE_FM_DEV_CAL_MENU
case MENU_TX_FM_DEV_CAL_N: case MENU_TX_FM_DEV_CAL:
g_eeprom.calib.deviation_narrow = g_sub_menu_selection; g_eeprom.calib.deviation = g_sub_menu_selection;
{ {
uint16_t index = (uint16_t)(((uint8_t *)&g_eeprom.calib.deviation_narrow) - ((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);
}
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));
index &= ~7u; index &= ~7u;
EEPROM_WriteBuffer8(index, ((uint8_t *)&g_eeprom) + index); EEPROM_WriteBuffer8(index, ((uint8_t *)&g_eeprom) + index);
} }
@ -1416,12 +1402,8 @@ void MENU_ShowCurrentSetting(void)
#endif #endif
#ifdef ENABLE_FM_DEV_CAL_MENU #ifdef ENABLE_FM_DEV_CAL_MENU
case MENU_TX_FM_DEV_CAL_N: case MENU_TX_FM_DEV_CAL:
g_sub_menu_selection = g_eeprom.calib.deviation_narrow; g_sub_menu_selection = g_eeprom.calib.deviation;
break;
case MENU_TX_FM_DEV_CAL_W:
g_sub_menu_selection = g_eeprom.calib.deviation_wide;
break; break;
#endif #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 #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 #else
if (g_menu_cursor == MENU_BAT_CAL) if (g_menu_cursor == MENU_BAT_CAL)
#endif #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 #ifdef ENABLE_FM_DEV_CAL_MENU
if (g_current_function == FUNCTION_TRANSMIT) 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); BK4819_set_TX_deviation(g_sub_menu_selection);
#endif #endif

Binary file not shown.

Binary file not shown.

View File

@ -298,9 +298,9 @@ void FUNCTION_Select(function_type_t Function)
// 1of11 .. TEST ONLY // 1of11 .. TEST ONLY
// if (g_current_vfo->p_tx->code_type == CODE_TYPE_NONE) // 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 // #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)); // disable TX HPF
// BK4819_write_reg(0x2B, reg | (1u << 2) | (1u << 1)); // disable TX LPF & HPF // BK4819_write_reg(0x2B, reg | (1u << 2) | (1u << 1)); // disable TX LPF & HPF
// #else // #else

38
radio.c
View File

@ -721,42 +721,10 @@ BK4819_filter_bandwidth_t RADIO_set_bandwidth(BK4819_filter_bandwidth_t bandwidt
break; break;
} }
#ifdef ENABLE_FM_DEV_CAL_MENU if (g_eeprom.calib.deviation < FM_DEV_LIMIT_LOWER || g_eeprom.calib.deviation > FM_DEV_LIMIT_UPPER)
switch (bandwidth) deviation = FM_DEV_LIMIT_DEFAULT;
{
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 else
deviation = g_eeprom.calib.deviation_wide; deviation = g_eeprom.calib.deviation;
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
BK4819_set_TX_deviation(deviation); BK4819_set_TX_deviation(deviation);
BK4819_SetFilterBandwidth(bandwidth); BK4819_SetFilterBandwidth(bandwidth);

View File

@ -397,10 +397,8 @@ void SETTINGS_read_eeprom(void)
// memset(&g_eeprom.calib.unused3, 0xff, sizeof(g_eeprom.calib.unused3)); // memset(&g_eeprom.calib.unused3, 0xff, sizeof(g_eeprom.calib.unused3));
// #ifdef ENABLE_FM_DEV_CAL_MENU // #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) if (g_eeprom.calib.deviation < FM_DEV_LIMIT_LOWER || g_eeprom.calib.deviation > FM_DEV_LIMIT_UPPER)
g_eeprom.calib.deviation_narrow = FM_DEV_LIMIT_DEFAULT_NARROW; g_eeprom.calib.deviation = FM_DEV_LIMIT_DEFAULT;
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;
// #endif // #endif
if (g_eeprom.calib.battery[0] >= 5000) if (g_eeprom.calib.battery[0] >= 5000)

View File

@ -25,13 +25,9 @@
#include "frequencies.h" #include "frequencies.h"
enum { enum {
FM_DEV_LIMIT_LOWER_NARROW = 1000, FM_DEV_LIMIT_LOWER = 1000,
FM_DEV_LIMIT_DEFAULT_NARROW = 1350, FM_DEV_LIMIT_DEFAULT = 1350,
FM_DEV_LIMIT_UPPER_NARROW = 1600, FM_DEV_LIMIT_UPPER = 1600
FM_DEV_LIMIT_LOWER_WIDE = 1000,
FM_DEV_LIMIT_DEFAULT_WIDE = 1350,
FM_DEV_LIMIT_UPPER_WIDE = 1600
}; };
enum mod_mode_e { enum mod_mode_e {
@ -535,11 +531,11 @@ typedef struct {
uint16_t vox_threshold_disable[10]; // uint16_t vox_threshold_disable[10]; //
// #ifdef ENABLE_FM_DEV_CAL_MENU // #ifdef ENABLE_FM_DEV_CAL_MENU
// 1of11 // 1of11
uint16_t deviation_narrow; // uint16_t deviation; //
uint16_t deviation_wide; // uint8_t unused1a[2]; // 0xff's
// #else // #else
// // QS // // QS
// uint8_t unused[4]; // 0xff's // uint8_t unused1a[4]; // 0xff's
// #endif // #endif
// 0x1F80 // 0x1F80

View File

@ -162,8 +162,7 @@ const t_menu_item g_menu_list[] =
#endif #endif
#ifdef ENABLE_FM_DEV_CAL_MENU #ifdef ENABLE_FM_DEV_CAL_MENU
{"FN CAL", VOICE_ID_INVALID, MENU_TX_FM_DEV_CAL_N, }, // narrow FM deviation calibration {"FN CAL", VOICE_ID_INVALID, MENU_TX_FM_DEV_CAL, }, // FM deviation calibration
{"FW CAL", VOICE_ID_INVALID, MENU_TX_FM_DEV_CAL_W, }, // wide FM deviation calibration
#endif #endif
#ifdef ENABLE_F_CAL_MENU #ifdef ENABLE_F_CAL_MENU
@ -1239,10 +1238,8 @@ void UI_DisplayMenu(void)
#endif #endif
#ifdef ENABLE_FM_DEV_CAL_MENU #ifdef ENABLE_FM_DEV_CAL_MENU
case MENU_TX_FM_DEV_CAL_N: // narrow FM deviation calibration case MENU_TX_FM_DEV_CAL:
case MENU_TX_FM_DEV_CAL_W: // wide FM deviation calibration strcpy(str, "FM DEV\n");
strcpy(str, "FM DEV ");
strcat(str, (g_menu_cursor == MENU_TX_FM_DEV_CAL_N) ? "N\n" : "W\n");
sprintf(str + strlen(str), g_in_sub_menu ? "> %04d" : "%d", g_sub_menu_selection); sprintf(str + strlen(str), g_in_sub_menu ? "> %04d" : "%d", g_sub_menu_selection);
if (g_current_function == FUNCTION_TRANSMIT) if (g_current_function == FUNCTION_TRANSMIT)
BK4819_set_TX_deviation(g_sub_menu_selection); BK4819_set_TX_deviation(g_sub_menu_selection);

View File

@ -154,8 +154,7 @@ enum
#endif #endif
#ifdef ENABLE_FM_DEV_CAL_MENU #ifdef ENABLE_FM_DEV_CAL_MENU
MENU_TX_FM_DEV_CAL_N, // narrow FM deviation calibration MENU_TX_FM_DEV_CAL, // FM deviation calibration
MENU_TX_FM_DEV_CAL_W, // wide FM deviation calibration
#endif #endif
#ifdef ENABLE_F_CAL_MENU #ifdef ENABLE_F_CAL_MENU