OSDN Git Service

[I2C][EEPROM] Set I2CEEPROM_ADDR in i2c_eeprom.h as ROM's ADDR.
[openi2cradio/OpenI2CRadio.git] / radio_getstat.c
index c0088a5..221a2af 100644 (file)
@@ -59,36 +59,36 @@ void update_status(void)
     unsigned int adc;
     __bitops_t c;
 
-    fm = akc6955_get_fm();
+    setup.fm = akc6955_get_fm();
     recv_signal = akc6955_read_level();
-        diffstat = akc6955_get_diff();
-        volume = akc6955_getvolume();
-        prevolume = akc6955_get_prevolume();
-        if(fm != 0){
-            fmfreq = akc6955_get_freq();
-            fmband = akc6955_get_fmband();
+    diffstat = akc6955_get_diff();
+    setup.volume = akc6955_getvolume();
+    setup.prevolume = akc6955_get_prevolume();
+        if(setup.fm != 0){
+            setup.fmfreq = akc6955_get_freq();
+            akc6955_get_fmband(setup.fmband);
+            setup.fmfreq_bank[setup.fmband] = setup.fmfreq;
             stereoflag = akc6955_get_stereo();
-            akc6955_get_fmbandwidth(fmbandwidth);
+            akc6955_get_fmbandwidth(setup.fmbandwidth);
         } else {
-            amfreq = akc6955_get_freq();
-            amband = akc6955_get_amband();
+            setup.amfreq = akc6955_get_freq();
+            akc6955_get_amband(setup.amband);
+            setup.amfreq_bank[setup.amband] = setup.amfreq;
             c.byte = akc6955_readcmd(AKC6955_CNR_AM);
             if(c.b7) {
-                am_mode3k = 0xff;
+                setup.am_mode3k = 0xff;
             } else {
-                am_mode3k = 0;
+                setup.am_mode3k = 0;
             }
             stereoflag = 0x00;
         }
         tuneflag = akc6955_tune();
         cnrlevel = akc6955_get_cnr();
         batlevel_6955 = akc6955_get_battery();
-#ifdef __SDCC
-    startadc(7);
-#else
-    startadc(ADC_CH7 | ADC_INT_OFF ,ADC_7ANA);
-#endif
-    idle_time_ms(1);
-    polladc2(adc);
-    battlevel = adc_rawtobatt(adc, batlevel_6955);
+        startadc(7);
+        do {
+            idle_time_ms(1);
+            adc = polladc();
+        } while(adc == 0xffff);
+   battlevel = adc_rawtobatt(adc, batlevel_6955);
 }