OSDN Git Service

[UI] Fix slow up/down.
[openi2cradio/OpenI2CRadio.git] / akc6955.c
index 04139e8..619eb01 100644 (file)
--- a/akc6955.c
+++ b/akc6955.c
@@ -359,16 +359,16 @@ void akc6955_set_freq(unsigned int freq)
     f.byte = akc6955_readcmd(AKC6955_POWER);
     if(f.b6) { // FM
         band = akc6955_get_fmband();
-        band &= 7;
-//        if(freq <  fmbands[band].start) freq = fmbands[band].start;
-//        if(freq >= fmbands[band].end)   freq = fmbands[band].end - 1;
+//        band &= 7;
+        if(freq <  fmbands[band].start) freq = fmbands[band].start;
+        if(freq >= fmbands[band].end)   freq = fmbands[band].end - 1;
         ch = freq - 3000;
         ch = (ch * 4) / 10;
     } else {
         band = akc6955_get_amband();
-        if(band >= AKC6955_BAND_AMEND) band = AKC6955_BAND_AMEND - 1;
-//        if(freq <  ambands[band].start) freq = ambands[band].start;
-//        if(freq >= ambands[band].end)   freq = ambands[band].end - 1;
+//        if(band >= AKC6955_BAND_AMEND) band = AKC6955_BAND_AMEND - 1;
+        if(freq <  ambands[band].start) freq = ambands[band].start;
+        if(freq >= ambands[band].end)   freq = ambands[band].end - 1;
         mode3k.byte = akc6955_readcmd(AKC6955_CNR_AM);
         if(mode3k.b7){
             ch = freq / 3;
@@ -475,11 +475,9 @@ void akc6955_up_freq(unsigned int step)
     freq += step;
     if(f.b6){
         band = akc6955_get_fmband();
-        if(band >= AKC6955_BAND_FMEND) band = AKC6955_BAND_FMEND - 1;
         if(freq >= fmbands[band].end) freq = fmbands[band].end - 1;
     } else {
         band = akc6955_get_amband();
-        if(band >= AKC6955_BAND_AMEND) band = AKC6955_BAND_AMEND - 1;
         if(freq >= ambands[band].end) freq = ambands[band].end - 1;
     }
     akc6955_set_freq(freq);
@@ -499,11 +497,9 @@ void akc6955_down_freq(unsigned int step)
     f.byte = akc6955_readcmd(AKC6955_POWER);
     if(f.b6 == 0){
         band = akc6955_get_amband();
-        if(band >= AKC6955_BAND_AMEND) band = AKC6955_BAND_AMEND - 1;
         if(freq < ambands[band].start) freq = ambands[band].start;
     } else {
         band = akc6955_get_fmband();
-        if(band >= AKC6955_BAND_FMEND) band = AKC6955_BAND_FMEND - 1;
         if(freq < fmbands[band].start) freq = fmbands[band].start;
     }
     akc6955_set_freq(freq);