return c;
}
-void akc6955_chg_fm(unsigned char f)
+void akc6955_chg_fm(unsigned char f, unsigned int freq)
{
__bitops_t b;
b.byte = akc6955_readcmd(AKC6955_POWER);
}
akc6955_writecmd(AKC6955_POWER, b.byte);
akc6955_do_tune();
+ akc6955_set_freq(freq);
}
unsigned char akc6955_get_fm(void)
b &= 0x07; // extract FM
b = b | ((band & 0x1f) << 3);
akc6955_writecmd(AKC6955_BAND, b);
+ akc6955_do_tune();
}
void akc6955_set_fmband(unsigned char band)
b &= 0xf8; // extract AM
b = b | (band & 0x07);
akc6955_writecmd(AKC6955_BAND, b);
+ akc6955_do_tune();
}
unsigned char akc6955_get_amband(void)
return b;
}
-#if 1
void akc6955_set_power(unsigned char on)
{
__bitops_t b;
b.byte = akc6955_readcmd(AKC6955_POWER);
+ b.b7 = 0;
if(on != 0){
b.b7 = 1;
- } else {
- b.b7 = 0;
}
akc6955_writecmd(AKC6955_POWER, b.byte);
}
-#endif
void akc6955_do_tune(void)
{
b.b5 = 0;
akc6955_writecmd(AKC6955_POWER, b.byte);
idle_time_ms(8);
-
}
unsigned char akc6955_tune(void)
{
__bitops_t b;
b.byte = akc6955_readcmd(AKC6955_CH_HI);
+ b.b5 = 0;
if(flag != 0){
b.b5 = 1;
- } else {
- b.b5 = 1;
}
akc6955_writecmd(AKC6955_CH_HI, b.byte);
akc6955_do_tune();
idle_time_35ms();
} while(comp = 0x00);
f.byte = akc6955_readcmd(AKC6955_POWER);
- if(f.b6){
- band = 0;
- // AM
- } else {
+ band = 0;
+ if(f.b6 == 0){
band = akc6955_get_amband();
}