Fast change BW from front-panel

pull/7/head
XGudron 2021-02-02 18:36:18 +03:00
rodzic 1c31792525
commit 2bf1bf6eaa
2 zmienionych plików z 284 dodań i 11 usunięć

Wyświetl plik

@ -915,16 +915,6 @@ static uint16_t FRONTPANEL_ReadMCP3008_Value(uint8_t channel, GPIO_TypeDef *CS_P
return mcp3008_value;
}
static void FRONTPANEL_BUTTONHANDLER_BW_P(void)
{
}
static void FRONTPANEL_BUTTONHANDLER_BW_N(void)
{
}
static void FRONTPANEL_BUTTONHANDLER_PWR_P(void)
{
int16_t newval = (int16_t)TRX.RF_Power + 10;
@ -936,6 +926,7 @@ static void FRONTPANEL_BUTTONHANDLER_PWR_P(void)
char str[32] = {0};
sprintf(str, "PWR: %d%%",TRX.RF_Power);
LCD_showTooltip(str);
NeedSaveSettings = true;
}
static void FRONTPANEL_BUTTONHANDLER_PWR_N(void)
@ -949,4 +940,287 @@ static void FRONTPANEL_BUTTONHANDLER_PWR_N(void)
char str[32] = {0};
sprintf(str, "PWR: %d%%",TRX.RF_Power);
LCD_showTooltip(str);
NeedSaveSettings = true;
}
static void FRONTPANEL_BUTTONHANDLER_BW_P(void)
{
char str[32] = {0};
switch (CurrentVFO()->Mode)
{
case TRX_MODE_LSB:
case TRX_MODE_USB:
case TRX_MODE_DIGI_L:
case TRX_MODE_DIGI_U:
case TRX_MODE_IQ:
case TRX_MODE_LOOPBACK:
case TRX_MODE_NO_TX:
if (TRX.SSB_LPF_Filter == 0)
TRX.SSB_LPF_Filter = 1400;
if (TRX.SSB_LPF_Filter == 1400)
TRX.SSB_LPF_Filter = 1600;
else if (TRX.SSB_LPF_Filter == 1600)
TRX.SSB_LPF_Filter = 1800;
else if (TRX.SSB_LPF_Filter == 1800)
TRX.SSB_LPF_Filter = 2100;
else if (TRX.SSB_LPF_Filter == 2100)
TRX.SSB_LPF_Filter = 2300;
else if (TRX.SSB_LPF_Filter == 2300)
TRX.SSB_LPF_Filter = 2500;
else if (TRX.SSB_LPF_Filter == 2500)
TRX.SSB_LPF_Filter = 2700;
else if (TRX.SSB_LPF_Filter == 2700)
TRX.SSB_LPF_Filter = 2900;
else if (TRX.SSB_LPF_Filter == 2900)
TRX.SSB_LPF_Filter = 3000;
else if (TRX.SSB_LPF_Filter == 3000)
TRX.SSB_LPF_Filter = 3200;
else if (TRX.SSB_LPF_Filter == 3200)
TRX.SSB_LPF_Filter = 3400;
sprintf(str, "BW: %d",TRX.SSB_LPF_Filter);
break;
case TRX_MODE_CW_L:
case TRX_MODE_CW_U:
if (TRX.CW_LPF_Filter == 100)
TRX.CW_LPF_Filter = 150;
else if (TRX.CW_LPF_Filter == 150)
TRX.CW_LPF_Filter = 200;
else if (TRX.CW_LPF_Filter == 200)
TRX.CW_LPF_Filter = 250;
else if (TRX.CW_LPF_Filter == 250)
TRX.CW_LPF_Filter = 300;
else if (TRX.CW_LPF_Filter == 300)
TRX.CW_LPF_Filter = 350;
else if (TRX.CW_LPF_Filter == 350)
TRX.CW_LPF_Filter = 400;
else if (TRX.CW_LPF_Filter == 400)
TRX.CW_LPF_Filter = 450;
else if (TRX.CW_LPF_Filter == 450)
TRX.CW_LPF_Filter = 500;
else if (TRX.CW_LPF_Filter == 500)
TRX.CW_LPF_Filter = 550;
else if (TRX.CW_LPF_Filter == 550)
TRX.CW_LPF_Filter = 600;
else if (TRX.CW_LPF_Filter == 600)
TRX.CW_LPF_Filter = 650;
else if (TRX.CW_LPF_Filter == 650)
TRX.CW_LPF_Filter = 700;
else if (TRX.CW_LPF_Filter == 700)
TRX.CW_LPF_Filter = 750;
else if (TRX.CW_LPF_Filter == 750)
TRX.CW_LPF_Filter = 800;
else if (TRX.CW_LPF_Filter == 800)
TRX.CW_LPF_Filter = 850;
else if (TRX.CW_LPF_Filter == 850)
TRX.CW_LPF_Filter = 900;
else if (TRX.CW_LPF_Filter == 900)
TRX.CW_LPF_Filter = 950;
else if (TRX.CW_LPF_Filter == 950)
TRX.CW_LPF_Filter = 1000;
sprintf(str, "BW: %d",TRX.CW_LPF_Filter);
break;
case TRX_MODE_NFM:
case TRX_MODE_WFM:
if (TRX.FM_LPF_Filter == 5000)
TRX.FM_LPF_Filter = 6000;
else if (TRX.FM_LPF_Filter == 6000)
TRX.FM_LPF_Filter = 7000;
else if (TRX.FM_LPF_Filter == 7000)
TRX.FM_LPF_Filter = 8000;
else if (TRX.FM_LPF_Filter == 8000)
TRX.FM_LPF_Filter = 9000;
else if (TRX.FM_LPF_Filter == 9000)
TRX.FM_LPF_Filter = 10000;
else if (TRX.FM_LPF_Filter == 10000)
TRX.FM_LPF_Filter = 15000;
else if (TRX.FM_LPF_Filter == 15000)
TRX.FM_LPF_Filter = 20000;
sprintf(str, "BW: %d",TRX.FM_LPF_Filter);
break;
case TRX_MODE_AM:
if (TRX.AM_LPF_Filter == 2100)
TRX.AM_LPF_Filter = 2300;
else if (TRX.AM_LPF_Filter == 2300)
TRX.AM_LPF_Filter = 2500;
else if (TRX.AM_LPF_Filter == 2500)
TRX.AM_LPF_Filter = 2700;
else if (TRX.AM_LPF_Filter == 2700)
TRX.AM_LPF_Filter = 2900;
else if (TRX.AM_LPF_Filter == 2900)
TRX.AM_LPF_Filter = 3000;
else if (TRX.AM_LPF_Filter == 3000)
TRX.AM_LPF_Filter = 3200;
else if (TRX.AM_LPF_Filter == 3200)
TRX.AM_LPF_Filter = 3400;
else if (TRX.AM_LPF_Filter == 3400)
TRX.AM_LPF_Filter = 3600;
else if (TRX.AM_LPF_Filter == 3600)
TRX.AM_LPF_Filter = 3800;
else if (TRX.AM_LPF_Filter == 3800)
TRX.AM_LPF_Filter = 4000;
else if (TRX.AM_LPF_Filter == 4000)
TRX.AM_LPF_Filter = 4500;
else if (TRX.AM_LPF_Filter == 4500)
TRX.AM_LPF_Filter = 5000;
else if (TRX.AM_LPF_Filter == 5000)
TRX.AM_LPF_Filter = 6000;
else if (TRX.AM_LPF_Filter == 6000)
TRX.AM_LPF_Filter = 7000;
else if (TRX.AM_LPF_Filter == 7000)
TRX.AM_LPF_Filter = 8000;
else if (TRX.AM_LPF_Filter == 8000)
TRX.AM_LPF_Filter = 9000;
else if (TRX.AM_LPF_Filter == 9000)
TRX.AM_LPF_Filter = 10000;
sprintf(str, "BW: %d",TRX.AM_LPF_Filter);
break;
}
TRX_setMode(SecondaryVFO()->Mode, SecondaryVFO());
TRX_setMode(CurrentVFO()->Mode, CurrentVFO());
LCD_showTooltip(str);
NeedSaveSettings = true;
}
static void FRONTPANEL_BUTTONHANDLER_BW_N(void)
{
char str[32] = {0};
switch (CurrentVFO()->Mode)
{
case TRX_MODE_LSB:
case TRX_MODE_USB:
case TRX_MODE_DIGI_L:
case TRX_MODE_DIGI_U:
case TRX_MODE_IQ:
case TRX_MODE_LOOPBACK:
case TRX_MODE_NO_TX:
if (TRX.SSB_LPF_Filter == 1600)
TRX.SSB_LPF_Filter = 1400;
else if (TRX.SSB_LPF_Filter == 1800)
TRX.SSB_LPF_Filter = 1600;
else if (TRX.SSB_LPF_Filter == 2100)
TRX.SSB_LPF_Filter = 1800;
else if (TRX.SSB_LPF_Filter == 2300)
TRX.SSB_LPF_Filter = 2100;
else if (TRX.SSB_LPF_Filter == 2500)
TRX.SSB_LPF_Filter = 2300;
else if (TRX.SSB_LPF_Filter == 2700)
TRX.SSB_LPF_Filter = 2500;
else if (TRX.SSB_LPF_Filter == 2900)
TRX.SSB_LPF_Filter = 2700;
else if (TRX.SSB_LPF_Filter == 3000)
TRX.SSB_LPF_Filter = 2900;
else if (TRX.SSB_LPF_Filter == 3200)
TRX.SSB_LPF_Filter = 3000;
else if (TRX.SSB_LPF_Filter == 3400)
TRX.SSB_LPF_Filter = 3200;
sprintf(str, "BW: %d",TRX.SSB_LPF_Filter);
break;
case TRX_MODE_CW_L:
case TRX_MODE_CW_U:
if (TRX.CW_LPF_Filter == 1000)
TRX.CW_LPF_Filter = 950;
else if (TRX.CW_LPF_Filter == 950)
TRX.CW_LPF_Filter = 900;
else if (TRX.CW_LPF_Filter == 900)
TRX.CW_LPF_Filter = 850;
else if (TRX.CW_LPF_Filter == 850)
TRX.CW_LPF_Filter = 800;
else if (TRX.CW_LPF_Filter == 800)
TRX.CW_LPF_Filter = 750;
else if (TRX.CW_LPF_Filter == 750)
TRX.CW_LPF_Filter = 700;
else if (TRX.CW_LPF_Filter == 700)
TRX.CW_LPF_Filter = 650;
else if (TRX.CW_LPF_Filter == 650)
TRX.CW_LPF_Filter = 600;
else if (TRX.CW_LPF_Filter == 600)
TRX.CW_LPF_Filter = 550;
else if (TRX.CW_LPF_Filter == 550)
TRX.CW_LPF_Filter = 500;
else if (TRX.CW_LPF_Filter == 500)
TRX.CW_LPF_Filter = 450;
else if (TRX.CW_LPF_Filter == 450)
TRX.CW_LPF_Filter = 400;
else if (TRX.CW_LPF_Filter == 400)
TRX.CW_LPF_Filter = 350;
else if (TRX.CW_LPF_Filter == 350)
TRX.CW_LPF_Filter = 300;
else if (TRX.CW_LPF_Filter == 300)
TRX.CW_LPF_Filter = 250;
else if (TRX.CW_LPF_Filter == 250)
TRX.CW_LPF_Filter = 200;
else if (TRX.CW_LPF_Filter == 200)
TRX.CW_LPF_Filter = 150;
else if (TRX.CW_LPF_Filter == 150)
TRX.CW_LPF_Filter = 100;
sprintf(str, "BW: %d",TRX.CW_LPF_Filter);
break;
case TRX_MODE_NFM:
case TRX_MODE_WFM:
if (TRX.FM_LPF_Filter == 6000)
TRX.FM_LPF_Filter = 5000;
else if (TRX.FM_LPF_Filter == 7000)
TRX.FM_LPF_Filter = 6000;
else if (TRX.FM_LPF_Filter == 8000)
TRX.FM_LPF_Filter = 7000;
else if (TRX.FM_LPF_Filter == 9000)
TRX.FM_LPF_Filter = 8000;
else if (TRX.FM_LPF_Filter == 10000)
TRX.FM_LPF_Filter = 9000;
else if (TRX.FM_LPF_Filter == 15000)
TRX.FM_LPF_Filter = 10000;
else if (TRX.FM_LPF_Filter == 20000)
TRX.FM_LPF_Filter = 15000;
sprintf(str, "BW: %d",TRX.FM_LPF_Filter);
break;
case TRX_MODE_AM:
if (TRX.AM_LPF_Filter == 2300)
TRX.AM_LPF_Filter = 2100;
else if (TRX.AM_LPF_Filter == 2500)
TRX.AM_LPF_Filter = 2300;
else if (TRX.AM_LPF_Filter == 2700)
TRX.AM_LPF_Filter = 2500;
else if (TRX.AM_LPF_Filter == 2900)
TRX.AM_LPF_Filter = 2700;
else if (TRX.AM_LPF_Filter == 3000)
TRX.AM_LPF_Filter = 2900;
else if (TRX.AM_LPF_Filter == 3200)
TRX.AM_LPF_Filter = 3000;
else if (TRX.AM_LPF_Filter == 3400)
TRX.AM_LPF_Filter = 3200;
else if (TRX.AM_LPF_Filter == 3600)
TRX.AM_LPF_Filter = 3400;
else if (TRX.AM_LPF_Filter == 3800)
TRX.AM_LPF_Filter = 3400;
else if (TRX.AM_LPF_Filter == 4000)
TRX.AM_LPF_Filter = 3800;
else if (TRX.AM_LPF_Filter == 4500)
TRX.AM_LPF_Filter = 3800;
else if (TRX.AM_LPF_Filter == 5000)
TRX.AM_LPF_Filter = 4500;
else if (TRX.AM_LPF_Filter == 6000)
TRX.AM_LPF_Filter = 5000;
else if (TRX.AM_LPF_Filter == 7000)
TRX.AM_LPF_Filter = 6000;
else if (TRX.AM_LPF_Filter == 8000)
TRX.AM_LPF_Filter = 7000;
else if (TRX.AM_LPF_Filter == 9000)
TRX.AM_LPF_Filter = 8000;
else if (TRX.AM_LPF_Filter == 10000)
TRX.AM_LPF_Filter = 9000;
sprintf(str, "BW: %d",TRX.AM_LPF_Filter);
break;
}
TRX_setMode(SecondaryVFO()->Mode, SecondaryVFO());
TRX_setMode(CurrentVFO()->Mode, CurrentVFO());
LCD_showTooltip(str);
NeedSaveSettings = true;
}

Wyświetl plik

@ -914,7 +914,6 @@ static void SYSMENU_HANDL_AUDIO_SSB_LPF_pass(int8_t direction)
{
if (TRX.SSB_LPF_Filter == 0)
TRX.SSB_LPF_Filter = 1400;
if (TRX.SSB_LPF_Filter == 1400)
TRX.SSB_LPF_Filter = 1600;
else if (TRX.SSB_LPF_Filter == 1600)