Refactoring Mute and Gauge conditions
This commit is contained in:
40
app/action.c
40
app/action.c
@@ -111,7 +111,11 @@ void (*action_opt_table[])(void) = {
|
||||
[ACTION_OPT_PTT] = &ACTION_Ptt,
|
||||
[ACTION_OPT_WN] = &ACTION_Wn,
|
||||
[ACTION_OPT_BACKLIGHT] = &ACTION_BackLight,
|
||||
[ACTION_OPT_MUTE] = &ACTION_Mute,
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
[ACTION_OPT_MUTE] = &ACTION_Mute,
|
||||
#else
|
||||
[ACTION_OPT_MUTE] = &FUNCTION_NOP,
|
||||
#endif
|
||||
#ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
|
||||
[ACTION_OPT_POWER_HIGH] = &ACTION_Power_High,
|
||||
[ACTION_OPT_REMOVE_OFFSET] = &ACTION_Remove_Offset,
|
||||
@@ -626,24 +630,26 @@ void ACTION_BackLightOnDemand(void)
|
||||
BACKLIGHT_TurnOn();
|
||||
}
|
||||
|
||||
void ACTION_Mute(void)
|
||||
{
|
||||
// Toggle mute state
|
||||
gMute = !gMute;
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
void ACTION_Mute(void)
|
||||
{
|
||||
// Toggle mute state
|
||||
gMute = !gMute;
|
||||
|
||||
// Update the registers
|
||||
#ifdef ENABLE_FMRADIO
|
||||
BK1080_WriteRegister(BK1080_REG_05_SYSTEM_CONFIGURATION2, gMute ? 0x0A10 : 0x0A1F);
|
||||
// Update the registers
|
||||
#ifdef ENABLE_FMRADIO
|
||||
BK1080_WriteRegister(BK1080_REG_05_SYSTEM_CONFIGURATION2, gMute ? 0x0A10 : 0x0A1F);
|
||||
#endif
|
||||
gEeprom.VOLUME_GAIN = gMute ? 0 : gEeprom.VOLUME_GAIN_BACKUP;
|
||||
BK4819_WriteRegister(BK4819_REG_48,
|
||||
(11u << 12) | // ??? .. 0 ~ 15, doesn't seem to make any difference
|
||||
(0u << 10) | // AF Rx Gain-1
|
||||
(gEeprom.VOLUME_GAIN << 4) | // AF Rx Gain-2
|
||||
(gEeprom.DAC_GAIN << 0)); // AF DAC Gain (after Gain-1 and Gain-2)
|
||||
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
#endif
|
||||
gEeprom.VOLUME_GAIN = gMute ? 0 : gEeprom.VOLUME_GAIN_BACKUP;
|
||||
BK4819_WriteRegister(BK4819_REG_48,
|
||||
(11u << 12) | // ??? .. 0 ~ 15, doesn't seem to make any difference
|
||||
(0u << 10) | // AF Rx Gain-1
|
||||
(gEeprom.VOLUME_GAIN << 4) | // AF Rx Gain-2
|
||||
(gEeprom.DAC_GAIN << 0)); // AF DAC Gain (after Gain-1 and Gain-2)
|
||||
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
|
||||
#ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
|
||||
void ACTION_Power_High(void)
|
||||
|
@@ -42,7 +42,9 @@ void ACTION_SwitchDemodul(void);
|
||||
void ACTION_Wn(void);
|
||||
void ACTION_BackLightOnDemand(void);
|
||||
void ACTION_BackLight(void);
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
void ACTION_Mute(void);
|
||||
#endif
|
||||
#ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
|
||||
void ACTION_Power_High(void);
|
||||
void ACTION_Remove_Offset(void);
|
||||
|
@@ -36,6 +36,7 @@ bandscope() {
|
||||
ENABLE_SPECTRUM=1 \
|
||||
ENABLE_FMRADIO=0 \
|
||||
ENABLE_AIRCOPY=0 \
|
||||
ENABLE_FEAT_F4HWN_PMR=1 \
|
||||
ENABLE_NOAA=0 \
|
||||
ENABLE_FEAT_F4HWN_RESCUE_OPS=0 \
|
||||
EDITION_STRING=Bandscope \
|
||||
@@ -49,6 +50,7 @@ broadcast() {
|
||||
ENABLE_SPECTRUM=0 \
|
||||
ENABLE_FMRADIO=1 \
|
||||
ENABLE_AIRCOPY=1 \
|
||||
ENABLE_FEAT_F4HWN_PMR=1 \
|
||||
ENABLE_NOAA=0 \
|
||||
EDITION_STRING=Broadcast \
|
||||
ENABLE_FEAT_F4HWN_RESCUE_OPS=0 \
|
||||
@@ -65,6 +67,7 @@ voxless() {
|
||||
ENABLE_AIRCOPY=0 \
|
||||
ENABLE_AUDIO_BAR=0 \
|
||||
ENABLE_FEAT_F4HWN_SPECTRUM=0 \
|
||||
ENABLE_FEAT_F4HWN_PMR=1 \
|
||||
ENABLE_NOAA=0 \
|
||||
ENABLE_FEAT_F4HWN_RESTORE_SCAN=0 \
|
||||
ENABLE_FEAT_F4HWN_CHARGING_C=0 \
|
||||
@@ -81,6 +84,7 @@ rescueops() {
|
||||
ENABLE_SPECTRUM=0 \
|
||||
ENABLE_FMRADIO=0 \
|
||||
ENABLE_AIRCOPY=1 \
|
||||
ENABLE_FEAT_F4HWN_PMR=1 \
|
||||
ENABLE_NOAA=1 \
|
||||
ENABLE_FEAT_F4HWN_RESCUE_OPS=1 \
|
||||
EDITION_STRING=RescueOps \
|
||||
|
@@ -224,6 +224,7 @@ uint8_t cmds[] = {
|
||||
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
|
||||
}
|
||||
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
void ST7565_Gauge(uint8_t line, uint8_t min, uint8_t max, uint8_t value)
|
||||
{
|
||||
gFrameBuffer[line][54] = 0x0c;
|
||||
@@ -238,6 +239,7 @@ uint8_t cmds[] = {
|
||||
gFrameBuffer[line][i] = (i <= filled) ? 0x2d : 0x21;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
void ST7565_Init(void)
|
||||
|
@@ -43,7 +43,9 @@ void ST7565_WriteByte(uint8_t Value);
|
||||
|
||||
#ifdef ENABLE_FEAT_F4HWN
|
||||
void ST7565_ContrastAndInv(void);
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
void ST7565_Gauge(uint8_t line, uint8_t min, uint8_t max, uint8_t value);
|
||||
#endif
|
||||
int16_t map(int16_t x, int16_t in_min, int16_t in_max, int16_t out_min, int16_t out_max);
|
||||
#endif
|
||||
|
||||
|
16
ui/menu.c
16
ui/menu.c
@@ -451,7 +451,9 @@ const t_sidefunction gSubMenu_SIDEFUNCTIONS[] =
|
||||
{"MAIN ONLY", ACTION_OPT_MAINONLY},
|
||||
{"PTT", ACTION_OPT_PTT},
|
||||
{"WIDE\nNARROW", ACTION_OPT_WN},
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
{"MUTE", ACTION_OPT_MUTE},
|
||||
#endif
|
||||
#ifdef ENABLE_FEAT_F4HWN_RESCUE_OPS
|
||||
{"POWER\nHIGH", ACTION_OPT_POWER_HIGH},
|
||||
{"REMOVE\nOFFSET", ACTION_OPT_REMOVE_OFFSET},
|
||||
@@ -707,7 +709,9 @@ void UI_DisplayMenu(void)
|
||||
else if(gSubMenuSelection < 61)
|
||||
{
|
||||
sprintf(String, "%02dm:%02ds", (((gSubMenuSelection) * 5) / 60), (((gSubMenuSelection) * 5) % 60));
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
ST7565_Gauge(4, 1, 60, gSubMenuSelection);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -739,7 +743,9 @@ void UI_DisplayMenu(void)
|
||||
else
|
||||
{
|
||||
sprintf(String, "%02dm:%02ds", ((gSubMenuSelection * 15) / 60), ((gSubMenuSelection * 15) % 60));
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
ST7565_Gauge(4, 1, 40, gSubMenuSelection);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -854,7 +860,9 @@ void UI_DisplayMenu(void)
|
||||
|
||||
case MENU_TOT:
|
||||
sprintf(String, "%02dm:%02ds", (((gSubMenuSelection + 1) * 5) / 60), (((gSubMenuSelection + 1) * 5) % 60));
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
ST7565_Gauge(4, 5, 179, gSubMenuSelection);
|
||||
#endif
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_VOICE
|
||||
@@ -871,12 +879,16 @@ void UI_DisplayMenu(void)
|
||||
else if(gSubMenuSelection < 81)
|
||||
{
|
||||
sprintf(String, "CARRIER\n%02ds:%03dms", ((gSubMenuSelection * 250) / 1000), ((gSubMenuSelection * 250) % 1000));
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
ST7565_Gauge(5, 1, 80, gSubMenuSelection);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(String, "TIMEOUT\n%02dm:%02ds", (((gSubMenuSelection - 80) * 5) / 60), (((gSubMenuSelection - 80) * 5) % 60));
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
ST7565_Gauge(5, 80, 104, gSubMenuSelection);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1028,7 +1040,9 @@ void UI_DisplayMenu(void)
|
||||
else if(gSubMenuSelection < 121)
|
||||
{
|
||||
sprintf(String, "%dh:%02dm", (gSubMenuSelection / 60), (gSubMenuSelection % 60));
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
ST7565_Gauge(4, 1, 120, gSubMenuSelection);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
@@ -1095,7 +1109,9 @@ void UI_DisplayMenu(void)
|
||||
else if(gSubMenuSelection < 64)
|
||||
{
|
||||
sprintf(String, "%02u", gSubMenuSelection);
|
||||
#if !defined(ENABLE_SPECTRUM) || !defined(ENABLE_FMRADIO)
|
||||
ST7565_Gauge(4, 1, 63, gSubMenuSelection);
|
||||
#endif
|
||||
}
|
||||
gEeprom.VOLUME_GAIN = gSubMenuSelection;
|
||||
BK4819_WriteRegister(BK4819_REG_48,
|
||||
|
Reference in New Issue
Block a user