int diffstat;
unsigned int batlevel_6955;
unsigned int battlevel;
+unsigned char ui_idlekey;
+unsigned char ui_idlepad;
int recv_signal;
unsigned char pollkeybuf[33];
unsigned char p;
unsigned char lvcount = 0;
unsigned char dispf = 0xff;
-
+ unsigned char i;
+
OSCCON = (0x80 & 0b11111100) | 0b00111000;
// OSCCON = (0x80 & 0b11111100) | 0b00110010; // 8MHz
idle_init();
update_status();
update_display();
ClrWdt();
+ ui_idlekey = setup.ui_idlecount / 92;
+ ui_idlepad = setup.ui_idlecount % 23;
+
do {
#if 1
- if(battlevel < 330) { // 3.3V
+ if(battlevel < 340) { // 3.4V
lvcount++;
if(lvcount > 4) {
if(dispf == 0) {
}
#endif
/* Main routine*/
- c = pollkey_single_timeout(41, 1); // 23*41 = 943ms
+ for(i = 0; i < 4; i++) {
+ c = pollkey_single_timeout(ui_idlekey, 1); // 23*41 = 943ms
p = 0;
if(c != charcode_null) {
ClrWdt();
dispf = 0xff;
}
setfreq_updown(c);
+ update_status();
+ update_display();
}
ClrWdt();
- update_status();
- dispf = backlight_dec(dispf); // 48ms
- if(dispf != 0) update_display();
- idle_time_ms(9); // Pad 9ms, 1Loop = 1000ms.
- ClrWdt();
+ }
+ update_status();
+ dispf = backlight_dec(dispf);
+ if(dispf != 0) update_display();
+ if(ui_idlepad != 0) idle_time_ms(ui_idlepad);
+ ClrWdt();
} while(1);
}
extern unsigned char backlight_level;
extern unsigned char pollkeybuf[33];
extern unsigned char scanflag;
+ extern unsigned char ui_idlekey;
+ extern unsigned char ui_idlepad;
/*
* ui_updown.c
{
unsigned char c;
unsigned long val;
+ unsigned int val2;
c = printhelp_2lines("Setup F=HELP", "5=Return");
_CLS();
// _LOCATE(0,0);
switch(c){
case charcode_1:
- list_userband();
- break;
+ list_userband();
+ break;
case charcode_3:
printstr("BL Level:");
val = read_numeric(setup.backlight_level, 3, 0,1);
if((val & 0x80000000) == 0) {
- if(val > 255) val = 255;
- if(val < 15) val = 15;
- setup.backlight_level = (unsigned char)val;
+ val2 = val;
+ if(val2 > 255) val2 = 255;
+ if(val2 < 15) val2 = 15;
+ setup.backlight_level = (unsigned char)val2;
}
break;
case charcode_4:
printstr("FM Bandwidth:");
// c = akc6955_get_fmbandwidth();
- setup.fmbandwidth = pollkey_numeric(0) & 3;
+ setup.fmbandwidth = pollkey_numeric(0);
akc6955_set_fmbandwidth(setup.fmbandwidth);
break;
case charcode_5:
break;
+ case charcode_6:
+ printstr("UI Update:");
+ val = read_numeric(setup.ui_idlecount, 4, 0, 1);
+ if((val & 0x80000000) == 0) {
+ val2 = val;
+ if(val2 < 100) val2 = 100;
+ if(val2 > 5000) val2 = 5000;
+ setup.ui_idlecount = val2;
+ ui_idlekey = val2 / 92; // 23*4
+ ui_idlepad = val2 % 23;
+ }
+ break;
case charcode_7:
printstr("FM-CNR:");
c = setup.threshold_fmcnr;
c = pollkey_numeric(c);
- akc6955_set_thresh_fmcnr(c & 3);
+ akc6955_set_thresh_fmcnr(c);
break;
case charcode_8:
printstr("AM-CNR:");
c = setup.threshold_amcnr;
c = pollkey_numeric(c);
- akc6955_set_thresh_amcnr(c & 3);
+ akc6955_set_thresh_amcnr(c);
break;
case charcode_9:
printstr("Stereo th:");
c = setup.threshold_fmstereo;
c = pollkey_numeric(c);
- akc6955_set_thresh_fmstereo(c & 3);
+ akc6955_set_thresh_fmstereo(c);
break;
case charcode_0:
menu_poweroff();
printstr("BL Long:");
val = read_numeric(setup.backlight_long, 3, 0,1);
if((val & 0x80000000) == 0) {
- if(val > 999) val = 999;
- setup.backlight_long = val;
+ val2 = val;
+ if(val2 > 999) val2 = 999;
+ setup.backlight_long = val2;
}
break;
case charcode_f:
#
-#Thu Oct 10 13:42:43 JST 2013
+#Sun Oct 20 21:11:40 JST 2013
default.languagetoolchain.dir=/opt/microchip/xc8/v1.21/bin
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=0d2b1469ad71adb787c711a416386331
default.languagetoolchain.version=1.21
}
}
-unsigned char pollkey_single_timeout(unsigned int limit, unsigned char repeat)
+unsigned char pollkey_single_timeout(unsigned char limit, unsigned char repeat)
{
unsigned char c;
- unsigned int ticks = 0;
+ unsigned char ticks = 0;
unsigned char penalty = 0;
unsigned char count = 0;
/*
* Set Deadzone.
*/
- if(limit == 0) {
+ if(limit != 0) {
while(ticks <= limit) {
idle_time_ms(5 + 18);
ticks++;
* In application handler:
* c = pop_keyinfifo();
* if(c != 0) do(c);
- */
\ No newline at end of file
+ */
extern void print_numeric_nosupress(unsigned long data, unsigned char digit);
extern unsigned char readkey(void);
extern unsigned char pollkey_single(void);
-extern unsigned char pollkey_single_timeout(unsigned int limit, unsigned char repeat);
+extern unsigned char pollkey_single_timeout(unsigned char limit, unsigned char repeat);
extern unsigned char pollkey_numeric(unsigned char init);
#ifdef __cplusplus