Improve power settings
This commit is contained in:
4
Makefile
4
Makefile
@@ -41,7 +41,6 @@ ENABLE_BYP_RAW_DEMODULATORS ?= 0
|
|||||||
ENABLE_BLMIN_TMP_OFF ?= 0
|
ENABLE_BLMIN_TMP_OFF ?= 0
|
||||||
ENABLE_SCAN_RANGES ?= 1
|
ENABLE_SCAN_RANGES ?= 1
|
||||||
ENABLE_FEAT_F4HWN ?= 1
|
ENABLE_FEAT_F4HWN ?= 1
|
||||||
ENABLE_FEAT_F4HWN_FIXED_PWR ?= 0
|
|
||||||
ENABLE_FEAT_F4HWN_SCREENSHOT ?= 0
|
ENABLE_FEAT_F4HWN_SCREENSHOT ?= 0
|
||||||
ENABLE_FEAT_F4HWN_PMR ?= 1
|
ENABLE_FEAT_F4HWN_PMR ?= 1
|
||||||
|
|
||||||
@@ -402,9 +401,6 @@ ifeq ($(ENABLE_FEAT_F4HWN),1)
|
|||||||
CFLAGS += -DAUTHOR_STRING_1=\"$(AUTHOR_STRING_1)\" -DVERSION_STRING_1=\"$(VERSION_STRING_1)\"
|
CFLAGS += -DAUTHOR_STRING_1=\"$(AUTHOR_STRING_1)\" -DVERSION_STRING_1=\"$(VERSION_STRING_1)\"
|
||||||
CFLAGS += -DAUTHOR_STRING_2=\"$(AUTHOR_STRING_2)\" -DVERSION_STRING_2=\"$(VERSION_STRING_2)\"
|
CFLAGS += -DAUTHOR_STRING_2=\"$(AUTHOR_STRING_2)\" -DVERSION_STRING_2=\"$(VERSION_STRING_2)\"
|
||||||
endif
|
endif
|
||||||
ifeq ($(ENABLE_FEAT_F4HWN_FIXED_PWR),1)
|
|
||||||
CFLAGS += -DENABLE_FEAT_F4HWN_FIXED_PWR
|
|
||||||
endif
|
|
||||||
ifeq ($(ENABLE_FEAT_F4HWN_SCREENSHOT),1)
|
ifeq ($(ENABLE_FEAT_F4HWN_SCREENSHOT),1)
|
||||||
CFLAGS += -DENABLE_FEAT_F4HWN_SCREENSHOT
|
CFLAGS += -DENABLE_FEAT_F4HWN_SCREENSHOT
|
||||||
endif
|
endif
|
||||||
|
@@ -121,7 +121,7 @@ static_assert(ARRAY_SIZE(action_opt_table) == ACTION_OPT_LEN);
|
|||||||
void ACTION_Power(void)
|
void ACTION_Power(void)
|
||||||
{
|
{
|
||||||
if (++gTxVfo->OUTPUT_POWER > OUTPUT_POWER_HIGH)
|
if (++gTxVfo->OUTPUT_POWER > OUTPUT_POWER_HIGH)
|
||||||
gTxVfo->OUTPUT_POWER = OUTPUT_POWER_LOW;
|
gTxVfo->OUTPUT_POWER = OUTPUT_POWER_LOW1;
|
||||||
|
|
||||||
gRequestSaveChannel = 1;
|
gRequestSaveChannel = 1;
|
||||||
|
|
||||||
|
13
app/menu.c
13
app/menu.c
@@ -374,9 +374,8 @@ int MENU_GetLimits(uint8_t menu_id, int32_t *pMin, int32_t *pMax)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
case MENU_SET_LOW:
|
case MENU_SET_PWR:
|
||||||
//*pMin = 0;
|
*pMax = ARRAY_SIZE(gSubMenu_SET_PWR) - 1;
|
||||||
*pMax = ARRAY_SIZE(gSubMenu_SET_LOW) - 1;
|
|
||||||
break;
|
break;
|
||||||
case MENU_SET_PTT:
|
case MENU_SET_PTT:
|
||||||
//*pMin = 0;
|
//*pMin = 0;
|
||||||
@@ -866,8 +865,8 @@ void MENU_AcceptSetting(void)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
case MENU_SET_LOW:
|
case MENU_SET_PWR:
|
||||||
gSetting_set_low = gSubMenuSelection;
|
gSetting_set_pwr = gSubMenuSelection;
|
||||||
gRequestSaveChannel = 1;
|
gRequestSaveChannel = 1;
|
||||||
break;
|
break;
|
||||||
case MENU_SET_PTT:
|
case MENU_SET_PTT:
|
||||||
@@ -1285,8 +1284,8 @@ void MENU_ShowCurrentSetting(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
case MENU_SET_LOW:
|
case MENU_SET_PWR:
|
||||||
gSubMenuSelection = gSetting_set_low;
|
gSubMenuSelection = gSetting_set_pwr;
|
||||||
break;
|
break;
|
||||||
case MENU_SET_PTT:
|
case MENU_SET_PTT:
|
||||||
gSubMenuSelection = gSetting_set_ptt_session;
|
gSubMenuSelection = gSetting_set_ptt_session;
|
||||||
|
4
main.c
4
main.c
@@ -128,9 +128,9 @@ void Main(void)
|
|||||||
gEeprom.KEY_LOCK = 0;
|
gEeprom.KEY_LOCK = 0;
|
||||||
SETTINGS_SaveSettings();
|
SETTINGS_SaveSettings();
|
||||||
#ifndef ENABLE_VOX
|
#ifndef ENABLE_VOX
|
||||||
gMenuCursor = 63; // move to hidden section, fix me if change... !!!
|
gMenuCursor = 62; // move to hidden section, fix me if change... !!!
|
||||||
#else
|
#else
|
||||||
gMenuCursor = 64; // move to hidden section, fix me if change... !!!
|
gMenuCursor = 63; // move to hidden section, fix me if change... !!!
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
2
misc.c
2
misc.c
@@ -105,7 +105,7 @@ enum BacklightOnRxTx_t gSetting_backlight_on_tx_rx;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
uint8_t gSetting_set_low = 1;
|
uint8_t gSetting_set_pwr = 1;
|
||||||
bool gSetting_set_ptt = 0;
|
bool gSetting_set_ptt = 0;
|
||||||
uint8_t gSetting_set_tot = 0;
|
uint8_t gSetting_set_tot = 0;
|
||||||
uint8_t gSetting_set_ctr = 11;
|
uint8_t gSetting_set_ctr = 11;
|
||||||
|
2
misc.h
2
misc.h
@@ -157,7 +157,7 @@ extern enum BacklightOnRxTx_t gSetting_backlight_on_tx_rx;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
extern uint8_t gSetting_set_low;
|
extern uint8_t gSetting_set_pwr;
|
||||||
extern bool gSetting_set_ptt;
|
extern bool gSetting_set_ptt;
|
||||||
extern uint8_t gSetting_set_tot;
|
extern uint8_t gSetting_set_tot;
|
||||||
extern uint8_t gSetting_set_ctr;
|
extern uint8_t gSetting_set_ctr;
|
||||||
|
116
radio.c
116
radio.c
@@ -140,7 +140,7 @@ void RADIO_InitInfo(VFO_Info_t *pInfo, const uint8_t ChannelSave, const uint32_t
|
|||||||
pInfo->StepFrequency = gStepFrequencyTable[pInfo->STEP_SETTING];
|
pInfo->StepFrequency = gStepFrequencyTable[pInfo->STEP_SETTING];
|
||||||
pInfo->CHANNEL_SAVE = ChannelSave;
|
pInfo->CHANNEL_SAVE = ChannelSave;
|
||||||
pInfo->FrequencyReverse = false;
|
pInfo->FrequencyReverse = false;
|
||||||
pInfo->OUTPUT_POWER = OUTPUT_POWER_LOW;
|
pInfo->OUTPUT_POWER = OUTPUT_POWER_LOW1;
|
||||||
pInfo->freq_config_RX.Frequency = Frequency;
|
pInfo->freq_config_RX.Frequency = Frequency;
|
||||||
pInfo->freq_config_TX.Frequency = Frequency;
|
pInfo->freq_config_TX.Frequency = Frequency;
|
||||||
pInfo->pRX = &pInfo->freq_config_RX;
|
pInfo->pRX = &pInfo->freq_config_RX;
|
||||||
@@ -329,7 +329,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure
|
|||||||
{
|
{
|
||||||
pVfo->FrequencyReverse = false;
|
pVfo->FrequencyReverse = false;
|
||||||
pVfo->CHANNEL_BANDWIDTH = BK4819_FILTER_BW_WIDE;
|
pVfo->CHANNEL_BANDWIDTH = BK4819_FILTER_BW_WIDE;
|
||||||
pVfo->OUTPUT_POWER = OUTPUT_POWER_LOW;
|
pVfo->OUTPUT_POWER = OUTPUT_POWER_LOW1;
|
||||||
pVfo->BUSY_CHANNEL_LOCK = false;
|
pVfo->BUSY_CHANNEL_LOCK = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -337,8 +337,8 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure
|
|||||||
const uint8_t d4 = data[4];
|
const uint8_t d4 = data[4];
|
||||||
pVfo->FrequencyReverse = !!((d4 >> 0) & 1u);
|
pVfo->FrequencyReverse = !!((d4 >> 0) & 1u);
|
||||||
pVfo->CHANNEL_BANDWIDTH = !!((d4 >> 1) & 1u);
|
pVfo->CHANNEL_BANDWIDTH = !!((d4 >> 1) & 1u);
|
||||||
pVfo->OUTPUT_POWER = ((d4 >> 2) & 3u);
|
pVfo->OUTPUT_POWER = ((d4 >> 2) & 7u);
|
||||||
pVfo->BUSY_CHANNEL_LOCK = !!((d4 >> 4) & 1u);
|
pVfo->BUSY_CHANNEL_LOCK = !!((d4 >> 5) & 1u);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data[5] == 0xFF)
|
if (data[5] == 0xFF)
|
||||||
@@ -508,67 +508,31 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo)
|
|||||||
// 1F30 32 32 32 64 64 64 8c 8c 8c ff ff ff ff ff ff ff 470 MHz
|
// 1F30 32 32 32 64 64 64 8c 8c 8c ff ff ff ff ff ff ff 470 MHz
|
||||||
|
|
||||||
uint8_t Txp[3];
|
uint8_t Txp[3];
|
||||||
EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (pInfo->OUTPUT_POWER * 3), Txp, 3);
|
uint8_t Op = 0;
|
||||||
|
|
||||||
|
if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID)
|
||||||
|
Op = 1;
|
||||||
|
else if(pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH)
|
||||||
|
Op = 2;
|
||||||
|
|
||||||
|
EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (Op * 3), Txp, 3);
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
#ifdef ENABLE_FEAT_F4HWN_FIXED_PWR
|
|
||||||
// make low and mid even lower
|
|
||||||
// and fix values
|
|
||||||
// because of toxic fucking closed firmwares
|
|
||||||
|
|
||||||
uint8_t shift[] = {0, 0, 0, 0, 0, 0, 0};
|
|
||||||
|
|
||||||
if(Band == 5)
|
|
||||||
{
|
|
||||||
shift[0] = 2;
|
|
||||||
shift[1] = 1;
|
|
||||||
shift[2] = 2;
|
|
||||||
shift[3] = 2;
|
|
||||||
shift[4] = 2;
|
|
||||||
shift[5] = 2;
|
|
||||||
shift[6] = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) {
|
|
||||||
for(uint8_t p = 0; p < 3; p++ )
|
|
||||||
{
|
|
||||||
switch (gSetting_set_low) {
|
|
||||||
case 0:
|
|
||||||
Txp[p] = 16 - shift[gSetting_set_low];
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
Txp[p] = 21 + shift[gSetting_set_low];
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
Txp[p] = 29 + shift[gSetting_set_low];
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
Txp[p] = 37 + shift[gSetting_set_low];
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
Txp[p] = 50 + shift[gSetting_set_low];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID){
|
|
||||||
Txp[0] = 77 + shift[5];
|
|
||||||
Txp[1] = 77 + shift[5];
|
|
||||||
Txp[2] = 77 + shift[5];
|
|
||||||
}
|
|
||||||
// increase high
|
|
||||||
else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH){
|
|
||||||
Txp[0] = 165 + shift[6];
|
|
||||||
Txp[1] = 165 + shift[6];
|
|
||||||
Txp[2] = 165 + shift[6];
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
// make low and mid even lower
|
// make low and mid even lower
|
||||||
// and use calibration values
|
// and use calibration values
|
||||||
// be aware with toxic fucking closed firmwares
|
// be aware with toxic fucking closed firmwares
|
||||||
|
|
||||||
uint8_t shift[] = {0, 0, 0, 0, 0};
|
uint8_t shift[] = {0, 0, 0, 0, 0};
|
||||||
|
uint8_t currentPower = pInfo->OUTPUT_POWER;
|
||||||
|
|
||||||
|
if(currentPower == OUTPUT_POWER_USER)
|
||||||
|
{
|
||||||
|
currentPower = gSetting_set_pwr;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
currentPower--;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if(Band == 5) // UHF
|
if(Band == 5) // UHF
|
||||||
@@ -581,6 +545,40 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo)
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
for(uint8_t p = 0; p < 3; p++)
|
||||||
|
{
|
||||||
|
switch (currentPower)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
Txp[p] = (Txp[p] * 4) / 25 + shift[pInfo->OUTPUT_POWER];
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
Txp[p] = (Txp[p] * 4) / 19 + shift[pInfo->OUTPUT_POWER];
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
Txp[p] = (Txp[p] * 4) / 13 + shift[pInfo->OUTPUT_POWER];
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
Txp[p] = (Txp[p] * 4) / 10 + shift[pInfo->OUTPUT_POWER];
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
Txp[p] = (Txp[p] * 4) / 7 + shift[pInfo->OUTPUT_POWER];
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
Txp[p] = (Txp[p] * 3) / 4;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
Txp[p] = Txp[p] + 30;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
// make low and mid even lower
|
||||||
|
// and use calibration values
|
||||||
|
// be aware with toxic fucking closed firmwares
|
||||||
|
|
||||||
|
uint8_t shift[] = {0, 0, 0, 0, 0};
|
||||||
|
|
||||||
if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) {
|
if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) {
|
||||||
for(uint8_t p = 0; p < 3; p++ )
|
for(uint8_t p = 0; p < 3; p++ )
|
||||||
{
|
{
|
||||||
@@ -615,7 +613,7 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo)
|
|||||||
Txp[1] = Txp[1] + 30;
|
Txp[1] = Txp[1] + 30;
|
||||||
Txp[2] = Txp[2] + 30;
|
Txp[2] = Txp[2] + 30;
|
||||||
}
|
}
|
||||||
#endif
|
*/
|
||||||
#else
|
#else
|
||||||
#ifdef ENABLE_REDUCE_LOW_MID_TX_POWER
|
#ifdef ENABLE_REDUCE_LOW_MID_TX_POWER
|
||||||
// make low and mid even lower
|
// make low and mid even lower
|
||||||
|
@@ -317,7 +317,7 @@ void SETTINGS_InitEEPROM(void)
|
|||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
// 1FF0..0x1FF7
|
// 1FF0..0x1FF7
|
||||||
EEPROM_ReadBuffer(0x1FF0, Data, 8);
|
EEPROM_ReadBuffer(0x1FF0, Data, 8);
|
||||||
gSetting_set_low = (((Data[7] & 0xF0) >> 4) < 5) ? ((Data[7] & 0xF0) >> 4) : 0;
|
gSetting_set_pwr = (((Data[7] & 0xF0) >> 4) < 7) ? ((Data[7] & 0xF0) >> 4) : 0;
|
||||||
gSetting_set_ptt = (((Data[7] & 0x0F)) < 2) ? ((Data[7] & 0x0F)) : 0;
|
gSetting_set_ptt = (((Data[7] & 0x0F)) < 2) ? ((Data[7] & 0x0F)) : 0;
|
||||||
|
|
||||||
gSetting_set_tot = (((Data[6] & 0xF0) >> 4) < 4) ? ((Data[6] & 0xF0) >> 4) : 0;
|
gSetting_set_tot = (((Data[6] & 0xF0) >> 4) < 4) ? ((Data[6] & 0xF0) >> 4) : 0;
|
||||||
@@ -707,7 +707,7 @@ void SETTINGS_SaveSettings(void)
|
|||||||
|
|
||||||
State[5] = ((tmp << 4) | (gSetting_set_ctr & 0x0F));
|
State[5] = ((tmp << 4) | (gSetting_set_ctr & 0x0F));
|
||||||
State[6] = ((gSetting_set_tot << 4) | (gSetting_set_eot & 0x0F));
|
State[6] = ((gSetting_set_tot << 4) | (gSetting_set_eot & 0x0F));
|
||||||
State[7] = ((gSetting_set_low << 4) | (gSetting_set_ptt & 0x0F));
|
State[7] = ((gSetting_set_pwr << 4) | (gSetting_set_ptt & 0x0F));
|
||||||
|
|
||||||
gEeprom.KEY_LOCK_PTT = gSetting_set_lck;
|
gEeprom.KEY_LOCK_PTT = gSetting_set_lck;
|
||||||
|
|
||||||
@@ -744,7 +744,7 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO,
|
|||||||
State._8[2] = (pVFO->freq_config_TX.CodeType << 4) | pVFO->freq_config_RX.CodeType;
|
State._8[2] = (pVFO->freq_config_TX.CodeType << 4) | pVFO->freq_config_RX.CodeType;
|
||||||
State._8[3] = (pVFO->Modulation << 4) | pVFO->TX_OFFSET_FREQUENCY_DIRECTION;
|
State._8[3] = (pVFO->Modulation << 4) | pVFO->TX_OFFSET_FREQUENCY_DIRECTION;
|
||||||
State._8[4] = 0
|
State._8[4] = 0
|
||||||
| (pVFO->BUSY_CHANNEL_LOCK << 4)
|
| (pVFO->BUSY_CHANNEL_LOCK << 5)
|
||||||
| (pVFO->OUTPUT_POWER << 2)
|
| (pVFO->OUTPUT_POWER << 2)
|
||||||
| (pVFO->CHANNEL_BANDWIDTH << 1)
|
| (pVFO->CHANNEL_BANDWIDTH << 1)
|
||||||
| (pVFO->FrequencyReverse << 0);
|
| (pVFO->FrequencyReverse << 0);
|
||||||
|
@@ -82,7 +82,12 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
OUTPUT_POWER_LOW = 0,
|
OUTPUT_POWER_USER = 0,
|
||||||
|
OUTPUT_POWER_LOW1,
|
||||||
|
OUTPUT_POWER_LOW2,
|
||||||
|
OUTPUT_POWER_LOW3,
|
||||||
|
OUTPUT_POWER_LOW4,
|
||||||
|
OUTPUT_POWER_LOW5,
|
||||||
OUTPUT_POWER_MID,
|
OUTPUT_POWER_MID,
|
||||||
OUTPUT_POWER_HIGH
|
OUTPUT_POWER_HIGH
|
||||||
};
|
};
|
||||||
|
28
ui/main.c
28
ui/main.c
@@ -1072,7 +1072,11 @@ void UI_DisplayMain(void)
|
|||||||
{ // TX power level
|
{ // TX power level
|
||||||
switch (gRxVfo->OUTPUT_POWER)
|
switch (gRxVfo->OUTPUT_POWER)
|
||||||
{
|
{
|
||||||
case OUTPUT_POWER_LOW: Level = 2; break;
|
case OUTPUT_POWER_LOW1: Level = 2; break;
|
||||||
|
case OUTPUT_POWER_LOW2: Level = 2; break;
|
||||||
|
case OUTPUT_POWER_LOW3: Level = 2; break;
|
||||||
|
case OUTPUT_POWER_LOW4: Level = 2; break;
|
||||||
|
case OUTPUT_POWER_LOW5: Level = 2; break;
|
||||||
case OUTPUT_POWER_MID: Level = 4; break;
|
case OUTPUT_POWER_MID: Level = 4; break;
|
||||||
case OUTPUT_POWER_HIGH: Level = 6; break;
|
case OUTPUT_POWER_HIGH: Level = 6; break;
|
||||||
}
|
}
|
||||||
@@ -1190,36 +1194,22 @@ void UI_DisplayMain(void)
|
|||||||
|
|
||||||
if (state == VFO_STATE_NORMAL || state == VFO_STATE_ALARM)
|
if (state == VFO_STATE_NORMAL || state == VFO_STATE_ALARM)
|
||||||
{ // show the TX power
|
{ // show the TX power
|
||||||
int i = vfoInfo->OUTPUT_POWER % 3;
|
int i = vfoInfo->OUTPUT_POWER % 8;
|
||||||
#if ENABLE_FEAT_F4HWN
|
#if ENABLE_FEAT_F4HWN
|
||||||
if (isMainOnly(true))
|
if (isMainOnly(true))
|
||||||
{
|
{
|
||||||
const char pwr_short[][2] = {"L","M","H"};
|
const char pwr_short[][3] = {"U", "L1", "L2", "L3", "L4", "L5", "M", "H"};
|
||||||
if(i == 0)
|
|
||||||
{
|
|
||||||
sprintf(String, "%s%d", pwr_short[i], gSetting_set_low + 1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sprintf(String, "%s", pwr_short[i]);
|
sprintf(String, "%s", pwr_short[i]);
|
||||||
}
|
|
||||||
UI_PrintStringSmallNormal(String, LCD_WIDTH + 44, 0, line + 1);
|
UI_PrintStringSmallNormal(String, LCD_WIDTH + 44, 0, line + 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const char pwr_long[][5] = {"LOW", "MID", "HIGH"};
|
const char pwr_long[][5] = {"USER", "LOW1", "LOW2", "LOW3", "LOW4", "LOW5", "MID", "HIGH"};
|
||||||
if(i == 0)
|
|
||||||
{
|
|
||||||
sprintf(String, "%s%d", pwr_long[i], gSetting_set_low + 1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sprintf(String, "%s", pwr_long[i]);
|
sprintf(String, "%s", pwr_long[i]);
|
||||||
}
|
|
||||||
GUI_DisplaySmallest(String, 24, line == 0 ? 17 : 49, false, true);
|
GUI_DisplaySmallest(String, 24, line == 0 ? 17 : 49, false, true);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
const char pwr_list[][2] = {"L","M","H"};
|
const char pwr_list[][2] = {"U", "L","M","H"};
|
||||||
UI_PrintStringSmallNormal(pwr_list[i], LCD_WIDTH + 46, 0, line + 1);
|
UI_PrintStringSmallNormal(pwr_list[i], LCD_WIDTH + 46, 0, line + 1);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
21
ui/menu.c
21
ui/menu.c
@@ -134,7 +134,7 @@ const t_menu_item MenuList[] =
|
|||||||
{"RxMode", MENU_TDR },
|
{"RxMode", MENU_TDR },
|
||||||
{"Sql", MENU_SQL },
|
{"Sql", MENU_SQL },
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
{"SetLow", MENU_SET_LOW },
|
{"SetPwr", MENU_SET_PWR },
|
||||||
{"SetPtt", MENU_SET_PTT },
|
{"SetPtt", MENU_SET_PTT },
|
||||||
{"SetTot", MENU_SET_TOT },
|
{"SetTot", MENU_SET_TOT },
|
||||||
{"SetEot", MENU_SET_EOT },
|
{"SetEot", MENU_SET_EOT },
|
||||||
@@ -166,9 +166,14 @@ const t_menu_item MenuList[] =
|
|||||||
|
|
||||||
const uint8_t FIRST_HIDDEN_MENU_ITEM = MENU_F_LOCK;
|
const uint8_t FIRST_HIDDEN_MENU_ITEM = MENU_F_LOCK;
|
||||||
|
|
||||||
const char gSubMenu_TXP[][5] =
|
const char gSubMenu_TXP[][6] =
|
||||||
{
|
{
|
||||||
"LOW",
|
"USER",
|
||||||
|
"LOW 1",
|
||||||
|
"LOW 2",
|
||||||
|
"LOW 3",
|
||||||
|
"LOW 4",
|
||||||
|
"LOW 5",
|
||||||
"MID",
|
"MID",
|
||||||
"HIGH"
|
"HIGH"
|
||||||
};
|
};
|
||||||
@@ -344,13 +349,15 @@ const char gSubMenu_SCRAMBLER[][7] =
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
const char gSubMenu_SET_LOW[][7] =
|
const char gSubMenu_SET_PWR[][7] =
|
||||||
{
|
{
|
||||||
"< 20mW",
|
"< 20mW",
|
||||||
"125mW",
|
"125mW",
|
||||||
"250mW",
|
"250mW",
|
||||||
"500mW",
|
"500mW",
|
||||||
"1W"
|
"1W",
|
||||||
|
"2W",
|
||||||
|
"5W"
|
||||||
};
|
};
|
||||||
|
|
||||||
const char gSubMenu_SET_PTT[][8] =
|
const char gSubMenu_SET_PTT[][8] =
|
||||||
@@ -944,8 +951,8 @@ void UI_DisplayMenu(void)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
case MENU_SET_LOW:
|
case MENU_SET_PWR:
|
||||||
strcpy(String, gSubMenu_SET_LOW[gSubMenuSelection]);
|
strcpy(String, gSubMenu_SET_PWR[gSubMenuSelection]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MENU_SET_PTT:
|
case MENU_SET_PTT:
|
||||||
|
@@ -123,7 +123,7 @@ enum
|
|||||||
MENU_F_CALI, // reference xtal calibration
|
MENU_F_CALI, // reference xtal calibration
|
||||||
#endif
|
#endif
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
MENU_SET_LOW,
|
MENU_SET_PWR,
|
||||||
MENU_SET_PTT,
|
MENU_SET_PTT,
|
||||||
MENU_SET_TOT,
|
MENU_SET_TOT,
|
||||||
MENU_SET_EOT,
|
MENU_SET_EOT,
|
||||||
@@ -145,7 +145,7 @@ enum
|
|||||||
extern const uint8_t FIRST_HIDDEN_MENU_ITEM;
|
extern const uint8_t FIRST_HIDDEN_MENU_ITEM;
|
||||||
extern const t_menu_item MenuList[];
|
extern const t_menu_item MenuList[];
|
||||||
|
|
||||||
extern const char gSubMenu_TXP[3][5];
|
extern const char gSubMenu_TXP[8][6];
|
||||||
extern const char gSubMenu_SFT_D[3][4];
|
extern const char gSubMenu_SFT_D[3][4];
|
||||||
extern const char gSubMenu_W_N[2][7];
|
extern const char gSubMenu_W_N[2][7];
|
||||||
extern const char gSubMenu_OFF_ON[2][4];
|
extern const char gSubMenu_OFF_ON[2][4];
|
||||||
@@ -166,7 +166,7 @@ extern const char gSubMenu_D_RSP[4][11];
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
extern const char gSubMenu_SET_LOW[5][7];
|
extern const char gSubMenu_SET_PWR[7][7];
|
||||||
extern const char gSubMenu_SET_PTT[2][8];
|
extern const char gSubMenu_SET_PTT[2][8];
|
||||||
extern const char gSubMenu_SET_TOT[4][7];
|
extern const char gSubMenu_SET_TOT[4][7];
|
||||||
extern const char gSubMenu_SET_LCK[2][9];
|
extern const char gSubMenu_SET_LCK[2][9];
|
||||||
|
Reference in New Issue
Block a user