Added RX/TX inversion and mic gain setting on Module 17 UI
This commit is contained in:
parent
f32255c258
commit
bd8f0d70c7
|
|
@ -129,7 +129,7 @@ enum module17Items
|
||||||
D_RXWIPER,
|
D_RXWIPER,
|
||||||
D_TXINVERT,
|
D_TXINVERT,
|
||||||
D_RXINVERT,
|
D_RXINVERT,
|
||||||
D_SAVE
|
D_MICGAIN
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -98,10 +98,11 @@ const char *display_items[] =
|
||||||
|
|
||||||
const char *module17_items[] =
|
const char *module17_items[] =
|
||||||
{
|
{
|
||||||
"TX Wiper",
|
"TX Softpot",
|
||||||
"RX Wiper",
|
"RX Softpot",
|
||||||
"TX Phase Inversion",
|
"TX Phase",
|
||||||
"RX Phase Inversion"
|
"RX Phase",
|
||||||
|
"Mic Gain"
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef GPS_PRESENT
|
#ifdef GPS_PRESENT
|
||||||
|
|
@ -605,6 +606,15 @@ void _ui_changeRxInvert(int variation)
|
||||||
mod17CalData.rx_invert += variation;
|
mod17CalData.rx_invert += variation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _ui_changeMicGain(int variation)
|
||||||
|
{
|
||||||
|
mod17CalData.mic_gain += variation;
|
||||||
|
|
||||||
|
// Mic gain can be between 0 and 2
|
||||||
|
if(mod17CalData.mic_gain > 2) mod17CalData.mic_gain = 2;
|
||||||
|
if(mod17CalData.mic_gain < 0) mod17CalData.mic_gain = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void _ui_menuUp(uint8_t menu_entries)
|
void _ui_menuUp(uint8_t menu_entries)
|
||||||
{
|
{
|
||||||
if(ui_state.menu_selected > 0)
|
if(ui_state.menu_selected > 0)
|
||||||
|
|
@ -1236,6 +1246,9 @@ void ui_updateFSM(bool *sync_rtx)
|
||||||
case D_RXINVERT:
|
case D_RXINVERT:
|
||||||
_ui_changeRxInvert(-1);
|
_ui_changeRxInvert(-1);
|
||||||
break;
|
break;
|
||||||
|
case D_MICGAIN:
|
||||||
|
_ui_changeMicGain(-1);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
state.ui_screen = SETTINGS_MODULE17;
|
state.ui_screen = SETTINGS_MODULE17;
|
||||||
}
|
}
|
||||||
|
|
@ -1257,6 +1270,9 @@ void ui_updateFSM(bool *sync_rtx)
|
||||||
case D_RXINVERT:
|
case D_RXINVERT:
|
||||||
_ui_changeRxInvert(+1);
|
_ui_changeRxInvert(+1);
|
||||||
break;
|
break;
|
||||||
|
case D_MICGAIN:
|
||||||
|
_ui_changeMicGain(+1);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
state.ui_screen = SETTINGS_MODULE17;
|
state.ui_screen = SETTINGS_MODULE17;
|
||||||
}
|
}
|
||||||
|
|
@ -1268,7 +1284,10 @@ void ui_updateFSM(bool *sync_rtx)
|
||||||
else if(msg.keys & KEY_ENTER)
|
else if(msg.keys & KEY_ENTER)
|
||||||
ui_state.edit_mode = !ui_state.edit_mode;
|
ui_state.edit_mode = !ui_state.edit_mode;
|
||||||
else if(msg.keys & KEY_ESC)
|
else if(msg.keys & KEY_ESC)
|
||||||
|
{
|
||||||
|
// TODO save settings to non-volatile memory
|
||||||
_ui_menuBack(MENU_SETTINGS);
|
_ui_menuBack(MENU_SETTINGS);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,19 @@ const char *display_timer_values[] =
|
||||||
"1 hour"
|
"1 hour"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const char *mic_gain_values[] =
|
||||||
|
{
|
||||||
|
"40 dB",
|
||||||
|
"50 dB",
|
||||||
|
"60 dB"
|
||||||
|
};
|
||||||
|
|
||||||
|
const char *phase_values[] =
|
||||||
|
{
|
||||||
|
"Normal",
|
||||||
|
"Inverted"
|
||||||
|
};
|
||||||
|
|
||||||
void _ui_drawMenuList(uint8_t selected, int (*getCurrentEntry)(char *buf, uint8_t max_len, uint8_t index))
|
void _ui_drawMenuList(uint8_t selected, int (*getCurrentEntry)(char *buf, uint8_t max_len, uint8_t index))
|
||||||
{
|
{
|
||||||
point_t pos = layout.line1_pos;
|
point_t pos = layout.line1_pos;
|
||||||
|
|
@ -178,23 +191,26 @@ int _ui_getModule17EntryName(char *buf, uint8_t max_len, uint8_t index)
|
||||||
int _ui_getModule17ValueName(char *buf, uint8_t max_len, uint8_t index)
|
int _ui_getModule17ValueName(char *buf, uint8_t max_len, uint8_t index)
|
||||||
{
|
{
|
||||||
if(index >= module17_num) return -1;
|
if(index >= module17_num) return -1;
|
||||||
uint16_t value = 0;
|
|
||||||
switch(index)
|
switch(index)
|
||||||
{
|
{
|
||||||
case D_TXWIPER:
|
case D_TXWIPER:
|
||||||
value = mod17CalData.tx_wiper;
|
snprintf(buf, max_len, "%d", mod17CalData.tx_wiper);
|
||||||
break;
|
break;
|
||||||
case D_RXWIPER:
|
case D_RXWIPER:
|
||||||
value = mod17CalData.rx_wiper;
|
snprintf(buf, max_len, "%d", mod17CalData.rx_wiper);
|
||||||
break;
|
break;
|
||||||
case D_TXINVERT:
|
case D_TXINVERT:
|
||||||
value = mod17CalData.tx_invert;
|
snprintf(buf, max_len, "%s", phase_values[mod17CalData.tx_invert]);
|
||||||
break;
|
break;
|
||||||
case D_RXINVERT:
|
case D_RXINVERT:
|
||||||
value = mod17CalData.rx_invert;
|
snprintf(buf, max_len, "%s", phase_values[mod17CalData.rx_invert]);
|
||||||
|
break;
|
||||||
|
case D_MICGAIN:
|
||||||
|
snprintf(buf, max_len, "%s", mic_gain_values[mod17CalData.mic_gain]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
snprintf(buf, max_len, "%d", value);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue