__bitops_t f;
__bitops_t mode3k;
unsigned char band;
- unsigned int start, stop;
f.byte = akc6955_readcmd(AKC6955_POWER);
if(f.b6) { // FM
akc6955_get_fmband(band);
-// band &= 7;
- if(band == AKC6955_BAND_FMUSER){
- start = setup.fm_usrbands[setup.fm_userbandnum].start * 32;
- stop = setup.fm_usrbands[setup.fm_userbandnum].stop * 32;
- } else {
- start = fmbands[band].start;
- stop = fmbands[band].end;
- }
ch = freq - 3000;
ch = (ch << 2) / 10;
} else {
akc6955_get_amband(band);
-// if(band >= AKC6955_BAND_AMEND) band = AKC6955_BAND_AMEND - 1;
- if(band == AKC6955_BAND_AMUSER){
- start = setup.am_usrbands[setup.am_userbandnum].start * 32;
- stop = setup.am_usrbands[setup.am_userbandnum].stop * 32;
- } else {
- start = ambands[band].start;
- stop = ambands[band].end;
- }
mode3k.byte = akc6955_readcmd(AKC6955_CNR_AM);
if(band == AKC6955_BAND_MW2) {
ch = (freq / 9) * 3; // See datasheet.
ch = freq / 5;
}
}
- if(freq < start) freq = start;
- if(freq >= stop) freq = stop - 1;
akc6955_set_tune(mode3k.b7, ch);
}