OSDN Git Service

[UI][MENU] Change "'5'->'9'" to reload.
[openi2cradio/OpenI2CRadio.git] / ui_updown.c
index 42ce1fc..de4c682 100644 (file)
 #include "eeprom.h"
 #include "ioports.h"
 #include "menu.h"
+#include "menu_memoryfreq.h"
 #include "power.h"
 #include "adc_int.h"
+#include "backlight.h"
 
 static void setfreq_updown_amsub(void)
 {
@@ -91,6 +93,22 @@ static void setband_updown(unsigned char updown)
             band -= 2;
         }
         setup.amband = band;
+        switch(setup.amband) {
+        case AKC6955_BAND_LW:
+        case AKC6955_BAND_MW2:
+          setup.am_mode3k = 0xff;
+          break;
+        case AKC6955_BAND_MW1:
+        case AKC6955_BAND_MW3:
+        case AKC6955_BAND_MW4:
+          setup.am_mode3k = 0x00;
+          break;
+        case AKC6955_BAND_AMUSER:
+           call_userband(setup.am_userbandnum);
+          break;
+        default:
+          break;
+       }
         if(setup.amband == AKC6955_BAND_AMUSER){
 //            amfreq = am_usrbands[am_userbandnum].freq;
             call_userband(setup.am_userbandnum);
@@ -120,18 +138,9 @@ static void setband_updown(unsigned char updown)
 void setfreq_updown(unsigned char ctlword)
 {
     unsigned int freq;
-    if((ctlword != charcode_e) && (ctlword >= charcode_1)
-            && (ctlword <= charcode_f)) {
-            backlight_counter = setup.backlight_long;
-            lcd_setbacklight(0xff, setup.backlight_level); // Turn ON
-    } else if(ctlword == charcode_e){
-        if(backlight_counter != 0){
-            backlight_counter = 0;
-        } else {
-            backlight_counter = setup.backlight_long;
-        }
-        return;
-    }
+
+    backlight_reset(ctlword);
+
 
     update_status();
     switch(ctlword){
@@ -163,7 +172,7 @@ void setfreq_updown(unsigned char ctlword)
             freq = 33; // 99KHz@3K/9KStep.
             if(setup.fm != 0){
                 freq = 40; // 1MHz
-            } else if(setup.am_mode3k != 0){
+            } else if(setup.am_mode3k == 0){
                 freq = 20; // 100KHz
             }
             akc6955_up_freq(freq); // 825 or 90 or 165KHz
@@ -172,7 +181,7 @@ void setfreq_updown(unsigned char ctlword)
             freq = 33; // 99KHz@3K/9KStep.
             if(setup.fm != 0){
                 freq = 40; // 1MHz
-            } else if(setup.am_mode3k != 0){
+            } else if(setup.am_mode3k == 0){
                 freq = 20; // 100KHz
             }
             akc6955_down_freq(freq); // 825 or 90 or 165KHz
@@ -184,8 +193,6 @@ void setfreq_updown(unsigned char ctlword)
                 freq = 1; // 5KHz or 3KHz
                 if(setup.amband == AKC6955_BAND_MW2) {
                     freq = 3; // 9KHz
-                } else if(setup.amband == AKC6955_BAND_MW3) {
-                    freq = 2; // 10KHz
                 }
             }
             akc6955_down_freq(freq);
@@ -197,8 +204,6 @@ void setfreq_updown(unsigned char ctlword)
                 freq = 1; // 5KHz or 3KHz
                 if(setup.amband == AKC6955_BAND_MW2) {
                     freq = 3; // 9KHz
-                } else if(setup.amband == AKC6955_BAND_MW3) {
-                    freq = 2; // 10KHz
                 }
             }
             akc6955_up_freq(freq);
@@ -212,7 +217,8 @@ void setfreq_updown(unsigned char ctlword)
             toggle_amfm();
             break;
         case charcode_b:
-            set_volume();
+//            set_volume();
+             on_updown_userfreq();
             break;
         case charcode_c:
             // Scan
@@ -233,13 +239,4 @@ void setfreq_updown(unsigned char ctlword)
         default:
             break;
     }
-//    if(fm == 0){
-//        akc6955_get_amband(amband);
-//        amfreq = akc6955_get_freq();
-//        amfreq_bank[amband] = amfreq;
-//    } else {
-//        akc6955_get_fmband(fmband);
-//        fmfreq = akc6955_get_freq();
-//        fmfreq_bank[fmband] = fmfreq;
-//    }
 }