This commit is contained in:
Krzysiek Egzmont
2023-11-27 13:31:12 +01:00
parent 9f22e8a9df
commit dc47842892
2 changed files with 41 additions and 71 deletions

View File

@@ -1906,22 +1906,16 @@ static void ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
} }
#endif #endif
} }
else if (Key != KEY_SIDE1 && Key != KEY_SIDE2) else if (Key != KEY_SIDE1 && Key != KEY_SIDE2) {
{ switch (gScreenToDisplay) {
switch (gScreenToDisplay)
{
case DISPLAY_MAIN: case DISPLAY_MAIN:
MAIN_ProcessKeys(Key, bKeyPressed, bKeyHeld); MAIN_ProcessKeys(Key, bKeyPressed, bKeyHeld);
// bKeyHeld = false; // allow the channel setting to be saved
break; break;
#ifdef ENABLE_FMRADIO #ifdef ENABLE_FMRADIO
case DISPLAY_FM: case DISPLAY_FM:
FM_ProcessKeys(Key, bKeyPressed, bKeyHeld); FM_ProcessKeys(Key, bKeyPressed, bKeyHeld);
break; break;
#endif #endif
case DISPLAY_MENU: case DISPLAY_MENU:
MENU_ProcessKeys(Key, bKeyPressed, bKeyHeld); MENU_ProcessKeys(Key, bKeyPressed, bKeyHeld);
break; break;
@@ -1935,7 +1929,6 @@ static void ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
AIRCOPY_ProcessKeys(Key, bKeyPressed, bKeyHeld); AIRCOPY_ProcessKeys(Key, bKeyPressed, bKeyHeld);
break; break;
#endif #endif
case DISPLAY_INVALID: case DISPLAY_INVALID:
default: default:
break; break;

View File

@@ -225,30 +225,22 @@ Bail:
static void FM_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) static void FM_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
{ {
#define STATE_FREQ_MODE 0 enum { STATE_FREQ_MODE, STATE_MR_MODE, STATE_SAVE };
#define STATE_MR_MODE 1
#define STATE_SAVE 2
if (!bKeyHeld && bKeyPressed) if (!bKeyHeld && bKeyPressed) {
{ if (!gWasFKeyPressed) {
if (!gWasFKeyPressed)
{
uint8_t State; uint8_t State;
if (gAskToDelete) if (gAskToDelete) {
{
gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL;
return; return;
} }
if (gAskToSave) if (gAskToSave) {
{
State = STATE_SAVE; State = STATE_SAVE;
} }
else else {
{ if (gFM_ScanState != FM_SCAN_OFF) {
if (gFM_ScanState != FM_SCAN_OFF)
{
gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL;
return; return;
} }
@@ -260,56 +252,44 @@ static void FM_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
gRequestDisplayScreen = DISPLAY_FM; gRequestDisplayScreen = DISPLAY_FM;
if (State == STATE_FREQ_MODE) if (State == STATE_FREQ_MODE) {
{ if (gInputBoxIndex == 1) {
if (gInputBoxIndex == 1) if (gInputBox[0] > 1) {
{
if (gInputBox[0] > 1)
{
gInputBox[1] = gInputBox[0]; gInputBox[1] = gInputBox[0];
gInputBox[0] = 0; gInputBox[0] = 0;
gInputBoxIndex = 2; gInputBoxIndex = 2;
} }
} }
else else if (gInputBoxIndex > 3) {
if (gInputBoxIndex > 3)
{
uint32_t Frequency; uint32_t Frequency;
gInputBoxIndex = 0; gInputBoxIndex = 0;
Frequency = StrToUL(INPUTBOX_GetAscii()); Frequency = StrToUL(INPUTBOX_GetAscii());
if (Frequency < gEeprom.FM_LowerLimit || gEeprom.FM_UpperLimit < Frequency) if (Frequency < gEeprom.FM_LowerLimit || gEeprom.FM_UpperLimit < Frequency) {
{
gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL;
gRequestDisplayScreen = DISPLAY_FM; gRequestDisplayScreen = DISPLAY_FM;
return; return;
} }
gEeprom.FM_SelectedFrequency = (uint16_t)Frequency; gEeprom.FM_SelectedFrequency = (uint16_t)Frequency;
#ifdef ENABLE_VOICE #ifdef ENABLE_VOICE
gAnotherVoiceID = (VOICE_ID_t)Key; gAnotherVoiceID = (VOICE_ID_t)Key;
#endif #endif
gEeprom.FM_FrequencyPlaying = gEeprom.FM_SelectedFrequency; gEeprom.FM_FrequencyPlaying = gEeprom.FM_SelectedFrequency;
BK1080_SetFrequency(gEeprom.FM_FrequencyPlaying); BK1080_SetFrequency(gEeprom.FM_FrequencyPlaying);
gRequestSaveFM = true; gRequestSaveFM = true;
return; return;
} }
} }
else else if (gInputBoxIndex == 2) {
if (gInputBoxIndex == 2)
{
uint8_t Channel; uint8_t Channel;
gInputBoxIndex = 0; gInputBoxIndex = 0;
Channel = ((gInputBox[0] * 10) + gInputBox[1]) - 1; Channel = ((gInputBox[0] * 10) + gInputBox[1]) - 1;
if (State == STATE_MR_MODE) if (State == STATE_MR_MODE) {
{ if (FM_CheckValidChannel(Channel)) {
if (FM_CheckValidChannel(Channel))
{
#ifdef ENABLE_VOICE #ifdef ENABLE_VOICE
gAnotherVoiceID = (VOICE_ID_t)Key; gAnotherVoiceID = (VOICE_ID_t)Key;
#endif #endif
@@ -320,9 +300,7 @@ static void FM_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
return; return;
} }
} }
else else if (Channel < 20) {
if (Channel < 20)
{
#ifdef ENABLE_VOICE #ifdef ENABLE_VOICE
gAnotherVoiceID = (VOICE_ID_t)Key; gAnotherVoiceID = (VOICE_ID_t)Key;
#endif #endif
@@ -348,8 +326,7 @@ static void FM_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
gUpdateStatus = true; gUpdateStatus = true;
gRequestDisplayScreen = DISPLAY_FM; gRequestDisplayScreen = DISPLAY_FM;
switch (Key) switch (Key) {
{
case KEY_0: case KEY_0:
ACTION_FM(); ACTION_FM();
break; break;