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);
}