#include "power.h"
#include "adc_int.h"
#include "backlight.h"
+#include "rencoder.h"
static void setfreq_updown_amsub(void)
{
setup.amfreq = setup.amfreq_bank[setup.amband];
// idle_time_62_5ms(); // 62.5ms
ClrWdt();
+ akc6955_mode3k(setup.am_mode3k);
akc6955_set_freq(setup.amfreq);
}
case AKC6955_BAND_MW2:
setup.am_mode3k = 0xff;
break;
- case AKC6955_BAND_MW1:
- case AKC6955_BAND_MW3:
- case AKC6955_BAND_MW4:
- setup.am_mode3k = 0x00;
- break;
case AKC6955_BAND_AMUSER:
call_userband(setup.am_userbandnum);
break;
default:
+ setup.am_mode3k = 0x00;
break;
}
- if(setup.amband == AKC6955_BAND_AMUSER){
-// amfreq = am_usrbands[am_userbandnum].freq;
- call_userband(setup.am_userbandnum);
- }
setfreq_updown_amsub();
} else { // FM
if(setup.fmband == AKC6955_BAND_FMUSER){
}
}
+unsigned char setfreq_renc_updown(unsigned char dispf)
+{
+ unsigned int freq;
+
+ if(setup.fm != 0) {
+ switch(setup.fm_tunepitch & 3) {
+ case 0:
+ freq = 1; // 25KHz
+ break;
+ case 1:
+ freq = 2; // 50KHz
+ break;
+ case 2:
+ freq = 4; // 100KHz
+ break;
+ default:
+ freq = 8; // 200KHz excepts TV1/TV2.
+ if((setup.fmband == AKC6955_BAND_TV1) || (setup.fmband == AKC6955_BAND_TV2)) {
+ freq = 4; // 100KHz
+ }
+ break;
+ }
+ freq = freq * renc_count;
+ } else {
+ if(setup.amband == AKC6955_BAND_MW2) {
+ freq = renc_count * 3;
+ } else {
+ freq = renc_count;
+ }
+ }
+
+ if(freq != 0) { // WORKAROUND: IF STEP=0 then go maximum X-)
+ if(renc_dir == RENC_LEFT) {
+ akc6955_down_freq(freq);
+ } else if(renc_dir == RENC_RIGHT) {
+ akc6955_up_freq(freq);
+ }
+ if(dispf == 0) {
+ acm1602_resume(LCD_I2CADDR);
+ dispf = 0xff;
+ }
+ backlight_reset(charcode_f);
+ update_status();
+ update_display();
+ rencoder_start();
+ }
+ return dispf;
+}
+
void setfreq_updown(unsigned char ctlword)
{
unsigned int freq;
freq = 1; // 5KHz or 3KHz
if(setup.amband == AKC6955_BAND_MW2) {
freq = 3; // 9KHz
- } else if(setup.amband == AKC6955_BAND_MW3) {
- freq = 2; // 10KHz
- } else if(setup.amband == AKC6955_BAND_MW4) {
+ } else if((setup.amband == AKC6955_BAND_MW3) || (setup.amband == AKC6955_BAND_MW4)) {
freq = 2; // 10KHz
}
}
case charcode_f:
updown_help();
_CLS();
- _LOCATE(0,0);
+// _LOCATE(0,0);
break;
default:
break;