Add Remove Shift action for RescueOps mode

This commit is contained in:
Armel FAUVEAU
2024-11-23 02:34:03 +01:00
parent 91c95142c7
commit 3bad2a3b0f
5 changed files with 43 additions and 2 deletions

View File

@@ -112,6 +112,7 @@ void (*action_opt_table[])(void) = {
[ACTION_OPT_WN] = &ACTION_Wn, [ACTION_OPT_WN] = &ACTION_Wn,
#ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS #ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
[ACTION_OPT_POWER_HIGH] = &ACTION_Power_High, [ACTION_OPT_POWER_HIGH] = &ACTION_Power_High,
[ACTION_OPT_REMOVE_SHIFT] = &ACTION_Remove_Shift,
#endif #endif
[ACTION_OPT_BACKLIGHT] = &ACTION_BackLight, [ACTION_OPT_BACKLIGHT] = &ACTION_BackLight,
#else #else
@@ -625,5 +626,20 @@ void ACTION_BackLightOnDemand(void)
else if(gTxVfo->OUTPUT_POWER == OUTPUT_POWER_HIGH) else if(gTxVfo->OUTPUT_POWER == OUTPUT_POWER_HIGH)
gTxVfo->OUTPUT_POWER = gInitialPower; gTxVfo->OUTPUT_POWER = gInitialPower;
} }
void ACTION_Remove_Shift(void)
{
if(gTxVfo->TX_OFFSET_FREQUENCY_DIRECTION != 0)
{
if(gTxVfo->pTX == &gTxVfo->freq_config_TX)
{
gTxVfo->pTX = &gTxVfo->freq_config_RX;
}
else
{
gTxVfo->pTX = &gTxVfo->freq_config_TX;
}
}
}
#endif #endif
#endif #endif

View File

@@ -44,6 +44,7 @@ void ACTION_SwitchDemodul(void);
void ACTION_BackLight(void); void ACTION_BackLight(void);
#ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS #ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
void ACTION_Power_High(void); void ACTION_Power_High(void);
void ACTION_Remove_Shift(void);
#endif #endif
#endif #endif

View File

@@ -119,6 +119,7 @@ enum ACTION_OPT_t {
ACTION_OPT_BACKLIGHT, ACTION_OPT_BACKLIGHT,
#ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS #ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
ACTION_OPT_POWER_HIGH, ACTION_OPT_POWER_HIGH,
ACTION_OPT_REMOVE_SHIFT,
#endif #endif
#endif #endif
ACTION_OPT_LEN ACTION_OPT_LEN

View File

@@ -1243,8 +1243,19 @@ void UI_DisplayMain(void)
if (vfoInfo->freq_config_RX.Frequency != vfoInfo->freq_config_TX.Frequency) if (vfoInfo->freq_config_RX.Frequency != vfoInfo->freq_config_TX.Frequency)
{ // show the TX offset symbol { // show the TX offset symbol
const char dir_list[][2] = {"", "+", "-"};
int i = vfoInfo->TX_OFFSET_FREQUENCY_DIRECTION % 3; int i = vfoInfo->TX_OFFSET_FREQUENCY_DIRECTION % 3;
#ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
const char dir_list[][2] = {"", "+", "-", "D"};
if(gTxVfo->TX_OFFSET_FREQUENCY_DIRECTION != 0 && gTxVfo->pTX == &gTxVfo->freq_config_RX && !vfoInfo->FrequencyReverse)
{
i = 3;
}
#else
const char dir_list[][2] = {"", "+", "-"};
#endif
#if ENABLE_FEAT_F4HWN #if ENABLE_FEAT_F4HWN
if (gSetting_set_gui) if (gSetting_set_gui)
{ {
@@ -1252,7 +1263,18 @@ void UI_DisplayMain(void)
} }
else else
{ {
UI_PrintStringSmallNormal(dir_list[i], LCD_WIDTH + 41, 0, line + 1); #ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
if(i == 3)
{
GUI_DisplaySmallest(dir_list[i], 43, line == 0 ? 17 : 49, false, true);
}
else
{
#endif
UI_PrintStringSmallNormal(dir_list[i], LCD_WIDTH + 41, 0, line + 1);
#ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
}
#endif
} }
#else #else
UI_PrintStringSmallNormal(dir_list[i], LCD_WIDTH + 54, 0, line + 1); UI_PrintStringSmallNormal(dir_list[i], LCD_WIDTH + 54, 0, line + 1);

View File

@@ -448,6 +448,7 @@ const t_sidefunction gSubMenu_SIDEFUNCTIONS[] =
{"WIDE\nNARROW", ACTION_OPT_WN}, {"WIDE\nNARROW", ACTION_OPT_WN},
#ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS #ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
{"POWER\nHIGH", ACTION_OPT_POWER_HIGH}, {"POWER\nHIGH", ACTION_OPT_POWER_HIGH},
{"REMOVE\nSHIFT", ACTION_OPT_REMOVE_SHIFT},
#endif #endif
#endif #endif
}; };